【XJTUSE 计算机组成结构】COA复习重点

COA复习重点

题型

题型:
判断 英文:(10分,每题一分)
选择 英文(20分,每题1分)
名词解释 英文(10分,每题2分)
简答题(每题5分,共30分)
计算设计题(5题,共30分,具体分值不等)

第一章 导论

课堂重点

1、计算机的基本功能有哪些?

Data processing(数据处理)、Data storage(数据存储)、Data movement(数据传输)、Control(控制)

2、通用计算机的主要组成部分是什么?

CPU、I/O设备、主存、系统总线

3、CPU包括哪几个组成部分

寄存器、控制单元CU、ALU、内部总线

其中CU包括排序逻辑、控制单元寄存器和译码器、控制寄存器

4、摩尔定律的内容和意义Moore‘s Law

内容:集成电路芯片上所集成的电路的数量,每隔十八个月翻一番,或者说微处理器的性能每隔十八个月提高一倍,价格下降一半

意义·:

芯片的成本几乎保持不变
更高的堆积密度意味着更短的电路径,从而提供更高的性能
更小的尺寸增加了灵活性
减少电力和冷却需求
互连越少,可靠性越高

其他概念

1、Computer architecture计算机体系结构:是那些对程序员可见的系统属性,这些属性直接影响到程序的逻辑执行

instruction set(指令集)、word length(字长)、I/O mechanism(I/O机制)、addressing(地址)

2、Computer Organization计算机组成:实现了某种架构的操作单元以及操作单元的内部连接。组成是架构的一种实现,对系统设计员可见

control signal、interface、memory technology、bus technology等等对程序员透明的硬件细节

image-20211224114049009

易错

CPU中不包括地址译码器:其存在于存储器中

指令周期>CPU周期>时钟周期

确定用于表示不同类型数据的位数属于计算机架构的范畴

第二章 演变和性能 历史

课堂重点

1、历史上,带第一的要记住,如第一台通用电子数学计算机;PPT上标明了first的也要了解,如第一个划时代的发明,集成电路的出现意味着什么

世界上第一台通用电子计算机——ENIAC 宾夕法尼亚大学——真空管计算机

DEC公司研发的第一步计算机——PDP-1——晶体管

集成电路的出现,意味着微电子时代的到来

第一台小型机——|DEC PDP-8 (1965)——集成电路

⭐️ 第一个在单个芯片上包含CPU所有组件的芯片——1971 Intel developed 4004——微处理器的诞生

第一个8位微处理器——1972 Intel developed 8008

•First general purpose microprocessor——1974 Intel developed 8080

2、摩尔定律:集成电路芯片上所集成的电路的数量,每隔十八个月翻一番,或者说微处理器的性能每隔十八个月提高一倍,价格下降一半

3、系列计算机的特点

1️⃣ 系列机使用相同的或相似的指令集

2️⃣ 系列机使用相同的或相似的操作系统

3️⃣其中的高端机将具有更高的速度、更多的I/O端口,更大的内存容量,同时成本也会相应增加

4、冯诺依曼机器的设计思想和组成部分

设计思想Stored program concept存储程序概念 :程序能够以某种形式与数据一同存在于存储器中,编程的过程得以简化

冯诺依曼机器IAS的组成部分:控制器、存储器、运算器、输入输出设备

🏷 IAS包括21个指令

5、常用的数量级和单位

Bit   -- b
Byte   -- B: 8bit= 2^3
K (Hz, bytes):          10^3 --1024=2^10
M: Mega (bytes,Hz):10^6 --1024^2=2^20
G: Giga (bytes,Hz):    10^9 -- 1024^3=2^30
T: tera (bytes,Hz):   10^12 --1024^4=2^40
P: peta (bytes,Hz):  10^15 --1024^5=2^50

6、目前计算机设计中的主要问题和采取的应对措施有哪些,就是主存和CPU,外设和CPU不匹配

7、CPU提速的方法,以及困境,以及当前的解决措施(多核)

1️⃣ CPU提速的方法:转移预测、数据流分析、推测执行

2️⃣ 困境:其他关键部件尤其是主内存速度慢于CPU速度、CPU需要等待从而陷入瓶颈,降低整体性能

3️⃣ 解决措施:

从改善接口的角度

改善CPU和主存之间的接口:增加一次能取出指令或数据的位数、改变DRAM接口、提高处理器和存储器的连接带宽

改善CPU与外设的接口:增加缓冲和暂存、使用高速总线、采用分层总线、采用多处理机配置

从改善芯片的角度

提高处理器硬件速度:逻辑门尺寸减小(更多门、组装更紧密、时钟频率提升)——降低信号传播时间

提高处理器和主存间缓存cache的容量速度

改善处理器组织和架构

根本性的解决方案:多核

8、嵌入式计算机的概念和应用

Embedded System :嵌入式系统,是计算机硬件、软件和可能附加的机械或其他部分的一种组合,用于执行特定的功能

应用:时大型产品和系统的组成部分,如轿车的刹车系统

9、性能指标,两个指标:时钟频率和每秒指令数、计算

⚠️参考计算题型一

10、基准程序是什么,满足什么样的条件才能成为基准程序

Benchmarks:用高级语言定义的一组程序,在一个特定的应用程序或系统编程领域中,尝试提供一个计算机的代表性测试

特征

  • 用高级语言编写,使其可移植到不同的机器

  • 代表一种特殊编程风格,如系统编程、数字编程或商业编程

  • 测量容易

  • 分布广泛

11、性能指标改造中,非常重要的定律,阿姆达尔定律及其计算

对系统某部分加速时,其对系统整体影响取决于该部分重要性和加速程度。

要想显著加速整个系统,必须提升全系统中相当大的部分的速度。

⚠️参考计算题型二

其他概念

1、时钟频率和芯片密度提高带来的问题:RC延迟与功耗

2、Multicore:即多核,在一个芯片上使用多个处理器可在不提高时钟速率的情况下提高性能

3、MIC:即集成众核,MIC 是联合处理器的软件架构,使用的core的数量多达几十个,多核通常只有几个core

4、GPU:Graphics Processing Unit,即图形处理单元,是一种专门在各种设备上做图像和图形相关运算工作的微处理器,常用于深度学习

易错

冯诺依曼机工作方式的特点是:按地址访问并顺序执行指令

向后兼容:指的是在老机器上编写的程序可以不加修改的运行在更新的机器上。

第三章 计算机功能与互联

课堂重点

计算机功能

1、指令周期的概念

指令周期是指CPU处理一条指令的时间,包括取指周期和执行周期

2、指令周期的步骤

1️⃣在每一个指令周期的一开始,处理器会从内存中获取一条指令。没有特殊说明,PC(存储了下一条指令的地址)会增加,以便取下一条指令。

2️⃣而取指令会被加载进指令寄存器IR中,然后处理器会解析指令并执行所需的操作: 操作包括

1️⃣ 处理器—存储器:数据可从处理器传送到存储器或从存储器传送到处理器。
2️⃣ 处理器—I/O:通过处理器和I/0模块之间的传输,数据可传送到或来自外部设备。
3️⃣ 数据处理:处理器可以对数据执行一些算术或逻辑操作。
4️⃣ 控制:指令可以用来改变执行顺序。

3、中断Interrupts的概念、目的与分类

中断是允许其他模块中断CPU执行序列的机制

中断的目的是提升CPU的效率;允许CPU处理紧急事件

中断的分类如下:

image-20211008083912276

4、中断执行过程

外部设备准备好接收服务,外部设备的I/O模块发送中断请求信号给处理器。处理器通过挂起当前程序的操作,跳转服务于某个特定I/O设备的程序来响应,这个程序被称为中断处理程序,并且在设备服务完后恢复原来的执行。

