这个 blog 主要是总结复习过程中计组见到的题目中或 ppt 中较重要的相关知识点。这里总结好记录的概念知识点。

# 第一章 计算机系统

# 基础概念

冯诺依曼计算机的三大要点 (重点)

  • 计算机由五大硬件部分组成:运算器(核心部件 ALU),控制器,存储器(粗略的分为内存(主存)+ 外存(辅存)),输入设备,输出设备
  • 灵活使用二进制(指令和数据用二进制表示 ->)
  • 采用程序存储的工作方式(按地址访问存储的指令并顺序执行
    其余特点:
  • 指令和数据以同等的地位存放于存储器内并可以按地址寻址。(区分指令和数据的方式 -> 按周期)
  • 这时机器以运算器为中心,输入输出设备与存储器的数据经传送经过运算器
  • 基本工作方式:控制流驱动方式(按地址访问并顺序执行指令)
    计算机器件组成
    CPU -> 运算器 + 控制器 +(Cache) 主机 ->CPU + 主存(运算器 + 控制器 + 存储器) 计算机系统 -> 配套的硬件设备和软件系统
    计算机系统的软件结构
  • 系统软件:操作系统,数据库管理系统(注意数据库系统 = DBMS+DBA+… 不属于系统软件),标准库程序,编译程序
  • 应用软件:办公软件(OA-> 数据处理)
    一些题目中的知识点
  • MAR 的位数为地址码长度(存储单元数量),MDR 的位数为存储字长(存储单元大小)
  • 控制器可区分存储单元中存放的是指令还是数据
  • 计算机存储数据的基本单位是字节,最小数据单位是 bit 比特
  • 计算机中所有信息均以二进制表示的理由是物理器件性能导致

# 计算机层次结构

层次结构

  • 高级语言:C++,JAVA 等,需要先通过编译程序编译为汇编语言,再转换为机器语言,或直接转化为机器语言。
  • 汇编语言:需通过叫做汇编程序的系统软件转化为机器语言。(用主给付编写的语言)
  • 机器语言:计算机唯一能直接识别和执行的语言。
    三个翻译程序
  • 汇编程序:将汇编语言转化为机器语言
  • 解释程序:将原程序中的语句按执行顺序翻译为机器语言并立即执行
  • 编译程序:将高级语言翻译成汇编语言或者机器语言
    别的概念
  • 层次间的依存关系是:上层实现对下层的功能扩展,下层是上层实现的基础

# 计算机性能指标

1,机器字长
指依次进行运算所能处理的二进制数据的位数。这里讲一下不同字长的关系

  • 机器字长:即 CPU 内部用于整数运算的数据通路的宽度,反映了计算机处理信息的能力。
  • 指令字长:一个指令字中包含的二进制代码的位数。
  • 存储字长:一个存储单元存储的二进制代码的长度。等于 MDRDefinitely 位数
    注意:指令字长一半都取存储字长的整数倍,这样如果指令字长是存储字长 2 倍,则需要 2 个访存周期来取出一条指令。若相等,则取指周期等于机器周期。
    2,运算速度
    运算速度受多种因素影响,且评判指标也不同。
  • 吞吐量:在给定时间内,一台计算机所能完成的总的工作量。
  • 响应时间:计算机从接收数据到输出结果的时间间隔。
  • 主频:时钟频率,HZ 为单位,1HZ 表示每秒 1 次。CPU 时钟周期 = 1 / 主频。
  • CPI:即执行一条指令所需要的时钟周期数。
  • MIPS:每秒执行多少万条指令。
  • MFLOPS(每秒执行多少万次浮点运算),GFLOPS(每秒执行多少十亿次浮点运算)…
    3, 可靠性
    4,可维护性
    5,性价比

# 一些可能比较容易错的

1,在 CPU 的寄存器中,指令寄存器对用户是完全透明的。

  • 解释: 首先, 透明 在计算机领域通常是指存在但不干预,即:计算机中存在的,但对于某些人员而言又不需要了解的东西。 下面讲述下所有寄存器对用户。
  • 汇编程序员可以通过指定待执行指令的地址来设置 PC 的值,状态寄存器。通用寄存器只有汇编程序员可见,才能实现编程。而 IR,MAR,MDR 是 CPU 的内部工作寄存器,对程序员均不可见。
    2,当前设计高性能 CPU 的重要技术途径是采用并行处理技术
    3,计算机 “运算速度” 是指每秒能执行多少条指令。
    4,ALU 和通用寄存器位数(宽度) 一定与机器字长相同。

# 第二章 数据的表示和运算

# 注意知识点

# 1,如何判断浮点数的溢出?上溢和下溢是否同样处理。

根据阶码来判断,当阶码大于最大正阶码时,为上溢,按出错处理;当阶码小于最小负阶码时,为下溢,按机器零处理。

  • 规格化浮点数的目的主要是为了增加数据的表示精度,充分利用尾数的有效数位,统一表示格式。
# IEE754 标准

格式为(-1)^S\times1.M\times2^

  • 32 位单精度格式: 1 位符号位 + 8 位阶码 + 23 位尾数
  • 64 位双精度格式: 1 位符号位 + 11 位阶码 + 52 位尾数
    变行补码 即双符号位的数,可以判断补码计算时是否溢出,01 表示整数溢出,10 表示负数溢出

# 第三章 存储系统

# 存储器概述

# 存储器分类

# 一,按照存储介质分
# 1,半导体存储器

静态存储器:利用触发器的双稳态
动态存储器:MOS 管栅极有无电荷来表示二进制的 0/1
2,磁表面存储器(磁带,磁盘)
3,光存储器(光盘)

# 二,按照存取方式分
# 1,随机存储器 RAM

RAM 的任意一个单元都可以随机存取,而且存取时间和存储单元的物理位置无关。
RAM 分为静态 RAM 和动态 RAM。

  • 1,SRAM(静态 RAM) 的存储元使用双稳态触发器(六晶体管 MOS)来记忆信息的,是非破坏性读出,不需要刷新。特点:存取速度快,集成度低,功耗大价格贵,一般用于 Cache 高速缓存。(送行列地址时同时送,故地址线即存储大小
  • 2,DRAM(动态 RAM) 是利用存储元电路中栅级电容上的电荷来存储信息的。但是 DRAM 因为漏电使其电容上的电荷衰减,需要通过刷新,且其读出是破坏性读出。(送行列地址时分开送,故地址线为正常 SRAM 的一半,不过由于其有行选通列选通,故片选线为 2 条
  • 注意有的题计算二者芯片的引脚数目:除了根据容量大小的地址线,还有 2 条读写控制线(也可以用 1 条),片选线(SRAM1 条,DRAM2 条分别为行选通和列选通)
    附加:DRAM 的三种刷新方式
  • 1,集中刷新:指在一个刷新周期内,利用一段固定的时间,依次对存储器的所有行进行逐一再生,在此期间停止对存储器的读写操作,称为 “死时间”。优点是:读写操作时不受刷新工作的影响。缺点是:在集中刷新期间(死区)不能访问存储器。
  • 2,分散刷新:把对每行的刷新分散到各个工作周期中。这样一个存储器的系统工作分为两部分:前半部分正常读写或者保持,后半部分用于刷新。这种刷新方式的优点是没有死区,但是由于其刷新频率较高,增加了系统的存取周期,降低了整机的速度。
  • 3,异步刷新:前两种方式的结合。即可缩短 “死时间”,又能充分利用最大刷新间隔为 2ms 的特点。做法是将刷新周期除行数,得到两次刷新操作之间的间隔 t,利用逻辑电路每隔 t 时间产生一次刷新请求。这样可以避免使 CPU 连续等待过长的时间,而且减少了刷新次数,从根本上提高了整机的效率。
  • DRAM 刷新注意:1,刷新不依赖于外部的访问。2,动态 RAM 的刷新单位是行,由芯片内部自行生成行地址。3,刷新操作类似于读操作,但又有不同。刷新时不需要片选,即整个存储器中的所有芯片全部刷新。
    半导体存储芯片的基本结构
    1,存储矩阵:大量相同的位存储单元阵列构成
    2,译码驱动:将来自地址总线的地址信号翻译为对应存储单元的选通信号,该信号在读写电路的配合下完成对被选中单元的读 / 写操作。
    3,读写电路:包括读出放大器和写入电路,用来完成读 / 写操作。
    4,读 / 写控制线:决定芯片进行读 / 写操作
    5,片选线:确定哪个存储芯片被选中。用于容量扩充。
    6,地址线:单项输入的,其位数于存储字的个数有关。
    7,数据线:双向的,其位数与读出或写入的数据位数有关。
# 2,只读存储器 ROM

ROM 存储器的内容只能随机读出而不能写入。广义上的 ROM 已经可以通过电擦除等方式进行写入,故 ROM 和 RAM 的区别主要是 ROM 断电内容保留的特性。
种类繁多:MROM(掩模式只读存储器 -> 写入后任何人无法更改内容),PROM(一次可编程只读存储器),EPROM(可擦除可编程只读存储器),Flash ROM(在不加电情况下长期保存信息,又能在线进行快速擦除和重写。注意:写速度比读速度慢很多),SSD(固态硬盘 -> 容易磨损)等很多类。

# 3,串行访问存储器(SAM)

对存储单元读写时,需要按照物理位置的先后顺序寻址。磁带

# 4,直接存取存储器 DAS

按照信息所在地址的控制字编码形式寻址。成块进行存取。磁盘。

# 三,按照计算机中的功能(作用)分类
# 1,主存储器(内存)
  • 存放计算机运行期间的大量程序和数据,CPU 可以直接访问,也可以和 Cache(高缓)以及辅助存储器交换数据。
  • 包括 RAM 和 ROM。由 MOS 半导体存储器构成。
# 2,辅助存储器(外存)
  • 存储当前暂时不用的程序和数据
# 3,高速缓存存储器(Cache)
  • 位于主存和 CPUT 之间,存放 CPU 经常使用的数据和指令。
  • 双极型半导体存储器或 MOS 型的 SRAM 构成。
# 4,控制存储器(控存,CM)
  • 为程序设计的计算机用控存来存放解释执行机器指令的微程序
  • 构成为 ROM
  • 注意:属于计算机五大硬件中控制器的一部分而不是存储器,这里写上只是其作用和构成与各个存储器相似。

速度和单位价格均为:Cache > 主存 > 辅存
Cache - 主存:解决了主存和 CPU 速度不匹配的问题
主存 - 辅存:解决了主存容量不够的问题

# 存储器性能指标

# 1,存储容量

存储容量 = 存储字数 * 字长

# 2,单位成本

单位成本 = 总成本 / 总容量

# 3,存储速度 重点
  • 存取时间 (TaT_a):从启动一次存储器操作到完成该操作所经历的时间,分为读出时间和写入时间。(即孤立地考察一次 R/W 操作所需要地时间)
  • 存取周期 (TmT_m):指存储器进行一次完整的读写操作所需的全部时间,即连续两次独立访存操作之间所需的最小时间间隔。
  • 主存带宽 (BmB_m)Bm=W/TmB_m = W / T_m 。 W 为每次 R/W 操作数据的宽度,一般等于 Memory 的字长。
  • 注意:存取周期和存取时间的主要区别:存取时间仅为完成一次读写操作的时间,而存取周期还包含操作后线路恢复的时间,即 存取周期 = 存取时间 + 恢复时间

# 多模块存储器

多模块存储器是一种空间并行技术,利用多个结构完全相同的存储模块的并行工作来提高存储器的吞吐率。

# 1,单体多存储器(PPT 上没有,只有一个双端口存储器)

双端口 RAM(这里写一下 PPT 的介绍)

  • 端口的含义:指读写口
  • Cache 使用的便是双端口设计,即存储器能同时和两个设备进行信息传输?
    单体多字存储器是一个存储器中只有一个存储体,每个存储单元存储 m 个字,总线宽度也为 m 个字。一次并行读出 m 个字,地址必须顺序排列并处于同一存储单元。在一个存取周期内,从同一个地址取出 m 条指令,然后将指令逐条送到 CPU 执行,即 1/m 个周期向 CPU 送一条指令。这种方式的好处是提高了单体存储器的工作速度,但是要求指令和数据在主存内必须是连续存放的,一旦遇到转移指令或者不连续存放效果就不明显。
    效果上类似于扩大了每个存储单元的位数,原本可以放一条指令的存储单元扩大成可以放四条指令,在取的时候直接将四条指令全部取出来然后一条一条送到 CPU 处理,取指令的速度变快了,但是如果指令不连续存放,就是说一口气取出来的不是同一个操作需要的指令,这种情况下还是需要分几次去取,效果就不是那么明显
# 2,多体并行存储器 -> 提高系统的存储性能
# (1)高位交叉编址(顺序方式)

高位地址表示体号,低位地址表示体内地址。高位交叉方式下,总是把地位的体内地址送到由高位体号确定的模块内进行译码。注意:CPU 总是按照顺序访问存储模块,各模块不能并行访问(因为各个模块相差地址位数较大不连续),因而不能提高存储器的吞吐率。

# (2)低位交叉编址(交叉方式)

低位地址为体号,高位地址为体内地址。(这样访问M0M_0 后可以直接访问M2M_2 地址,其是连续的)

# 主存储器和 CPU 的链接(考点是扩展存储器 SRAM 和 DRAM)

# 连接原理
  • 主存储器通过数据总线,地址总线和控制总线与 CPU 连接。
  • 数据总线的位数和工作频率的乘积正比于数据传输率
  • 地址总线的位数决定了可寻址的最大内存空间
  • 控制总线(读 / 写)指出总线周期的类型和本次输入 / 输出操作完成的时刻
# 主存容量的扩展

1,位扩展
数据位不够进行位扩展,数据总线连接需要改变。
2,字扩展
如果数据位长度相等,字扩展通过片选位来进行不同芯片的选择,通过高地址位接入译码器来控制片选信号进行字扩展。
3,字位同时扩展
当数据位和字都不够时,需要进行字位同时扩展。

# 连接时注意事项
  • 1,合理选择芯片
  • 2,地址线的连接,一般高位用来片选,低位连接芯片地址线
  • 3,数据线的连接,进行位扩展时需要注意
  • 4,读 / 写命令线的连接,读写可能需要 1 个或者 2 个引脚(读写分开位 RD,WE)
  • 5,片选线的连接,进行字扩展时需要注意,片选决定了存储芯片的使能状态。

# 高速缓冲存储器

# 程序访问的局部性原理
  • 时间局部性:最近的未来要用的消息,很可能是正在使用的信息,因为程序中出现循环。
  • 空间局部性:指未来要用的消息,很可能与现在使用的信息在存储空间上临近。
# Cache 的工作原理

CPU 发出读请求时,若 Cache 中命中,则转换为 Cache 地址,否则从内存中读写。下面介绍几个名词。
H=Nc/(Nc+Nm)H = N_c / (N_c + N_m) Cache 的总命中次数为NcN_c ,访问主存次数 NmN_m , 命中率 HH

# (重点) Cache 和主存的映射方式
# 1,直接映射

主要公式 Cache 行号 = 主存块号 mod Cache 总行数
直接映射的地址结构如下:
``| 标记 | Cache 行号 | 块内地址 |
直接映射

# 2,全相联映射

主存中的每一块可以插入 Cache 的任何位置。
地址结构
|标记 | 块内地址|
全相联映射

# 3,组相联映射

将 Cache 分成 Q 个大小相等的组,组间采用直接映射,组内采用全相联映射。
Cache 组号 = 主存块号 mod Cache 组数
| 标记| 组号| 块内地址|
组相联映射

# Cache 中主存块的替换算法

(1)随机算法:随机地确定替换的 Cache 块。
(2)先进先出算法:选择最早调入的行进行替换。
(3)近期最少使用算法(LRU):依据程序的局部性原理,选择近期内长久为访问过的 Cache 行进行替换的行。
(考点)

# Cache 的写策略

对于Cache写命中
(1)全写法:写命中时,同时写入 Cache 和主存。
(2)回写法:写命中时,只把数据写入 Cache,不立即写入主存,只有当此块被换出时写入主存。(有一个脏位来决定是否写入主存)
对于Cache不命中
(1)写分配法:加载主存的块到 Cache 中,并更新这个 Cache 块。
(2)非写分配法:指写入主存,不进行调块。

# 虚拟存储器

# 基本概念

主存和辅存共同构成了虚拟存储器,二者在硬件和系统软件的共同管理下工作。对于程序员而言,虚拟存储器是透明的。用户变成允许涉及的地址称为逻辑地址(虚地址)。
其分为页式和段式虚拟存储器两种

# 重点:虚拟存储器和 Cache 的比较

1,相同之处。

  • 最终目标都是为了提高系统性能
  • 都把数据划分为小信息块,并作为基本的传递单位,虚存系统的信息块更大
  • 都有地址的映射,替换算法和更新策略
  • 依据程序的局部性原理应用 “快速缓存的思想”。
    2,不同之处
  • Cache 主要解决系统速度,虚拟存储器是为了解决主存容量
  • Cache 全由硬件实现,是硬件存储器,对程序员透明;虚拟存储器由 OS 和硬件共同实现,对系统程序员不透明,对应用程序员透明。
  • 对不命中的性能影响,CPU 速度约为 Cache 的 10 倍,而主存的速度约为硬盘额 100 倍,故虚拟存储器不命中对系统性能影响更大。
  • CPU 和 Cache 和主存建立了直接访问的通道,而辅存和 CPU 没有直接通路。

# 考试题可能考点

1,显示器的刷新贷款。 刷新带宽 W = 分辨率 × 像素点颜色深度 × 刷新速率
2,为提高刷新存储器带宽,可采用下面的技术:①采用高速 DRAM 芯片。②采用多体交叉存储器。③刷新存储器至显示控制器的内部总线宽度加倍。④采用双端口存储器将刷新端口和更新端口分开。
3,采用数据 Cache 和指令 Cache 分离的主要目的是减少指令流水线资源冲突
4,主存向 CPU 传送信息的数据宽度为,将信息传送到 Cache 的数据宽度为
5,对于由高速缓存,主存,硬盘构成的三级存储体系,CPU 访问存储系统时发送的地址为主存物理地址

# 一些例题

1,半导体 SRAM 和 DRAM 的存储信息的原理有什么不同?为什么 DRAM 存储器需要刷新而 SRAM 不需要?
解答:SRAM 存放信息靠的是触发器的双稳态;DRAM 存储信息主要依据 MOS 管栅级上有无电荷。
由于漏电阻的存在,DRMA 存储单元经过一段时间后会泄放掉其充积的电荷,导致信息丢失或错误;为了保证存储信息的正确性,需要每隔一段时间为 DRAM 所有单元电路进行充电,成为刷新。

# 第四章 指令系统

【概念】一台计算机所能执行的全部指令的集合。指令系统时计算机软 / 硬件地界面

# 指令格式

一,一般的指令格式

  • 由操作码和地址码构成
  • 操作码:指明操作性质,有定长和变长格式,位数取决于操作种类
  • 地址码:指明操作数位置,常见有三地址,二地址,单地址,等等
    二,选择和确定各类指令格式应该考虑的因素
  • 1,指令长度应该尽可能地短:节省存储空间并提高处理速度
  • 2,指令长度与机器字长应该是 8 位地整数倍:充分利用存储空间
  • 3,指令操作码字段应该有足够的位数
    关于操作码定长和变长,一般用来出题:例如零地址指令 X 条,一地址指令 Y 条,求能有多少二地址指令(指令字长 16 位,地址码 6 位)。类似上面地题
    三,指令地种类
  • 地址格式分:单地址,二地址,零地址
  • 指令使用权限:1,特权指令(只有系统软件才能使用 -> 停机指令,I/O 指令。2,非特权指令:编程时可以直接使用地
  • 指令地适用范围:1,通用指令。2,专用指令
  • 指令操作性质分:1,数据传送指令。2,算数运算指令。3,逻辑运算指令。4,移位指令。5,字符指令。6,程序控制(转移)指令 -> 这里有转移指令,循环控制指令,过程调用和返回指令,陷阱指令。

# 指令地寻址方式

寻址方式是指寻找指令或操作数有效地址的方式,即确定本条指令地数据地址及下条待执行指令地地址地方法。寻址方式称为指令寻址和数据寻址两大类。

# 指令寻址

  • (1)顺序寻址:通过 PC+1,自动形成下条指令地地址。
  • (2)跳跃寻址:通过转移类指令实现。

# 数据寻址

数据寻址指令的格式: |操作码 | 寻址方式| 形式地址

# 1,立即寻址

形式地址即操作数本身。优点:不访问主存,指令执行时间短。但是 A 地位数限制了立即数地范围。

# 2,隐含寻址

不明显给出操作数地地址,而在指令中已经隐含了操作数地地址,比如单地址指令格式就不明显在地址字段指出第二操作数地地址,二十规定 ACC 累加器作为第二操作数地址。

# 3,直接寻址

指令字中地形式地址 A 是操作数地真实地址 EA。形式简单,指令执行中只访存一次。A 地位数决定了操作数地寻址范围。

# 4,间接寻址

指令地址字段给出的是真正地址的地址。间接寻址可以是多次间接寻址。优点是扩大可寻址的范围,但是需要多次访存,速度较慢。故一般扩大寻址范围时使用的是寄存器间接寻址。

# 5,寄存器寻址

指令字中给出操作数所在的寄存器编号。故指令执行阶段不访问内存。

# 6,寄存器间接寻址

操作数的真正地址存储在寄存器中,需要访存一次。

# 7,相对寻址

把 PC 的内容加上指令格式的形式地址 A 形成操作数的有效地址,EA=PC+A。

# 8,基址寻址

将 CPU 中基址寄存器(BR)加上指令中形式地址 A 形成有效地址。

# 9,变址寻址

有效地址 EA 为指令字中的形式地址 A 和变址寄存器 IX 的内容之和。

# 10,堆栈寻址

# RISC 和 CISC

# CISC 的主要特点(复杂指令系统)
  • 指令系统复杂庞大,指令数量一般大于 200+;
  • 指令长度不固定,指令格式多,寻址方式多;
  • 可以访存的指令不受限制
  • 各种指令使用的频度相差很大
  • 各种指令的执行时间相差很大,大多数指令需要多个时钟周期才能完成
  • 控制器大多数采用微程序控制,有些指令非常复杂
  • 难以用优化编译生成高效的目标代码
# RISC 的主要特点(精简指令系统)
  • 选取使用频率最高的一些简单指令,复杂的指令由简单指令的组合来完成
  • 指令长度固定,指令格式种类少,寻址方式种类少
  • 只有 Load/Store 指令访存,其余指令的操作都在寄存器之间进行。
  • CPU 中通用寄存器的数量相当多。
  • RISC 一定采用指令流水线技术,大部分指令在一个时钟周期内完成。
  • 以硬布线控制为主,少用或不用微程序控制
  • 特别重视编译优化工作,减少程序执行时间

# 考试可能知识点

  • RISC 必须采用流水线技术,CISC 没有这个强制要求。

# 第五章 中央处理器

# CPU 的功能和基本结构

# CPU 功能

CPU 由运算器和控制器构成。控制器负责协调并控制计算机各部件执行程序的指令序列,包括取指令,分析指令和执行指令;运算器的功能是对数据进行加工。CPU 的具体功能如下:

  • 指令控制: 完成取指令,分析指令和执行指令的操作,即程序的顺序控制。(控制器)

  • 操作控制: 一条指令的功能往往由若干操作信号的组合来实现。CPU 管理并产生由内存取出的每条指令的操作信号,把各种操作信号送往相应的部件,从而控制这些部件按照指令的要求进行动作。(控制器)

  • 时间控制:对各种操作加以时间上的控制。时间控制要为时间顺序提供应有的控制信号。(控制器)

  • 数据加工:对数据进行算术和逻辑运算。(运算器)

  • 中断处理:对计算机运行过程中出现的异常情况和特殊请求进行处理。

# CPU 基本结构
# 1,运算器
  • 算术逻辑单元 (ALU):进行算术 / 逻辑运算
  • 暂存寄存器
  • 累加寄存器 ACC
  • 通用寄存器组:AX,BX,CX,SP 等:可编程指定多种功能的寄存器,可以存放数据和地址
  • 程序状态字寄存器 PSW :一些标志位,如 OF(溢出标志位)
  • 移位器
  • 计数器 CT
# 2,控制器
  • 程序计数器 PC:用于指出下一条指令在主存的存放地址
  • 指令寄存器 IR:用于保存当前执行的那条指令
  • 指令译码器:仅对操作码字段进行译码,向控制器提供特定的操作信号
  • 存储器地址寄存器:用于存放要访问的主存单元的地址
  • 存储器数据寄存器:用于存放主存写入或从主存读出的信息
  • 时序系统
  • 微操作信号发生器
    可以区分存储单元中存放是数据还是指令
# 一些相关的题知识点

1,n 位 CPU 中,n 指的是数据总线线数。通用寄存器的位数取决于机器字长
2,程序计数器 PC 的位数是其主存空间大小和编址方式有关。

# 指令执行过程

# 指令周期 (重点)

首先介绍一下不同的周期的概念

  • 指令周期:一条指令从主存储器取出来到执行完毕所需要的时间,通常将其分为两个阶段–取指令(控制器自动进行的),(分析和)执行指令。
  • 机器周期(CPU 周期):一个指令周期由若干个机器周期构成,不同指令周期中机器周期的种类和数量可能不同。每条指令的第一个机器周期都是取指令周期,然后有一个或几个执行周期。常定义机器周期的长度为主存的存取周期TmT_m
  • 时钟周期:是计算机操作的最小时间单位。一个机器周期由几个节拍构成
# 指令周期的数据流

根据要求依次访问的数据序列。

# 1,取指周期

根据 PC 中的内容从主存中取出指令代码并存放在 IR,取指令的同时,PC 加 1。

# 2,间址周期

取操作数有效地址。将指令的地址码送到 MAR 中并送到地址总线,此后 CU 向存储器发送读命令,以获取有效地址并存在 MDR。

# 3,执行周期

取操作数,并根据 IR 中的指令字的操作码通过 ALU 产生执行结果。

# 4,中断周期

处理中断请求。

# 相关问题和习题

1,什么是中断响应?中断周期完毕的重要操作有哪些?

  • 中断响应就是计算机处理器对中断信号的反应过程。(处理器从发现中断请求,中断现运营程序到调出中断服务程序的过程称为中断响应。重要操作:关中断,保护断点和找到中断源。

# 数据通路

这个章节体现在题的主要就是画出微程序控制信号之类的,还有就是执行某条指令后画出相对应的程序狂徒。

# 控制器的功能和工作原理

# 硬布线控制器 (非重点)

基本原理:根据指令的要求,当前的时序以及外部和内部的状态,按照时间的顺序发送一系列微操作控制信号。它由复杂的组合逻辑门电路和一些触发器构成,又称组合逻辑控制器。

# 微程序控制器 重点

# 相关的术语和概念
# 1,微命令和微操作
  • 微命令:微操作的控制信号,是构成控制信号序列的最小单位。控制部件通过控制总线向执行部件发出的各种控制命令。
  • 微操作:执行部件接受微命令后进行的操作。
    二者的关系:微命令是微操作的控制信号,而微操作是微命令所控制的操作过程。
# 2,微指令和微周期
  • 微指令:若干微命令的组合;每个微周期的操作所需的控制命令;控制存储器中每个单元存放的编码字信息。实质:一般是把一条机器指令中一个机器周期中的微操作所需命令信息放在一条微指令中。
  • 微周期:即微指令周期,从控存中取出一条微指令并执行相应的微操作所需要的时间。
  • 微指令格式 |微操作码字段|微地址码字段|
# 3,微程序和微程序设计
  • 微程序:一系列微指令的有序集合。一段微程序通常对应实现一条机器指令的功能。
  • 微程序设计:将传统的程序设计方法运用到控制 器的设计中,设计与各条机器指令相 对应的微程序的过程。
# 4,控制存储器

存放微程序的存储器,又名微程序存储器,简称控存;一般用 ROM 实现。CM 每个单元存放一条微指令代码,CM 字长一般远大于机器字长,CM 容量取决于微指令字长和微程序总长度。

# 微指令的编码方式

(1)直接编码方式
即每一个位都代表一个微命令,0 为不选用,1 为选用命令。这样编码优点:简单,直观,执行速度快,操作并行性好;缺点是:指令字长过长,n 个微命令就要求微指令的操作字段有 n 位,造成控制存储器容量极大。
(2)字段直接编码方式
将微指令的微命令字段分成若干个小字段,把互斥性微命令组合在同一字段中,把相容性微命令组合在不同字段中,每个字段独立编码,每种编码代表一个微命令且各字段编码含义单独定义,与其他字段无关。

# 微指令的格式

(1)水平型微指令。优点:执行速度快,微程序短。缺点:微指令长,编写微程序麻烦。
(2)垂直型微指令。优点:微指令短便于编写微程序;缺点微程序长,执行速度慢,效率低。

# 二者的比较
  • 水平型微指令并行操作能力强效率高,灵活性强;垂直性微指令较差。
  • 水平型微指令执行一条指令的时间短;垂直型微指令执行的时间长。
  • 由于水平型微指令解释指令的微程序,具有微指令字段较长但微程序短的特点;垂直性微指令则与之相反,其微指令字较短而微程序长。
  • 水平型微指令用户难以掌握,而垂直型微指令与指令比较相似,相对容易掌握。
# 微程序控制器和硬布线控制器的区别
  • 微程序控制器:具有规整性,灵活性,可维护性等一系列优点;去欸但是由于采用了存储程序的原理,所以每条指令都要从控制存储器中取一次,影响速度。
  • 硬布线控制器:优点是控制器的速度取决于电路延迟,所以速度快;缺点是由于将控制部件视为专门产生固定时序控制信号的逻辑电路,所以把用最少元件和取得最高速度作为设计目标,不容易扩充修改。

# 第六章 总线

【定义】一组能为多个部件共享的公共信息传送路线。分时和共享是总线的两个特点。

  • 主设备:指获得总线控制权的设备。
  • 从设备:指被主设备访问的设备,它只能响应从主设备发送来的各种总线命令。