第 4 章 指令级并行

合集下载

计算机组成原理第4章指令系统课件

计算机组成原理第4章指令系统课件

4.2 指令的格式
4.2.1 指令的编码格式
操作码OC
AC1
AC2
(1)把保存操作前原来操作数的地址称为源点地址(SS), 把保存指令执行结果的地址称为终点地址或目的地址(DD)。
(2)将源点与终点操作数进行操作码规定的操作后,将 结果存入终点地址。通常二地址指令又称为双操作数指令。
ADD R0,R1表示将R0寄存器的内容和R1寄存器的内容相加以
5 异或XOR
XOR指令对两个操作数进 行按位异或运算。
4.4 指令的种类
4.4.4 移位、循环类指令
CF
位移指令SAL/SHL操作示意图
CF
SAR操作示意图
CF 0
SHR操作示意图
4.4 指令的种类
4.4.4 移位、循环类指令
不带进位标志的循环左移指令ROL MSB 操作数 LSB
CF
不带进位标志的循环右移指令ROR MSB 操作数 LSB
例如:在IBM-PC指令系统中
MOV
AX,05FFH
4.3 寻址方式
4.3.2 常用的寻址方式
2.直接寻址方式
(1)含义: 是指地址字段直接指明操作数在存储器内的位置的寻址 方法。即形式地址等于有效地址。 (2)优缺点: A、优点:简单,不需要进行加法运算。 B、缺点:地址空间指令地址字段长度的限制。
4.2 指令的格式
4.2.3 指令助记符
通常采用一些符号来代表二进制数据,这些符号即指 令助记符。
指令助记符 ADD SUB MUL DIV
助记符示例
含义
指令助记符
相加
AND
相减
OR
相乘
LOAD
相除
STORE

计算机组成原理第四五章答案

计算机组成原理第四五章答案

期末试卷(四、五、六章)一、选择题(每小题1分)1 单地址指令中为了完成两个数的算术运算,除地址码指明的一个操作数外,另一个常需采用(C )。

A 堆栈寻址方式B 立即寻址方式C 隐含寻址方式D 间接寻址方式2 RISC访内指令中,操作数的物理位置一般安排在( D )。

A 栈顶和次栈顶B 两个主存单元C 一个主存单元和一个通用寄存器D 两个通用寄存器3寄存器间接寻址方式中,操作数在(B )。

A 通用寄存器B 主存单元C 程序计数器 D 堆栈4 机器指令与微指令之间的关系是(A )。

A 用若干条微指令实现一条机器指令B 用若干条机器指令实现一条微指令C 用一条微指令实现一条机器指令D 用一条机器指令实现一条微指令5描述多媒体CPU基本概念中,不正确的是( D )。

A 多媒体CPU是带有MMX技术的处理器B MMX是一种多媒体扩展结构C MMX指令集是一种多指令流多数据流的并行处理指令D 多媒体CPU是以超标量结构为基础的CISC机器6 流水线中造成控制相关的原因是执行( A )指令而引起。

A 条件转移B 访内C 算逻D 无条件转移7 PCI总线是一个高带宽且与处理器无关的标准总线。

下面描述中不正确的是(B )。

A 采用同步定时协议B 采用分布式仲裁策略C 具有自动配置能力D 适合于低成本的小系统8 同步控制是( C )。

A 只适用于CPU控制的方式B 只适用于外围设备控制的方式C 由统一时序信号控制的方式D 所有指令执行时间都相同的方式9 描述PCI总线中基本概念不正确的句子是(CD )。

A PCI总线是一个与处理器无关的高速外围设备B PCI总线的基本传输机制是猝发式传送C PCI设备一定是主设备D 系统中只允许有一条PCI总线10当前的CPU由( B )组成。

A 控制器B 控制器、运算器、cacheC 运算器、主存D 控制器、ALU、主存11流水CPU是由一系列叫做“段”的处理部件组成。

和具备m个并行部件的CPU相比,一个m段流水CPU的吞吐能力是( D )。

计算机组成原理(白中英)

计算机组成原理(白中英)