中断处理程序的流程包括

1️⃣ 保护现场:包括保护断点、保存通用寄存器和状态寄存器的内容

2️⃣ 中断服务

3️⃣ 恢复现场

4️⃣中断返回:返回原来的断点处,以便继续执行程序

5、多重中断的处理方法与各自的优缺点

多重中断指的是同一时间发生多个中断,有两种解决方法:禁止中断和定义优先级

1️⃣ 禁止中断•Disable interrupts

禁止中断就是在中断处理过程中禁止其他中断,此时的中断严格按照顺序处理,等一个中断处理完成以后不用等到用户程序恢复就可以再次允许中断

优点是简单有效,中断严格按顺序处理 缺点是没有考虑到相对的优先级和时间紧迫的需要

2️⃣ 定义优先级•Define priorities

定义优先级就是允许优先级高的中断引起低级中断处理程序本身被中断

优缺点与禁止中断相对

互连结构

1、互连结构的概念

连接各个模块的通路的集合称为互连结构

2、数据传输的类型

存储器到处理器、处理器到存储器、I/O到处理器、处理器到I/O、I/O与存储器之间(使用了DMA)

总线互联

1、总线是连接两个或多个设备的通信通路、总线的关键特征是共享传输介质

2、连接计算机主要部件(处理器、存储器、I/O)的总线称为系统总线,包括数据线、地址线和控制线

image-20211224213236269

3、数据总线概念以及宽度意义data bus

数据总线指的是系统模块间传送数据的总线集合,是双向传输总线

数据总线的宽度决定每次能传送指令的位数

4、地址总线概念以及宽度意义address bus

地址总线指的是指定数据总线上数据的来源和去向的总线,是单向

地址总线的宽度决定了系统能够使用的最大的存储容量

5、控制总线的概念与分类

控制总线是用来发出各种控制信号的传输线,其传输是单向

比如控制存储器读、写,控制I/O读、写,控制中断请求、相应,时钟,复位等

6、总线的设计要素有哪些

类型、仲裁方法、时序、总线宽度、数据传输类型

image-20211010220930233

7、总线的类型

总线分为两种基本类型:专用的Dedicated Bus和复用的Multiplexed Bus

类型专用总线复用总线
举例使用分立专用的数据线和地址线分时复用,共用线路
优势高吞吐量布线数量少,节省空间和成本
缺点规模和成本较高控制更复杂

8、总线的仲裁方式

仲裁方式主要有两种:集中式centralized和分布式distributed

集中式:总线控制器的硬件设备负责分配总线时间,可以独立于CPU

常见的集中式总线控制有三种:链式查询、计数器定时查询、独立请求;

image-20211010224020126

分布式:没有中央控制器,每一个模块中包含有访问控制逻辑,分享总线

9、总线的时序

包括同步时序和异步时序

同步时序是指总线上事件的发生由时钟决定,一次0/1发送称为时钟周期

优点是易于实现,缺点是不够灵活,易于陷入瓶颈

异步时序是指总线上一个事件的发生取决于前一个事件的发生

优点是基于请求-响应机制,无论使高速设备还是低速设备都适用,缺点是实现复杂

10、总线宽度与带宽

总线宽度: 数据总线的宽度对系统性能有影响,单位:bit

​ 地址总线的宽度对系统容量有影响,单位:bit

总线带宽:总线的传输速率,单位:b/s

11、PCI,专门为高速I/O配置的总线

其他概念

1、基本的指令周期所需的状态如下

1️⃣ 指令地址计算(Instruction address calculation): 决定下一条将要执行的指令的地址。通常是将- 一个固定的值与前一条指令的地址相加。例如,如果每条指令有16位长,并且存储器是由16位字构成的,则将原地址加1;如果存储器是由可独立寻址的8位字节构成的,则将原地址加2。
2️⃣ 读取指令(Instruction fetch):将指令从存储器单元读到处理器中。
3️⃣ 指令操作译码(Instruction operation decoding): 分析指令,以决定将执行何种操作以及将使用的操作数。
4️⃣ 操作数地址计算(operand address calculation): 如果该操作包含对存储器或通过I/0的操作数访问,那么决定操作数的地址。
5️⃣ 取操作数(Operand fetch):从存储器或从I/0中读取操作数。
6️⃣ 数据操作(Data operation): 完成指令需要的操作。
7️⃣ 存储操作数(Operand storage): 将结果写人存储器或输出到I/O。

2、单总线结构存在哪些问题

1️⃣ 总线上连接的设备越多,总线就越长,传输延迟就越大,这些延迟会显著影响性能

2️⃣ 当聚集的传输请求接近总线容量时,总线就会成为瓶颈

3、常见的集中式总线控制的种类与优缺点

常见的集中式总线控制有三种:链式查询、计数器定时查询、独立请求;

优缺点:

1️⃣ 链式查询方式连线简单,易于扩充,对电路故障最敏感;3根控制线

2️⃣ 计数器定时查询方式优先级设置较灵活,对故障不敏感,连线及控制过程较复杂;

3️⃣ 独立请求方式速度最快,但硬件器件用量大,连线多,成本较高

4、常见的总线通信方式有哪些?各有什么特点?

1、同步通信:由统一时标控制数据传送
2、异步通信:采用应答方式,没有公共始终标,包括不互锁、半互锁、全互锁三种
3、半同步通信:同步异步相结合
4、分离式通信:充分挖掘系统总线每个瞬间的潜力

易错

1、总线按照连接部件的不同可以分为(片内总线、系统总线、外围总线)。

2、假设在某系统总线上一个总线周期并行传输4个字节,一个总线周期占用2个时钟周期,总线的时钟频率为10MHz,则总线的带宽为20MB/s

3、数据_总线宽度则是决定系统总体性能的关键因素

4、为了对n个设备使用总线请求进行仲裁,在计数器轮询方式中,需要使用的控制线的数目为** log ⁡ 2 n + 2 \log_2n+2 log2n+2__**

一根表示总线忙、一根表示总线闲、 l o g 2 n log_2 n log2n根表示设备号

第四章 Cache【重中之重】

课堂重点

1、存储器的特性有哪些

存储器的特性包括存储位置、容量、传送单位、存取方法、性能、物理类型、物理特性以及组织

2、数据的存取方式有哪些,有哪些应用

存取方式包括以下四类

1️⃣ sequential顺序存取

从头开始,按顺序通读

访问时间取决于数据的位置和之前的位置

例如磁带

2️⃣ direct直接存取

每个块有唯一的地址

访问是通过跳转到附近加上顺序搜索

访问时间取决于位置和之前的位置

例如磁盘,光盘

3️⃣ random随机存取

通过每一个地址准确地识别位置

访问时间与位置或之前的访问无关

如DRAM

4️⃣ associative关联存取

是一种随机存取

数据是通过与地址中所有字的部分内容进行比较来定位的

访问时间与位置或之前的访问无关

例如缓存

2、存储器的分层结构,为什么要引入分层结构,目前常用的分层结构是什么样的,引入存储器分层结构的依据是什么?

为了解决大容量、低价格与高速度三者之间i,所以引入了存储器的分层结构。分层结构包括CPU、cache、主存和辅存。依据是局部性原理

image-20211228100700070

3、局部性原理|Locality of Reference

局部性原理包括空间局部性和时间局部性

时间局部性指的是程序中的某条指令一旦执行,则不久的将来该指令可能再次被执行

空间局部性是指一旦程序访问了某个存储单元,在不久的将来其附近的存储单元也最有可能被访问。

4、cache的概念与目的

