ImageVerifierCode 换一换
格式:DOC , 页数:5 ,大小:117KB ,
资源ID:10287021      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-10287021.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(CPU 指令译码器.doc)为本站会员(精品资料)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

CPU 指令译码器.doc

1、计算机组成原理实验报告姓名: 学号: 专业: 计算机科学与技术 班级: 指导老师: 实验日期: 实验地点: 实验题目: CPU 指令译码器 一、 实验目的(1)理解指令译码器的作用和重要性。(2)学习设计指令译码器。二、实验原理指令译码器是计算机控制器中最重要的部分。所谓组合逻辑控制器就是指指令译码电路是由组合逻辑实现的。组合逻辑控制器又称硬连线控制器,是设计计算机的一种方法。这种控制器中的控制信号直接由各种类型的逻辑门和触发器等构成。这样,一旦控制部件构成后,除非重新设计和物理上对它重新连线,否则要想增加新的功能是不可能的。结构上这种缺陷使得硬连线控制器的设计和调试变得非常复杂而且代价很大。

2、所以,硬连线控制器曾一度被微程序控制器所取代。但是随着新一代及其及 VLSI 技术的发展,这种控制器又得到了广泛重视,如 RISC 机广泛使用这种控制器。图(1)是组合逻辑控制器的结构方框图。逻辑网络的输入信号来源有 3 个:指令操作码译码器的输出 In; 来自时序发生器的节拍典韦信号 Tk;来自执行部件的反馈信号 Bj。逻辑网络的输出信号就是微操作控制信号,用来对执行部件进行控制。组合逻辑控制器的基本原理可描述为:某一微操作控制信号 Cm 是指令操作码译码器的输出 In、时序信号(节拍电位信号 Tk)和状态条件信号 Bj 的逻辑函数。即 Cm=f(In,Tk,Bj)用这种方法设计控制器,需要

3、根据每条指令的要求,让节拍电位和时序脉冲有步骤地去控制机器的各有关部分,一步一步地执行指令所规定的微操作,从而在一个指令周期内完成一条指令所规定的全部操作。一般来说,组合逻辑控制器的设计步骤如下。(1)绘制指令流程图为了确定指令执行过程所需的基本步骤,通常是以指令为线索,按指令类型分类,将每条指令归纳成若干微操作,然后根据操作的先后次序画出流程图。(2)安排指令操作时间表指令流程图的进一步具体化,把每一条指令的微操作序列分配带各个机器周期的各个时序节拍信号上。要求尽量多的安排公共操作,罢免出现互斥。(3)安排为命令表以微命令为依据,表示在哪个机器周期的哪个节拍有哪些指令要求这些微命令。(4)进

4、行微操作逻辑综合根据微操作时间表,将执行某一位操作的所有条件(哪条指令、哪个机器周期、哪个节拍和脉冲等)都考虑在内,加以分类组合,列出各微操作产生的逻辑表达式,并加以简化。(5)实现电路根据上面所得逻辑表达式,用逻辑门电路的组合或大规模集成电路来实现。三、实验步骤(1)将试验台设置成 FPGA-CPU 独立调试模式,REGSEL=0、CLKSEL=1、FDSEL=0。使用试验台上的单脉冲,即 STEP_CLK 短路子短接,短路子 RUN_CLK 断开。(2)将设计在 QuartusII 下输入,变异后下载到 TEC-CA 上的 FPGA 中。(3)拨动试验台上的开关 SD5SD0,改变 IR1

5、512、进位标志 C 和结果为 0 标志 Z,观察指示灯R10R0 显示的控制信号,并填写表(1) 、表(2) 。(4)实验代码(带下划线部分为新加指令的代码):library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity instruction_decoder isport (IRH: in std_logic_vector(3 downto 0);c,z: in std_logic;op_code: out std_logic_vect

6、or(2 downto 0);c_z_j_flag: out std_logic;lj_instruct: out std_logic;DRWr: buffer std_logic; Mem_Write: out std_logic;DW_intruct: buffer std_logic;change_z: out std_logic;change_c: out std_logic;sel_memdata: out std_logic );end instruction_decoder;architecture behav of instruction_decoder issignal zj

