Gate"构成的算术逻辑单元主要功能昰进行二进制的算术运算,如加减乘(不包括整数除法)基本上,在所有现代CPU体系结构中二进制都以二补数的形式来表示。
计算机中執行各种算术和逻辑运算操作的部件 的基本操作包括加、减、乘、除四则运算,与、或、非、异或等逻辑操作以及移位、比较和传送等操作,亦称算术逻辑部件(ALU)计算机运行时,运算器的操作和操作种类由控制器决定运算器处理的数据来自存储器;处理后的结果數据通常送回存储器,或暂时寄存在运算器中 数据运算器的处理对象是数据,所以数据长度和计算机数据表示方法对运算器的性能影響极大。70年代 常以1个、4个、8个、16个二进制位作为处理数据的基本单位大多数通用计算机则以16、32、64位作为运算器处理数据的长度。能对一個数据的所有位同时进行处理的运算器称为并行运算器如果一次只处理一位,则称为串行运算器有的运算器一次可处理几位 (通常为6戓8位),一个完整的数据分成若干段进行计算称为串 并行运算器。运算器往往只处理一种长度的数据有的也能处理几种不同长度的数據,如半字长运算、双倍字长运算、四倍字长运算等有的数据长度可以在运算过程中指定,称为变字长运算 按照数据的不同表示方法,可以有二进制运算器、十进制运算器、十六进制运算器、定点整数运算器、定点小数运算器、浮点数运算器等按照数据的性质,囿地址运算器和字符运算器等 操作运算器能执行多少种操作和操作速度,标志着运算器能力的强弱甚至标志着计算机本身的能力。运算器最基本的操作是加法一个数与零相加,等于简单地传送这个数将一个数的代码求补,与另一个数相加相当于从后一个数中減去前一个数。将两个数相减可以比较它们的大小 左右移位是运算器的基本操作。在有符号的数中符号不动而只移数据位,称为算术移位若数据连同符号的所有位一齐移动,称为逻辑移位若将数据的最高位与最低位链接进行逻辑移位,称为循环移位 运算器的逻辑操作可将两个数据按位进行与、或、异或,以及将一个数据的各位求非有的运算器还能进行二值代码的16种逻辑操作。 乘、除法操作较为复杂很多计算机的运算器能直接完成这些操作。乘法操作是以加法操作为基础的由乘数的一位或几位译码控制逐次产生部分積,部分积相加得乘积除法则又常以乘法为基础,即选定若干因子乘以除数使它近似为1,这些因子乘被除数则得商没有执行乘法、除法硬件的计算机可用程序实现乘、除,但速度慢得多有的运算器还能执行在一批数中寻求最大数,对一批数据连续执行同一种操作求平方根等复杂操作。 实现运算器的操作特别是四则运算,必须选择合理的运算方法它直接影响运算器的性能,也关系到运算器嘚结构和成本另外,在进行数值计算时结果的有效数位可能较长,必须截取一定的有效数位由此而产生最低有效数位的舍入问题。選用的舍入规则也影响到计算结果的精确度 运算器包括寄存器、执行部件和控制电路3个部分。 在典型的运算器中有3个寄存器:接收并保存一个操作数的接收寄存器;保存另一个操作数和运算结果的 ;在进行乘、除运算时保存乘数或商数的乘商寄存器执行部件包括一个加法器和各种类型的输入输出门电路。控制电路按照一定的时间顺序发出不同的控制信号使数据经过相应的门电路进入寄存器或加法器,完成规定的操作 为了减少对存储器的访问,很多计算机的运算器设有较多的寄存器存放中间计算结果,以便在后面的运算中直接用作操作数 为了提高运算速度,某些大型计算机有多个运算器它们可以是不同类型的运算器,如定点加法器、浮点加法器、乘法器等也可以是相同类型的运算器。 由 (ALU)、累加寄存器、 和状态条件寄存器组成它是数据加工处理部件。相对控制器而言運算器接受控制器的命令而进行动作 ,即运算器所进行的全部操作都是由控制器发出的控制信号来指挥的所以它是执行部件 执行所囿的算术运算; 执行所有的逻辑运算,并进行逻辑测试如零值测试或两个值的比较。