cache是高速缓冲,位于主存和CPU之间,也有可能处于CPU中或模块中

cache的目的是使存储器的速度逼近可用的最快存储器的速度,并不能增加系统的容量

主存与cache之间的数据交换是由硬件自动完成的,对程序员是透明的

5、cache与主存的存储结构

主存储器有多达 2 n 2^n 2n个可寻址的字组成,每一个字都有唯一的n位地址,我们将主存看成许多定长的块,每个块有K个字,块数为 M = 2 n / K M=2^n/K M=2n/K.

而cache包含m个块,称为行,每行包括K个字和几位标记以及控制位。行的长度,不含标记和控制位,称为行大小。

行的数量远远小于主存的块的数目。由于块数多于行数,所以单个行不可能永远的被某个块专用,因此需要一个标记位tag,这个通常是主存储器地址的一部分。

image-20211031204359380

6、cache容量的选择

若选择小内存:便宜但是命中率低

若选择大内存:命中率高:整个存储系统的平均存取时间接近单个cache的存取时间;但是花费高;门电路多,会引起速度的降低;而且会占用更多的cpu空间

要做好权衡,没有最好的选择,1k~512k比较高效率

7、映射功能

为了解决cache的行数远远小于主存的块数,引入了映射功能

映射机制是用硬件实现的

有三种典型的映射机制:直接映射direct mapping、全关联映射associative mapping、组关联映射set associative mapping

计算参考题型五

8、替换算法

计算参考题型六

9、cache的写策略

包括写直达write through和回写write back

1️⃣ 写直达

写操作直接对内存和cache进行,保证主存与cache数据的一致性。

缺点:产生了大量的存储通信量,可能引起瓶颈

2️⃣ 写回

写回法( Write-back) ,又称为拷回法( Copy back) ,即写操作时只把数据写人Cache 而不写人主存,但当Cache数据被替换出去时才写回主存。脏位dirty bit

缺点

内存中的某些内容无效

电路很复杂

cache可能成为瓶颈

比较写直达法的写操作时间就是访问主存的时间;写回法写操作时间是访问cache的时间,对主存的写操作只发生在块替换时。

10、 单cache与多级cache

芯片内cache(on-chip cache)与芯片外cache(off-chip cache):芯片内的cache大小会被限制

使用多级cache:两级cache:片内cache为第一级L1,外部cache为第二级L2

片上缓存L1 (On-chip Cache):到CPU的路径短,速度快,降低总线访问频率

片外缓存L2 (Off-chip Cache):只有L1访问缺失才会导致访问L2

11、unified cache与split cache

统一缓存是指指令和数据都存放在同–缓存内的Cache;分立缓存是指指令和数据分别存放在两个缓存中,一个称为指令Cache,一个称为数据Cache。

分立cache适用于分布式操作,当采用超前控制或流水线控制方式时,一般都采用分立缓存;统一cache命中率高

分立cache解决指令的取指/译码单元和执行单元的竞争

其他概念

1、CPU、cache与主存之间的数据传输

cache中存放了主存储器的部分副本。当CPU试图访问主存中的某个字时,首先检查这个字是否在cache 中,如果是,则把这个传送给CPU;如果不是,则将主存中包含这个字固定大小的读人cache中,然后再传送该字给CPU。

2、直接映射方式下是否需要考虑替换算法,为什么?

无需考虑,因为在直接映射方式下,一个给定的主存块只能放到一个唯一的固定地cache行中,所以在对应cache行中已经有一个主存块的情况下,新的主存块毫无选择地替换掉它

易错

1、一般说来,一级Cache会采用分立的Cache组织,二级Cache会采用统一的Cache组织。

2、Cache的容量越大,Cache的命中率会越高

影响命中率因素:容量、行大小、替换算法

在某种程度上,增加行的大小会导致命中率的增加。但是,如果线路太大,命中率就会降低。

3、写回法适合于I/O模块和直接主存相连的系统:错误

4、 采用指令Cache和数据Cache分离的主要目的是()。减小可能的资源冲突

5、存储器设计的三个关键因素分别是容量、访问时间和成本。

第五章 内部存储器

课堂重点

1、动态RAM和静态RAM的特点与用途

**动态随机存储器Dynamic RAM **:通过电容充电来存储数据,一个半导体器件存储一位二进制,位元中的电容有、无电荷分别表示二进制的1、0.

特点:电容器有漏电的趋势,需要周期性地充电刷新–>刷新

用途:比较慢,适用于主存

静态随机存储器Static RAM :通过触发器存储数据,不需要刷新充电。每一位需要6位MOS,所以更复杂、更昂贵。

用途:因为不用刷新,因此也更快,适用于cache

二者都不稳定

都需要持续充电去保存数据

动态

更密集、更便宜、需要刷新、适用于更大的存储单元

静态

更快,适用于缓存

2、什么是ROM

ROM,即只读存储器,含有不能改变的永久性数据,掉电以后数据还在。

3、ROM的类型与区别

PROM

可编程ROM,需要用特殊设备来完成写(“编程”),灵活性高,但是价格也高

EPROM

光可擦除只读存储器。写入操作前,需要让芯片暴露在紫外线辐照下使所有的存储位元都被擦除,还原为初始状态,可重复进行,需要20分钟以上。

可以修改多次,也能长久保存出局,更贵,集成度较低

EEPROM

电可擦除只读存储器。只需要修改想要改的部分,不用全部都初始化。写操作比读操作长的多,而且更贵

快闪存储器flash memory

使用电擦除技术,价格与功能介于EPROM与EEPROM之间

能够擦除存储器中的某些块,而不是整块芯片

存储元有MOS管组成,是一种半导体存储器

断电以后信息不丢失,是一种非易失性存储器

采用随机访问方式,可代替计算机外部存储器

包括NOR与NAND,NAND内存更适合外部存储器,如USB闪存驱动器、存储卡,以及所谓的固态磁盘(SSD)

4、SDRAM和DDR SDRAM

1️⃣ SDRAM

SDRAM是同步DRAM,它与处理器的数据交换同步于外部的时钟信号,以总线的最高速度运行,不需要插入等待状态

SDRAM在传输大数据块时性能最佳:如字处理、电子表格和多媒体等应用

2️⃣ DDR DRAM

SDRAM受限于每个时钟周期仅能发生送一次数据到CPU。双速率SDRAM,能每个时钟周期发送两次数据,一次在时钟脉冲的上升沿,一次在下降沿。

其他概念

1、随机存取的含义

随机存取是表示可以随时访问存储器的任意单元位置

2、什么是RAM

随机存取存储器,可以方便的从存储器读取数据和向存储器写入新数据,且读写操作都是通过使用电信号来完成的。同时具有易失性,一旦断电,数据就会丢失。

易错

1、所有半导体存储器都是采用随机访问方式进行数据存取的

2、常见的主要进行读操作的存储器包括:EPROM, EEPROM和闪存。

第六章 外部存储器

课堂概念

1、磁盘数据的组织

数据以扇区(sector) 为单位传入或传出磁盘

2、磁盘布局

① 恒定角速度CAV

以固定速度旋转的磁盘能以相同的速率来扫描所有的信息

优点是能以磁道号和扇区号来直接寻址各个数据块,缺点是外围和内围的磁道上的数据量一样,容量会受限

② 多带式记录

将盘面划分为多个区域,越远的区域数据越多

角速度会变

缺点:需要附加数据来记录磁道和扇区的位置信息

3、磁盘的物理特性

image-20211020114525182

空气动压气隙(温氏磁盘): 旋转以后由于浮力,磁头轻轻上升——应用最广泛

4、对于多层磁盘,最上面和最下面的不能存数据,要会计算磁盘容量

