第1章 计算机系统概述

1.1计算机发展历程

  • 冯・诺依曼提出存储程序
  • 冯・诺依曼结构特点
    1.存储程序工作方式
    2.计算机由五大部件组成(运算器,控制器,存储器,输入设备,输出设备)
    3.指令和数据二进制代码同等地位存储在存储器,并按照地址访问,指令由操作码和地址码组成
    4.指令按照顺序存放执行
    5. 冯・诺依曼计算机以运算器为中心,现代计算机以存储器为中心
    6.单处理机
    7.工作方式是控制流驱动方式
  • 机器语言由二进制表示,是计算机唯一可以直接识别和执行的语言
  • 翻译程序
    汇编语言:汇编语言源程序->机器语言目标程序
    编译程序:高级语言源程序->汇编语言源程序->机器语言目标程序
    解释程序:高级语言逐条翻译成机器指令并立刻执行

1.2计算机系统层次结构

  • 计算机 = 主机+输入/输出设备
  • 主机 = CPU + 主存
  • CPU = 控制器 + 运算器

1.3计算机的性能指标

  • 机器字长:CPU内部用于整数运算的数据通路的带宽=运算器一次性能处理的而精致长度=通用寄存器的宽度(位数)
  • 指令字长:一个指令包含的二进制代码位数
  • 存储字长:一个存储单元存储的二进制代码长度
  • 数据通路带宽:数据总线一次性能传送信息的位数
  • 总线带宽:总线带宽*总线工作频率
  • 吞吐量:单位时间内处理请求的个数
  • 响应时间:CPU时间+等待时间
  • 主频:机器内部每秒的时钟周期数
  • 时钟周期:主频的倒数
  • CPI:执行一条指令所需时钟周期数
  • CPU执行时间:运行一个程序所花的时间(指令条数*CPI)/主频

第2章 数据的表示和运算

2.1数制与编码

  • 字节是最基本的单位B
  • 是最小的信息单位bit
  • 1字节(B)=8位(bit)
  • 主存地址使用无符号数表示,相对寻址使用带符号数表示相对位置
  • 机器数:使用0/1编码的计算机内部序列
  • 真值:机器数代表的实际值

2.2运算方法和运算电路

  • OF(溢出标志):OF=1代表带符号整数运算发送溢出,对于无符号整数无意义
  • SF(符号标志):用于判断是加(0)法还是减法(1)
  • ZF(零标志):运算结果是否为0
  • CF(进位标志):表示无符号整数运算时的进位,带符号整数无意义。区别OF

3.存储系统

3.1存储器概述

  • RAM(随机访问存储器):断电易失性
SRAM(静态RAM) DRAM(动态RAM)
速度 不需要刷新,较快 需要刷新,较慢
组成/集成度 6个晶体管,集成度较低 一个电容一个晶体管,集成度较高
功耗 不刷新,功耗较低 刷新,功耗较高
应用场景 用于高速缓冲存储器(Cache) 用于内存条,作为主存
成本
  • ROM(只读存储器)
特征 ROM(只读存储器) PROM(可编程只读存储器) EPROM(可擦除可编程只读存储器) EEPROM(电可擦可编程只读存储器) Flash ROM(快闪存储器)
可擦除性 不可擦除 可擦除 可擦除 可擦除 可擦除
可编程性 不可编程 一次编程 可编程 可编程 可编程
擦除方法 N/A 专用设备或电源 紫外线或电
擦除周期 N/A 单次 多次 多次 多次
擦除时间 N/A 10-20分钟 10-20分钟 几毫秒~几秒 几毫秒~几秒
容量 小~中 小~中 小~大
价格 中等 中等 中等
用途 固化固定代码 固化少量可变代码 固化中等量可变代码 固化中等量可变代码 存储大量可变代码
  • 主存,辅存,cache对比
特征 主存储器(MM) 辅助存储器(硬盘驱动器等) 高速缓存存储器(Cache)
类型 随机存取存储器 随机存取存储器或者顺序存取存储器 随机存取存储器
容量 中等~大 小~中
速度 非常快
成本 昂贵 相对廉价 昂贵
位置 主板上 外部设备 主板上或处理器内部
可读写性 可读写 可读写 可读写
持久性 断电后数据丢失 数据持久保存 断电后数据丢失
访问方式 直接 随机 直接
用途 运行程序、存储临时数据 存储长期数据 临时存储常用数据