D0
D1
D2
D3
A校验码 B校验码 C校验码 D校验码
系统结构
RAID4
I/O系统
❖ 专用奇偶校验独立存取盘阵列
❖ 数据以块(块大小可变)交叉的方式存于各盘, 奇偶校验信息存在一台专用盘上
数据块
校验码 产生器
A0
A1
A2
A3
B0
B1
B2
B3
C0
C1
C2
C3
D0
D1
D2
D3
A校验码 B校验码 C校验码 D校验码
❖ 只写一次光盘
只写一次光盘(Write Once Only):可以由用户写入 信息,不过只能写一次,写入后不能修改,可以多次读 出,相当于PROM。在盘片上留有空白区,可以把要修 改和重写的的数据追记在空白区内。
❖ 可檫写式光盘
可檫写式光盘(Rewriteable):利用磁光效应存取信 息,采纳特殊的磁性薄膜作记录介质,用激光束来记录、 再现和删除信息,又称为磁光盘,类似于磁盘,可以重 复读写。
RAID6
I/O系统
❖ 双维奇偶校验独立存取盘阵列
❖ 数据以块(块大小可变)交叉方式存于各盘, 检、纠错信息均匀分布在全部磁盘上
系统结构
A0 A1 A2
3校验码 D校验码
B0 B1
2校验码 C校验码
B2
C0
1校验码 B校验码
C1 C2
0校验码 A校验码
D1 D2 D3
校验码 产生器
7.7 光盘存储设备
– 正脉冲电流表示“1”,负脉冲电流表示“0”; – 不论记录“0”或“1”,在记录下一信息前,记录电流
恢复到零电流 – 简洁易行,记录密度低,改写磁层上的记录比较困难,

计算机体系结构知识点

计算机体系结构知识点

第一章计算机体系结构得基本概念1 计算机系统结构得经典定义程序员所瞧到得计算机属性,即概念性结构与功能特性。

2 透明性在计算机技术中,把这种本来存在得事物或属性,但从某种角度瞧又好像不存在得概念称为透明性。

3 系列机由同一厂家生产得具有相同系统结构、但具有不同组成与实现得一系列不同型号得计算机。

4 常见得计算机系统结构分类法有两种:Flynn 分类法、冯氏分类法Flynn 分类法把计算机系统得结构分为4 类:单指令流单数据流(SISD)单指令流多数据流(SIMD)多指令流单数据流(MISD)多指令流多数据流(MIMD)5 改进后程序得总执行时间系统加速比为改进前与改进后总执行时间之比6CPI(Cycles Per Instruction ):每条指令执行得平均时钟周期数CPI = 执行程序所需得时钟周期数/IC7 存储程序原理得基本点:指令驱动8冯•诺依曼结构得主要特点1 以运算器为中心。

2 在存储器中,指令与数据同等对待。

指令与数据一样可以进行运算,即由指令组成得程序就是可以修改得。

3 存储器就是按地址访问、按顺序线性编址得一维结构,每个单元得位数就是固定得。

4 指令得执行就是顺序得5 指令由操作码与地址码组成。

6 指令与数据均以二进制编码表示,采用二进制运算。

9 软件得可移植性一个软件可以不经修改或者只需少量修改就可以由一台计算机移植到另一台计算机上正确地运行。

差别只就是执行时间得不同。

我们称这两台计算机就是软件兼容得。

实现可移植性得常用方法:采用系列机、模拟与仿真、统一高级语言。

软件兼容:向上(下)兼容:按某档机器编制得程序,不加修改就能运行于比它高(低)档得机器。

向前(后)兼容:按某个时期投入市场得某种型号机器编制得程序,不加修改地就能运行于在它之前(后)投入市场得机器。

向后兼容就是系列机得根本特征。

兼容机:由不同公司厂家生产得具有相同系统结构得计算机。

10 并行性:计算机系统在同一时刻或者同一时间间隔内进行多种运算或操作。

archit44

archit44
系统结构
4.3 动态分支预测技术

指令并行
处理器可达到的指令级并行度越高,控制相关 的影响越大 动态解决技术利用硬件对程序运行时分支的行 为进行预测,提前对分支操作做出反应,加快 分支处理的速度。分支预测的效果不仅取决于 其准确性,而且与分支预测时的开销密切相关。 分支转移的最终延迟取决于流水线的结构、预 测的方法和预测错误后恢复所采取的策略 动态分支预测技术要记录分支指令的历史、并 据此决定预测的分支,还要尽快找到分支目标 地址,从而避免控制相关造成流水线停顿
4.4 多指令流出技术

指令并行
将等于1的理想CPI减小,必须实现一个时钟周 期流出(发射issue)多条指令
超标量(Superscalar)处理器:每个时钟周期流出多条 指令(1~8),可以采用编译器进行静态调度顺序执行, 也可以采用硬件动态调度乱序执行 超长指令字(VLIW: Very Long Instruction Word):通 过编译器调度无关的多条指令(4~16)形成一条长指 令,每个时钟周期流出一条长指令 超级流水线(Super pipelining):将每个功能部件进一 步流水化,使得一个功能部件在一个时钟周期中可以处 理多条指令(可以简单地理解为很长的流水线)

