- 1、本文档共22页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE
PAGE 22
石家庄经济学院
信息工程学院
计算机组成原理课程设计报告
题 目 16位模型计算机的设计
姓 名
学 号
班 号
指导老师
成 绩
2011年1月
目 录
1. 课程设计目的 3
2. 开发工具选择 3
3. 方案选择 3
4.指令系统设计 4
5. 模型机框图设计 4
6. 指令流程图 5
7.微指令格式(微程序控制器)设计 6
8.微程序(微程序控制器)设计 7
9. VHDL程序代码 9
10. 调试仿真 16
11. 课程设计回顾总结 18
参 考 文 献 18
1. 课程设计目的
(1)、计算机组成原理课程设计的主要任务是让学生通过动脑和动手解决计算机设计中的实际问题。综合运用所学计算机组成原理知识,在掌握部件单元电路实验的基础上,进一步将其组成系统构造一台基本的模型计算机,掌握整机概念,并设计机器指令系统,编写程序,在所设计的模型计算机上调试运行。
(2)、通过一台模型机的设计过程,明确计算机的控制原理与控制过程,巩固和灵活应用所学的理论知识,掌握计算机组成的一般设计方法,提高学生设计能力和实践操作技能,为从事计算机研制与设计打下基础。
2. 开发工具选择
使用QUARTUS 5.0软件编写并调试VHDL程序,然后做功能仿真。
3. 方案选择
本次实习的内容为16位模型计算机的设计,单总线,采用微程序控制方式,有四种寻址方式:直接寻址、寄存器寻址、寄存器间接寻址和变址寻址。
微程序控制方式由微指令译码产生。微程序中一条机器指令往往分成几步执行,将每一步操作所需的若干为命令以代码编写在一条微指令中,若干条微指令组成一段微程序,对应一条机器指令。然后根据系统的需要,事先编制各段微程序,将它存入一个专用寄存器(即控制存储器)中。
微程序执行过程:如图1所示,为微程序控制基本框:
(1)从控存中逐条取出“取指令操作”,执行取指令公共操作。
(2)根据指令的操作码,经过微地址形成部件,得到这条指令的入口地址,并送入微地址寄存器中。
(3)从控存中逐条的取出对应的微指令并执行。
(4)执行完一条机器指令对应的微程序后又回到取指微程序的入口地址,继续第(1)步,以完成取下一条机器指令的公共操作。
IRPSW
IR
PSW
PC
微地址
形成电路
微地址寄存器μAR
微指令寄存器μIR
译码器
控制存储器CM
指令代码
运行状态
……
微命令字段
微地址字段
……
微命令序列
图1 微程序控制基本框
4.指令系统设计
操作码 目的操作数寻址方式 目的操作数 源操作数寻址方式 源操作数
操作码 目的操作数寻址方式 目的操作数 源操作数寻址方式 源操作数
15 12 11 10 9 6 5 4 3 0
模拟机采用了定长的指令格式,每条指令字长为16位。采用的寻址方式为直接寻址(00)、寄存器寻址(01)、寄存器间接寻址(10)和变址寻址(11),操作码类型及编码方式如下
操作码
sta
add
sub
and1
or1
shl
编码方式
0000
0001
0010
0011
0100
0101
5. 模型机框图设计
模拟机数据通路如图2所示,模型机采用单总线结构,主要包括运部件ALU,以及程序计数器PC、累加器ACC、指令寄存器IR、数据寄存器MDR、地址寄存器MAR和通用寄存器R,M为内存
R0
R0
R1
C
D
IR
PC
ALU
MDR
M
MAR
ACC
图2:模型机数据通路
寄存器的位数:
所有的寄存器都均为16位
A通用寄存器R0,R1
该模拟机有2个通用寄存器,用于提供操作数。
B指令寄存器IR
为了提高取指令的速度,将指令从内存中读出,经数据总线直接置入IR。
C数据寄存器MDR、地址寄存器MAR
地址寄存器MAR提供访问主存的地址;
数据寄存器MDR,把从内存取出的数据暂存于MDR中,在用到该数据进行运算时,再从MDR中取出数据进行运算。
D程序计数器PC
用于存放下一条指令的内存地址。
(2)总线宽度:该模拟机只有一条总线,且总线宽度为16位。
(3)ALU位数及运算功能
ALU可以实现16位操作数的运算,即ALU的位数为16位。
ALU运算功能为:可以实现简单的加(0001:add)、减(0010:sub)、逻辑与(001
文档评论(0)