高级计算机体系结构第2章2_第1页
高级计算机体系结构第2章2_第2页
高级计算机体系结构第2章2_第3页
高级计算机体系结构第2章2_第4页
高级计算机体系结构第2章2_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1(4)层次结构中存储器的组织--组成原理较关注*存储阵列空间管理:存储器有两种信息交换粒度,按较大交换粒度进行管理*组成:存储阵列、控制器、层次辅助管理机构(MU)………本层存储器上层存储器下层存储器比较器映射表DataCmdAddr(主存地址)命中存储阵列控制器不命中不命中处理回下页2

*层次存储器处理访问请求过程:转上页下层地址→本层地址命中?Y找到?读/写?写本层MEM数据到下层MEM(若改过)(与下层交换粒度)N读写上层请求完成上层请求到达腾出一个位置用下层地址查映射表找一空闲位置YN读下层MEM数据到本层MEM(与下层交换粒度)接收上层MEM数据到本层MEM(与上层交换粒度)发送本层MEM数据到上层MEM(与上层交换粒度)写本层MEM数据到下层MEM(与下层交换粒度)地址映像规则替换算法写策略查找方法地址变换规则3(5)层次结构中存储器的性能设计*提高命中率的设计:优化存储器结构、参数及访问处理过程

(见Cache部分性能优化方法)*实现技术的性能设计:选择较合适的地址映像及变换规则、查找算法、替换算法、写策略,并有效地实现*减小层间辅助开销的设计:优化存储器结构、访问处理过程及层次结构管理方法

(见Cache部分性能优化方法)

讨论—共享Cache的实现技术有无变化?4二、高速缓冲存储器

1、结构与工作原理*结构与组成:主要由存储阵列、目录表、控制器等组成*空间管理:按块进行管理,用目录表存放管理信息*访问过程:回下页主存地址(自处理机)地址映像及变换主存替换算法Cache阵列

主存块号块内地址主存地址块宽度去处理机数据总线字宽度成功还可装入已装不进访问主存访问主存替换Cache装入CacheCache块号

块内地址Cache地址失败字宽度成功回34页52、相关实现技术--组成原理关注的重点*地址映像及变换规则:直接映射、全相联、组相联*查找方法:快速按地址查找、按内容相联查找*替换算法:RAND、FIFO、LRU

*写策略:写命中策略—全写法、写回法、写一次法,

写丢失策略—不按写分配法、按写分配法转上页*降低失效率F方法:增加块大小、提高相联度、预取技术、设置Viticm-Cache*减少失效开销方法:读失效优先于写、子块放置、请求字处理、非阻塞Cache、两级Cache、旁侧式Cache技术*减少命中时间方法:小容量结构简单的Cache、写操作流水化、双独立总线(DIB)结构3、性能优化方法--系统结构关注的重点回46页64、与主存的一致性问题*不一致性的产生原因:①I/O设备(如DMA)绕过Cache直接对主存的I/O操作②不同CPU对各自Cache中主存数据副本的异步读/写操作*不一致性的解决方案:禁止法--共享数据禁止进入Cache,或允许进+禁止改;刷新法--操作后对共享数据进行刷新*刷新法的实现方法:--Cache控制器实现根据数据块状态、新操作类型采用一致性协议实现刷新一致性协议—有写作废和写更新两种类型主存CPUCacheCPUCacheDMAI/OnI/O1……7三、虚拟存储器

*虚拟存储器:程序执行时,MEM地址空间=程序地址空间的“存储器”称为虚拟存储器(VM)回下页转31页1、虚拟存储器组成*组成原理:由主存及辅存构成、按程序地址访问的存储层次CPU虚拟存储器虚存-辅存地址变换辅存*虚存实质:是面向程序的存储器模型,即面向程序的主存-辅存层次管理机构!CPU主存虚存-主存地址变换不成功处理虚拟存储器虚地址空间(程序空间)82、虚存的管理方式(1)段式存储管理*数据交换单位:虚存-主存间以程序段作为交换单位*管理信息:用段表指明程序各段在主存中的起始位置(2)页式存储管理*数据交换单位:虚存-主存间以逻辑页作为交换单位*管理信息:用页表指明程序各段在主存中的起始位置虚存页表主存实页号装入位属性

2111041逻辑页号

0123虚存段表段起始地址装入位段长属性

011K01K13K7K11K段号