3.2主存储器

  • 存储器引脚数目 = 片选线(1根) + 控制线(读写线,2根或1根) + 数据线 + 地址线

  • 地址复用技术:
    1.行线数列线数尽可能的均分,如果不能,多余的加在,因为DRAM的刷新是以为单位,这样可以减少性能开销
    2.引脚数 = 地址线减半 + 数据线不变 + 行通选(1,区分当前是给行还是给列) + 列通选(1,区分当前是给行还是给列) + 读写控制线(2,因需要分两次传送,所以不能用同一根)

  • 低位交叉编址实现双通道


3.3主存储器与CPU的连接

  • CPU读指令需要通过地址线访问存储器的MAR(地址寄存器)

3.4外部存储器

  • 固态硬盘SSD:(基于闪存)
    优点:
    1.无移动部件
    2.随机访问比机械硬盘快
    3.无机械噪声和震动
    4.能耗低
    5.抗震性好
    缺点:
    容磨损

3.5高速缓冲存储器

  • 处于CPU和主存之间
  • CPU与Cache/主存的信息交互单位为
  • Cache与主存的信息交互单位为
  • 时间局部性原理空间局部性原理
  • Cache命中率 = Cache总命中次数/(Cache总命中次数+访问主存的总次数)
  • 实现Cache需要解决的问题:地址映射,替换策略,写入/更写策略
  • 指令Cache和数据Cache分离的主要目的是减少指令流水线的冲突
  • 写回策略:
    全写法/写直达法(写命中):由于cache和主存的速度差距大,所以设计一个缓冲,先写入缓冲再慢慢写入
    回写法(写命中): 在Cache设置脏位,Cache被修改脏位为置为"1",如果有块内容需要被替换,如果脏位为1,先修改对应主存,再替换。如果脏位为0则直接替换
    写分配法(没命中):先将数据从内存调入Cache,再按回写法修改Cache
    非写分配法(没命中):直接去内存修改
    !!!写回法搭配写分配法。全写法搭配非写分配法!!!

3.6虚拟存储器

  • 种类:
    段式虚拟存储器(有外碎片,无内碎片)
    页式虚拟存储器(有内碎片,无外碎片)
    段页式虚拟存储器
  • 查找
    慢表(Page):(存放在主存)
    Cache
    TLB:(块表)
    cache是主存的复制本,TLB是cache的复制本。
    !!!因此TLB有记录,Cache和Page必有记录
    Cache有记录,Page必有记录,TLB不确定有记录
    Page有记录,Cache和TLB不一定有记录

4.指令系统

4.1指令格式

  • 一条指令包括操作码字段地址码字段
  • 单字长指令: 指令长度 = 机器字长
  • 双字长指令: 指令长度 = 2个机器字长
  • 半字长指令: 指令长度 = 半个机器字长
  • 零地址指令
    1.不需要操作数(空操作指令,停机指令,关中断指令)
    2.有操作数且来自堆栈的栈顶和次栈顶单元

4.2寻址方式

  • 程序计数器(PC)记录下条指令的地址
  • 地址码 = 寻址特征 + 形式地址
  • 寻址速度对比:立即寻址 > 寄存器寻址 > 直接寻址 > 寄存器间接寻址 > 间接寻址
    解释:
    立即寻址:操作数直接由指令给出
    寄存器寻址:操作数在寄存器中,寄存器速度比主存快
    直接寻址:操作数在主存
    寄存器间接寻址:操作数在主存,相当于先访问寄存器再访问主存
    间接寻址:操作数再主存,需要访问两次主存

4.3精简指令集和复杂指令集比较

特点 复杂指令集CISC 精简指令集RISC
指令系统 复杂 精简
指令数目 较多 较少
指令字长 不固定 固定
访存指令 无限制 只有load/store指令可访问内存
通用寄存器数量
指令流水线 可以实现 必须实现
控制方式 微程序控制 组合逻辑控制

5.中央处理器

5.1CPU的功能和基本结构

  • CPU功能:
    指令控制
    操作控制
    时间控制
    数据加工
    中断处理
  • 寄存器分类:
    透明(不可见):MAR,MDR,IR,微程序控制器(CM,位于CPU内部)
    不透明(可见):程序计数器PC,通用寄存器,PSW(程序状态字),基址寄存器,状态/标志寄存器(I/O设备内部)