5、磁盘的性能参数计算:寻道时间、旋转延迟、传送时间、总的存取时间(os考过)参考计算题型七

6、固态盘Solid State Drives的定义,与机械盘相比的优势,内部组成

固态硬盘 (SSD) 是一种由固态组件制成的内存设备,可用于替代机械硬盘 (HDD), 固态一词是指用半导体制造的电子电路

跟机械硬盘相比,SSD具有以下优点

每秒高性能输入\输出操作IOPS

耐久性、寿命长

降低功耗,更安静

较低的访问时间和延迟率

内部组成:闪存flash

7、固态盘存在的问题与解决方法

1️⃣ SSD性能在使用设备时有减速的趋势

🏷 解决方案:设置预留空间overprovisioning和擦除命令trim command

2️⃣ 在写一定数量的字后,闪存变得无法使用

🏷 解决方案:大多数闪存设备估计自己的剩余寿命,以便系统可以预测故障并采取先发制人的行动

8、什么是光盘Optical Disk,光盘有哪些种类,各自有什么不同

光盘是一种不可擦除盘,能在单面上存储超过60分钟的音频信息

CD-ROM

盘本体由树脂(聚碳酸酯)制成,信息以一系列微凹坑方式刻录在表面,通过激光反射光强变化来识别。

等线速度,螺旋型存储

CD-ROM比CD能力强,CD只能存音频,CD-ROM具有纠错机制,可以存程序。

也是以扇区作为传输单位

访问较困难

WORM-CD

写一次,读多次

是通过爆裂泡编写的

恒定角速度

可擦写光盘

可以反复书写和重写

驱动程序可以发出两种激光,一种是强激光,可以改变用于书写的相位,另一种是弱激光,用于读取

7、磁带存取方式

磁带驱动器是一种顺序存取设备

磁盘驱动器是一种直接存取设备

易错

1、一个磁盘系统需要包含磁盘控制器、磁盘驱动器以及盘片这几部分。

2、数据传输速率=每一条磁道的容量x磁盘转速

3、对于DRAM,即使不断电,如果在规定时间内没有及时刷新,存储的信息也会丢失

4、对于以下函数

int sunvec(int v[N]){
	int i,sum=0;
	for(i=0;i<Nli++)
		sum+=v[i];
	return sum;
}

对于变量i和sum,循环体具有良好的时间局部性,对于v[N],具有良好的空间局部性

5、某存储器容量是64KB,按字节编址,地址4000H~5FFFH为ROM区,其余为RAM区。若采用8KX4的SRAM芯片进行设计,则需要芯片数量为14

6、对于以下程序段

for(i = 0; i<9;i++){
	temp=1;
	for(j=0;j<=i;j++)
		temp+=a[j];
	sum+=temp;
}

对于数组a,其具有时间局部性(外循环中,a[1]会被多次访问)和空间局部性(a[1]被访问了,a[2]、a[3]也可能被访问)

7、叙述带有cache的计算机,其cpu读内存一次的工作过程

1️⃣ CPU将内存地址加载到地址总线,并发出读信号

2️⃣ cache从地址总线截取内存地址,解析出该地址所在的内存块号

3️⃣ 查阅主存cache地址映射变化机构,若该主存块已经调入cache,则命中,否则进入4️⃣ ,否则进入6️⃣

4️⃣ 将对应cache块号和主存地址中的块内地址拼接,形成cache地址,访问cache存储器,同时阻断主存的读

5️⃣ 由cache读出的数据经数据总线送往cpu

6️⃣ 不命中的情况下,维持主存的读,将主存读出的数据经数据总线送往cpu

7️⃣ 查阅cache是否有剩余空间允许新的块调入,有的话转入9️⃣

8️⃣ 启动cache替换机构,留出一个cache块空间

9️⃣ 将主存块调入cache,修改标记

第七章 外部设备

课堂概念

1、常见的外设有哪些

人类可读

屏幕、打印机、键盘

机器可读

磁盘和控制器

通信

网络接口卡

2、为什么需要I/O模块、I/O模块的功能

为什么需要:旨在提供系统的方法来控制与外部世界的交互,并为 OS 提供信息以有效管理 I/O 活动image-20211027103008202

功能:控制与定时、处理器通信、设备通信、数据缓冲、检错

3、控制从外设到处理器的数据传送过程

1️⃣ 处理器查询I/O模块,检查所连设备的状态

2️⃣ I/O模块返回设备状态

3️⃣ 如果设备状态正常且就绪,CPU通过向I/O模块发出命令,请求数据传送

4️⃣ I/O模块获得来自外设的一个数据单元(8位或者16位)

5️⃣ 数据从I/O模块传送到处理器

4、编程式I/O及其执行过程

对于编程式I/O programmed I/O,数据在处理器和I/O模块之间交换,处理器通过执行程序来直接控制I/O操作,包括检测设备状态、发送读或写命令、以及传送数据

执行过程

1️⃣ CPU遇到一条I/O指令

2️⃣ 它通过向I/O模块发送一个命令来执行它,并等待I/O模块就绪

3️⃣ I/O模块执行命令,然后在I/O状态寄存器中设置适当的位

4️⃣ CPU定期检查状态位,直到它发现操作完成

5、编程式I/O共享公共总线时,两种寻址方式,各有什么特点,如何区分

存储器映射式memory-mapped

设备和内存共享地址空间

I/O看起来就像存储器read/write

没有针对I/O的特别命令

优点是能用于大的指令系统,缺点是占用空间

分离式isolated

单独的地址空间

需要I/O或存储器选择线

有I/O特殊命令:指令集不会太多

6、编程式I/O的优缺点

优点是实现简单、处理器完全在控制中,缺点是耗费CPU

可以使用中断机制解决

7、中断驱动式I/O( Interrupt Driven I/O Basic) 及其过程

处理器发送一个I/O命令到模块,然后去处理其他有用的工作,当I/O模块准备与处理器交换数据时,它中断处理器以请求服务,然后处理器执行数据传送,最后恢复原来的处理工作

image-20211027112835234

以读为例

CPU 发送读命令,然后执行其他操作

当CPU执行其他工作时,I/O 模块从外设中读入数据

当缓冲区满时,I/O 模块给CPU发中断信号

CPU中断当前程序的执行,保护当前程序现场

CPU转入中断服务程序,并请求数据

I/O模块把数据送到数据总线上

CPU取得数据,并存储到内存

CPU恢复保存的现场,并继续运行原来的程序

8、要考虑识别中断设备的技术,四种方式分别是什么

1️⃣ 多条中断线

优点是中断响应快,缺点是可扩展性差

2️⃣ 软件轮询式

所有I/O模块共享一个公共的中断请求线

当处理器检测到一个中断时,进入中断服务程序,轮询每一个I/O模块来确定时哪一个模块产生的中断

扩展容易,轮询优先级设定灵活

3️⃣ 链式查询(硬件轮询)

所有I/O模块共享一个共同的中断请求行为,一旦CPU感受到中断,中断识别就会从链上发送下来。

硬件轮询更快、但是对故障很敏感

4️⃣ 仲裁式

一次只能有一个模块能发起中断

采用中断向量

模块必须占用总线才能引起中断

9、DMA是什么,为什么效率更高

DMA是直接存储器存取,也是一个I/O模块,是总线上的附加模块(硬件)

包括计数器、缓冲、地址寄存器、控制与状态逻辑、中断控制器

image-20220101194147295

CPU给DMA委派任务时是以块为单位的,DMA传送数据到存储器时,是一个字一个字的,传输完成以后,会发送一个中断信号给CPU,CPU只在开始和结束时参与

