TEC2实验计算机运算器实验.docx

上传人:b****0 文档编号:9493194 上传时间:2023-05-19 格式:DOCX 页数:17 大小:301.91KB
下载 相关 举报
TEC2实验计算机运算器实验.docx_第1页
第1页 / 共17页
TEC2实验计算机运算器实验.docx_第2页
第2页 / 共17页
TEC2实验计算机运算器实验.docx_第3页
第3页 / 共17页
TEC2实验计算机运算器实验.docx_第4页
第4页 / 共17页
TEC2实验计算机运算器实验.docx_第5页
第5页 / 共17页
TEC2实验计算机运算器实验.docx_第6页
第6页 / 共17页
TEC2实验计算机运算器实验.docx_第7页
第7页 / 共17页
TEC2实验计算机运算器实验.docx_第8页
第8页 / 共17页
TEC2实验计算机运算器实验.docx_第9页
第9页 / 共17页
TEC2实验计算机运算器实验.docx_第10页
第10页 / 共17页
TEC2实验计算机运算器实验.docx_第11页
第11页 / 共17页
TEC2实验计算机运算器实验.docx_第12页
第12页 / 共17页
TEC2实验计算机运算器实验.docx_第13页
第13页 / 共17页
TEC2实验计算机运算器实验.docx_第14页
第14页 / 共17页
TEC2实验计算机运算器实验.docx_第15页
第15页 / 共17页
TEC2实验计算机运算器实验.docx_第16页
第16页 / 共17页
TEC2实验计算机运算器实验.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

TEC2实验计算机运算器实验.docx

《TEC2实验计算机运算器实验.docx》由会员分享,可在线阅读,更多相关《TEC2实验计算机运算器实验.docx(17页珍藏版)》请在冰点文库上搜索。

TEC2实验计算机运算器实验.docx

TEC2实验计算机运算器实验

TEC-2实验计算机运算器实验

一.实验目的

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

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

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

4.了解和掌握运算器的进位时间的测试方法,及进一步掌握双踪示波器的使用方法

二.实验原理

1.概述

运算器部件是计算机五大功能部件中的数据加工部件。

运算器的首要功能是完成对数据的算术和逻辑运算,由其内部的一个被称为算术与逻辑运算部件(ALU)来实现,它在给出运算结果的同时,还给出运算结果的标志,如溢出否,进位否,结果为零否和符号正负等,这些标志都保存在一个状态寄存器中。

运算器的第二项功能,是暂存将参加运算的数据和中间结果,由其内部的一个寄存器来承担。

因为这些寄存器可被汇编程序直接访问与使用,因此将它们称为通用寄存器,以区别那些计算机内部设置的、不能为汇编程序员访问的专用寄存器。

为了用硬件线路完成程序指令运算,运算器内一般还有一个能自行左右移位的专用寄存器,称为乘商寄存器。

TEC-2实验机的运算器核心部分是Am2901。

Am2901芯片是一个4位的位片结构的完整的运算器部件。

对运算器的控制与操作,指的是如何让运算器完成所预期的操作功能。

这是通过正确地向其提供控制信号。

包括选哪个(哪些)数据参加运算,执行何种运算功能,对运算结果(值和特征)如何保存与送出等;同时,要解决正确向运算器提供参加运算数据的种种问题,包括从外部向运算器送入数据,正确给出ALU最低的进位信号,运算器左右移位操作中的移位输入信号等。

给出正确的数据的来源和正确的控制信号,运算器就执行规定的操作功能。

在计算机整体运行过程中,运算器用到的控制信号是由计算机的控制部件提供;从教学实验需求考虑,如TEC-2机运算器运行中用到的数据和控制信号,也可以通过该教学计算机上的16个手拨数据开关和24个手拨微型开关来实现。

2.Am2901运算器

一、Am2901芯片内部组成结构

