计算机系统结构 第5章
计算机导论第五章_计算机组成
只读存储器 Read-only memory (ROM) ROM的内容是由制造商写进去的
特性1:用户只能读不能写。
特性 2 :非易失性。当切断电源后, 储存在 ROM 中的数据不会丢失。通常 用来存储那些关机后也不能丢失的程序 或数据
17:28 26
只读存储器 Read-only memory (ROM)
中央处理单元 (CPU) 用于数据的运算.
在大多数体系结构中,它有三个组成部分:
算术逻辑单元 (ALU) 控制单元
寄存器组( 快速存储单元)
17:28 8
Figure 5.2 中央处理单元(CPU)
17:28 9
算术逻辑单元 The arithmetic logic unit (ALU)
算术逻辑单元对数据进行逻辑、移位和算术运算。 逻辑运算:非、与、或、异或 移位运算:逻辑移位运算和算术移位运算。 逻辑移位运算对无符号整数进行向左或右的移位 算术移位运算对带符号整数进行向左或右的移位 算术运算:第4章已讨论整数和实数的算术运算。
17:28 15
i 内存地址用无符号二进制整数定义。
17:28 16
Example 5.1
16千兆字节是(
)字节?
A、 216
解:B
ቤተ መጻሕፍቲ ባይዱ
B、234
C、240
D、244
E、256
16千兆=24×210×220
17:28
17
Example 5.2
16T字节是(
)字节?
A、 216
解:D
B、234
C、240
需要借助激光把转换后的二进制数据刻在具 有反射能力的盘片上。 与磁盘相同,光存储设备也是以二进制数据 的形式来存储信息。
计算机体系结构完整讲义ppt课件
• 计算机的更新换代
– 第一代:电子管计算机 – 第二代:晶体管计算机
硬件设计公理: 越小越快
– 第三代:中小规模集成电路
– 第四代:大或超大规模集成电路
– 第五代:VLSI(甚大规模集成电路)
计算机性能的大幅度提高和更新换代,一方面依靠 器件的不断更新,同时也依赖系统结构的不断改进。
30
二 按计算机系统成本分类
• 是对计算机系统中各机器级之间界面的划 分和定义,以及对各级界面上、下的功能 进行分配
– 1964年,IBM/360系列机的总设计工程师G.M. Amdahl、G.A. Blauw、F.P. Brooks等人提出。 也称体系结构。
– 是从程序员的角度所看到的系统的属性,是 概念上的结构和功能上的行为
• 1.2.2 计算机系统的设计方法
• ---软硬件舍取的基本原则 • ---计算机系统设计者的主要任务 • ---计算机系统设计的基本方法 (三种)
• 计算机语言:是用以描述控制流程的、 有一定规则的字符集合
– 语言不是专属软件范畴,可以介属于计算机 系统的各个层次,具有不同作用
4
1.1.1计算机系统的多级层次结构
从使用语言的角度上,将计算机系统 看成按功能划分的多级层次结构
机器、汇编、高级、应用语言
低级
高级
后者比前者功能更强、使用更方便;
而前者是后者发展的基础,在单条指令的 执行速度相比较,前者更快。
•第1章 •第2章 •第3章 •第4章 •第5章 •第6章
计算机系统设计基础 数据表示与指令系统性能分析 流水技术和向量处理 阵列计算机 多处理机系统 数据流计算机
1
第1章 计算机系统设计基础
• 1.1 计算机系统的基本概念 • 1.2 计算机系统的设计技术 • 1.3 计算机系统的性能评价 • 1.4 计算机系统结构的发展
微型计算机原理与组成-第5章 储存系统
· 读取CMOS-SRAM中的设备配置,确 定硬件运行环境。
· 系统引导、启动。
· 基本的输入输出控制程序。 · 存储一些重要的数据参数。 · 部分机器还含有硬化的部分操作系统。
ROM-BIOS一般为几十KB的容量,并 有逐渐加大的趋势,常为掩膜式ROM。 目前高档PC机已采用快速擦写存储器, 使ROM BIOS 的功能由软盘软件支撑升级。
5.4.5 页式虚拟存储器 页式虚拟存储器中的基本信息传送单 位为定长的页。
5.4.6 段页式虚拟存储器简介
段式虚拟存储器和页式虚拟存储器各有 其优缺点,段页式管理综合了两者的优点, 将存储空间仍按程序的逻辑模块分成段, 以保证每个模块的独立性及便于用户公用; 每段又分成若干个页。 页面大小与实存页相同,虚存和实存之 间的信息调度以页为基本传送单位。
2.CMOS-RAM 用于记录设备配置参数,如内存容量, 显示器类型,软硬磁盘类型及时钟信息等。 CMOS-RAM采用CMOS工艺制成,功耗很 少。
3.ROM-BIOS
ROM-BIOS用于存放基本的输入输出 系统程序,是操作系统驻留在内存中的最 基本部分,其主要用于以下几个方面。
· 开机后的自检。检测对象涉及计算机 系统的各主要功能部件包括CPU、ROM、 RAM、系统接口电路和键盘、软、硬磁 盘等外设。
5.1.1存储器的分类
1. 按存储介质分 按存储介质可以将存储器分为三种:半 导体存储器、磁表面存储器和光存储器。
2. 按存取方式分
按照存储器的存取可方式分为随机存取 (读写)存储器、只读存储器、顺序存取存 储器和直接存取存储器等。
计算机系统结构(张晨曦)基本概念
在同一时刻或是同一时间间隔内完成两种或两种以上性质相同或不相同的工作。 只要时间上 互相重叠,就存在并行性。 同时性 两个或多个事件在同一时刻发生的并行性。 并发性 两个或多个事件在同一时间间隔内发生的并行性。 字串位串 每次只对一个字的一位进行处理。这是最基本的串行处理方式。 字串位并 同时对一个字的全部位进行处理,不同字之间是串行的。 字并位串 同时对许多字的同一位(称为位片)进行处理。 全并行 同时对许多字的全部位或部分位进行处理。 指令内部并行 单条指令中各微操作之间的并行。 指令级并行 并行执行两条或两条以上的指令。 线程级并行 并行执行两个或两个以上的线程,通常是以一个进程内派生的多个线程为调度单位。 任务级或过程级并行 并行执行两个或两个以上的过程或任务(程序段) ,以子程序或进程为调度单元。 作业或程序级并行 并行执行两个或两个以上的作业或程序。 时间重叠 多个处理过程在时间上相互错开, 轮流使用同一套硬件设备的各个部分, 以加快硬件周转而 赢得速度。 资源重复 通过重复设置资源,尤其是硬件资源,大幅度提高计算机系统的性能。 资源共享 是一种软件方法,它使多个任务按一定时间顺序轮流使用同一套硬件设备。 同构型(对称型)多处理机 由多个同类型, 至少担负同等功能的处理机组成, 同时处理同一作业中能并行执行的多个任 务。 异构型(非对称型)多处理机 由多个不同类型,至少担负不同功能的处理机组成,按照作业要求的顺序,利用时间重叠原 理,依次对它们的多个任务进行加工,各自完成规定的功能动作。 分布处理系统 把若干台具有独立功能的处理机(或计算机)相互连接起来,在操作系统的全盘控制下,统 一协调地工作,而最少依赖集中的程序、数据或硬件。 耦合度 反映多机系统各机器之间物理连接的紧密程度和交互作用能力的强弱。 松散耦合 通过通道或通信线路实现计算机间互连, 共享某些外围设备, 机间的相互作用是在文件或数
吉林大学计算机系统结构题目整合第五章
第五章存储层次知识点汇总存储器层次结构、存储层次性能参数(平均每位价格、命中率、平均访存时间)、存储层次4个问题、CPU 访存地址分割、全相联映像、直接映像、组相联映像、查找方法、替换算法(随机、先进先出、最近最少使用法)、写直达法、写回法、按写分配、不按写分配、Cache性能分析、3C失效(强制失效、容量失效、冲突失效)、Victim Cache、伪相联映像Cache、硬件预取、编译器优化(数组合并、内外循环交换、循环融合、分块)、写缓冲合并、单字宽存储器、多字宽存储器、多体交叉存储器、存储体、虚拟存储器(页式、段式)、快表(TLB)简答题1.单级存储器的主要矛盾是什么?通常采取什么方法来解决?(知识点:多级存储器)答:主要矛盾:(1) 速度越快,每位价格就越高。
(2) 容量越大,每位价格就越低。
(3) 容量越大,速度越慢。
采取多级存储层次方法来解决。
2.“Cache-主存”和“主存-辅存”层次的主要区别是什么?(知识点:存储层次)3.在存储层次中应解决哪四个问题?(知识点:存储层次的四个问题)答:(1)映像规则:当把一个块调入高一层存储器时,可以放到哪些位置上。
(2)查找算法:当所要访问的块在高一层存储器中时,如何找到该块。
(3)替换算法:当发生失效时,应替换哪一块。
(4)写策略:当进行写访问时,应进行哪些操作。
4.地址映像方法有哪几种?它们各有什么优缺点?(知识点:地址映像)(1)全相联映像。
实现查找的机制复杂,代价高,速度慢。
Cache空间的利用率较高,块冲突概率较低,因而Cache的失效率也低。
(2)直接映像。
实现查找的机制简单,速度快。
Cache空间的利用率较低,块冲突概率较高,因而Cache 的失效率也高。
(3)组相联映像。
组相联是直接映像和全相联的一种折中。
5.Cache的3C失效是哪三种失效?针对每种失效给出一种降低失效率的方法。
(知识点:3C失效)答:强制性失效、容量失效、冲突失效。
计算机系统结构(高教版)张晨曦 习题答案 第五章
5.1 解释下列术语多级存储层次:由若干个采用不同实现技术的存储器构成的存储器系统,各存储器处在离CPU不同距离的层次上。
使得靠近CPU的存储器速度较快,容量较小。
整个存储系统的速度接近与离CPU最近的存储器的速度,而容量和每位价格接近于最低层次的容量和价格。
全相联映像:指主存中的任一块可以被放置到Cache中的任意一个位置。
直接映像:指主存中的每一块只能被放置到Cache中唯一的一个位置。
组相联映像:指主存中的每一块可以被放置到Cache中固定的一个组中的任意位置。
替换算法:由于主存中的块比Cache中的块多,所以当要从主存中调入一个块到Cache中时,会出现该块所映像的Cache块位置已经被占用的情况。
替换算法即解决如何选择替换块的问题。
LRU:最近最少使用法。
选择近期最少被访问的块作为被替换的块。
写直达法:在执行“写”操作时,不仅把信息写入Cache中相应的块,而且也写入下一级存储器中相应的块。
写回法:只把信息写入Cache中相应的块,该块只有在被替换时才被写回主存。
按写分配法:在写失效时,先把所写单元所在的块从主存调入Cache,然后再进行写入。
不按写分配法:写失效时,直接写入下一级存储器而不将相应的块调入Cache。
命中时间:CPU所要访问的块在Cache中,确认并取走所花费的时间开销。
失效率:CPU一次访存不命中的概率。
失效开销:CPU一次访存不命中,而额外增加的访存开销。
强制性失效:当第一次访问一个块时,该块不在Cache中,需从下一级存储器中调入Cache。
容量失效:如果程序执行执行时所需的块不能全部调入Cache中,则当某些快被替换后,若又重新被访问,就会发生失效。
冲突失效:在组相联或直接映像Cache中,若不多的块映像到同一组中,则会出现该组中某个块被别的块替换,然后又重新被访问的情况。
2:1 Cache经验规则:大小为N的直接映像Cache的失效率约等于大小为N/2的2路组相联Cache的失效率。
第5章-计算机系统结构(第五版)李学干
第5章 标量处理机
图 5 - 11 B一次相关与二次相关
第5章 标量处理机
由图5 - 11可见,B二次相关时,只需推后“分析k+2”的 始点到“执行k”送入通用寄存器的运算结果能在“分析k+2” 开始时出现于通用寄存器输出总线上即可,如图5 - 12(a)所 示。至于推后多少拍,这取决于通用寄存器组译码、读
如图5 - 20(b)所示。即使流水线每隔Δt0流入一条指令,也会
因来不及处理被堆积于2段,致使流水线仍只能每隔 3Δt0才流出一条指令。
第5章 标量处理机
图 5 - 20 最大吞吐率取决于瓶颈段的时间
第5章 标量处理机
消除瓶颈的一种办法是将瓶颈子过程再细分。例如将2
段再细分成21、22、23三个子段,如图5-21(a)所示。让各子
同,如图5 - 23所示那样,则在T时间里,流水线各段的效率
都相同,均为η0,即
nΔt0 n 1 2 m 0 T m (n 1)
第5章 标量处理机
整个流水线的效率
1 2 m
m
m0 mnΔt0 0 m mT
式中,分母mT是时空图中m个段和流水总时间T所围成
第5章 标量处理机
图 5 - 3 一次重叠工作方式
第5章 标量处理机
(2) 要解决“分析”与“执行”操作的并行。 (3) 要解决“分析”与“执行”操作控制上的同步。 (4) 要解决指令间各种相关的处理。 图5 - 4示意出条件转移时第k条指令和第k+1条指令的时
间关系。
第5章 标量处理机
图 5 - 4 第k条指令和第k+1条指令的时间关系
由于运算结果是在“执行”周期的末尾才送入通用寄存
计算机系统结构多媒体教程课件_第五章 多处理机系统2
2013-8-31 4
一、问题由来
• 当每个处理机都有自己专用的cache时, 系统效率提高,但产生cache不一致问题。
2013-8-31
5
1、共享可写数据引起的不一致
2013-8-31
6
2、进程迁移引起数据不一致
2013-8-31
7
2、进程迁移引起数据不一致
• P1、p2都有共享数据X拷贝,p2修改了X,并 采用写通过策略,同时修改内存中的X。当该 进程迁移到P1上,这时P1中仍然是X。
目录表法: (非总线结构)
主存设置目录表〈数据块地址,指示器、标志 位〉,某PE写Cache时,通知指示器中的PE处理。
2013-8-31 13
5.3.4 多处理机系统的特点
1.结构灵活性 • 相比并行处理机的专用性,多处理机系 统是要把能并行处理的任务、数组,以 及标量都进行并行处理,有较强的通用 性。因此多处理机系统要能适应更多样 化的算法,具有更灵活的结构,以实现 各种复杂的机间互联模式。
2013-8-31 14
ห้องสมุดไป่ตู้
多处理机系统的特点(cont.)
2.程序并行性 • 在多处理机中,并行性存在于指令外部, 即表现在多任务之间。为充分发挥系统 通用性的优点,便要利用多种途径:算 法、程序语言、编译、操作系统以至指 令、硬件等,尽量挖掘各种潜在的并行 性。
计算机系统结构(第2版(课后习题答案
word 文档下载后可自由复制编辑你计算机系统结构清华第 2 版习题解答word 文档下载后可自由复制编辑1 目录1.1 第一章(P33)1.7-1.9 (透明性概念),1.12-1.18 (Amdahl定律),1.19、1.21 、1.24 (CPI/MIPS)1.2 第二章(P124)2.3 、2.5 、2.6 (浮点数性能),2.13 、2.15 (指令编码)1.3 第三章(P202)3.3 (存储层次性能), 3.5 (并行主存系统),3.15-3.15 加 1 题(堆栈模拟),3.19 中(3)(4)(6)(8)问(地址映象/ 替换算法-- 实存状况图)word 文档下载后可自由复制编辑1.4 第四章(P250)4.5 (中断屏蔽字表/中断过程示意图),4.8 (通道流量计算/通道时间图)1.5 第五章(P343)5.9 (流水线性能/ 时空图),5.15 (2种调度算法)1.6 第六章(P391)6.6 (向量流水时间计算),6.10 (Amdahl定律/MFLOPS)1.7 第七章(P446)7.3 、7.29(互连函数计算),7.6-7.14 (互连网性质),7.4 、7.5 、7.26(多级网寻径算法),word 文档下载后可自由复制编辑7.27 (寻径/ 选播算法)1.8 第八章(P498)8.12 ( SISD/SIMD 算法)1.9 第九章(P562)9.18 ( SISD/多功能部件/SIMD/MIMD 算法)(注:每章可选1-2 个主要知识点,每个知识点可只选 1 题。
有下划线者为推荐的主要知识点。
)word 文档 下载后可自由复制编辑2 例 , 习题2.1 第一章 (P33)例 1.1,p10假设将某系统的某一部件的处理速度加快到 10倍 ,但该部件的原处理时间仅为整个运行时间的40%,则采用加快措施后能使整个系统的性能提高多少?解:由题意可知: Fe=0.4, Se=10,根据 Amdahl 定律S n To T n1 (1Fe )S n 1 10.6 0.4100.64 Fe Se 1.56word 文档 下载后可自由复制编辑例 1.2,p10采用哪种实现技术来求浮点数平方根 FPSQR 的操作对系统的性能影响较大。
计算机体系结构知识点汇总
计算机体系结构知识点汇总(总20页)-CAL-FENGHAI.-(YICAI)-Company One1-CAL-本页仅作为文档封面,使用请直接删除第一章计算机体系结构的基本概念1.计算机系统结构的经典定义程序员所看到的计算机属性,即概念性结构与功能特性。
(计算机组成:指计算机系统结构的逻辑实现。
计算机实现:计算机组成的物理实现)2.计算机系统的多级层次结构:1.虚拟机:应用语言机器->高级语言机器->汇编语言机器->操作系统机器2.物理机:传统机器语言机器->微程序机器3.透明性:在计算机技术中,把这种本来存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性。
4.编译:先用转换程序把高一级机器上的程序转换为低一级机器上等效的程序5.解释:对于高一级机器上的程序中的每一条语句或指令,都转去执行低一级机器上的一段等效程序。
6.常见的计算机系统结构分类法有两种:Flynn分类法、冯氏分类法(按系统并行度)进行分类。
Flynn分类法把计算机系统的结构分为4类:单指令流单数据流(SISD)单指令流多数据流(SIMD)多指令流单数据流(MISD)多指令流多数据流(MIMD)IS指令流,DS数据流,CS(控制流),CU(控制部件),PU(处理部件),MM,SM(表示存储器)7.计算机设计的定量原理:1.大概率事件优先原理(分配更多资源,达到更高性能)2.Amdahl定理:加速比:(Fe为可改进比例(可改进部分的执行时间/总的执行时间),Se为部件加速比(改进前/改进后)3.程序的局部性原理:时间局部性:程序即将使用的信息很可能是目前使用的信息。
空间局部性:即将用到的信息可能与目前用到的信息在空间上相邻或相近。
4.CPU性能公式:1.时钟周期时间2.CPI:CPI = 执行程序所需的时钟周期数/IC3.IC(程序所执行的指令条数)8.并行性:计算机系统在同一时刻或者同一时间间隔内进行多种运算或操作。
计算机体系结构第5章_并行处理技术
第5章 并行处理技术
3.累加和并行算法
对于累加和这样的递归操作,为了加快并行计算,常采用递归折叠方法。
一般而言,对于在P个处理单元上实现P个元素累加求和,需要折叠 log2 P 次,并行相加 log2 P 次,并行传送数据的次数根据各PE间互连网络的拓扑结构 不同而有很大差异。设加法1次所需的时间为t加,并行相加的总次数为n,数据 在两个相邻处理单元之间传送一次所需的时间为t传,并行传送数据的总次数为 x,则并行处理所需的总的时间为:nt加+ xt传 。
在设计互连网络时应考虑以下的四个特征: 1.通信工作方式 通信工作方式可分为同步和异步两种。 2.控制策略 控制策略分为集中和分散两种。 3.交换方式 交换方式分为线路交换和分组交换两种。 4.网络拓扑 网络拓扑分为静态和动态两种。
第5章 并行处理技术
5.3.2 互连函数的表示 互连函数----互连函数描述的是各处理单元之间或处理单元与共享主存
(1)若处理单元的个数P<n2
第5章 并行处理技术
第5章 并行处理技术
下面分析这种并行算法的计算时间和通信时间。 ①计算时间 用Pij计算Cij时,需要对(n/m×n/m)阶子矩阵中的每个元素cij进行n次乘法 和n次加法 ,故Pij的运行时间为: n/m×n/m×n×(t乘+t加)=n3/m2×(t乘+t加)
(3)∵ t乘、t加和tw 均为一个指令周期,ts忽略不计,n=64,m=8 ∴ 整个矩阵乘算法所需的总的运行时间为: TP =n3/m2×(t乘+t加)+ 2(mts + n2/m×tw) =643/82×(1+1)+2(0+642/8×1) =9216(指令周期)
第5章 并行处理技术
计算机系统结构课件:第五章 并行处理技术
并行处理技术发展
时间重叠
先行控制 高速缓存
指令操作 宏流水线
异构型多处理机系 统
高级语言数据库处 理机
松散耦合系统、专用外 围处理机
功能专用化
计算机系统结构
Computer Architecture
第五章 并行处理机和多处理机
并行处理中需研究的课题:
(1)在处理机数目很多的情况下,要把任何一个问题分成足够多的并行 过程(即任务分配)非常困难,并且也不是所有问题都能做到这一点。
第五章 并行处理机和多处理机
时延(TC )——机器各子系统间通信开销的时间量度。如:存贮时延 是处理机访问存贮器所需时间;同步时延是两台处理机互相同步所需的 时间。
通信时延问题:计算机中不同的时延是由机器内部系统结构,实现技术和 通信方式决定。系统结构和实现技术将会影响子系统间容许时延的选择。 可以用平衡粒度和时延的办法来求得较好的计算机系统性能。
分布存贮器阵列处理机结构
CU CUM
SC
I/O
D
接口
PEM0 PEM1
PE0
PE1
ICN
PEMN-1 PEN-1
计算机系统结构
Computer Architecture
第五章 并行处理机和多处理机
ILLIAC-IV 结构 (分布存贮器并行处理机结构)
•处理单元阵列
由64个结构完全相同的处理单元PEi 构成,每个处理单元PEi字长 64位,PEMi为隶属于PEi的局部存储器,每个存储器有2K字,全部 PEi由CU统一管理,PEi都有一根方式位线,用来向CU传送每个PEi 的方式寄存器D中的方式位,使CU能了解各PEi的状态是否活动,作 为控制它们工作的依据。
第5章-计算机系统结构(第五版)李学干
时供运算用。这样,“执行k”与“分析k+1”访问通用寄存器
组的时间关系如图5 - 9所示。
第5章 标量处理机
图5-9
“执行k”、“分析k+1”重叠时,访问通用寄存器组 的时间关系
第5章 标量处理机
如果在运算器的输出到B或C输入之间增设“相关专用通 路”,如图5 - 10 所示,则在发生L1或L2相关时,接通相应 的相关专用通路,“执行k”时就可以在将运算结果送入通用
出机构的具体逻辑组成。而对B一次相关,则除此之外,还
需再推后一个“执行”周期,如图5 - 12(b)所示。 由于B相关的概率并不是很低,增设B相关专用通路是值
得的,办法如图5 - 13所示。
第5章 标量处理机
图 5 – 12 B (a) B二次相关的推后处理; (b) B一次相关的推后处理
第5章 标量处理机
图 5 - 13
B相关专用通路法
第5章 标量处理机
5.2 流 水 方
5.2.1
1. “分析k+1”与“执行k”的一次重叠是把指令的解释过 程分解成“分析”与“执行”两个子过程,在独立的分析部 件和执行部件上时间重叠地进行。若“分析”与“执行”子 过程都需要Δt1的时间,如图5 - 14所示,则一条指令的解释
间关系。
第5章 标量处理机
图 5 - 4 第k条指令和第k+1条指令的时间关系
第5章 标量处理机
5.1.2
1.
当第k条指令是条件转移且转移成功时,传统做法与延 迟转移做法的比较如图5 - 5所示。
第5章 标量处理机
图 5 - 5 当第k条指令是条件转移且转移成功时, (a) 条件转移成功时成了顺序解释; (b) 采用延迟转移,条件转移成功时,仍保持重叠
计算机系统结构第1-8章部分作业答案
第一章1.6 某台主频为400MHz 的计算机执行标准测试程序,程序中指令类型、执行数量和平均时钟周期数如下:求该计算机的有效CPI 、MIPS 和程序执行时间。
解:(1)CPI =(45000×1+75000×2+8000×4+1500×2) / 129500=1.776 (或259460) (2)MIPS 速率=f/ CPI =400/1.776 =225.225MIPS (或2595180MIPS) (3)程序执行时间= (45000×1+75000×2+8000×4+1500×2)/400=575μs1.9 假设某应用程序中有4类操作,通过改进,各操作获得不同的性能提高。
具体数据(1)改进后,各类操作的加速比分别是多少?(2)各类操作单独改进后,程序获得的加速比分别是多少? (3)4类操作均改进后,整个程序的加速比是多少? 解:根据Amdahl 定律SeFeFe S n +-=)1(1可得4类操作均改进后,整个程序的加速比:2.16)1(1≈+-=∑∑iii n S F F S1.10 第二章变长编码,哈夫曼编码第三章3.12 有一条指令流水线如下所示:(1)求连续输入10条指令的情况下,该流水线的实际吞吐率和效率。
(2)该流水线的瓶颈在哪一段?请采用两种不同的措施消除此瓶颈。
对于你所给出的两种新的流水线,连续输入10条指令时,其实际吞吐率和效率各是多少? 解:(1)本题主要考察对各功能段用时不等的线性流水线的性能计算公式的掌握情况。
2200(ns)2009200)10050(50t n t T maxki i =⨯++++=∆-+∆=∑=)1(1流水 )(ns 2201T nTP 1-==流水45.45%1154400TP ktTP E k1i i≈=⋅=∆⋅=∑= 注意:对于公式不能死记硬背,需要充分理解,注意公式的适用条件。
计算机体系结构----第五章
采用先行控制方式时一个程序的执行情况:
指令地址 „„ k-i-1 k-i „„ k-1 k k+1 „„ k+j k+j+1 „„ k+j+n k+j+n+1 k+j+n+2 „„ k+j+n+m k+j+n+m+1 „„ 指令执行情况 已经执行完成的指令 在后行写数栈中等待把结果写到主存储器中的指令 正在指令执行部件中执行的指令 已经由指令分析器预处理完成,存放在先行操作栈中的 RR*型指令,指令所需要的操作数已经读到先行读数栈中 已经由指令分析器预处理完成, 存放在先行操作栈中, 指 令所需要的操作数还没有读到先行读数栈中 正在指令分析器中进行分析和预处理的指令 已经从主存储器中预取到先行指令缓冲栈中的指令 还没有进入处理机的指令
(2)先行操作栈 指令分析器对已经存放在先行指令缓冲栈里的指令进 行预处理,把处理之后的指令送入先行操作栈。 处于指令分析器和运算控制器之间,使指令分析器和 运算器能够各自独立工作。
对于无条件转移及条件转移指令等程序控制指令,一般在 指令分析器中就能直接执行 各种运算型指令、移位指令、数据传送指令等都要先处理 成RR型指令,送入先行操作栈 经过指令分析器预处理之后送到先行操作栈中等待运算器 执行的指令就都变成了统一格式的RR型指令 执行这种指令所需的操作数都存放在通用寄存器或先行读 数栈中
2.解决访存冲突的方法: (1)两个独立的存储器:指令存储器和数据存储器。 如果再规定,执行指令阶段产生的运算结果只写到 通用寄存器,则取指令、分析指令和执行指令就可 以同时进行。 许多高性能计算机具有独立的指令Cache和数据 Cache结构,称为哈佛结构。 (2)采用低位交叉存取方式: 这种方法不能根本解决冲突问题。
计算机组织与系统结构第五章习题答案
第 5 章习题答案3.假定某计算机中有一条转移指令,采用相对寻址方式,共占两个字节,第一字节是操作码,第二字节是相对位移量(用补码表示),CPU每次从内存只能取一个字节。
假设执行到某转移指令时PC的内容为200,执行该转移指令后要求转移到100开始的一段程序执行,则该转移指令第二字节的内容应该是多少?参考答案:因为执行到该转移指令时PC为200,所以说明该转移指令存放在200单元开始的两个字节中。
因为CPU每次从内存只能取一个字节,所以每次取一个字节后PC应该加1。
该转移指令的执行过程为:取200单元中的指令操作码并译码→PC+1→取201单元的相对位移量→PC+1→计算转移目标地址。
假设该转移指令第二字节为Offset,则100=200+2+Offset,即Offset = 100–202 = –102 = 10011010B(注:没有说定长指令字,所以不一定是每条指令占2个字节。
)4.假设地址为1200H的内存单元中的内容为12FCH,地址为12FCH的内存单元的内容为38B8H,而38B8H单元的内容为88F9H。
说明以下各情况下操作数的有效地址和操作数各是多少?(1)操作数采用变址寻址,变址寄存器的内容为12,指令中给出的形式地址为1200H。
(2)操作数采用一次间接寻址,指令中给出的地址码为1200H。
(3)操作数采用寄存器间接寻址,指令中给出的寄存器编号为8,8号寄存器的内容为1200H。
参考答案:(1)有效地址EA=000CH+1200H=120CH,操作数未知。
(2)有效地址EA=(1200H)=12FCH,操作数为38B8H。
(3)有效地址EA=1200H,操作数为12FCH。
5.通过查资料了解Intel 80x86微处理器和MIPS处理器中各自提供了哪些加法指令,说明每条加法指令的汇编形式、指令格式和功能,并比较加、减运算指令在这两种指令系统中不同的设计方式,包括不同的溢出处理方式。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
20/64
5.4 动态分支预测技术
当前取指令的地址 PC 相联查找 分支目标地址 P0 P1
1. BTB的结构
成功的分支指令地址 A0 A1
…
Ak-1
…
Pk-1
有匹配的? 有
无
认为本指令不是分支指令, 按普通指令正常执行。
认为该指令是成功的分支指令,用预测的 分支目标地址作为下一条指令的 PC 值。
IS
检测结构冲突
RO
检测数据冲突
11/64
5.3 指令的动态调度
4. 在前述5段流水线中,是不会发生WAR冲突和WAW冲突 的。但乱序执行就使得它们可能发生了。
例如,考虑下面的代码
DIV.D F10, F0, F2
ADD.D
存在反相关 SUB.D
F10, F4, F6
F6, F8, F14
存在输出相关
计算机系统结构
Computer Architecture
主讲人:童薇
计算机学院
武汉光电国家实验室信息存储部 tong wei@ QQ群:528085030
1/64
指令级并行:指指令之间存在的一种并行性,利
用它,计算机可以并行执行两条或两条以上的指
令。
(ILP:Instruction-Level Parallelism)
指令的执行顺序与程序顺序不相同
指令的完成也是乱序完成的
即指令的完成顺序与程序顺序不相同。
10/64
5.3 指令的动态调度
3. 为了支持乱序执行,将5段流水线的译码阶段再分为 两个阶段: 流出(Issue,IS):指令译码,检查是否存在 结构冲突。 (in-order issue) 读操作数(Read Operands,RO):等待数据冲 突消失,然后读操作数。 (out of order execution)
在典型的超标量处理器中,每个时钟周期可流出1
到8条指令。
指令按序流出,在流出时进行冲突检测。
由硬件检测当前流出的指令之间是否存在冲突以及当
前流出的指令与正在执行的指令是否有冲突。
举例:一个4-流出的静态调度超标量处理机
在取指令阶段,流水线将从取指令部件收到1~4条
指令(称为流出包)。
在一个时钟周期内,这些指令有可能是全部都能流出, 也可能是只有一部分能流出。
5.4 动态分支预测技术
5.4.2 采用分支目标缓冲器BTB
目标:将分支的开销降为 0 方法:分支目标缓冲
将分支成功的分支指令的地址和它的分支目标地
址都放到一个缓冲区中保存起来,缓冲区以分支
指令的地址作为标识。
这个缓冲区就是分支目标缓冲器(Branch-
Target Buffer,简记为BTB,或者分支目标
预测的准确性 预测正确和不正确两种情况下的分支开销
决定分支开销的因素:
流水线的结构 预测的方法 预测错误时的恢复策略等
15/64
5.4 动态分支预测技术
5. 采用动态分支预测技术的目的
预测分支是否成功 尽快找到分支目标地址(或指令)
6. 需要解决的关键问题
如何记录分支的历史信息,要记录哪些信息?
12/64
5.3 指令的动态调度
5. 动态调度的流水线支持多条指令同时处于执行当中。
要求:具有多个功能部件、或者功能部件流水化、
或者兼而有之。
我们假设具有多个功能部件。
记分牌算法和Tomasulo算法(自学)
13/64
5.4 动态分支预测技术
所开发的ILP越多,控制相关的制约就越大,分支预
成功分支指令?
是
以 BTB 的第二字段作为 分支目标地址送给 PC 否 是
当前分支成功?
分支预测错误,清除 将其 PC 值和分支 EX 段 目标地址写入 BTB 中,作为一个新项。 已取的指令,并从另 一个分支(即失败处) 取指令。从 BTB 中删 除相应的项。 分支预测正确, 继续执行后继指令, 不会出现停顿。 指令无
21/64
5.4 动态分支预测技术
用专门的硬件实现的一张表格。
表格中的每一项至少有两个字段:
执行过的成功分支指令的地址; 预测的分支目标地址。
2. 采用BTB后,在流水线各个阶段所进行的相关操作:
22/64
当前 PC 值 送存储器和 BTB
IF 段
否
BTB 中存在匹配的项?
是
否 ID 段 正常执行指令
带有前 带有前瞻的 瞻的动 乱序执行 态调度 流出包之间 没有冲突 相关性被编译 主要是 主要是 主要是 器显式地标记 静态 软件 静态 出来 静态 软件 静态
EPIC: Explicitly Parallel Instruction Computer
5.5 多指令流出技术
5.5.1 基于静态调度的多流出技术
理想CPI是衡量流水线最高性能的一个指标。 IPC:Instructions Per Cycle
(每个时钟周期完成的指令条数)
4/64
5.1 指令级并行的概念
3. 基本程序块
基本程序块:一串连续的代码除了入口和出口以
外,没有其他的分支指令和转入点 。
程序平均每4~7条指令就会有一个分支。
超长指令字VLIW(Very Long Instruction Word)
29/64
基本的多流出技术、特点以及实例
技 术 超标量 (静态) 超标量 (动态) 超标量 (猜测) VLIW /LIW EPIC 动态 硬件 流出 结构 动态 动态 冲突 检测 硬件 硬件 调 度 静态 动态 主要特点 按序执行 部分乱序执行 处理机实例 Sun UltraSPARCⅡ/Ⅲ IBM Power2 Pentium Ⅲ/4, MIPS R10K, Alpha 21264, HP PA 8500, IBM RS64Ⅲ Trimedia,i860 Itanium
测要有更高的准确度。
在n-流出的处理机中,遇到分支指令的可能性增
加了n倍。
要给处理器连续提供指令,就需要准确地预测分
支。
14/64
5.4 动态分支预测技术
动态分支预测:在程序运行时,根据分支指令过去的表 现来预测其将来的行为。
如果分支行为发生了变化,预测结果也跟着改变。
分支预测的有效性取决于:
6/64
5.3 指令的动态调度
静态调度
依靠编译器对代码进行静态调度,以减少相关和冲突。
它不是在程序执行的过程中、而是在编译期间进行代码 调度和优化。
通过把相关的指令拉开距离来减少可能产生的停顿。
动态调度
在程序的执行过程中,依靠专门硬件对代码进行调度,
减少数据相关导致的停顿。
7/64
5.3 指令的动态调度
5.3.1 动态调度的基本思想
1. 到目前为止,我们所使用流水线的最大的局限性:
指令是按序流出和按序执行的 考虑下面一段代码:
DIV.D ADD.D SUB.D F4,F0,F2 F10,F4,F6 F12,F6,F14
ADD.D指令与DIV.D指令关于F4相关,导致
18/64
5.4 动态分支预测技术
3. 采用两位二进制位来记录历史
提高预测的准确度
研究结果表明:两位分支预测的性能与n位(n>2)
分支预测的性能差不多。
两位分支预测的状态转换如下所示:
分支不成功 预测分支: 不成功 分支不成功 预测分支: 成功 分支成功 10 分支不成功
19/64
分支成功 00 分支不成功 分支成功 11 分支成功 01
…
Ak-1
…
Tk-1
…
Ik-1,0,Ik-1,1,„,Ik-1,n-1
26/64
5.5 多指令流出技术
在每个时钟周期内流出多条指令, CPI<1。
单流出和多流出处理机执行指令的时空图对比
27/64
5.5 多指令流出技术
多流出时空图 1 单流出时空图 1 I1 I2 I3 IF 2 ID IF 3 ID IF 4 5 6 7 时钟周期 EX MEM WB EX MEM B WB ID EX MEM WB B B 指令 I1 I2 I3 IF IF IF 2 ID ID ID IF IF IF 3 4 5 6 7 时钟周期 EX MEM WB EX MEM WB B EX MEM B WB ID ID ID IF IF IF 指令 EX MEM WB B EX MEM WB B EX MEM WB B ID ID ID EX MEM WB B EX MEM WB B EX MEM WB B B
单流出和多流出处理机执行指令的时空图
28/64
5.5 多指令流出技术
1. 多流出处理机有两种基本风格: 超标量(Superscalar)
在每个时钟周期流出的指令条数不固定,依代码的具 体情况而定。(有个上限) 设这个上限为n,就称该处理机为n-流出。 可以通过编译器进行静态调度,也可以使用硬件动态 调度。 在每个时钟周期流出的指令条数是固定的,这些指令 构成一条长指令或者一个指令包。 指令包中,指令之间的并行性是通过指令显式地表示 出来的。 指令调度是由编译器静态完成的。
4. 循环级并行:使一个循环中的不同循环体并行执行。
开发循环的不同叠代之间存在的并行性
最常见、最基本
5/64
5.1 指令级并行的概念
例如,考虑下述语句:
for (i=1; i<=500; i=i+1)
a[i]=a[i]+s;