状态寄存器的控制
状态寄存器的逻辑表达式
|
C := /SST2*/SST1*/SST0* C
+ /SST2*/SST1* SST0* Cy
+ /SST2* SST1*/SST0* IB7
+ SST2*/SST1*/SST0
+ SST2*/SST1* SST0* RAM0
+ SST2* SST1*/SST0* RAM15
+ SST2* SST1* SST0* Q0 |
V := /SST2*/SST1*/SST0* V
+ /SST2*/SST1* SST0* OV
+ /SST2* SST1*/SST0* IB5
+ /SST2* SST1* SST0* V
+ SST2* V
|
|
Z := /SST2*/SST1*/SST0* Z
+ /SST2*/SST1* SST0* ZR
+ /SST2* SST1*/SST0* IB6
+ /SST2* SST1* SST0* Z
+ SST2* Z |
S := /SST2*/SST1*/SST0* S
+ /SST2*/SST1* SST0* F15
+ /SST2* SST1*/SST0* IB4
+ /SST2* SST1* SST0*S
+ SST2* S |
16 位运算器的状态寄存器
寄存器移位输入信号
实现中,具体移位输入信号是用SSH 编码和 ALU 中的结果处理控制信号 I7
(移位方向)共同决定的。
左右移位输入信号逻辑表达式
|
RAM15 = /SSH1* SSH0* C
+ SSH1 */SSH0* Cy
Q15 = SSH1 */SSH0* F0
RAM0 = /SSH1* SSH0* C
+ SSH1 */SSH0* Q15
Q0 = SSH1 */SSH0* /F15
RAM15 .OE= /I7
Q15 .OE= /I7
RAM0 .OE= I7
Q0 .OE= I7 |
16 位运算器的最高位、最低位移位输入信号
16 位运算器的完整组成
运算器用的GAL20V8的控制信号
脱机的运算器实验
在已经设计好并实现了运算器部件之后,如何控制它完成指定的运算功能并检查它的执行结果呢?
最简单的办法是:
(1)通过开关向其提供将要使用的数据,
(2)通过开关向其提供必要的控制信号,
(3)通过开关按钮控制寄存器接收运算结果,
(4)通过指示灯显示运算结果和控制信号的值。
其实这就是把计算机的运算器部件从计算机系统中孤立出来,用手工方式操作其运行过程,这不会涉及计算机的其他功能部件,事情变得更单纯简单,更容易理解,学懂这一部分内容之后,很容易与通过计算机的控制器控制运算器运行的具体实现方案联系起来,更有利于把复杂的事情简单化。
16位运算器脱机实验
本章主要内容
运算器部件概述
定点运算器的功能、组成与设计
浮点运算与浮点运算器
浮点运算器与浮点数运算
浮点运算器通常由 处理阶码的 和 处理尾数的 两个定点运算器组成
在早期的小或微型机中,浮点运算器通常以 任选件方式提供给用户 , 主要用于计算浮点数
浮点数加减运算
对阶 执行加减 规格化 舍入 (右归)判溢出
浮点数乘除运算
阶码加减 尾数乘除 舍入与规格化处理 判溢出
浮点数在计算机内的格式
浮点数: X = MS ES Em-1 ...E2 E1 M-1M-2...M-n
IEEE 标准:阶码用移码,基为2;尾数用原码
|
符号位 |
阶码位 |
尾数数码位 |
总位数 |
短浮点数: |
1 |
8 |
23 |
32 |
长浮点数: |
1 |
11 |
52 |
64 |
临时浮点数: |
1 |
15 |
64 |
80 |
浮点数的阶码的位数决定数的表示范围,
尾数的位数决定数的有效精度
浮点数在计算机内的格式
浮点数: X = MS ES Em-1 ...E1 E0 M-1M-2...M-n
IEEE 标准:尾数用原码
浮点数是数学中实数的子集合,由一个纯小数乘上一个指数值来组成。在计算机内,其纯小数部分被称为浮点数的尾数,对非 0 值的浮点数,要求尾数的绝对值必须 >= 1/2,称满足这种表示要求的浮点数为规格化表示;
把不满足这一表示要求的尾数,变成满足这一要求的尾数的操作过程,叫作浮点数的规格化处理,通过尾数移位和修改阶码实现。
浮点数在计算机内的格式
浮点数: X = MS ES Em-1 ...E1 E0 M-1M-2...M-n
IEEE 标准:尾数用原码
按国际电子电气工程师协会规定的标准,浮点数的尾数要用原码表示,即符号位 Ms: 0 表示正,1 表示负,且非 0 值尾数数值的最高位 M-1 必为 1, 才能满足浮点数规格化表示的要求;
既然非 0 值浮点数的尾数数值最高位必定为 1,则在保存浮点数到内存前,通过尾数左移, 强行把该位去掉, 用同样多的尾数位就能多存一位二进制数,有利于提高数据表示精度,称这种处理方案使用了隐藏位技术。
当然,在取回这样的浮点数到运算器执行运算时,必须先恢复该隐藏位。
|