运算器是计算机系统中的核心组件,专门承担着数据处理和计算的任务。[2][3]作为数据处理的核心部件,运算器具备执行算术和逻辑运算的能力,从而对输入的信息进行加工和处理。[3][4]运算器是计算机的数据处理中心,也是机器中各部件交换数据的枢纽。[2]
运算器的数学基础是布尔代数,由乔治·布尔(George Boole)在1854年提出,并在19世纪中叶得到杰文斯(William Jevons)、皮尔斯(Charles Sanders Peirce)、施罗德(Ernst Schröder)和怀特海(A.N. Whitehead)的进一步发展和系统化。[5]1879年,弗雷格(Gottlob Frege)发展了逻辑形式化方法,并提出了第一个逻辑语言。[6][7]1919年,埃克斯(W.H.Eccles)和乔丹(F.W.Jordan)发明了触发器,为计算机算术逻辑单元(ALU)奠定了技术基础。[8]20世纪30年代,香农(Claude Shannon)和谢斯塔科夫(Victor Shestakov)展示了布尔逻辑与电路的对应关系,奠定了数字电路设计基础。[9][10]1937年,斯蒂比茨完成了首个二进制加法器。[11][12]1945年,冯·诺依曼提出运算器概念,[13]1951年LAS计算机采用并行运算器大幅提高效率。[14]1953年,MOSAIC计算机运行首个程序,包含早期算术单元。[15]1967年,费尔柴尔德推出了第一个以集成电路形式实现的类似运算器的器件Fairchild 3800,[16]1970年德州仪器推出74181 TTL IC,简化了计算机设计。[16]20世纪70年代,微处理器开始出现,早期微处理器采用窄ALU,[17]90年代引入SIMD向量运算器和超越函数硬件运算单元,实现十进制定和浮点数运算。[18] 运算器包含基本组件有加法器、通用寄存器、输入数据选择电路和输出数据控制电路。加法器不仅实现加法运算,还支持逻辑运算并作为数据通路。通用寄存器临时存放数据和运算结果。输入数据选择电路负责选择和控制送入加法器的数据。输出数据控制电路控制加法器输出数据的移位和传送。[19]运算器可以根据数据传送方式分为串行和并行运算器,也可以操作数类型可分为定点和浮点运算器。[1]此外,还可以按照进位制分类为二进制和十进制运算器。[20]现代计算架构中,GPU和CPU都包含运算器。[21]数字信号处理器(DSP)中也内置了运算器。[22]在量子计算领域,量子运算器通过量子叠加和纠缠原理加速传统算法,处理高精度和宽范围的浮点数。[23]基于FPGA的浮点运算器在雷达系统中用于高精度数字信号处理。[24]嵌入式系统中则需要专用的运算器来执行特定的算术运算,以满足多样化的应用需求。[25] 历史
运算器的数学基础是布尔代数,由英国数学家乔治·布尔(George Boole)在他的1854年发表的著作《思维规律》(The Laws of Thought)中发展而来。布尔的代数在1860年代由威廉·杰文斯(William Jevons)和查尔斯·桑德斯·皮尔斯(Charles Sanders Peirce)进一步完善,并由恩斯特·施罗德(Ernst Schröder)和A.N.怀特海(A.N. Whitehead)首次系统化地提出。[5]1879年,德国逻辑学家戈特洛布·弗雷格(Gottlob Frege)发展了逻辑的形式化方法,并提出了用于逻辑方程的第一个逻辑语言。[6][7]1919年,美国物理学家埃克斯(W.H.Eccles)和乔丹(F.W.Jordan)共同发明了一种名为“触发器”(“flip-flop”)的电子电路。该电路设计上能够实现在两个状态之间(二进制)平稳且迅速的切换,这一特性为后续计算机中算术逻辑单元(ALU)的发展提供了技术基础。[8]