计算机组成原理课程设计_第1页
计算机组成原理课程设计_第2页
计算机组成原理课程设计_第3页
计算机组成原理课程设计_第4页
计算机组成原理课程设计_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

1、指导教师:桂宁张芳2016年6月18日计算机组成原理课程设计报告(2015/2016第二学期第17周)指导教师:桂宁张芳班级:姓名:学号:一、目的和要求目的:深入了解计算机各种指令的执行过程,以及控制器的组成,指令系统微程序设计的具体知识,进一步理解和掌握动态微程序设计的概念;完成微程序控制的特定功能计算机的指令系统设计和调试。要求:根据内容自行设计相关指令微程序;(务必利用非上机时间设计好微程序)设计测试程序、实验数据并上机调试。设计报告内容:包括1、设计目的2、设计内容3、微程序设计(含指令格式、功能、设计及微程序)4、实验数据(测试所设计指令的程序及结果)。二、实验环境TEC-2机和PC

2、机三、具体内容实验内容:(1)把用绝对地址表示的内存单元ADDR1中的内容与内存单元ADDR井的内容相减,结果存于内存单元ADDR却。指令格式:D4XADDR,1ADDR2ADDR3四字指令(控存入口100H)功能:ADDR=ADDR1-ADDR2(2)将一通用寄存器内容减去某内存单元内容,结果放在另一寄存器中。指令格式:E0DRSRADDR(SRDR源、目的寄存器各4位)双字指令(控存入口130H)功能:DR=SR-ADDR(3)转移指令。判断两个通用寄存器内容是否相等,若相等则转移到指定绝对地址,否则顺序执行。指令格式:E5DRSR,ADDR双字指令(控存入口140H)功能:ifDR=SR

3、gotoADDRelse顺序执行。设计:利用指令的CN"段,即IRf令IR108=101,即CC=Z贝当dr=sr寸z=i,微程序不跳转,接着执彳厂Mempc(Ip+Addrp。而当DR!=SR时Z=0,微程序跳转至A40实验设计并分析第一条:把用绝对地址表示的内存单元ADDR1中的内容与内存单元ADDR片的内容相减,结果存于内存单元ADDR却。指令格式:D4X*DDRJADDR2ADDR3四字指令(控存入口100H)功能:ADDR=ADDR1-ADDR2指令格式:微程序:>A820PC->AR,PC+1->PC: MEN->AR:IMEN->QPC-&

4、gt;AR,PC+1->PC: MEN->AR:MEN-Q->Q:PC->AR,PC+1->PC: MEN->AR: Q->MEN,CC#=0:00000E00A0B5540200000E0010F0000200000E0000F0000000000E00A0B5540200000E0010F0000200000E0101E0000000000E00A0B5540200000E0010F000020029030010200010>E90009000000:00000000:0E000000:A0B50000:54020000:0000090500

5、00:0E000000:10F00000:00020000:00000000:0E00090A0000:00F00000:00000000:00000000:0E000000:A0B5090F0000:54020000:00000000:0E000000:10F00000:000209140000:00000000:0E010000:01E00000:00000000:000009190000:0E000000:A0B50000:54020000:00000000:0E00091E0000:10F00000:00020000:00290000:03000000:102009230000:001

6、0用D命令查看输入的微码:>D9000002T090800000E0000F0000000000E00A0B554020910.T.00000E0010F0000200000E0101E00000091800000E00A0B5540200000E0010F00002T.092000290300102000100000000000000000.)092800000000000000000000000000000000>A8000800:MOVR1,9000802:MOVR2,90804:MOVR3,1000806:LDMC0807:RET0808:用G命令运行加载微码的程序:>

7、;G800用A命令输入程序:0820:MOVR0,00230822:MOVA00,R00824:MOVR1,00220826:MOVA01,R10828:NOP0829:NOP082A:NOP082B:NOP082C:RET082D:用E命令输入新指令:>E82808280000:D4000000:0A000000:0A010000:0A02用U命令查看输入程序:>U8200820:2C000023MOVR0,00230822:34000A00MOV0A00,R00824:2C000032MOVR1,00220826:34000A01MOV0A01,R10828:D400DWD40

