计算机组成

230 阅读5分钟

1. 概述

1.1 计算机组成

  1. cpu/内存/硬盘/显卡
  2. 计算机硬件只能识别0和1。使用低电平表示0,用高电平表示1。金属针脚用来接收/传递电信号。
  3. 通过电路,可以传递二进制数位,每个二进制数位称为1bit

1.2 计算机的发展

  1. 计算机系统 = 硬件 + 软件

  2. 软件:

    • 系统软件:用来管理整个计算机系统(操作系统,DBMS)
    • 应用软件:按任务需要编制成的各种程序(王者)
  3. 硬件发展: 硬件发展

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

1.3 计算机硬件的基本组成

  1. 早期冯诺依曼结构

早期冯诺依曼结构 特点:

特点

  1. 现代结构

现代计算机:以存储器为中心

现代结构

CPU = 运算器 + 控制器

现代结构2

现代结构3

1.4 各个硬件的工作原理

1.4.1 主存储器

主存储器

主存储器2

1.4.2 运算器

运算器

1.4.3 控制器

控制器

1.4.4 计算机工作过程

计算机工作过程

计算机工作过程2

计算机工作过程3

计算机工作过程4

计算机工作过程5

计算机工作过程总结

1.5 计算机系统的多级层次结构

层次结构

三个级别的语言:

三个级别的语言

1.6 计算机的性能指标

  1. 存储器性能指标:

    存储器性能指标

    二进制

  2. CPU的性能指标: CPU的性能指标

  3. 系统整体的性能指标: 系统整体的性能指标

  4. 基准程序(动态测试): 基准程序是用来测量计算机处理速度的一种实用程序,以便于被测量的计算机性能可以与运行相同程序的其他计算机性能进行比较。(跑分软件)

2. 数据的表示和运算

2.1 整数的表示和运算

2.1.1 进位计数制

  1. 进制

进制

进制2

  1. 进制转换

进制转换

  1. 真值和机器数

真值和机器数

2.1.2 BCD码

Binary-Coded Decimal 用二进制编码的十进制

BCD

2.1.3 无符号整数

  1. 在计算机中的表示

无符号整数

无符号整数2

2.1.4 带符号整数

各种码

各种码2

各种码对比

移码:补码的符号位取反

2.1.5 定点小数

定点整数:即带符号整数 定点小数

加减运算规则与整数相同

定点小数2

2.1.6 奇偶效验码

奇偶效验码

2.2 算数逻辑单元 ALU

Arithmetic and Logic Unit

2.2.1 电路的基本原理

  1. ALU:输入信号+输出信号+控制信号 ALU

  2. 逻辑运算

基本逻辑运算

  • 优先级: 与 > 或。
  • 满足分配律和结合律。

复合逻辑

  1. 加法器的实现 加法器

2.2.2 补码加减运算器

补码加减运算器

2.2.3 标识位的生成

标识位的生成

2.2.4 移位运算

移位运算

2.2.5 乘法和除法

  1. 原码的一位乘法和除法

  2. 补码的一位乘法和除法

2.2.6 数据的存储和排列

  1. 大小端

  2. 边界对齐

2.3 浮点数的表示和运算

2.3.1 浮点数的表示

浮点数的表示

2.3.2 IEEE 754标准

2.3.3 浮点数的加减运算

浮点数的加减运算

3. 存储系统

3.1 存储系统基本概念

3.1.1 存储器的层次结构

存储器的层次结构

3.1.2 存储器的分类

  1. 按层次

按层次 2. 按存储介质

按存储介质

  1. 按存取方式

按存取方式

  1. 信息的可更改性

信息的可更改性

  1. 信息的可保存性

信息的可保存性

3.1.3 存储器的性能指标

存储器的性能指标

3.2 主存储器

主存由RAM+ROM组成。

主存

3.2.1 主存的基本组成

主存的基本组成

3.2.2 SRAM和DRAM

断电后信息消失

SRAM和DRAM

3.2.3 只读存储器ROM

很多ROM也可以写,断电后信息不消失

ROM

3.3 主存和CPU的链接

主存和CPU的链接

3.4 提升主存速度

提升主存速度