DMA控制器按周期掌管总线

传输一个字的数据

不是一个中断,CPU不切换上下文

CPU在进入总线前暂停

会使CPU速度变慢

10、DMA三种方式跟CPU复用总线

1️⃣ 块传送模式Block transfer mode (独占模式)

整个数据块按一个连续的顺序传输

如果DMA传输数据,CPU将被禁用一段时间,直到DMA释放总线

用于将程序或数据文件装入内存

2️⃣ 周期窃取模式Cycle stealing mode

DMA仅在CPU不需要或强制CPU暂时暂停运行时才使用总线

DMA传输一个字的数据,然后释放总线

DMA交错指令和数据传输

3️⃣ 透明模式(交替模式alternate mode)

DMA和CPU采用分时复用的方式使用总线

需要的时间最多,但效率最高

11、I/O通道的概念、功能、分类

I/O通道是拥有自己的处理器来执行I/O程序的I/O模块

功能

接收来自CPU的命令

从内存中加载I/O程序,将命令发送给设备

缓冲、控制和传输数据,为传输提供路径

报告设备状态,发送中断

通道类型

选择通道

在任何时候,只选择一台设备来传输数据 ;适用于高速设备

多路通道

字节多路通道

轮转

适用于低速设备

每次传输一个字节给一个设备

最终的通道容量要加起来算

块多路通道

轮转

每次传输K个字节给一个设备

通道容量取决于最快的那个设备

其他概念

1、编程式和中断式的缺点

编程 I/O 需要占用所有 CPU 时间

中断驱动的 I/O 仍需要主动 CPU 干预,尽管 CPU 使用效率高于编程 I/O(传输率较低)

数据的传输必须通过CPU,转移率有限

当传输大量数据时,DMA 是一种更高效的技术

易错

1、当系统采用存储映射式I/O时,进行输入输出操作的指令是(访存指令)

2、中断全过程:请求中断→响应中断→关闭中断→保留断点→中断源识别→保护现场→中断服务子程序→恢复现场→中断返回。

中断服务程序的任务:保护现场,中断服务,恢复现场,中断返回

CPU响应中断时最先完成的步骤是(关中断)。

3、中断驱动式I/O和DMA方式中都需要发中断请求,但目的不同

DMA 方式中的中断请求,只是为了报告 CPU一组数据传送结束, 有待 CPU做一些其他处理工作。中断方式的中断请求是为了传送数据, I/O 和主机交换信息完全靠 CPU响应中断后,转至中断服务程序完成的。

4、在I/O通道方式中,I/O程序存储于(主存)。

第九章 计算机算术【具体参考第九章笔记】

1、算术逻辑单元的结构与功能

算术逻辑单元ALU是计算机实际算术逻辑运算的部件

数据由寄存器提交给ALU,运算结果页存放于ALU,控制器提供控制ALU操作和数据传入送出ALU的信号;ALU根据运算结果会设置一些标志

image-20211029114453258

2、整数的表示,包括无符号数的表示以及有符号数的原码、反码、补码和真值的关系与转换

n位二进制数原码、补码、反码的表示范围如下

原码 − ( 2 n − 1 − 1 ) ∼ ( 2 n − 1 − 1 ) -(2^{n-1}-1)\sim (2^{n-1}-1) (2n11)(2n11)
补码 − 2 n − 1 ∼ ( 2 n − 1 − 1 ) -2^{n-1}\sim (2^{n-1}-1) 2n1(2n11)
反码 − ( 2 n − 1 − 1 ) ∼ ( 2 n − 1 − 1 ) -(2^{n-1}-1)\sim (2^{n-1}-1) (2n11)(2n11)

3、整数运算,整数的扩展,整数的取反方式,原码整数的加减运算,补码数的加减运算,溢出的概念与判别方式

4、浮点数的表示与运算,浮点数的规格化表示,浮点数的精度和范围的关系,计算搞懂PPT就行

补码表示整数的位扩展规则为(把符号位移到最左边,其余空出的位用符号位填充)

第十章指令集

课堂重点

1、指令集设计需要考虑的重要方面有哪些、

操作指令表(operation repertoire):应提供多少和什么样的操作,操作将是何等复杂。
数据类型(data type):对哪几种数据类型完成操作。
指令格式(instruction format):指令的(位)长度、地址数目、各个字段的大小等。
寄存器(register):能被指令访问的处理器寄存器数目以及它们的用途。
寻址(addressing):指定操作数地址的产生方式。

2、指令的操作类型有哪些

数据传送、算术运算、逻辑运算、转换、输入/输出、系统控制、控制转移

其他概念

1、指令instruction和指令集instruction set的概念

CPU的操作由它所执行的指令确定,这些指令称为机器指令

CPU能执行的各种不同指令的集合称为CPU的指令集instruction set

2、机器指令的要素有哪些

操作码operation code:将要完成的操作

源操作数引用source operand reference:操作所需的输入

结果操作数引用result operand reference:操作产生的结果

下一条指令引用next instruction reference:执行当前指令以后去取下一条

3、指令的类型

对应于计算机功能

⭕️ 数据处理:算术和逻辑指令

⭕️ 数据存储:存储器指令

⭕️ 数据传送:I/O指令

⭕️ 控制:测试和分支指令

4、指令的五种地址

易错

1、某机器采用16位单字长指令,采用定常操作码,地址码为5位,现已定义好了50条二地址指令,那么单地址指令最多有14条。

操作码空间:6位 单地址指令数最多为64-50=14

2、存储器到寄存器间的数据传送必须要依赖(传送)指令。

3、在机器指令中,最基本的指令应该是(转换)指令。

第十一章 寻址方式Addressing Modes and Formats

课堂重点

image-20211226175452859

其他概念

1、什么是寻址方式

确定当前指令或下一个指令地址中数据地址的方法

取决于 CPU 硬件并影响指令格式和功能

两种类型:指令寻址(包括顺序寻址和跳跃寻址)和数据寻址

2、不同寻址方式的特点总结

方式算法主要优点主要缺点操作数位置应用
立即寻址
Immediate Addressing
操作数=A无存储器访问,速度更快操作数范围有限操作数在指令中定义和使用常数
直接寻址
direct addressing
有效地址 (EA) = 地址字段 (A)只要求一次存储器访问无需额外计算就可得出有效地址受限于地址字段长度,只能提供有限的地址空间操作数在地址地段指向的地址中
间接寻址
indirect addressing
EA =(A)更大的地址空间速度较慢操作数在地址地段指向的存储器中
寄存器寻址EA=R无存储器访问地址范围有限操作数在地址地段指向的地址中定义常用变量
偏移寻址displacement addressingEA=A+®灵活复杂操作数在基地址和偏移间接结合指向的地址中分页或分段
栈寻址stackEA=栈顶无存储器访问应用有限

3、指令长度如何确定

影响因素

内存大小 内存组织 总线结构 CPU 复杂性 CPU 速度

指令长度需在指令的强有力性和存储时节省空间之间进行权衡考虑

4、指令如何分配位

对于一个给定的指令长度,显然要在操作码数目和寻址能力之间进行权

操作码越多,操作码字段越长,地址码就越少,寻址空间比较有限

操作码太少,功能就会不全

5、变长指令的优势是什么

提供不同长度的各种指令格式

操作码长度不同

寻址方式可更加灵活

可适用于更复杂的CPU

易错

1、采用直接寻址方式的无条件转移指令的功能是将指令中的地址码送入程序计数器PC

9-10-11都是考小题

第十二章 CPU结构和功能

课堂概念

1、CPU内寄存器的分类

1️⃣ 用户可见寄存器User-visible registers

