计算机组成原理实验Word下载.docx
《计算机组成原理实验Word下载.docx》由会员分享,可在线阅读,更多相关《计算机组成原理实验Word下载.docx(14页珍藏版)》请在冰豆网上搜索。
④。
从图上可以看到,ALU的两个输入端R和S分别可以接收D输入,A端口或逻辑0数据,和A端口,B端口,Q寄存器或逻辑0数据,Am2901器件只选取用了它们可能的全部12种组合中的8种,即A-Q,A-B,0-Q,0-B,0-A,D-A,D-Q,和D-0这8种,并用外部送来的3位控制码I2-I0来选择这是种组合。
⑤。
Am2901还采用另外来货位外部送来的控制信号I8-I6,一是选择向外部送出的数据的来源(A口数据还是ALU运算结果),二是选择其内部的通用寄存器组和Q寄存器接收不接收和如何接收数据库写入(左移,右移,直送)。
⑥。
通用寄存器组通过A端口,B端口读出内容的输出处均有锁存器线路支持,以保证在执行诸如A+B结果送B运算时操作的正确性。
3.2.3Am2901芯片的控制信号及其控制码与操作
Am2901芯片的控制信号有9个,即I8-I0,这回个控制信号分成三组,它们是:
(1)I8,I7,I6(B30-28):
选择运算结果或有关数据以何种方式送往何处;
(2)I5,I4,I3(B26-24):
选择ALU的运算功能,共8种;
(3)I2,I1,I0(B22-20):
选择送入ALU进行运算的两个操作数据R和S的来源,共有8种组合。
这三组控制信号与相应控制码的关系如下表:
表3.1Am29019个控制信号I8~I0
控制码
I8、I7、I6
I5、I4、I3
I2、I1、I0
000
F→Q
F
R+S
A
Q
001
无
S–R
B
010
F→B
R–S
011
R∨S
100
F/2→B
Q/2→Q
R∧S
101
/R∧S
D
110
2F→B
2Q→Q
RS
111
R⊙S
寄存器结果选择
Y输出选择
运算功能选择
R
S
注:
R、S中的“0”为逻辑0。
3.2.4:
TEC-2机运算器
一:
TEC-2机运算器主体结构
4片间的连接关系是:
(1)16位的数据输入由4片各自的D3-D0组成,其位序号人高位芯片向低位芯片顺序排成D15-D0
(2)16位的数据输出由4片各自的Y3-Y0组成,其位序号人高位芯片向低位芯片顺序排成Y15-Y0.
(3)有高低位进位关系的3组信号,在高低位相邻芯片间连接关系是:
①:
高位芯片的RAM0与低位芯片的RAM3相连
②:
高位芯片的Q0与低位芯片的Q3相连
③:
在串行进位方式下,高位芯片的Cn与低位芯片的Cn+4相连;
若选用AM2902芯片(与74LS182芯片功能相同,两者可以互换使用)实现并行进位,则低位的3个芯片的并行进位信号/G和/P应送往Am2902的相并没有管脚,并将各自对应的片间进位输出信号送入相邻高位芯片Am2901的Cn管脚。
同时支持串,并行丙种方式,有利于教学实验中方便地观察与测量每种进位方式的进位延迟时间。
此时,最低位芯片的RAM0与Q0是该16位的运算器的最低位的移入/出信号,最高位芯片的RAM3与Q3是运算器最高位的移入/出信号,均需有另外的逻辑电路与之连接,最低位的Cn是整个运算器的最低位进位输入信号。
最高位的CN+4是16位完整运算器的进位输出信号。
同理,只有最高们芯片的F3和OVR有意义,低位的3个芯片的F3和OVR不被使用,
4个芯片的F=0000管脚连接在一起,并经一个电阻接到+5V电源,已得到16位的ALU的运算结果为“0”的标志位信号。
(4):
其它的几组输入信号,支4片Am2901器件来说应有相同的值,包括/OE(控制选通Y的输出),A地址,B地址,I8-80(控制Am2901的运算功能,数据来源,结果的处置)和工作脉冲CP,故应将4个芯片的这些的各对应管脚连接在一起.
(2)微指令中三位微码(SST)与标志位的关系
三位微码与这8种处理的对应关系,已用表格形式给出。
本器件共用了4个输出端,即引用17.18.19.20分别组出CZVS4个标志位的值,并采用寄存器型逻辑记忆本次操作结果,此时每个输出引脚的表达式必须用C:
=…的形式定义,且引脚的时钟脉冲信号必须引入。
引脚13的/OE信号接地,表示输出信号是不被禁止的。
本器件共有14个输入信号,分别人引脚2-11,引脚14,引脚21-23送入,信号名字已给了央Gal20v8的描碠信息中。
这些输入如何决定每一个输出位的结果,以逻辑表达式形式组出在每一个输出位的定义中。
描述表中每行最右侧在分号之后给出的是注释内容。
表3.2三位微码与状态位的关系表
SST编码
状态位输入
说明
B34B33B32
C
Z
V
四个标志位的值保持不变
CY
F=0
OV
F15
接收ALU的标志位输出值
IB7
IB6
IB5
IB4
恢复标志位现场值
置C为0,另三个标志不变
1
置C为1,另三个标志不变
RAM0
右移操作,另三个标志不变
RAM15
左移操作,另三个标志不变
Q0
联合右移,另三个标志不变
二:
运算器最低位进位信号的给出与控制(SCi)
运算器最低位的进位信号Cin,可能为0.1.C标志的值,为了调试与实验的方便,有时可送入一个连续的进位方波信号,当认运算器执行16位全1与这个最低闰的进位方波信号相加时,则加法器每一位的输出结果均为方波,有利于观察与调试.
表3.3
SCi编码(B11、B10)
00
01
10
11
Cin取值
TCLK方波
三:
运算器最高位,最低位的移入信号(SSH)
移入通用寄存器中的移入信号RAM15和RAM0,以及乘商寄存器中的移入信号Q15和Q0.左移时,向RAM0,或RAM0与Q0移入数据,右移时,向RAM15,或RAM15与Q15移入数据,我们把5条移位指令和剩除法计算中的联合移位都考虑进去,可以归纳出如下4种结果,并用两位微码SSH区分它们。
表3.4
控制码SSH
左移
右移
B9B8
RAM0Q0
RAM15Q15
00
0X
通用寄存器逻辑位移
01
CX
通用寄存器与C循环移位
10
Q15/F15
CYRAM0
原码除(左移)乘(右移)
11
XX
F15⊕OVRRAM0
右移用于补码乘法
说明:
•表中“X”为任意值,表示取任意值都不受影响
•当通用寄存器本身移位时,Q寄存器不受影响
•乘除法运算要求通用寄存器与Q寄存器联合移位,没有Q寄存器单独移位功能
•左右移是由指令功能确定的
•SSH为0,用于逻辑移位指令
为1,用于循环移位指令
为2,用于乘除法运算的联合移位及上商
为3,用于算术右移指令,或补码乘法计算
三.实验内容
脱机和联机时运算器实验
在脱机与联机两种方式下,可以用一些数据实现我种计算,以控制其操作过程与功能,检查所得结果的正确性.
1:
脱机实验
实验中所述将某开关置为:
1,即表示将开关向上拨;
将某开关置为:
0,即表示将开关向下拨。
(1)将TEC-2机功能开关FS4置为:
(2)主脉冲置为单步方式,STEP/CONT开关拨向STEP一边。
STEP为单脉冲方式,CONT为连续脉冲方式。
(3)用D0+0→R0将立即数D0(从数据开关输入:
A000H)置入寄存器R0。
波特率开关
数据开关
SW2(共12位,最末三位没用)
SW1(共12位)
MI876
MI543
MI210
末用
A口
B口
Sci
SSH
D15-D0
011
000
111
0000
A000H
①.按上表设置各控制信号(MI8-MI0)为垂直板元件V60SW2,A口,B口,SCI,SSH为垂直板元件V61SW1。
②.按上表设置十六位数据开关(为A000H,即1010000000000000B)
③.按压一次STEP键后,立即数D0即置入寄存器R1。
(4)
0001
4000H
①.按上表设置各控制信号(MI8-MI0)为垂直板元件V60SW2,A口,B口,SCI,SSH为垂直板元件V61SW1。
②.按上表设置十六位数据开关(为4000H,即0100000000000000B)
③.按压一次STEP键后,立即数D1即置入寄存器R1。
(5)对R0和R1进行各种算术,逻辑运算可参看下表,
将开关S2S1S0置于110时,指示灯将显示ALU的运算结果,将开关S2S1S0置于000时,指示灯显示SVZC的状态。
(H25=S,H26=V,H27=Z,H28=C)。
功能
MI8~6
MI5~3
MI2~0
按压STEP前
按压STEP后
ALU输出
SVZC
R0+R1→R0
R0+0→R0
R0-R1→R0
R0∨R1→R0
R0∧R1→R0
R0⊕R1→R0
R0+R1+Cn→R0
R0*2→R0
R0+1→R0
四.实验器材
(3)TEC-2机一台,电脑一台
(4)示波器一台
五.实验分析与设计
功能
按压STEP前
按压STEP后
R1+R0->
R0
001
E000
2000
1000
0+R0->
不用
R0-R1->
A000
6000
R1∨R0->
R1∧R0->
100
4000
R1⊕R0->
110
0010
R1+R0+C->
8000
R0*2->
R0+1->
8001
8002
SCi的设置:
R0+R1+C->
R0,SCi=10;
R0,SCi=01;
实验步骤
一.首先看功能需要,比如第一步需要R1和R0两个寄存器的数值参与计算,那么就将A口设为0001,代表R1,B口设为0000,代表R0。
二.接着由于输出要存入R0中,因此把MI8~6设为011,表示把输入写入B口连接的寄存器。
三.该功能实现的是加法运算,因此将MI5~3设为000,表示对两个输入端进行加法运算。
四.参与运算的应该是R1和R0,而R1和R0分别连接在A口和B口上,因此,把I2~I0设为001,表示取A口和B口的数值进行计算。
五.计算后通过按压STEP把结果保存到寄存器中。
其他类推。
六.需要注意的几步,其中之一是进位端参与运算,这时要把SCi设为10,,10代表进位端参与计算,而SCi的第三位代表进位端。
七.而当SCi设为01时,则可以直接给寄存器的内容+1.y以上功能均是查表得。
八.每次按压STEP前和后,都要记录ALU输出和SVZC,这个通过控制S2S1S0实现,当S2S1S0=110时,指示灯显示ALU运算结果;
等于000时,指示灯显示SVZC的状态。
六.思考题
1.在脱机方式下进行运算器实验室,在按STEP键之前和按STEP键之后,ALU的输出结果及状态SVZC有何不同,为什么?
根据Am2901运算器的组成结构及其工作原理加以说明。
从Am2901的内部结构图可以看出,A口和B口寄存器在送入ALU之前会经过对应的锁存器,在没有按STEP前,即不产生任何脉冲信号前,当前锁存器内保存的数据与SVZC内保存的数据与寄存器中当前的数据无关,此时修改了MI8~0,就修改了运算方式,会对锁存器中当前的值进行运算,结果会马上显示在ALU输出中。
查看Am2901的时钟信号的作用可以知道,下降沿信号会促发A、B数据锁存。
因此,按压STEP后,当前计算的结果会写入锁存器中,比如R1+R0->
R0。
此时锁存器中的值被改变了,同时改变的还有ALU的输出结果和SVZC的值,因为ALU是使用锁存器的当前值进行计算的。
2.写出实现以下功能操作微码:
(按下表形式书写)
A.(R10+R0)Q->
R0Q,联合左移。
B.D-B->
B,其中D为数据,B为B口寄存器。
C.0->
R0,要求不要用立即数传送实现。
功能操作
A口地址
B口地址
A.(R0+R10)Q→R0Q
联合左移
B.D–B→B
B→Q
D--Q→B
010
D--A(B)→B
101
C.0→R0
R0⊕R0
R0-R0
/R0∧R0
R0–R0
七.实验心得
1.做实验前一定要预习,不然去了的话你什么都不知道,睁大着眼听老师讲课也听不懂。
2.看教材要有耐心,慢慢看,只有看懂了,做起实验来才顺手。