Skip to content

第一章 计算机组成与体系结构

系统构建于硬件与操作系统之上,如果我们不对计算机底层原理有一定认识,会导致一系列安全与性能问题。本章将从计算机的组成,计算机的指令系统,存储系统等方面展开论述。

1.1 计算机系统组成

计算机系统是一个硬件和软件的综合体,可以把它看成按功能划分的多级层次结构。

1.1.1 计算机硬件的组成

硬件通常指一切看得见,摸得着的设备实体。原始的冯诺依曼计算机在结构上是以运算器为中心的,而发展到现在,已转向以存储器为中心了。

  • 控制器
  • 运算器
  • 主存储器
  • 辅助存储器
  • 输入设备
  • 输出设备

1.1.2 计算机系统结构的分类

计算机的发展经历了电子管和晶体管时代、集成电路时代。

  • 存储程序的概念

控制、运算、存储、输入和输出

  • Flynn 分类

1966 年,Michael.J.Flynn 提出根据指令流、数据流的多倍性特征对计算机系统进行分类,有关定义如下。

  • 指令流:指机器执行的指令序列
  • 数据列:指由指令流调用的数据序列,包括输入数据和中间结果,但不包括输出数据。

Flynn 根据不同的指令流-数据流组织方式,把计算机系统分类一下四类:

  • 单指令流单数据流:传统的顺序执行的单处理器计算机
  • 单指令流多数据流:以并行处理机为代表
  • 多指令流单数据流:这类系统很少见到
  • 多指令流多数据流:多核处理器、多处理机。现代计算机的主流。

1.1.3 复杂指令集系统与精简指令集系统

在计算机系统结构发展的过程中,指令系统的优化设计有两个截然相反的方向。

  • 一个是增强指令的功能,设置一些功能复杂的指令,把一些原来由软件实现的、常用的功能改用硬件的指令系统来实现,这种计算机系统称为复杂指令系统计算机。
  • 另一个是尽量简化指令功能,只保留那些功能简单,能在一个节拍内执行完成的指令,较复杂的功能用一段子程序来实现,这种计算机系统称为精简指令系统计算机。