计算机组成原理存储器实验源码,计算机组成原理大型实验-实验报告及源代码...

《计算机组成原理大型实验-实验报告及源代码》由会员分享,可在线阅读,更多相关《计算机组成原理大型实验-实验报告及源代码(11页珍藏版)》请在人人文库网上搜索。

1、计算机组成原理大型实验任务书(计算机12级1、2、3班和实验班)一、 实验目的:深入了解计算机各种指令的执行过程,以及控制器的组成,指令系统微程序设计的具体知识,进一步理解和掌握动态微程序设计的概念;完成微程序控制的特定功能计算机的指令系统设计和调试。二、 实验说明:要进行这项大型实验,必须清楚地懂得:(1) TEC-2机的功能部件及其连接关系;(2) TEC-2机每个功能部件的功能与具体组成;(3) TEC-2机支持的指令格式;(4) TEC-2机的微指令格式,AM2910芯片的用法;(5) 已实现的典型指令的执行实例,即相应的微指令与其执行次序的安排与衔接;(6) 要实现的新指令的格式与功。

2、能。三、 实验内容:选定指令格式、操作码,设计如下指令:(1) 把用绝对地址表示的内存单元A中的内容与内存单元B中的内容相加,结果存于内存单元C中。指令格式:D4,ADDR1,ADDR2,ADDR3 四字指令(控存入口100H)功能: ADDR3=ADDR1+ADDR2(2) 将一通用寄存器内容减去某内存单元内容,结果放在另一寄存器中。指令格式:E0 DR SR,ADDR (SR,DR源、目的寄存器各4位)双字指令(控存入口130H)功能: DR=SR - ADDR(3) 转移指令。判断两个通用寄存器内容是否相等,若相等则转移到指定绝对地址,否则顺序执行。指令格式:E5 DR SR,ADDR 。

3、双字指令(控存入口140H)功能: if DR=SR goto ADDR else顺序执行。设计:利用指令的CND字段,即IR108,令IR108=101,即CC=Z则当DR=SR时Z=1,微程序不跳转,接着执行MEM PC(即ADDR PC)而当DR!=SR时Z=0,微程序跳转至A4。四、 实验要求:(1) 根据内容自行设计相关指令微程序;(务必利用非上机时间设计好微程序)(2) 设计测试程序、实验数据并上机调试。(3) 设计报告内容:包括1、设计目的2、设计内容3、微程序设计(含指令格式、功能、设计及微程序) 4、实验数据(测试所设计指令的程序及结果)。(具体要求安最新规范为准)(4) 大。

4、型实验报告必须打印成册,各班班长收齐大型实验报告于19周星期五前,交张芳老师办公室。实验设计并分析:第一条:把用绝对地址表示的内存单元A中的内容与内存单元B中的内容相加,结果存于内存单元C中。指令格式:D4,ADDR1,ADDR2,ADDR3 四字指令(控存入口100H)功能: ADDR3=ADDR1+ADDR2指令格式:D4XXADDR1ADDR2ADDR3微程序: PCAR,PC+1PC: 0000 0E00 A0B5 5402MEMAR:0000 0E00 10F0 0002MEMQ:0000 0E00 00F0 0000PCAR,PC+1PC: 0000 0E00 A0B5 5402M。

5、EMAR:0000 0E00 10F0 0002MEM+QQ:0000 0E01 00E0 0000PCAR,PC+1PC: 0000 0E00 A0B5 5402MEM AR: 0000 0E00 10F0 0002QMEM,CC#=0: 0029 0300 1020 0010指令分析:PC-AR, PC+1-PC0000000011100000000010100000101101010101010000000010MEM-AR0000000011100000000000010000111100000000000000000100MEM-Q00000000111000000000000000。

6、00111100000000000000000000PC-AR, PC+1-PC0000000011100000000010100000101101010101010000000010MEM-AR0000000011100000000000010000111100000000000000000100MEM+Q-Q0000000011100000000100000000111000000000000000000000PC-AR, PC+1-PC0000000011100000000010100000101101010101010000000010MEM-AR0000000011100000000。

7、000010000111100000000000000000100Q-MEM, CC#=00029000000110000000000010000001000000000000000010000假设从地址0828开始执行微程序,此时程序计数器PC的值是0829。因为运行程序的时候0829和0830中存了加法的两个加数的内存地址,所以要想方设法1)把这两个加数传到运算器的寄存器中,2)在运算器中相加,3)将结果输出到内存单元ADDR1。以下分别进行分析。1)取每个加数要访问两次内存,第一次是取得加数所在的内存地址的值(MEMAR), 第二次是取得加数本身并保存在Q寄存器中(MEMQ)。注意,取第。

8、二个加数的时候,第一次仍是MEMAR,而第二次MEM+QQ的同时也把加法给完成了,请见接下来的分析。2)相加的操作是MEM+QQ。MEM是从内存中取得的第二个加数的值,左边的Q是刚才取得的第一个加数的值。他俩相加的和传给Q寄存器,覆盖掉了Q寄存器刚才保存的值(第一个加数)。3)现在Q寄存器中存有加法的运算结果,最后的工作是把这个结果写到内存单元ADDR1中去。如果AR或者PC指向ADDR1的话就好办了,难点在于现在AR已经到了ADDR2处,PC已经到了ADDR2+1处,而且又不知道如何让寄存器的值减一。后来问同学,得到了解决办法:利用IP寄存器。IP正好还呆在ADDR1-1,即内存地址0828。

