版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ComputerOrganization&ArchitectureChapter11
InstructionSets:AddressingModesandFormats11.1AddressingtypesDef.:amethodtodeterminethedataaddressinthecurrentinstructionornextinstructionaddressDependsonCPUhardwareandaffectsinstructionformatandfunctionTwotypesInstructionaddressingSequenceaddressingJumpaddressingDataaddressingAddressingModesImmediateDirectIndirectRegisterimplicitRegisterIndirectDisplacement(Indexed)StackImmediateAddressingOperandispartofinstruction,Operand=addresse.g.ADD5Add5tocontentsofaccumulator5isoperandWhenitisloadedintoadataregister,thesignbitisextendedtothelefttofulfilldatawordsizeThesimplestaddressingmode,noneedtoaccessmemoryorcacheFastLimitedrangeApplications:DefineanduseconstantsSetinitialvaluesofvariable
ImmediateAddressingDiagrammodeDirectAddressingAddressfieldcontainseffectiveaddressofoperandEffectiveaddress(EA)=addressfield(A)e.g.MOVA,[1070H]Movethecontentofaddress1070HtoA1070Hisamemoryaddress.SinglememoryreferencetoaccessdataNoadditionalcalculationstoworkouteffectiveaddressLimitedaddressspace
DirectAddressingDiagramImplicitAddressingTheaddressofoperandisnotexplicitlypresented,ithidesintheopcodeoraspecialregister,suchasACADD5IndirectAddressingMemorycellpointedtobyaddressfieldcontainstheaddressof(pointerto)theoperandEA=(A)LookinA,findaddress(A)andlookthereforoperande.g.load(A)loadthecontentoftheaddressthatthecontentofmemoryaddressApointtoaccumulatorAC.Largeaddressspace2nwheren=wordlengthMaybenested,multilevel,cascadede.g.EA=(((A)))NogainsDrawthediagramyourselfMultiplememoryaccessestofindoperandHenceslowerIndirectAddressingDiagramRegisterAddressingOperandisheldinregisternamedinaddressfiledEA=RLimitednumberofregistersVerysmalladdressfield:3~4bitsShorterinstructionsFasterinstructionfetchNomemoryaccessVeryfastexecutionVerylimitedaddressspaceProgrammerdecideswhichvaluesshouldremaininregistersandwhichshouldbestoredinmainmemoryForthevariablesusedfrequently,you’dbetterdefinethemasregistervariable.E.g.registerint
i,j;RegisterAddressingDiagramRegisterIndirectAddressingSimilartoindirectaddressing(addressinregister)EA=(R)OperandisinmemorycellpointedtobycontentsofregisterRLargeaddressspace(2n)OnefewermemoryaccessthanindirectaddressingRegisterIndirectAddressingDiagramDisplacementAddressingAverypowerfulmodeofaddressingdirectaddress+registerindirectaddressingEA=A+(R)AddressfieldholdtwovaluesA=basevalueR=registerthatholdsdisplacementorviceversa
DisplacementAddressingDiagramTheMostCommonUsesofDisplacementAddressRelativeAddressingBase-registerAddressing
IndexingRelativeAddressingAversionofdisplacementaddressingR=Programcounter,PCEA=A+(PC)Aisdisplacement,treatedascomplementTheeffectiveaddressisadisplacementrelativetotheaddressofcurrentinstructioni.e.getoperandfromAcellsfromcurrentlocationpointedtobyPCUsedforjumpBase-RegisterAddressingEA=A+(R)AholdsdisplacementRholdsbaseaddressRmaybeexplicitorimplicite.g.segmentregistersin80x86UsedforaddresstransformbyOSIndexedAddressingA=baseR=displacementEA=A+RGoodforaccessingarraysorloopprogrammingEA=A+RR++Directaddressingvs.indexaddressingLoadACDAddD+1AddD+2…AddD+99LoadX0AddX,DINXCPX99BNEM
MAC=AC+[D+(X)]Sumof100numbersDirectaddressingIndexaddressingCombinationsPost-indexEA=(A)+(R)ContentofA+contentofRUsedforaccessingdatablockPre-indexEA=(A+(R))A+contentofRAccessingtableStackAddressingOperandis(implicitly)ontopofstacke.g.PopOPR PoptoptwoitemsfromstacktoOPR Twoimplementmodesofstack:Hardstack:registersSoftstack:memoryTopispointedbySPregisterStackaddressingis
an
implicitaddressingThesameasregisterindirect11.2Pentium&PowerPCaddressingmodeAddressingmodesofPentiumIIPentiumIIincludesavarietyofaddressingmodessothatthehigh-levellanguageprogramscanrunefficientlyFig11.2indicatesthehardwareinvolvedSixsegmentregisters,eachholdsthestartingaddressofthecorrespondingsegmentOnebaseregisterandoneindexregisterPIIAddressingModeCalculationPentiumIIAddressingModes(1)ImmediatemodeA=operand,byte,word,doubleword(2)Directaddressing(3)Indirectaddressing(4)RegisteroperandmodeOperandislocatedinaregister,maybeoneof32-bit(EAX,EBX,ECX,EDX,ESI,EDI,ESP,EBP),16-bit(AX,BX,CX,DX,SI,DI,SP,BP),8-bitgeneralregisters(AH,BH,CH,AL,BL,CL,DL)orsegments(CS,DS,ES,SS,FS,GS)Operandmaybe64-bitsfloatingpointoperandsconsumetwo32-bitregisters(5)Registerindirectmode(6)DisplacementmodeLA=(SR)+AContentofsegmentregister+8,16or32-bitoffset(7)BasemodeLA=(SR)+(B)Addressinsegmentregister+addresssinbaseregister(8)BasewithdisplacementmodeLA=(SR)+(B)+AAccessingvariable,array(9)ScaledindexwithdisplacementmodeLA=(SR)+(I)S+AI:indexingregister,S:scalingfactor(10)BasewithindexanddisplacementmodeLA=(SR)+(B)+(I)+AB:baseregister(11)BasescaledindexwithdisplacementmodeLA=(SR)+(B)+(I)S+A(12)RelativeaddressingLA=(PC)+APowerPCAddressingModesLoad/storearchitectureIndirectInstructionincludes16bitdisplacementtobeaddedtobaseregister(maybeGPregister)CanreplacebaseregistercontentwithnewaddressIndirectindexedInstructionreferencesbaseregisterandindexregister(bothmaybeGP)EAissumofcontentsBranchaddressAbsoluteRelativeIndirectArithmeticOperandsinregistersorpartofinstructionFloatingpointisregisteronly11.3InstructionFormatsDefiningLayoutofbitsinaninstructionIncludesopcodeIncludes(implicitorexplicit)operand(s)Pop,addressingmodesUsuallymorethanoneinstructionformatinaninstructionsetInstructionLengthAffectedbyandaffects:MemorysizeMemoryorganizationBusstructureCPUcomplexityCPUspeedTradeoffbetweenpowerfulinstructionrepertoireandsavingspaceProgrammerswantmoreopcodes,moreoperands,moreaddressingmodesandgreataddressspace,theseresultsinlongerinstructionlength.ButlongerinstructionlengthmaybewastefulAllocationofBitsForagiveninstructionlength,thereisclearlyatrade-offbetweenthenumberofopcodeandthepoweroftheaddressingcapabilityVariable-lengthopcodes,usinganadditionalbitindicatesitVariable-lengthinstructionsFlexibilityComplicatedCPU11.4Pentium&PowerPCinstructionformatsPIIInstructionFormatPIIisequippedwithavarietyofinstructionformats,onlyopcodefieldisalwayspresentInstructionprefixLOCKprefixExclusiveuseofsharedmemoryinmultiprocessorsystemOneofrepeatprefixesRepeatedoperationofastring(elements)SegmentoverrideExplicitlyspecifysegmentregister,overridethedefaultsegmentregisterAddresssizeDeterminethedisplacementsizeininstructionsandthendetermine32bitor
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 宣城市中医院科室环境管理考核
- 温州市中医院复杂视网膜脱离手术技术准入考核
- 杭州市人民医院肿瘤标志物检测考核
- 河道交通与船舶通行设施改造方案
- 宿迁市人民医院血小板血型鉴定考核
- 赣州市中医院主任护师晋升资格预审
- 嘉兴市人民医院复合麻醉技术技能考核
- 厦门市中医院子宫动脉结扎术操作技能考核
- 萍乡市中医院创伤骨科科研能力评估
- 九江市中医院新生儿败血症诊治能力考核
- 电商财税培训课件资源
- 《红楼梦之贾宝玉》课件
- TQ900架桥机安拆专项施工方案
- 23秋国家开放大学《外国教育简史》形考任务1-3参考答案
- 中考英语必背单词汇总手册(打印版)
- 虫鼠害检查记录表
- 2023南方区域AGC发电单元调频指标计算规范2019版
- 工银金融资产投资有限公司2023年校园招聘人才历年试题(常考点甄选)含答案带详解析
- 《军事理论与技能训练》第一章 军事思想
- 住院患者静脉血栓栓塞症的预防护理(试题及答案)
- 如何提高静脉穿刺技术
评论
0/150
提交评论