版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、计算机组成原理课程设计报告(2013/2014第二学期第19周)指导教师:许建龙张芳班级:12计科2班姓名:学号:计算机组成原理大型实验任务书(计算机12级1、2、3班和实验班)一、实验目的:深入了解计算机各种指令的执行过程,以及控制器的组成,指令系统微程序设计的具体知识,进一步理解和掌握动态微程序设计的概念;完成微程序控制的特定功能计算机的指令系统设计和调试。二、实验说明:要进行这项大型实验,必须清楚地懂得:(1) TEC-2机的功能部件及其连接关系;(2) TEC-2机每个功能部件的功能与具体组成;(3) TEC-2机支持的指令格式;(4) TEC-2机的微指令格式,AM2910芯片的用法
2、;(5)已实现的典型指令的执行实例,即相应的微指令与其执行次序的安排与衔接;(6)要实现的新指令的格式与功能。三、实验内容:选定指令格式、操作码,设计如下指令:(1)把用绝对地址表示的内存单元A中的内容与内存单元B中的内容相加,结果存于内存单元C中。指令格式:D4XADDR1,ADDR2,ADDR3四字指令(控存入口100H)功能:ADDR3=ADDR1+ADDR2(2)将一通用寄存器内容减去某内存单元内容,结果放在另一寄存器中。指令格式:E0DRSR,ADDR(SR,DR源、目的寄存器各4位)双字指令(控存入口130H)功能:DR=SR-ADDR(3)转移指令。判断两个通用寄存器内容是否相等
3、,若相等则转移到指定绝对地址,否则顺序执行。指令格式:E5DRSR,ADDR双字指令什存入口140H)功能:ifDR=SRgotoADDRelse顺序执行。设计:利用指令的CND字段,即IRio8,令IRio8=101,即CC=Z则当DR=SR时Z=1,微程序不跳转,接着执行MEMPC(即ADDR-PCT而当DR!=SR时Z=0,微程序跳转至A4。四、实验要求:(1)根据内容自行设计相关指令微程序;(务必利用非上机时间设计好微程序)(2)设计测试程序、实验数据并上机调试。(3)设计报告内容:包括1、设计目的2、设计内容3、微程序设计(含指令格式、功能、设计及微程序)4、实验数据(测试所设计指令
4、的程序及结果)。(具体要求安最新规范为准)(4)大型实验报告必须打印成册,各班班长收齐大型实验报告于19周星期五前,交张芳老师办公室。五、上机时间安排:2014计算机组成原理课程设计安排如下:(第十九周)(地点:10-413和414机房)时间星期9:00-12:001:00-4:0017:3020:30备注星期三6月25日12计算机(1)12计算机(2)12计算机(3)电信实验班星期四6月26日12计算机(1)12计算机(2)12计算机(3)电信实验班12计算机(1)12计算机(2)12计算机(3)电信实验班星期五6月27日12计算机(1)12计算机(2)12计算机(3)电信实验班12计算机(
5、1)12计算机(2)12计算机(3)电信实验班备注:1.各班每2人一组,可自由组合彳!要固定,各班班长将各组组号及学生名单于第一次上机时上报指导教师;2.各班学生须严格按照规定的时间上机,不得无故缺席、迟到早退,指导教师会严格考勤。指导教师:许建龙、张芳2014年6月18日计算机组成原理课程设计实验报告一、目的和要求深入了解计算机各种指令的执行过程,以及控制器的组成,指令系统微程序设计的具体知识,进一步理解和掌握动态微程序设计的概念;完成微程序控制的特定功能计算机的指令系统设计和调试。二、实验环境PC机与TEC-2机模拟程序三、具体内容(一)把用绝对地址表示的内存单元A中的内容与内存单元B中的
6、内容相加,结果存于内存单元C中。指令格式:D4XADDR1,ADDR2,ADDR3四字指令(控存入口100H)功能:ADDR3=ADDR1+ADDR21 .微程序:(1)PCHAR,PC+PC00000E00A0B55402当前程序计数器内容送地址寄存器,为读取第一个操作数地址做准备;程序计数器指向下一单元地址B55B00000000000001110I00000000101000001011|01010101010000000010CI3-CI0(B43-B40)为1110,功能为顺序执行;SCC(B39-B37)为000,CC#=1,不发生转移;SST(B34-B32)为000,标志位不发
7、生改变;MIO#(B31)REQ(B27)WE#(B23)为101,表示不操作;B口地址(B15-B12)为0101,BI8-BI6(B30-B28为010,MI5-MI3(B26-B24)为000,MI2-MI0(B22-B20)为011,SCI(B11-B10为01,SA(B7为0,SB(B3为0,表示5号通用寄存器R5,即PC通过B口实现加1,再通过B口写回到PC(B+0+CizB);(2)MEMAR00000E0010F00002从主存读取第一个操作数地址,为读取第一个操作数做准备B55B00000|0000|0000|1110|0000|0000|000100001111000000
8、00|0000|0000|0010MIO#REQWE#为001,表示从主存储器读入数据(地址);B口地址为0000,BI8-BI6为001,MI5-MI3为000,MI2-MI0为111,SCI为00,表示AM2901不做运算;(3)MEMfQ00000E0000F00000从主存读取第一个操作数B55B0000000000000111010000000000000000111100000000000000000000MIO#REQWE#(B2助001,表示从主存储器读入数据(地址);I8-6为000,MI5-3为000,MI2-0为111,表示将主存中读出的数据加上0,再将结果回送到Q寄存器
9、;(4)P8AR,PC+PC00000E00A0B55402当前程序计数器内容送地址寄存器,为读取第二个操作数地址做准备;程序计数器指向下一单元地址B55B000000000000011100000000010100000101101010101010000000010(5)MEMfAR00000E0010F00002从主存读取第二个操作数地址,为读取第二个操作数做准备B55B000000000100001110I0000000000010000111100000000000000000010(6)MEM+QfQ00000E0000E00000从主存读取第一个操作数B55B0000000001
10、00001110|0000000000000000111000000000000000000000MIO#REQWE妫001,BI8-6为000,MI5-3为000,MI2-0为110,表示将第二个操作数从主存读出并且加上Q寄存器的内容,再将结果回送到Q寄存器;PCHAR,PC+PC00000E00A0B55402当前程序计数器内容送地址寄存器,为读取计算结果存储单元地址做准备;程序计数器指向下一单元地址(8)MEMf AR0000 0E00 10F0 0002B55B000000000000011100000000010100000101101010101010000000010从主存读取结
11、果存储单元地址B55B0000000001000011100000000000010000111100000000000000000010(9)QfMEM,CC#=00029030010200010计算结果送结果存储单元B55B0001010011000000110000000000010000001000000000000000010000MIO#REQWE妫000,BI8-6为001,MI5-3为000,MI2-0为010,表示将Q寄存器里面的内容存到AR存储的单元地址对应的存储单元;2 .输入微码>E90009000000:00000000:0E000000:A0B50000:54
12、020000:000009050000:0E000000:10F00000:00020000:00000000:0E00090A0000:00F00000:00000000:00000000:0E000000:A0B5090F0000:54020000:00000000:0E000000:10F00000:000209140000:00000000:0E010000:00E00000:00000000:000009190000:0E000000:A0B50000:54020000:00000000:0E00091E0000:10F00000:00020000:00290000:03000923
13、0000:0010;将微程序的16进制代码输入到从900H开始的内存单元中3.查看微码0000:1020>D900090000000E00A0B5540200000E0010F00002090800000E0000F0000000000E00A0B55402091000000E0010F0000200000E0100E00000091800000E00A0B5540200000E0010F00002092000290300;查看单元内容是否正确4.加载微码>A8000800:MOVR1,9000802:MOVR2,90804:MOVR3,1000806:LDMC0807:RET08
14、08:>G800102000100000000000000000;微码在内存中的首地址为900H;微程序一共有9条微指令;微码加载到微控存中的首地址;加载微码指令;返回;执行加载微码程序5.输入程序,测试新指令>A8200820: MOV R0,00230822: MOV A00,R00824: MOV A01,R00826: NOP0827: NOP0828: NOP0829: NOP082A: RET082B:>E826将操作数放到寄存器R0, 这里两个操作数都是将 R0 存放的操作数放到A00 地址单元将 R0 存放的操作数放到A01 地址单元编辑 0826 开始到 0
15、829 单元内容,将新指令输入23H0000:D4000000:0A000000:0A010000:0A02>U820查看0820: 2C00 0023MOVR0,00230822: 3400 0A00MOV0A00, R00824: 3400 0A01MOV0A01, R00826: D400DWD4000827: 0A00ADCR0,R00828: 0A01ADCR0,R10829: 0A02ADCR0,R2082A: AC00RET>G820运行08266.运算结果>DA000A0000230023004600000000000000000000;0A00单元和0A01
16、单元内容为操作数,相加后结果为0046,存在0A02单元,正确(二)将一通用寄存器内容减去某内存单元内容,结果放在另一寄存器中。指令格式:E0DRSR,ADDR(SR,DR源、目的寄存器各4位)双字指令(控存入口130H)功能:DR=SR-ADDR1 .微程序PCHAR,PC+PC00000E00A0B55402当前程序计数器内容送地址寄存器,为读取操作数地址做准备;程序计数器指向下一单元地址000000001000011100000000010100000101101010101010000000010(2)MEMAR00000E0010F00002从主存读取第一个操作数地址,为读取操作数做
17、准备B55B0000000001000011100000000000010000111100000000000000000010(3)SR-ADDRfDR0029030131D00088寄存器SR存放的操<减去ADDR单元内容,并存入DRB55B0001010011000000110000000100110001110100000000000010001000B55-B0MIO#REQWE的000,BI8-6为011,MI5-3为001,MI2-0为101,SA(B7)=1,SB(B3)=1,表示将寄存器SR(A口)存放的操作数减去ADDR单元内容,并存入DR(通过B口);2 .输入微码
18、>E90009000000:00000000:0E000000:A0B50000:54020000:000009050000:0E000000:10F00000:00020000:00290000:0301090A0000:31D00000:0088;将微程序的16进制代码输入到从900H开始的内存单元中3 .查看微码>D900090000000E00A0B5540200000E0010F0000209080029030131D000880000000000000000;查看单元内容是否正确4 .加载微码>A8000800: MOV R1,9000802: MOV R2,30
19、804: MOV R3,1300806: LDMC0807: RET0808:>G8005.输入程序,测试新指令;微码在内存中的首地址为900H;微程序一共有9条微指令;微码加载到微控存中的首地址;加载微码指令;返回;执行加载微码程序>A8200820: MOV R0,00230822: MOV R3,00270824: MOV A00,R00826: NOP0827: NOP0828: RET0829:>E826将减数放到通用寄存器R0将被减数放到通用寄存器R3将R0中减数放到0A00单元编辑0826开始到0827单元,将新指令输入,其中SR为R3,DR为R20826000
20、0:E0230000:0A00>U820查看0820:2C000023MOVR0,00230822:2C300027MOVR3,00270824:34000A00MOV0A00,R00826:E023DWE0230827:0A00ADCR0,R00828:AC00RET>G820运行6 .运算结果>RR0=0023R1=090CR2=0004R3=0027SP=FFFFPC=0820IP=0828R7=0000R8=0000R9=0000R10=0000R11=0000R12=0000R13=0000R14=0000R15=0000F=000011110820:2C00002
21、3MOVR0,0023;源寄存器为R3,目的寄存器为R2,被减数为0023,减数为0027,结果为0004存放于R2,正确(三)转移指令。判断两个通用寄存器内容是否相等,若相等则转移到指定绝对地址,否则顺序执行。指令格式:E5DRSR,ADDR双字指令什存入口140H)功能:ifDR=SRgotoADDRelse顺序执行。设计:利用指令的CND字段,即对08,令IRio8=101,即CC=Z则当DR=SR时Z=1,微程序不跳转,接着执行MEMPC(即ADDR-PCT而当DR!=SR时Z=0,微程序跳转至A41 .微程序(1) SR-DR00000E0191900088SR内容减DR内容,若相等
22、,则标志符Z=1,否则Z=0B55B00000000000001110I0000000110010001100100000000000010001000SST=01表示接收运算结果设置标志位状态(2) PCHAR,CC#=CND,PC+1PC002903E0A0B55402当前程序计数器内容送地址寄存器,条件转移信号CC#=CND即判断Z是否为1,若为1则中断条件成立;程序计数器指向下一单元地址B55B0001010011000000111110000010100000101101010101010000000010SCCJ0111,表示CC般置条件(CND)源来自指令寄存器(即IR10-8为
23、0101,CND=Z)MEMfPC0029030030F05000取内存单元ADDR中的地址送PCB55B000101001|0000001110000000000110000111100000101000000000000MIO#REQWE的001,B口地址为0101,表示将主存地址单元ADDR中的地址送至地址寄存器2 .输入微码>E90009000000:00000000:0E010000:91900000:00880000:002909050000:03E00000:A0B50000:54020000:00290000:0300090A0000:30F00000:50003 .查看
24、微码>D900090000000E0191900088002903E0A0B55402).T.9080029030030F050000000000000000000.).0.P4 .加载微码>A8000800:MOVR1,9000802:MOVR2,30804:MOVR3,1400806:LDMC0807:RET0808:>G8005 .输入程序,测试新指令两数相等时;>A8200820:MOVR1,00260822:MOVR2,00260824:NOP0825:NOP0826:MOVR1,00230828:RET0829:>E82408240000:E51200
25、00:0828>U8200820:2C100026MOVR1,00260822:2C200026MOVR2,00260824:E512DWE5120825:0828ADCR2,R80826:2C100023MOVR1,00230828:AC00RET0829:0011NOP082A:AC00RET082B:0000NOP082C:0000NOP082D:0000NOP082E:0000NOP082F:0000NOP0830:0000NOP0831:0000NOP0832:0000NOP>G820两数不相等时:>A8200820:MOVR1,00250822:MOVR2,002
26、40824:NOP0825:NOP0826:MOVR1,00230828:RET0829:>E82408240000:E512 0000:08280820: 2C10 0025 MOV R1,0025;不相等时执行 MOV R1,0023;该运算结果正确四.课程设计答辩题目设计一个新指令E0 X DR,实现功能设计:微指令:(1) POAR,PC+ePC(2) MEIM>AR DR+SQ(4) Q-MEM -DR(5) PCAR,PC+eAR(6) MEM>AR(7) DFHMEM,CC#=0二进制微码:>U8200820:2C100025MOVR1,00250822:
27、2C200024MOVR2,00240824:E512DWE5120825:0828ADCR2,R80826:2C100023MOVR1,00230828:AC00RET>G8206 .运算结果相等时:>RR0=0000R1=0026R2=0026R3=0011SP=FFFFPC=0820IP=0828R7=0000R8=0000R9=0000R10=0000R11=0000R12=0000R13=0000R14=0000R15=0000F=010011110820:2C100026MOVR1,0026而等时转移到0828执行RET,不执行MOVR1,0023;该运算结果正确不相等时:>RR0=0000R1=0023R2=0024R3=0011SP=FFFFPC=0820IP=0828R7=0000R8=0000F=00001111R9=0000R10=0000R11=0000R12=0000R13=0000R14=0000R15=0000ADD2DR-ADD1指令格式E0XDRADD1ADD2ADD1地址送地址寄存器取ADD1地址Q存被减数计算结果回送DR取ADD2地
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 八年级生物上册总复习
- 黑龙江省伊春市名校2027届九年级物理第一学期期末检测模拟试题含解析
- 医院工作总结和计划
- 医院护士继续教育工作计划实施方案(3篇)
- 非小细胞肺癌的常用化疗方案
- 2027届湘西市重点中学物理九年级第一学期期末调研模拟试题含解析
- 钻井技能大赛考试题目及答案
- 幼儿园大班父亲节活动总结
- 幼儿园大班绘本活动及反思
- 特高支紧密纺纱布生产线技术改造提升项目可行性研究报告模板-拿地立项申报
- 2026年保安员考试试题及答案完整版
- 2026年卫生副高级职称答辩问题及答案
- 2026年北京市海淀区初二英语下册期末考试试卷及答案
- 2026江苏苏州市健康养老产业发展集团有限公司储备人才选聘6人笔试备考题库及答案解析
- 2026年上海市松江区中考数学二模试卷(含解析)
- 2026年初级人工智能训练师职业技能精练考试题库(新版)
- 2026年脑出血的护理常规课件
- 建筑工程居间服务合同标准范本及注意事项
- 巍巍喀喇昆仑课件
- 2025 宠物护理基础课件
- 煤矿安全培训教师TTT课件
评论
0/150
提交评论