# 计算机组成原理笔记

***

## 第一章

1. 冯诺依曼体系：

* 由五大部件（储存器，运算器，控制器，输入设备和输出设备）组成；
* 采用二进制表示信息；
* 采用存储程序的工作方式。

2. 所有计算机都是冯诺依曼体系？ ×
3. 硬件系统基本组成：
   * CPU由运算部件、寄存器组和控制器组成，通过CPU内部总线相互交换信息；控制器提供整个系统工作所需的各种微命令，这些微命令可用组合逻辑电路或执行微程序产生。
   * 储存器包括主存，外存和高速缓存等。
   * 输入输出设备、总线和接口。
4. 北桥：内存控制，视频控制，与CPU的交互；南桥：控制外部设备和BIOS
5. 性能的评价指标：
   * 字长：定点运算的操作数的位数；
   * CPU主频`f`：CPU内核的工作频率，CPU时钟频率。时钟周期T = 1/f。
   * 平均每条指令的时钟周期数CPI，每条指令的平均用时 = CPI / f

## 第二章

6. 十六进制的一种标注方法是以H为后缀，最大数码为F；
7. 原码：第一位符号位，0正1负；范围是 $$-(1-2^{n-1}) 到 1-2^{n-1}$$
8. 补码：- (X) = (X变反 + 1)；范围是$$-1 到 1-2^{n-1}$$
9. 浮点数： $$N = (-1)^s ×1.M × 2 ^{E-127}$$
10. IEEE754：一位符号位，8位指数位，23位尾数位，共32位
11. 十进制转IEEE754：先转换成二进制，规格化二进制（1.xx \* 2^x），阶码真值+偏置值得阶码，再拼上尾数和符号位。
12. 大端法：高字节存放在低地址，就是人的阅读习惯；小端法：高字节放在高地址，使得数据位的权值和地址的高低联系起来。
13. 补码加法：符号位参与运算直接相加；补码减法：转换为与减数的负数（变反+1）相加；
14. 原码加减法：先对数值位进行加减，再处理符号位

## 第三章

13. CPU硬件结构模型：
    * 运算部件：ALU，输入逻辑，输出逻辑
    * 缓存部件
    * 寄存器组：通用寄存器、暂存器、指令寄存器IR、程序计数器PC、程序状态字寄存器PSW、地址寄存器MAR、数据缓冲寄存器MBR（模型的MDR）、栈指针寄存器SP。
    * 可被编程访问：R0-R3，PSW，PC，SP 不可访问：IR、MAR、MDR、C、D
    * PSW中有些位可以被编程修改 √
    * 控制部件
    * 时序系统
    * 数据通路和控制通路
14. 寻址方式：
    * 立即寻址：直接在指令里读操作数
    * 直接寻址：给出内存地址或寄存器号，以读取操作数
    * 间接寻址：从某寄存器或主存中读取一个地址，然后再到这个地址读取操作数
    * 变址寻址：如X(R0)，表示 取PC指向的地址里的值 加上R0里的值 得到操作数的有效地址 然后在这个地址里就可以找到操作数。实质是将形式地址作为基址地址，寄存器里的内容为偏移量。
    * 基址寻址：将寄存器的内容作为基址地址，形式地址作为偏移量。
15. 模型机的一些寻址方式：
    * R： 寄存器的内容作为操作数
    * (R)：寄存器的内容作为有效地址
    * -(R)：寄存器的内容-1后作为有效地址
    * (R)+：寄存器的内容作为有效地址，访问完成后寄存器的内容+1
    * @(R)+：寄存器的内容为间接地址，访问完成后寄存器的内容+1
    * X(R)：见14
16. 模型机的控制系统结构：微命令发生器、时序系统，以及对IR、PSW、PC的信息输入。
17. 控制系统的输入信号：IR、PSW、PC、时序系统、IO请求、复位信号
18. 时序系统：一条指令的完成（指令周期），分为若干个工作周期，每个工作周期又分为若干个时钟周期（节拍）
19. 并行加法器的运算速度取决于传递进位信号的逻辑电路（进位链）
20. 串行进位链：$C\_i = G\_i + P\_iC\_{i-1}$；并行进位链：$C\_i = G\_i + P\_iG\_{i-1} + P\_iP\_{i-1}G\_{i-2}+...+P\_i...P\_1C\_0$
21. 四大基本工作周期：
    * 取址周期FT：完成将指令从M取出送进IR，以及修改PC
    * 源周期ST：读取操作数，暂存于C
    * 目的周期DT：读取目的地址放入MAR，或读取目的操作数，暂存于D
    * 执行周期ET：执行数据传输、运算等
