计算机组成原理


一、计算机系统概述

1 发展历程

(以微处理机为标志)电子管——晶体管——中小规模集成电路——超大规模集成电路。

摩尔定律:集成电路上可容纳的晶体管的数目,约每隔 18 个月便会增加一倍,性能也将提升一倍。

2 层次结构

基础:

  • 硬件系统和软件系统共同构成了一个完整的计算机系统。

  • 软硬件逻辑等价:软硬件都可以实现。但一般硬件直接实现效果要优。

冯诺依曼机器:

  1. 存储程序工作方式。
  2. 运算器、存储器、控制器、输入设备、输出设备。
  3. 指令和数据通等地位放在存储器中,均为二进制码表示。

计算机元件:

  • 存储程序:存储程序原理就是将我们为解决特定问题而编写的程序存放在计算机存储器中,然后按存储器存储程序的首地址执行程序的第一条指令。以后就按照该程序的规定顺序执行其他指令,直至程序结束执行。

  • 存储器:地址存储器(MAR)、数据存储器(MDR)

  • 运算器:核心是算术逻辑单元(ALU)

  • 控制器:程序计数器(PC)、指令寄存器(IR)和控制单元(CU)

计算机软件:

  • 系统软件:一组保证计算机系统高效、正确运行的基础软件。(OS,DBMS等)
  • 应用软件:用户为解决某个应用领域中的各类问题而编制的程序。
  • 机器语言、汇编语言、高级语言。

层次结构:

  1. 微程序机器层
  2. 传统机器层
  3. 操作系统层(操作系统是由机器指令和广义指令组成,又叫混合层)
  4. 汇编语言层
  5. 高级语言层

层次关系:

  • 层次之间关系紧密,下层是上层的基础,上层是下层的扩展。
  • 没有配备软件的纯硬件系统成为裸机。
  • 软件和硬件之间的界面就是指令集体系结构(ISA)。

工作原理:

  • 存储程序工作:——>PC取指——>指令译码,PC+=1——>取数执行——>送结果——
  • 编译:预处理——>编译——>汇编——>链接

3 性能指标


二、数据表示和运算

1 进制与编码

十六进制负数判断技巧:因为最高位为符号位,所以用二进制看1后面跟n个零即为负数的起始位置,而0后面跟n个1为整数的结束位置,也就是可以表示的最大正数。以0xFF两位十六进制数为例,由上面结论可知:0-0x7F为正数,0x80-0xFF为负数,依次类推。

2 运算方法和运算电路

3 浮点数表示和运算


三、存储系统

1 概述

2 主存

3 主存与CPU的连接

4 外存

5 Cache

6 虚存


四、指令系统

1 格式


五、中央处理器

1 CPU基础

基本功能:中央处理器(CPU)由运算器和控制器组成:

  • 指令控制
  • 操作控制
  • 时间控制
  • 数据加工
  • 中断处理

运算器:

  • 算术逻辑单元
  • 暂存寄存器
  • 累加寄存器
  • 通用寄存器组
  • 程序状态字寄存器
  • 移位器
  • 计数器

控制器:

  • 程序计数器(PC)
  • 指令寄存器(IR)
  • 指令译码器
  • 存储器地址寄存器(MAR)
  • 存储器数据寄存器(MDR)
  • 时序系统
  • 微操作信号发生器

六、总线


七、输入输出系统