第一章 计算机组成与体系结构
系统构建于硬件与操作系统之上,如果我们不对计算机底层原理有一定认识,会导致一系列安全与性能问题。本章将从计算机的组成,计算机的指令系统,存储系统等方面展开论述。
1.1 计算机系统组成
计算机系统是一个硬件和软件的综合体,可以把它看成按功能划分的多级层次结构。
1.1.1 计算机硬件的组成
硬件通常指一切看得见,摸得着的设备实体。原始的冯诺依曼计算机在结构上是以运算器为中心的,而发展到现在,已转向以存储器为中心了。
- 控制器
- 运算器
- 主存储器
- 辅助存储器
- 输入设备
- 输出设备
1.1.2 计算机系统结构的分类
计算机的发展经历了电子管和晶体管时代、集成电路时代。
- 存储程序的概念
控制、运算、存储、输入和输出
- Flynn 分类
1966 年,Michael.J.Flynn 提出根据指令流、数据流的多倍性特征对计算机系统进行分类,有关定义如下。
- 指令流:指机器执行的指令序列
- 数据列:指由指令流调用的数据序列,包括输入数据和中间结果,但不包括输出数据。
Flynn 根据不同的指令流-数据流组织方式,把计算机系统分类一下四类:
- 单指令流单数据流:传统的顺序执行的单处理器计算机
- 单指令流多数据流:以并行处理机为代表
- 多指令流单数据流:这类系统很少见到
- 多指令流多数据流:多核处理器、多处理机。现代计算机的主流。
1.1.3 复杂指令集系统与精简指令集系统
在计算机系统结构发展的过程中,指令系统的优化设计有两个截然相反的方向。
- 一个是增强指令的功能,设置一些功能复杂的指令,把一些原来由软件实现的、常用的功能改用硬件的指令系统来实现,这种计算机系统称为复杂指令系统计算机。
- 另一个是尽量简化指令功能,只保留那些功能简单,能在一个节拍内执行完成的指令,较复杂的功能用一段子程序来实现,这种计算机系统称为精简指令系统计算机。