WAW 冲突 (输出相关引起) 如果在SUB.D写入F10 之 前 ADD.D 执 行 结 束 , 会出现问题
寄存器换名可以消除WAR和WAW冲突
指令并行
DIV.D F4,F0,F2 SUB.D F10,F4,F6 ADD.D F8,F12,F14

DIV.D F4,F0,F2 SUB.D F10,F4,F6 ADD.D F8,F6,F14
① 根据历史记录(预测位状态)进行分支预测 ② 根据实际分支情况修改预测位

计算机系统结构--《张晨曦、王志英》课后习题参考答案

计算机系统结构--《张晨曦、王志英》课后习题参考答案

第1章计算机系统结构的基本概念1.1 解释下列术语层次机构: 按照计算机语言从低级到高级的次序, 把计算机系统按功能划分成多级层次结构, 每一层以一种不同的语言为特征。

这些层次依次为: 微程序机器级, 传统机器语言机器级, 汇编语言机器级, 高级语言机器级, 应用语言机器级等。

虚拟机: 用软件实现的机器。

翻译: 先用转换程序把高一级机器上的程序转换为低一级机器上等效的程序, 然后再在这低一级机器上运行, 实现程序的功能。

解释: 对于高一级机器上的程序中的每一条语句或指令, 都是转去执行低一级机器上的一段等效程序。

执行完后, 再去高一级机器取下一条语句或指令, 再进行解释执行, 如此反复, 直到解释执行完整个程序。

计算机系统结构: 传统机器程序员所看到的计算机属性, 即概念性结构与功能特性。

在计算机技术中, 把这种本来存在的事物或属性, 但从某种角度看又好像不存在的概念称为透明性。

计算机组成: 计算机系统结构的逻辑实现, 包含物理机器级中的数据流和控制流的组成以及逻辑设计等。

计算机实现: 计算机组成的物理实现, 包括处理机、主存等部件的物理结构, 器件的集成度和速度, 模块、插件、底板的划分与连接, 信号传输, 电源、冷却及整机装配技术等。

系统加速比: 对系统中某部分进行改进时, 改进后系统性能提高的倍数。

Amdahl定律: 当对一个系统中的某个部件进行改进后, 所能获得的整个系统性能的提高, 受限于该部件的执行时间占总执行时间的百分比。

程序的局部性原理: 程序执行时所访问的存储器地址不是随机分布的, 而是相对地簇聚。

包括时间局部性和空间局部性。

CPI: 每条指令执行的平均时钟周期数。

测试程序套件: 由各种不同的真实应用程序构成的一组测试程序, 用来测试计算机在各个方面的处理性能。

存储程序计算机: 冯·诺依曼结构计算机。

其基本点是指令驱动。

程序预先存放在计算机存储器中, 机器一旦启动, 就能按照程序指定的逻辑顺序执行这些程序, 自动完成由程序所描述的处理工作。

计算机系统结构(张晨曦)基本概念

计算机系统结构(张晨曦)基本概念

在同一时刻或是同一时间间隔内完成两种或两种以上性质相同或不相同的工作。 只要时间上 互相重叠,就存在并行性。 同时性 两个或多个事件在同一时刻发生的并行性。 并发性 两个或多个事件在同一时间间隔内发生的并行性。 字串位串 每次只对一个字的一位进行处理。这是最基本的串行处理方式。 字串位并 同时对一个字的全部位进行处理,不同字之间是串行的。 字并位串 同时对许多字的同一位(称为位片)进行处理。 全并行 同时对许多字的全部位或部分位进行处理。 指令内部并行 单条指令中各微操作之间的并行。 指令级并行 并行执行两条或两条以上的指令。 线程级并行 并行执行两个或两个以上的线程,通常是以一个进程内派生的多个线程为调度单位。 任务级或过程级并行 并行执行两个或两个以上的过程或任务(程序段) ,以子程序或进程为调度单元。 作业或程序级并行 并行执行两个或两个以上的作业或程序。 时间重叠 多个处理过程在时间上相互错开, 轮流使用同一套硬件设备的各个部分, 以加快硬件周转而 赢得速度。 资源重复 通过重复设置资源,尤其是硬件资源,大幅度提高计算机系统的性能。 资源共享 是一种软件方法,它使多个任务按一定时间顺序轮流使用同一套硬件设备。 同构型(对称型)多处理机 由多个同类型, 至少担负同等功能的处理机组成, 同时处理同一作业中能并行执行的多个任 务。 异构型(非对称型)多处理机 由多个不同类型,至少担负不同功能的处理机组成,按照作业要求的顺序,利用时间重叠原 理,依次对它们的多个任务进行加工,各自完成规定的功能动作。 分布处理系统 把若干台具有独立功能的处理机(或计算机)相互连接起来,在操作系统的全盘控制下,统 一协调地工作,而最少依赖集中的程序、数据或硬件。 耦合度 反映多机系统各机器之间物理连接的紧密程度和交互作用能力的强弱。 松散耦合 通过通道或通信线路实现计算机间互连, 共享某些外围设备, 机间的相互作用是在文件或数