允许机器语言或汇编语言的编程人员通过优化寄存器的使用而减少对主存的访问

2️⃣ 控制和状态寄存器Control and status registers

由控制器来控制CPU的操作,并由拥有特权的操作系统来控制程序的执行

2、通过寄存器存放的是什么

通用寄存器能为任何操作码容纳操作数

并不是完全通用的,可能会有一些限制

3、数据寄存器和地址寄存器之间有部分或完全的区分

长度问题:用于保存地址的寄存器明显要求其长度足以容纳最长的地址

数据寄存器应该要能保存大多数数据类型的值

4、条件码寄存器

由CPU硬件设置的位,作为最后一次操作的结果

COAPZS

正,负,零,溢出,等等,

在存储最后一个操作的结果之后,还会设置一个条件代码,这个代码可以用于条件分支

可以被程序隐式地读取、通常不能被程序设置

对程序员部分可见

4、指令周期,包括哪几个部分,子周期关系,前后关系,哪些必须,哪些可能

包括取指周期、执行周期(这两个必须)、间接寻址周期和中断周期

以下过程方便理解,假定一个CPU中有一个MAR、一个MBR、一个PC、一个IR

取指周期

PC存有待取的下一条指令的地址

地址被送到MAR

地址放在地址总线中

控制器发出一个存储器读的请求

存储器将结果放在数据总线中,CPU将其复制到MBR,然后传送到IR

同时,PC+1

image-20211110115853266

一旦经历过取指周期,控制器会检查IR中的内容

间接周期

一旦经历取指周期,检查器检查IR的内容,确定是否有一个使用间接寻址的操作数指定符,若是则进入间接周期

MBR最右边的N位是一个地址引用,被送入MAR

控制器发一个存储器读,得到操作数地址

送入MBR

image-20211226210853282

执行周期

没有固定地形式,取决于实际执行的指令

中断周期(只是保存,恢复不管)

PC的当前的内容被保存,以便在中断之后CPU能恢复先前的动作

PC的内容被送到MBR,写入存储器

一个专门的存储器位置被控制器装入MAR(可能是一个栈指针)

中断子程序的地址装入PC

可获取下一个指令(中断处理程序的第一个指令)

image-20211112102111756

5、流水线时序图要会画

策略是分段

image-20211112104443134

6、影响流水线的性能指标与计算【要记定义】

参考计算题型十

5、指令流水线处理条件转移指令的几种方式

1️⃣ 多个指令流multiple streams

使用两个流水线

每个分支预取到单独的流水线中执行

最终依据条件转移指令结果选择保留其中一条流水线的结果

问题

导致寄存器和存储器访问的竞争延迟

多个分支导致需要更多的流水线

应用

由IBM370,3033使用

2️⃣ 预取分支目标prefetch branch target

除了取条件分支指令之后的指令外,分支目标处的指令也被预取

预取的结果会放到一个特殊的寄存器

目标被保存直到分支指令被执行

应用:IBM 360/91使用

3️⃣ 循环缓冲器loop buffer

维护一个小的但极高速的存储器,含有n条最近顺序取来的指令

流水线取指阶段维护

若一个转移将要发生,硬件首先检查转移目标是否在此缓冲器中

非常适合小的循环

类似于指令高速缓存,不同在于它只保留顺序的指令,因而容量较小,成本也较低

应用:CRAY-1使用

4️⃣ 分支预测

包括

预测绝不发生

预测总是发生

依据操作码

假定对某些条件转移指令总是预测发生转移,对另外的一些转移总是预测不发生转移

发送/不发生切换

Bits (1~2bits):记录执行转移情况

适合循环和迭代

转移历史表

是一个小容量的Cache — BTB/BHT

前三种静态,后两种动态:取决于执行的历史

5️⃣ 延迟转移

插入NULL操作

阻塞流水线

使用在早期CPU上

重排序指令

乱序执行

目前机器常用

其他概念

1、采用更多的通用寄存器/专用寄存器

1️⃣ 采用更多的通用寄存器

增加灵活性,给程序员提供了更大的自由,寻址方式也可以更丰富

增加指令的长度和复杂度

2️⃣ 采用更多地专用寄存器

更短的指令

灵活性变差

2、流水线数据冲突类型

1️⃣ 写后读相关或真实数据相关(RAW)

一条指令改写一个寄存器或内存地址

而后续的指令从所改写的寄存器或内存地址读取数据

如果在写操作完成之前,读操作就开始进行,那么就会发生相关

2️⃣ 读后写相关或反相关(WAR)

一条指令读一个寄存器或内存地址

而后续的指令又将改写该寄存器或内存地址的内容

如果在读操作完成之前,写操作就开始执行,那么就会发生相关

3️⃣ 写后写相关或输出相关(WAW)

两条指令要改写同一个寄存器或内存地址

如果这两条指令的写操作发生次序与期望的次序相反,那么就会发生相关

在按序流动的流水线中,只可能出现RAW相关

易错

1、执行转移指令时一定会将程序计数器PC的值修改为转移目标的地址【错误]

如果转移指令失败,pc就会自动+1,而不是目标指令的地址,

2、指令周期是指(CPU从主存取出一条指令的时间加上CPU执行一条指令的时间)。

3、CPU响应中断的时间是在(一条指令执行结束)

4、若某计算机最复杂指令的执行需要完成5个子功能,分别由功能部件A~E实现,各功能部件所需时间分别为80ps、50ps、50ps、60ps、50ps,采用流水线方式执行指令,流水段锁存器延时为10ps,则CPU时钟周期至少为90ps。

5\数据冲突发生在对一个操作数位置的访问出现冲突的时候。

第十三章 RISC

课堂概念

1、指令执行的三个特征

1️⃣ 操作方面

赋值语句在程序中出现的频率最高

条件语句出现的频率也较高

过程调用/返回的操作耗时最多

2️⃣ 操作数方面

主要使用的是简单的标量变量,且其中很大比例又是局部标量变量

优化的主要方向应是对局部标量变量local variables进行快速的存储和访问

3️⃣ 过程调用方面

最耗时

2、大寄存器组中,关于局部变量如何处理

将局部标量变量存储在寄存器中,以减小内存访问;每次过程(函数)调用都会改变 “局部变量”具体所指;原有过程的局部变量必须被送到存储器,以腾出寄存器空间供现有正在执行的过程的局部变量来使用

3、大寄存器组中,全局变量如何处理

一种的方法是让编译器为声明的全局变量指派存储器的地址

另一种的方法是给全局变量单独分配一组寄存器,专门放全局变量,供所有过程使用

4、大寄存器组跟cache相比的优缺点

1️⃣ 基于窗口的寄存器更快,但缓存可以更有效地利用空间->能对动态变化的情况作出反应

2️⃣ 缓存可能会遭受另一种效率低下的问题:数据被读入块但是其中一些不会被使用

3️⃣ 在寄存器组中,使用内存相对频繁,组关联cache会受到覆盖使用的变量的影响

4️⃣ 寄存器组的地址较短,比缓存快

通常,寄存器文件优于变量

5、编译器如何优化寄存器

使用时间上不重叠的符号寄存器可共享同一物理寄存器

如果某一时段物理寄存器用尽,则某些变量仍需放回到存储器

编译器还需要对寄存器变量进行分析,来决定哪些变量放回存储器,使得程序能尽量减少访存次数

->🎨 图染色

6、RISC和CISC的区别与优缺点

什么是RISC❓

Reduced Instruction Set Computers,即精简指令集计算机

主要特征有

通过大量的通用寄存器和(或)使用编译器技术来优化寄存器的使用

一个有限且简单的指令集

强调指令流水的优化

什么是CISC