0123(3)段页式存储管理先采用段式管理,再采用页式管理转上页93、相关实现技术*地址映像及变换:全相联映像*查找方法:按地址查找*替换算法:类LRU*更新策略:写回法(+按写分配法)4、性能优化方法*快速地址变换技术:原始方案—虚存管理表格太大→存放在主存中优化方案—增加页面大小、增设快表(TLB),快表与慢表并行查找(TLB可采用按内容相联查找)*变换失效优化处理:将变换失效视为异常,立即进行处理回下页10*页式虚拟存储器访问过程:转上页CPU核心缺页中断程序主存CPU辅存文件目录表(文件-辅存)文件内容虚-辅映射表快表TLB慢表(虚-主)虚存信息当前程序PCBI/O通道主存辅存虚拟地址

逻辑页号页内地址访问请求主存地址物理页号页内地址辅存地址磁盘机号柱面号磁头号块号虚存-辅存地址变换失败系统异常成功辅存实块号访问完成失败被替换页已改主存未满替换算法物理页号找空闲页主存已满缺页异常调入页虚存-主存地址变换(查TLB)成功虚存-主存地址变换(查慢表)成功中止失败115、虚存的保护*保护的种类:区域保护、访问保护(1)区域保护及实现

*保护方式:映像表保护、环保护、键保护*映像表保护:程序只能访问私有映像表对应的主存页/段

实现—系统映像表+私有映像表,更多区域信息类型*环式保护:程序分为不同层(环),外层不可直接访问内层

实现—程序的自身环号+各信息区域的访问所需环号*键保护:程序中信息区域设置锁,访问时需先得到钥匙

实现—硬件或OS负责传送钥匙(2)访问保护及实现

*保护方式:读(R)、写(W)、执行(E)*实现方法:程序各信息区域设置允许访问类型(在映像表中)12第三节标量流水技术一、标量流水基本原理

1、工作原理*原理:细化指令执行过程,使指令执行各子过程均可重叠,以提高指令执行速度12345nn+4拍(Δt)I1段(m)S5(如WB)S4(如EX)S3(如OF)S2(如ID)S1(如IF)I2I3I4I5说明:T指令=m*Δt,拍可为机器周期、节拍(TC)等大小I1I1I1I1I2I2I2I2I3I3I3I3I4I4I4I4I5I5I5I5InInInInIn……………填入流水排空*目标:完成任务时间与操作处理过程(m)无关;

只与提供操作的速度(1/Δt)有关回下页13*实现要求:

①各流水段的操作相互独立,以实现段间重叠

②各流水段的操作同步进行,以实现段间重叠

③结构、数据和控制方面的冒险解决,以提高性能

*流水线分类(属性):

按处理级别分—操作级,指令级,处理机级

按功能类型分—单功能,多功能

按工作方式分—静态,动态

按连接方式分—线性,非线性

按控制方式分—顺序流动,异步流动转上页142、性能分析(1)吞吐率单位时间内能处理的指令条数或输出结果的数量

*最大吞吐率:

*实际吞吐率:

处理方法1—细化瓶颈段(时长与其它段相同或相近)123a43b3cΔtΔtΔtΔtΔtΔt

*瓶颈段(△ti最大的段)的处理:1ΔtΔt3ΔtΔt234

处理方法2—并联设置多套部件,通过控制器调度1ΔtΔtΔt23b43a3c调度器3Δt15(2)加速比流水方式速度相对于串行方式速度的比值

当n>>m时,SP≈m

*提高加速比的方法:加大流水线深度m(3)效率流水线中设备的利用率

当n>>m时,E≈1

*提高效率的方法:增加流水线中任务数量n16(4)流水线最佳段数选择假设流水线各功能段总延迟为t,流水线共分m个段,段间同步锁存延迟为d;功能段总价格为a,每个锁存器价格为b。总价格:

C=a+bm

选择:对m求导,性能/价格PCR为极大值时m最佳PCRmm0吞吐率:性能/价格:17二、流水线冒险及处理1、结构冒险及处理(1)冒险类型

指流水线中同一部件或通路同时被不同指令使用的冲突现象01234567拍1段WBEXOFIDIF23…n123…n123…n123…n123…n(2)功能部件冲突的冒险处理

*方法①:重复设置部件(如设置地址ALU实现PC+1)

*方法②:推后使用部件(构成非线性流水线)

*选择依据:冲突概率、性能要求内部总线控制器指令队列总线接口BIU前端总线译码器寄存器组转移部件乘法器加法器L1Cache后端总线回下页同时访问REG或MEM产生冲突18(3)数据通路冲突的冒险处理

*方法①:采用多总线或专用通路,解决OF与WB

REG访问冲突转上页回下页