Am2901芯片是一个4位的位片结构运算部件,是一个完整的运算器,只是位数较少,具有很好的典型性,是个理想的教学实例。

其内部组成结构如下图所示:

(1)4位的ALU,实现8种运算功能,其每一位上的2个输入数据分别用R和S表示。

这八种功能的选择控制,是用外部送入的3位编码值I5~I3实现的。

ALU还能给出Cn+4、F、OVR和F=0000四位状态信息,并能接受最低位的一个输入信号Cn。

(2)16个4位的通用寄存器组,用R0~R15表示,和一个4位的Q寄存器,通用寄存器组为双端读出和单端控制,而且运算后的结果经过一个移位器实现写入。

Q寄存器本身具有左移右移功能且能接受ALU的运算结果。

(3)能接收外部送入的4位数据D3~D0,并输入4位的数据Y3~Y0。

(4)从图上可以看到,ALU的两个输入端R和S分别可以接收D输入,A端口或逻辑0数据,和A端口、B端口、Q寄存器和逻辑0数据。

(5)Am2901还采用另外3位外部送来的控制信号I8~I6。

(6)通用寄存器组通过A端口,B端口读出内容的输出处均有锁存器线路支持,以保证在执行诸如A+B结果送B运算时操作的正确性。

3、Am2901的操作时序

 

图3.3Am2901的时钟信号的作用

4.Am2901芯片的控制信号及其控制码与操作

Am2901戏弄的控制信号有9个,即I8~I0,这9个控制信号分为三组,它们是:

(1)I8、I7、I6:

选择运算结果或有关数据以何种方式送往何处;

(2)I5、I4、I3:

选择ALU的运算功能,共八种;

(3)I2、I1、I0:

选择送入进行运算的两个操作数据R和S的来源。

这三种控制信号与相关控制码的关系如下表3.1所示:

表3.1Am29019个控制信号I8~I0

控制码

I8、I7、I6

I5、I4、I3

I2、I1、I0

000

F→Q

F

R+S

A

Q

001

F

S–R

A

B

010

F→B

A

R–S

0

Q

011

F→B

F

R∨S

0

B

100

F/2→B

Q/2→Q

F

R∧S

0

A

101

F/2→B

F

/R∧S

D

A

110

2F→B

2Q→Q

F

RS

D

Q

111

2F→B

F

R⊙S

D

0

寄存器结果选择

Y输出选择

运算功能选择

R

S

注:

R、S中的“0”为逻辑0。

5.TEC-2机运算器

如图:

图3.6完整的16位运算器的组成框图

4片间的连接关系是:

16位的数据输入有4片各各自的D3~D0组成,其位序号从高位芯片向低位芯片顺序排成D15~D0。

16位的数据输出由4片各自的Y3~Y0组成,其为序号从高位芯片向低位芯片顺序排成Y1~Y0。

高地位进位关系的3组信号。

其他的计组输入信号,对4片Am2901期间来说应该有相同的值,包括/OE(控制选通Y的输出),A地址,B地址,I8~I0,和工作脉冲CP,故应将4个芯片的这些管脚连接一起。

6.TEC-2机运算器部件的辅助组成部分

**标志位的含义及取值:

S:

符号标志,负数为1;

V:

溢出标志,溢出则为1;

Z:

运算结果标志,结果为0则为1;

C:

进/借位标志,有则为1

三位微码与这8种处理的对应关系,以用表格形式给出在TEC-2的操作卡上,

如表3.2所示。

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

SST编码

状态位输入

说明

B34B33B32

C

Z

V

S

000

C

Z

V

S

四个标志位的值保持不变

001

CY

F=0

OV

F15

接收ALU的标志位输出值

010

IB7

IB6

IB5

IB4

恢复标志位现场值

011

0

Z

V

S

置C为0,另三个标志不变

100

1

Z

V

S

置C为1,另三个标志不变

101

RAM0

Z

V

S

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

110

RAM15

Z

