1.1.定义
计算机,一种可以存储程序,并且通过执行程序指令,可以自动、高速、精确地对数字信息进行各种复杂处理,然后输出运算结果的电子设备。
1.2.发展史
1944年,“冯诺依曼”加入美国军方一个名叫“ENIAC”的计算机研制项目,1945年他提出了一个名叫“存储程序通用电子计算机”的方案——“EDVAC”。该方案中定义了计算机的工作方式以及几大组成部分,后来将该方案中提出的这一套对于计算机的整体架构称为——“冯诺依曼体系”。
1946年参照冯诺依曼体系,在宾夕法尼亚大学诞生了世界上第一台计算机。如今世界上的计算机都是参照冯诺依曼体系进行的实现。
1.3.硬件组成
1.3.1.冯诺依曼体系
阿兰·图灵在1936年提出一种用于抽象的计算器模型——图灵机,在图灵机的基础上,冯诺依曼进行了改进,提出了——“冯诺依曼思想”,即程序存储,将程序存放在机器上,在需要执行的时候调入执行。
为了实现这个核心思想,冯诺依曼自己给出了一套计算机的体系实现,也就是现代计算机的体系实现——“冯诺依曼体系”。
“冯诺依曼系统”概括起来,从对现代计算机的体系实现做了如下阐述:
计算机由运算器、控制器、存储器、输入设备、输出设备,五大部件组成。
指令和数据以同等地位存于存储器中,并可按地址访问。
指令和数据均用二进制表示
程序存储(核心思想)
以运算器为中心
1.3.2.五大组件
冯诺依曼提出的计算机体系结构的将计算机抽象为5大组件:
- 内部组件
- 运算器,由ALU(算术逻辑单元)构成,执行算术逻辑运算以及位移循环等操作。常说的计算机的位数,也就是运算器的一个数据单元的宽度,8位、16位、32位、64位。
- 控制器,CU,产生控制命令,控制全机。
- 存储器,用二进制的方式存储数据和程序。
- 外部组件
- 输入设备
- 输出设备
除了五大组件外还有两大配件:
总线,bus,用来传输信息的通路,其将各个部件组件连在一起,以分时的方式将通路资源分给各个部件。
接口,外设输入的信息格式各不相同,需要进行转换成总线支持的数据格式,才能在总线中跑起来,因此为了适配这些外设,在外设和总线之间设置了一个中间层——“接口”,负责缓冲、连接、转换等功能。
五大组件+两大配件配合工作:
5个功能模块不是相互独立的,而是由通路(总线)将他们连在一起形成一个有机的整体,输入设备产生输入,在存储器中存储,经过运算器的运算(运算结果会放在存储器中),最后由输出设备进行输出。
整个过程各个器件不能自主执行,需要在控制器的控制下进行。控制器通过控制信号去控制计算机的各个功能模块,因此是计算机中最重要的。
在硬件实现层面,控制器和运算器集成在一起,称为“CPU”。
1.4.性能指标
计算机的主要性能指标有四个:基本字长、主频、外频、存储容量。
基本字长:
CPU一次数据处理操作的位数,即一个数据单位,数据长度有多少位。也就是常说的“32位”、“64位”,位数越长、精度越高、性能越高。该指标与CPU中的寄存器位数有关。
主频:
主频即CPU内核工作的时间频率,单位为Hz ,CPU单位时间内可以执行运算的次数与CPU的主频直接相关。当然可执行运算的次数不一定是CPU的可执行指令的条数,有些指令可能需要占用多次运算次数才能执行完。主频越高,CPU的性能越强。
外频:
外频,也叫基频,即CPU外部的频率, CPU以这个频率来与内存联系,单位为Hz。外频越高、CPU空载的时间也就越少,利用率也就越高,相应的数据处理也就越快。
存储容量:
存储器由存储单元组成,一个存储单元里面可以存储N位二进制数。平时说的32位、64位指的就是存储单元中存放的二进制数的位数(与CPU的运算位数一致)
存储容量=(存储单元个数X存储字长)/8 如(64K X 32位)/8 单位bit(kb、mb、gb)。
1.5.语言分层
机器语言,也叫机器指令,是一串01二进制数字串,机器能直接识别,从而直接控制硬件。
机器语言记忆起来不方便,于是将机器语言符号化,出现了汇编语言。一条汇编指令的功能由多条机器指令来实现。汇编指令想要在机器中被解析执行需要对应的解析执行的程序。
汇编语言需要手动管理内存,使用起来不方便,于是将汇编语言封装成高级程序语言,隐藏内存管理。高级程序语言想要在机器中被解析执行需要对应的解析执行的程序。
操作系统作为实际机器与语言之间的中间层,为程序的执行安排合理的调度,也为程序能更好的与硬件交互提供一些封装好的功能(程序接口)。