[aa计算机组成原理课程设计
计算机组成原理
课程设计
班级:09计算机本2
姓名:
学号:
指导老师:李长旺
实验日期:2010-6-23
目 录
一、课程设计的目的2
二、模型机的设计步骤3
三、实验装置5
四、设计题目5
题目一:5
题目二:8
题目三:12
题目四:14
五、课程设计心得19
六、附录(参考实验指导书相关部分修改)21
附录1(数据通路):21
附录2(系统连线参考图)21
附录3 (微指令格式)23
七、参考文献24
ADD addrXXXXXXXXRO+[addr]——>R011STA addrXXXXXXXXRO——>[addr]12OUT addrXXXXXXXX[addr]——>LED13JMP addrXXXXXXXXaddr——>PC14
其中IN为单字长(8位),其余为双字长指令,XXXXXXXX为addr对应的二进制地址码。
在测试程序装入内存后,机器自动执行控存中00号的微指令,产生控制台命令,其流程如下(01为取指微指令的地址):
根据附录2的图1(简单模型机的连线图)连接实验线路。
本设计的工作程序的内存映象(装入起始地址00H)如下:
地址(二进制)内容(二进制)助记符说 明十六进制代码0000 00000000 0000IN将输入数据送R0寄存器00000000 00010001 0000ADD [OAH]01100000 00100000 1010RO+[0AH]—>R0020A0000 00110010 0000STA [0BH]03200000 01000000 1011R0—>[0BH]040B0000 01010011 0000OUT [0BH]05300000 01100000 1011[0BH]—>LED060B0000 01110100 0000JMP 0107400000 10000000 000101H—>PC08010000 10100000 0001输入自定的数据0A01
本设计的程序流程图如下:
微程序(主要ADD部分)
微地址S3 S2 S1 S0 M CN WE A9 A8ABCUA5…UA0(后续地址)十六进制代码0 30 0 0 0 0 0 0 0 11 1 00 0 00 0 00 0 0 1 0 00300E0040 40 0 0 0 0 0 0 0 10 1 10 0 00 0 00 0 0 1 0 10400B0050 50 0 0 0 0 0 0 1 10 1 00 0 10 0 00 0 0 1 1 00501A2060 61 0 0 1 0 1 0 1 10 0 11 0 10 0 00 0 0 0 0 106959A010 90 0 0 0 0 0 0 1 11 1 01 1 01 1 00 0 0 0 1 10901ED83
分析:
程序思想如下:首先将输入数据送R0寄存器,然后送到ALU单元执行ADD操作,加法完成后将结果再送到R0寄存器,然后STA跳转,将R0寄存器的数据送到0BH,然后送显示器显示,送显后立即JMP指令回到微程序的01步,即继续执行ADD加法,一直循环。
微程序中,当A9=0,A8=0时,选中Y0;
当A9=0,A8=1时,选中Y1;
当A9=1,A8=0时,选中Y2;
当A9=1,A8=1时,选中Y3
微指令解释:指令中S3…CN为全0表示不执行任何运算操作,A9,A8如开始解释的表示选择外设,均为1表示选中扩展单元(EX UNIT)的Y3,而根据实验接线图可知,Y3表示不做任何操作,A,B,C字段为根据实验线路图中起作用的单元,从09开始A,B,C分别为110,110,110表示LDAR,PC-B,LDPC有效(附录图3),根据数据通路图,即是PC->AR,PC并自动+1,UA5…UA0为000011,即下址为下一条微指令地址03H。09执行完后根据下址到达