计算机组成原理课程设计Word文档格式.docx
《计算机组成原理课程设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《计算机组成原理课程设计Word文档格式.docx(28页珍藏版)》请在冰点文库上搜索。
![计算机组成原理课程设计Word文档格式.docx](https://file1.bingdoc.com/fileroot1/2023-5/6/0e264d0f-6f55-4ed9-a26c-ecdf01b255b4/0e264d0f-6f55-4ed9-a26c-ecdf01b255b41.gif)
指令格式:
D4×
×
,ADDR1,ADDR2,ADDR3四字指令(控存入口100H)
功能:
[ADDR3]=[ADDR1]+[ADDR2]
(2)将一通用寄存器内容减去某内存单元内容,结果放在另一寄存器中。
E0DRSR,ADDR(SR,DR源、目的寄存器各4位)双字指令(控存入口130H)
DR=SR-[ADDR]
(3)转移指令。
判断两个通用寄存器内容是否相等,若相等则转移到指定绝对地址,否则顺序执行。
E5DRSR,ADDR双字指令(控存入口140H)
ifDR==SRgotoADDRelse 顺序执行。
设计:
利用指令的CND字段,即IR10~8,令IR10~8=101,即CC=Z
则当DR==SR时Z=1,微程序不跳转,接着执行MEMPC(即ADDRPC)
而当DR!
=SR时Z=0,微程序跳转至A4。
四、实验要求:
(1)根据内容自行设计相关指令微程序;
(务必利用非上机时间设计好微程序)
(2)设计测试程序、实验数据并上机调试。
(3)设计报告内容:
包括1、设计目的2、设计内容3、微程序设计(含指令格式、功能、设计及微程序)4、实验数据(测试所设计指令的程序及结果)。
(具体要求安最新规范为准)
(4)大型实验报告必须打印成册,各班班长收齐大型实验报告于19周星期五前,交张芳老师办公室。
五、上机时间安排:
2014计算机组成原理课程设计安排如下:
(第十九周)
(地点:
10-413和414机房)
时间
星期
9:
00---12:
00
1:
00---4:
17:
30—20:
30
备注
星期三
6月25日
12计算机
(1)12计算机
(2)12计算机(3)
电信实验班
星期四
6月26日
12计算机
(1)
12计算机
(2)
12计算机(3)
星期五
6月27日
备注:
1.各班每2人一组,可自由组合但要固定,各班班长将各组组号及学生名单于第一次上机时上报指导教师;
2.各班学生须严格按照规定的时间上机,不得无故缺席、迟到早退,指导教师会严格考勤。
许建龙、张芳2014年6月18日
计算机组成原理课程设计实验报告
一、目的和要求
深入了解计算机各种指令的执行过程,以及控制器的组成,指令系统微程序设计的具体知识,进一步理解和掌握动态微程序设计的概念;
二、实验环境
TEC-2机,PC机
三、具体内容
1)把用绝对地址表示的内存单元A中的内容与内存单元B中的内容相加,结果存于内存单元C中。
微程序:
1)PCAR,PC+1PC:
00000E00A0B55402
2)MEMAR:
00000E0010F00002
3)MEMQ:
00000E0000F00000
4)PCAR,PC+1PC:
5)MEMAR:
6)MEM+QQ:
00000E0100E00000
7)PCAR,PC+1PC:
8)MEMAR00000E0010F00002
9)QMEM,CC#=0:
0029030010200010
1)程序计数器加1,开辟一个内存单元
2)指令地址送AR(ADDR1)
3)将内存单元中的数据送入Q寄存器
4)PC加1,开辟第二个内存单元
5)将指令地址送AR
6)完成加法(ADDR2内容+Q寄存器内容送Q寄存器)
7)PC加1,开辟第三个内存单元
8)将指令地址送AR(ADDR3)
9)将结果送ADDR3,低电位有效
用E命令输入微码:
>
E900
09000000:
00000000:
0E000000:
A0B50000:
54020000:
0000
09050000:
10F00000:
00020000:
0E00
090A0000:
00F00000:
A0B5
090F0000:
0002
09140000:
0E010000:
00E00000:
09190000:
091E0000:
00290000:
03000000:
1020
09230000:
0010
用D命令查看输入的微码:
D900
090000000E00A0B5540200000E0010F00002......T.........
090800000E0000F0000000000E00A0B55402..............T.
091000000E0010F0000200000E0100E00000................
091800000E00A0B5540200000E0010F00002......T.........
092000290300102000100000000000000000.)..............
092800000000000000000000000000000000................
093000000000000000000000000000000000................
093800000000000000000000000000000000................
094000000000000000000000000000000000................
094800000000000000000000000000000000................
095000000000000000000000000000000000................
095800000000000000000000000000000000................
096000000000000000000000000000000000................
096800000000000000000000000000000000................
097000000000000000000000000000000000................
用A命令输入加载微码的程序:
A800
0800:
MOVR1,900
0802:
MOVR2,9
0804:
MOVR3,100
0806:
LDMC
0807:
RET
0808:
用G命令运行加载微码的程序:
G800
用A命令输入程序:
A820
0820:
MOVR0,0023
0822:
MOV[A00],R0
0824:
MOVR0,0032
0826:
MOV[A01],R0
0828:
NOP
0829:
082A:
082B:
082C:
082D:
用E命令输入新指令:
E828
08280000:
D4000000:
0A000000:
0A010000:
0A02
用U命令查看输入程序:
U820
2C000023MOVR0,0023
34000A00MOV[0A00],R0
2C000032MOVR0,0032
34000A01MOV[0A01],R0
D400DWD400
0A00ADCR0,R0
0A01ADCR0,R1
0A02ADCR0,R2
AC00RET
0000NOP
082E:
082F:
0830:
0831:
0832:
0833:
用G命令运行程序:
G820
用D命令查看运行结果:
DA00
0A0000230032005500000000000000000000.#.2.U..........
0A0800000000000000000000000000000000................
0A1000000000000000000000000000000000................
0A1800000000000000000000000000000000................
0A2000000000000000000000000000000000................
0A2800000000000000000000000000000000................
0A3000000000000000000000000000000000................
0A3800000000000000000000000000000000................
0A4000000000000000000000000000000000................
0A4800000000000000000000000000000000................
0A5000000000000000000000000000000000................
0A5800000000000000000000000000000000................
0A6000000000000000000000000000000000................
0A6800000000000000000000000000000000................
0A7000000000000000000000000000000000................
2)将一通用寄存器内容减去某内存单元内容,结果放在另一寄存器中。
DR=SR-[ADDR]微程序:
1)PCAR,PC+1PC:
00000E0010F00002
3)SR-[ADDR]DR:
0029030131D00088
1)程序计数器加1
2)指令地址送AR
3)完成加法,最后结果送寄存器
0301
31D00000:
0088
09080029030131D000880000000000000000.)..1...........
091000000000000000000000000000000000................
091800000000000000000000000000000000................
092000000000000000000000000000000000................
MOVR2,3
MOVR3,130
MOVR7,0024
MOVR8,0023
MOV[A00],R8
0827:
E826
08260000:
E0070000:
0A00
用U命令查看输入的程序:
2C700024MOVR7,0024
2C800023MOVR8,0023
34080A00MOV[0A00],R8
E007DWE007
0A0000220000000000000000000000000000."
..............
用R命令查看寄存器内容:
R
R0=0001R1=090CR2=0000R3=0133SP=FFFFPC=0820IP=0828R7=0024R8=0023
R9=0000R10=0000R11=0000R12=0000R13=0000R14=0000R15=0000F=00001111
3)转移指令。
1)SR-DR:
00000E0191900088
2)PCAR,CC#=CND:
PC+1PC:
002903E0A0B55402
3)MEMPC:
0029030030F05000
1)SR-DR
2)PC送AR,CC#=CND,PC+1送PC
3)MEM送PC,CC#=0
00000000:
91900000:
00880000:
0029
03E00000:
0300
30F00000:
5000
090000000E0191900088002903E0A0B55402.........)....T.
09080029030030F050000000000000000000.)..0.P.........
09580000000000000000000