V

S

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

111

Q0

Z

V

S

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

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

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

表3.3

SCi编码(B11、B10)

00

01

10

11

Cin取值

0

1

C

TCLK方波

运算器最高位,最低位的一如信号(SSH)

表3.4

控制码SSH

左移

右移

说明

B9B8

RAM0Q0

RAM15Q15

00

0X

0X

通用寄存器逻辑位移

01

CX

CX

通用寄存器与C循环移位

10

Q15/F15

CYRAM0

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

11

XX

F15⊕OVRRAM0

右移用于补码乘法

说明:

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

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

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

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

•SSH为0,用于逻辑移位指令

为1,用于循环移位指令

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

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

 

三.实验内容

I.脱机实验

(1)将TEC-2机功能开关FS4置为“1”

(2)将TEC-2机主脉冲置为单步方式,即STEP/CONT开关STEP一边

(3)用D0+0→R0将立即数D0置入寄存器R0

波特率开关

数据开关

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

SW1(共12位)

MI876

MI543

MI210

未用

A口

B口(R0)

SCI

SSH

D15-D0

011

000

111

000

0000

0000

00

00

A000H

1.按上表设置各控制信号(MI8-MI0为垂直板元件V60SW2,A口、B口、SCI、SSH为垂直板元件V61SW1)

2.按上表设置十六位数据开关(为:

“A000H”,即“1010000000000000”)

3.按压一次STEP键后,立即数D0即置入寄存器R0中

波特率开关

数据开关

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

SW1(共12位)

MI876

MI543

MI210

未用

A口

B口(R1)

SCI

SSH

D15-D0

011

000

111

000

0000

0001

00

00

9000H

(4)用D1+0→R1将立即数D1置入寄存器R1

1.按上表设置各控制信号(MI8-MI0为垂直板元件V60SW2,A口、B口、SCI、SSH为垂直板元件V61SW1)

2.按上表设置十六位数据开关(为:

“9000”,即“1001000000000000”)

3.按压一次STEP键后,立即数D1即置入寄存器R1中

(5)对R0和R1进行各种算术、逻辑运算。

将开关S2、S1、S0置于“110”,指示灯将显示ALU的运算结果;将开关S2、S1、S0置于“000”,指示灯将显示SVZC的状态。

 

功能

MI8~6

MI5~3

MI2~0

A口

B口

按压STEP前

按压STEP后

ALU输出

SVZC

ALU输出

SVZC

R1+R0→R0

R0+0→R0

R0-R1→R0

0+R0→R0

R1∨R0→R0

0+R0→R0

R1∧R0→R0

0+R0→R0

R1⊕R0→R0

0+R0→R0

R1+R0+C→R0

0+R0→R0

R0*2→R0

0+R0→R0

R0+1→R0

0+R0→R0

SCi的设置:

R0+R1+C→R0,SCi=;R0+1→R0,SCi=;其余SCi=

II.联机实验。

(1)将FS1~FS4置成1010,STEP/CONT置成CONT,启动TEC-2机,进入监控程序。

(2)在联机状态下,在命令行状态用“A”命令输入下列程序:

>A800

0800:

MOVR0,A000

MOVR1,9000

0804:

ADDR0,R1

SUBR0,R1

ORR0,R1

ANDR0,R1

XORR0,R1

ADCR0,R1

SHLR0

INCR0

RET

(3)用“G”,命令运行程序

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

>G800

执行上面输入的程序

(4)用“R”命令观察运行结果及状态

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

>R

观察运行结果及状态

屏幕将显示:

R0=2001R1=9000R2=0000R3=0000SP=0FD0PC=0800IP=00CD....

R9=0000R10=0000…F=00011111

0800:

2C00A000MOVR0A000

(5)用“T”或“P”命令单步执行

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

>T

>P

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

四.实验器材

(1)TEC-2机一台,电脑一台

(2)示波器一台