计算机体系结构名词解释大全

计算机体系结构名词解释大全

名词解释:(1)静态流水线——同一时间内,流水线的各段只能按同一种功能的连接方式工作。

(2)分段开采——当向量的长度大于向量寄存器的长度时,必须把长向量分成长度固定的段,然后循环分段处理,每一次循环只处理一个向量段。

(3)计算机体系结构——程序员所看到的计算机的属性,即概念性结构与功能特性(4)时间重叠——在并行性中引入时间因素,即多个处理过程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个部分,以加快硬件周转而赢得速度。

(5)TLB——个专用高速存储器,用于存放近期经常使用的页表项,其内容是页表部分内容的一个副本(6)结构冲突——指某种指令组合因为资源冲突而不能正常执行(7)程序的局部性原理——程序在执行时所访问的地址不是随机的,而是相对簇聚;这种簇聚包括指令和数据两部分。

(8)2:1Cache经验规则——大小为N的直接映象Cache的失效率约等于大小为N /2的两路组相联Cache的实效率。

(9)组相联映象——主存中的每一块可以放置到Cache中唯一的一组中任何一个地方(10)数据相关——当指令在流水线中重叠执行时,流水线有可能改变指令读/写操作的顺序,使得读/写操作顺序不同于它们非流水实现时的顺序,将导致数据相关。

(1)动态流水线——同一时间内,当某些段正在实现某种运算时,另一些段却在实现另一种运算。

(2)透明性——指在计算机技术中,把本来存在的事物或属性,但从某种角度看又好像不存在的特性。

(3)层次结构——计算机系统可以按语言的功能划分为多级层次结构,每一层以不同的语言为特征。

(4)资源共享——是一种软件方法,它使多个任务按一定的时间顺序轮流使用同一套硬件设备。

(5)快表——个专用高速存储器,用于存放近期经常使用的页表项,其内容是页表部分内容的一个副本。

(6)控制相关——指由分支指令引起的相关,它需要根据分支指令的执行结果来确定后续指令是否执行。