22. 指令流程：重点一张图

![](https://pic1.imgdb.cn/item/63687f3f16f2c2beb1929690.jpg)

23. 常见模型机指令流程（微指令）：
    * E开头：Enable，将寄存器内容打到总线上，如EMAR
    * R：从主存读内容到总线
    * W：写内容到主存
    * S开头：将（外）总线上的内容读入寄存器，如SIR，SMDR
    * 直接传递，如PC->A，用于将寄存器的值打入A或B，或简单的对寄存器的值传
    * 直通A/B：直接让A/B穿过ALU
    * A加B：让ALU算A+B，然后输出
    * DM：直接送出移位器
    * CP开头：过ALU送出的值复制到寄存器
24. 处理X(R0)：X是一个地址，存在当前指令的下一个地址。处理时应取PC指向的地址（因为取值的时候PC已经+1，这时候就指向X）的值与R0的内容相加，得到操作数地址。处理完后PC要+1（略过X）。

## 第四章

24. 存储器的主要性能：速度（T，用存储周期表示）、容量（S，用MB GB表示）、价格（C，用每位的价格表示）
25. `命中率`：H = N1 / (N1 + N2)，N1：对M1储存器的访问次数；N2：对M2储存器的访问次数
26. 存取方式分类：
    * RAM：随机访问存储器，如主存和高速缓存；
    * SAM：顺序访问存储器，按顺序遍历查找，如磁带
    * DAM：直接访问存储器，可以先直接确定一块区域，然后再顺序查找，如磁盘
27. 存储器的技术指标：
    * 存取时间TA：进行一次读写的时间
    * 存取周期TM：本次存取到下次存取开始的时间 TM = TA + 传输、复原等时间
    * 数据传输率DTR，也叫传输带宽
28. 主存的逻辑设计：

    * 总容量 = 编制单元数\*位数，位数指每个编制单元的数据宽度。设计时用小容量芯片拼，例如4M \* 2 可以由 4个1M \* 2 或 2个4M \* 1 拼成。
    * 设计过程：

    ![](https://i.328888.xyz/2022/12/08/fmXIo.png)

    ![](https://i.328888.xyz/2022/12/08/fmxuV.png)

    > 低位分配给芯片，高位用于片选逻辑。剩下的位留空。
    >
    > 片选逻辑用来选择芯片。这里的片选实际上只用到了两个地质线A11-A12（能表示2^2个芯片）.

    ![](https://i.328888.xyz/2022/12/08/fmzPq.png)

    > 注意上面R/W那一条是控制总线

    > 补充连线图：

    ![](https://i.328888.xyz/2022/12/08/fp4Bt.png)
29. 奇偶校验：约定校验码中1的个数为奇数/偶数，码距=1。例：偶校验：1011001 0 ; 1911911 1.
30. 海明校验：可以找出错误的位。m+k<=2^k-1，m表示数据位数，k表示校验码位数。海明校验的校验码分部于第2^0，2^1,2^2...位。其他位都是数据位。将其他位的位置转换为二进制，其对应位为1的位数2^a = 1，2^b = 0，2^c = 1 ，就说明这个位由2^a、2^c两个校验位负责校验。每个校验位都对其负责的位进行奇偶校验（异或）。接收方重新按检测位进行检验，如果发现不一致，综合所有检测位的结果，排除一致的检测位，算出有错的位。

## 第五章

31. 总线定义：一组能为多个部件分时共享的信息传送线路；总线分类：CPU内总线、部件内总线、系统总线、外总线；
32. 接口定义：主机与外设间的连接逻辑，控制外设I/O操作；接口分类：并行接口（接口与系统）、串行接口（接口与外设）。
33. 中断定义：CPU暂停执行现行程序，转去执行为某个随机事态服务的中断处理程序。处理完毕后自动恢复原程序的执行。典型应用：管道中、低速I/O操作；处理故障。
34. 中断的流程：保护现场-中断服务处理-恢复现场-开中断-返回
35. DMA定义：直接存储器访问，是依靠硬件而不需要CPU的直接在主存与外围设备之间进行数据传送的方式，如磁盘IO。·


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://blog.mcyou.cc/ji-ke-ji-chu/ji-suan-ji-zu-cheng-yuan-li-bi-ji.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
