




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 计算机组成原理实验报告 题目:CPU 指令译码器实验学 院 数学与信息科学学院 学科门类 工 学 专 业 12软件工程 学 号 2012436138 姓 名 王赛赛 指导教师 王兵 2014年12月28号 CPU 指令译码器实验一实验目的(1)理解指令译码器的作用和重要性 (2)学习设计指令译码器二实验原理指令译码器是计算机控制器中最重要的部分。所谓组合逻辑控制器就是指令译码器电路是由组合逻辑实现的。组合逻辑控制器又称硬连线控制器,是设计计算机中的一种方法。这种控制器中的控制信号直接由各种类型的逻辑门和触发器构成。这样,一旦控制器部件构成后,除非重新设计和物理上对它重新连线,否则的话,要想增
2、加新的功能是不可能的。结构上的这种缺陷使得硬连线控制器的设计和调试变得非常复杂而且代价很大。所以硬连线控制器曾一度被微程序控制器所取代。但是随着新一代机器及VLSI技术的发展,这种控制器又得到了广泛重视,如RISC机广泛使用这种控制器。下图是组合逻辑控制器的结构方框图。逻辑网络的输入信号来源有3个:指令操作译码器的输出In;来自时序发生器的节拍电位信号Tk;来自执行部件的反馈信号Bj。逻辑网络的输出信号就是微操作控制信号,用来对执行部件进行控制。组合逻辑控制器的结构方框图显然,组合逻辑控制器的基本原理可描述为:某一微操作信号Cm是指令操作译码器的输出In、时序信号(节拍电位信号Tk)和状态条件
3、信号Bj的逻辑函数。即 Cm=f(In,Tk,Bj) 用这种方法设计控制器,需要根据每条指令的要求,让节拍电位和时序脉冲有步骤地去控制器的各有关部分,一步一步地执行指令所规定的微操作,从而在一个指令周期内完成一条指令所规定的全部操作。一般来说,组合逻辑控制器的设计步骤如下。 (1) 绘制指令流程图为了确定指令执行过程所需的基本步骤,通常是以指令为线索,按指令类型分类,将每条指令归纳成若干微操作,然后根据操作的先后次序画出流程图。 (2)安排指令操作时间表 指令流程图的进一步具体化,把每一条指令的微操作序列分配到各个机器周期的各个时序节拍信号上。要求尽量多的安排公共操作。避免出现互斥。 (3)
4、安排微命令表以微命令为依据,表示在哪个机器周期的哪个节拍有哪些指令要求这些微命令。 (4) 进行微操作逻辑综合根据为操作时间表,将执行某一操作的所有条件(哪条指令、哪个机器周期、哪个节拍和脉冲等)都考虑在内,加以分类组合,列出各微操作产生的逻辑表达式,并加以简化。 (5) 实现电路根据上面所得逻辑表达式,用逻辑门电路的组合或大规模集成电路来实现。三实验要求 1、实验设计目标本实验要求根据第二章中的实验CPU中使用的指令系统设计指令译码器,指令系统见第二章2.1节,不在重述。本实验指令译码器的设计相对比较简单,节拍(t1、t2和t3)因素只在存储器读写时需要对存储器地址分时使用考虑,这里暂不考虑
5、节拍t,也就是说微操作控制信号只是指令操作码In和Bj的函数: Cm=f(In,Bj)式子中的In主要代表指令操作码IR1512,还有辅助操作码(如算术逻辑指令的IR2.0,这里要求只考虑指令操作码IR15.12。Bj代表进位标志C和结果为0标志Z。 要求产生的微操作控制信号如下:op_code 控制ALU进行8中运算操作的3位编码;c_z_j_flag 为1表示需要条件转移;lj_instruct 为 1表示本条指令是“JMP ADR”指令;DRWr 为1表示在t3的下降沿将本条指令的执行结果写入目的寄存器中;Mem_Write 为1表示本条指令有存储器读写操作,存储器的地址是目的寄存器的内
6、容;DW_instruct 为1表示本条指令是双字节指令;Change_z 为1表示本条指令是可能改变Z(结果为0)标志; Change_c为1表示本条指令是可能改变C(进位)标志;sel_memdata为1表示本条指令写入目的寄存器的值来自读存储器。2、顶层设计实体的引脚要求引脚要求的对应关系如下:(1) 指令IR1512对应实验台开关SD3SD0; (2) 进位C对应实验台开关SD4;(3) 结果为0标志Z对应实验台开关SD5。 控制信号对应如下:op_code 指示灯R2、R1、R0; c_z_j_flag 指示灯R3; lj_instruct 指示灯R4; DRWr 指示灯R5; Me
7、m_Write 指示灯R6; DW_instruct 指示灯R7; Change_z 指示灯R8; Change_c 指示灯R9; sel_memdata 指示灯R10。四实验步骤(1)将实验台设置成FPGA-CPU独立调试模块,REGSEL=0,CLKSEL=1,FDSEL=0.使用实验平台上的单脉冲,即STEP_CLK短路子短接,短路子RUN_CLK断开。 (2)将设计在Quartus II 下输入,在编译后下载到TEC-CA上的FPGA中;(3)拨动实验台上的开关SD5SD0,改变IR15.12、进位标志C和结果为0标志位Z,观察指示灯R10R0显示的控制信号,并填写下表。 指令译码器实
8、验(C=0且Z=0)指令IR15.12OP2.0c_z_j_flaglj_instructDRWrMem_WriteDW_instructChange_zchange_csel_memdataADDDRSR000000000100110INC DR000100100100110SUBDRSR001001000100110DECDR001101100100110ANDDRSR010010000100100ORDRSR010110100100100NOTDR011011000100100MOVDRSDR011111100100000JMPADR100011101001000JNCADR100111
9、110000000JNZADR101011110000000MVRDDR,DATA110011100100001LDR DR,SR110111100100001STR SR,DR111011100010000指令译码器实验(C=0且Z=1或者C=1且Z=0或者C=1且Z=1)指令IR15.12OP2.0c_z_j_flaglj_instructDRWrMem_WriteDW_instructChange_zchange_csel_memdataADDDRSR000000000100110INC DR000100100100110SUBDRSR001001000100110DECDR001101
10、100100110ANDDRSR010010000100100ORDRSR010110100100100NOTDR011011000100100MOVDRSDR011111100100000JMPADR100011101001000JNCADR100111110000000JNZADR101011100000000MVRDDR,DATA110011100100001LDR DR,SR110111100100001STR SR,DR111011100010000五、实验代码library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_ar
11、ith.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_vector(2 downto 0); c_z_j_flag: out std_logic; lj_instruct: out std_logic; DRWr: buffer std_logic; -为1时写DR寄存器 Mem_Write: out std_logic; DW_intruct:
12、 buffer std_logic; change_z: out std_logic;change_c: out std_logic;sel_memdata: out std_logic -为1时存储器的读出数据作为写入DR的数据 );end instruction_decoder;architecture behav of instruction_decoder issignal zj_instruct, cj_instruct: std_logic;beginsel_memdata <= IRH(3) and IRH(2) and (not IRH(1);change_z <=
13、 (not IRH(3) and (not IRH(2) or (not IRH(3) and IRH(2) and (not IRH(1) or (not IRH(3) and IRH(2) and IRH(1) and (not IRH(0);change_c <= (not IRH(3) and (not IRH(2);c_z_j_flag <= (zj_instruct and (not z) or (cj_instruct and (not c);DRWr_proc: process(IRH)beginif IRH(3) = '0' then -算术逻辑指
14、令 DRWr <= '1'elsif IRH(2) = '1' and IRH(1) = '0' then -MVRD DR,DATA;LDR DR,SRDRWr <= '1'elseDRWr <= '0'end if;end process;M_instruct:process(IRH)begincase IRH(3 downto 0) iswhen "1000" | "1100" => -jmp addr;mvrd dr,dataMem_Write
15、 <= '0'DW_intruct <= '1'when "1110" => - str sr,drMem_Write <= '1'DW_intruct <= '0'when others =>Mem_Write <= '0'DW_intruct <= '0'end case;end process;ALUOP_CODE_PROC:PROCESS(IRH)begin if IRH(3) = '0' thenop_co
16、de <= IRH(2 downto 0);elseop_code <= "111"end if;end process;Jinstruct_PROC:process(IRH)begin case IRH(3 downto 0) iswhen "1000" => -jmp adrzj_instruct <= '0'cj_instruct <= '0'lj_instruct <= '1'when "1001" => -jnc addrzj_instruct <= '0'cj_instruct <= '1'lj_instruct <= '0'whe
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 材料疲劳断裂机理研究重点基础知识点
- 软件水平考前复习试题
- 高考作文中论据的选择与应用试题及答案
- 行政管理实践中的试题及答案
- 跨境电商对传统商业模式的冲击试题及答案
- 恢复供电火灾应急预案范文(3篇)
- 非住宅火灾应急预案(3篇)
- 软件设计方法的演变与展望试题及答案
- 专家点评与分析2025年计算机二级VB考试试题及答案
- 绿色经济转型的经济学分析试题及答案
- 1.1细胞是生命活动的基本单位课件高一上学期生物人教版(2019)必修1
- SL631水利水电工程单元工程施工质量验收标准第3部分:地基处理与基础工程
- 八省联考陕西试题及答案
- 新22J01 工程做法图集
- 2025年诗词大赛考试指导题库300题(含答案)
- 2025中考英语作文预测:19个热点话题及范文
- 2024年建筑业10项新技术
- GB/T 25052-2010连续热浸镀层钢板和钢带尺寸、外形、重量及允许偏差
- 景区运营管理服务合同
- 空调净化系统验证方案及报告
- 中国少先队队歌歌词(校队排版加注音)
评论
0/150
提交评论