计算机组成原理课程设计cxh.docx
- 文档编号:10867577
- 上传时间:2023-02-23
- 格式:DOCX
- 页数:15
- 大小:381.90KB
计算机组成原理课程设计cxh.docx
《计算机组成原理课程设计cxh.docx》由会员分享,可在线阅读,更多相关《计算机组成原理课程设计cxh.docx(15页珍藏版)》请在冰豆网上搜索。
计算机组成原理课程设计cxh
计算机组成原理课程设计
班级:
193102-04
姓名:
池雪辉
学号:
20101000924
指导老师:
刘超
时间:
2012.01.01
目录
封面1
目录2
一、实验内容3
二、实验原理3
三、实验任务6
四、实验步骤7
⒈常规型微程序控制器组成实验7
⒉CPU组成与机器指令执行实验13
⒊中断原理实验16
五、心得体会19
一、实验内容
①常规型微程序控制组成实验。
②CPU组成与机器指令执行实验。
③中断原理实验。
二、实验原理
①TEC-4计算机组成实验系统简介
TEC-4计算机组成实验系统由清华同方教学仪器设备公司研制。
它是一个典型的计算机模型实验仪器,可用于将大专、本科、硕士研究生计算机组成原理课程、计算机系统结构课程的教学实验。
该仪器将提高学生的动手能力就,提高学生对计算机整体和各组成部分的理解,提高学生对计算机系统的综合设计能力。
②TEC-4计算机组成实验系统的组成
a控制台
b数据通路
c控制器
d用户自选器件实验区
e时序电路
f电源部分
③时序发生器
时序发生器器产生计算机模型的时序。
TEC-4计算机组成原理实验的时序电路如图一,电路采用2片GAL22V10(U6,U7),可产生两级等间隔时序新号T1-T4和W1-W4。
其中一个W由一轮T1-T4循环组成,相当于一个微指令周期;而一轮W1-W4循环可供硬连线控制器执行一条机器指令。
CLR#为复位新号,低有效。
试验仪处于任何状态下令CLR#=0,都会使时序发生器和微程序控制器复位;CLR#=0时,则可以正常运行。
TJ是停机新号,是控制器的输出新号之一。
连续运行时,如果控制信号停机=1,会使机器停机,停止发送时序脉冲,从而暂停程序。
QD是启动信号,是运行程序的标志。
DP,DZ,DB是来自控制台的开关信号。
DP表示单拍,当DP=1时,每次只执行一条微指令;DZ表示单指,当DZ=1时,每次只执行一条机器指令;当DP,DB,DZ都为0时,机器连续运行。
图一
④数据通路
TEC-4计算机组成原理实验的数据通路的设计采用了数据总线和指令总线双总线形式,使得流水实验能够实现。
它还使用了大规模在系统可编程器件作为运算器和寄存器堆,使得设计简单明了,可修改性强。
数据通路位于实验系统的中部。
如图二
其包括如下主要部件:
a运算器ALU,它有一片ispLSI1024(U47)组成,在选择端S2,S1,S0控制下,对数据A和B加、减、与、直通、乘五种运算。
bDR1和DR2运算操作数寄存器;
c多端口通用寄存器堆RF
d暂存寄存器ER
e程序计数器PC、地址加法器ALU2;地址缓存器R4;等等
图二
⑤控制器
控制器位于本实验系统的中上部,产生数据通路操作所需的控制信号。
如图三
图三
⑥控制台
控制台位于TEC-4计算机组成原理实验系统的下部,主要由指示灯和若干拨动开关组成,用于给数据通路设置数、设置控制信号、显示各种数据使用。
三、实验任务
⒈按微指令格式的定义将控制台指令微程序的8条微指令按十六进制编码。
⒉单拍(DP)方式执行控制台微程序,读出上述八条微指令,并与填写的编码数据对照。
⒊对机器指令系统组成的简单程序进行译码,并填写机器码表。
⒋单拍、单指、单步执行八条机器指令。
⒌填写中断服务程序表,并完成中断实验。
四、实验步骤
⒈常规型微程序控制器组成实验
①熟悉给定的12条机器指令功能和数据通路总体图的控制信号,采用的微指令格式见图四。
图四
微指令字长共35位,其中顺序控制部分10位,后续微地址6位,判别字段25位,各位进行直接控制。
微指令格式中,信号名带有后缀“#"的信号为低有效,不带有后缀“#”的信号为高有效信号。
对应微指令格式,微程序控制器的组成见图五,控制器采用5片EEPROM28C64(U8,U9,U10,U11,U12)。
微地址寄存器6位,用一片6D触发器74HC174(U1)组成,带有清零端。
两级与门、或门构成微地址转移逻辑,用于产生下一微指令的地址。
在每个T1上升沿时刻,新的微指令地址会打入微地址寄存器中,控制存储器随既输出相应的微命令代码。
图五
②熟悉机器指令与微指令
本实验仪使用12条机器指令,均为单字长(8位)指令。
指令功能及格式如表一所示。
指令的高4位提供给微程序控制器,低4位提供给数据通路。
上述12条指令的微程序流程设计如图六,每条微指令可按前述的微指令格式转换成二进制代码,然后写入5个28C64中。
为了写入的正确,还设计了以下五个控制台操作数程序:
存储器写操作(KWE):
按下复位按钮CLR#后,微地址寄存器状态为全零。
此时置SWC=0,SWB=1,SWA=0,按启动按钮后微指令地址转入27H,从而可对RAM连续进行手动写入。
存储器读操作(KRD):
按下CLR#后,置SWC=0,SWB=0,SWA=1,可对RAM连续进行读操作。
启动程序(PR):
按下CLR#后,置SWC=0,SWB=0,SWA=0,用数据开关SW7-SW0设置内存中程序的首地址,可以执行“取指”微命令。
名称
助记符
功能
指令格式
R7R6R5R4
R3R2
R1R0
加法
ADDRd,Rs
Rd+Rs→Rd
0000
RS1RS0
RD1RD0
减法
SUBRd,Rs
Rd-Rs→Rd
0001
RS1RS0
RD1RD0
乘法
MULRd,Rs
Rd*Rs→Rd
0010
RS1RS0
RD1RD0
逻辑与
ANDRd,Rs
Rd&Rs→Rd
0011
RS1RS0
RD1RD0
存数
STARd,[Rs]
Rd→[Rs]
0100
RS1RS0
RD1RD0
取数
LDARd,[Rs]
[Rs]→Rd
0101
RS1RS0
RD1RD0
无条件转移
JMP[Rs]
[Rs]→PC
1000
RS1RS0
××
条件转移
JCD
若C=1则PC+D→PC
1001
D3D2
D1D0
停机
STP
暂停运行
0110
××
××
中断返回
IRET
返回断点
1010
××
××
开中断
INTS
允许中断
1011
××
××
关中断
INTC
禁止中断
1100
××
××
表一
写寄存器操作(KLD):
按下CLR#后,置SWC=0,SWB=1,SWA=1,可对寄存器堆中的寄存器连续进行写操作。
读寄存器操作(KRR):
按下CLR#后,置SWC=1,SWB=0,SWA=0,可对寄存器堆中的寄存器连续进行读操作。
③熟悉微程序流程图
图六
④按照实验要求,连接试验台的数码开关K0-K15、控制开关、按钮开关、时钟信号源和微程序控制器。
⑤熟悉微指令格式的定义,按此定义将控制台指令微程序的8条微指令按十六进制编码,列于下表(表二)制台指令的功能由SWC,SWB,SWA三个二进制开关的状态来指定(KRD=001B,KWE=010B,PR=010B)。
微指令地址
微指令编码
微指令地址
微指令编码
00H
005C00007
3CH
405C8003D
07H
005C00207
17H
00544003F
27H
40544003D
3FH
409C0003E
3DH
00140003C
3EH
005C8003F
表二
单拍(DP)方式执行控制台微程序,读出上述八条微指令,用P字段和微地址指示灯跟踪微指令执行情况,并与上表数据对照。
⑥比较实验数据:
按以上实验步骤得到实验数据如下表(表三)
微指令地址
微指令编码
读出的微指令编码
00H
005C00007
005C00007
07H
005C00207
005C00207
27H
40044003D
40044003D
3DH
00140003C
00140003C
3CH
405C8003D
405C8003D
17H
00544003F
00544003F
3FH
409C0003E
409C0003E
3EH
005C8003F
005C8003F
表三
⒉CPU组成与机器指令执行实验
①本次实验用到前面实验中的所有电路,包括运算器、存储器、通用寄存器堆、程序计数器、指令寄存器、微程序控制器等,将几个模块组合成为一台简单计算机。
在本次实验中,数据通路的控制将有微程序控制器来完成。
CPU从内存取出一条机器指令到执行指令结束的一个机器指令周期,是有微指令组成的序列来完成的,即一条指令对应一个微程序,其框图如图七
图七
②对机器指令系统组成的简单程序进行译码。
将下表的程序按指令格式手工汇编成十六进制机器代码。
如表四
地址
指令
机器代码
00H
LDAR0,[R2]
01011000
01H
LDAR1,[R3]
01011101
02H
ADDR0,R1
00000100
03H
JC+5
10010101
04H
ANDR2,R3
00111110
05H
SUBR3,R2
00011011
06H
STAR3,[R2]
01001011
07H
MULR0,R1
00100100
08H
STP
0110XXXX
09H
JMP[R1]
100001XX
表四
③按照图六框图,参考前面实验的电路图完成连线。
其中,为把操作数攒送给通用寄存器组RF,数据通路上的RS1、RS0、RD1、RD0应分别与IR3至IR0连接,WR1、WR0也应连接到IR1、IR0上。
④将表七中的程序机器代码用控制台操作存入内存中,并根据程序的需要,用数码开关SW7-SW0设置通用寄存器R2、R3及其内存相关单元的数据。
(注:
由于设置通用寄存器时会破坏内存单元的数据,因此应先设置寄存器的数据,再设置内存数据。
)
⑤用单拍(DP)方式执行一遍程序,列表记录通用寄存器堆RF中四个寄存器的数据,以及由STA指令存入RAM中的数据(程序结束后从RAM的相应单元中读出),与理论值作对比。
执行时注意观察微地址指示灯、IR/DBUS指示灯、AR2/AR1指示灯、微地址指示灯和判别字段指示灯的值(可以观察到每一条微指令)。
⑥以单指(DZ)方式重新执行程序一遍,注意观察IR/DBUS指示灯、AR2/AR1指示灯的值(可以观察到每一条机器指令)。
列表记录RF中四个寄存器的数据,以及由STA指令存入RAM中的数据,与理论分析值作对比。
(注:
单指方式执行程序时,四个通用寄存器和RAM中的原始数据与第一遍执行程序的结果有关。
)
⑦以连续方式(DB,DP,DZ都设为0)再次执行程序。
由于程序中有停机指令STP,程序执行到该指令时自动停机。
列表记录RF中四个寄存器的数据,以及由STA指令存入RAM中的数据,与理论分析值作对比。
(注:
程序执行前的原始数据与第二遍执行结果有关。
)
⑦比较实验数据:
按照实验要求,可得到如表五实验结果。
指令地址
执行指令后寄存器的数据
R0
R1
R2
R3
00H
00010000
xxxxxxxx
00000001
11111111
01H
00010000
00000010
00000001
11111111
02H
00010010
00000010
00000001
11111111
03H
00010010
00000010
00000001
11111111
04H
00010010
00000010
00000001
11111111
05H
00010010
00000010
00000001
11111110
06H
00010010
00000010
00000001
11111110
07H
00000100
00000010
00000001
11111110
08H
00000100
00000010
00000001
11111110
09H
00000100
00000010
00000001
11111110
STA指令存入RAM中的数据
[00000001]=11111110
表五
与理论值分析一致。
⒊中断原理实验
①熟悉中断的检测、执行和返回过程
微程序控制器每执行一条机器指令之后,执行下一条机器指令之前,先转到微地址0F出,在条件位平P1=1时判断是否有中断请求INTQ。
如果没有,则继续正常的机器指令执行。
若检测到中断请求INTQ,首先发出关中断的信号INTC、保存断点信号LDIAR,并且发出停机信号TJ,等待手动设置中断向量。
设置好SW7-SW0后,按QD按钮启动,机器将中断向量读入PC中,从而转移到中断服务子程序去执行。
执行一条机器指令IRET,从中断服务之程序返回时,发出IAR-BUS#信号,从中断地址寄存器IAR向数据总线DBUS输出断点地址,再从DBUS依次写入到R4,PC中,恢复执行被中断的程序。
②了解中断系统中每个信号的意义和变化,并将下面的主程序和中断服务程序手工汇编成十六进制机器代码。
地址
指令
机器代码
20H
INTS
10110000
21H
LDAR0,[R2]
01011000
22H
ADDR0,R0
00000000
23H
ADDR0,R0
00000000
24H
ADDR0,R0
00000000
25H
ADDR0,R0
00000000
26H
ADDR0,R0
00000000
27H
ADDR0,R0
00000000
28H
ADDR0,R0
00000000
29H
JMP[R1]
10000100
中断服务程序:
地址
指令
机器代码
0A0H
ANDR0,R0
00110000
0A1H
IRET
1010xxxx
③参考CPU组成与机器指令执行实验,再加上中断系统,完成本次实验的线路连接。
④将上述的程序代码存入内存中,并根据需要设置通用寄存器组成和内存相关单元的数据。
其中,寄存器R1的值应为21H,以便程序循环执行。
⑤从地址20H执行程序,在程序运行中,按一次控制台的INTR。
进入中断后,用单拍方式执行,直至返回主程序为止。
⑥重复执行⑤两次。
⑦将RAM中的20H单元的内容由指令INTS改为INTC,重做⑤,记录发生的现象。
五、心得体会
计算机组成原理是计算机专业必修的硬件课程中重要核心课程之一。
基本模型机的设计使我们掌握计算机常用的逻辑器件、部件的原理、参数及使用方法,学懂简单、完备的单台计算机的基本组成原理,学习计算机设计中的入门性知识,掌握维护、使用计算机的技能。
连续两周的课程设计让我体会到计算机的奥妙让我对计算机产生了浓厚的兴趣。
我们以前只学理论的知识并没有动手操作,通过这次课程设计让我知道了《计算机组成原理》这门课的重要性并巩固、理解了课本知识而且它教给我无论今后做什么都必须要细心有耐心和恒心,在实践中提高自己的能力。
这次实验培养了我的独立思考能力以及团队合作精神。
计算机组成原理是计算机专业的基础课。
这门课对于使我们了解现代计算机的各个组成部分及其工作原理具有重要作用,对于我们后续课程的学习无疑也具有积极的意义。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组成 原理 课程设计 cxh