第一章 计算机系统概述
存储程序方式:
程序和数据预先放在存储器中,机器工作时,自动、逐条地取出指令并执行
主机、外设:
- 主机:CPU和主存
- 外设:输入设备、输入设备、辅助存储器
CPU、ALU、FPU、CU:
- CPU:Central Processing Unit 中央处理器
- ALU:算术逻辑单元
- FPU:浮点运算单元
- CU:Control Unit 控制单元
PC、IR、ID,:
- PC:程序计数器
- IR:指令寄存器
- ID:指令译码器
存储元、存储单元、存储阵列、存储单元长度、存储单元地址、存储字、存储字长:
- 存储元:指能够存储信息的基本单元。通常,存储元可以保存一个二进制位(0或1),也就是最小的存储单位
- 存储单元:存储单元是由若干个存储元组成的单元。每个存储单元都有一个位宽(bit width),表示它可以存储多少个二进制位
- 存储阵列:由多个存储单元组成的数组或矩阵结构,用于存储大量的数据。
- 存储单元长度:一个存储单元所能存储的二进制位数
- 存储单元地址:存储阵列通常被组织成多个行和列,存储单元地址用来唯一标识存储阵列中的每个存储单元
- 存储字:计算机中处理数据的最小单位。它可以由多个存储单元组成,具体取决于存储字长
- 存储字长:一个存储字所涵盖的二进制位数。它表示了计算机在一次操作中能够同时处理的比特数
总线、主设备、从设备:
- 总线:设备(或部件)间进行信息传输的一组公共信号线
- 主设备:通过控制线发出操作命令的设备
- 从设备:通过状态线返回数据传输状态的设备
I/O接口:
在外设与总线之间增设的连接电路
系统总线、DBus、ABus、CBus:
- 系统总线:
- DBus:数据总线,承载传输的内容
- ABus:地址总线,承载传输的目标设备
- CBus:控制总线,控制传输的过程
实际机器、虚拟机器:
- 实际机器:机器语言级机器、微程序级机器
- 虚拟机器:高级语言级机器、汇编语言级机器、操作系统级机器
解释、翻译:
- 解释:对程序的每一条语句,都转去执行低级程序中的一段等效程序,循环地解释并执行每一条语句,直至程序执行结束
- 翻译:先将程序转换为低级机器上的等效程序,再在低级机器上一起运行
指令、语句:
- 指令:计算机执行某项操作或完成特定任务的基本命令
- 语句:编程语言中的最小独立单元
计算机结构、计算机组成、计算机实现:
- 计算机结构:计算机系统的总体设计和组织方式。它涉及到计算机的各个组成部分以及这些部分之间的相互连接和通信方式
- 计算机组成:计算机系统的具体硬件实现方式
- 计算机实现:指将计算机结构和计算机组成翻译为实际的计算机系统,它涉及到从设计到制造、装配和测试等过程,以生成可工作的硬件系统
ISA:
指令集架构,定义了计算机处理器能够执行的指令集合和与之相关的编程模型
指令地址,逻辑地址、物理地址:
- 指令地址:一个标识符,用于唯一确定计算机存储器中的指令的位置。它通常以二进制形式表示,并作为指令的访问索引,可以用来定位并提取存储器中的特定指令,以便计算机处理器执行
- 逻辑地址:由程序生成的地址空间中的地址。它在程序的角度上表示数据或指令在内存中的位置
- 物理地址:在存储器中的地址
机器字长、时钟周期、主频:
- 机器字长(CPU字长):CPU一次能处理数据的二进制位数
- 时钟周期:主时钟信号的宽度
- 主频:主时钟周期的倒数
主存编址单位、主存单元长度、主存地址空间、CPU可寻址空间:
- 主存编址单位:计算机系统中用于寻址主存储器的最小单位。它表示了处理器与主存之间的数据传输的基本单元
- 主存单元长度:主存储器中每个存储单元的位数或字节数
- 主存地址空间:主存储器的逻辑地址范围
- CPU可寻址空间:CPU能够直接访问的内存地址范围
响应时间、吞吐率:
- 响应时间:一个任务从提交到完成所花的全部时间
- 吞吐率:单位时间内计算机完成的总工作量
CPI,MIPS、MFLOPS:
- CPI:每条指令执行所需的时钟周期数
- MIPS:每秒执行的百万条指令数
- MFLOPS:每秒执行的百万次浮点操作数
第三章 存储系统
RAM、ROM,SRAM、DRAM:
- RAM:随机存取存储器 Random Access Memory
- ROM:只读存储器 Read Only Memory
- SRAM:静态RAM static RAM
- DRAM:动态RAM dynamic RAM
存取时间、存取周期、存储器带宽:
- 存取时间:存储器从启动一次存储器操作(读或写)到完成该操作所需的时间
- 存取周期:存储器连续两次进行存储器操作的最短间隔时间
- 存储器带宽:B=W/T
时间局部性、空间局部性:
- 时间局部性:最近访问过的信息在不久之后会被再次访问
- 空间局部性:与最近访问过的信息相邻的信息,在不久将会被访问
刷新、行刷新、刷新周期:
- 刷新:针对DRAM芯片,由于使用电容保存信息,所存信息会因电荷泄露而慢慢消失,必须周期性地对所有存储元,根据其所存信息进行电荷的补充,这个过程称为刷新。
- 行刷新:同一行的所有存储单元可以同时刷新
- 刷新周期:每个存储元相邻两次刷新的最大间隔时间
集中式刷新、分散式刷新、异步式刷新:
- 集中式刷新:各行的刷新操作集中在一段时间内连续进行
- 分散式刷新:各行的刷新操作分散在各个存取周期中进行
- 异步式刷新:各行的刷新操作均匀分散在整个刷新周期中进行
位扩展、字扩展、字位扩展:
- 位扩展:又称位并联法。将多个存储器芯片并连起来增加存储字长。
- 字扩展法:又称地址串联法。用多个存储器芯片串联起来增加存储字数。
- 字位扩展法:字扩展和位扩展的组合
DRAMC:
- DRAMC:主存控制器,是主存与外部的接口电路
有效逻辑:
- CS表达式
SDRAM、DDR SDRAM:
- SDRAM:同步DRAM。支持突发传输模式
- DDR SDRAM:双倍数据速率DRAM。能在时钟脉冲的上升沿、下降沿分别进行数据传输
常规传输、突发传输:
- 常规传输:基于总线的数据传输方式,其中数据按照字节或字(一般为8位或16位)的大小进行传输
- 突发传输:在一个数据被访问以后,可以连续传输多个数据
RAM的工作频率、I/O频率:
- RAM的工作频率:RAM芯片内部的时钟速度,用来衡量它能够处理数据的速度
- I/O频率:指外部设备与计算机之间进行数据传输的速度
顺序编址、交叉编址:
- 顺序编址:又称连续编址。同一存储体的存储单元地址是连续的
- 交叉编址:又称模m编址。同一存储器的存储单元地址都相差m(m为存储体数)
交叉访问、并行访问:
- 交叉访问:轮流访问各个存储体,多个数据分时I/O
- 并行访问:同时访问各个存储体,多个数据同时I/O
命中率、命中时间、缺失开销:
- 命中率:命中次数与访存总次数的比值
- 命中时间:Cache命中时,Cache完成访存操作所用的全部时间
- 缺失开销:在Cache缺失时的主存访问时间
主存块、缓存块:
为了便于Cache-主存之间按块交换信息,需要将主存空间、Cache的数据空间划分成若干大小为块的区域
- 主存中的区域称为主存块
- Cache中的区域称为缓存块
行、标记、有效位:
- 行:存放缓存块和相应管理信息的存储空间,又名槽
- 标记:表示Cache行的数据来自哪个主存块
- 有效位:表示Cache行中的数据是否有效
目录表、数据区:
- 目录表:Cache中所有行的管理信息
- 数据区:Cache中所有行的数据信息
Cache容量、Cache总容量:
- Cache容量:Cache数据区的容量
- Cache总容量:Cache数据区+管理区的容量之和
候选行、牺牲行、目标行、空闲行:
- 候选行:可能存放主存块的那些Cache行
- 牺牲行:在Cache需要调入主存块,又没有空闲行时,用某种方法选出的腾出空间用于块调入的行
- 目标行:要访存的信息所在行
- 空闲行:Cache中未存有效信息的行
地址映射规则、替换算法、写策略:
- 地址映射规则:确定主存块可以放到哪些Cache行中
- 替换算法:在查找范围内找出牺牲行的方法
- 写策略:数据写回主存的时机和方法
直接映射、全相联映射、组相联映射,相联度:
- 直接映射:一个存储块只能放到一个Cache行中
- 全相联映射:一个存储块可以放在Cache的任意一行中
- 组相联映射:将Cache行划分为若干组,每个组含n行,一个主存块可以放到一个Cache组的任意一行中。即组间直接映射,组内全相联映射。
- 相联度:候选行数,即一个主存块能映射到的Cache行数。
RAND、FIFO、LRU算法,LRU位:
- RAND:随机算法
- FIFO:先进先出算法
- LRU:最近最少使用算法
全写法、写回法,按写分配法、不按写分配法,脏位:
- 全写法:写命中时,将数据写入Cache,同时写入主存;写缺失时,直接将数据写入主存,而不将目标块调入Cache
- 写回法:写命中时,只讲数据写入Cache,不写入主存;写缺失时,先将目标块调入Cache,再将数据写入Cache;仅当Cache行被替换时,才将该行暂存的主存块写回主存
- 脏位:在写回法中表示该行是否被修改过
哈佛结构、冯·诺依曼结构:
- 哈佛结构:将Cache组织成独立的指令Cache和数据Cache
- 冯·诺依曼结构:单个存储器的结构
分离Cache、联合Cache:
- 分离Cache:采用哈佛结构的Cache
- 联合Cache:将质量和数据混存的Cache
程序地址、程序地址空间:
- 程序地址:计算机中存储程序的位置或内存中的起始地址。它可以用来唯一地标识程序在内存中的位置
- 程序地址空间:操作系统为每个运行的程序分配的独立内存区域。它是一个抽象概念,用于表示程序在内存中可用的地址范围
地址变换、MMU:
- 地址变换:给进程分配主存空间后,每个逻辑地址就有了唯一的物理地址,访存时需要先将逻辑地址转换成物理地址
- MMU: Memory Management Unit
分区管理方式、分页管理方式:
- 分区方式:将主存划分成若干个分区,分配给进程时,每个进程占一个分区
- 分页方式:将主存空间划分成若干大小相等的区域,每个区域称为一个页框;相应地,每个进程所占地空间也划分成若干大小相等的片段,每个片段称为一个页。页和页框大小相等。
页、页框、页表、页表项:
- 页:每个进程所占地空间也划分成若干大小相等的片段,每个片段称为一个页
- 页框:主存空间划分成若干大小相等的区域,每个区域称为一个页框
- 页表:管理页和页框的映射关系,表明虚存所有页在主存中的位置;长度是程序所占的行数
- 页表项:基本字段有装入位(有效位)、物理页号,还需要包含缓存管理及存储保护所使用的访问位、修改位、保护位等字段
虚拟存储器(VM)、虚拟地址、虚拟地址空间:
- VM:虚拟存储器是一个以透明方式为程序提供的、比主存空间大得多的存储空间
- 虚拟地址:将虚拟存储器的存储单元地址称为虚拟地址
- 虚拟地址空间:虚拟存储器的地址空间
段式VM,页式VM、段页式VM:
- 段式VM:程序由多个段组成,段的类型有多种,如代码段、数据段等
- 页式VM:主存以页为单位分配给虚存使用
- 段页式VM:先按程序逻辑结构将虚拟存储空间分段,再对每个段按页大小分页;主存仅按页大小分页,主存以页为单位分配给虚存使用
虚页号、实页号:
- 虚页号:虚拟页号VP
- 实页号:物理页号PP
页表基址、TLB:
- 页表基址:页表基地址的物理地址
- TLB:快表,是一个小容量的、用虚拟地址访问的高速缓存,在MMU中
第四章 指令系统
机器指令、指令系统,指令格式:
- 机器指令:硬件能够直接识别和执行的命令
- 指令系统:所有机器指令的集合
- 指令格式:指令所有信息的编码格式
源操作数、目的操作数:
- 源操作数:一个被操作的值,通常作为输入提供给计算或逻辑操作。源操作数可以是一个寄存器、内存位置或立即数
- 目的操作数:一个接收操作结果的位置,通常是一个寄存器或内存位置。目的操作数将计算或逻辑操作的结果存储在其中
跳转、分支:
- 跳转指令:无条件转移指令
- 分支指令:条件转移指令
操作码、地址码:
- 操作码:表示指令的格式及操作类型
- 地址码:表示各个操作数地址及下条指令地址
规整性、平均码长:
- 规整性影响译码复杂程度
- 平均码长影响软件存储空间的大小
指令条数:受限于操作码个数
定长编码、变长编码、扩展编码:
- 定长编码位数固定,指令译码电路简单,平均码长最长
- 变长编码位数不固定,平均码长较短,译码实现相对复杂
- 扩展编码:将哈夫曼编码扩展成几种长度的编码
指令字长:一条指令中包含的二进制信息的位数
单地址指令、双地址指令:
按地址码个数对指令格式进行分类
单字长指令、双字长指令:
指令字长与机器字长的关系
定长指令字结构、变长指令字结构:
- 定长指令字结构:所有指令的指令字长都相等的指令系统
- 变长指令字结构:不是所有指令的指令字长都相等的指令系统
大端、小端方式:
- 大端:MSB放在最低地址单元
- 小端:LSB放在最低地址单元
不对齐、边界对齐、4字节对齐方式:
- 不对齐:数据可以从任意位置开始存放
- 边界对齐:数据地址为数据长度的倍数;即2^n字节的数据,数据地址的最低n位必须是0
- 4字节对齐方式:(教材没讲)
寻址方式、有效地址(EA)、形式地址(A):
- 寻址方式:根据地址码形成操作数地址或指令地址的方法
- 有效地址:指令中形成的存储单元地址
- 在程序不分段时,为逻辑地址
- 在程序分段时,为段内地址
- 形式地址:地址码中给出的地址
顺序寻址、跳跃寻址:
- 顺序寻址:EA=(PC)+“1”
- 跳跃寻址:下条指令地址由当前指令的地址码形成
立即寻址、寄存器寻址、直接寻址、间接寻址、寄存器间接寻址、变址寻址、基址寻址、相对寻址、隐含寻址:
- 立即寻址:操作数存放在指令(寄存器)中,地址码中的地址参数是操作数本身(立即数)
- 寄存器寻址:操作数存放在寄存器中,地址参数是寄存器编号
- 直接寻址:操作数存放在存储器中,地址参数是操作数的EA
- 间接寻址:操作数存放在存储器中,地址参数是存放操作数地址的存储单元地址
- 寄存器间接寻址:操作数存放在存储器中,地址参数是存放操作数地址的寄存器编号
- 变址寻址:操作数存放在存储器中,地址参数为变址寄存器号和形式地址
- 基址寻址:操作数存放在存储器中,地址参数为基址寄存器号和形式地址
- 相对寻址:操作数存放在存储器中,地址参数为形式地址A,基准地址隐含在PC中
- 只能用于指令寻址,不能用于数据寻址
- 隐含寻址:不使用地址码,地址形成方法通过操作码来表示
偏移地址、偏移量:
- 偏移地址:相对于某个参考点或起始地址而言的地址值
- 偏移量:偏移地址所表示的具体数值
地址寄存器、数据寄存器、通用寄存器(GPR):
- 地址寄存器:存放地址
- 数据寄存器:存放数据
- 通用寄存器:存放地址或数据
CISC、RISC:
- CISC侧重于增强指令功能,减少程序中的指令数来提高性能
- RISC侧重于简化指令功能,减小指令执行时间来提高性能