版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
WilliamStallings
ComputerOrganization
andArchitecture
5thEditionChapter13InstructionLevelParallelismandSuperscalarProcessors淘寶刷信譽(yù)WhatisSuperscalar?Thetermsuperscalarreferstoamachinethatdesignedtoimprovetheperformanceoftheexecutionofscalarinstructions.Therearemultipleindependentinstructionpipelinesinasuperscalarprocessor.Eachpipelineconsistsofmultiplestages,canhandlemultipleinstructionsatatime.Multiplepipelinesintroduceanewlevelofparallelism,enablingmultiplestreamsofinstructionstobeprocessedatatime.WhatisSuperscalar?AsuperscalarprocessorfetchesmultipleinstructionsatatimeAttemptstofindnearbyinstructionsthatareindependentofoneanotherandcanbeexecutedinparallel.Theessenceofthesuperscalarapproachistheabilitytoexecuteinstructionsindependentlyindifferentpipelines.WhatisSuperscalar?Commoninstructions(arithmetic,load/store,conditionalbranch)canbeinitiatedandexecutedindependentlyinasuperscalarprocessorEquallyapplicabletoRISC&CISCInpracticeusuallyRISCWhySuperscalar?Mostoperationsareonscalarquantities(seeRISCnotes)ImprovetheseoperationstogetanoverallimprovementGeneralSuperscalarOrganizationTwointeger,twofloating-point,andonememory(eitherloadorstore)operationscanbeexecutingatthesametime.SuperpipelinedManypipelinestagesneedlessthanhalfaclockcycleDoubleinternalclockspeedgetstwotasksperexternalclockcycleSuperscalarv
SuperpipelineSuperscalarvSuperpipelineBasemachineSuperscalarvSuperpipelineSuperpipelineSuperscalarvSuperpipelineSuperscalarLimitationsInstructionlevelparallelismCompilerbasedoptimisationHardwaretechniquesLimitedbyTruedatadependency 數(shù)據(jù)相關(guān)Proceduraldependency 過(guò)程相關(guān)Resourceconflicts 資源沖突Outputdependency 輸出相關(guān)Antidependency 反相關(guān)TrueDataDependencyADDr1,r2(r1:=r1+r2;)MOVEr3,r1(r3:=r1;)CanfetchanddecodesecondinstructioninparallelwithfirstCanNOTexecutesecondinstructionuntilfirstisfinishedAlsocalledflowdependency
orwrite-readdependencyTrueDataDependencyProceduralDependencyCannotexecuteinstructionsafterabranchinparallelwithinstructionsbeforeabranchAlso,ifinstructionlengthisnotfixed,instructionshavetobedecodedtofindouthowmanyfetchesareneededThispreventssimultaneousfetchesProceduralDependencyResourceConflictResourcesMemories,caches,buses,register-file,ports,functionalunitsTwoormoreinstructionsrequiringaccesstothesameresourceatthesametimee.g.twoarithmeticinstructionsCanduplicateresourcese.g.havetwoarithmeticunitsResourceConflictEffectof
DependenciesDesignIssuesInstructionlevelparallelismInstructionsinasequenceareindependentExecutioncanbeoverlappedGovernedbydataandproceduraldependencyMachineParallelismAbilitytotakeadvantageofinstructionlevelparallelism處理器提供指令級(jí)并行性支持能力的度量GovernedbynumberofparallelpipelinesE.g.LoadR1R2(23) AddR3R3,”1”AddR3R3,”1” AddR4R3,R2AddR4R4,R2 Store[R4]R0InstructionIssuePolicy(指令發(fā)射策略)Orderinwhichinstructionsarefetched取指令的順序Orderinwhichinstructionsareexecuted指令執(zhí)行的順序Orderinwhichinstructionschangeregistersandmemory指令改變寄存器和存儲(chǔ)器內(nèi)容的順序In-OrderIssue
In-OrderCompletionIssueinstructionsintheordertheyoccurNotveryefficientMayfetch>1instructionInstructionsmuststallifnecessaryIn-OrderIssueIn-OrderCompletion(Diagram)In-OrderIssue
Out-of-OrderCompletionOutputdependencyR3:=R3+R5;(I1)R4:=R3+1;(I2)R3:=R5+1;(I3)I2dependsonresultofI1-datadependencyIfI3completesbeforeI1,theresultfromI1willbewrong-output(read-write)dependencyIn-OrderIssueOut-of-OrderCompletion(Diagram)Out-of-OrderIssue
Out-of-OrderCompletionDecoupledecodepipelinefromexecutionpipelineCancontinuetofetchanddecodeuntilthispipelineisfullWhenafunctionalunitbecomesavailableaninstructioncanbeexecutedSinceinstructionshavebeendecoded,processorcanlookaheadOut-of-OrderIssueOut-of-OrderCompletion(Diagram)AntidependencyWrite-writedependencyR3:=R3+R5;(I1)R4:=R3+1;(I2)R3:=R5+1;(I3)R7:=R3+R4;(I4)I3cannotcompletebeforeI2startsasI2needsavalueinR3andI3changesR3RegisterRenamingOutputandantidependenciesoccurbecauseregistercontentsmaynotreflectthecorrectorderingfromtheprogramMayresultinapipelinestallRegistersallocateddynamicallyi.e.registersarenotspecificallynamedRegisterRenamingexampleRegisterrenamingR3b:=R3a+R5a(I1)R4b:=R3b+1(I2)R3c:=R5a+1(I3)R7b:=R3c+R4b(I4)WithoutsubscriptreferstologicalregisterininstructionWithsubscriptishardwareregisterallocatedNoteR3aR3bR3cMachineParallelismThreehardwaretechniquesDuplicationofResourcesOutoforderissueRenamingFigure13.5showssimulationresultsNotworthduplicationfunctionswithoutregisterrenamingRegisterrenamingeliminatesantidependenciesandoutputdependenciesNeedinstructionwindowlargeenough(morethan8)BranchPrediction80486fetchesbothnextsequentialinstructionafterbranchandbranchtargetinstructionGivestwocycledelayifbranchtakenRISC-DelayedBranchCalculateresultofbranchbeforeunusableinstructionspre-fetchedAlwaysexecutesingleinstructionimmediatelyfollowingbranchKeepspipelinefullwhilefetchingnewinstructionstreamNotasgoodforsuperscalarMultipleinstructionsneedtoexecuteindelayslotInstructiondependenceproblemsReverttobranchpredictionSuperscalarExecutionSuperscalarImplementationSimultaneouslyfetchmultipleinstructionsLogictodeterminetruedependenciesinvolvingregistervaluesMechanismstocommunicatethesevaluesMechanismstoinitiatemultipleinstructionsinparallelResourcesforparallelexecutionofmultipleinstructionsMechanismsforcommittingprocessstateincorrectorderPentium480486-CISCPentium–somesuperscalarcomponentsTwoseparateintegerexecutionunitsPentiumPro–FullblownsuperscalarSubsequentmodelsrefine&enhancesuperscalardesignPentium4BlockDiagramPentium4OperationFetchinstructionsformmemoryinorderofstaticprogramTranslateinstructionintooneormorefixedlengthRISCinstructions(micro-operations)Executemicro-opsonsuperscalarpipelinemicro-opsmaybeexecutedoutoforderCommitresultsofmi
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年安全培訓(xùn)試題及答案【奪冠】
- ??诤┦┕し桨?3篇)
- 健康食品加工項(xiàng)目申請(qǐng)報(bào)告
- 鐵路專用線項(xiàng)目投資計(jì)劃書
- 安裝堵洞施工方案(3篇)
- 水壩-草皮施工方案(3篇)
- 突發(fā)公共衛(wèi)生事件應(yīng)急處理方案
- 航空制造產(chǎn)業(yè)園項(xiàng)目投資計(jì)劃書
- 邵東站施工方案(3篇)
- 淮安布線施工方案(3篇)
- (正式版)DB65∕T 4636-2022 《電動(dòng)汽車充電站(樁)建設(shè)技術(shù)規(guī)范》
- 胸痛患者轉(zhuǎn)運(yùn)課件
- 某城區(qū)城市交通優(yōu)化提升規(guī)劃設(shè)計(jì)方案
- 職業(yè)病安全知識(shí)培訓(xùn)課件
- 隨班就讀教學(xué)活動(dòng)方案設(shè)計(jì)案例
- 設(shè)備租賃方案(3篇)
- T/CCS 034-2023煤礦綜采工作面智能化防滅火系統(tǒng)技術(shù)要求
- 曲臂高空作業(yè)車施工方案
- 運(yùn)動(dòng)系統(tǒng)疾病試題及答案
- 稻谷銷售收購(gòu)合同協(xié)議
- 體育健康課室內(nèi)課課件
評(píng)論
0/150
提交評(píng)論