8、00829: 0A00ADC R0, R0082A: 0A01 ADC R0, R1082B:0A02ADCR0,R2082C:AC00RET082D:0000NOP082E:0000NOP082F:0000NOP0830:0000NOP0831:0000NOP0832:0000NOP0833:0000NOP用G命令运行程序:>G820用D命令查看运行结果:>DA000A000023002200010000假设从地址0828开始执行微程序,此时程序计数器PC的值是0829。因为运行程序的时候0829和0830中存了减法的两个数的内存地址,所以要想方设法1)把这两个加数传到运算器的寄

9、存器中,2)在运算器中相减,3)将结果输出到内存单元ADDR1。以下分别进行分析。1)取每个加数要访问两次内存,第一次是取得被减数所在的内存地址的值(MEM-AR),第二次是取得减数本身并保存在Q寄存器中(MEM>Q)。注意,取第二个减数的时候,第一次仍是MEM>AR而第二次MEM-QQ的同时也把减法给完成了,请见接下来的分析。2)相减的操作是MEM-Q>QMEM是从内存中取得的第二个数的值,左边的Q是刚才取得的第一个数的值。他俩相减的和传给Q寄存器,覆盖掉了Q寄存器刚才保存的值(第一个数)。3)现在Q寄存器中存有减法的运算结果,最后的工作是把这个结果写到内存单元ADDR1中

10、去。如果AR或者PC指向ADDR1话话就好办了,难点在于现在AR已经到了ADDR2处,PC已经至IJ了ADDR2+1处,而且又不知道如何让寄存器的值减一。后来问同学,得到了解决办法:利用IP寄存器。IP正好还呆在ADDR1-1,即内存地址0828。显然,让IP+1就得到了ADDR1,即0829。微指令是IP+1-AR以及MEM-AR这时AR的值为第一个加数所在的单元ADDR1。现在Q的值是运算结果,AR的值是运算结果要传给的内存地址。显而易见,最后一步就是“存储器写”操作CHMEM弟条:将一通用寄存器内容减去某内存单元内容,结果放在另一寄存器中。指令格式:E0DRSR,ADDR(SRDR源、目

11、的寄存器各4位)双字指令(控存入口130H)功能:DR=SR-ADDR产令格式:E0XXADDR微程序:0000 0E00 A0B5 54020000 0E00 10F0 00020029 0301 31D0 0088PCARPC+什PCMEM>ARSR-ADDRfDR用E命令输入微码:>E90009000000:00000000:0E000000:A0B50000:54020000:000009050000:0E000000:10F00000:00020000:00290000:0301090A0000:31D00000:0088用D命令查看输入的微码:>D90009000

12、0000E00A0B5540200000E0010F00002T09080029030131D000880000000000000000 .).1091000000000000000000000000000000000用A命令输入加载微码的程序:>A8000800:MOVR1,9000802:MOVR2,30804:MOVR3,1300806:LDMC0807:RET0808:用G命令运行加载微码的程序:>G800用A命令输入程序:>A8200820:MOVR7,00240822:MOVR8,00230824:MOVA00,R80826:NOP0827:NOP0828:RET

13、0829:用E命令输入新指令:>G820>E82608260000:E0070000:0A00用U命令查看输入的程序:>U8200820:2C700024MOVR7,00240822:2C800023MOVR8,00230824:34080A00MOV0A00,R80826: E007DW E0070827:0A00ADCR0,R00828:AC00RET0829:0000NOP082A:0000NOP082B:0000NOP082C:0000NOP082D:0000NOP082E:0000NOP082F:0000NOP0830:0000NOP0831:0000NOP0832

