INTRODUCTION 导论:

A. Overview 概述:

a. Definition 定义:

  1. Definition 定义: Computer Organization 计算机组成, 研究运算器、控制器、寄存器、存储器与输入输出部件如何连接和协同, 将机器指令落实为数据传送、运算和状态变化
  2. Core Question 核心问题: 给定一条指令或一次数据传输, 解释数据经过哪些部件、控制信号如何选择路径、状态何时更新

b. Boundaries and Connections 边界与联系:

  1. Digital Logic 数字逻辑: DIGITAL LOGIC 数字逻辑 解释门电路、组合模块、寄存器、FSM 与时序约束
  2. Computer Architecture 计算机架构: COMPUTER ARCHITECTURE 计算机架构 解释 ISA、先进微架构、并行组织与性能取舍
  3. Operating System 操作系统: OS 操作系统 解释进程、页表管理、缺页处理与设备驱动

B. System View 系统视角:

a. Execution and Communication 执行与通信:

  1. Stored Program 存储程序: 指令与数据以比特形式存储, CPU 依据 PC 取指并更新寄存器、存储器或控制流;不同系统可使用分离的指令与数据路径
  2. Machine State 机器状态: 用 PC、架构寄存器和存储器等描述执行状态;指令语义规定哪些状态应改变, 数据通路和控制器实现这些变化
  3. Execution Model 执行模型: 本页以 RISC-V 基础整数指令和简化教学数据通路解释机制;具体时序、控制信号及地址转换按各小节条件理解

image.png

<aside>

Running Example 贯穿示例:

  1. Conditions 条件: 采用 RV32I、字节编址、小端且访问有效的模型, 执行 lw x3, 8(x1)
  2. Input 输入: x1 = 0x1000, 地址 0x1008 至 0x100B 的字节依次为 78、56、34、12
  3. Path 路径: 寄存器堆提供基址, ALU 加上立即数 8 得到地址 0x1008, 存储接口读取 4 个字节, 写回选择器将 0x12345678 送入 x3
  4. Connections 衔接: 采用虚拟地址时加入 MMU/TLB 转换, Cache 未命中时请求下一层;数据表示、数据通路与存储系统共同完成这条指令 </aside>

I. DATA REPRESENTATION 数据表示:

A. Integers and Instructions 整数与指令:

a. Representation Review 表示回顾:

  1. Basic Encoding 基本编码: n 位无符号范围为 0 到 2ⁿ − 1, 补码范围为 −2ⁿ⁻¹ 到 2ⁿ⁻¹ − 1;数制、补码、取负、扩展截断及进位与溢出原理见 DIGITAL LOGIC 数字逻辑 的 DATA REPRESENTATION 数据表示与 COMBINATIONAL LOGIC 组合逻辑
  2. Interpretation 解释: 比特串本身不携带有符号、无符号或浮点类型, 解释由指令及软件约定决定;同一二进制加法电路可服务不同数值解释
  3. Load Extension 加载扩展: 加载宽度小于寄存器宽度时, 指令可规定符号扩展或零扩展;例如 RISC-V lb 与 lbu 分别把字节按有符号与无符号方式扩展到 XLEN
  4. Overflow Behavior 溢出行为: 保留模位宽结果、设置条件码或触发异常由 ISA 决定;RISC-V 基础整数加法不设置通用条件码或触发算术溢出异常
  5. Shifts 移位: 逻辑移位补 0, 算术右移复制符号位;左移可能丢失高位, 算术右移对负数的舍入通常不同于向零取整的整数除法;电路实现见数字逻辑

B. Floating Point 浮点数:

a. Finite Precision 有限精度:

  1. Fields 字段: IEEE 754 binary32 使用 1 位符号、8 位指数和 23 位小数字段;正规数的有效数具有隐含前导 1
  2. Normal Values 正规数: binary32 正规数为 $(-1)^s(1.f)_2\times2^{E-127}$;E 为指数编码, f 为小数字段;指数全 0 或全 1 时按特殊规则解释
  3. Special Values 特殊值: E = 0 且 f = 0 表示正负零;E = 0 且 f ≠ 0 表示次正规数, 数值为 $(-1)^s(0.f)_2\times2^{-126}$;E = 255 且 f = 0 表示正负无穷, f ≠ 0 表示 NaN
  4. Rounding 舍入: 浮点数只能表示有限集合, 0.1 等十进制小数通常不能精确表示;舍入可使 (a + b) + c 与 a + (b + c) 不同

