计组 笔记

计算机组成原理

一、 计算机系统概述

1.1 计算机系统简介

现代计算机的多态性

从小型传感器到HPC到物联网,个人计算机到超算

计算机系统的层次结构

  1. 微程序机器(硬件执行微指令)

  2. 传统机器(机器语言指令)

    上面是硬件,下面是软件 进行实现

  3. 操作系统机器(向上提供广义指令)

  4. 汇编语言机器(执行汇编指令)

  5. 高级语言机器(执行高级语言,编译器、解释器)

计算机体系结构:有无乘法指令

计算机组成:如何实现乘法指令

1.2 计算机的基本组成

冯·诺依曼

ENVAC

硬件在软件上是等效的

  1. 五大部件:输入设备、存储器、运算器、控制器、输出设备

  2. 指令和数据以同等地位存于存储器上,可按地址寻访

  3. 指令和数据都是用二进制表示

  4. 指令由地址码和操作码组成

  5. 存储程序 (核心特征)

  6. 以运算器为中心

现代计算机

以存储器为中心

CPU = 运算器ALU + 控制器CU

系统复杂性管理的方法(3Y)

层次化、模块化、规则性

计算机的工作步骤

建模、确定计算方法、编程

各个硬件

存储器、运算器、控制器 构成主机

  • 主存储器:存储体 + MAR + MDR(Memory Data/Adress Register: 寄存器)
    • 存储体有多个存储单元,其中二进制代码的组合称为存储字,位数就是字节长
    • MAR 的位数表示有$2^n$个存储单元(存储单元的地址)
    • MDR 的位数表示每个单元可以存储n bit (一个字节是8 bit)
  • 运算器:ACC + MQ + ALU + X
    • ACC:累加器
    • MQ:乘商寄存器
    • X:通用的操作数寄存器
    • ALU:算数逻辑单元
  • 控制器:CU + IR + PC
    • PC:取指令 -> 程序寄存器,存放下一条指令,有自动+1的功能
    • IR:分析指令 -> 指令寄存器,存放当前的指令
    • CU:执行指令 -> 控制单元,分析指令,给出控制信号

MAR MDR 也可能在CPU里面

PC:Program Counter,程序计数器

IR:Instruction Register,指令寄存器

CU:Control Unit,控制单元

一条指令的步骤

取指令 -> 分析指令 -> 执行(存储器&运算器)

1.3 计算机硬件的主要技术指标

机器字长

CPU 一次能处理数据的位数,与CPU中寄存器的位数有关

注意区分 机器字长、指令字长、存储字长

运算速度

  1. 主频:数字脉冲信号振荡的频率,主频 = 1/时钟周期

  2. 核心数 & 每个核心支持的线程数

  3. CPI:执行一条指令所需的时钟周期数

    执行耗时 = CPI*时钟周期

  4. IPS:每秒执行多少指令(这里不知道指令复杂度如何),常见 MIPS

  5. FLOPS:每秒多少次浮点操作

存储容量

主存容量 = 存储单元个数*存储字长 bit

整体性能

数据通路带宽:数据总线一次所能并行传输信息的位数

吞吐量:系统在单位时间内处理请求的数量

响应时间

二、 系统总线

2.1 总线的基本概念

计算机使用总线结构便于增减外设,同时减少了信息传输线的条数

各个部件共享的传输介质(Bus),并行 || 串行

面向CPU的双总线

I/O 总线 <-> IO 设备; M 总线 <-> 主存;CPU 连接两条总线

面向存储器的双总线

系统总线都连接;CPU 和 主存之间使用存储总线连接

2.2 总线的分类

  • 片内总线:芯片里面

  • 系统总线:各个部件之间

    • 数据总线:双向 与机器字长、存储字长有关
    • 地址总线:单向 与存储地址、IO地址有关
    • 控制总线:有出 有入
  • 通信总线:计算机系统之间或者与其他系统之间

2.3 总线的特性与性能指标

