- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机组织与结构专题实验报告
——实验设计总体实现
学 院 电信学院
指导老师 姜新宁
专业班级 计算机15
组员姓名 高君宇
组员学号 2110505112
邮 箱 309852008@
目录
一、实验目的 3
二、实验要求 3
三、实验原理 3
3.1指令集: 3
3.2控制器的设计: 4
3.3通用寄存器组 6
3.4存储器 6
3.5总体数据通路设计: 6
四、设计思路与源代码 7
4.1通用寄存器组regfile 9
4.2取指部分instru_fetch 9
4.3指令译码部分decoder_unit 10
4.4执行部分exe_unit 11
4.5存储器部分memory_unit 12
4.6程序包exp_cpu_components 12
4.7顶层设计实体exp_cpu 12
五、实验步骤 13
六、实验现象 14
七、实验心得 16
八、程序源代码 16
一、实验目的
设计16位串行CPU,实现算术和逻辑运算指令、转移指令、访存指令、堆栈指令和控制指令
图1-一个指令的执行流程图
指令系统在整个计算机系统结构设计中处于核心的地位。指令系统设计不仅直接关系到计算机系统硬件的设计,而且必然影响后期系统软件的设计。
指令类型:
算数类:ADD SUB 逻辑类:AND OR
寄存器访问类:SET MOV 存储器访问类:LOAD STORE
条件转移类:BEQ 无条件转移类:JMP
指令格式:
字长:使用固定长度16位
操作码:为方便使用及操作,规定为4位
操作数:为使用多个操作数,每个操作数规定为1至3位
3)指令系统依据MIPS指令集设计,指令字长为16位,整个指令系统包括了运算指令、转移指令和存储指令等三类。这三类指令根据IR15—IR14进行分类:
(IR15 为0 时运算指令算术逻辑指令的IR14—IR12对应运算器ALU的3位 运算操作码。;IR15为1其他指令
(IR15、IR14为10时转移指令;
(IR15、IR14为11时存储指令。
(当IR0 = 1时,本指令中有对DR的写操作。
(当IR1 = 1时,本指令影响标志位Z。
(当IR2 = 1时,本指令影响标志位C。
(NOP指令实际上是一条“MOV R0,R0”指令,只是不改变目的寄存器的内容。
4)由于取指阶段和存储器读写阶段都要访问存储器,速度较慢;而指令译码和运算都由CPU本身完成,设置取指阶段和存储器读写阶段各占一拍时间,指令译码和运算共占一拍时间。因此,一条指令执行需要3拍时间
t1: 取指。在t2的上升沿,将从存储器取出的指令写入指令寄存器IR。
t2: 根据指令寄存器IR的内容进行指令译码;根据指令译码得到的控制信号进行运算和其它操作。
t3:存储器读、写操作;在t3的下降沿将运算结果写入目的寄存器,改变C标志和 Z标志;在t3的下降沿,改变PC的值,为取下一条指令做好准备。
3.2控制器的设计:
基本组成:
指令寄存器IR
指令译码器ID
时序发生器
组合逻辑电路
时序控制:因为采用了组合逻辑控制器,因此采用三级时序控制,指令周期下分机器周期、节拍电位、节拍脉冲
指令译码器
指令译码器是计算机控制器中最重要的部分。所谓组合逻辑控制器就是指指令译码电路是由组合逻辑实现的。组合逻辑控制器又称硬连线控制器,是早期设计计算机的一种方法。这种控制器中的控制信号直接由各种类型的逻辑门和触发器等组合产生。这样,一旦控制部件构成后,除非重新设计和物理上对它重新连线,否则要想增加新的功能是不可能的。结构上的这种缺陷使得硬连线控制器的设计和调试变得非常复杂而且代价很大。所以,硬连线控制器曾一度被微程序控制器所取代。但是随着新一代机器及VLSI技术的发展,这种控制器又得到了重视,如RISC机广泛使用这种控制器。
1) 组合逻辑控制器原理
图2 组合逻辑控制器的结构方框图
图2是组合逻辑控制器的结构方框图。逻辑网络的输入信号来源有三个:(1)指令操作码译码器的输出In;(2)来自时序发生器的节拍电位信号Tk;(3)来自执行部件的反馈信号Bj。逻辑网络的输出信号就是微操作控制信号,用来对执行部件进行控制。
显然,
文档评论(0)