实验一:脱机运算器实验
- 格式:docx
- 大小:96.99 KB
- 文档页数:4
I 5 I 4 I 3 运算类型
0 0 0 R+ S
0 0 1 S- R
0 1 0 R- S
0 1 1 RV S
1 0 0 RA S
1 0 1 RA S
1 1 0 R® S
1 1 1 R® S I 2 I 1 I 0 R来源 S来源
0 0 0 A Q
0 0 1 A B
0 1 0 0[1] Q
0 1 1 0 B
1 0 0 0 A
1 0 1 D2] A
1 1 0 D Q
1 1 1 D 0 I 8 I 7 I 6 寄存器组 Q寄存器 Y输岀
0 0 0 F T Q F
0 0 1 F
0 1 0 FT B A
0 1 1 FT B F
1 0 0 F/2 T B Q/2 T Q F
1 0 1 F/2 T B F
1 1 0 2F T B Q/2 T Q F
1 1 1 2F T B F 实验一脱机运算器实验
一、实验目的
1、 深入了解位片结构运算器 AM2901的功能与用法;
2、 学习4片AM2901组成一个16位运算器的级连方式,深化运算器部件的组成、设计、控制和使用等方面的知识。
、实验原理
运算器是计算机中执行各种算术和逻辑运算操作的部件。运算器的基本操作包括加、减、乘、除四则运算,与、或、非、异或 等逻辑运算,以及传送、移位、比较等操作。运算器的组成除了 ALU单元外,还包括必要的寄存器和移位器等部件。寄存器用于存
放操作数和运算结果,以节省访问存储器的时间;移位器实现数据的移位功能,以扩展 ALU的运算功能,增加数据传送的灵活性。
AM2901是一个4位的位片结构运算器, 主要由ALU输入多路选择器、输出选择器、寄存器组和移位器等组成, 如图1-1所示。
1 )算术逻辑ALU
ALU为4位算术逻辑单元,共有 8种运算功能,由输入端I』4I 3的编码值决定执行哪一种功能。
2) 通用寄存器组
AM2901内部有一个通用寄存器组,共有 16个4位的寄存器。寄存器组有 A和B两个端口,其中端口 A只有读出数据功能,端
口 B具有读出和写入两种功能。即数据可以从 A口和B 口输出,但只能从 B 口输入。
3) Q寄存器
Q寄存器位4位,在乘除运算中可用来存放乘数或商,故又称为乘商寄存器。 Q寄存器本身具有移位功能,可对数据进行左移
一位或右移一位的处理。
4) ALU输入多路选择器
AM2901具有两个输入多路选择器 R和S,为ALU提供两个操作数。R可选择来自数据线的数据 D (来自外部)或寄存器组端口 A的数据;S可从寄存器组端口 A B和Q寄存器3个来源选取数据。两个操作数的组合由控制信号 I2I1I0的编码确定。
5) 移位器
4位,用于对ALU的输出实现直送、左移或右移处理。
6) 输出选择器
选择AM2901输出数据Y的来源。输出数据 Y有两个来源:一个是 ALU的运算结果F,另一个是直接来自寄存器组端口 A。输出
数据Y的选择,以及ALU的运算结果F如何传送给寄存器组端口 B的输入或Q寄存器,由控制信号I8I7I6的编码值确定。
表1-1、表1-2和表1-3为ALU操作运算、数据来源以及运算结果处理的选择情况。 4 输岀丫
图1-1 AM2901芯片的内部组成结构
表1-1选择8种运算 表1-2选择ALU的8种输入数据组合 表1-3选择运算器的8种结果的处置方案 注:[1] 0表示数值恒为0; [2]D表示外部数据。
7) Am2901需要用一个CLK(CP时钟信号作为内部通用寄存器、锁存器和 Q寄存器的打入(锁存)信号,如图 1-2所示。CLK
为高电平时A、B锁存器即输入端的数据直通输出端, CLK的下降沿将输入端的数据锁存。CLK为低电平时通用寄存器从 B 口接收数
据,CLK的上升沿将输入端的数据锁存, Q寄存器接收数据的情况与通用寄存器组相同。
图1-2 Am2901时钟CLK信号作用图
三、实验内容与步骤
1、 实验说明
脱机运算器实验,是指把运算器部件完全脱离与计算机主机和其他部件正常的连接关系, 在完全孤立岀来的运算器上进行的实
验。此时,只能通过微型拨动开关和按键控制教学机的运算器完成指定的运算功能,并通过信号指示灯观察运算结果。
除I 8〜| 0的9个拨动开关之外,其余的拨动开关功能和作用如下:
1) A口、B 口地址(各4位):输入从A口、B 口对内部寄存器组的寄存器进行读、写操作的地址。
2) SCI (2位):选择最低位进位输入信号 C0的形成,可取0、1,也可取进位标志 C的值(用于带进位的加、减运算)。
3) SSH(2位):选择移位器左移、右移操作时最高位或最低位的移入信号。
4) SST(3位):选择运算器的操作结果对状态标志寄存器的影响,即选择某个操作结果将对状态寄存器的标志有什么影响。
2、 实验内容
在运算器脱机环境下,以手工方式,通过拨动开关向运算器提供运算操作所需的控制信号和数据,完成运算器的运算操作。
3、实验步骤
1 )打开电源开关后,将教学机左下方的 5个拨动开关置为1XX00 (单步、16位、脱机方式);先按一下“ RESET按键,再按
一下“ START键(每按一下“ START键,时钟电路发出一个负脉冲),进行初始化。
2) 将SST设置为“ 001”,通过拨动开关向运算器提供控制信号。
3) 按下表所列的操作进行脱机运算器实验,将结果填入表中。其中 D1取为0101H, D2取为1010H D1、D2通过16位数据开 关向运算器提供数据;通过指示灯观察运算结果及状态标志。
4 )特别说明:下表的运算实际上分两步完成:第一步完成数值运算,第二步完成赋值以及将标志状态送到标志寄存器。当设 置好丨8-1
0、SCI、SSH的值以及A 口和B 口的地址后,运算器进行运算,按下 START键后进行赋值(包括标志寄存器)操作。
运算 I 8-I 0 A B SCI SSH 压START前 压 START后
ALU输出 CZVS ALU输出 CZVS
*D1+0->R0 011000111 不用 0000 00 00 1212 随机 1212 0
*D2+0->R1 011000111 不用 0001 00 00 3131 0 3131 0
R0+R1->R0 011000001 0001 0000 00 00 4343 0 7474 0
R0-R1->R0 011001001 0001 0000 01 00 1212 0 E0E1 1000
R1-R0->R1 011001001 0000 0001 01 00 1F1F 1000 0D0D 1000
R0V R1->R1 011011001 0000 0001 00 00 1F1F 1000 1F1F 1000
R0A R1->R0 011100001 0001 0000 00 00 1212 1000 1212 1000
R0® R1->R0 011110001 0001 0000 00 00 0D0D 1000 1212 1000
R0® R1->R0 011111001 0001 0000 00 00 EDED 1000 0D0D 1001
2*R0->R0 111000011 不用 0000 00 00 EDED 1001 DBDA 0001
R0/2->R0 101000011 不用 0000 00 00 DBDA 0001 6DED 0001
注:用*标记的运算,表示 D1、D2的数据来自外部,由拨动开关 SW合出。
四、实验要求
1、 认真写岀预习报告,包括实验用的全部数据,实验操作步骤等。 —系统时钟 ALU操作周期
Q寄存器接收
A、B 口数据锁存 通用寄存器接收 2、 实验之后写岀实验报告,包括实验过程中遇到的问题,解决方法,实验后的心得体会及对该次实验的建议与意见。
五、思考题
1、请举例说明,为何有的运算在按下 START键之前和按下START键之后运算器的输出 F相同,有的运算在按下 START键之前
和按下START键之后运算器的输出 F不同?
在进行运算器脱机实验时,若通过指示灯检查运算器的每次运算结果,得到运算结果是在 START之前,而得到状态寄存器中存
入的状态标志结果是在 START键之后。
参照ALU的操作周期的时序知 A B 口数据锁存是在时钟下降沿,而寄存器的接收是在低电平,按 START能得到低电平。所以
按START!后结果不同,它们得到的是不同的东西。
六、实验心得
本次实验是第一次了解位片结构运算器 AM2901的功能与用法,一开始对实验的仪器毫无了解,后来经过老师讲解与介绍逐渐
的了解了工作原理与实验内容。
本次实验最大的收获就是基本理解 Am2901的工作原理。对于 Am2901,认识到它是用来实现算数和逻辑运算的,结合这次实验
设计4位ALU,明白ALU只是一个组合逻辑电路,它能直接对输入的数据进行运算,不会受到时钟信号的影响。
芯片有16个4位通用寄存器,通过 A、B地址的选择,可以选择其中的两个寄存器参与当前的运算,但这两个寄存器的内容在 传入ALU前,还必须经过对应的 A、B锁存器才能进入 ALU的两个输入端口,这是用来确保运算过程中数据一致性的问题的。而锁 存器只有在脉冲信号的边沿端才会起作用,因此实验中会涉及到按压 STEP手动产生脉冲信号,使数据锁存。另外,对于 ALU的运
算结果,它可以输出到 Y,同时又可以将结果保存在 B通用寄存器或Q寄存器中。立即数数据不可以经过寄存器传入 ALU,它必须
直接通过R输入端进入ALUL欢迎您的下载,
资料仅供参考!
致力为企业和个人提供合同协议,策划案计划书,学习资料等等
打造全网一站式需求