计算机组成
Posted dreamyt
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算机组成相关的知识,希望对你有一定的参考价值。
计算机组成(一)
历史
- 为满足“二战”对计算“火炮射击表”的需要,1943年开始正式设计ENIAC,ENICA是世界上第一台通用电子计算机
- 冯·诺伊曼对ENIAC进行分析,认为ENIAC的开关定位和插拔线只不过代表一些数字信息,完全可以像受程序管理的数据一样存放在主存储器中(“存储程序”的概念)
- 冯·诺伊曼写出《关于EDVAC的报告草案》,其中描述的计算机结构就是“冯·诺伊曼结构”,“冯·诺伊曼”被称为“现代电子计算机之父”
- 1949年5月,以EDVAC为蓝本设计和建造的ENSAC,是第一台实用的存储程序式计算机
- 1951年,第一台UNIVAC交付美国人口普查局,1952年准确预报了美国总统选举的结果而一夜成名,UNIVAC开启了商用计算机的时代
- 1955年,从治疗机领域成功转型的IBM公司占领了70%的市场,“IBM与七个小矮人”
- 1964年,IBM研制出经典的大型计算机:IBM S/360
- 1964年,第一台超级计算机:CDC6600,“西摩·克雷”被称为“超级计算机之父”
- 1975年,第一台微型计算机:Altair 8800
- 1977年,微型计算机经典:Apple 2问世
- 1981年,微型计算机经典:IBM PC 5150,因开放性架构逐渐成为个人计算机的制造标准
冯-诺依曼结构的要点
- 冯-诺依曼结构的计算机由运算器(CA,central arithmetical)、控制器(CC,central control)、存储器(M,memory)、输入设备(I,input)和输出设备(O,output)五个部分组成
- 程序和数据均以二进制形式放在存储器中,存放位置由存储器的地址指定
- 计算机运行时自动从存储器中取出指令运行
计算机结构的简化模型
控制器
运算器ALU(Arithmetical logic union)
存储器
如 lw Rd,offset(Rs)指令,cpu通过控制电路发出读控制信号,通过控制总线传输到存储器中的控制逻辑,存储器知道了cpu要进行读操作。cpu先在ALU中计算出Rs+offset的地址,放入MAR中,通过地址总线传输到存储器中,进入地址译码器将地址映射为实际物理地址后,取出地址中的操作数通过数据总线传输回控制器的MDR中。然后根据实际需要通过内部总线在各个寄存器间进行传输。
指令执行的四个阶段
- 取指(instruction fetch)
- 控制器将指令的地址送往存储器
- 存储器按给定的地址读出指令内容,送回控制器
在PC(program calculator)中取得要执行的指令的地址,通过地址总线和数据总线访问存储器获得指令,通过内部总线将指令放入指令寄存器(IR)中。与此同时PC进行自加,将寄存内容更新为下一条指令的地址。
- 译码(instruction decode)
- 控制器分析指令的操作性质
- 控制器向有关部件发出指令所需的控制信号
例如 Add Rd,Rs,Rt 指令。控制器中的指令译码器知道这是加法运算,并且知道源操作数和目的操作数。然后通过控制逻辑发出相应的控制信号
- 执行(execute)
- 控制器从通用寄存器或存储器取出操作数
- 控制器命令运算器对操作数进行指令规定的运算
- 回写(write back)
发出控制信号,将数据写入寄存器或存储器
冯-诺依曼计算机的输入和输出
用第一台微型计算机:Altair 8800举个例子,它的输入设备是手动开关,输出设备是小灯泡。输入输出设备和存储器类似,有专门的一块区域,每块区域有着地址编号,里面存放着输入输出设备的状态数据。如开关,开时为高电平,关时为低电平。cpu也可以通过数据总线和地址总线来与io设备通信。
cpu执行读取输入指令。向io区发出读控制信号,通过地址总线访问编号为1111地址的输入区内容,将其中的数据也就是开关的情况通过数据总线运输回控制器。根据输入的状态来执行一些规定的操作。
与输入同理,把灯泡的状态就是一串二进制数据通过数据总线传输过去覆盖之前的状态。从而进行输出。
现代计算机的多种输入输出设备(如磁盘、 键盘、鼠标、音频、网 络和USB)或者接口的控制器都集成在南桥芯片中
冯-诺依曼的具体实现
运算器和控制器在cpu中,北桥芯片担当枢纽,供cpu与主存通信,与南桥芯片中的io设备通信,与下方的gpu通信。可以看到gpu也有cc和ca,意味着gpu使显卡减少了对CPU的依赖,并进行部分原本CPU的工作。还有一块小小的Bios芯片,这是一块ROM只读芯片。上面最重要的基本输入输出的程序、开机后自检(检查如键盘鼠标等设备)程序和系统自启动程序。因为我们开机时主存是没有内容的,所以cpu是通过北桥来读取BIOS上的内容进行开机。
cpu与主存每次通信都要通过北桥芯片,这使得速度受到很大限制。于是后来北桥芯片就被砍了。cpu与主存,PCIE显卡,南桥直接通信。
当然还可以再次进行精简,这就是我们手机等移动设备上的芯片了
以上是关于计算机组成的主要内容,如果未能解决你的问题,请参考以下文章