《计算机组成原理》实验报告——TEC-2实验系统——运算器实验

实验名称: TEC-2实验计算机运算器实验

实验地点:10-413

一.实验目的

1.     了解和掌握Am2901运算器的组成结构和工作原理;

2.     认识和掌握TEC-2机运算器的组成和工作原理;

3.    认识和掌握TEC-2机运算器相关控制信号的含义和使用方法;

 

二.实验原理

Am2901运算器

1.Am2901 芯片内部组成结构

AM2901 芯片是一个4位的位片结构的运算器部件,是一个完整的运算器,只是位数较少,具有很好的典型性,是个理想的教学实例。其内部组成结构如下图所示:

《计算机组成原理》实验报告——TEC-2实验系统——运算器实验_第1张图片

 

①。4 位的ALU,实现实种运算功能,其每一位上的2个输入端数据分别用R和S表示,则这8种功能是R+S,S-R,R-S 3种算术运算和R S, R S, /R S, R S,/(R S)5咱逻辑运算,这8种功能的选择控制,是用外部送入的3位编码值I5—I3实现的。ALU还能给出CN+4,F,OVR和F = 0000 4位状态信息,并能接收最低位的一个进位输入信号CN。ALU还给出了超前进位信号/G和/P。

 

②。16个4位的通用寄存器组,用R0-R15表示,和1个4位的Q寄存器。通用寄存器组为双端口读出(用A地址与B地址选取择每个寄存器)和单端口(用B地址选取择)控制写入的运行方式,而且运算后的结果经一个移位器实现写入(左移,不移,右移)。Q寄存器本身具有左移,右移功能且能接收ALU的运算结果,左右移位时,就有移出,移入信号RAM3,RAM0,Q3,Q0, 4个入号,它们都通过具有双向传送功能的三态门实现的。

 

③。该芯片能接收外部送入的4位数据D3-D0,并输出奇制胜们的数据Y3-Y0。Y3-Y0可以是通用寄存器A端口上的输出或ALU的运算结果F,并还受输出允许控制信号/OE的控制,仅在/OE为低时,Y3-Y0才有输出,否则处于高阻态。

④。从图上可以看到,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.1 Am2901 9个控制信号I8~I0

控制码

I8I7I6

I5I4I3

I2I1I0

0   0   0

F→Q

F

R + S

A

Q

0   0   1

F

S – R

A

B

0   1   0

F→B

A

R – S

0

Q

0   1   1

F→B

F

R ∨ S

0

B

1   0   0

F/2→B

Q/2→Q

F

R ∧ S

0

A

1   0   1

F/2→B

F

/R ∧ S

D

A

1   1   0

2F→B

2Q→Q

F

R Å S

D

Q

1   1   1

2F→B

F

R ⊙ S

D

0

 

寄存器结果选择

Y输出选择

运算功能选择

R

S

注:RS中的“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个芯片的这些的各对应管脚连接在一起.

 

《计算机组成原理》实验报告——TEC-2实验系统——运算器实验_第2张图片

                                                                   微指令中三位微码(SST)与标志位的关系

 

三位微码与这8种处理的对应关系,已用表格形式给出。

本器件共用了4个输出端,即引用17.18.19.20分别组出CZVS4个标志位的值,并采用寄存器型逻辑记忆本次操作结果,此时每个输出引脚的表达式必须用C:=…的形式定义,且引脚的时钟脉冲信号必须引入。引脚13的/OE信号接地,表示输出信号是不被禁止的。

本器件共有14个输入信号,分别人引脚2-11,引脚14,引脚21-23送入,信号名字已给了央Gal20v8的描碠信息中。这些输入如何决定每一个输出位的结果,以逻辑表达式形式组出在每一个输出位的定义中。描述表中每行最右侧在分号之后给出的是注释内容。

 

表3.2三位微码与状态位的关系表

SST编码

状态位输入

B34  B33  B32

C

Z

V

S

0    0     0

C

Z

V

S

四个标志位的值保持不变

0    0     1

CY

F=0

OV

F15

接收ALU的标志位输出值

0    1     0

IB7

IB6

IB5

IB4

恢复标志位现场值

0    1     1

0

Z

V

S

C0,另三个标志不变

1    0     0

1

Z

V

S

