《微程序设计--计算机组成原理课程设计报告》由会员分享,可在线阅读,更多相关《微程序设计--计算机组成原理课程设计报告(34页珍藏版)》请在金锄头文库上搜索。
1、计算机组成原理课程设计目录1 课程设计的目的和要求11.1课程设计目的11.2 课程设计的要求12 实验设备13 实验分析13.1 指令译码电路分析13.2 微地址形成分析23.3 时序电路分析43.4 运算器单元分析63.5 寄存器单元分析73.6 微控器电路分析83.7 设计内容分析104 实验设计114.1 微程序控制电路114.2 微指令格式134.3 指令功能类别134.4 微程序流程总框架145 微程序详细设计165.1 微程序流程框架165.2 控制台流程175.3 每条指令的详细设计196 机器指令程序256.1 程序流程图256.2 程序助记符形式266.3 机器指令程序26
2、6.4 程序的CPI277 实验步骤287.1线路连接图287.2 程序微代码表29心得体会31参考文献32301 课程设计的目的和要求1.1课程设计目的在掌握部件单元电路实验的基础上,进一步将其组成系统构造一台基本模型计算机。通过一个完整的8位指令系统结构(ISA)的设计和实现,加深对计算机组成原理课程内容的理解,建立起整机系统的概念,掌握计算机设计的基本方法,培养学生科学的工作作风和分析、解决实际问题的工作能力。1.2 课程设计的要求要求综合运用计算机组成原理、数字逻辑和汇编语言等相关课程的知识,理解和熟悉计算机系统的组成原理,掌握计算机主要功能部件的工作原理和设计方法,掌握指令系统结构设
3、计的一般方法,掌握并运用微程序设计(Microprogramming)思想,在设计过程中能够发现、分析和解决各种问题,自行设计自己的指令系统结构(ISA),并编写相应的微程序,具体上机调试掌握整机概念。2 实验设备TDN-CM+计算机组成原理实验教学系统一台,排线若干。本课程设计采用TDN-CM+计算机组成原理实验系统,具备支持开放式实验教学方法的结构特点。实验系统采用部件单元式结构,包括运算器、存储器、控制器、信号及时序控制、内总线、外总线、外围接口及输入输出设备、大规模可编程逻辑器件等计算机功能部件的单元电路,用户可使用排线连接方式或计算机电子自动逻辑设计方式,根据自己所设计的模型计算机结
4、构方案,来构造出不同结构及复杂程度的原理性计算机。3 实验分析3.1 指令译码电路分析指令译码电路如图3.1所示图3.1 指令译码电路图根据指令译码电路得到以下公式:P(1)、P(2)、P(3)、P(4)为低电平有效,在T4脉冲到来之前,T4为0,当T4脉冲到来时,T4为1;因此,在T4脉冲到来之前,有上述公式可知,SE1SE5都为1,SE6默认为1。3.2 微地址形成分析 3.2.1 p(1)译码 ,结果见表3-1。表 3-1 p(1)译码机器指令(I7-I6)SE4 SE3 SE2 SE13 2 1 00 0 0 00 0 0 10 0 1 00 0 1 11 1 1 11 1 1 01
5、1 0 11 1 0 00 0 0 00 0 0 10 0 1 00 0 1 10 1 0 00 1 0 10 1 1 00 1 1 11 0 1 11 0 1 01 0 0 11 0 0 00 1 0 00 1 0 10 1 1 00 1 1 11 0 0 01 0 0 11 0 1 01 0 1 10 1 1 10 1 1 00 1 0 10 1 0 01 0 0 01 0 0 11 0 1 01 0 1 11 1 0 01 1 0 11 1 1 01 1 1 10 0 1 10 0 1 00 0 0 10 0 0 01 1 0 01 1 0 11 1 1 01 1 1 1 3.2.2 p
6、(2)译码 结果见表3-2。表3-2 p(2)译码I3 I2SE1 SE21 00 00 11 01 1 1 1 1 0 0 1 0 00 00 11 01 1 3.2.3 p(3)译码 ,结果见表3-3。表 3-3 p(3)译码FC FZSE5 4 0 00 11 01 1 1 0 0 0 0 1 1 1 3.2.4 p(4)译码 ,结果见表3-4。表 3-4 p(4)译码SWA SWBSE1 SE21 0 0 0 0 1 1 0 1 1 1 1 1 0 0 1 0 00 00 11 01 13.3 时序电路分析时序电路单元位于装置的左上部,其电路由四部分构成:消抖电路(KK2)、时序控制(
7、TS1、TS2、TS3、TS4)、时钟信号源()、拨动二进制开关组(STOP、STEP)。用户只需将信号与信号源的输出插孔相连,然后按动START(KK1)微动开关,根据STOP及STEP的状态,T1T4将输出有规则的方波信号。各时钟脉冲T1T4所对应的选通信号以及功能说明,具体如图3-5所示。图3-5 时钟脉冲时钟脉冲选通信号功能说明T1CLKO微地址锁存器时钟信号,完成对微指令的写操作。T2CLK微指令输出锁存器及后续地址输出锁存器信号,完成对微指令的读操作。T3LDAR对地址寄存器进行写LDIR对指令寄存器进行写WE对存储器进行读写操作,将数据在七段码显示器上进行显示。T4LDDR1/L
8、DDR2将数据锁存到DR1/DR2299-B将数据打入到移位寄存器以及进行移位AR将进位结果写入到进位寄存器中LDR0/LDR1/LDR2将数据写入到寄存器R0/R1/R2LDPC将地址写入到PC或进行计数P(1)/P(2)/P(3)/P(4)FC/FZ/SWA/SWB执行指令译码表3-6时钟脉冲的作用单拍脉冲及消抖电路在实验中KK2一般用来作为单拍脉冲信号发生器;START已将其输出接入时序电路中的START处,作为时序电路的启动开关。时序控制电路、拨动开关组STEP(单步)、STOP(停机)分别是来自实验台上部的两个二进制开关STEP、STOP的模拟信号。启动是来自实验台“STATEUNI
9、T”单元的一个微动开关START的按键信号。当STOP开关置为RUN状态,STEP开关置为EXEC时,按下START,时序信号TS1TS4将周而复始的发送出去。若STEP开关置为STEP状态时,按下START,机器处于单步运行状态,即此时只发送一个CPU周期的时序信号就停机。利用单步方式,每次只产生一条微指令,因而可以观察微指令的代码与当前微指令的执行结果。另外,当机器连续运行时,如果使STOP开关置STOP,也会使机器停机,或将CLR开关置为零,也可使时序清零。信号源此单元位于“STATEUNIT”左侧,标有“SIGNAL UNIT”,可先调节W1,使H23端输出用户期望的某一频率的波形信号
10、,信号的频率在30Hz-300Hz;然后,再调节W2使H23端输出特定占空比的信号,供实验时选择使用。3.4 运算器单元分析运算器单元位于实验线路板左部,它包括运算器单元(ALU UNIT)和寄存器堆单元(REG UNIT)。运算器单元由以下部分构成:两片74LS181构成了并-串型8位ALU;两个8位寄存器DR1和DR2作为暂存工作寄存器,保存参数或中间运算结果;ALU的输出三态门74LS245通过排针连到数据总线上;一片8位的移位寄存器74LS299可通过排针连到数据总线上;由GAL和74LS74锁存器组成进位标志控制电路和为零标志控制电路;进位标志和为零标志指示灯。寄存器堆单元由三片8位
11、寄存器R0、R1、R2组成,它们用来保存操作数及中间运算结果等,三个寄存器的输入已连至BUS总线,输出共用一个RJ1引出,待用排线连至总线。表3-7 算术逻辑运算单元功能表S3 S2 S1 S0 M=0(算术运算)M=1(逻辑运算)Cn=1(无进位) Cn=0(有进位)0 0 0 0F=AF=A加1F=0 0 0 1 F=A+BF=(A+B)加1F=0 0 1 0 F=A+F=(A+)加1F=0 0 1 1 F=0减1F=0F=00 1 0 0 F=A加F=A加加1F=0 1 0 1 F=加(A+B)F=加(A+B)加1F=0 1 1 0 F=A减B减1F=A减BF=0 1 1 1 F=减1F=F=1 0 0 0 F=A+ABF=A+AB加1F=1 0 0 1 F=A+BF=A+B加1F=1 0 1 0 F=AB加( A+)F=AB加( A+)加1F=B1 0 1 1 F=AB减1F=ABF=AB1 1 0 0 F=A加AF=A加A加1F=11 1 0 1 F=A加(A+B)F=A加(A+B)加1F=A+1 1 1 0 F=A加(A+)F=A加(A+)加1F=A+B1 1 1 1 F=A减1F=A减1F=A3.5 寄存器单元分析寄存器译码电路如图1.3所示