14、:0000NOP用G命令运行程序:用D命令查看运行结果:>DA000A00002200000000用R命令查看寄存器内容:>RR0=0001R1=090CR2=0000R3=0133SP=FFFFPC=0820IP=0828R7=0024R8=0023R9=0000R10=0000R11=0000R12=0000R13=0000R14=0000R15=0000F=000011110820:2C700024MOVR7,0024根据指令的功能和指令格式,先读取地址ADDRI元内容暂时放置于Q寄存器中,然后再读取内存单元中的DATA同时与Q寄存器内容相减,结果存放在DR寄存器中。第三条:

15、转移指令。判断两个通用寄存器内容是否相等,若相等则转移到指定绝对地址,否则顺序执行。指令格式:E5DRSR,ADDR双字指令(控存入口140H)功能:ifDR=SRgotoADDRelse顺序执行。设计:利用指令的CN"段,即IRf令旧1。8=101,即CC=Z贝当dr=sr寸z=i,微程序不跳转,接着执彳Mempc(ITaddrp。而当DR!=SR时Z=0,微程序跳转至A40产令格式:E5XXADDR微程序:SR - DR:0000 0E01 9190 0088POAR CC# = CND PC+B PC0029 03E0 A0B5 5402MEM> PC0029 0300

16、30F0 5000用 E 命令输入微码:>E9000900 0000:0000 0000:0E01 0000:91900905 0000:03E0 0000:A0B5 0000:5402090A 0000:30F0 0000:5000用 D 命令查看输入的微码:0000:0088 0000:00290000:0029 0000:0300>D900090000000E0191905402 )T.09080029030030F00000 .).0.P09100000000000000000 0088002903E0A0B550000000000000000000000000000000

17、用A命令输入加载微码的程序:>A8000800:MOVR1,9000802:MOVR2,30804:MOVR3,1400806:LDMC0808:用G命令运行加载微码的程序:>G800当寄存器R7与寄存器R8内容不同时:用A命令输入程序:>A8200820:MOVR7,00230822:MOVR8,00280824:NOP0825:NOP0826:MOVR9,00670828:RET0829:用E命令输入新指令:>E82408240000:E5780000:0828用U命令查看输入的程序:>U8200820:2C702013MOVR7,00230822:2C802

18、014MOVR8,00280824:E578DWE5780825: 0828ADC R2, R80826:2C902015MOVR9,00670828:AC00RET0829:0000NOP082A:0000NOP082B:0000NOP082C:0000NOP082D:0000NOP082E:0000NOP082F:0000NOP0830:0000NOP0831:0000NOP0832:0000NOP用G命令运行程序:>G820用R命令查看寄存器内容:>RR0=0000R1=090CR2=0000R3=0143SP=FFFFPC=0820IP=0828R7=0023R8=0028

19、R9=0067R10=0000R11=0000R12=0000R13=0000R14=0000R15=0000F=000111110820:2C702013MOVR7,2013由寄存器R9的值为2015可知,程序并未转移到某绝对地址1、SR-DR,运算器接受标志位,设定标志位2、PC-ARPC+BPGSCC=ZIR10-8=101,CC#=ZDR=SRCC#=Z=1顺序执行102,DRSR转移到下地址为103的指令继续转移3、(DR=SR漏移量OFFSET1口IP(R4),结果赋给PC(R5),然后令CC#=0用3号命令条件转移到A4H结束微程序4、PCfAR,PC+1-PCSCC=101,SC=1,使CC#=S#,DR>SR,SR-DR<0,S=1,CC#=S#=03命令条件转移至ij下地址为A4H的指令结束程序,DR<SR,SR-DR>0,S=0,CC#=S#务件转移命令将顺序执行地址为104的指令5、(DR<SR)取出ADDR赋给PG令CC#=0用3号命令转移到A4H指令结束微程序四.实验心得通过这次的课程设计,使得我们进一步地熟悉了PC机与TEC-2机,同时也更深层次的了解了计算机各种指令的执行过程,以及控制器的组成,指令系统微程序设计的具体知识,同时在一定程度上理解和掌握了动态微程序设计的概念。更加深入的了解了指令、微程

温馨提示

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

评论

0/150

提交评论