ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:22.07KB ,
资源ID:17472732      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-17472732.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(计算机组成原理.docx)为本站会员(b****2)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

计算机组成原理.docx

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

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

3、口140H)功能:ifDR=SRgotoADDRelse顺序执行。设计:利用指令的CND字段,即IR108,令IR108=101,即CC=Z则当DR=SR时Z=1,微程序不跳转,接着执行MEMPC(即ADDRPC),而当DR!=SR时Z=0,微程序跳转至A4。实验设计并分析:第一条:把用绝对地址表示的内存单元A中的内容与内存单元B中的内容相加,结果存于内存单元C中。指令格式:D4,ADDR1,ADDR2,ADDR3四字指令(控存入口100H)功能:ADDR3=ADDR1+ADDR2指令格式:D4XXADDR1ADDR2ADDR3微程序:PCAR,PC+1PC: 00000E00A0B55402

4、MEMAR: 00000E00 10F00002MEMQ: 00000E00 00F00000PCAR,PC+1PC: 00000E00 A0B5 5402MEMAR: 00000E00 10F0 0002MEM+QQ: 00000E01 00E0 0000PCAR,PC+1PC:00000E00 A0B5 5402MEMAR:00000E0010F0 0002QMEM,CC#=0: 00290300 10200010指令分析:PC-AR,PC+1-PC0000000011100000000010100000101101010101010000000010MEM-AR0000000011100

5、000000000010000111100000000000000000100MEM-Q0000000011100000000000000000111100000000000000000000PC-AR,PC+1-PC0000000011100000000010100000101101010101010000000010MEM-AR0000000011100000000000010000111100000000000000000100MEM+Q-Q0000000011100000000100000000111000000000000000000000PC-AR,PC+1-PC000000001

6、1100000000010100000101101010101010000000010MEM-AR0000000011100000000000010000111100000000000000000100Q-MEM,CC#=00029000000110000000000010000001000000000000000010000假设从地址0828开始执行微程序,此时程序计数器PC的值是0829。因为运行程序的时候0829和0830中存了加法的两个加数的内存地址,所以要想方设法1)把这两个加数传到运算器的寄存器中,2)在运算器中相加,3)将结果输出到内存单元ADDR1。以下分别进行分析。1)取每个

7、加数要访问两次内存,第一次是取得加数所在的内存地址的值(MEMAR),第二次是取得加数本身并保存在Q寄存器中(MEMQ)。注意,取第二个加数的时候,第一次仍是MEMAR,而第二次MEM+QQ的同时也把加法给完成了,请见接下来的分析。2)相加的操作是MEM+QQ。MEM是从内存中取得的第二个加数的值,左边的Q是刚才取得的第一个加数的值。他俩相加的和传给Q寄存器,覆盖掉了Q寄存器刚才保存的值(第一个加数)。3)现在Q寄存器中存有加法的运算结果,最后的工作是把这个结果写到内存单元ADDR1中去。如果AR或者PC指向ADDR1的话就好办了,难点在于现在AR已经到了ADDR2处,PC已经到了ADDR2+

8、1处,而且又不知道如何让寄存器的值减一。后来问同学,得到了解决办法:利用IP寄存器。IP正好还呆在ADDR1-1,即内存地址0828。显然,让IP+1就得到了ADDR1,即0829。微指令是IP+1AR以及MEMAR,这时AR的值为第一个加数所在的单元ADDR1。现在Q的值是运算结果,AR的值是运算结果要传给的内存地址。显而易见,最后一步就是“存储器写”操作QMEM。其它要注意的地方:1)微程序中有两处PC+1PC,第一处是为了取得第二个加数所在的内存地址,第二处是为了把PC指向下一句,在这里是RET,才能使程序正常结束。2)程序最后要转向A4H执行后续处理程序。此处下地址的转换方法:将A4H

