- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验七 控制器-指令译码器的设计与调试
1 实验目的
(1)理解控制器中“指令译码器”的作用和重要性。
(2)学习设计指令译码器。
2 实验原理
指令译码器是计算机控制器中最重要的部分。所谓“组合逻辑控制器”就是指指令译码电路是由组合逻辑实现的。组合逻辑控制器又称硬连线控制器,是早期设计计算机的一种方法。这种控制器中的控制信号直接由各种类型的逻辑门和触发器等组合产生。这样,一旦控制部件构成后,除非重新设计和物理上对它重新连线,否则要想增加新的功能是不可能的。结构上的这种缺陷使得硬连线控制器的设计和调试变得非常复杂而且代价很大。所以,硬连线控制器曾一度被“微程序控制器”所取代。但是随着新一代机器及VLSI技术的发展,这种控制器又得到了重视,如RISC机广泛使用这种控制器。
1). 组合逻辑控制器原理
图1 组合逻辑控制器的结构方框图
图1是组合逻辑控制器的结构方框图。逻辑网络的输入信号来源有三个:(1)指令操作码译码器的输出In;(2)来自时序发生器的节拍电位信号Tk;(3)来自执行部件的反馈信
号Bj。逻辑网络的输出信号就是微操作控制信号,用来对执行部件进行控制。
组合逻辑控制器可描述为:某一微操作控制信号Cm是指令操作码译码器的输出In、时序信号(节拍电位信号Tk)和状态条件信号Bj的逻辑函数。即
Cm=f(In,Tk,Bj)
用这种方法设计控制器,需要根据每条指令的要求,让节拍电位和时序脉冲有步骤地去控制机器的各有关部分,一步一步地执行指令所规定的微操作,从而在一个指令周期内完成一条指令所规定的全部操作。
一般来说,组合逻辑控制器的设计步骤如下。
(1)绘制指令流程图
为了确定指令执行过程所需的基本步骤,通常是以指令为线索,按指令类型分类,将每条指令归纳成若干微操作,然后根据操作的先后次序画出流程图。
(2)安排指令操作时间表
指令流程图的进一步具体化,把每一条指令的微操作序列分配到各个机器周期的各个时序节拍信号上。要求尽量多的安排公共操作,避免出现互斥。
(3)安排微命令表
以指令流程图为依据,表示出在哪个机器周期的哪个节拍有哪些指令要求哪些微命令。
(4)进行微操作逻辑综合
根据微操作时间表,将执行某一微操作的所有条件(哪条指令、哪个机器周期、哪个节拍和脉冲等)都考虑在内,加以分类组合,列出各微操作产生的逻辑表达式,并加以简化。
(5)实现电路
根据上面所得逻辑表达式,用逻辑门电路的组合或大规模集成电路来实现。
3 实验要求
1).实验设计目标
本实验要求根据所给的指令系统(见附件1,硬件结构参见附件2)设计指令译码器,本实验指令译码器的设计相对比较简单,节拍(t1、t2和t3)因素只在存储器读写时需要对存储器地址分时使用时需要考虑,这里暂不考虑节拍脉冲t,也就是说微操作控制信号只是指令操作码In和Bj的函数:
Cm = f(In,Bj)
式中的In主要代表指令操作码IR[15..12],还有辅助操作码(如算术逻辑指令时的IR[2..0],我们这里要求只考虑指令操作码IR[15..12]及反馈信号Bj,(进位标志C和零标志Z)。
要求产生的微操作控制信号如下:
op_code 控制ALU进行8种运算操作的3位编码。
c_z_j_flag 为1表示需要条件转移。
lj_instruct 为1表示本条指令是条“JMP ADR”指令。
DRWr 为1表示在t3的下降沿将本条指令的执行结果写入目的寄存器。
Mem_Write 为1表示本条指令有存储器写操作,存储器的地址是目的寄存器的内容。
DW_intruct 为1表示本条指令是双字指令。
change_z 为1表示本条指令可能改变z(结果为0)标志。
change_c 为1表示本条指令可能改变c(进位)标志。
sel_memdata 为1表示本条指令写入目的寄存器的值来自读存储器。
2).顶层设计实体的引脚要求
引脚要求的对应关系如下:
(1)指令IR[15..12]对应实验台开关SD3—SD0 input
进位C对应实验台开关SD4
结果为0标志Z对应实验台开关SD5
(2)控制信号对应如下: output
op_code[2..0] 指示灯R2、R1、R0
c_z_j_flag 指示灯R3
lj_instruct 指示灯R4
DRWr 指示灯R5
Mem_Write 指示灯R6
DW_intruct 指示灯R7
change_z 指示灯R8
change_c 指示灯R9
sel_memdata 指示灯R10
4 实验步骤
(1)实验台设置成FPGA-CPU独立调试模式
REGSEL = 0、CLKSEL = 1、FDSEL =
文档评论(0)