C. Byte Layout 字节布局:

a. Endianness and Alignment 字节序与对齐:

  1. Byte Addressing 字节编址: 一个地址通常标识一个字节;字长、数据宽度和地址宽度是不同概念
  2. Endianness 字节序: 多字节数值在递增地址上的字节排列规则;字节序改变存储排列, 不改变数值本身
  3. Alignment 对齐: 自然对齐通常要求数据起始地址为其大小的整数倍;非对齐访问的支持、性能和异常行为取决于系统

<aside>

Bit Interpretation 比特解释:

  1. Same Bits 相同比特: 8 位 0xFF 按无符号解释为 255, 按补码解释为 −1
  2. Extension 扩展: 扩到 32 位时, 零扩展为 0x000000FF, 符号扩展为 0xFFFFFFFF
  3. Instruction Effect 指令效果: RV32I 中对字节 0xFF 执行 lbu 得到 255, 执行 lb 得到 −1;指令决定扩展规则 </aside>

<aside>

Binary32 Example 单精度示例:

  1. Normalization 规格化: 1.5 = (1.1)₂ × 2⁰, 符号 s = 0, 指数编码 E = 127, 小数字段为 1 后接 22 个 0
  2. Encoding 编码: 字段为 0 | 01111111 | 10000000000000000000000, 合并得到 0x3FC00000
  3. Precision 精度: binary32 正规数含隐含位共有 24 位有效二进制精度;次正规数没有隐含前导 1 </aside>

Byte Layout Example 字节布局示例:

  1. Value and Address 数值与地址: 将 32 位数值 0x12345678 存在起始地址 0x1000
地址 小端字节 大端字节
0x1000 78 12
0x1001 56 34
0x1002 34 56
0x1003 12 78
  1. Alignment 对齐: 0x1000 是 4 的整数倍, 满足 4 B 自然对齐;0x1001 不满足, 具体处理依系统规定

II. PROCESSOR ORGANIZATION 处理器组成:

A. Core Components 核心部件:

  1. Model Conditions 模型条件: 示例采用 RV32I, 固定 32 位指令且不含压缩扩展;单周期模型假设存储器在本周期内返回结果, 五级流水线模型另行说明访存与旁路条件;这些是教学假设, 不是全部 RISC-V 实现的要求

a. Datapath Components 数据通路部件:

  1. Register File 寄存器堆: 通过读端口提供源操作数, 通过写端口按控制信号更新目标寄存器;通用寄存器与 PC、控制状态寄存器用途不同
  2. ALU 算术逻辑单元: 执行整数加减、逻辑、移位与比较等选定操作;乘除可由独立单元或多周期机制实现, 浮点运算通常由 FPU 处理
  3. Multiplexers and Immediate Generator 选择器与立即数生成器: 选择寄存器、立即数、访存结果及下一 PC 的来源;立即数字段按指令格式重组并扩展
  4. PC and Instruction Storage PC 与指令保存: PC 用于指令地址选择;多周期教学模型可用 IR 保存当前指令, 流水线使用各级寄存器保存对应指令与控制信息
  5. Control Unit 控制单元: 依据指令和当前执行状态生成读写使能与路径选择;Cache 和主存通过访存接口提供指令与数据

organization-1.png

b. Processor Types 处理器类型:

  1. CPU and MCU CPU 与微控制器: CPU 面向通用指令执行;MCU 通常在芯片内集成处理器、存储器和外设, 面向设备控制
  2. GPU and Accelerators GPU 与加速器: GPU、NPU/TPU 面向高并行或特定计算;DSP 面向数字信号处理;其组织与设计取舍见计算机架构
  3. System Performance 系统性能: 程序速度同时受处理器执行、访存、I/O 与软件影响, 不能仅由主频、核心数或缓存容量判断

III. PIPELINING 流水线:

IV. MEMORY SYSTEM 存储系统: