🌱博客主页:大寄一场.
😘博客制作不易欢迎各位👍点赞+⭐收藏+➕关注

目录
欢迎来到这篇博客,我将为大家提供一份计算机组成原理期末复习笔记。在本次复习中,我们将回顾和巩固计算机组成原理的重要知识点,包括计算机系统的基本结构、指令集架构、存储器层次结构、总线和通道以及输入输出设备的工作原理等。
计算机组成原理是计算机科学和工程领域的核心课程之一,对于理解计算机系统的运作原理和设计计算机硬件具有重要意义。通过本次复习笔记的阅读,你将加深对计算机组成原理的理解,提高自己的知识水平和技能。
希望这份复习笔记对你有所帮助,如果你在学习过程中遇到任何问题或需要进一步解释,请随时在评论区留言。祝你考试顺利!
本文参考教材:周建敏主编的《计算机组成原理》
B站视频: 王道计算机考研 计算机组成原理;
学到这一章我们便会想知道什么是计算机系统?
计算机系统=软件(具有各种特殊功能的程序)+硬件(计算机的实体)


计算机软件技术的发展,促进计算机系统的发展。
计算机语言的发展经历了面向机器的机器语言和汇编语言、面向问题的高级语言。其中高级语言的发展真正促进了软件的发展,它经历了从科学计算和工程计算的 FORTRAN、结构化程序设计的 PASCAL到面向对象的C++和适应网络环境的Java。
同时,直接影响计算机系统性能提升的各种系统软件也有了长足的发展,特别是操作系统,如 Windows、 Linux、UNIX等。
计算机的硬件包括运算器、控制器、存储器、输入/输出设备和总线。随着半导体制造工艺的进步,将运算器和控制器集成在一个芯片上,这样的集成电路芯片称为中央处理器 (CPU)。


- ACC:累加器(accumulator),一种计算机中的寄存器,用于保存运算结果。
- ALU:算术逻辑单元(arithmetic logic unit),用于执行算术和逻辑运算。
- MQ:乘法器-商寄存器(multiply-quotient),用于存储乘法操作的结果和商。
- X:通用的操作数寄存器,用于存放操作数

IR:指令寄存器,存放当前执行的指令
PC:程序计数器,存放下一条指令地址,有自动加1功能

- 存储单元(Storage Unit):是计算机中用于存储数据的基本单位,通常是一个二进制位(bit)或八个二进制位(byte)。
- 存储字(Storage Word):是计算机中用于存储一个数据项的基本单位,通常由一个或多个存储单元组成。例如,一个 32 位的存储字可以存储 4 个字节的数据,每个字节包含 8 个二进制位。
- 存储字长(Storage Word Length):是指一个存储单元可以存储的二进制位数。例如,一个 32 位的存储字长可以存储 32 个二进制位,而一个 64 位的存储字长可以存储 64 个二进制位。
- 存储元(Storage Element):是计算机中用于存储单个数据的最小单位,通常情况下,一个存储元指的就是一个字节(byte),它可以存储8个二进制数位(即8位二进制数),2个八进制数位(即2位八进制数),或1个十进制数位(即0-9中的一个数字)。在某些特殊情况下,一个存储元也可以指代两个字节(即16位)。
MAR(Memory Address Register)(内存地址寄存器),用于存储CPU将要访问的内存地址,是CPU和主存之间传送地址信息的桥梁。当CPU需要访问主存中的数据时,首先将要访问的地址存储到MAR中,然后通过地址总线将地址发送到主存,主存根据地址读取对应的数据并将其送回给CPU。
MDR(Memory Data Register)(内存数据寄存器),用于存储CPU与主存之间传输的数据。
读取操作:
1.先将要读取的数据的地址加载到 MAR 中:首先,CPU 将需要读取的数据的地址送入 MAR 中。这个地址指向需要访问的内存单元。
2.发送读取信号到控制总线:接下来,CPU 将一个读取信号发送到控制总线上。这个信号将告诉存储单元,CPU 正在试图读取内存中的一个值。
3.存储器芯片将数据通过数据总线传输到 MDR 中:一旦收到了读取信号,存储器芯片就会将所需的数据通过数据总线传输到 MDR 中。传输完成后,数据就可以被 CPU 访问和使用了。
4.CPU 从 MDR 中读取数据:最后,CPU 从 MDR 中读取数据,并对其进行进一步处理。
写入操作:
1.将要写入的数据加载到 MDR 中:首先,CPU 将要写入内存的数据加载到 MDR 中。这个数据可以是来自 CPU 的运算结果,也可以是从外部设备输入的数据。
2.将要写入的数据的地址加载到 MAR 中:接下来,CPU 将要写入的数据的地址送入 MAR 中。这个地址指向需要访问的内存单元。
3.发送写入信号到控制总线:一旦准备好了数据和地址,CPU 就会发送一个写入信号到控制总线上。这个信号将告诉存储芯片,CPU 正在试图将一个值写入内存中的指定位置。
4.存储芯片将 MDR 中的数据写入内存:一旦收到了写入信号,存储芯片就会将 MDR 中的数据写入到指定的内存单元中。
冯诺依曼计算机
早期的冯·诺依曼机以运算器为中心,且是单处理机,最根本的特征是采用“存储程序”原理,基本工作方式是控制流驱动方式
冯诺依曼计算机的特点:
存储程序:计算机的程序和数据都存储在同一个内存中,而程序可以被当做数据进行处理,从而实现程序可以自我修改和自我执行的特性。
指令流控制:计算机按照指令流的顺序执行程序,每行指令完成后跳转到下一行继续执行,这种控制方式简洁高效。
二进制代码:计算机中所有的数据和指令都以二进制的形式表示,使得计算机处理数据的方式简单而统一。
高度灵活:计算机可以根据不同的需求,通过改变指令或数据的存储位置,来实现不同的功能,具有高度灵活性和可编程性。
通用性:冯诺依曼计算机的架构支持各种类型的数据处理和算法实现,适用于各种领域的应用。
现代计算机
以存储器为中心
CPU=运算器+控制器