*方法②:L1$采用哈佛结构,降低IF与OF/WB访存冲突概率内部总线控制器指令队列总线接口BIU前端总线译码器寄存器组转移部件乘法器加法器L1Cache后端总线L2Cache主存地址ALU内部总线控制器指令队列总线接口BIU前端总线译码器L1D-Cache后端总线L1I-CacheL2Cache主存寄存器组转移部件乘法器加法器地址ALU19转上页转32页

*方法③:设置存储顺序缓冲器,降低OF与WB访存冲突概率

原理—改变通路(MOB暂存),错开时间(在L1-D$空闲时写)

(实现了“零等待写”)(实现了“读失效优先于写”)内部总线控制器指令队列总线接口BIU前端总线译码器L1D-Cache后端总线L1I-CacheL2Cache主存存储顺序缓冲器MOB寄存器组转移部件乘法器加法器预取流式缓冲器地址ALU

*方法④:设置预取流式缓冲器,降低I$与D$失效冲突严重性

*方法⑤:I$及D$串行访问主存,解决IF、OF及WB访存冲突(D$优先于I$)

*选择依据:指令集风格、性能要求,可多选、⑤必选202、数据冒险及处理

指不同指令因操作重叠,引起同一REG或MEM单元的访问次序被改变、导致结果错误的冲突现象

*方法②:转发法,流水段的结果可直接传到较早流水段(1)先写后读(RAW)冒险及处理

*方法①:后推法,冲突及后继指令暂停,直到冲突消除OF相关专用通路IDIFEXWB具有相关专用通路的流水线MUX

123456I1IFIDOFEXWBI2IFIDOFEXWB指令拍读R1写R1RAW相关示例回下页

1234567I1IFIDOFEXWBI2IFIDOFEXWBI3IFIDOFEXWBI拍读R1写R1

123456789I1IFIDOFEXWBI2IFIDOFEXWBI3IFIDOFEXWBI拍读R1写R121

*方法③:异步流动(乱序执行)法,后继无冲突指令先执行可能产生新的相关(2)先读后写(WAR)、写-写(WAW)冒险及处理

*冒险类型:WAR—上图中,Im所写与Ij所读为同一单元

WAW—上图中,Im所写与Ij所写为同一单元

*处理方法:动态调度方法,设置指令窗口、按序存放多条指令,先检测有无RAW、WAR、WAW相关,再决定执行顺序若有RAW相关6段流水线IhIiIjIkImInIhIiIjIkImInRAW相关自动消除转上页223、控制冒险及处理

指转移型指令引起的无法立即获得目标指令地址的冲突现象(1)控制相关处理方法

*方法①:冻结法,流水线取指段暂停n拍(n=分支指令时长-1)回下页

12345678顺序型I1:CMPR1,R2IFIDOFEXWB转移型I2:JNZTEST1IFIDOFEXWB**型Ix:???IF拍需要新PCPC←地址x指令*方法②:延迟分支法,延迟分支=分支指令+n个延迟槽,

延迟分支全部被执行,延迟槽中尽量为有效指令顺序指令I1~I5转移指令I6顺序指令I7~I9不采用延迟分支技术的目标代码顺序指令I1~I5中与I6相关的指令转移指令I6延迟槽(I1~I5中与I6无关的指令或空指令)顺序指令I7~I9采用延迟分支技术的目标代码23

※说明:延迟分支法、预测法通常不同时使用!(2)动态预测法的实现

*转移历史保存方法:增设转移目标缓冲器BTB保存信息,BTB通常由小容量Cache构成转上页回下页0******

1aaxyee…

有效位转移指令地址历史位转移目标地址…

…*方法③:预测法,预测转移方向、执行该方向指令,

猜错时回头重新执行另一方向指令

静态预测—根据指令类型及寻址方式预测转移方向

动态预测—根据指令执行的转移历史预测转移方向应用—首次执行时用静态预测法,其余用动态预测法24

*动态预测实现原理:①IF段,用当前PC查BTB,命中时预测PC,否则PC←PC+1转上页回下页取指(IF)不命中置PC查BTB当前PC命中预测转移(PC=ee)预测不转移(PC=PC+1)转移历史动态预测预测不转移(PC=PC+1)控制流

②ID段,对不命中的分支指令,重新预测,IF段预测错误时,进行误预测处理(含置PC)静态预测译码(ID)误预测处理IF预测错IF预测对(PC=反方向)分支指令顺序指令25

③执行后,根据执行的实际转移方向更新转移历史转上页回下页

*静态预测算法:下表为Pentium采用相对PC寻址方式非相对PC寻址方式预测转移转移地址比PC小指令CALL/RET类型指令预测不转移转

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论