408 计算机组成原理 知识点记忆(1)计算机系统概述
前言
本文基于王道考研《计算机组成原理考研复习指导》与唐朔飞《计算机组成原理》(第2版)、袁春风《计算机组成与系统结构》教材内容,结合 408 考研大纲,系统梳理核心知识记忆点和框架,既为个人复习沉淀思考,亦希望能与同行者互助共进。
本章是整门课的"地图",回答"计算机由什么组成、靠什么思想运转、用什么指标衡量"这三个根本问题,其中"存储程序"思想是理解后面所有章节的钥匙。
核心知识记忆点+理解性说明
第一章 计算机系统概述
1. 计算机系统层次结构
A. 计算机系统的基本组成

计算机系统:软件(运行的程序和相关数据文档)+硬件(物理设备)
软硬件交互界面(指令集体系结构ISA 软件可见部分)
ISA是对指令系统的一种规定或结构规范,而具体实现的组织称为微体系结构,简称微架构。
ISA和微体系结构是两个不同层面上的概念,微体系结构是软件不可感知的部分。微体系结构由逻辑电路实现
系统软件主要有操作系统(OS)、数据库管理系统(DBMS)、语言处理程序、分布式软件系统、网络软件系统、标准库程序、服务性程序、磁盘碎片整理程序、备份程序。
语言处理系统主要用于提供一个用高级语言编程的环境,包括源程序的编辑、转换、链接、装入和调试等功能。
应用软件是指用户为解决某个应用领域中的各类问题而编制的程序,如各种科学计算类程序、工程设计类程序、数据统计与处理程序等。

在计算机技术中,一个存在的事物或概念从某个角度看似乎不存在,即感觉不到实际存在的事物或概念,则称其是透明的。
B. 计算机硬件的基本组成
CPU主要包含两种基本部件:数据通路和控制器
数据通路可看成由组合逻辑和状态原件交替组合而成,由操作元件和状态元件通过总线或分散方式连接而成的进行数据存储、处理和传送的路径 其基本结构为"------状态元件------组合逻辑------状态元件------"
数据通路主要包含算术逻辑部件(arithmetic and logic unit,ALU)和通用寄存器等,ALU用来执行算术和逻辑运算等操作(处理的和运算的结果都来自和送到通用寄存器),通用寄存器用来暂存指令所用的操作数或执行结果。
控制器用来对指令进行译码,生成相应的控制信号,以控制数据通路进行正确的操作。
存储器地址寄存器 MAR 最多可寻址的存储单元个数存储器数据寄存器 MDR 暂存从存储器中读写信息 存储字长时序控制逻辑
存储体 存储单元 存储元件"0"/"1"存储字
存储字长
运算器核心 算术逻辑单元ALU
算术运算 加减乘除 逻辑运算 与或非 异或 比较 移位
若干通用寄存器 累加寄存器ACC 乘商寄存器MQ 操作数寄存器X 变址寄存器IX 基址寄存器BR程序状态寄存器PSW(标志寄存器)
控制器 程序计数器PC 指令寄存器IR 控制单元CU
内存包括主存储器(主存)和高速缓存(cache)

外部设备/外设/ I/O设备:机械部分(外设本身 ) 电子部分 (控制外部设备的设备控制器)通过设备控制器(统称为I/O控制器、I/O接口或I/O模块)连接到主机 eg: 键盘接口、打印机适配器、显示控制器(显卡)、网络适配器(网卡)
总线(bus)是传输信息的介质,用于在部件之间传输信息,CPU、主存和I/O模块通过总线互连,在CPU和I/O模块中都内含相应的存储部件,即各类寄存器或缓存器。

C. 计算机软件和硬件的关系
对某一功能来说,若其既可用软件实现,又可用硬件实现,则称为软/硬件在逻辑功能上是等价的。
没有安装任何软件的计算机称为裸机。
D. 计算机系统的工作原理:"存储程序" 方式;高级语言程序与机器语言程序的转换;程序和指令的执行过程
冯·诺依曼在研究EDVAC机时提出了"存储程序"的概念,"存储程序"的思想奠定了现代计算机的基本结构,以此概念为基础的各类计算机统称冯·诺依曼机,其特点如下:
- 采用"存储程序"的工作方式。
- 计算机由运算器、控制器、存储器、输入设备和输出设备5个基本部件组成。
- 存储器不仅能存放数据,而且也能存放指令,形式上数据和指令没有区别,但计算机应能区分它们;控制器应能控制指令的自动执行;运算器应能进行加、减、乘、除4种基本算术运算,并且也能进行逻辑运算;操作人员可以通过输入/输出设备使用计算机。(4)计算机内部以二进制形式表示指令和数据;每条指令由操作码和地址码两部分组成,操作码指出操作类型,地址码指出操作数的地址;由一串指令组成程序。
"存储程序"的基本思想是:将事先编制好的程序和原始数据送入主存储器后才能执行,一旦程序被启动执行,就无须操作人员的干预,计算机会自动逐条执行指令,直至程序执行结束。
早期计算机以运算器为核心,现代计算机以存储器为核心。