计算机的性能指标包括主频、CPU 时钟周期、CPI、CPU 执行时间、运算速度、基本字长、主存容量和主存存取周期等。
CPU主频=1/ CPU时钟周期
执行一条指令的耗时=CPI*CPU时钟周期
CPU执行时间=CPU时钟周期数/主频=(指令条数*CPI)/主频
- IPS是指每秒钟可以执行的指令数,它用于衡量计算机的处理速度。IPS的值越高,计算机的处理能力就越强。IPS通常用于衡量CPU的性能。
- FLOPS是指每秒浮点运算次数,它用于衡量计算机的计算速度。FLOPS的值越高,计算机可以在单位时间内执行更多的浮点运算。FLOPS通常用于衡量GPU或其他处理器的性能。
IPS=主频/平均CPI
博主将俩个章节放在一起
关于这一章的学习大家可以参考博主之前的博文《深度剖析数据在内存中的存储》
本章需要掌握的知识点如下:
- 字符信息属于符号数据,是处理非数值领域的问题,国际上采用的字符系统是ASCII码。
- 直接使用西文标准键盘输入汉字,进行处理,并显示打印汉字,是一项重大成就。为此要了解汉字的输入编码、汉字内码、字模码等3 种不同用途的编码。
校验码:
1.奇偶效验
2.海明码
3.循环冗余
- 一个定点数由符号位和数值位两部分组成。按小数点位置不同,定点数有纯小数和纯整教两种表示方法。
- 数的真值变成机器码时有4种表示方法:原码表示法、反码表示法、补码表示法和移码表示法。其中,移码主要用于表示浮点数的阶码 E,以利于比较两个指数的大小。
- 按IEEE 754标准,一个浮点数由符号位S、阶码E、尾数M三个域组成。其中阶码E的值等于指数的真值e加上一个固定偏置值。
- 原码加法规则:先判断符号位,若符号位相同,则绝对值相加,结果符号位不变:若符号位不同,则绝对值大的数减去绝对值小的数,结果符号位与绝对值大的数相同。
- 补码加法的特点是符号位要作为数的一部分参加运算,并且要在模 M的意义下相加,即超过M的进位要丢掉。
- 当运算结果超过了数的表示范围时称为溢出。
- 在计算机中,乘法运算由累加和右移操作实现。根据机器数的不同,可分为原码一位乘法和补码一位乘法.
- 完成浮点加减法运算的操作过程大体分为6步:0操作数检查,比较阶码大小并完成对阶,尾数求和运算,结果规格化,舍入处理,溢出判断。
- 算术逻辑单元ALU的基本组成是加法器。
存储器的功能是存放指令和数据,它使计算机具有了记忆能力,进而具备了自动操作能力,因此,存储器在计算机中具有重要的地位。本章首先介绍存储器的分类
存储器分类:



存取容量=存取单元个数*存储字长/8
存储器容量扩展
- 位扩展:位扩展是指通过增加主存中每个地址所对应的二进制位数来增加主存的容量。例如,将主存从8位扩展到16位或32位,可以使主存能够存储更多的数据。位扩展通常用于CPU速度较快的计算机系统中,因为它需要更多的时钟周期来完成数据传输。
存储芯片与CPU的引脚连接方式:
(1)地址线:各芯片的地址线直接与CPU地址线连接。
(2)数据线:各芯片的数据线分别与CPU数据线的不同位连接。
(3)片选及读/写线:各芯片的片选及读/写信号线直接与 CPU 的访存及读/写信号线
连接。- 字拓展:字拓展是指通过增加主存中每个地址所对应的字(即一组二进制位)的数量来增加主存的容量。
例如,将主存从4KB扩展到8KB或16KB,可以使主存能够存储更多的数据。字拓展通常用于CPU速度较慢但需要大量内存的计算机系统中,因为它可以在不增加时钟周期的情况下提高系统的性能。
存储芯片与CPU的引脚连接方式:
(1)地址线:各芯片的地址线与 CPU 的低位地址线直接连接。
(2)数据线:各芯片的数据线直接与 CPU 数据线连接。
(3)读/写线:各芯片的读/写信号线直接与 CPU 的读/写信号线连接
(4)片选信号:各芯片的片选信号由 CPU的高位地址和访存信号产生。- 字位同时扩展:位字同时扩展是指同时增加主存中每个地址所对应的二进制位数和字的数量来增加主存的容量。(先位拓展后字拓展)
例如,将主存从8位扩展到16位并将其从4KB扩展到8KB,可以使主存能够存储更多的数据,并且在处理大量数据时具有更高的性能。
存取周期=存取时间+复原时间。
带宽=每周期的信息量/周期时长
本章需要掌握的知识点如下:

| 特点 | SRAM | DRAM |
| 存储原理 | 触发器 | 电容 |
| 破坏性读出 | 非 | 想 |
| 需要刷新 | 不需要 | 需要 |
| 送行列地址 | 同时送 | 分两次送 |
| 运行速度 | 快 | 慢 |
| 集成度 | 低 | 高 |
| 发热量(功率) | 大 | 小 |
| 存储成本 | 高 | 低 |
| 主要用途 | 高速缓存 | 主机内存 |


写回法:当写 Cache 命中时,先将更新内容写入 Cache,并做标记,在特定时间将 Cache 内容写回主存。

写贯穿(全写法): 当写 Cache 命中时,同时写入 Cache 和主存。其优点是一致性好,方法简单可靠;缺点是时间开销为访存时间,速度会受影响。

虚拟存储器是一个逻辑模型
功能:用户给出一个地址,叫做虚地址或逻辑地址虚拟存储器要给出该地址对应的数据。
实现:由辅助硬件将虚地址映射到主存当中的某个单元,主存单元地址称为实地址或物理地址。


本章需要掌握的知识点如下:



指令寻址方式