复杂指令集计算机

提供更大的指令集

提供更多的寻址方式

直接用硬件去实现的各种高级语言(HLL)句

二者比较

RISC比CISC更能提高计算机的运算速度

RISC比CISC更便于设计,可降低成本,提高可靠性

RISC更有效支持HLL

RISC在实现特殊功能时,效率比较低,可以通过流水线优化改进,CISC处理特定功能时效率比较高

6、RISC的流水线优化技术是什么:延迟槽技术

可以在转移指令取指之后执行结果出来之前,安排一条或几条不相关的但结果肯定有用的指令进入流水线执行,代替简单的NOOP空操作 — 乱序执行

将在转移指令后,插入的用来减小转移损失的这些指令称为延迟槽delay slot

第十四章 超标量【重点】

课堂概念

1、超标量的概念、特征

超标量superscalar的方法本质为,在不同的流水线中并行执行指令的能力,即允许指令能以不同于原来程序顺序的次序来执行

【并行与乱序】

1️⃣ 多个指令在不同的流水线上并行执行

基本特征

每一个流水线都有若干功能单元,都可以进行指令流水,完全意义上的并行

2️⃣ 允许指令以不同于原程序顺序的次序来执行

2、超标量与超级流水线的区别

超级流水线:把流水段划分的更细致些,每个段的执行时间只有半个时钟周期或者更少,它的一个段同步于外部一个的更快的时钟

区别

超标量是完全意义上的并行,物理上存在多条流水线,多条指令可同步执行

超级流水线是并发执行,物理上只有一条流水线,只是这条流水线性能更好,各个指令在处理时是部分交叠无法做到真正的同步

2、超标量的并行性受到什么因素限制:五大相关

受限因素如下:

真实数据相关性

过程相关性

资源冲突

输出相关性

反相关性

3、乱序发射

对于顺序发出,如果满足依赖关系,流水线将暂停,直到冲突解决。 为实现乱序发射,将译码流水线与执行流水线解耦,为此,需要一个缓冲区,称为指令窗口。 可以继续获取和解码,直到此窗口已满,即此流水线已满

当执行阶段中的功能单元变成可用时,需要此功能单元的指令就会由指令窗口发射到执行段。只要1️⃣指令所需的具体功能单元是可用的,以及2️⃣没有冲突或相关性阻塞这条指令,那任何指令都可以被发射。

image-20211124105246408

3、超标量中用来提高性能的三种硬件技术:资源复制、无序发射、寄存器重命名,必须记住

4、处理器中要采用超标量方式需要包含哪些硬件功能?5条【大概看看】

1️⃣ 同时取多条指令的取指策略,要有分支预测和超前取指的功能

2️⃣ 确定有关寄存器真相关性的逻辑以及执行期间将这些值和位置联系起来的基指

3️⃣ 并行启动或发射多条指令的机制

4️⃣ 多条指令并行执行所需的资源

5️⃣ 以正确顺序提交处理状态的机制

第十五章 CU

课堂概念

1、控制器的任务

1️⃣ 排序( sequencing):根据正被执行的程序,控制器使CPU以恰当的顺一步步通过一系列微操作。

2️⃣ 执行(execution): 控制器使每个微操作得以完成。

2、什么是微操作

微操作micro-operation:每个指令周期由若干子周期组成,每个子周期包含若干小的步骤,人们就把这些步骤称为微操作

3、微操作划分的原则

1️⃣ 事件的流动顺序必须是恰当的。于是,(MAR←(PC))必须先于(MBR←内存),因为内存读操作要使用MAR中的地址。

2️⃣ 必须避免冲突。不要试图在一个时间单位里去读、写同-一个寄存器,否则结果是不可预料的。例如,(MBR←内存)和(IR←MBR)这两个微操作不应出现在同一时间单位里。

4、各个子周期设计的微操作参考【计算题型十一】

5、ICC

ICC,即指令周期代码,作用是区分CPU处于哪个周期

6、YZ寄存器的作用

两个操作数来的时候,将其中一个通过Y进行暂存。

寄存器z提供了ALU输出的暂时存储

7、硬连线式控制器与微程序式控制器的优缺点

1️⃣ 硬连线式

优点

具有更高的执行速度

适用于指令集规模比较小的系统的实现

适合RISC机CU设计的要求

缺点

线路结构庞杂且不规整

指令系统越复杂,微操作命令就越多,线路就越复杂,调试也就越困难

添加新的指令很困难

2️⃣ 微程序式控制器

优点:简化控制器的设计任务、成本较低、不易出错

适用于CISC

缺点:速度要慢于硬连接式控制器

微程序式CU包含的存储模块是时序电路,硬连线是组合电路

第十六章 微程序式CU

课堂概念

1、微指令指的是什么,与微操作和控制字的关系

微程序控制语言,每行描述一个时间内出现的一组微操作,称为一条微指令。

控制字control word:对任一微操作,控制器发出的每根控制线或开或关,每根控制线可以由一个二进制数字表示,和微操作一 一对应

2、指令和微指令的关系

将一条机器指令编写成一个微程序,每一个微程序包含若干条微指令,每一条微指令对应一个或多个微操作命令

每一个机器指令都与一个以操作性质命名的微程序对应

3、水平和垂直微指令的区别

Vertical Micro-instruction垂直微指令:每个微指令只能指定要执行的一个(或较少的几个)微操作

宽度较窄
n 个编码为 log2 n 位的控制信号
表达并行性的能力有限
对用户友好
很少使用

image-20211201103646326

Horizontal Micro-instruction水平微指令:每个微指令能指定同时并行执行许多的微操作

比较宽
可实现高度并行操作
控制信息的编码很少

image-20211201103952812

4、微程序式控制器的结构包括哪些部分

微程序控制器的组成

**控制存储器(control memory)**存有一组微指令;

**控制地址寄存器(control address register)**含有下面即将被读取的微指令地址;当一条微指令由控制存储器读出后,即被传送到控制

**缓冲寄存器(control buffer register)。**此寄存器的左半部分与控制器发出的控制线相连接。于是,由控制存储器读一条微指令等同于执行这条微指令。

图中所示的第三个部件是**排序单元(sequencing unit),**它向控制地址寄存器装人地址并发出读命令。

image-20211201104752774

5、微程序式控制器的任务是什么

微程序控制器的两个基本任务是

微指令定序 microinstruction sequencing:由控制存储器得到下一条微指令

微指令执行microinstruction execution:产生执行微指令的控制信号

5、微程序的地址编码分为哪几类

双地址字段、单地址字段、可变格式

第十七章 并行处理机

课堂概念

1、并行处理机系统的分类以及各自的代表

1️⃣ 单指令单数据流SISD:单一处理器执行单一指令流来操作保存于单一存储器上的数据

如流水线和超级流水线、单处理器系统

2️⃣ 单指令多数据流SIMD:一条机器指令控制几个处理部件基于锁步方式同时执行,每个处理部件有一个相关的数据存储器,故每条指令在不同的数据组上执行

向量和阵列处理器,MMX

3️⃣ 多指令单数据流MISD:未被商业化

4️⃣ 多指令多数据流MIMD:一组处理器同时执行不同的指令序列,对不同的数据集进行操作

SMP、集群系统和NUMA系统、超标量

2、对于MIMD中又分为紧耦合和松耦合,依据是什么,组织上有什么不同

紧耦合系统又称直接耦合系统,指计算机间物理连接的频带较高,一般是通过总线或高速开关实现计算机间的互连,可以共享主存。

松耦合系统又称间接耦合系统,一般是通过通道或通信线路实现计算机间的互连,可以共享外存设备。