高级语言和底层计算机结构无关,大部分编程语言都是高级语言低级语言和运行程序的计算机底层结构密切相关
机器级语言(通常称为机器语言和汇编语言都是机器级语言)
机器语言 汇编语言(汇编程序 汇编器) 高级语言(解释程序 解释器/ 编译程序 编译器 )
★★可执行文件的启动和执行
shell程序会将用户从键盘输入的每个字符逐一读入CPU寄存器中(对应线1),然后再保存到主存储器中,在主存的缓冲区形成字符串"./hello"(对应线2)。等到接收到Enter按键时,shell将调出操作系统内核中相应的服务例程,由内核来加载磁盘上的可执行文件hello到存储器(对应线3)。内核加载完可执行文件中的代码及其所要处理的数据(这里是字符串"hello,world\n")后,将hello程序第一条指令的地址送到程序计数器中,CPU永远都是将PC的内容作为将要执行的指令的地址,因此,CPU随后从第一条指令开始执行hello程序,将加载到主存的字符串 "hello,world\n"中的每一个字符从主存取到CPU的寄存器中(对应线4),然后将CPU寄存器中的字符送到显示器上显示出来(对应线5)。
shell命令行解释器是操作系统外壳程序,它为用户提供了一个启动程序执行的环境,用来对用户从键盘输入的命令进行解释,并调出操作系统内核来加载用户程序(用户输入命令对应的程序)。

除了主存储器本身是存储部件以外,在CPU、I/O桥接器、设备控制器中也有存放数据的缓冲存储部件,如CPU中的通用寄存器、设备控制器中的数据缓冲寄存器等。
程序以可执行文件形式存放在外存,其中一定包含机器代码段。可执行文件的执行实际上是所包含的机器代码段执行的过程。机器代码段由一条一条机器指令(通常简称为指令)构成。
指令中的操作码op被送到控制器进行译码,以生成控制信号
每条指令的执行过程包括:根据 PC从主存储器中取指令、对指令进行译码、计算下一条指令地址、取操作数并执行、将结果送回存储器。