CISC: Complex Instruction Set Computer 复杂指令集计算集
设计思路:一条指令完成一个复杂的基本功能。
代表:x86架构,主要用于笔记本、台式机等
RISC: Reduced Instruction Set Computer精简指令集计算机
设计思路:一条指令完成一个基本“动作”:
多条指令组合完成一个复杂的基本功能。代表:ARM架构,主要用于手机、平板等
| 对比项目 | CISC | RISC |
| 指令系统 | 复杂,庞大 | 简单,精简 |
| 指令数目 | 一般大于200条 | 一般小于100条 |
| 指令字长 | 不固定 | 定长 |
| 可访存指令 | 不加限制 | 只有Load/Store指令 |
| 各种指令执行时间 | 相差较大 | 绝大多数在一个周期内完成 |
| 各种指令使用频度 | 相差很大 | 都比较常用 |
| 通用寄存器数量 | 较少 | 多 |
| 目标代码 | 难以用优化编译生成高效的目标代码程序 | 采用优化的编译程序,生成代码较为高效 |
| 控制方式 | 绝大多数为微程序控制 | 绝大多数为组合逻辑控制 |
| 指令流水线 | 可以通过一定方式实现 | 必须实现 |
指令助记符
| 典型指令 | 指令助记符 | 助记符含义 | 二进制操作码 |
| 加法 | ADD | Add | 001 |
| 减法 | SUB | Subtract | 010 |
| 传送 | MOV | Move | 011 |
| 跳转 | JMP | Jump | 100 |
| 转子 | JSR | Jump subroutine | 101 |
| 存储 | STR | Store | 110 |
| 读数 | LDA | Load | 111 |
本章需要掌握的知识点如下:

CPU的功能:
指令控制:完成取指令、分析指令和执行指令的操作,即程序的顺序控制。
操作控制:一条指令的功能往往是由若干操作信号的组合来实现的。CPU管理并产生由内存取出的每条指令的操作信号,把各种操作信号送往相应的部件,从而控制这些部件按指令的要求进行作。
时间控制:对各种操作加以时间上的控制。时间控制要为每条指令按时间顺序提供应有的控制信号。
数据加工:对数据进行算术和逻辑运算。
中断处理:对计算机运行过程中出现的异常情况和特殊请求进行处理。
| 种类 | 功能 |
| IR | 指令寄存器(存储当前正在执行的指令) |
| PC | 程序计数器(存储下一条指令的地址) |
| AR | 地址寄存器(存储当前指令的操作数或数据的地址) |
| DR | 数据缓冲寄存器(存储数据缓存区的数据) |
| ACC | 累加寄存器(通常用于进行算术运算或逻辑运算) |
| PSW | 状态寄存器(存储一些与程序状态相关的信息) |
| 种类 | 功能 |
| EAX | 累加器(加法乘法指令) |
| EBX | 基址寄存器(在内存寻址时存放基地址) |
| ECX | 计数器(在循环和串操作中充当计数器) |
| EDX | 数据寄存器(在I/O指令中可用作端口地址寄存器,乘除指令中用作辅助累加器) |
| EBP | 寄存器存放当前线程的栈底指针 |
| ESP | 寄存器存放当前线程的栈顶指针 |
| ESI | 源变址寄存器 |
| EDI | 目的变址寄存器 |
指令周期: CPU从主存中每取出并执行一条指令所需的全部时间指令周期常常用若干机器周期来表示,机器周期又叫CPU周期。1个机器周期又包含若干时钟周期(也称为节拍、T周期或CPU时钟周期,它是CPU操作的最基本单位)。



硬布线工作原理:
微操作控制信号由组合逻辑电路根据当前的指令码、状态和时序,即时产生
微程序工作原理:
事先把微操作控制信号存储在一个专门的存储器(控制存储器)中,将每一条机器指令编写成一个微程序,这些微程序可以存到一个控制存储器中,用寻址用户程序机器指令的办法来寻址每个微程序中的微指令。
指令流水:是指将一条计算机指令划分为多个阶段,多个指令在各个阶段并行执行的计算机架构。通过指令流水,可以有效地提高计算机的运行效率和吞吐量。具体来说,指令流水将一条指令分为取指、译码、执行、访存和写回等多个阶段,不同指令在不同阶段并行执行,使得计算机可以同时进行多条指令的处理,从而提高计算机的运行速度。


流水线的性能指标包括以下几个方面:
TP(吞吐率)=n/Tk
流水线吞吐率(Pipeline throughput):指单位时间内,从流水线中处理器的后端输出的指令数。
硬件使用效率(Hardware utilization):指流水线中使用的硬件资源的利用率。硬件使用效率越高,处理速度就越快。

总线的特性
总线有时间特性、功能特性、电气特性、机械特性,因此必须标准化。衡量总线性能的重要指标是总线带宽,它的定义为总线本身所能达到的最高传输速率。
总线的分类