9、从左到右用八位二进制数写出,左边补两个“0”,右边加两个“0”(备用位B45、44),得到001010010000B,再把这个十二位二进制数翻译成十六进制,结果是290H。3)使用Q寄存器的好处有:第一,不修改通用寄存器R0,R1等,因为别的程序可能用到它们。第二,程序易读、风格优美。程序调试:第二条:将一通用寄存器内容减去某内存单元内容,结果放在另一寄存器中。指令格式:E0DRSR,ADDR(SR,DR源、目的寄存器各4位)双字指令(控存入口130H)功能:DR=SR-ADDR微程序:PCAR,PC+1PC: 0000 0E00A0B55402MEMAR: 00000E00 10F00002

10、SR-ADDRDR:0029030131D00088指令格式:E0XXADDR指令分析:根据指令的功能和指令格式,先读取地址ADDR单元内容暂时放置于Q寄存器中,然后再读取内存单元中的DATA,同时与Q寄存器内容相减,结果存放在DR寄存器中。每条指令系统微操作详细:PC-AR,PC+1-PC0000000011100000000010100000101101010101010000000010MEM-AR0000000011100000000000010000111100000000000000000100SR-MEM-DR00290000001100000001001100011101000

11、00000000010001000调试:第三条:转移指令。判断两个通用寄存器内容是否相等,若相等则转移到指定绝对地址,否则顺序执行。指令格式:E5DRSR,ADDR双字指令(控存入口140H)功能:ifDR=SRgotoADDRelse顺序执行。设计:利用指令的CND字段,即IR108,令IR108=101,即CC=Z则当DR!=SR时Z=1,微程序不跳转,接着执行MEMPC(即ADDRPC)而当DR=SR时Z=0,微程序跳转至A4。微程序:SR-DR: 00000E0191900088PCAR,CC#=CND,PC+1PC: 002903E0 A0B55402MEMPC:0029030030

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

13、顺序执行地址为104的指令5、(DRAR,PC+1-PC0029000000111110000010100000101101010101010000000010MEN-PC0029000000111110000100100000111100000101000000000000调试:E90009000000:00000000:0E010000:91900000:00880000:002909050000:03E00000:A0B50000:54020000:00290000:0300090A0000:30F00000:5000D900090000000E0191900088002903E0A0B

14、55402.).T.09080029030030F050000000000000000000.).0P.091000000000000000000000000000000000.091800000000000000000000000000000000.092000000000000000000000000000000000.092800000000000000000000000000000000.093000000000000000000000000000000000.093800000000000000000000000000000000.A8000800:MOVR1,9000802:MOV

15、R2,30804:MOVR3,1400806:LDMC0807:RET0808:G800A8200820:MOVR8,00110822:MOVR9,00110824:NOP0825:NOP0826:MOVR9,00020828:RET0829:E82408240000:E4890000:0828U8200820:2C800011MOVR8,00110822:2C900011MOVR9,00110824:E489DWE4890825:0828ADCR2,R80826:2C900002MOVR9,00020828:AC00RET0829:0000NOP082A:0000NOP082B:0000NO

16、P082C:0000NOP082D:0000NOP082E:0000NOP082F:0000NOP0830:0000NOP0831:0000NOPG820结果显示:RR0=0000R1=090CR2=0000R3=0143SP=0FD0PC=0820IP=00CDR7=0000R8=0011R9=0002R10=0000R11=0000R12=0000R13=0000R14=0000R15=0000F=010011110820:2C800011MOVR8,0011四实验心得通过这次的课程设计,使得我们进一步地熟悉了PC机与TEC-2机,同时也更深层次的了解了计算机各种指令的执行过程,以及控制器的组成,指令系统微程序设计的具体知识,同时在一定程度上理解和掌握了动态微程序设计的概念。更加深入的了解了指令、微程序、微码的关系和构成,通过设计、调试指令,熟悉了计算机内部的控制器与算术逻辑单元的运行过程,对计算机内部结构更加熟悉。成绩评定表指导教师考核成绩答辩成绩总成绩签字:年月日

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2