美文网首页
ENIAC的寄存器–累加器

ENIAC的寄存器–累加器

作者: 杰_6343 | 来源:发表于2024-11-07 13:35 被阅读0次

在早期计算机架构中,有一种特殊的存储单元,被尊称为累加器,它是CPU内部的一股强大力量。作为核心部件,累加器的速度比机器主存储器更为迅捷,宛如CPU的私人助手,其存在极大提升了计算效率。

早期的计算机设计者们深知资源的珍贵,因此,许多早期机器只配备了一个累加器,这是它们运算的灵魂所在,也是它们负载存储体系结构的基石。这种单一的累加器在计算过程中扮演着至关重要的角色,它存储着每次计算的结果,避免了频繁地进出内存,显著提高了运算速度。

累加器的概念源于对历史的致敬,如J. Presper Eckert所提及的戈特弗雷德·雷布尼茨和布莱斯·帕斯卡的加法器,它们都是累加器理念的先驱。Percy Ludgate甚至在其1909年的分析机器中设想了更为复杂的乘数累加器(MAC),标志着累加器在计算机科学中的重要性。

到了1945年,ENIAC这款里程碑式的计算机拥有20个累加器,它们并行工作,每个都能独立处理8位的十进制数字,进行加减运算。IBM早期的计算机,如1952年的IBM 701,更是配备了36位累加器,以及专门的乘法器/商寄存器,以应对更复杂的数学操作。IBM 650和7070则进一步展示了累加器的灵活性,它们的累加器设计各有特色,适应了不同应用场景。

然而,累加器并非仅仅通过编号来识别,它隐藏在指令的深层结构中,作为指令执行中的默认操作对象。现代CPU通常采用2或3操作数架构,允许程序员灵活指定通用寄存器作为计算的源和目标,但这些机器并不单纯被视为累加器机器,而是通用计算平台的组成部分。

第一台可编程的通用电子计算机埃尼阿克(Electronic Numerical Integrator and Computer, ENIAC)于1945年完成设计。该系统的功耗为150千瓦,占地1800平方英尺[插图],重达27吨。ENIAC基于真空管、二极管和继电器等元件设计,其中包含17000多个用作开关的真空管。与分析机类似,它使用十位环形计数器(见第2章)实现了十进制数表示。它从IBM穿孔卡片读卡机接收输入数据,并将计算后的输出发送到卡片穿孔机。ENIAC体系结构能够执行复杂的处理步骤序列,包括循环、分支和子程序。该系统有20个10位累加器,它们类似于现代计算机中的寄存器。但是,除了累加器之外,它最初没有任何存储空间。如果在之后的计算中需要使用计算的中间结果,则必须将它们写入穿孔卡片,并在需要时回读。ENIAC每秒可以执行大约385次乘法。

ENIAC程序由插板布线和基于开关的功能表组成。对系统进行编程是一个艰巨的过程,通常需要优秀的女性程序员团队花费数周时间才能完成。由于真空管经常发生故障,因此可靠性也是一个问题,需要在日常维护的基础上进行故障排除,以便对发生故障的真空管进行隔离和更换。ENIAC于1948年得到改进,增加了通过穿孔卡片取代插板来对系统进行编程的能力。这一改进极大地提高了程序开发的速度。作为此次升级的顾问,约翰·冯·诺依曼(John von Neumann)提出了一种通用的计算机体系结构,其中包含存放程序指令和数据的单一存储区域、由算术逻辑单元和寄存器构成的处理组件、具有指令寄存器和程序计数器的控制单元。这种结构称为冯·诺依曼体系结构,许多现代处理器都采用了这种结构。ENIAC的早期应用包括研制氢弹以及计算远程火炮射程等。

相关文章

  • 汇编基础

    索引寄存器:index register 通用寄存器: EAX :累加器”(accumulator index),...

  • 微机指令

    AX:累加器ADD,BX:基址寄存器BASE, CX:计数寄存器COUNTER,D...

  • 总共有14个16位寄存器,8个8位寄存器

    通用寄存器: 数据寄存器: AH(8位) AL(8位) AX(16位) (AX和AL又称累加器) BH(8位) ...

  • 寄存器

    寄存器 cpu的组成部分,用来暂存指令,数据和地址。 ax作为累加器,用来存储运算的最终结果。 ax作为通用存储器...

  • 快速乘与快速幂

    介绍 累加器是CPU中独立的寄存器,运算速度非常快。因此,乘法如果能表示成加法,也会大大提高执行效率。"快速乘"算...

  • 09-flink-Accumulator(累加器)

    09-flink-Accumulator(累加器) 概念 Accumulator(累加器):累加器主要作用在用户操...

  • 计算机硬件组成关系初学者个人理解

    Cpu:指的是一般意义伤的微处理器。由累加器与其他若干寄存器(实际上指的就是电路学习中的锁存器)组成,可存储部分数...

  • MongoDB聚合管道——累加器(转)

    累加器(Accumulators) 累加器本来只能使用与project。当在project中使用时,累加器则是针对...

  • Spark累加器

    1. spark 累加器的原理: 2. 系统累加器 2. 自定义累加器(实现单词统计的累加)

  • PL/0简单编译系统(五)

    Pcode生成 P-code 语言是一种栈式机的语言。此类栈式机没有累加器和通用寄存器,有一个栈式存储器,有四个控...

网友评论

      本文标题:ENIAC的寄存器–累加器

      本文链接:https://www.haomeiwen.com/subject/phcmdjtx.html