片内总线:片内总线是连接 CPU 和芯片内部其他部件的总线,它可以实现 CPU 与芯片内部其他部件的数据交换和控制信号传输。常见的片内总线有数据总线、地址总线和控制总线等。
系统总线:系统总线是连接 CPU 和主板上的其他设备(如内存、显卡、声卡等)的总线,它可以实现不同设备之间的数据交换和控制信号传输。常见的系统总线有扩展总线、I/O 总线和内存总线等。
通信总线:通信总线是连接计算机与其他设备(如打印机、扫描仪、网络适配器等)的总线,它可以实现计算机与其他设备之间的数据交换和控制信号传输。常见的通信总线有串行通信总线、并行通信总线和网络通信总线等。
串行总线:串行总线是指数据一次只能传输一位,并且需要在发送端和接收端之间进行同步,以保证数据的准确性和可靠性。串行总线的传输速率较慢,但可以通过增加线路数量提高传输速率。常见的串行总线有RS-232、RS-485、USB等。
并行总线:并行总线是指数据同时传输多位,并且不需要在发送端和接收端之间进行同步,以提高传输速率。并行总线的传输速率较快,但需要在多个线路上并行传输,增加了复杂度和难度。常见的并行总线有PCI、AGP、PCI Express等。
同步总线:同步总线是指数据传输需要采用时钟信号进行同步,以保证数据的准确性和可靠性。在同步总线上,发送端和接收端必须严格按照时序进行操作,否则会导致数据错误或丢失。常见的同步总线有RS-232、RS-485等。
异步总线:异步总线是指数据传输不需要采用时钟信号进行同步,可以在任意时刻开始和结束,但容易产生干扰和错误。在异步总线上,发送端和接收端的操作没有严格的时序要求,因此可以更加灵活地适应不同的应用场景。常见的异步总线有USB、IEEE 1394等。
目前,典型的总线标准有 ISA,EISA,VESA,PCI,PCI-Express,AGP,RS-232CUSB 等。它们的主要区别是总线宽度、带宽、时钟频率、寻址能力、是否支持突发传送等。
在计算机系统中,CPU 对 I/O 设备的管理方式有程序查询方式、程序中断方式、DMA 方式、通道方式和 IO 处理机方式。
程序查询方式:CPU 通过查询 I/O 设备的寄存器或内存地址来获取设备状态和控制信息,这种方式需要 CPU 与 I/O 设备之间进行数据传输,速度较慢。
程序中断方式:
程序中断方式是各类计算机中广泛使用的一种数据交换方式。当某一外设的数据准备就绪后,它“主动”向 CPU 发出请求信号。CPU 响应中断请求后,暂停运行主程序,自动转移到该设备的中断服务子程序,为该设备进行服务,结束时返回主程序。中断处理过程可以嵌套进行,优先级高的设备可以中断优先级低的中断服务程序。DMA 方式:DMA(Direct Memory Access)是一种数据传输方式,它可以在不使用 CPU 的帮助下将数据从外设直接传输到内存中,或者从内存中传输数据到外设中。CPU 通过 DMA控制器控制 DMA 通道,实现对 I/O 设备的高速数据传输。
DMA 技术的出现,使得I/O 设备可以通过 DMA 控制器直接访问主存,与此同时CPU 可以继续执行程序。DMA 传送方式有 3 种:停止 CPU 访问主存、周期挪用DMA与CPU 交替访问主存通道方式:通道是一种硬件接口,它提供了一种高效的数据传输方式。通道可以被看作是一条双向的通信路径,CPU 可以通过通道与 I/O 设备进行高速数据传输。通道通常用于连接不同类型的 I/O 设备,如磁盘驱动器、网络适配器等。
通道是一个特殊功能的处理器。它有自己的指令和程序专门负资数据输入输出的传输控 制,从而使 CPU将“传输控制”的功能下放给通道,CPU 只负责“数据处理”功能。IO 处理机方式:IO 处理机是一种专门的硬件设备,它可以执行各种 I/O 操作,如读取磁盘、发送网络数据包等。CPU 可以利用 IO 处理机来执行一些复杂的 I/O 操作,提高系统的性能和效率。
I/O处理机的功能与一般的处理机相仿,有时甚至于就是一台普通的通用计算机,I/O处理机能够承担起输入输出过程中的全部工作,完全不需要 CPU参与。
本片文章就到此结束啦,希望佬们多多指教