5.2指令执行过程

  • 指令周期:
    取指周期(FE) -> 间指周期(IND) ->执行周期(EX) -> 中断周期(INT)(每执行完一条指令就会检测是否有中断)
  • CPU根据指令周期的不同阶段(取指周期取指,执行周期取操作数)区分指令和数据
  • 各周期概述:
    指令周期:取出并执行完一条指令的时间
    CPU周期/机器周期:一个机器周期包含多个时钟周期
    时钟周期/节拍/T周期:计算机工作的最小周期
    存取周期:连续两次读/写操作的最短时间
  • 不采用cache每次取指都需要访问内存一次
  • 不采用指令预取技术每个指令周期都要取指令

5.3数据通路功能以及基本结构

  • 数据通路实现CPU内部运算器与寄存器寄存器之间数据交换
  • 易错知识点:
    数据通路由控制部件控制
    CPU的读写线决定是从存储器还是
    内部总线是同一部件内部的线,例如CPU内部总线(寄存器与寄存器之间,寄存器与算术逻辑单元之间)
  • 各总线特点:
    单总线:结构简单,数据传输冲突多,性能低
    多总线:效率高,实现复杂

采用CPU内部数据通路:结构简单,实现容易,性能低,存在较多冲突
不采用CPU内部数据通路:结构复杂,硬件量大,不易实现,性能高,基本无冲突


5.4控制器的功能和工作原理

  • 硬布线控制器特点
    1.硬件实现,速度快
    2.设计难度大,成本高,不易扩展
    3.时序系统复杂
    应用场合:RISC(精简指令集)

  • 微程序控制器特点
    1.速度较慢
    2.灵活性高,易扩展
    3.时序系统简单
    应用场合:CISC(复杂指令集),CPU

  • "微"关系
    1.一条机器指令=>一个微程序
    2.一个微程序=>若干微指令
    3.一个微指令=>一个或几个微操作
    4.机器指令->微程序->微指令->微操作命令

  • 重要考点:
    微程序入口地址是机器指令的操作码字段
    控制存储器CM采用ROM组成,微指令存放在CM单元中,CM属于CPU
    微指令计数器决定了微指令执行顺序
    字段直接编码法每个互斥类一个字段
    微指令编码方式中,直接编码方式效率最高
    兼容性微命令是指的可以同时产生同时完成某些操作微命令

  • 控制方式:
    同步控制方式:控制电路简单,运行速度慢
    异步控制方式:运行速度快,控制电路比较复杂
    联合控制方式:介于同步和异步之间

  • 微程序控制器的寄存器分类:
    微地址寄存器:存放控制存储器的读写微指令的地址
    微指令寄存器:存放从控制存储器中读出的微指令


5.5异常和中断机制

  • 异常(内中断):故障,自陷,终止
    1.由CPU内部执行指令时发生的 同步事件
    2.故障自陷属于异常
    3.终止异常外中断属于硬件中断
    举例:缺页,除数为零,地址越界,系统调用指令,自陷指令

  • 中断(外中断):
    1.由CPU外部设备发出与当前指令无关的 异步事件
    2.外部I/O设备通过特定的中断请求信号控制线向CPU提出中断请求
    3.每执行完一条指令CPU就会检测中断信号

  • 中断分类
    可屏蔽中断:通过可屏蔽中断请求线INTR发出中断请求
    不可屏蔽中断:通过不可屏蔽中断请求线NMI发出中断请求
    举例:Cache缺失,I/O中断,时钟中断,I/O请求中断(DMA开始和结束)


5.6指令流水线

  • 提高并行性:
    时间上:
    1.将任务拆分成不同子段
    2.每个阶段在不同的功能部件上执行
    空间上:
    1.在处理器上设置多个执行相同任务的功能部件
    2.让这些部件并行工作**超标量处理机**

  • 五段式流水线:
    IF(取指令)
    ID(译码/取操作数)
    EX(执行指令)
    MEN(访问主存)
    WB(写回寄存器)

  • 指令集特点:
    长度尽量一致
    格式尽量规整
    仅仅使用Load/Store指令访问主存
    数据和指令在存储器中对齐存放

  • 指令流水线阻塞:(结构冒险,结构相关,资源相关)[多条指令同一时刻争用同一资源]
    解决方案:指令和数据分离

