First Draft
First Draft是冯诺依曼,基于当时在秘密开发的EDVAC写了一篇报告,描述了一台计算机应该长什么样。
First Draft里面说了一台计算机应该有哪些部分组成:
首先是一个包含算术逻辑单元(Arithmetic Logic Unit,ALU)和处理器寄存单元(Processing Register)的处理器单元(Processing Unit),用来完成各种算术和逻辑运算。因为它能够完成各种数据的处理或者计算工作,因此也有人把这个叫做数据通路或者运算器
tag:1.算术逻辑单元:
1.1概念:算术逻辑单元(arithmetic logic unit,缩写ALU)是进行整数运算的结构。现阶段是用电路来实现,应用在电脑芯片中。
1.2可行性分析:绝大部分计算机指令都是由ALU执行的。ALU从寄存器中取出数据。数据经过处理将运算结果存入ALU输出寄存器中。其他部件负责在寄存器与内存间传送数据。 控制单元控制着ALU,通过控制电路来告诉ALU该执行什么操作。
1.3简单运算:大部分ALU都可以完成以下运算∶
整数算术运算(加、减,有时还包括乘和除,不过成本较高)
位逻辑运算(与、或、非、异或)
移位运算(将一个字向左或向右移位或浮动特定位,而无符号延伸),移位可被认为是乘以2或除以2。
1.4ALU与FPU:浮点单元也对两个数值进行算术运算,但是这种运算已浮点数表示,比在ALU中一般使用的补码表示方式复杂的多。为了完成此类运算,FPU里嵌入了多个复杂电路,包括一些内部ALU。 工程师一般认为ALU是处理整数型(比如补码和BCD码)算术运算的的电路,而对更为复杂的格式(比如浮点型、复数型)进行计算的电路则 拥有一个更加匹配的称谓。
然后是一个包含指令寄存器(Instruction Reigster)和程序计数器(Program Counter)的控制器单元(Control Unit/CU),用来控制程序的流程,通常就是不同条件下的分支和跳转。在现在的计算机里,上面的算术逻辑单元和这里的控制器单元,共同组成我们的CPU
接着是用来存储数据(Data)和指令(Instruction)的内存。以及更大容量的外部存储,在过去,可能是磁带、磁鼓这样的设备,现在通常就是硬盘。
最后就是各种输入和输出设备,以及对应的输入和输出机制。
(任何一台计算机的任何一个部件都可以归到运算器,控制器,存储器,输入设备和输出设备中,而所有的现代计算机也都是基于这个基础架构来设计开发的)