(7)存储层次——采用不同的技术实现的存储器,处在离CPU不同距离的层次上,目标是达到离CPU最近的存储器的速度,最远的存储器的容量。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 1.指令流出(Issue, 记为IS):如果指令所需的功 能部件空闲,并且其他正在执行的指令使用的目 的寄存器与该指令的不同,记分牌就向相应的功 能部件发射该指令,并改变记分牌内部的数据结 构。这一步代替了ID的一部分。
• 解决了结构相关和WAW相关。
2020/8/4
17
• 2.读操作数(Read Operand, 记RO):如果前面 已流出的正在运行的指令不对本指令的源操作数 寄存器进行写操作,或者一个正在工作的功能部 件已经完成了对这个寄存器的写操作,那么此操 作数有效。整个检测工作由记分牌完成。当操作 数有效后,记分牌告诉功能部件读操作数并开始 执行。
硬件+软件技术
必须要硬件技术和软件技术互相 配合,才能够最大限度地挖掘出程 序中存在的指令级并行。
2020/8/4
2
1.流水线处理机的实际CPI
–理想流水线的CPI加上各类停顿的时钟周 期数:
CPI流水线 = CPI理想 + 停顿结构冲突 + 停顿数据冲突 + 停顿控制冲突
– 理想CPI是衡量流水线最高性能的一个指标。 –IPC:Instructions Per Cycle
(每个时钟周期完成的指令条数)
2020/8/4
3
2.基本程序块
– 基本程序块:一段除了入口和出口以外 不包含其他分支的线性代码段。
– 程序平均每5~7条指令就会有一个分支。 循环级并行:使一个循环中的不同循环体 并行执行。 – 开发循环体中存在的并行性
• 最常见、最基本 – 是指令级并行研究的重点之一
2020/8/4
10
流水线动态调度的优点
• (1)能处理某些在编译时无法知道的相 关情况。
• (2)能简化编译程序设计。 • (3)使代码有可移植性。 • 动态调度方法的主要缺点是硬件较为复
杂。
2020/8/4
11
4.2.1 流水的集中式动态调度
• 集中式动态调度
• 利用状态记录控制器(或记分牌 ScoreBoard)在程 序执行过程中,对流水线中的各个功能部件的工 作状态、进入流水线中的各条指令的工作状态、 指令所使用的寄存器情况等进行集中的统一记录 和调度。
2020/8/4
8
8. 对于正确地执行程序来说,必须保持的最关键 的两个属性是:数据流和异常行为。
– 保持异常行为是指:无论怎么改变指令的执 行顺序,都不能改变程序中异常的发生情况。
• 即原来程序中是怎么发生的,改变执行顺 序后还是怎么发生。
• 弱化为:指令执行顺序的改变不能导致程 序中发生新的异常。
EX MEM WB 集中式动态调度
13
寄存器堆
记分牌目的
• 记分牌技术的目标: • 尽可能早地执行无关指令,在没有数据相关的情
况下,达到每个时钟周期执行一条指令。
• 记分牌电路全盘负责指令的流出、执行以及相关 检测。
• 要发挥指令乱序执行的好处,必须有多条指令同 时处于执行阶段,这就要求有多个功能部件或功 能部件流水化或两者兼有。
• 一般,采用多个功能部件。
2020/8/4
14
• 如:CDC6600具有16个功能部件:
• 4个浮点部件、5个存储器访问部件、7个整数操 作部件。
• 对于DLX,记分牌技术主要用于浮点部件,因为 其他部件的操作延迟很小,可以不计。
• DLX的部件是:1个浮点乘法器、1个浮点加法器、 1个浮点除法部件和1个整数部件,其中整数部件 用于处理所有的存储器访问、分支处理和整数操 作。
2020/8/4
4
– 例如,考虑下述语句: for (i=1; i<=500; i=i+1)
a[i]=a[i]+s;
每一次循环都可以与其他的循环重 叠并行执行;
在每一次循环的内部,却没有任何 的并行性。
2020/8/4
5
• 3.最基本的开发循环级并行的技术 –循环展开(loop unrolling)技术 –采用向量指令和向量数据表示
– 如果我们能做到保持程序的数据相关和控制 相关,就能保持程序的数据流和异常行为。
2020/8/4
9
4.2 流水线的动态调度方法(简述)
• 流水线的静态调度 • 主ቤተ መጻሕፍቲ ባይዱ借助软件对指令执行顺序进行调度,
减少流水线中因相关冲突而引起的停顿 时间。 • 流水线的动态调度 • 主要通过硬件重新安排指令的执行顺序, 减少流水的停顿。
4.1 指令级并行
• 指令级并行的概念 – 几乎所有的处理机都利用流水线来使 指令重叠并行执行,以达到提高性能 的目的。这种指令之间存在的潜在并 行性称为指令级并行。
(ILP:InstructionLevel Parallelism)
2020/8/4
1
– 本章研究:如何通过各种可能的技术, 获得更多的指令级并行性。
• 4. 相关与流水线冲突 – 相关有三种类型: 数据相关、名相关、控制相关
2020/8/4
6
– 流水线冲突是指对于具体的流水线来说, 由于相关的存在,使得指令流中的下一条 指令不能在指定的时钟周期执行。
流水线冲突有三种类型:结构冲突、数 据冲突、控制冲突
– 相关是程序固有的一种属性,它反映了程 序中指令之间的相互依赖关系。
• RISC的超标量机也可以采用类似的方法。
2020/8/4
15
记分牌的三个主要组成部分
• 指令状态:指明指令所处的阶段 • 功能部件状态:指出功能部件的工作状

• 寄存器结果状态:指出功能部件将要回 写结果到寄存器。如果不回写,则为空 状态。
2020/8/4
16
DLX记分牌的四级操作
• 将每条指令的执行按4步处理(主要考虑浮点等功 能的操作,忽略MEM):
– 具体的一次相关是否会导致实际冲突的发 生以及该冲突会带来多长的停顿,则是流
水线的属性。
2020/8/4
7
5. 可以从两个方面来解决相关问题:
– 保持相关,但避免发生冲突。
指令调度
– 通过代码变换,消除相关。
6.程序顺序:由源程序确定的在完全串行 方式下指令的执行顺序。
必须保持程序顺序
7. 控制相关并不是一个必须严格保持的 关键属性。
• 集中式动态调度依靠硬件在程序运行过程中对可 能出现的相关情况加以检测,从而保证流水线中 的各个功能部件能最大限度地重叠工作。
• 集中式动态调度常用于解决乱序方式流水线中的 相关冲突。
2020/8/4
12
指令
整数部分
IF ID
浮点加 浮点乘
浮点除 控制/状态
记录控制器
RF
控制/状态
2020/8/4
相关文档
最新文档