特性

  • 机械特性:尺寸、形状、管脚数、排列顺序
  • 电气特性:传输方向、有效的电平范围
  • 功能特性:每根传输线的功能「地址、数据、控制」
  • 时间特性:信号的时序关系

性能 指标

  • 总线宽度:数据线的根数
  • 标准传输率:每秒传输的最大字节数 (MBps)
  • 时钟同步、异步
  • 总线复用:地址线、数据线、控制线的复用
  • 信号线数:地址线、数据线、控制线的总数
  • 总线控制方式
  • 其他:负载能力

总线标准

PCI、USB 等

3.4 总线的结构

  • 双总线结构:I/O 总线、M 总线

  • 三总线结构:系统总线、存储总线、DMA 总线

    | 局部总线、系统总线、扩展总线

  • 四总线结构:局部总线、系统总线、扩展总线、高速总线

3.5 总线的控制

总线判优控制

  • 主设备:对总线有控制权

  • 从设备:响应从主设备发来的总线命令

分为 集中式分布式

集中式控制

BS —— 总线忙;BR —— 总线请求;BG —— 总线同意

链式查询方式

BG 逐个向下查询

缺点:优先级与连接方式有关、电路敏感

计数器定时查询方式

使用计数器通过地址线查询

缺点:数据线多

独立请求方式

每个接口连接两条BR、BG线,控制器内部实现排队器

总线通信控制

解决通信双方协调配合的问题

总线传输周期

  • 申请分配阶段:主模块申请,总线仲裁决定
  • 寻址阶段:主向从给出地址和命令
  • 传数阶段:交换数据
  • 结束阶段:主模块撤回有关消息

总线通信的四种方式

  • 同步:定宽、定距的时钟

  • 异步:请求、应答线

    • 不互锁:管你答没答
    • 半互锁:答了就行
    • 全互锁:我答了你得撤销
  • 半同步通信(同步 & 异步)

    • 同步:发送方用时钟前沿发信号 | 接收方使用时钟后沿判断识别
    • 异步:允许不同速度的模块和谐工作。增加一条等待信号「WAIT

一个传输周期内,从模块准备数据是不占用总线的,从而造成资源的浪费

  • 分离式通信(总线上所有模块都可以成为主模块)同步
    • 子周期 1:主模块申请占用总线,使用完放弃使用权
    • 子周期 2:从模块申请占用总线,将各种信息传送到总线上

三、 存储器

3.1 概述

分类

存储介质

  • 半导体:TTL、MOS (易失)
  • 磁表面:磁头、磁载体
  • 磁芯:硬磁材料、环状元件
  • 光盘

存取方式

  • 随机访问:存储时间与物理地址无关
    • 随机存储器
    • 只读存储器
  • 串行访问:存储时间与物理地址有关
    • 顺序存取存储器:磁带
    • 直接存取存储器:磁盘
  • 作用
    • 主存储器:RAM(静态、动态) & ROM
    • Flash Memory
    • Cache
    • 辅助存储器

主存和 CPU 之间增加 Cache 的原因是 「解决CPU和主存之间的速度匹配问题

3.2 主存储器

概述

主存和CPU之间的联系

主存中存储单地址的分配

字节序(Endianness):组成多字节的字的字节的排列顺序 0x0A0B0C0D

  • 大端序:| 0x0A | 0x0B | 0x0C | 0x0D|

  • 小端序:| 0x0D | 0x0C | 0x0B | 0x0A|

主存的性能指标

  • 存储容量 = 存储字数×字长(如1M×8位)
  • 单位成本:每位价格=总成本/总容量
  • 存储速度:数据传输率=数据的宽度/存储周期

主存的存储周期一般要比存取时间长(Tm > Ta),因为经历读写之后,需要一段时间来进行内部状态的恢复。

存储周期: 连续两次独立访问存储器操作(读或写操作)之间所需的最小时间间隔

半导体存储器

四、数据的表示和运算

进位计数制

  • 基数:r 进制的基数为 r
  • 位权:$r^k$ 中的 k
#计组 #笔记
0%