运算器(arithmetic unit)亦称算术逻辑部件(ALU),是计算机中执行各种算术和逻辑运算操作的部件。运算器的基本操作包括加、减、乘、除四则运算,与、或、非、异或等逻辑操作,以及移位、比较和传送等操作。计算机运行时,运算器的操作和操作种类由控制器决定。运算器处理的数据来自存储器;处理后的结果数据通常送回存储器,或暂时寄存在运算器中。
运算器的处理对象是数据,所以数据长度和计算机数据表示方法,对运算器的性能影响极大。70年代微处理器常以1个、4个、8个、16个二进制位作为处理数据的基本单位。大多数通用计算机则以16、32、64位作为运算器处理数据的长度。
并行运算器是指能对一个数据的所有位同时进行处理的运算器。
串行运算器是指如果一次只处理一位的运算器。
串/并行运算器是指有的运算器一次可处理几位(通常为6或8位),一个完整的数据分成若干段进行计算。
运算器往往只处理一种长度的数据。有的也能处理几种不同长度的数据,如半字长运算、双倍字长运算、四倍字长运算等。有的数据长度可以在运算过程中指定,称为变字长运算。
按照数据的不同表示方法,可以有二进制运算器、十进制运算器、十六进制运算器、定点整数运算器、定点小数运算器、浮点数运算器等。按照数据的性质,有地址运算器和字符运算器等。
运算器的基本功能是完成对各种数据的加工处理,例如算术四则运算,与、或、求反等逻辑运算,算术和逻辑移位操作,比较数值,变更符号,计算主存地址等。运算器中的寄存器用于临时保存参加运算的数据和运算的中间结果等。运算器中还要设置相应的部件,用来记录一次运算结果的特征情况,如是否溢出,结果的符号位,结果是否为零等。
运算器部件是计算机中进行数据加工的部件,其主要功能包括:
1. 执行数值数据的算术加减乘除等运算,执行逻辑数据的与或非等逻辑运算,由一个被称为 ALU 的线路完成。
2. 暂时存放参加运算的数据和中间结果,由多个通用寄存器来承担。
3. 运算器通常也是数据传输的通路 。
符号位
结果为零
结果溢出
进位输出
Am2901芯片是一个4位的位片结构的运算器器件,其内部组成讲解如下:
个组成部分是算逻运算部件ALU,能完成 3 种算术运算和5 种逻辑运算功能。
F3
F=0000
OVR
Cn+4
其输出为 F,两路输入为 S、R,位进位Cn,四个状态输出信号如图所示。
第二个组成部分是通用寄存器组,由16个寄存器构成,并通过A口与B口地址选择被读的寄存器,B口地址还用于
指定写入寄存器
通过B口地址、A口地址读出的数据将送到B、A锁存器,要写入寄存器的数据由一个多路选择器送来。
第三个组成部分是乘商寄存器Q,它能对自己的内容完成左右移位功能,其输出可以送往ALU,并可接收ALU的输出结果。
该芯片的第四个组成部分是五组多路选通门,包括如下内容:
一组二选一门,选择把A口数据或ALU结果送出芯片,以给出输出Y的数据,Y输出的有无还受输出使能 /OE信号的控制,仅当 /OE为低是才有Y输出 ,/OE为高,Y输出为高阻态。
一组三选一门和另一组二选一门用来选择送向ALU的 S、R输入端的数据来源,包括Q寄存器、A口、 B口、外部输入D数据的8 种不同组合。
一组三选一门完成把ALU的输出、或左移一位、或右移一位的值送往通用寄存器组,、位移位信号有双向入/出问题
一组三选一门完成Q寄存器的左移一位、或右移一位、或接收ALU输出值的功能,、位移位信号有双向入/出问题。
必要完善:
单累加器变多累积器:两个选通门均变为多路送0还是送1到ALU处理接收门送每个累加器。
支持寄存器移位功能:接收门变为三选一,即分别接收本位/低位/高位送来的信息送累加器与外部部件的入出联系.