
跳转指令的实现.doc
21页0学学 号:号: 课课 程程 设设 计计题题 目目跳转指令的实现跳转指令的实现学学 院院计算机科学与技术计算机科学与技术专专 业业计算机科学与技术计算机科学与技术班班 级级姓姓 名名指导教师指导教师2010 年1月12日武汉理工大学《计算机组成原理》课程设计说明书1课程设计任务书课程设计任务书学生姓名:学生姓名: 专业班级:专业班级: 计算机计算机 指导教师:指导教师: 工作单位:工作单位:计算机科学与技术学院计算机科学与技术学院题题 目目: : 基本模型机的设计基本模型机的设计————跳转指令的实现跳转指令的实现初始条件:初始条件:理论:理论:学完“电工电子学” 、 “数字逻辑” 、 “汇编语言程序设计”、和“计算 机组成原理”课程,掌握计算机组成原理实验平台的使用实践:实践:计算机学院科学系实验中心提供计算机、实验的软件、硬件平台,在 实验中心硬件平台验证设计结果要求完成的主要任务要求完成的主要任务: : (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) 1、基本模型机系统分析与设计,利用所学的计算机组成原理课程中的知识和提 供的实验平台完成设计任务,从而建立清晰完整的整机概念。
2、根据课程设计题目的要求,编制实验所需的程序,上机测试并分析所设计的 程序 3、课程设计的书写报告应包括:(1)课程设计的题目2)设计的目的及设计原理3)根据设计要求给出模型机的逻辑框图4)设计指令系统,并分析指令格式5)设计微程序及其实现的方法(包括微指令格式的设计,后续微地址的产 生方法以及微程序入口地址的形成) 6)模型机当中时序的设计安排7)设计指令执行流程8)给出编制的源程序,写出程序的指令代码及微程序9)说明在使用软件 HKCPT 的联机方式与脱机方式的实现过程(包括编制程 序中跳转指令的时序分析,累加器 A 和有关寄存器、存储器的数据变化 以及数据流程) 10)课程设计总结(设计的特点、不足、收获与体会) 时间安排:时间安排: 周一:熟悉相关资料 周二:系统分析,设计程序周三、四:编程并上实验平台调试 周五:撰写课程设计报告指导教师签名:指导教师签名: 年年 月月 日日系主任(或责任教师)签名:系主任(或责任教师)签名: 年年 月月 日日武汉理工大学《计算机组成原理》课程设计说明书2跳转指令的实现1 设计目的及设计原理1.1设计目的(1)掌握了各个单元模块的工作原理,进一步将其组成完整的系统,构造 1 台基本的模型计算机。
2)在本实验中,我们将规划读写内存、寄存器、数值计算等功能,并且编写相应的微程序请具体上级调试各个模块单元以便进一步掌握整机的概念1.2设计原理在各个模块实验中,各模块的控制信号都是由实验者手动模拟产生的而在真正的试验系统中,模拟机的运行是在微程序的控制下,实现特定指令的功能在本实验平台中,模拟机从内存中取出、解释、执行机器指令都是将由微指令和与之配合的时序来完成,即 1 条机器指令对应 1 个微程序2 模型机的逻辑框图根据程序设计要求,对试验仪硬件资源进行逻辑组合,便可设计出该模型机的整体逻辑框图下图是实验计算机整机逻辑框图简单的模型计算机是由算术逻辑单元、微程序单元、堆栈寄存器单元、累加器、启停、时序单元、总线和存储器单元组成在模型机中,我们将要实现 RAM 的读写命令,寄存器的读写命令,跳转命令,ALU 单元的加、减、与、或指令把通用寄存器作为累加器 A,进行左、右移等指令,整体构成一个单累加器多寄存器的系统其中运算器由 2 片 74L181 构成 8 位字长的 ALU 单元2 片 74LS374 作为 2 个数据锁存器(DR1、DR2) ,8 芯插座 ALU-IN 作为数据输入端,可通过短 8 芯扁平电缆,把数据输入端连接到数据总线上。
数据输入锁存器 DR1 的 EDR1 为低电平,并且 D1CK 有上升沿时,那来自数据总线的数据打入锁存器 DR1同样使 EDR2 为低电平、D2CK 有上升沿时把数据总线上的数据打入数据锁存器 DR2武汉理工大学《计算机组成原理》课程设计说明书33 指令系统的设计与指令格式的分析3.1指令系统设计本实验中包含的指令如下:(1) MOV A,#data 将立即数传递到累加器 A 中(2) RRC A 将累加器 A 中的数据带进位循环右移(3) MOV Ri,#data 将立即数传递到寄存器 Ri 中(4) ADD A,Ri Ri 与 A 中的值做加法,结果送累加器 A 中(5) JMP addr 无条件跳转(6) JC addr CY=0 时跳转(7) STA addr 将寄存器中内容写入存储器中(8) HALT 停机指令武汉理工大学《计算机组成原理》课程设计说明书4指令系统如下表:指令助记符指令功能指令编码微周期微操作取指微指令T0:PC->ABUS->RAMRAM->DBUS->IR1MOV A,#datadata->A5FT0:T1:RAM->DBUS->A取指微指令RRC AC、A 右移一位9FT0:T1:ARiR0:6CR1:6DT0:T1:RAM->DBUS->Ri取指微指令ADD A,Ri(A)+(Ri)->AR0:0CR1:0DT0:T1:T2:T3:A->DBUS->DR1Ri->DBUS->DR2ALU->DBUS->A,置 CY取指微指令JMP addraddr->PCBFT0:T1:RAM->PC取指微指令JC addrCY=0,addr->PCB7T0:T1:条件成立:RAM->PC取指微指令STA addr(A)->addr8FT0:T1:T2:RAM->DBUS->IR2IR2->ABUS,A->RAM取指微指令HALT停机FFT0:停机3.2指令格式设计指令一般由地址码和操作码组成,格式如下:操作码地址码本实验涉及的指令格式设计如下:1)MOV 指令使用单字节指令武汉理工大学《计算机组成原理》课程设计说明书57 6 5 4 3 2 1 0操作码Adata2)MOV 指令使用单字节指令7 6 5 4 3 2 1 0操作码Ridata3)MOV 指令使用双字节指令7 6 5 4 3 2 1 0操作码X X Ridata4)RRC 指令7 6 5 4 3 2 1 0操作码A5)ADD 指令7 6 5 4 3 2 1 0操作码ARi6)JMP 指令7 6 5 4 3 2 1 0操作码addr7)JC 指令7 6 5 4 3 2 1 0操作码addr8)STA 指令武汉理工大学《计算机组成原理》课程设计说明书67 6 5 4 3 2 1 0操作码X Xdataaddr9)HALT 指令7 0操作码4 微程序及其实现的方法4.1微指令格式的设计一条微指令的一般格式如下:…………判别测试下地址操作控制顺序控制4.2后续微地址的产生方法由于本系统中指令系统规模不大,功能较简单,微指令采用全水平、不编码的方式,每一个微操作控制信号由一位微代码来表示,24 位微代码至少可表示24 个不同的微操作控制信号。
用增量方式来控制微代码的运行顺序,每一条指令的微程序连续存放在微指令存储器连续的单元中在本系统内,MLD 为置微地址的控制信号,MCK 为工作脉冲当 MLD=0、MCK 有上沿时,把MD0~MD7 的值作为微程序的地址,打入微地址寄存器当 MLD=1、MCK 有上升沿时,微地址计数器自动加 14.3微程序入口地址的形成在本实验平台的硬件设计中,采用 24 位微指令,若微指令采用全水平不编码纯控制场的格式,那么至多可有 24 个微操作控制信号,可由微代码直接实现若采用多组编码译码,那么 24 位的微代码通过二进制译码可实现 2n个互斥的微操作控制信号由于模型机指令系统规模较小,功能也不太复杂,所以采用全水平不编码纯控制场的微指令格式在模型机中,用指令操作码的高 4 位作为核心扩武汉理工大学《计算机组成原理》课程设计说明书7展成 8 位的微程序入口地址 MD0-MD7这种方法称为“按操作码散转” (如下表所示) 微程序首地址形成MD7MD6MD5MD4MD3MD2MD1MD000I7I6I5I411按操作码散转指令操作码微程序首地址MD7、MD6I7I6I5I4MD1、MD0MD7 ~ MD0000001003H000011007H00010100BH00011100FH001001013H001011017H00110101BH00111101FH010001023H010011027H01010102BH01011102FH011001033H011011037H01110103BH01111103FH此次程序中微程序对应的微指令表如下:指令助记符微地址有效值微指令 16 进制编码取指微指令00H01H4DFFFF武汉理工大学《计算机组成原理》课程设计说明书802HMOV A,#data17H18H19H1AHDDFBFFRRC A27H28H29H2AHFF1EF4DFFFMOV Ri,#data1BH1CH1DH1EHDDBFFF4DFFFFADD A,Ri03H04H05H06HFFFCF9FF7F79FFFBA94DFFFFJMP addr31H32HJC addr2FH30HD4FFFF4DFFFFSTA addr23H24H25H26HD5FFFFBBFDFF4DFFFFHALT3FHFFDFFF5 模型机当中时序的设计安排由于模型机已经确定了指令系统,微指令采用全水平不编码纯控制场的格式,武汉理工大学《计算机组成原理》课程设计说明书9微程序的入口地址采用操作码散转方式,微地址采用计数增量方式,所以可确定模型机中时序单元中所产生的每一拍的作用。
本实验中为了更好地观察实验的各个中间过程中各寄存器的值,由监控单元产生一个 PLS-O 的信号来控制时序产生PLS-O 信号经过时序单元的处理产生了 4个脉冲信号4 个脉冲信号组成一个微周期,为不同的寄存器提供工作脉冲PLS1: 微地址寄存器的工作脉冲,用来设置微程序的首地址及微地址加 1PLS2: PC 计数器的工。