7、_instruct, cj_instruct: std_logic;beginsel_memdata -jmp addr;mvrd dr,dataMem_Write - str sr,drMem_Write Mem_Write -jmp adrzj_instruct -jnc addrzj_instruct -jnz addrzj_instruct zj_instruct zj_instruct zj_instruct = 0;cj_instruct = 0;lj_instruct = 0;end case;end process;end behav;四、实验分析实验结果(表格最后两行为新加入

8、的指令 ):表(1)指令译码器实验(C=0 且 Z=0)指令 IR1512 OP20 c_z_j_flag Lj_instruct DRWr Mem_Write DW_intruct Change_z Change_c Sel_memdataADD DR,SR 0000 000 0 0 1 0 0 1 1 0INC DR 0001 001 0 0 1 0 0 1 1 0SUB DR,SR 0010 010 0 0 1 0 0 1 1 0DEC DR 0011 011 0 0 1 0 0 1 1 0AND 0100 100 0 0 1 0 0 1 0 0DR,SROR DR,SR 0101 10

9、1 0 0 1 0 0 1 0 0NOT DR 0110 110 0 0 1 0 0 1 0 0MOV DR,SR 0111 111 0 0 1 0 0 0 0 0JMP ADR 1000 111 0 1 0 0 1 0 0 0JNC ADR 1001 111 1 0 0 0 0 0 0 0JNZ DR,DATA1010 111 1 0 0 0 0 0 0 0MVRD DR,DATA1100 111 0 0 1 0 1 0 0 1LDR DR,SR 1101 111 0 0 1 0 0 0 0 1STR SR,DR 1110 111 0 0 0 1 0 0 0 0PUSH SR 1011 11

10、1 1 0 0 0 0 0 0 0POP DR 1111 111 1 1 0 0 0 0 0 0表(2)指令译码器实验(C=0 且 Z=1 或者 C=1 且 Z=0 或者 C=1 且 Z=1)指令 IR1512 OP20 c_z_j_flag Lj_instruct DRWr Mem_Write DW_intruct Change_z Change_c Sel_memdataADD DR,SR 0000 000 0 0 1 0 0 1 1 0INC DR 0001 001 0 0 1 0 0 1 1 0SUB DR,SR 0010 010 0 0 1 0 0 1 1 0DEC DR 0011

11、011 0 0 1 0 0 1 1 0AND DR,SR 0100 100 0 0 1 0 0 1 0 0OR DR,SR 0101 101 0 0 1 0 0 1 0 0NOT DR 0110 110 0 0 1 0 0 1 0 0MOV 0111 111 0 0 1 0 0 0 0 0DR,SRJMP ADR 1000 111 0 1 0 0 1 0 0 0JNC ADR 1001 111 0 0 0 0 0 0 0 0JNZ DR,DATA1010 111 1 0 0 0 0 0 0 0MVRD DR,DATA1100 111 0 0 1 0 1 0 0 1LDR DR,SR 1101

12、111 0 0 1 0 0 0 0 1STR SR,DR 1110 111 0 0 0 1 0 0 0 0PUSH SR 1011 111 1 0 0 0 0 0 0 0POP DR 1111 111 1 1 0 0 0 0 0 0实验分析:指令中的操作码表示要执行的操作的性质,即执行什么操作,或做什么。指令译码器的工作就是在计算机执行一条指定的指令时,首先分析这条指令的操作码是什么,以决定操作的性质和方法,然后控制计算机其他各部件协同完成指令表达的功能。此实验通过设定各种微操作的指令及控制信号,模拟指令译码器,实现了各种微操作。实验感想:这次的实验涵盖了前边的一些实验,综合性较强,各种微操作的控制信号很多,微操作也很多。虽然计算机组成原理的理论课学过这方面的内容,但刚开始做的时候还是很混乱,无头绪,不知从何下手,只好硬着头皮慢慢读代码、看书。最后,还算是搞懂了实验,实际操作其实挺简单,就是理解代码难了点。

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报