3、SMP对称多处理机系统的特征

1️⃣ 有两个或更多功能相似的处理器

2️⃣ 这些处理器共享主存和I/O,存储器存取时间大致相同

3️⃣ 所有处理器能完成同样的功能

4️⃣ 系统被一个集中式OS控制

4、SMP对称多处理机系统优点

1️⃣ 性能上,可以提高工作的并行度,提高性能

2️⃣ 可用性:单个处理器故障不会造成系统的停机

3️⃣ 增量式增长:用户可以通过添加处理器来提高工作性能

4️⃣ 可扩展:厂商能基于处理器数目提供一个产品范围供用户选择

5️⃣ 多个处理器的存在对用户来讲是透明的

5、SMP对称多处理机系统内部互联组织有哪些形式各自优缺点是什么

1️⃣ 分时共享总线

结构和接口类似于使用总线互连的单处理器系统

优点

简易性

每个物理接口以及处理器的寻址、仲裁和分时特性都和单处理器系统相同

灵活性

扩充系统很容易

可靠性

总线上任一CPU的故障不会引起整个系统的瘫痪

缺点

系统性能受限于总线周期时间

为了减少总线访问,每个处理器都配置局部Cache,但又会带来Cache数据一致性的问题

总体来看使用两级Cache的好处还是要大于维护数据一致性的损失

2️⃣ 多端口内存

它是可以允许每个处理器或I/O模块独立访问的内存模块,具有多个端口,可以允许多个模块同时读写

优点

更好的性能

每个处理器都有通往每个模块的专用路径

可以将部分内存配置为一个或多个处理器的私有内存

安全性更高,不易被其他处理器修改

缺点

更复杂的控制

使用写直达Cache策略进行Cache控制

存储器端口数和类型在设计时就要确定下来,因而系统的规模和配置也就被确定了,很难扩展

3️⃣ 中央控制单元

4️⃣ 互连网络

6、SMP设计时需要考虑哪些问题

同时并发进程simultaneous concurrent process:允许几个处理器可同时执行同一OS代码

调度scheduling

同步synchronization

存储管理memory management:多端口存储器;协调不同处理器上的分页机制;在页替换时决定合适的操作

可靠性和容错reliability and fault tolerant:识别处理器的失效,并相应地重构管理表

7、SMP多机系统中,保证cache一致性的解决方案,软件以及硬件的,硬件中又有两种,如何处理。分布式目录协议有两种处理方法,写无效和写更新,各自的含义是什么,MESI属于哪一类

软件解决方案

依赖于编译程序和操作系统

基于编译程序的一致性机制完成代码分析,然后确定哪些数据对于Cache来说是不安全的

接着编译程序对这些数据项进行标注,避免把这些不安全数据放到局部Cache中去,规定这些数据只能在主存中进行存取

然后操作系统或硬件机制负责防止这些数据被用于Cache

优点

维护一致性开销由运行时间变成编译时间

设计复杂性由硬件转移到软件

缺点

Cache利用率还是会下降

对于编写编译器和操作系统的程序员要求比较高

硬件解决方案

采用一个目录来记录共享数据信息,有Cache修改需求的时候要先报送给目录,并发广播,收到其他Cache确认后才可以修改

集中式目录协议(目录协议)

基本思想就是不管有多少个CPU和局部Cache,系统都只维护一个目录,存放到专门的Cache或者是主存里去,这个目录记录并维护共享数据的副本存放在哪个局部Cache中的信息

分布式目录协议(监听协议)

其思想就是将维护Cache一致性的任务分散到各个Cache控制器

这些局部Cache必须能够识别它里面的数据行是否共享的

此协议不允许两个Cache直接通信,Cache数据交互必须要通过主存来完成,也不允许某个CPU对自己Cache中无效数据直接进行改写

基于写无效的监听协议

当某个CPU要对自己Cache的数据进行修改的时,通知其他还存有此数据的Cache将此行变为无效,并把这个行变为自己Cache所专有

MESI协议

基于写更新的监听协议

当一个处理器想要修改某个共享行,它也先要把这个具体想修改的行广播给其他Cache,然后其他包含此行的Cache跟着发起修改CPU同时进行自己数据的修改

6、集群cluster系统的特征、优点、分类、轻量级应用中的典型组织

特征:物理上有若干台机器,逻辑上只有一台机器;其中每一台计算机就被称为一个结点node;集群里的结点不要求同构

优点

绝对的可扩展性、增量的可扩展性、容错性高、性价比高

缺点

维护工作量大、维护费用较高

image-20211227173455454

典型组织:主动式备份

7、NUMA非统一内存访问系统比起SMP和cluster有什么优势,

对于 SMP 系统,随着处理器数量的增加,总线可能会成为性能瓶颈

使用群集时,每个节点都有自己的专用主内存,应用程序看不到较大的全局内存,这会影响实现最大性能

NUMA可以补偿上述限制

8、CC-NUMA

典型的是带有Cache一致维护的NUMA(CC-NUMA)——在各处理器的Cache之间有维护Cache一致性机制的NUMA系统

没有Cache一致性维护的NUMA系统或多或少等同于集群系统

image-20211227174345953

多个独立的结点通过某种通信网络互连

每个结点都是SMP组织

每个处理器都有自己的L1和L2 Cache以及存储器,但每个处理器可以访问其他结点的存储器

每个处理器访问数据时先找自己的1级Cache,如果没有再找局部2级Cache,两个都没有才需要访存,访存时就可能要跨网络访问其他结点,访问其他结点主存

9、NUMA的优缺点

优点

比SMP更高的并行度,无需对软件进行重大更改

网络流量有限,因为远程访问不会过多

L1,L2缓存,本地内存,虚拟内存
程序具有时间和空间位置
页面迁移机制 — 移动代理

缺点

需要一个新的操作系统来支持

可用性取决于确切的系统

第十八章 多核

1、多核的定义

多核计算机也称为单芯片多处理器,指的是在一个单独的硅片上结合两个或多个处理器(称为核)

2、多核出现的四个必然性

CPU功耗和散热要求

并行性需求

应用软件需求

摩尔定律要求

3、多核架构的不同体现在哪些方面

芯片上处理器的数量

cache存储器的级数

共享cache存储器的数目

4、演变的原因【十七章】

### 关于西安交通大学计算机组成原理期末复习资料 对于准备西安交通大学计算机组成原理课程期末考试的学生来说,有效的复习策略和资源至关重要。虽然特定于该大学的官方复习材料可能有限,但可以借鉴其他高质量的学习资源来辅助备考。 #### 复习书籍推荐 选择一本权威教材作为主要参考资料非常重要。通常,《计算机组成与设计:硬件/软件接口》这类经典著作能够提供全面而深入的知识体系[^3]。 #### 在线视频教程 针对难以理解的概念或章节,观看在线教学视频是一种高效学习方式。例如,在B站上搜索“王道考研”的相关内容可以帮助加深对指令集架构以及汇编语言的理解。 #### 练习题目 通过大量练习巩固所学知识点同样不可或缺。尽管没有找到直接关联到西安交通大学的具体期末真题,但是参考相似水平院校发布的历年试题仍然具有很大价值。比如某些高校提供的《数据库原理及应用》期末试卷结构(含选择题、填空题、简答题等),这种形式也可能适用于计算机组成原理科目的考核模式[^2]。 ```python # 示例代码用于模拟如何利用Python处理数据以辅助复习 import pandas as pd def load_exam_data(file_path): """加载并返回指定路径下的考试数据""" data = pd.read_csv(file_path) return data exam_questions = load_exam_data('path_to_exam_paper.csv') print(exam_questions.head()) ```
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雨落俊泉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值