3.5 外存储器

3.5.1 磁盘存储器

磁盘存储器

3.5.2 固态硬盘SSD

属于电可擦ROM,即EEPROM SSD

3.6 Cache

Cache

3.6.1 Cache的基本概念和原理

Cache的基本概念和原理

3.6.2 Cache和主存的映射方式

解决问题:如何区分Cache与主存的数据块对应关系?

Cache和主存的映射方式

3.6.3 Cache替换算法

解决问题:Cache很小,主存很大,Cache满了怎么办?

Cache替换算法

3.6.4 Cache写策略

解决问题:CPU修改了Cache中的数据副本,如何确保主存中数据母本的一致性?

Cache写策略

3.7 虚拟存储系统

3.7.1 页式存储

页式存储

3.7.2 虚拟存储器

详情请见操作系统

4. 指令系统

4.1 指令格式

4.1.1 指令定义

指令定义 intel芯片是x86架构,手机一般是ARM架构,apple m1系列就是基于ARM,所以可以在电脑上下载手机软件。

4.1.2 指令分类

  1. 按地址码数目分类

按地址码数目分类

  1. 按指令长度分类

按指令长度分类

  1. 按操作码长度分类

按操作码长度分类

扩展操作码 4. 按操作类型分类

按操作类型分类

4.2 寻址

4.2.1 指令寻址

给出下一条指令的地址 指令寻址

4.2.2 数据寻址

确定本条指令的地址码指明的真实地址,给出要操作的对象的地址

数据寻址

4.3 高级语言与机器级代码之间的对应

4.3.1 x86汇编语言指令基础

x86汇编语言指令基础

4.3.2 常用x86汇编指令

4.3.3 AT&T格式和intel格式

AT&T格式和intel格式

ATT_vs_intel

4.3.4 选择/循环语句的机器级表示

4.4 CISC和RISC

指令系统的两种设计方向

CISC和RISC

CISC和RISC2

5. 中央处理器

5.1 CPU的功能和基本结构

CPU的功能和基本结构

5.2 指令周期的数据流

指令周期

指令周期

指令执行过程

指令执行过程

5.3 数据通路

数据通路

5.3.1 单总线结构

同一时刻,只允许两个部件的数据流通 单总线结构

5.3.2 专用通路结构

5.4 控制器设计

5.4.1 硬布线控制器的设计

用纯硬件的方式

硬布线控制器

硬布线控制器2

5.4.2 微程序控制器的基本原理

微程序控制器的基本原理

5.4.3 微指令的设计

微指令的设计

5.4.4 微程序控制单元的设计

微程序控制单元的设计

5.5 指令流水线

指令流水线

5.6 多处理器的基本概念

5.7 硬件多线程的基本概念

6. 总线

总线是一组能为多个部件分时共享的公共信息穿传达线路

6.1 总线概述

  1. 按数据传输格式分类

    • 串行总线:一次传输一位
    • 并行总线:一次传输多位
  2. 按总线功能分类

按总线功能分类

  1. 按时序控制方式分类
    • 同步
    • 异步

6.1.1 总线的性能指标

总线的性能指标

6.2 总线仲裁

解决多个设备争用总线的问题

总线仲裁

集中仲裁

6.3 总线操作和定时

占用总线的一对设备如何进行数据传输

6.4 总线标准

易于实现系统的模块化设计

7. 输入输出系统

7.1 基本概念

IO组成

基本概念

7.2 外部设备

输入设备:键盘、鼠标 外部设备

7.3 IO接口

IO接口

7.4 IO方式

7.4.1 程序查询方式

程序查询方式

7.4.2 程序中断方式

程序中断是指计算机执行现行程序的过程中,出现某些急需处理的异常情况或特殊请求,CPU暂时中止现行程序,而转去对这些异常情况或特殊请求进行处理,在处理完毕后CPU又自动返回到现行程序的断点处,继续执行原程序。

程序中断方式

中断系统

中断判优 - 优先级排序

中断判优 - 优先级排序

7.4.2.1 单重中断

程序中断流程

程序中断流程

7.4.2.2 多重中断

多重中断

7.4.3 DMA方式

中断和DMA

DMA