6.总线

6.1总线概述

解决I/O设备和主机之间连接的灵活性设计了总线

  • 特点
    分时性:同一时刻只允许一个部件向总线发送信息,同一时刻只有一个主设备控制总线传输
    共享性:总线上可以挂接多个部件

  • 优点:便于增减外设

  • 缺点:减少信息传输的并行性

  • 总线特性:
    机械特性(尺寸,大小)
    电气特性(传输方向,电平范围)
    功能特性(传输线的功能)
    时间特性(信号和时序)

  • 按功能划分总线:
    片内总线:CPU内部 寄存器与寄存器之间,寄存器与ALU之间
    系统总线:个功能部件之间(CPU,主存,I/O接口之间)

  • 按功传输内容分总线:
    数据总线:各功能部件之间数据信息传输
    地址总线:指出主存和I/O设备接口的地址
    控制总线:传输控制信息(控制指令和反馈信息)

  • 通信总线(外部总线):计算机系统之间或计算机与其他系统之间传送信息


6.2总线事务和定时

  • 总线事务过程
    请求阶段 -> 仲裁阶段 -> 寻址阶段 -> 传输阶段

  • 突发总线事务:给出地址(首地址)后,连续进行若干次数据传输

  • 同步定时/控制方式:
    由统一时序控制的通信方式
    既可用于CPU控制,又可以用于高速的外设
    优点:
      1.传输速度快
      2.总线逻辑控制简单
      3.不需要应答,总线较短
      4.使用公共时钟信号
      5.各部件存取时间接近
    缺点:
      1.主从设备强制同步
      2.不能及时数据校验
      3.可靠性差
    适用于总线长度较短且各个部件存取时间接近

  • 异步定时/控制方式:
    优点:
      1.总线周期可变
      2.由"握手"信号实现定时控制
    缺点:
      比同步复杂且慢

  • 异步定时分类:
    不互锁方式
    半互锁方式
    全互锁方式

7.输入/输出系统

7.1 I/O系统概述

  • 设备分类
    外部设备 。包括输入/输出设备及通过输入/输出接口才能访问的外存储设备。
    接口。在各个外设与主机之间传输数据时进行各种协调工作的逻辑部件。协调包括传输过程中速度的匹配、电平和格式转换等。
    输入设备。用于向计算机系统输入命令和文本、数据等信息的部件。键盘和鼠标是最基本的输入设备。
    输出设备。用于将计算机系统中的信息输出到计算机外部进行显示、交换等的部件。显示器和打印机是最基本的输出设备。
    外存设备。指除计算机内存及CPU缓存等外的存储器。如,硬磁盘、光盘等。

  • I/O控制方式
    程序查询方式。由CPU通过程序不断查询IO设备是否已做好准备,从而控制I/0设备与主机交换信息。
    程序中断方式。只在IO设备准备就绪并向CPU发出中断请求时才予以响应。
    DMA方式。主存和I/0设备之间有一条直接数据通路,当主存和IO设备交换信息时无须调用中断服务程序。
    通道方式。在系统中设有通道控制部件,每个通道都挂接若干外设,主机在执行I/0命令时,只需启动有关通道,通道将执行通道程序,从而完成IO操作。

7.2 I/O接口

  • 接受主机发送的I/0控制信号,实现主机和外部设备之间的信息交换
  1. 选址功能(进行地址译码和设备选择)
  2. 传送命令功能(I1O操作的控制与定时)
  3. 传送数据功能(与主机和外设通信)
  4. 反映I/0设备工作状态的功能(I/O过程中错误和状态检测)
  5. 数据格式的转换
  • 接口
    端口:I/O设备中寄存器
    接口:若干端口+控制逻辑
    I/O指令:对数据缓冲寄存器,状态/设备寄存器访问的指令

  • 访问I/O设备的控制方式
    1.程序查询接口
    2.中断接口
    3.DMA接口

  • I/O端口与主存统一编址:
    优点:不需要专门I/O指令,CPU操作更灵活,端口由较大编制空间
    缺点:占用存储器地址,内存编址变小,执行速度较慢

  • I/O端口独立编址:
    优点:更容易区分指令类型,编址清晰,便于理解
    缺点:对应指令只能用于I/O端口,需要CPU提供更多控制信息

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