五.实验分析与设计

根据实验内容板块中所述,一步一步进行实验,得到实验结果如下图表所示:

功能

MI8~6

MI5~3

MI2~0

A口

B口

按压STEP前

按压STEP后

ALU输出

SVZC

ALU输出

SVZC

R1+R0→R0

011

000

001

0001

0000

3000

1000

C000

0001

R0+0→R0

011

000

011

XXXX

0000

3000

0001

3000

0000

R0-R1→R0

011

001

001

0001

0000

A000

0000

1000

1000

0+R0→R0

011

000

011

XXXX

0000

A000

1000

A000

1000

R1∨R0→R0

011

011

001

0001

0000

B000

1000

B000

1000

0+R0→R0

011

000

011

XXXX

0000

B000

1000

B000

1000

R1∧R0→R0

011

100

001

0001

0000

9000

1000

9000

1000

0+R0→R0

011

000

011

XXXX

0000

9000

1000

9000

1000

R1⊕R0→R0

011

110

001

0001

0000

0000

1000

9000

0010

0+R0→R0

011

000

011

XXXX

0000

0000

0010

0000

0010

R1+R0+C→R0

011

000

001

0001

0000

9000

0010

2000

1000

0+R0→R0

011

000

011

XXXX

0000

9000

1000

9000

1000

R0*2→R0

111

000

011

XXXX

0000

9000

1000

2000

1000

0+R0→R0

011

000

011

XXXX

0000

2000

1000

2000

0000

R0+1→R0

011

000

011

XXXX

0000

2001

0000

2002

0000

0+R0→R0

011

000

011

XXXX

0000

2001

0000

2001

0000

SCi的设置:

R0+R1+C→R0,SCi=10;R0+1→R0,SCi=01其余SCi=00

 

六.思考题

(1)在脱机方式下进行运算器实验时,在按STEP键之前和按STEP之后,ALU的输出结果及状态SVZC有何不同?

为什么?

根据Am2901运算器的组成结构及其工作原理加以说明。

答:

AB锁存器的控制信号如下图,按下step键是通过脉冲信号把总线的数据保存到B口地址所指定的通用寄存器中,并将ALU产生的SVZC标志信号送出给接收端。

而ALU是逻辑电路,不需要脉冲信号的参与便可以自行工作运算。

当我们设置好相应微码和A、B口地址之后,便立即输出了该次运算功能的运算结果,此时ALU也已经得到SVZC的值,但并没有把该次运算的运算结果的标志传给标志寄存器;当我们按下STEP之后,ALU的输出结果则为运算器再做一次同样的运算功能的运算结果,而此时该次运算的运算结果的标志传给标志寄存器,SVZC所显示的值是上一次标志位寄存器的值,也即我们想得到的结果。

综合上述可知,在按压step之前,ALU输出就已经是我们想要的运算结果,而SVZC则是上一次运算结果的SVZC;而按下step之后,ALU输出就是再次执行相同运算后的结果,并非我们所需要的结果,而SVZC则是我们所需的运算结果的SVZC。

(2)写出实现以下功能操作的微码:

(按下表形式写)

A.(R10+R0)Q–>R0Q,联合左移

B.D-B->其中D为数据,B为B寄存器。

C.0->R0,要求不要用立即数传送方式。

功能操作

MI876

MI543

MI210

A口地址

B口地址

A.(R10+R0)Q→R0Q联合左移

110

000

001

1010

0000

功能操作

MI876

MI543

MI210

A口地址

B口地址

B.D–B→B

B->Q

000

000

011

0000

B

D-Q->B

011

010

110

0000

B

C.0→R0

R0⊕R0->R0

011

110

001

0000

0000

R0-R0->R0

011

001

001

0000

0000

/R0∧R0→R0

011

101

001

0000

0000

D∧0→R0

011

100

111

0000

0000

Q∧0→R0

011

100

010

0000

0000

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2