当前位置:文档之家› 组成原理:采用微程序控制器的模型机CPU设计

组成原理:采用微程序控制器的模型机CPU设计

组成原理:采用微程序控制器的模型机CPU设计
组成原理:采用微程序控制器的模型机CPU设计

课程设计报告

课程名称:计算机组成原理

设计题目:采用微程序控制器的模型机CPU设计院系:

班级:

设计者:

学号:

指导教师:

目录

课程设计(大作业)报告 (1)

昆明学院课程设计(大作业)任务书 (2)

一、课题分析 (5)

二、总体设计 (5)

(1)实验模型机结构 (5)

实验模型机结构 (6)

[1] 运算器单元(ALU UINT) (6)

[2] 寄存器堆单元(REG UNIT) (6)

[3] 指令寄存器单元(INS UNIT) (6)

[4] 时序电路单元(STA TE UNIT) (6)

[5] 微控器电路单元(MICRO-CONTROLLER UNIT) (6)

[6] 逻辑译码单元(LOG UNIT) (6)

[7] 主存储器单元(MAIN MEM) (6)

[8] 输入输出单元(INPUT/OUTPUT DEVICE) (6)

(2)机器指令的结构和功能 (7)

[1] 算术逻辑指令 (7)

[2] 访存指令及转移指令 (8)

[3] I/O指令 (8)

[4] 停机指令 (8)

(3)指令系统 (8)

[1] 本模型机共有16条基本指令。 (8)

[2]微指令格式 (9)

三、分步设计 (11)

我们小组共有三位成员,分工分别为:按图连接实验线路,写程序,运行程序。下面为运行程序的具体步骤。 (11)

运行程序 (11)

四、设计成果(重点) (11)

五、存在问题及改进建议 (12)

六、实验器材 (12)

七、参考文献及相关网址 (12)

课程设计(大作业)报告

(注:针对设计题目1)

一、课题分析

微程序控制器由控制存储器、微地址寄存器、微命令寄存器和地址转移逻辑几部分组成。微地址寄存器和微命令寄存器两者的总长度即为一条微指令的长度,二者合在一起称为微指令寄存器。经过我们小组成员讨论,设计顺序大致如下:首先画出了程序的流程,然后写出了汇编程序,并且写出了机器指令,其次我们完成了总体的流程图,然后根据流程图写出了微指令以及微指令代码,将机器指令代码与微指令代码写成了一个txt文档用机器录入,运行程序,对照程序上面显示的图与我们画的流程图进行对照,检查来判断这次试验的成功与否。

二、总体设计

(1)实验模型机结构

[1] 运算器单元(ALU UINT)

运算器单元由以下部分构成:两片74LS181构成了并-串型8位ALU;两个8位寄存器DR1和DR2为暂存工作寄存器,保存参数或中间运算结果。ALU的S0~S3为运算控制端,Cn为最低进位输入,M为状态控制端。ALU的输出通过三态门74LS245连到数据总线上,由ALU-B控制该三态门。

[2] 寄存器堆单元(REG UNIT)

该部分由3片8位寄存器R0、R1、R2组成,它们用来保存操作数用中间运算结构等。三个寄存器的输入输出均以连入数据总线,由LDRi和RS-B根据机器指令进行选通。

[3] 指令寄存器单元(INS UNIT)

指令寄存器单元中指令寄存器(IR)构成模型机时用它作为指令译码电路的输入,实现程序的跳转,由LDIR控制其选通。

[4] 时序电路单元(STATE UNIT)

用于输出连续或单个方波信号,来控制机器的运行。

[5] 微控器电路单元(MICRO-CONTROLLER UNIT)

微控器主要用来完成接受机器指令译码器送来的代码,使控制转向相应机器指令对应的首条微代码程序,对该条机器指令的功能进行解释或执行的工作。由输入的W/R信号控制微代码的输出锁存。由程序计数器(PC)和地址寄存器(AR)实现程序的取指功能。

[6] 逻辑译码单元(LOG UNIT)

用来根据机器指令及相应微代码进行译码使微程序转入相应的微地址入口,从而实现微程序的顺序、分支、循环运行,及工作寄存器R0、R1、R2的选通译码。

[7] 主存储器单元(MAIN MEM)

用于存储实验中的机器指令。

[8] 输入输出单元(INPUT/OUTPUT DEVICE)

输入单元使用八个拨动开关作为输入设备,SW-B控制选通信号。输出单元将输入数据置入锁存器后由两个数码管显示其值。

*该CPU数据结构通路框图如下:

(2)机器指令的结构和功能

部件实验过程中,各部件单元的控制信号是人为模拟产生的,而本次课设是在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能。这里,计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指

令组成的序列来完成,即一条机器指令对应一个微程序。模型机设计四大类指令共十六条,其中包括算术逻辑指令、I/O指令、访问存储器及转移指令和停机指令。

[1] 算术逻辑指令

设计9条算术逻辑指令并用单字节表示,寻址方式采用寄存器直接寻址,其格式如下:

其中,OP-CODE为操作码,Rs为源寄存器,Rd为目的寄存器,并规定:

[2] 访存指令及转移指令

模型机设计2条访问指令,即存数(STA)、取数(LDA)、2条转移指令,即无条件转移(JMP)、结果为零或有进位转移指令(BZC)。其格式如下:

其中,OP-CODE为操作码, Rd为目的寄存器,D为位移量(正负均可),M为寻址方式,其定义如下:

本模型机规定变址寄存器RI指定为寄存器R2。

[3] I/O指令

输入和输出指令采用单字节指令,其格式如下:

其中,addr=01 时,表示选中“输入单元”中的开关组作为输入设备,addr=10时,表示选中“输出单元”中的数码管作为输出设备。

[4] 停机指令

这类指令只有1条,即停机指令HALT,用于实现停机操作,指令格式如下:

(3)指令系统

[1] 本模型机共有16条基本指令。

其中,算术逻辑指令9条,访问内存指令和程序控制指令4条,输入输出指令2条,其他它指令1条。表1列出了各条指令的格式、汇编符号、指令功能。

表1 复杂模型机指令系统

[2]微指令格式

表2 复杂模型机微指令结构图

其中uA5~uA0为6位的后续微地址,A、B、P为三个译码字段,分别由三个控制位译码出多位。P字段中的P1~P4是四个测试字位,其功能是根据机器指令及相应微代码进行译码,使微程序转入相应的为地址入口,从而实现微程序的顺序、分支、循环运行。具体来说,P1测试用于“取指令”微指令,它用下址低四位(uA3~uA0)与指令寄存器高四位(IR7~IR4)相或得到各路分支;P2测试用下址低2位(uA1~uA0)与指令寄存器的IR3IR2相或得到各路分支;P3测试用于条件转移,它用下址的uA4与(ZI +CY)相或得到各路分支;P4测试用于控制台操作,它用下址低2位(uA1~uA0)与SWB、SWA相或得到各路分支。

在上述各测试下址中未用到的位均直接保留。AR为算术运算是否影响进位及判零标志控制位,其为零有效。B字段中的RS_G、RD_G、RI_G分别为源寄存器选通信号,目的寄存器选通信号

及变址寄存器选通信号,其功能是根据机器指令来进行三个工作寄存器R0、R1及R2的选通译码。三字段中的其他位类似与此,均是某芯片的选通信号,它们的功能都是根据机器指令来进行相应芯片的选通译码。

为了向RAM中装入程序和数据,检查写入是否正确,并能启动程序执行,还必须设计三个控制台操作微程序。

存储器读操作(READ):拨动总清开关CLR后,控制台开关SWB、SWA为“00”时,按START 微动开关,可对RAM连续手动读操作。

存储器写操作(WRITE):拨动总清开关CLR后,控制台开关SWB、SWA为“01”时,按START 微动开关,可对RAM进行连续手动写入。

启动程序:拨动总清开关CLR后,控制台开关SWB、SWA置为“11”时,按START微动开关,即可转入到第01号“取址”微指令,启动程序运行。

上述三条控制台指令用两个开关SWB、SWA的状态来设置,其定义如下:

三、分步设计

我们小组共有三位成员,分工分别为:按图连接实验线路,写程序,运行程序。下面为运行程序的具体步骤。

运行程序

①.单步运行程序

A 使编程开关处于”RUN’的状态,STEP为”STEP” 状态,STOP为”RUN”状态’

B 拨动总清处于CLR (0_1),微地址清零,程序计数器清零,程序首址为00H..

C 单步运行一条微指令,每按动一次START键,即单步运行一条指令,对照微程序流程图,观察微地址显示是否和流程一致.

D 当运行结束后.可检查存数单元中的结果是否和理论植一致.

②. 连续运行程序

A 使”START UNIT” 中的STEP开关置为”ECEX”状态.STOP开关置为”RUN”状态.

B 拨动CLR开关,清微地址及程序计数器,然后按动START,系统连续运行程序,稍后将”STOP”拨至”STOP”时,系统停机.

C 停机后,可检查存数单元结果是否正确.

③. 若联机运行程序时,进入DEBUG调试界面,总清开关CLR 清零后,程序首址为00H. 按相应功能键既可联机运行调试程序。

四、设计成果(重点)

我们小组在这次的课程设计中,通过我们的相互配合基本完成了微程序控制器的模型机CPU 设计,我们分工明确,此外我们还做了简单模型机与复杂模型机的实验。

截图为复杂模型机接线图:

五、存在问题及改进建议

我们设计的这个CPU的一个较明细的不足是效率不高。若用组合逻辑控制实现,三到四个周期就能做完一条指令,而这里光是取指令就四个周期。这也跟原来要求灵活的设计方案有关。理论上,只要把组合逻辑的真值表看作微程序放进ROM中,则微程序控制的效率与组合逻辑控制是一样的,只是组合逻辑控制存储的是语法,微程序控制存储的是语义。但这样设计就太死板,还不如直接用组合逻辑方便。实际的CPU设计应该在灵活性与性能之间根据需要折中。另一个不足是微指令格式还是不够合理。如现在是二地址,目的与源共享地址,造成有些操作极不方便,而

不方便性仅仅是编码的缺陷引入的。这有两点原因:一是经验不足,二是当时设计时过分追求编码的紧凑。

六、实验器材

1、湖北众友公司ZY15CompSys12BB计算机组成原理及系统结构教学实验箱;

2、P C机与网络。

七、参考文献及相关网址

1、《计算机组成原理(第四版·立体化教材)》,白中英主编,08年1月第四版,科学出版社。

2、《计算机组成原理及系统结构实验指导书(V1.01)》,湖北众友科技实业股份有限公司。

3、(美)普拉持(Platt,D.S)著.黄慧萍等译.Microsoft.NET精髓.北京:机械工业出版社。

4、计算机组成原理实验指导书. 王诚,宋佳兴,董长洪编著. 清华大学出版社,2002.

5、《计算机组成原理》学习指导与训练 . 旷海兰等编著. 中国水利水电出版社, 2004.

(注:文档可能无法思考全面,请浏览后下载,供参考。可复制、编制,期待你的好评与关注)

相关主题
文本预览
相关文档 最新文档