计算机组成原理课程设计Word文档格式.docx
《计算机组成原理课程设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《计算机组成原理课程设计Word文档格式.docx(14页珍藏版)》请在冰豆网上搜索。
《计算机组织与体系结构》课程设计是计算机科学与技术专业本科学生在学习完《计算机组织与体系结构》课程之后的一个重要的实践环节。
要求学生在教师的指导下,综合运用已学过的《计算机组织与体系结构》中的各种知识和技能,独立完成一项较为完整、并具有一定难度的课程设计任务。
使学生初步掌握用微程序控制器控制模型机的数据通路,进一步学习模型机系统设计与实现。
1.数据格式
模型机规定采用定点补码表示法表示数据,且字长为8位,其格式如下:
7
6543210
符号
尾数
其中第7位为符号位,数值表示范围是:
-27≤X≤27-1
2.指令格式
模型机设计四大类指令共十六条,其中包括算术逻辑指令、I/O指令、访问及转移指令和停机指令。
(1)算术逻辑指令
设计9条算术逻辑指令并用单字节表示,寻址方式采用寄存器直接寻址,其格式如下:
7654
32
10
OP-CODE
RS
RD
其中,OP-CODE为操作码,rs为源寄存器,rd为目的寄存器,并规定:
RS或RD
选定的寄存器
00
R0
01
R1
10
R2
9条算术逻辑指令的名称、功能和具体格式见表8-1。
表8-1算术逻辑指令的助记符、功能和具体格式
助记符
指令格式
功能
CLRRD
0111
0RD
MOVRS,RD
1000
RS
RSRD
ADCRS,RD
1001
RS+RD+CYRD
SBCRS,RD
1010
RS-RD-CYRD
INCRD
1011
RD+1RD
ANDRS,RD
1100
RDRD
COMRD
1101
RD
RRCRSRD
1110
RLCRS,RD
1111
LDAM,D,RD
00
M
(E)RD
RD(E)
EPC
D
STAM,D,RD
JMPM,D
BZCM,D
11
当CY=1或Z=1时EPC
INaddr,RD
0100
(addr)RD
OUTaddr,RD
0101
RD(addr)
HALT
0110
停机
(2)访问指令及转移指令
模型机设计2条访内指令,即存数(STA)、取数(LDA),2条转移指令,即无条件转移(JMP)、结果为零或有进位转移指令(BZC),指令格式为:
76
54
其中,OP-CODE为操作码,rd为目的寄存器地址(LDA、STA指令使用)。
D为位移量(正负均可),M为寻址模式,其定义如下:
寻址模式
有效地址E
说明
E=D
直接寻址
E=(D)
间接寻址
E=(RI)+D
RI变址寻址
E=(PC)+D
相对寻址
本模型机规定变址寄存器RI指定为寄存器R2。
(3)I/O指令
输入(IN)和输出(OUT)指令采用单字节指令,其格式如下:
7654
addr
其中,addr=01时,选中“INPUTDEVICE”中的开关组作为输入设备,addr=10时,选中“OUTPUTDEVICE”中的数码块作为输出设备。
(4)停机指令
指令格式如下:
HALT指令,用于实现停机操作。
1.复杂模型的数据通路图如图8-1所示,首先根据指令要求设计微程序流程图并确定微地址,我们第五组的复杂模型机的微程序流程图如图8-2所示
图8-1复杂模型的数据通路图
CLR27
01
56
44
00(直接)
20
8-2微指令流程图
控制台
10
43
首先根据指令要求编写机器指令代码,根据表8-1及数据通路图8-1,编写程序。
1.根据表8-1编写机器指令代码如下所示:
题目5:
具有存储器变址寻址及运算功能的复杂模型机的设计
机器指令程序如下:
$P0046
$P0145
$P02D5
$P0320
$P0420
$P0558
$P06A1
$P0759
$P0870
$P090C
$P0A0C
$P0B60
$P0C58
$P0D60
$P3240
2.根据微指令格式表6-1,并参照微指令流程图8-2,编写微指令(将该微程序存于一个12.txt文本中)。
微程序如下:
微程序
$M00018108$M0101ED82$M0200C050
$M230180E4$M2205DB81$M24018001
$M0695AAA0$M0300A004$M0401B605
$M0595EA06$M1201ED83$M14001001
$M15030401$M16018016$M173D9A01
$M1C01A20A$M1D01A207$M20009001
$M21028401$M3405DB81$M070D9A01
$M2C01A42D$M2D65AB6E$M2E0D9A01
$M1A01B22C$M3405DB81$M1001ED88
$M0800A009$M0900E0A0$M1301EDA6
5.课程设计的调试步骤
(1)按图8-4连接实验线路,检查无误后接通电源。
(2)联机读/写程序
用联机软件的“【转储】—【装载】”功能将该实验对应的文件12.txt载入实验系统。
(3)联机运行
使编程开关处于“RUN”状态,STEP为“STEP”状态,STOP为“RUN”状态。
拨动总清开关CLR(1→0→1),微地址清零,程序计数器清零,程序首址为00H。
联机运行程序时,进入软件界面,装载机器指令及微指令后,选择“【运行】-【通路图】-【复杂模型机】”功能菜单打开相应动态数据通路图,按相应功能键即可联机测试、运行、监控、调试程序。
①单步运行程序。
单步运行一条微指令,对照微程序流程图,观察微地址显示灯是否和流程一致。
②连续运行程序
使“STATEUNIT”中的STEP开关置为“ECEX”状态。
STOP开关置为“RUN”
状态。
拨动CLR开关,清微地址及程序计数器,然后按动START,系统连续运行程序,稍后将STOP拨至“STOP”时,系统停机。
图8-4实验连线图
6.课程设计的运行结果及回答问题。
IN01,R2;
(R2)=12H 设计时同学们不可以送入其它数值
IN01,R1;
(R1)=F6H 设计时同学们可以给R1送入其它数值
COMR1R1取反R1=09H
LAD10,20H,R0;
将R2作为变址寄存器,[32H]存储单元的数据40H
OUT10,R0输出R0=40
SUCR0,R1R0和R1相减
OUT10,R1输出R1=37
CLRR0 将R0清零
BZC00,SHUC
HALT结束运行
SHUC:
OUT10,R0输出R0=00
微指令的控制信号:
IN
COM
LDA
OUT
SUC
CLR
BZC
T3
SW-BUS,LDR2,T4,SW-BUS
SW-BUS,LDR1,T4,SW-BUS
LDDR1,T4,R1-BUS
T4,LDPC,PC-BUS,LDAR
LED-BUS,R0-BUS
R0-BUS,LDDR2,T4
R1-BUS,LED-BUS,LED-BUS
ALU-BUS,LDR0,T4
LDAR,T3,LDPC,T4
RO-BUS,LED-BUS,LED-BUS
T4
ALU-BUS,LDR1,T4
T4,LDR1,W/R,CE
LDDR1,T4,R1-BUS
LDR1,W/R,CE,T4
T5
M,S0S1S2S3
CN,ALU-BUS
LDR1,T4
R2-BUS,LDDR2,T4
LDDR1,T4,ALU-BUS
LDAR,T3,CE,W/R
T6
ALU-BUS,LDAR,T3
LDR1,T4,ALU-BUS
ALU-BUS,LDPC,T4,LDAD
T7
ALU-BUS,LDDR1,T4
T8
LDR0,T4,W/R,CE
T9
通过这次的《计算机组成原理与系统结构》的课程设计我学到了很多东西,虽然之前做实验的时候也连过复杂模型机,并且也装载过微指令,但是课程设计对我来讲却是不一样的,因为之前的实验装载的微程序都是老师编写好的,而这次我们得自己摸索,对照着题目写出微指令。
这次的课程设计是把各个部件通过理论和实践相结合设计出一个复杂模型机。
虽然之前做实验的时候就连过复杂模型机,这次课程设计在连接路线时并没有花费我很长的时间跟精力,但是连好线后测试并不是一次性通过的,经过较长的时间才完成了,不过较做实验的时候显然是更加熟悉仪器的操作了。
最让我头疼的就是编写微程序,我们第五组的同学都编写了各自的机器指令和微程序,可是装载的时候出现了各种各样的错误,我跟其他人做了讨论,另外我还选择了把测试的程序从头到尾一步一步地运行,过程中仔细观察通路图的控制信号及微指令的写法,通过一个上午慢慢对控制信号的观察有了更进一步的熟悉和了解,也找到了我的微程序哪里写错了,漏了哪些。
通过这次的课程设计,我对复杂模型机的了解有了大幅度的提升,至少现在我可以根据自己所希望实现的运算来编写微程序来让复杂模型机为我工作了,这个使我很开心;
并且通过这段时间的学习,我对计算机硬件有了更进一步的了解,平常使用的计算机都局限于软件方面的应用,很少接触硬件,故对硬件的了解几乎是一片空白。
我和同组的同学做出了一个带有简单功能的复杂模型机令我有一种很大的成功感,我会把我所学到的知识应用到日后的学习中,为日后的学习打下坚实的基础。