C1,另三个标志不变

1    0     1

RAM0

Z

V

S

右移操作,另三个标志不变

1    1     0

RAM15

Z

V

S

左移操作,另三个标志不变

1    1     1

Q0

Z

V

S

联合右移,另三个标志不变

 

二:运算器最低位进位信号的给出与控制(SCi

运算器最低位的进位信号Cin,可能为0.1.C标志的值 ,为了调试与实验的方便,有时可送入一个连续的进位方波信号,当认运算器执行16位全1与这个最低闰的进位方波信号相加时,则加法器每一位的输出结果均为方波,有利于观察与调试.

3.3

SCi编码B11B10

00

01

10

11

Cin取值

0

1

C

TCLK方波

 

三:运算器最高位,最低位的移入信号(SSH)

移入通用寄存器中的移入信号RAM15和RAM0,以及乘商寄存器中的移入信号Q15和Q0.左移时,向RAM0,或RAM0与Q0移入数据,右移时,向RAM15,或RAM15与Q15移入数据,我们把5条移位指令和剩除法计算中的联合移位都考虑进去,可以归纳出如下4种结果,并用两位微码SSH区分它们。

 

3.4

控制码SSH

B9   B8

RAM0   Q0

RAM15     Q15

0    0

0        X

0           X

通用寄存器逻辑位移

0    1

C        X

C           X

通用寄存器与C循环移位

1    0

Q15     /F15

CY         RAM0

原码除(左移)乘(右移)

1    1

X        X

F15OVR  RAM0

右移用于补码乘法

说明:

表中“X”为任意值,表示取任意值都不受影响

当通用寄存器本身移位时,Q寄存器不受影响

乘除法运算要求通用寄存器与Q寄存器联合移位,没有Q寄存器单独移位功能

左右移是由指令功能确定的

SSH0,用于逻辑移位指令

1,用于循环移位指令

2,用于乘除法运算的联合移位及上商

3,用于算术右移指令,或补码乘法计算

 

三.实验内容:

脱机和联机时运算器实验

在脱机与联机两种方式下,可以用一些数据实现多种运算,以控制其操作过程与功能

检查所得结果的正确性。

(一) 脱机方式

1.    将TEC-2机功能开关FS4置为“1”。

2.    将TEC-2机主脉冲置为单步方式,即将STEP/CONT开关拨向STEP一边。

3.    用D0+0→R0将立即数D0(A000H)置入寄存器R0(0000)。具体的微型开关和数据开关按下表进行设置:

波特率开关   数据开关

SW2(共12位,最末三位未用)     SW1(共12位)

MI876    MI543    MI210    未用       A口 B口(R0)   SCi  SSH D15-D0

011  000  111  000  0000       0000       00   00   A000H

设置好各控制信号(MI8-MI0),并设置好十六位数据开关为“A000H”,即“1010 0000 0000 0000”后,按压一次STEP键,将立即数D0置入寄存器R0中。

 

4.    用D1+0→R1将立即数D1(4000H)置入寄存器R1(0001)。具体的微型开关和数据开关按下表进行设置:

波特率开关   数据开关

SW2(共12位,最末三位未用)     SW1(共12位)

MI876    MI543    MI210    未用       A口 B口(R1)   SCi  SSH D15-D0

011  000  111  000  0000       0001       00   00   4000H

用同样的方法将立即数D1置入寄存器R1中。

5.    对寄存器R0、R1初始化后,便可对R0和R1进行各种算术、逻辑运算,此时R0保存的数据为D0(A000H),R1保存的数据为D1(4000H)。

6.    将开关S2 S1 S0置于“110”时,指示灯将显示ALU的运算结果;将开关S2 S1 S0置于“000”时,指示灯将显示SVZC的状态,对应TEC-2机上H25 = S,H26 = V,H27 = Z,H28 = C。

 

7.    对R0和R1进行各种算术、逻辑运算。

 

(二) 联机方式

启动TEC-2机,进入监控程序状态:具体操作如下:

 

1.    将TEC-2机的FS1~FS4置为1010,STEP/CONT置成CONT。

2.    打开计算机电源开关,使计算机正常启动。打开TEC-2电源开关,TEC-2大板左上角一排指示灯亮。

3.    运行通讯程序PCEC,在DOS下命令提示(按默认设置:选择1,N)。联机后,进入联机状态,用A命令输入下列程序:(ENTER表示)

>A800 ENTER
MOV     R0,A000
MOV     R1,4000
ADD     R0, R1
SUB     R0,R1
OR      R0,R1
AND     R0,R1
XOR     RO, R1
ADC     R0, R1
SHL    RO
INC    RO 
RET

4.    用“G”命令运行程序

在命令行提示符状态下输入:

> G800

执行上面输入的程序

5.    用“R”命令观察运行结果及状态

在命令行提示符状态下输入:

>R

观察运行结果及状态

屏幕将显示:

R0=8001  R1=4000……

6.    用“T”或“P”命令单步执行

在命令行提示符状态下输入:

>T

>P

执行之后,观察运行结果及状态。

四.  实验器材

1.    TEC-2机一台,电脑一台

2.    TEC-2模拟软件一套

 

 

                                         

      

 

五.  实验分析与设计

1.    脱机实验

 

  1. R0+R1->R0

    《计算机组成原理》实验报告——TEC-2实验系统——运算器实验_第3张图片

  2. R0+0->R0

    《计算机组成原理》实验报告——TEC-2实验系统——运算器实验_第4张图片

  3. R0-R1->R0

    《计算机组成原理》实验报告——TEC-2实验系统——运算器实验_第5张图片

  4. R0+0->R0

    《计算机组成原理》实验报告——TEC-2实验系统——运算器实验_第6张图片

  5. R0⋁R1->R0

    《计算机组成原理》实验报告——TEC-2实验系统——运算器实验_第7张图片

  6. R0+0->R0

    《计算机组成原理》实验报告——TEC-2实验系统——运算器实验_第8张图片

  7. R0⋀R1->R0

    《计算机组成原理》实验报告——TEC-2实验系统——运算器实验_第9张图片

  8. R0+0->R0

    《计算机组成原理》实验报告——TEC-2实验系统——运算器实验_第10张图片

2.    联机实验

MOV     R0,A000
MOV     R1,4000
ADD     R0, R1
SUB     R0,R1
OR      R0,R1
AND     R0,R1
RET

       《计算机组成原理》实验报告——TEC-2实验系统——运算器实验_第11张图片

MOV     R0,A000
MOV     R1,4000
ADD     R0, R1
SUB     R0,R1
OR      R0,R1
AND     R0,R1
XOR     RO, R1
ADC     R0, R1
SHL    RO
INC    RO 
RET

《计算机组成原理》实验报告——TEC-2实验系统——运算器实验_第12张图片

六.  思考题

在脱机方式下进行运算器实验时,在按STEP键之前和按STEP键之后,ALU的输出结果及状态SVZC有何不同,为什么?根据Am2901运算器的组成结构及其工作原理加以说明。

答:

(1)设置好相应微码和AB口地址之后,立即输出该运算功能的运算结果,此时ALU也已经得到SVZC的值,但并没有传给标志寄存器。按STEP之后,ALU的输出结果则为运算器再做一次运算的结果,这时SVZC所显示的值则为上一步标志位寄存器的值。

(2)根据Am2901运算器的组成结构可以知道,ALU是一个组合逻辑电路,设置A、B相应的值之后,相应的数据便会立即被传送到ALU中进行相应的运算,并且显示出对应的运算结果也会被存在存储器里面。按下STEP之后,在脉冲的作用下,. 上一步的运算结果也会被存在寄存器里面,但控制码和地址没有改变,所以上一步的运算结果会重新被送到ALU中进行运算,此时ALU的结果为一步运算结果再进行一次运算的数据。

SVZC存储在状态标志寄存器中,其值的改变需要有脉冲信号的作用才能改变,所以在按STEP之前,SVZC的值不变,按下STEP之后,SVZC显示的值才是上一步标志位的状态值。      

                                         

 

 

七.  实验心得

1.    了解和掌握Am2901运算器的组成结构和工作原理;

2.    认识和掌握TEC-2机运算器的组成和工作原理;

3.    认识和掌握TEC-2机运算器相关控制信号的含义和使用方法;

 

 

你可能感兴趣的:(《计算机组成原理》实验报告——TEC-2实验系统——运算器实验)