ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

计算机组成原理——TEC-2运算器实验

2022-01-14 18:34:03  阅读:484  来源: 互联网

标签:R0 运算 TEC R1 寄存器 运算器 计算机


《计算机组成原理》

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

实验地点:10-413

一.实验目的

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

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

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

二.实验原理

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的级联结构

一片4位的Am2901芯片的引脚信号如图2-2所示。其中A3~A0、B3~B0 用于输入选中的通用寄存器地址(0000~1111分别对应于Ro~R1s); I~Io用于运算过程的控制信号; D3~D0用于输入外部数据;Y3~Y0用于输出运算的结果;CP为时钟信号;/OE为选通信号;RAM3、RAM0为运算结果左右移时的移出位;Q3、Q0为乘商寄存器Q左右移时的移出位;Cy、F=0、Over、F3分别为进位标志位、零标志位、溢出标志位、符号标志位; Cin 为外部输入的最低进位位。

 

4. Am2901的操作时序

图3.3  Am2901的时钟信号的作用

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

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

(1)I8、I7、I6:选择运算结果或有关数据以何种方式送往何处; 

(2)I5、I4、I3:选择ALU的运算功能,共八种;  

(3)I2、I1、I0:选择送入进行运算的两个操作数据R和S的来源。 这三种控制信号与相关控制码的关系如下表3.1所示: 

表3.1 Am2901 9个控制信号I8~I0

 

6. 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三位微码与状态位的关系表

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

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

 

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

 

说明: 

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

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

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

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

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

为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.    脱机实验

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

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

通过上述实验步骤,得到正确的如下结果:

2.    联机实验

                                         

启动TEC-2机,进入监控程序状态:将TEC-2机的FS1~FS4置为1010,STEP/CONT置成CONT,点击监控程序。

根据上述实验步骤得到如下正确结果:

                                  

六.  思考题

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

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

从Am2901的内部结构图可以看出,A口和B口寄存器在送入ALU之前会经过对应的锁存器,在没有按STEP前,即不产生任何脉冲信号前,当前锁存器内保存的数据与SVZC内保存的数据与寄存器中当前的数据无关,此时修改了MI8~0,就修改了运算方式,会对锁存器中当前的值进行运算,结果会马上显示在ALU输出中。查看Am2901的时钟信号的作用可以知道,下降沿信号会促发A、B数据锁存。因此,按压STEP后,当前计算的结果会写入锁存器中,比如R1+R0->RO。此时锁存器中的值被改变了,同时改变的还有LU的输出结果和SVZC的值,因为ALU是使用锁存器的当前值进行计算的。

                                         

七.  实验心得

通过本次实验,让我对TEC-2的使用有了初步的理解,还基本了解和掌握Am2901运算器的组成结构和工作原理,认识和掌握TEC-2机运算器相关控制信号的含义和使用方法,并可以解决一些较为复杂的问题,但是并没有熟练掌握其中的一些技巧。原本的纸面描述并不能真正理解,但通过实验动手操作,对其内部处理有了进一步了解,从而加强了对其功能的深刻理解。成功的认识和掌握TEC-2机运算器的组成和工作原理;且认识和掌握TEC-2机运算器相关控制信号的含义和使用方法。

 

标签:R0,运算,TEC,R1,寄存器,运算器,计算机
来源: https://blog.csdn.net/weixin_48388330/article/details/122499816

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有