计算机组成原理累加器实验报告.docx
- 文档编号:5887412
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:22
- 大小:774.80KB
计算机组成原理累加器实验报告.docx
《计算机组成原理累加器实验报告.docx》由会员分享,可在线阅读,更多相关《计算机组成原理累加器实验报告.docx(22页珍藏版)》请在冰豆网上搜索。
计算机组成原理累加器实验报告
课程设计任务书
学院
信息学院
专业
计算机科学与技术
学生姓名
学号
设计题目
研制一台多累加器结构的实验计算机
内容及要求:
利用EL-JY-II型计算机组成原理实验仪提供的硬件资源,通过设计(包括整机结构设计、指令设计、微程序设计、微指令设计、调试程序设计等)、组装、调试三个步骤完成一台微程序控制的简单实验计算机的研制。
设计总要求:
1.实验计算机整机应由如下几个模块组成:
运算器、寄存器、指令部件、微程序控制部件、内存、总线缓冲电路、输入和输出控制电路。
2.运算器采用双数据暂存器多寄存器结构,并带移位运算功能。
3.设计如下几条机器指令的格式,指令格式可以采用单字长或双字长设计。
算术清零运算指令:
CLRrd(功能0->rd)
逻辑与运算指令:
ADCrs,rd(功能rs+rd+cy->rd)
输入输出指令:
IN#DATA,rd(功能DATA->rd)
OUTRi(功能Ri的值->LED输出)
转移指令:
JMPaddr(功能addr->PC)
访问指令:
STAaddr(功能Ri->addr)
LDAaddr(功能addr->Ri)
4.设计微指令的格式,编写上述每条机器指令所对应的微程序,并上机调试。
5.通过如下程序的编写调试,验收机器指令、微指令、微程序的设计结果。
IN#data,R0
STAR0,addr
MOVR0,R1
CLRR2
CLRR0
LDAaddr,R0
ADCR0,R1
OUTR1
JMP00H
进度安排:
第17周:
布置课程设计任务,查阅资料,分组设计,实验室组装和调试。
第18周:
调试,验收,答辩,编写课程设计报告。
指导教师(签字):
2011年12月10日
学院院长(签字):
2011年12月10日
一、实验计算机的设计……………………………………………4
1、整机逻辑框图设计…………………………………………………………..4
2、指令系统的设计……………………………………………………………..5
2.1数据格式……………………………………………………………….5
2.2指令格式、指令编码、指令助记符、指令功能、操作数的寻址方式……5
3.微操作控制部件的设计……………………………………………………….8
3.1微指令编码的格式设计………………………………………………..8
3.2微操作控制信号设计…………………………………………………..8
3.3微程序顺序控制方式设计………………………………………………9
3.3.1微程序控制部件组成原理………………………………………9
3.3.2微程序入口地址形成方法……………………………………10
3.3.3控存的下地址确定方法………………………………………11
3.3.4微程序在控存中的分布情况…………………………………12
3.4微程序设计……………………………………………………………12
3.4.1写出每条指令对应的微程序流程图…………………………12
3.4.2写出每段微程序中各微指令的二进制编码、16进制编码…14
3.4.3写出每段微程序在控存中的存放位置………………………15
4.设计组装实验计算机接线表………………………………………………16
5.编写调试程序……………………………………………………………..16
二、实验计算机的调试………………………………………………..18
1调试前准备………………………………………………………………18
2程序调试过程…………………………………………………………….18
3调试结果…………………………………………………………………20
4出错和故障分析………………………………………………………….20
三、课程设计总结………………………………………………………………21
四、参考文献……………………………………………………………………..21
一、验计算机的设计
1整机逻辑框图设计
模型机是由运算器,控制器,存储器,输入设备,输出设备五大部分组成。
1、运算器又是有299,74LS181完成控制信号功能的算逻部件,暂存器LDR1,LDR2,及三个通用寄存器Ax,Bx,Cx等组成。
2、控制器由程序计数器PC、指令寄存器、地址寄存器、时序电路、控制存储器及相应的译码电路组成。
3、存储器RAM是通过CE和W/R两个微命令来完成数据和程序的的存放功能的。
4、输出设备有两位LED数码管和W/R控制完成的。
图1-1模型机结构框图
图1-1中运算器ALU由U7--U10四片74LS181构成,暂存器1由U3、U4两片74LS273构成,暂存器2由U5、U6两片74LS273构成。
微控器部分控存由U13--U15三片2816构成。
除此之外,CPU的其他部分都由EP1K10集成。
存储器部分由两片6116构成16位存储器,地址总线只有低八位有效,因而其存储空间为00H--FFH。
输出设备由底板上的四个LED数码管及其译码、驱动构成,当D-G和W/R均为低电平时将数据总线的数据送入数码管显示。
在开关方式下,输入设备由16位电平开关及两个三态缓冲芯片74LS244构成,当DIJ-G为低电平时将16位开关状态送上数据总线。
在键盘方式或联机方式下,数据可由键盘或上位机输入,然后由监控程序直接送上数据总线,因而外加的数据输入电路可以不用。
本系统的数据总线为16位,指令、地址和程序计数器均为8位。
当数据总线上的数据打入指令寄存器、地址寄存器和程序计数器时,只有低八位有效。
注:
本系统的数据总线为16位,指令、地址和程序计数器均为8位。
当数据总线上的数据打入指令寄存器、地址寄存器和程序计数器时,只有低8位有效。
2指令系统的设计
2.1数据格式:
本实验计算机采用定点补码表示法表示数据,字长为8位,其格式如下:
表2.1补码表
7
6543210
符号
尾数
其中第8位为符号位,数值表示范围是:
-1≤X<1
2.2指令格式:
1、算术逻辑指令
设计9条单字长算术逻辑指令,寻址方式采用寄存器直接寻址。
其格式如下:
表2.2寻址方式
7654
32
10
OP-CODE
rs
rd
其中OP-CODE为操作码,rs为源寄存器,rd为目的寄存器,并规定:
表2.3寄存器表
rs或rd
选定寄存器
00
Ax
01
Bx
10
Cx
9条算术逻辑指令的名称、功能和具体格式见表2.7
2、存储器访问及转移指令
存储器的访问有两种,即存数和取数。
它们都使用助记符MOV,但其操作码不同。
转移指令只有一种,即无条件转移(JMP)。
指令格式如下:
表2.4存储器的访问表
76
54
32
10
00
M
OP-CODE
rd
D
其中OP-CODE为操作码,rd为寄存器。
M为寻址模式,D随M的不同其定义也不相同,如下表所示:
表2.5存储器的访问表
寻址模式M
有效地址E
说明
00
E=D
直接寻址
01
E=(D)
间接寻址
10
E=(RI)+D
RI变址寻址
11
E=(PC)+D
相对寻址
注:
扩展直接寻址用于面包板上扩展的存储器的寻址。
3、I/O指令
输入(IN)和输出(OUT)指令采用单字节指令,其格式如下:
表2.6存储器的访问表
7654
32
10
OP-CODE
addr
rd
其中,当OP-CODE=0100且addr=10时,从“数据输入电路”中的开关组输入数据;当OP-CODE=0100且addr=01时,将数据送到“输出显示电路”中的数码管显示。
4、指令系统
本实验共有14条基本指令,其中算术逻辑指令8条,访问内存指令和程序控制指令4条。
输入输出指令2条。
如图2..7列出了各条指令的格式、汇编符号和指令功能。
表2.7指令格式,汇编符号,指令功能
汇编符号
指令的格式
功能
CLRrd
MOVrs,rd
ADCrs,rd
SBCrs,rd
011100rd
1000rsrd
1001rs rd
1010rsrd
0rd
rsrd
rs+rd+cyrd
rs-rd-cyrd
INCrd
ANDrs,rd
COMrd
RRCrs,rd
1011rsrd
1100rsrd
1101rsrd
1110rsrd
rd+1rd
rs∧rdrd
rdrd
cyrs
rsrd
RLCrs,rd
1111rsrd
cyrs
rsrd
LDAM,D,rd
00M00rd
D
Ers
STAM,D,rd
00M01rd
D
rdE
JMPM,D
00 M 10 00
D
E PC
BZCM,D
00M1100
D
当CY=1或Z=1时,
EPC
INaddr,rd
OUTaddr,rd
010001rd
010110rd
addrrd
rdaddr
HALT
01100000
停机
3微操作控制部件的设计
3.1微指令编码的格式设计
设计三个控制操作微程序:
存储器读操作(MRD):
拨动清零开关CLR对地址、指令寄存器清零后,指令译码输入CA1、CA2为“00”时,按“单步”键,可对RAM连续读操作。
存储器写操作(MWE):
拨动清零开关CLR对地址、指令寄存器清零后,指令译码输入CA1、CA2为“10”时,按“单步”键,可对RAM连续写操作。
启动程序(RUN):
拨动清零开关CLR对地址、指令寄存器清零后,指令译码输入CA1、CA2为“11”时,按“单步”键,即可转入到第01号“取指”微指令,启动程序运行
表3.1本系统的微程序字长共24位,其控制顺序
24
23
22
21
20
19
18
17
16
15
1413
12
11
10
987
6
5
4
3
2
1
S3
S2
S1
S0
M
Cn
WE
1A
1B
F1
F2
F3
uA5
uA4
uA3
uA2
uA1
uA0
其中uA5-uA0为6位后续地址,F1,F2,F3为三个译码字段,分别由三个控制位译出多位。
F3字段包含P1-P4四个测试字位。
其功能是根据机器指令及相应微代码进行编码,使微程序转入相应的微地址入口,从而实现微程序的顺序,分支,循环运行。
3.2微操作控制信号设计
微指令中个控制位的含义如下:
S3、S2、S1、S0、M、CN是控制运算器的逻辑和算术运算的微命令。
WE是写内存的微命令,状态“1”有效。
1A、1B是输入电路选通、内存RAM选通、输出LED选通控制微命令,分别对应状态“11”、“10”、“01”。
状态“00”为无效。
F1、F2、F3为三个译码字段,分别由三个控制位经指令译码电路74138译码输出8种状态,前7种状态分别对应一组互斥性微命令中的一个,状态“111”为无效。
F3字段包含P1-P4四个测试字位。
其功能是根据机器指令代码及相应微指令代码进行译码测试,使微程序转入相应的微地址入囗,从而实现微程序的顺序、分支、循环运行。
表3.2F1、F2、F3三个字段的编码方案
F1字段
F2字段
F3字段
151413
选择
121110
选择
987
选择
000
LDRi
000
RAG
000
P1
001
LOAD
001
ALU-G
001
AR
010
LDR2
010
RCG
010
P3
011
自定义
011
自定义
011
自定义
100
LDR1
100
RBG
100
P2
101
LAR
101
PC-G
101
LPC
110
LDIR
110
299-G
110
P4
111
无操作
111
无操作
111
无操作
控制操作为P4测试,它以CA1、CA2作为测试条件,出现了写机器指令、读机器指令和运行机器指令3路分支,占用3个固定微地址单元。
当分支微地址单元固定后,剩下的其它地方就可以一条微指令占用控存一个微地址单元随意填写。
机器指令的执行过程如下:
首先将指令在外存储器的地址送上地址总线,然后将该地址上的指令传送至指令寄存器,这就是“取指”过程。
之后必须对操作码进行P1测试,根据指令的译码将后续微地址中的某几位强制置位,使下一条微指令指向相应的微程序首地址,这就是“译码”过程。
然后才顺序执行该段微程序,这是真正的指令执行过程。
在所有机器指令的执行过程中,“取指”和“译码”是必不可少的,而且微指令执行的操作也是相同的,这些微指令称为公用微指令。
3.3微程序顺序控制方式设计
3.3.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控制选通信号。
输出单元将输入数据置入锁存器后由两个数码管显示其值。
图3-1微程序控制原理图
3.3.2微程序入口地址形成方法
由于每条机器指令都需要取指操作,所以将取指操作编制成一段公用微程序,通常安排在控存的0号或特定单元开始的一段控存空间内。
每一条机器指令对应着一段微程序,其入口就是初始微地址。
首先由“取指令”微程序取出一条机器指令到IR中,然后根据机器指令操作码转换成该指令对应的微程序入口地址。
这是一种多分支(或多路转移)的情况,常用三种方式形成微程序入口地址。
(1)一级功能转移
如果机器指令操作码字段的位数和位置固定,可以直接使操作码与入口地址码的部分位相对应。
例如,某计算机有16条机器指令,指令操作码用4位二进制数表示,分别为0000、
0001、…、1111。
现以字母Q表示操作码,令微程序的入口地址为Q11B,例如000011B为MOV指令的入口地址,000111B为ADD指令的入口地址,001011B为SUB指令的入口地址。
由此可见,相邻两段微程序的入口地址相差4个单元。
(2)二级功能转移
若各类指令的操作码的位数和位置不固定时,需采用分级转移,第一次先按指令类型标志转移,以区分出指令属于哪一类,如单操作数指令、双操作数指令等。
在每一类机器指令中的操作码的位数和位置应当是固定的,第二次即可按操作码区分出具体是哪条指令,以便转移到相应微程序入口。
(3)通过PLA电路实现功能转移
可编程逻辑阵列PLA实质上是一种译码-编码阵列,具有多个输入和多个输出,PLA的输入是机器操作码和其他判别条件,PLA的输出就是相应微程序的入口地址,这种方法对于变长度、变位置的操作码的处理更为有效而且转移速度较快。
3.3.3控存的下地址确定方法
在程序顺序运行时,控存的下地址有微指令的顺序控制字段直接提供;当程序出现分支转移时,即“取指”微指令时,该微指令的判别测试字段P1、P2、P3、P4测试,出现分支转移,当分支位地址单云固定后,剩下的其他地方就可以一条微指令占用控存一个位地址单元随意填写。
(1)增量方式(顺序-转移型微地址)
这种方式和机器指令的控制方式相类似,它也有顺序执行、转移和转子之分。
顺序执行时,后继微地址就是现行微地址加上一个增量(通常为“1”);转移或转子时,由微指令的顺序控制字段产生转移微地址。
因此,微程序控制器中应当有一个微程序计数器(μPC)。
为了降低成本,一般情况下部是将微地址寄存器μAR改为具有计数功能的寄存器以代替μPC。
在非顺序执行微指令时,用转移微指令实现转移。
转移微指令的顺序控制字段分成两部分:
转移控制字段(BCF)与转移地址字段(BAF)。
“起始和转移地址发生器”的功能有两个:
其一是当一条新的机器指令装入IR时,它就形成机器指令的微程序段的起始地址且装入μPC,而且随着节拍电位信号的到来,μPC自动地增加一个增量,以便连续地从CM中读出微指令,相应的微操作控制信号按规定顺序发送到CPU的各个部分。
第二个功能是当微指令指示其测试状态标志、条件代码或机器指令的某些位时,它就对指定的条件进行测试,若满足转移条件,就把新的转移地址装入μPC,实现转移;否则不装入新地址,微程序就顺序执行。
所以,每次从CM中取出一条新的微指令时,μPC都增加,只有下列情况例外:
•遇到END微指令时,就把“取指”微程序的入口地址装入μPC,开始取指令周期;
•当一条新的指令装入IR时,就把该指令的微程序的入口地址装入μPC;
•遇到转移微指令且满足转移条件时,就把转移地址装入μPC。
增量方式的优点是简单,易于掌握,编制微程序容易,每条机器指令所对应的一段微程
序一般安排在CM的连续单元中;其缺点是这种方式不能实现两路以上的并行微程序转移,因而不利于提高微程序的执行速度。
(2)断定方式
断定方式与增量方式不同,它不采用μPC,微指令地址由微地址寄存器μAR提供。
在微指令格式中,设置一个下地址字段,用于指明下一条要执行的微指令地址。
当一条微指令被取出时,下一条微指令的地址(即下地址字段)送μAR。
它相当于每条微指令都具有转移微指令的功能。
采用这种方法就不必设置专门的转移微指令,但增加了微指令字的长度。
(3)增量方式与断定方式的结合
这种控制方式中,微地址寄存器μAR有计数的功能(断定方式中的微地址寄存器μAR无计数功能,但在微指令中仍设置一个顺序控制字段,这是一种增量方式与断定方式相结合的方式。
其顺序控制字段一般由两部分组成:
顺序地址字段和测试字段。
①顺序地址字段。
可由设计者指定一般是微地址的高位部分,用来指定后继微地址在CM中的某个区域内。
②测试字段。
根据有关状态的测试结果确定其地址值,一般对应于微地址的低位部分,相当于在指定区域内确定具体的分支。
所依据的测试状态可能是指定的开关状态、指令操作码、状态字等。
测试字段如果只有一位,则微地址特产生两路分文;若有两位,则最多可产生四路分支;依此类推,测试字段为n位为最多可产生2n路分支。
③若无转移要求,则微地址寄存器计数得到后继微指令的地址。
3.3.4微程序在控存中的分布情况
微程序在控存中按位地址顺序的存储在控制存储器中,其中微指令的设计顺序尤为的重要,它直接影响程序运行的正确性,及程序的运行效率。
3.4微程序设计
3.4.1每条指令对应的微程序流程图:
图3-2微程序流程图
3.4.2写出每段微程序中各微指令的二进制编码、16进制编码
表3.1为根据本实验程序流程图设计的二进制微代码表
位地址(八进制)
位地址(二进制)
微代码(十六进制)
00
000000
007F88
01
000001
005B42
02
000010
016FFD
03
000011
014FC4
04
000100
015F20
05
000101
015FC6
06
000110
014FC7
07
000111
015F20
10
001000
005B4A
11
001001
005B4C
12
001010
014FFB
13
001011
007FC1
14
001100
01CFFC
15
001101
014FCE
16
001110
0025CF
17
001111
9453E5
20
010000
005B43
21
010001
005B45
22
010010
005B4D
23
010011
005B66
24
010100
018FC1
25
010101
02F5C1
26
010110
007FD6
27
010111
3C03C1
30
011000
0001C1
31
011001
0041EA
32
011010
0021EC
33
011011
0041F2
34
011100
0041F3
35
011101
0041F6
36
011110
3001F7
37
011111
3001F9
40
100000
010FC1
41
100001
0379C1
42
100010
011F41
43
100011
007EA4
44
100100
007FC1
45
100101
844920
46
100110
014FE7
47
100111
002BE8
50
10100
9459E9
51
101001
944920
52
101010
0025EB
53
101011
9403FE
54
101100
0049ED
55
101101
0449EE
56
101110
0C49EF
57
101111
0049F0
60
110000
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组成 原理 累加器 实验 报告