一.实验目的

  1. 了解和掌握Am2901运算器的组成结构和工作原理;
  2. 认识和掌握TEC-2机运算器的组成和工作原理;
  3. 认识和掌握TEC-2机运算器相关控制信号的含义和使用方法;

二.实验原理

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

① 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,这回个控制信号分成三组,它们是:
I8,I7,I6(B30-28):选择运算结果或有关数据以何种方式送往何处;
I5,I4,I3(B26-24):选择ALU的运算功能,共8种;
I2,I1,I0(B22-20):选择送入ALU进行运算的两个操作数据R和S的来源,共有8种组合。
这三组控制信号与相应控制码的关系如下表:
表3.1 Am2901 9个控制信号I8~I0
控制码 I8、I7、I6 I5、I4、I3 I2、I1、I0
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

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

三位微码与这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 置C为0,另三个标志不变
1 0 0 1 Z V S 置C为1,另三个标志不变
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编码(B11、B10) 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 F15⊕OVR RAM0 右移用于补码乘法
说明:
• 表中“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

  1. 用“G”命令运行程序
    在命令行提示符状态下输入:

G800
执行上面输入的程序

  1. 用“R”命令观察运行结果及状态
    在命令行提示符状态下输入:

R
观察运行结果及状态
屏幕将显示:
R0=8001 R1=4000……

  1. 用“T”或“P”命令单步执行
    在命令行提示符状态下输入:

T

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

四. 实验器材

  1. TEC-2机一台,电脑一台
  2. TEC-2模拟软件一套

五. 实验分析与设计

  1. 脱机实验
    R0+R1->R0


R0+0->R0


R0-R1->R0

R0+0->R0

R0⋁R1->R0

R0+0->R0

R0⋀R1->R0

R0+0->R0

2. 联机实验

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

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


六. 思考题
在脱机方式下进行运算器实验时,在按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机运算器的组成和工作原理,在使用TEC-2机运算器的过程中,模拟了实际的脱机和联机的运算操作,熟悉了模拟计算机相关操作,提高了我个人做实验,排查错误的能力。
  3. 认识和掌握TEC-2机运算器相关控制信号的含义和使用方法,了解到TEC-2机运算器各个部件的知识,知道了各个信号关系和控制组件,为接下来能够进行更多更复杂的计算机组成原理实验奠定了基础。

计算机组成原理实验一报告——运算器相关推荐

  1. 计算机组成原理实验八报告,计算机组成原理实验八报告

    <计算机组成原理实验>报告一 姓名学号 时间周四11-13 地点计算机楼 606 一.内存系统实验 1.实验内容及要求 实验内容: 1. 手动方式把立即数33H写入内存D1H单元. 2. ...

  2. 计算机组成原理实验三报告,计算机组成原理实验三报告

    计算机组成原理实验三报告 实 验 报 告 三课 程 计算机组成原理 姓 名 学 号实验项目 存储器实验 同组姓名 学 号指导教师 专业班级 计算机科学与技术 09 实验时间 2011-6-6实验三 存 ...

  3. 计算机组成原理赖晓铮课后答案,计算机组成原理实验 2.5 运算器 赖晓铮.ppt

    文档介绍: 计算机组成原理实验系列一.总线与寄存器二.进位加法器三.比较器(仲裁器)四.计数器五.运算器六.存储器七.时序发生器八.微程序控制器九.硬布线控制器赖晓铮博士华南理工大学******@sc ...

  4. 计算机组成原理第五个实验,计算机组成原理实验五报告.docx

    计算机组成原理实验五报告 实 验 报 告课 程计算机组成原理姓 名学 号实验项目微程序控制单元实验同组姓名学 号指导教师专业班级计算机科学与技术09实验时间2011-6-20实验五 微程序控制单元实验 ...

  5. 计算机组成原理实验八报告,计算机组成原理实验报告-八位补码加减法器的设计与实现.docx...

    计算机科学与技术学院 计算机组成原理 实验报告书 实?验?名?称 班级 学号 姓名 指?导?教?师 日期 成绩 八位补码加/减法器的设计与实现 实验?1?八位补码加/减法器的设计与实现 一.实验目的 ...

  6. 21级计科专业计算机组成原理实验一报告

    实验资料: https://wwpv.lanzoue.com/b05drrb2b 密码:7nwj 附件清单如下: (1)MSDEV.EXE-----替换后可以修复调试后软件不可用的情况 (2)计算机组 ...

  7. 计算机组成原理实验一:运算器组成的实验

    本篇博文主要是讲述一下计算机组成原理实验中运算器组成的实验,因为很多同学在刚学习计算机组成原理实验的时候对于调试的一些步骤还是有些懵懵懂懂,每个步骤之间的连接做的不是很连贯,故有了写此篇博文的初衷,笔 ...

  8. 计算机组成原理 赖晓铮,计算机组成原理实验 2.5 运算器 赖晓铮

    计算机组成原理实验系列,一.总线与寄存器二.进位加法器三.比较器(仲裁器)四.计数器五.运算器六.存储器七.时序发生器八.微程序控制器九.硬布线控制器,[email protected]:680465 ...

  9. 计算机组成原理实验二:运算器实验

    实验基于多思计算机组成原理网络虚拟实验系统 实验室地址:http://www.dsvlab.cn/ 实验目的: 通过门电路实现运算器 1)掌握算术逻辑运算单元的工作原理.              2 ...

最新文章

  1. php会话的销毁和退出,销毁PHP会话
  2. Qt探索之路——获取QTextEdit文本内容
  3. xmppframework for iOS client (一) XMPPFramework环境配置
  4. mysql php查询错误_php查询mysql数据库错误
  5. 玩转Python? 一文总结30种Python的窍门和技巧!
  6. 电话光端机安装步骤详解
  7. 创建一个简单的 MDM server(1)
  8. 老板让我用少量样本 finetune 模型,我还有救吗?急急急,在线等!
  9. java jdbc pr_Java JDBC学习笔记
  10. SpringBoot 整合 RabbitMQ 实践
  11. 微软 Azure 再下一城:收购 Kinvolk,改进开源 Linux
  12. 02-大鸭梨博客系统数据库设计及Dapper的使用
  13. ati自定义分辨率_在Windows 10上设置自定义分辨率 | MOS86
  14. matlab命令行窗口显示长度设置_MATLAB的命令窗口、图形窗口
  15. js递归处理删除某些节点
  16. freemarker模板注入
  17. 云原生CI/CD:Tekton之trigger介绍
  18. 纵断面 java_道路土方计算软件
  19. Unity批次合并渲染
  20. 入门二叉平衡树的世界

热门文章

  1. js判断是否是数字——isNaN()函数
  2. SLIC图像超像素分割算法解析
  3. python 数据挖掘工具_推荐19款最常用的数据挖掘工具
  4. 树莓派部署BT下载机
  5. 【mybatis源码】 mybatis底层源码分析
  6. BSV 上的 Schnorr 签名
  7. C语言中,#include的用法:#include 和 #include区别
  8. 1875 贝茜的报复(dfs、二进制)
  9. 使用腾讯云服务器搭建离线(中转)网盘
  10. 艾恩技术access sql asp