- 取指令:PC→MAR→M→MDR→IR
根据PC取指令到IR。将PC的内容送MAR,MAR中的内容直接送地址线,同时控制器将读信号送读/写信号线,主存储器根据地址线上的地址和读信号,从指定存储单元读出指令,送到数据线上,MDR从数据线接收指令信息,并传送到IR中。 - 分析指令:OP(IR)→CU
指令译码并送出控制信号。控制器根据IR中指令的操作码,生成相应的控制信号,送到不同的执行部件。在这里,IR中是取数指令,因此读控制信号被送到总线的控制线上。 - 执行指令:Ad(IR)→MAR→M→MDR→ACC
取数操作。将IR中指令的地址码送MAR,MAR中的内容送地址线,同时控制器将读信号送读/写信号线,从主存储器中读出操作数,并通过数据线送至MDR,再传送到ACC中。每取完一条指令,还需为取下一条指令做准备,计算下一条指令的地址,即(PC)+1→PC。
2. 计算机性能指标:吞吐量;响应时间;CPU时钟周期;主频;CPI;CPU执行时间;MIPS;M、G、T、P、E、ZFLOPS
机器字长,简称字长。字长是指计算机进行一次整数运算(定点整数运算)所能处理的二进制数据的位数,通常与CPU的寄存器位数、ALU有关。因此,字长一般等于通用寄存器的位数或ALU的宽度,字长越长,数的表示范围越大,计算精度越高。
字用来表示被处理信息的单元,用来度量各种数据类型的宽度字长 数据运算、存储和传送的部件宽度
eg:Intel微处理器 32位机器字长至少32位,字宽度16位,32位为双字
数据通路带宽是指数据总线一次所能并行传送信息的位数。这里所说的数据通路宽度是指外部数据总线的宽度,它与CPU内部的数据总线宽度(内部寄存器的大小)有可能不同。
主存容量是指主存储器所能存储信息的最大容量,通常以字节(B)来衡量,也可用字数×字长(如512K×16位)来表示存储容量。
运算速度
吞吐量 系统吞吐量主要取决于主存储器的存取周期
响应时间 从作业提交开始到作业完成所用的时间,通常包括CPU时间(运行一个程序所花费的时间)与等待时间(用于磁盘访问、存储器访问、I/O操作、操作系统开销等的时间)
主频/CPU时钟频率
cpu时钟周期=1/主频 机器内部主时钟脉冲信号的宽度,它是CPU工作的最小时间单位。
时钟脉冲信号由机器脉冲源发出的脉冲信号经整形和分频后形成。
时钟周期以相邻状态单元间组合逻辑电路的最大延迟时间为基准确定。
时钟周期也以指令流水线的每个流水段的最大延迟时间确定。
CPI 执行一条指令所需的时钟周期数
IPS 每秒执行指令数 =主频/平均CPI
CPU执行时间 运行一个程序所花费的时间=CPU时钟周期数/主频=(指令条数*CPI)/主频
MIPS 每秒执行多少百万指令=指令条数/(执行时间×106)=主频/(CPI×106)
Flops 每秒执行多少次浮点运算 基于所完成的操作次数而不是指令数来衡量的
K M G T P E Z Y
基准程序
编译优化 针对具体处理器的各种特性对代码进行汇编调整,提升代码的执行效率系列机 相同基本指令系统
兼容 硬件/软件能应用另一个型号的计算机系统
固体 程序固化在ROM中组成的部件
Amdahl定律 并行计算机系统进行系统分析
改进后执行时间 =改进部分执行时间/改进部分改进倍数+未改进部分执行时间
整体改进倍数=1/(改进部分执行时间比例/改进部分的改进倍数+未改进部分执行的时间比例)
总结(本章速记)
本章知识骨架:
-
- 计算机系统层次结构
- A. 计算机系统的基本组成
- B. 计算机硬件的基本组成
- C. 计算机软件和硬件的关系
- D. 计算机系统的工作原理:"存储程序" 方式;高级语言程序与机器语言程序的转换;程序和指令的执行过程
-
- 计算机性能指标:吞吐量;响应时间;CPU时钟周期;主频;CPI;CPU执行时间;MIPS;M、G、T、P、E、ZFLOPS
关键速记清单:
- 计算机系统:软件(运行的程序和相关数据文档)+硬件(物理设备)
- 软硬件交互界面(指令集体系结构ISA 软件可见部分)
- CPU主要包含两种基本部件:数据通路和控制器
- 存储体 存储单元 存储元件"0"/"1"存储字
- 存储字长
- 运算器核心 算术逻辑单元ALU
- 算术运算 加减乘除 逻辑运算 与或非 异或 比较 移位
- 控制器 程序计数器PC 指令寄存器IR 控制单元CU
- 内存包括主存储器(主存)和高速缓存(cache)
- 没有安装任何软件的计算机称为裸机。
- 采用"存储程序"的工作方式。
- 计算机由运算器、控制器、存储器、输入设备和输出设备5个基本部件组成。
- 早期计算机以运算器为核心,现代计算机以存储器为核心。
- 机器级语言(通常称为机器语言和汇编语言都是机器级语言)
- ★★可执行文件的启动和执行
- 指令中的操作码op被送到控制器进行译码,以生成控制信号
- 取指令:PC→MAR→M→MDR→IR
- 分析指令:OP(IR)→CU
- 执行指令:Ad(IR)→MAR→M→MDR→ACC
- 运算速度
- 吞吐量 系统吞吐量主要取决于主存储器的存取周期
- 主频/CPU时钟频率
- 时钟脉冲信号由机器脉冲源发出的脉冲信号经整形和分频后形成。
- 时钟周期以相邻状态单元间组合逻辑电路的最大延迟时间为基准确定。
- 时钟周期也以指令流水线的每个流水段的最大延迟时间确定。
- CPI 执行一条指令所需的时钟周期数
- IPS 每秒执行指令数 =主频/平均CPI
- K M G T P E Z Y
- 基准程序
- 兼容 硬件/软件能应用另一个型号的计算机系统
- 固体 程序固化在ROM中组成的部件
- Amdahl定律 并行计算机系统进行系统分析
结语
计算机系统的一切复杂度,都始于"存储程序"这一天才设想:把指令和数据一视同仁地放进存储器,机器便获得了自我驱动的能力。软件与硬件在逻辑功能上等价,这是计算机设计者手中最灵活的一把尺子------性能不够就硬化,灵活性不够就软化。而 ISA 正是这把尺子的刻度线,它向上承诺软件能看见的世界,向下隐藏微架构的自由。至于性能,请记住 Amdahl 定律的警示:优化永远受限于未被改进的那部分,看清瓶颈比盲目加速更重要。
参考资料
- 王道考研《计算机组成原理考研复习指导》
- 唐朔飞.计算机组成原理(第2版).
- 袁春风.计算机组成与系统结构.