计算机组成原理大型实验-实验报告及源代码_第1页
计算机组成原理大型实验-实验报告及源代码_第2页
计算机组成原理大型实验-实验报告及源代码_第3页
计算机组成原理大型实验-实验报告及源代码_第4页
计算机组成原理大型实验-实验报告及源代码_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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 5

5、402MEMAR: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-Q0000000011100000000000

6、000000111100000000000000000000PC-AR, PC+1-PC0000000011100000000010100000101101010101010000000010MEM-AR0000000011100000000000010000111100000000000000000100MEM+Q-Q0000000011100000000100000000111000000000000000000000PC-AR, PC+1-PC0000000011100000000010100000101101010101010000000010MEM-AR000000001110000

7、0000000010000111100000000000000000100Q-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,即内存地址

9、0828。显然,让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指令格式:E5XXA

13、DDR指令分析: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=1,CC#=S#=0,3号命令条件转移到下地址为A4H的指令结束程序,DR0,S=0,CC#=S#=1,条件转移命令将顺序执行地址为104

14、的指令5、(DRAR, PC+1-PC0029000000111110000010100000101101010101010000000010MEN-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 002

15、9 03E0 A0B5 5402 .).T.0908 0029 0300 30F0 5000 0000 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 000

16、0 .0938 0000 0000 0000 0000 0000 0000 0000 0000 .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: 2C90 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 R

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论