9、。显然,让IP+1就得到了ADDR1,即0829。微指令是IP+1AR以及MEMAR,这时AR的值为第一个加数所在的单元ADDR1。现在Q的值是运算结果,AR的值是运算结果要传给的内存地址。显而易见,最后一步就是“存储器写”操作QMEM。其它要注意的地方:1)微程序中有两处PC+1PC,第一处是为了取得第二个加数所在的内存地址,第二处是为了把PC指向下一句,在这里是RET,才能使程序正常结束。2)程序最后要转向A4H执行后续处理程序。此处下地址的转换方法:将A4H从左到右用八位二进制数写出,左边补两个“0”,右边加两个“0” (备用位B45、44),得到0010 1001 0000B,再把这个。

10、十二位二进制数翻译成十六进制,结果是290H。3)使用Q寄存器的好处有:第一,不修改通用寄存器R0,R1等,因为别的程序可能用到它们。第二,程序易读、风格优美。程序调试:第二条:将一通用寄存器内容减去某内存单元内容,结果放在另一寄存器中。指令格式:E0 DR SR,ADDR (SR,DR源、目的寄存器各4位)双字指令(控存入口130H)功能: DR=SR - ADDR微程序:PCAR,PC+1PC: 0000 0E00 A0B5 5402MEMAR:0000 0E00 10F0 0002SR - ADDR DR: 0029 0301 31D0 0088指令格式: E0XXADDR指令分析:根据。

11、指令的功能和指令格式,先读取地址ADDR单元内容暂时放置于Q寄存器中,然后再读取内存单元中的DATA,同时与Q寄存器内容相减,结果存放在DR寄存器中。每条指令系统微操作详细:PC-AR, PC+1-PC0000000011100000000010100000101101010101010000000010MEM-AR0000000011100000000000010000111100000000000000000100SR-MEM-DR0029000000110000000100110001110100000000000010001000调试:第三条:转移指令。判断两个通用寄存器内容是否相等,。

12、若相等则转移到指定绝对地址,否则顺序执行。指令格式:E5 DR SR,ADDR 双字指令(控存入口140H)功能: if DR=SR goto ADDR else顺序执行。设计:利用指令的CND字段,即IR108,令IR108=101,即CC=Z则当DR!=SR时Z=1,微程序不跳转,接着执行MEM PC(即ADDR PC)而当DR=SR时Z=0,微程序跳转至A4。微程序: SR - DR: 0000 0E01 9190 0088PCAR,CC# = CND,PC+1PC:0029 03E0 A0B5 5402MEMPC: 0029 0300 30F0 5000指令格式:E5XXADDR指令分。

13、析:1、SR- DR,运算器接受标志位,设定标志位2、PCAR,PC+1PC,, SCC=7,IR10-8=101,CC#=Z DR=SR,CC#=Z=1,顺序执行102,DRSR 转移到下地址为103的指令继续转移 3、(DR=SR)偏移量 OFFSET加IP(R4),结果赋给PC(R5),然后令CC#=0,用3号命令条件转移到A4H,结束微程序4、PCAR,PC+1PC SCC=101,SC=1,使CC#=S#,DRSR,SR-DR0,S=0,CC#=S#=1,条件转移命令将顺序执行地址为104的指令5、(DRAR, PC+1-PC00290000001111100000101000001。

14、01101010101010000000010MEN-PC0029000000111110000100100000111100000101000000000000调试:E9000900 0000:0000 0000:0E01 0000:9190 0000:0088 0000:00290905 0000:03E0 0000:A0B5 0000:5402 0000:0029 0000:0300090A 0000:30F0 0000:5000D9000900 0000 0E01 9190 0088 0029 03E0 A0B5 5402 .).T.0908 0029 0300 30F0 5000 0。

15、000 0000 0000 0000 .).0P.0910 0000 0000 0000 0000 0000 0000 0000 0000 .0918 0000 0000 0000 0000 0000 0000 0000 0000 .0920 0000 0000 0000 0000 0000 0000 0000 0000 .0928 0000 0000 0000 0000 0000 0000 0000 0000 .0930 0000 0000 0000 0000 0000 0000 0000 0000 .0938 0000 0000 0000 0000 0000 0000 0000 0000 。

16、.A8000800: MOV R1,9000802: MOV R2,30804: MOV R3,1400806: LDMC0807: RET0808:G800A8200820: MOV R8,00110822: MOV R9,00110824: NOP0825: NOP0826: MOV R9,00020828: RET0829:E8240824 0000:E489 0000:0828U8200820: 2C80 0011 MOV R8, 00110822: 2C90 0011 MOV R9, 00110824: E489 DW E4890825: 0828 ADC R2, R80826: 2。

17、C90 0002 MOV R9, 00020828: AC00 RET0829: 0000 NOP082A: 0000 NOP082B: 0000 NOP082C: 0000 NOP082D: 0000 NOP082E: 0000 NOP082F: 0000 NOP0830: 0000 NOP0831: 0000 NOPG820结果显示:RR0=0000 R1=090C R2=0000 R3=0143 SP=0FD0 PC=0820 IP=00CD R7=0000 R8=0011R9=0002 R10=0000 R11=0000 R12=0000 R13=0000 R14=0000 R15=0000 F=0820: 2C80 0011 MOV R8, 0011实验报告格式:(打印时请删除)计算机网络课程设计任务书(2013/2014第二学期-第19周)指导教师:许建龙 张芳班级:姓名:学号:计算机网络课程设计实验报告一、目的和要求二、实验环境三、具体内容四实验心得成绩评定表到课率答辩成绩总成绩签字:年 月 日。

你可能感兴趣的:(计算机组成原理存储器实验源码)