计算机组成原理 基本模型机设计与实现资料.docx
- 文档编号:9212142
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:18
- 大小:470.13KB
计算机组成原理 基本模型机设计与实现资料.docx
《计算机组成原理 基本模型机设计与实现资料.docx》由会员分享,可在线阅读,更多相关《计算机组成原理 基本模型机设计与实现资料.docx(18页珍藏版)》请在冰豆网上搜索。
计算机组成原理基本模型机设计与实现资料
课程设计
课程名称:
计算机组成原理
设计题目:
基本模型机设计与实现
学院:
信息工程与自动化
专业:
计算机科学与技术
年级:
学生姓名:
指导教师:
王海瑞
日期:
教务处制
课程设计任务书
信息工程与自动化学院计算机专业年级
学生姓名:
课程设计题目:
基本模型机设计与实现
课程设计主要内容:
利用所学过的理论知识,特别是微程序设计的思想,写出要设计的指令系统的微程序。
将所设计的微程序在计算机组成原理教学实验系统环境中进行测试,并给出测试思路和具体程序段。
最后撰写出符合要求的课程设计报告。
首先要确定所设计计算机的功能和用途,设计中根据功能和用途确定指令系统,数据的表示格式,位数,指令的编码,类型,需要设计那些指令和寻址方式。
确定相对应指令所包含的微操作以及总体结构设计之间的数据通路结构,在此基础上,就可以拟出各种信息传输路径,以及实现这些传输所需要的微指令。
设计指导教师(签字):
教学基层组织负责人(签字):
年月日
目 录
一、基本模型机的设计…………………………………………4
1、程序设计目的…………………………………………4
2、程序设计基本原理………………………………………4
(1)实验模型机结构…………………………………4
(2)机器指令的结构和功能……………………………6
(3)微指令格式……………………………………7
二、微程序设计……………………………………………8
1.微程序流程图……………………………………………8
2.二进制代码表……………………………………………10
3.线路连接图……………………………………………11
4.微指令代………………………………………………12
三、总结体会………………………………………………13
四、参考文献………………………………………………14
一、基本模型机的设计
1、程序设计目的
(1)在掌握部件单元电路实验的基础上,进一步将其组成系统构造一台基本模型计算机。
(2)使用简单模型机和复杂模型机的部分机器指令,并编写相应的微程序,具体上机调试掌握整机概念。
(3)掌握微程序控制器的组成原理。
(4)掌握微程序的编写、写入,观察微程序的运行。
(5)通过课程设计,使学生将掌握的计算机组成基本理论应用于实践中,在实际操作中加深对计算机各部件的组成和工作原理的理解,掌握微程序计算机中指令和微指令的编码方法,深入理解机器指令在计算机中的运行过程。
2、程序设计基本原理
(1)实验模型机结构
[1]运算器单元(ALUUINT)
运算器单元由以下部分构成:
两片74LS181构成了并-串型8位ALU;两个8位寄存器DR1和DR2为暂存工作寄存器,保存参数或中间运算结果。
ALU的S0~S3为运算控制端,Cn为最低进位输入,M为状态控制端。
ALU的输出通过三态门74LS245连到数据总线上,由ALU-B控制该三态门。
[2]寄存器堆单元(REGUNIT)
该部分由3片8位寄存器R0、R1、R2组成,它们用来保存操作数用中间运算结构等。
三个寄存器的输入输出均以连入数据总线,由LDRi和RS-B根据机器指令进行选通。
[3]指令寄存器单元(INSUNIT)
指令寄存器单元中指令寄存器(IR)构成模型机时用它作为指令译码电路的输入,实现程序的跳转,由LDIR控制其选通。
[4]时序电路单元(STATEUNIT)
用于输出连续或单个方波信号,来控制机器的运行。
[5]微控器电路单元(MICRO-CONTROLLERUNIT)
微控器主要用来完成接受机器指令译码器送来的代码,使控制转向相应机器指令对应的首条微代码程序,对该条机器指令的功能进行解释或执行的工作。
由输入的W/R信号控制微代码的输出锁存。
由程序计数器(PC)和地址寄存器(AR)实现程序的取指功能。
[6]逻辑译码单元(LOGUNIT)
用来根据机器指令及相应微代码进行译码使微程序转入相应的微地址入口,从而实现微程序的顺序、分支、循环运行,及工作寄存器R0、R1、R2的选通译码。
[7]主存储器单元(MAINMEM)
用于存储实验中的机器指令。
[8]输入输出单元(INPUT/OUTPUTDEVICE)
输入单元使用八个拨动开关作为输入设备,SW-B控制选通信号。
输出单元将输入数据置入锁存器后由两个数码管显示其值。
根据以上要素设计数据通路框图,如图:
(2)机器指令的结构和功能
部件实验过程中,各部件单元的控制信号是人为模拟产生的,而本次实验将能在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能,这里,计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束一个指令周期全部由微指令组成序列来完成,即一条机器指令对应一个微程序。
模型机的指令系统
指令名称
操作码
指令功能
输入(IN)
0000
将数据输入寄存器R0
移数(MOV1)
0001
MOVREG,REG,寄存器直接寻址
加法(ADD)
0011
R0+R1→R0,加法运算
移数(MOV2)
0100
MOVDATA,REG立即数直接寻址
自增(INC)
0110
R0+1→R0,R0自增
无条件跳转(JMP)
0111
ADDR→PC,执行指定的机器指令
输出(OUT)
1010
在LED上输出R0
取数(MOV3)
1011
相对寻址,目标地址PC+Disp,结果存R0
循环右移(RRC)
1101
对R0中的数右移一位存入R0
停机指令(HALT)
1110
执行结束
本实验采用六条机器指令:
IN,OUT,STA,加ADD,减SUB,循环左移RLC其指格式如下:
地址
内容
助记符
说明
00
00
IN
输入开关数据→R0,采集数据
01
10
ADD[0AH]
R0+[0AH]→R0
02
0A
地址
03
20
STA[0BH]
R0→[0BH]
04
0B
地址
05
30
OUT[0BH]
[0BH] →BUS,输出显示
06
0B
地址
07
40
SUB[0AH]
R0-[0AH] →R0
08
0A
地址
09
50
RLC
0A
01
0B
(3)微指令格式
为了向RAM中装入程序和数据,检查写入是否正确,并能启动程序执行,还必须设计三个控制台操作微程序.
1)存储器读操作:
拨动总清开关CLR后,控制台开关SWB,SWA为”00”时,按START微动开关,可对RAM连续手动读操作.
2)存储器写操作:
拨动总清开关CLR后,控制台开关SWBSWA置为”01”时,按START微动开关可对RAM进行连续手动写入.
3)启动程序:
拨动总清开关CLR后,控制台开关SWBSWA置为“11”时,按START微动开关,既可转入到第01号“取址”微指令,启动程序运行.
上述三条控制台指令用两个开关SWBSWA的状态来设置,其定义如下
读写变化
SWB
SWA
控制台指令
0
0
1
0
1
1
读内存(KRD)
写内存(KWE)
启动程序(RP)
微代码定义如表所示:
微程序
24
23
22
21
20-
19
18
17
16
15
14
13
控制信号
S3
S2
S1
S0
M
CN
RD
M17
M16
A
12
11
10
9
8
7
6
5
4
3
2
1
B
C
uA5
uA4
uA3
uA2
uA1
uA0
A字段B字段P字段
15
14
13
控制信号
12
11
10
控制信号
9
8
7
控制信号
0
0
0
.0
0
0
0
0
0
0
0
1
LDRI
0
0
1
RS_G
0
0
1
P1
0
1
0
LDDR1
0
1
0
0
1
0
0
1
1
LDDR2
0
1
1
0
1
1
1
0
0
LDIR
1
0
0
1
0
0
P4
1
0
1
LOAD
1
0
1
ALU_G
1
0
1
1
1
0
LDAR
1
1
0
PC_G
1
1
0
LDPC
其中UA5-A0为后续地址,A、B、P三个译码字段,分别有三个控制译码出多位。
C字段中的四个测试字位。
其功能是根据机器指令及相应微代码进行译码,是微程序转入相应的微地址入口,从而实现微程序的顺序、分支、循环运行。
B字段中的RD-B、RI-B、分别为原寄存器选通信号、目的寄存器选通信号及变址寄存器选通信号其功能是根据机器指令来进行三个工作寄存R0、R1、R2的选通译码。
A8、A9为控制选通信号,当A8、A9为00时,选通SW-B;为01时,选通LED-B;为11时,表示均未选通。
S0~S3为运算控制信号,Cn为进位控制信号,M为状态控制信号。
原理如下图
在上述各测试下址中未用到的位均直接保留。
AR为算术运算是否影响进位及判零标志控制位,其为零有效。
B字段中的RS_G、RD_G、RI_G分别为源寄存器选通信号,目的寄存器选通信号及变址寄存器选通信号,其功能是根据机器指令来进行三个工作寄存器R0、R1及R2的选通译码。
三字段中的其他位类似与此,均是某芯片的选通信号,它们的功能都是根据机器指令来进行相应芯片的选通译码。
当拟定“取指令”微指令时,该微指令的判别测试字段为P1测试。
由于“取指”微指令是所有微程序都使用的公用微指令,因此P1测试结果出现多路分支。
本次课程设计用指令寄存器的前4位(I7-I4)作为测试条件,出现6路分支,占用6个固定微地址单元。
控制台操作为P4测试,它以控制台开关SWB,SWA作为测试条件,出现了3路分支,占用3个固定微地址单元。
当分支微地址单元固定后,剩下的其他地方就可以一条微指令占用控存一个微地址单元随意填写。
当全部微程序设计完毕之后,应将每条微指令代码化
二、微程序设计
1、微程序流程图
2、二进制微代码表
微地址
S3S2S1S0MCNWEA9A8
A
B
C
uA5~uA0
00
000000011
000
000
100
010000
01
000000011
110
110
110
000010
02
000000001
100
000
001
001000
03
000000001
001
000
000
000001
04
000000001
110
000
000
000101
05
000000001
110
000
000
000110
06
000000000
010
000
000
000111
07
000001101
000
101
000
000001
10
000000011
110
110
110
000011
11
000000011
110
110
110
000100
12
000000011
011
001
000
001111
13
000000011
110
110
110
010101
14
000000011
110
110
110
011100
15
000000011
110
110
110
011110
16
000000011
000
000
000
001110
17
010110011
001
101
000
000001
20
000000011
110
110
110
010010
21
000000011
110
110
110
010100
22
000000001
010
000
000
010111
23
000000011
000
000
000
000001
24
000000000
010
000
000
011000
25
000000001
110
000
000
010110
26
000000001
110
000
000
011001
27
000001110
000
101
000
010000
30
000001101
000
101
000
010001
31
000000001
010
000
000
011010
32
000000011
011
001
000
011011
33
011010011
001
101
000
000001
34
000000001
110
000
000
011101
35
000000101
000
001
000
000001
36
000000001
110
000
000
011111
37
000000001
010
000
000
100000
40
000001110
000
101
000
000001
下面介绍指令寄存器(IR):
指令寄存器用来保存当前正在执行的一条指令。
当执行一条指令时,先把他从内存取到缓冲寄存器中,然后再传送至指令寄存器。
指令划分为操作码和地址码字段,由二进制数构成,为了执行任何给定的指令,必须对操作码进行测试[P
(1)],通过节拍脉冲T4的控制以便识别所要求的操作。
“指令译码器:
”(实验板上标有“INSDECODE”的芯片)根据指令中的操作码译码强置微控器单元的微地址,使下一条微指令指向相应的微程序首地址。
本系统有两种外部I/O设备,一种是二进制代码开关,它作为输入设备(INPUTDEVICE);另一种是数码块,它作为输出设备(OUTDEVICE)。
例如:
输入时,二进制开关数据直接经过三态门送到总线上,只要开关状态不变,输入的信息也不变。
输出时,将输出数据送到数据总线上,当写信号(W/E)有效时,将数据打入输出锁存器,驱动数码块显示。
3、线路连接图
4、机器指令程序设计
(1)按照实验指导书的接线图连接线路。
(2)联机写入程序(微指令),按照实验要求的规定格式,将机器指令及微指令二进制代码表编辑成十六进制的文件
机器指令微指令
$P0000$M00018110
$P0110$M0101ED82
$P020F$M0200C060
$P0320$M0300E004
$P040F$M04028201
$P0530$M0500E006
$P0640$M0600B007
$P070F$M0701A20F
$P0850$M0800E00C
$P0960$M0900E00A
$P0A10$M0A00A00B
$P0B70$M0B070A01
$P0C10$M0C028201
$P0D80$M0D00E00A
$P0F01$M0F959A01
$P1011$M1001ED92
$P1100$M1100ED94
$M1200A017
$M13018001
$M14002018
$M16099A01
$M17070A10
$M18068A11
$M1900E01A
$M1A00B01B
$M1B01A21C
$M1C959A01
$M1EF59A01
$M1F00E008
$M20001001
$M2101ED83
$M2201ED85
$M2301A216
$M2401ED99
$M2501A21E
$M2601ED7F
$M2701ED89
$M28018028
三、总结体会
此次的课程设计的主要内容是利用所学过的理论知识,特别是微程序设计的思想,写出要设计的指令系统的微程序。
将所设计的微程序在计算机组成原理教学实验系统环境中进行测试,并给出测试思路和具体程序段。
确定所设计计算机的功能和用途,设计中根据功能和用途确定指令系统,数据的表示格式,位数,指令的编码,类型,需要设计那些指令和寻址方式。
确定相对应指令所包含的微操作以及总体结构设计之间的数据通路结构,在此基础上,就可以拟出各种信息传输路径,以及实现这些传输所需要的微指令。
最后撰写出符合要求的课程设计报告。
经过这次课程设计,我体会到自己所学的东西太少了,很多都不知道。
在做课程设计的这段时间我还是学到了不少东西。
有些很基本的知识出现记混淆的现象,通过查书及询问同学,最终明白了。
本次课程设计我们要设计一台微程序控制的模型机,以对计算机能有一个整机的概念,完成对计算机组成原理这门课程的综合应用,达到学习本书的作用。
作为一个计算机系学生这是必需掌握的,使我们对数据选择器,移位器,加法器,运算器,存储器和微程序控制器,有了更多的认识。
由于计算机设计的部件较多,结构原理较复杂,对于我们这样的初设计者来说感到无从下手,所以我们在整个过程中采取由浅入深,由简单到复杂的放法,通过这次设计,使我们能清楚的了解计算机的基本组成,基本原理和设计步骤,设计思路和调试步骤,最终能清晰的建立起整机概念,为独立完成计算机设计奠定了基础。
课程设计结束了,从中我们也学到了不少知识。
虽然计算机组成原理的课程设计与学习已经结束,可我们学习之路并没有结束,我们会继续努力学习其相关的知识,以适应社会的发展与需要,这样才能真正成为一名合格的大学生。
在此次的设计中,感谢老师对我们的帮助和指导。
过程还不够完善,希望老师继续指导。
四、参考文献
《计算机组成原理》,科学出版社,白中英著
《计算机组成原理实验指导书》,清华大学出版社,王诚,宋佳兴,董长洪编著
《计算机组成原理课程设计指导》,长安大学出版社,周立著
《计算机组成原理学习指导与训练》,中国水利水电出版社,旷海兰等编著
《计算机组成原理与系统结构实验教程》,西安唐都科教仪器公司著
《计算机组成原理实验及课程设计指导》,重庆大学出版社,张庸编著
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机组成原理 基本模型机设计与实现资料 计算机 组成 原理 基本 模型 设计 实现 资料