第一章
1.层次结构
第0级由硬件实现,第1级由微程序实现,第2级至第6级由软件实现,称为:虚拟机 第2级是传统指令系统(机器语言)机器。 第3级是操作系统机器。操作系统是运行在第2级上的解释程序。 第4级是汇编语言机器。 第5级是高级语言机器。 第6级是应用语言机器。
2.透明性
1.本来存在的事物或属性,从某种角度看似乎不存在
2.低层机器对高层用户透明;高层机器对低层用户不透明
3.系统结构
程序员所看到的计算机系统的属性,即 概念性结构和功能特性
4.系统结构、组成原理及实现间的关系
计算机组成是指计算机系统结构的逻辑实现 各组成部分的内部构造、相互联系 数据流、控制流、逻辑设计 主要包括: 确定数据通路的宽度 确定各种操作对功能部件的共享程度 确定专用的功能部件 确定功能部件的并行度 设计缓冲和排队策略 设计控制机构 确定采用何种可靠性技术
5.软硬件的特点
硬件实现:速度快、成本高;灵活性差、占用内存少
软件实现:速度低、复制费用低;灵活性好、占用内存多
6.Amdahl ’ s law及其应用 (我觉得考大题可能性较大)
系统中某一部件由于采用某种更快的执行方式后整个系统性能的提高与这种执行方式的使用频率或占总执行时间的比例有关
7.软件兼容性及实现方法
软件兼容性即软件可移植性:在某一机器上运行的目标软件能够直接运行于另一机器上
实现方法:采用1.系列机方法 2.模拟(Simulation)3.仿真 (Emulation) 统一高级语言
8.计算机系统设计过程
方法一:由上向下(Top-Down)
方法二:由下向上(Bottom-Up)
方法三:中间开始(Middle-Out)
9.CPI、MIPS、程序时间的计算
CPI= 程序的CPU时钟周期数 / 程序的IC(IC是指令条数)
CPU时间=IC×CPI×时钟周期
10.冯·诺依曼结构与现代计算机结构的异同
相同点:
存储器:冯·诺依曼结构和现代计算机结构都使用存储器来存储指令和数据。存储器被划分为连续的地址空间,并通过地址来读取和写入数据。
处理器:两种结构都包含一个处理器(中央处理单元,CPU),负责执行指令和进行计算。处理器包括控制单元和算术逻辑单元,用于控制和执行操作。
输入输出:冯·诺依曼结构和现代计算机结构都支持输入和输出设备的连接。这些设备用于与计算机进行交互,输入数据或输出计算结果。
指令执行:两种结构都使用指令来指导计算机执行特定的操作。指令由操作码和操作数组成,描述要执行的操作和操作所需的数据。
不同点:
存储器结构:冯·诺依曼结构使用统一的存储器来存储指令和数据,指令和数据共享相同的地址空间。而现代计算机结构通常使用分离的指令存储器和数据存储器,即指令和数据存储在不同的内存模块中。
并行处理:现代计算机结构支持并行处理,通过多核处理器或并行计算的方式提高计算性能。而冯·诺依曼结构主要是基于顺序执行的概念,一次只执行一条指令。
存储器访问方式:现代计算机结构中的高速缓存(Cache)被广泛应用,用于加快处理器对内存的访问速度。冯·诺依曼结构没有高速缓存的概念,处理器直接访问主存。
指令集架构:现代计算机结构涉及不同的指令集架构,如x86、ARM等。冯·诺依曼结构并没有具体的指令集架构定义,它更多地是一种计算机结构的概念。
11.计算机更新换代的标准
技术进步:计算机更新通常是由技术的进步推动的。当新的技术出现时,旧的计算机可能无法满足新的需求或无法充分利用新技术的优势。因此,技术进步是一个重要的标准,以确定是否需要进行计算机更新。
性能需求:随着时间的推移,计算任务的复杂性和要求不断增加。如果现有计算机无法满足业务或个人的性能需求,那么更新换代可能是必要的。性能指标可以包括处理速度、存储容量、并行计算能力等。
能源效率:随着对能源消耗和环境影响的关注增加,能源效率成为计算机更新的重要考虑因素。新一代计算机通常会采用更高效的处理器、组件和电源管理技术,以降低能源消耗。
兼容性和互操作性:在进行计算机更新时,通常需要考虑现有软件和硬件设备的兼容性和互操作性。如果新计算机无法与现有的软件和设备无缝集成或交互,可能需要额外的工作和成本来适应新系统。
成本效益:计算机更新换代需要投入大量的资金,包括购买新的设备、软件许可和培训等。因此,成本效益是评估是否进行更新的重要指标。需要综合考虑更新的成本、预期的性能改进和效益回报。
支持和维护:对于企业和组织来说,计算机更新还需要考虑供应商的支持和维护。如果旧设备的支持期限即将结束或维护成本过高,更新换代可能是一个明智的选择。
12.Flynn分类法
按照指令流和数据流的多倍性特征对计算机系统进行分类
4种类型 :
单指令流单数据流SISD(Single Instruction Single Datastream)
单指令流多数据流SIMD(Single Instruction Multiple Datastream)
多指令流单数据流MISD(Multiple Instruction Single Datastream)
多指令流多数据流MIMS(Multiple Instruction Multiple Datastream)
第二章
1.数据表示及数据结构的比较
数据表示:数据表示是指计算机硬件能够直接识别,可以被指令系统直接调用的那些数据类型。
如:定点、逻辑、浮点、十进制、字符、字符串、堆栈和向量
数据结构:由软件编程实现,不能被硬件直接识别,指令不能直接调用的数据类型。
如:文件、图、表、树、阵列、队列、链表
2.常用的编址单位
字编址、字节编址、位编址、块编址
3.零地址空间个数的选择
三个零地址空间:通用寄存器、主存储器、输入输出设备独立编址
两个零地址空间:主存储器与输入输出设备统一编址
一个零地址空间:所有存储设备统一编址。最低端是通用寄存 器,最高端是输入输出设备,中间为主存储器
隐含编址方式,实际上没有零地址空间:堆栈、Cache等
4.间接寻址方式与变址寻址方式的比较
采用变址寻址方式编写的程序简单、易读。
对于程序员,两种寻址方式的主要差别是:
间址寻址方式:间接地址在主存储器中,没有偏移量
变址寻址方式:基地址在变址寄存器中,带有偏移量
实现的难易程度:间址寻址方式容易
指令的执行速度:间址寻址方式慢
对数组运算的支持:变址寻址方式比较好
5.定位方式
直接定位方式:在程序装入主存储器之前,程序中的指令和 数据的主存物理就已经确定了的称为直接定位方式。
静态定位:在程序装入主存储器的过程中随即进行地址变换, 确定指令和数据的主存物理地址的称为静态定位方式。
动态定位:在程序执行过程中,当访问到相应的指令或数据 时才进行地址变换,确定指令和数据的主存物理地址的称为 动态定位方式。
6.指令格式优化的标准
1.节省程序的存储空间
2.指令格式尽量规整,便于译码
7.操作码编码的比较
固定长度编码的优点是简单、高效,缺点是会浪费存储空间。
Huffman编码的优点是可以根据符号频率自适应编码,节省存储空间,缺点是需要维护编码表。
扩展编码可以根据符号特性分配个性化编码,进一步提高编码效率,但编解码过程可能更复杂,需要更大的编码表。
8.常用的地址码个数
地址码个数通常有三个、两个、一个及0个等四种情况
9.缩短地址码的方法
用间址寻址方式缩短地址码长度
在主存储器的低端开辟一个专门存放地址区域,
用变址寻址方式缩短地址码长度
由于程序的局部性,变址寻址方式中的地址偏移量比较短,
用寄存器间接寻址方式缩短地址码长度,很有效的方法
例如,16个间址寄存器,用4位地址码就能表示任意长的逻辑地 址用来支持间接寻址的寄存器,可以借用通用寄存器
10.指令格式的设计
指令的长度:有固定长度和可变长度两种,
操作码长度:有固定长度和可变长度两种
11.CISC及其实现方法
CISC(Complex Instruction Set Computer)是一种计算机体系结构,其实现方法包括:
1. 微程序控制:使用微指令控制器执行复杂指令操作。
2. 指令解码器:解码和映射复杂指令到执行单元或微指令序列。
3. 复杂执行单元:支持多种数据类型和操作的执行单元。
4. 灵活的内存访问模式:包括直接寻址、间接寻址、寄存器间接寻址等。
5. 高级指令:执行复杂的操作,如字符串操作、位操作、多精度算术等。这些实现方法使得CISC处理器能够执行复杂指令和高级操作,但也增加了处理器的复杂性。
12.RISC及其特点
RISC(Reduced Instruction Set Computer)是一种计算机体系结构,它的设计原则是通过简化指令集和提高硬件效率来提高计算机性能
特点:
1、大多数指令在单周期内完成。 2、LOAD/STORE结构。 3、硬布线控制逻辑。 4、减少指令和寻址方式的种类。 5、固定的指令格式。 6、注重译码的优化。
13.20%与80%规律及在系统结构中的应用
CISC中,大约20%的指令占据了80%的处理机时间。
14.RISC的关键技术及其实现方法
延时转移技术
定义:为了使指令流水线不断流,在转移指令之后插入一条不相关的有效的指令,而转移指令被延迟执行,这种技术称为延迟转移技术。
第三章
1.存储系统的定义
两个或两个以上速度、容量和价格各不相同的存储器用硬件、软件、或软件与硬件相结合的方法连接起来成为一个存储系统。这个系统对应用程序员透明,并且,从应用程序员看,它是一个存储器,这个存储器的速度接近速度最快的那个存储器,存储容量与容量最大的那个存储器相等,单位容量的价格接近最便宜的那个存储器。
2.命中率及
的计算
命中率:在M1存储器中访问到的概率
3.高位交叉及低位交叉的设计及目的,虚拟存储器的原理
高位交叉:
主要目的:扩大存储器容量
实现方法:用地址码的高位部分区分存储体号
低位交叉:
主要目的:提高存储器访问速度
实现方法:用地址码的低位部分区分存储体号,并采用分时启动方式工作。
虚拟存储器:
把主存储器、磁盘存储器和虚拟存储器都划分成固定大小的页,主存储器的页称为实页,虚拟存储器中的页称为虚页。
4.地址及变换
三个地址空间:虚存、主存、磁盘,其中,CPU对应虚存空间,数据保存在主存和磁盘中。 内部地址变换:多用户虚拟地址Av变换成主存实地址A,多用户虚拟地址中的页内偏移D直接作为主存实地址中的页内偏移d,主存实页号p与它的页内偏移d直接拼接起来就得到主存实地址A。
外部地址变换: 首先查外页表得到磁盘存储器的实地址,把磁盘存储器的实地址和主存储器的实页号送入输入输出处理机,把要访问数据所在的一整页都从磁盘存储器调入到主存储器。
5.页表级数的计算
页表级数的计算公式:
其中: Nv为虚拟存储空间大小,Np为页面的大小,Nd为一个页表存储字的大小
6.替换算法 (考大题可能性较大)
(1)随机算法(RAND random algorithm) 算法简单,容易实现。 没有利用历史信息,没有反映程序的局部性,命中率低。
(2)先进先出算法(FIFO first-in first-out algorithm) 比较容易实现,利用了历史信息,没有反映程序的局部性。 最先调入主存的页面,很可能也是经常要使用的页面。
(3)近期最少使用算法(LFU least frequently used algorithm) 既充分利用了历史信息,又反映了程序的局部性 实现起来非常困难。
(4)最久没有使用算法(LRU least recently used algorithm) 把LRU算法中的“多”与“少”简化成“有”与“无”,实现比较容易
(5)最优替换算法(OPT optimal replacement algorithm): 是一种理想算法,仅用作评价其它页面替换算法好坏的标准 在虚拟存储器中,实际上可能采用的只有FIFO和LRU两种算法
7.堆栈型替换算法及应用
对任意一个程序的页地址流作两次主存页面数分配,分别分配 m 个主存页面和 n 个主存页面,并且有 m≤n。如果在任何时刻 t,主存页面数集合 Bt 都满足关系:Bt(m) Bt(n),则这类算法称为堆栈型替换算法。
LFU, LRU, OPT是堆栈型替换算法
8.局部性原理
局部性原理(Locality Principle)是计算机科学中的重要概念,指出在程序执行过程中,数据和指令往往会展现出一定的局部性特征,即存在时间局部性和空间局部性。
1. 时间局部性(Temporal Locality):时间局部性指的是程序中访问的数据和指令在一段时间内往往会被重复使用。当一个数据或指令被访问后,它在不久的将来可能再次被访问到。这种局部性可以通过缓存技术来利用,将最近被访问的数据或指令存储在高速缓存中,以加快后续的访问速度。
2. 空间局部性(Spatial Locality):空间局部性指的是程序中访问的数据和指令往往在空间上相邻或相近的位置。当一个数据或指令被访问时,其附近的数据或指令也可能会被访问到。这种局部性可以通过预取技术和数据对齐等方法来利用,提前获取附近的数据或指令,以减少访问延迟和提高整体性能。
局部性原理的重要性在于它提供了针对计算机系统优化的指导原则。通过合理地利用时间局部性和空间局部性,可以提高数据访问的效率和系统的整体性能。常见的优化方法包括缓存优化、预取策略、指令重排和数据对齐等,这些方法都是基于局部性原理的基础上设计和实现的。
局部性原理不仅适用于计算机体系结构和硬件设计,也适用于编程和算法设计。在编写程序时,合理地组织数据结构和算法,以充分利用局部性特征,可以提高程序的执行效率和性能。
(感谢chat GPT 对本题的大力支持)
9.Cache的原理
10.虚拟存储器与Cache的比较
虚拟存储器和缓存(Cache)是计算机系统中常见的存储层级,它们在功能和应用上有所不同。
1. 功能:
- 虚拟存储器(Virtual Memory):虚拟存储器是一种将磁盘存储与主存储器结合起来的技术。它允许将大于物理内存容量的程序和数据存储在磁盘上,并通过页面置换算法将部分数据从磁盘调入到主存中进行访问。虚拟存储器提供了一个逻辑上连续且大容量的地址空间,对程序员来说,可以忽略物理内存的限制。- 缓存(Cache):缓存是位于主存和处理器之间的一层高速存储器,用于暂时存储最常访问的数据和指令。缓存的目标是提高数据访问的速度,减少对主存的访问次数。它通过利用时间局部性原理,将最近访问的数据和指令存储在高速缓存中,以便更快地满足处理器的访问需求。
2. 层级关系:
- 虚拟存储器:虚拟存储器位于主存和磁盘之间,是主存和磁盘之间的交互层。它通过页面置换和页面调度算法来管理内存和磁盘之间的数据传输。- 缓存:缓存位于主存和处理器之间,是主存和处理器之间的交互层。它通过高速缓存控制器和缓存替换算法来管理主存和缓存之间的数据传输。
3. 存储容量和速度:
- 虚拟存储器:虚拟存储器的容量通常比主存大得多,可以容纳更多的程序和数据,但其访问速度相对较慢,因为需要涉及磁盘的访问和数据传输。- 缓存:缓存的容量相对较小,一般只存储最常访问的数据和指令。然而,由于其位于处理器和主存之间,并且采用了更快的硬件技术(如SRAM),缓存具有更快的访问速度。
4. 控制策略:
- 虚拟存储器:虚拟存储器的控制由操作系统负责,通过页面置换算法和页面调度来管理内存和磁盘之间的数据传输。- 缓存:缓存的控制由硬件缓存控制器负责,通过缓存替换算法和缓存一致性协议来管理主存和缓存之间的数据传输。
综上所述,虚拟存储器和缓存在功能、层级关系、存储容量和速度以及控制策略等方面存在差异。虚拟存储器关注的是主存和磁盘之间的数据管理和调度,以扩展程序的地址空间;而缓存关注的是主存和处理器之间的数据访问速度和效率,通过存储最常访问的数据和指令来提高处理器的执行性能。
(感谢chat GPT 对本题的大力支持)
11.Cache的地址及变换(前三种)
全相联
直接相联
组相联(参考我的计算机组成原理复习)
第四章
1.输入输出系统的特点及组织方式
涉及到学科众多:机、光、电、磁、声、自动控制等
硬件与软件的相互结合
复杂性隐藏在系统软件中,用户无需了解输入输出设备的具体细节
处理机的外部世界包括:本地和远程用户、系统操作员、操作控制台、输入输出设备、辅助存储器、其它处理机、各种通信设备和虚拟现实系统等
2.基本输入输出方式及其异同
程序控制输入输出方式
中断输入输出方式
直接存储器访问(DMA)方式
3.三种通道及其流量的计算
字节多路通道
选择通道
数组多路通道
第五章
1.提高指令执行速度的主要途径
提高处理机的工作主频
采用更好的算法和设计更好的功能部件
采用指令级并行技术
2.三种指令级并行处理机
流水线(pipelining )处理机超流水线(Superpipelining )处理机
超标量(Superscalar)处理机
超长指令字(VLIW:Very Long Instruction Word)处理机
3.先行控制技术
先行控制技术的关键是缓冲技术和预处理技术
缓冲技术是在工作速度不固定的两个功能部件之间设置缓冲栈,用以平滑它们的工作
在采用了缓冲技术和预处理技术之后,运算器能够专心于数据的运算,从而大幅度提高程序的执行速度
4.缓冲栈的大小及访问主存优先级
后行写数栈 > 先行读数栈 > 先行指令缓冲栈
5.控制相关及数据相关及其避免方法
控制相关(Control Dependency)和数据相关(Data Dependency)是计算机程序中常见的两种依赖关系,它们会对程序的执行顺序和结果产生影响。以下是它们的定义以及一些常见的避免方法:
1. 控制相关:
控制相关指的是指令之间的执行顺序依赖于某个条件的结果。当一个指令的执行取决于上一条指令的条件分支结果时,就存在控制相关。常见的控制相关有条件分支、循环和函数调用等。避免方法:
- 静态预测:使用静态分析技术对程序进行预测,尽可能准确地猜测条件分支的结果,从而提前执行相关指令。
- 动态预测:在程序运行时根据历史执行信息预测条件分支的结果,以便更准确地执行相关指令。常见的动态预测技术包括分支预测器(Branch Predictor)和指令窗口(Instruction Window)等。2. 数据相关:
数据相关指的是指令之间存在数据依赖关系,即后续指令需要使用先前指令的计算结果。数据相关分为真依赖(True Dependency)、反依赖(Anti-Dependency)和输出依赖(Output Dependency)三种情况。- 真依赖:后续指令需要使用先前指令的计算结果,例如赋值语句和使用该变量的语句。
- 反依赖:后续指令需要使用先前指令的计算结果,但计算结果的写入时间早于后续指令的读取时间。
- 输出依赖:后续指令需要使用先前指令的计算结果,并且计算结果的写入时间晚于后续指令的读取时间。避免方法:
- 数据重排:通过重新安排指令的执行顺序,使得后续指令不再依赖于先前指令的计算结果。这可以通过编译器优化技术(如指令调度)实现。
- 数据冒险检测和暂停:在发现数据相关时,通过流水线暂停或插入等待周期来保证数据的正确性。这会增加执行时间,因此需要合理权衡。综上所述,控制相关和数据相关是程序中常见的依赖关系,对程序的执行顺序和结果产生影响。通过静态预测、动态预测、数据重排和数据冒险检测等方法可以减少这些相关性对程序性能的影响,提高执行效率和并行性。
(感谢chat GPT 对本题的大力支持)
6.流水线原理及性能分析
流水线(Pipeline)是一种计算机指令执行的并行处理方式,将指令的执行过程划分为多个阶段,并使多个指令在不同阶段同时执行,以提高指令的吞吐量和执行效率。流水线原理可以通过以下步骤进行描述:
1. 指令划分:将指令执行的过程划分为多个阶段,每个阶段执行一个特定的操作。常见的阶段包括指令获取、指令解码、操作数读取、执行运算、访存和写回等。
2. 阶段并行执行:不同的指令在同一时刻可以处于不同的阶段,允许多条指令同时在流水线中执行。这样可以利用硬件资源的并行性,提高指令的执行效率。
3. 数据传递:在不同阶段之间传递数据和结果,确保指令在流水线中的正确执行。数据传递通常通过寄存器文件或流水线寄存器(Pipeline Register)进行。
4. 冲突处理:由于指令之间的数据和控制相关性,可能会发生冲突(Hazard)。常见的冲突包括结构冲突(Structural Hazard)、数据冲突(Data Hazard)和控制冲突(Control Hazard)。冲突需要通过相关的技术和策略进行解决,如指令重排、数据旁路、分支预测等。
性能分析是评估流水线效果的重要指标,常用指标包括:
1. 吞吐量(Throughput):指单位时间内完成的指令数。流水线可以提高指令的吞吐量,充分利用硬件资源,增加指令的并行性和执行效率。
2. 加速比(Speedup):指流水线执行相同任务所需要的时间与非流水线执行相同任务所需要的时间之比。加速比越大,说明流水线对程序性能的提升效果越好。
3. 流水线效率(Pipeline Efficiency):指流水线中有用工作所占的比例。流水线效率受到冲突和流水线停顿(Pipeline Stalls)等因素的影响,这些因素会导致流水线中有些周期是空闲的。
4. 流水线深度(Pipeline Depth):指流水线中阶段的数量。较深的流水线可以提供更高的并行性,但也会增加冲突和停顿的可能性。
综上所述,流水线通过将指令的执行过程划分为多个阶段并实现并行执行,可以提高指令的吞吐量和执行效率。性能分析可以评估流水线的效果,包括吞吐量、加速比、流水线效率和流水线深度等指标。流水线的设计需要考虑冲突处理和流水线停顿等因素,以充分利用并行性并提高程序的执行效率。
(感谢chat GPT 对本题的大力支持)
7.WR、RW、WW产生的原因
WR(Write-Read)、RW(Read-Write)和WW(Write-Write)是指在并发环境下可能出现的数据访问冲突类型。这些冲突是由多个并发操作对共享数据进行读写操作而引起的。
1. WR(Write-Read)冲突:
WR冲突指的是一个并发操作对共享数据进行写操作,而另一个并发操作在此之后对同一共享数据进行读操作。这种冲突可能导致读取到过时或不正确的数据。原因:
- 写操作在读操作之前,读操作获取到的数据可能是写操作之前的旧值。
示例:
- 进程A写入共享变量x的值为5,进程B在此之后读取共享变量x的值。2. RW(Read-Write)冲突:
RW冲突指的是一个并发操作对共享数据进行读操作,而另一个并发操作在此之后对同一共享数据进行写操作。这种冲突可能导致读取到不一致的数据或写操作丢失。原因:
- 读操作在写操作之前,读操作获取到的数据可能是被改变之前的值,而不是最新的写操作结果。
- 写操作在读操作之后,读操作可能无法反映出写操作的变化。示例:
- 进程A读取共享变量x的值为10,进程B在此之后将共享变量x的值更新为15。3. WW(Write-Write)冲突:
WW冲突指的是两个并发操作对同一共享数据进行写操作。这种冲突可能导致其中一个写操作的结果被覆盖,造成数据丢失或不一致。原因:
- 写操作在写操作之前,后面的写操作会覆盖前面的写操作,导致前一个写操作的结果丢失。示例:
- 进程A将共享变量x的值更新为5,进程B在此之后将共享变量x的值更新为10。这些冲突的发生主要是因为多个并发操作对共享数据的访问顺序不当,导致数据的一致性受到破坏。为了避免这些冲突,需要使用并发控制机制,如锁(Locking)、信号量(Semaphore)、事务(Transactions)等,以确保在对共享数据进行访问时的正确顺序和互斥性。这样可以保证数据的一致性和并发操作的正确性。
(感谢chat GPT 对本题的大力支持)
8.静态与动态流水线的区别
静态流水线:同一段时间内,多功能流水线中的各个功能段只能按照一种固定的方式连接,实现一种固定的功能
动态流水线:在同一段时间内,多功能流水线中的各段可以按照不同的方式连接,同时执行多种功能
9.非线性流水线的表示
线性流水线能够用流水线连接图唯一表示 连接图不能用唯一表示非线性流水线的工作流程,因此,引入流水线预约表
10.非线性流水线的调度
非线性流水线的禁止启动向量(集合):
预约表中每一行任意两个“×” 之间的距离都计算出来,去掉重复的。上例中为(3,4,6)
由禁止向量得到冲突向量:C=(CmCm-1…C2C1) 其中:m是禁止向量中的最大值。如果i在禁止向量中,
则Ci=1,否则Ci=0。上例中 C=(101100)。
由冲突向量构造状态图:
把冲突向量送入一个m位逻辑右移移位器;如果移位器移出0,用移位器中的值与初始冲突向量作“按位或”运算,得到一个新的冲突向量;否则不作任何处理;如此重复m+1次。
对于中间形成的每一个新的冲突向量,也要按照这一方法进行处理。
在初始冲突向量和所有的新形成的冲突向量之间用带箭头的线连接,当新形成的冲突向量出现重复时可以合并到一起。
11.超标量处理机
基本结构:多个操作部件.如:一个或多个通用寄存器堆;两个Cache;三种处理部件:定点处理单元,浮点处理单元,图形处理单元.
12.超流水线处理机及超标量超流水线处理机的定义,区别
超流水线处理机:一个周期内分时发射多条指令
超标量超流水线处理机定义:一个周期内分时发射多次,每次同时发射多条指令
第六章
1.向量处理机实现的方式、结构及处理方式
向量处理机(Vector Processing Unit)是一种特殊的处理器,专门设计用于高效执行向量和矩阵运算。它通过并行处理向量数据,可以在单个指令周期内同时对多个数据元素进行操作,从而提高计算性能。向量处理机的实现方式、结构和处理方式可以描述如下:
1. 实现方式:
向量处理机可以通过多种方式实现,包括硬件实现和软件实现。
- 硬件实现:在处理器中集成向量处理单元,具有专门的硬件电路和指令集,能够高效地执行向量操作。硬件实现通常具有较高的性能和并行计算能力。
- 软件实现:通过编译器或运行时库等软件层面的优化,将向量操作转化为适合执行的指令序列。软件实现可以在通用处理器上模拟向量操作,但性能通常不如硬件实现。2. 结构:
向量处理机的结构通常由以下组件组成:- 向量寄存器(Vector Registers):用于存储向量数据,具有较大的容量和宽度,能够同时处理多个数据元素。
- 向量控制单元(Vector Control Unit):负责向量操作的控制和调度,包括向量指令的解码和调度,以及数据的传输和结果的写回。
- 数据通路(Data Path):连接向量寄存器和执行单元,负责数据的传输和执行向量操作的计算单元。
- 执行单元(Execution Units):包括多个并行计算单元,用于同时执行向量操作。执行单元可以支持多种向量操作,如加法、乘法、逻辑运算等。
- 存储器接口(Memory Interface):用于与主存储器进行数据的读写操作,支持向量数据的加载和存储。3. 处理方式:
向量处理机的处理方式主要包括向量寻址和向量操作。- 向量寻址:向量寄存器使用特定的寻址模式来访问向量数据。常见的向量寻址模式包括连续寻址(Contiguous Addressing)、跳跃寻址(Strided Addressing)和掩码寻址(Masked Addressing)等。这些寻址模式可以有效地访问连续或间隔的向量元素。
- 向量操作:向量处理机通过一条向量指令同时对多个数据元素执行相同的操作。向量指令可以包括向量加法、乘法、逻辑运算、归约操作等。执行单元通过并行计算和数据流控制,对向量数据进行高效的并行处理。
向量处理机的设计旨在充分利用向量级并行性,通过同时处理多个数据元素来提高计算性能。它在科学计算、图形渲染、图像处理等领域具有广泛的应用,可以加速复杂的向量和矩阵计算任务。
(感谢chat GPT 对本题的大力支持)
2.RR相关产生的愿因、链接技术及其条件
对于RR(Read-Read)相关,它是指在并发环境下可能发生的两个读操作之间的数据相关性。即一个读操作依赖于另一个读操作的结果。RR相关的产生原因、相关的链接技术以及其条件如下:
1. 原因:
RR相关通常是由于并发操作之间存在数据依赖性引起的。具体来说,一个读操作在另一个读操作之后执行,且依赖于该读操作的结果。这种依赖关系可能导致并发操作的执行顺序受到限制。2. 链接技术:
以下是一些常见的链接技术,可用于处理RR相关:- 数据前推(Data Forwarding):当一个读操作的结果被计算完成后,可以直接将结果提供给后续的读操作,而不需要等待结果写入到内存中。这样可以避免等待读操作的延迟,并提高执行效率。
- 数据旁路(Data Bypassing):类似于数据前推,但是数据旁路可以绕过内存或缓存系统,直接将计算结果传递给需要的读操作。这减少了对内存的访问延迟,提高了执行效率。
- 数据重命名(Data Renaming):通过为每个读操作分配独立的重命名寄存器,可以避免读操作之间的数据相关性。每个读操作可以获取其依赖的结果,并在重命名寄存器中保存,从而消除了RR相关。
3. 条件:
要应用链接技术来解决RR相关,通常需要满足以下条件:- 读操作之间存在数据依赖性:如果两个读操作之间没有数据依赖性,它们可以独立执行,不会发生RR相关。
- 数据依赖性可以被检测到:系统需要能够检测到读操作之间的数据依赖性,以便进行相应的链接技术处理。
- 硬件支持:链接技术通常需要特定的硬件支持,如数据前推单元、数据旁路路径或重命名寄存器等。因此,硬件平台需要提供相应的支持。
总之,RR相关的产生原因是并发操作之间的数据依赖性,可以通过数据前推、数据旁路或数据重命名等链接技术来解决。然而,应用这些链接技术需要满足一定的条件,包括存在数据依赖性、可检测性以及相应的硬件支持。
(感谢chat GPT 对本题的大力支持)
第七章
1.互连网络的概念
互连网络(Interconnection Network)是指用于连接计算机系统内部各个组件和子系统之间的通信网络。它提供了数据传输和通信的路径,使得计算机系统中的处理器、存储器、输入/输出设备等组件能够相互交换信息和进行协作。
2.互连函数,互连网络的种类及特点
交换函数(Exchange)
全混洗函数(Perfect shuffle)
蝶式函数(Butterfly)
反位序函数(Bit Reversal)
移数函数
3.多级互连网络的构造及其控制
多级互连网络(Multistage Interconnection Network,MIN)是一种用于构建大规模计算机系统的互连网络结构。它由多个互连级别(stage)组成,每个级别包含一组交换机(switch)和连接线(link),用于实现节点之间的通信和数据传输。