已閱讀5頁,還剩84頁未讀, 繼續(xù)免費(fèi)閱讀
深入理解計(jì)算機(jī)系統(tǒng)習(xí)題答案.pdf 免費(fèi)下載
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
COMPUTERSYSTEMSAPROGRAMMERSPERSPECTIVEINSTRUCTORSSOLUTIONMANUAL1RANDALEBRYANTDAVIDROHALLARONDECEMBER4,20031COPYRIGHTCA02003,REBRYANT,DROHALLARONALLRIGHTSRESERVED2CHAPTER1SOLUTIONSTOHOMEWORKPROBLEMSTHETEXTUSESTWODIFFERENTKINDSOFEXERCISESA0PRACTICEPROBLEMSTHESEAREPROBLEMSTHATAREINCORPORATEDDIRECTLYINTOTHETEXT,WITHEXPLANATORYSOLUTIONSATTHEENDOFEACHCHAPTEROURINTENTIONISTHATSTUDENTSWILLWORKONTHESEPROBLEMSASTHEYREADTHEBOOKEACHONEHIGHLIGHTSSOMEPARTICULARCONCEPTA0HOMEWORKPROBLEMSTHESEAREFOUNDATTHEENDOFEACHCHAPTERTHEYVARYINCOMPLEXITYFROMSIMPLEDRILLSTOMULTIWEEKLABSANDAREDESIGNEDFORINSTRUCTORSTOGIVEASASSIGNMENTSORTOUSEASRECITATIONEXAMPLESTHISDOCUMENTGIVESTHESOLUTIONSTOTHEHOMEWORKPROBLEMS11CHAPTER1ATOUROFCOMPUTERSYSTEMS12CHAPTER2REPRESENTINGANDMANIPULATINGINFORMATIONPROBLEM240SOLUTIONTHISEXERCISESHOULDBEASTRAIGHTFORWARDVARIATIONONTHEEXISTINGCODECODE/DATA/SHOWANSC1VOIDSHOW_SHORTSHORTINTX23SHOW_BYTESBYTE_POINTER456VOIDSHOW_LONGLONGINTX78SHOW_BYTESBYTE_POINTER912CHAPTER1SOLUTIONSTOHOMEWORKPROBLEMS1011VOIDSHOW_DOUBLEDOUBLEX1213SHOW_BYTESBYTE_POINTER14CODE/DATA/SHOWANSCPROBLEM241SOLUTIONTHEREAREMANYWAYSTOSOLVETHISPROBLEMTHEBASICIDEAISTOCREATESOMEMULTIBYTEDATUMWITHDIFFERENTVALUESFORTHEMOSTANDLEASTSIGNIFICANTBYTESWETHENREADBYTE0ANDDETERMINEWHICHBYTEITISINTHEFOLLOWINGSOLUTIONISTOCREATEANINTWITHVALUE1WETHENACCESSITSFIRSTBYTEANDCONVERTITTOANINTTHISBYTEWILLEQUAL0ONABIGENDIANMACHINEAND1ONALITTLEENDIANMACHINECODE/DATA/SHOWANSC1INTIS_LITTLE_ENDIANVOID23/MSB0,LSB1/4INTX156/RETURNMSBWHENBIGENDIAN,LSBWHENLITTLEENDIAN/7RETURNINTCHAR8CODE/DATA/SHOWANSCPROBLEM242SOLUTIONTHISISASIMPLEEXERCISEINMASKINGANDBITMANIPULATIONITISIMPORTANTTOMENTIONTHAT0XFFISAWAYTOGENERATEAMASKTHATSELECTSALLBUTTHELEASTSIGNIFICANTBYTETHATWORKSFORANYWORDSIZEX/ALL1S/45RETURNX1X6CODE/DATA/SHIFTANSCTHEABOVECODEPEFORMSARIGHTSHIFTOFAWORDINWHICHALLBITSARESETTO1IFTHESHIFTISARITHMETIC,THERESULTINGWORDWILLSTILLHAVEALLBITSSETTO1PROBLEM245SOLUTIONTHISPROBLEMILLUSTRATESSOMEOFTHECHALLENGESOFWRITINGPORTABLECODETHEFACTTHAT1245CODE/DATA/XBYTECPROBLEM247SOLUTIONA0A1A0A1A2A4A3A6A5A8A7A10A9A0A1A12A11A13A14A11A9A11A14A11A16A15A11A7A13A11A14A17A14A11A14A15A10A12A11A19A18A13A11A14A17A14A11A9A11A16A15A10A12A11A7A13A14A11A9A11A9A11A9A11A16A15A11A21A20A13A11A14A17A14A17A14A17A14A15A10A12A11A21A22A13A11A14A17A14A17A14A11A16A15A10A12A11A21A20A13A11A9A11A14A17A14A17A14A15A10A24A23A13A14A17A14A11A9A11A9A11A16A15A25A13A14A11A14A17A14A17A14A15A23A13A11A9A11A9A11A9A11A9A11A16A15A10A11A13A14A17A14A17A14A17A14A17A14A15A14A13A14A17A14A17A14A17A14A11A16A15A11A13A11A14A17A14A17A14A17A14A15A10A12A11A21A22A13A14A11A9A11A9A11A9A11A16A15A11A21A20A13A11A14A17A14A17A14A17A14A15A10A12A11A21A22PROBLEM248SOLUTIONTHISPROBLEMLETSSTUDENTSREWORKTHEPROOFTHATCOMPLEMENTPLUSINCREMENTPERFORMSNEGATIONWEMAKEUSEOFTHEPROPERTYTHATTWOSCOMPLEMENTADDITIONISASSOCIATIVE,COMMUTATIVE,ANDHASADDITIVEINVERSESUSINGCNOTATION,IFWEDEFINEYTOBEX1,THENWEHAVEY1EQUALTOY,ANDHENCEYEQUALSY1SUBSTITUTINGGIVESTHEEXPRESSIONX11,WHICHEQUALSXPROBLEM249SOLUTIONTHISPROBLEMREQUIRESAFAIRLYDEEPUNDERSTANDINGOFTWOSCOMPLEMENTARITHMETICSOMEMACHINESONLYPROVIDEONEFORMOFMULTIPLICATION,ANDHENCETHETRICKSHOWNINTHECODEHEREISACTUALLYREQUIREDTOPERFORMTHATACTUALFORMASSEENINEQUATION216WEHAVEA1A12A26A10A27A29A28A30A26A32A31A33A1A34A27A29A28A36A35A33A9A4A1A38A37A40A39A42A41A43A28A44A35A45A28A17A37A46A39A42A41A43A1A12A11A8A37A35A45A1A38A37A40A39A42A41A47A28A17A37A46A39A42A41A8A49A48A37THEFINALTERMHASNOEFFECTONTHEA8A51A50BITREPRESENTATIONOFA1A26A27A51A28A26,BUTTHEMIDDLETERMREPRESENTSACORRECTIONFACTORTHATMUSTBEADDEDTOTHEHIGHORDERA50BITSTHISISIMPLEMENTEDASFOLLOWSCODE/DATA/UHPANSC1UNSIGNEDUNSIGNED_HIGH_PRODUNSIGNEDX,UNSIGNEDY23UNSIGNEDPUNSIGNEDSIGNED_HIGH_PRODINTX,INTY45IFINTXK5/MAKEMASKOFLOWORDER32KBITS/6UNSIGNEDMASKK1K5/MAKEMASKOFHIGHORDERKBITS/6UNSIGNEDMASKK1YNO,LETXA0A2A1A2A4A3A2A3A48A5A4A7A6A31A14BXY1316UNSIGNEDSYUY3178RETURN9UX0,YUY|/X0,Y0/12SXINTT4T3T2RETURNT4PROBLEM332SOLUTIONTHISCODEEXAMPLEDEMONSTRATESONEOFTHEPEDAGOGICALCHALLENGESOFUSINGACOMPILERTOGENERATEASSEMBLYCODEEXAMPLESSEEMINGLYINSIGNIFICANTCHANGESINTHECCODECANYIELDVERYDIFFERENTRESULTSOFCOURSE,STUDENTSWILLHAVETOCONTENDWITHTHISPROPERTYASWORKWITHMACHINEGENERATEDASSEMBLYCODEANYHOWTHEYWILLNEEDTOBEABLETODECIPHERMANYDIFFERENTCODEPATTERNSTHISPROBLEMENCOURAGESTHEMTOTHINKINABSTRACTTERMSABOUTONESUCHPATTERNTHEFOLLOWINGISANANNOTATEDVERSIONOFTHEASSEMBLYCODE1MOVL8EBP,EDXX2MOVL12EBP,ECXY3MOVLEDX,EAX4SUBLECX,EAXRESULTXY5CMPLECX,EDXCOMPAREXY6JGEL3IFGOTODONE7MOVLECX,EAX8SUBLEDX,EAXRESULTYX9L3DONEAWHENA1A1A0A28,ITWILLCOMPUTEFIRSTA1A10A28ANDTHENA28A10A1WHENA1A1A2A28ITJUSTCOMPUTESA1A10A28BTHECODEFORTHENSTATEMENTGETSEXECUTEDUNCONDITIONALLYITTHENJUMPSOVERTHECODEFORELSESTATEMENTIFTHETESTISFALSECTHENSTATEMENTTTESTEXPRIFTGOTODONEELSESTATEMENTDONEDTHECODEINTHENSTATEMENTMUSTNOTHAVEANYSIDEEFFECTS,OTHERTHANTOSETVARIABLESTHATAREALSOSETINELSESTATEMENT13CHAPTER3MACHINELEVELREPRESENTATIONOFCPROGRAMS11PROBLEM333SOLUTIONTHISPROBLEMREQUIRESSTUDENTSTOREASONABOUTTHECODEFRAGMENTSTHATIMPLEMENTTHEDIFFERENTBRANCHESOFASWITCHSTATEMENTFORTHISCODE,ITALSOREQUIRESUNDERSTANDINGDIFFERENTFORMSOFPOINTERDEREFERENCINGAINLINE29,REGISTEREDXISCOPIEDTOREGISTEREAXASTHERETURNVALUEFROMTHIS,WECANINFERTHATEDXHOLDSRESULTBTHEORIGINALCCODEFORTHEFUNCTIONISASFOLLOWS1/ENUMERATEDTYPECREATESSETOFCONSTANTSNUMBERED0ANDUPWARD/2TYPEDEFENUMMODE_A,MODE_B,MODE_C,MODE_D,MODE_EMODE_T34INTSWITCH3INTP1,INTP2,MODE_TACTION56INTRESULT07SWITCHACTION8CASEMODE_A9RESULTP110P1P211BREAK12CASEMODE_B13P2P114RESULTP215BREAK16CASEMODE_C17P21518RESULTP119BREAK20CASEMODE_D21P2P122/FALLTHROUGH/23CASEMODE_E24RESULT1725BREAK26DEFAULT27RESULT12829RETURNRESULT30PROBLEM334SOLUTIONTHISPROBLEMGIVESSTUDENTSPRACTICEANALYZINGDISASSEMBLEDCODETHESWITCHSTATEMENTCONTAINSALLTHEFEATURESONECANIMAGINECASESWITHMULTIPLELABELS,HOLESINTHERANGEOFPOSSIBLECASEVALUES,ANDCASESTHATFALLTHROUGHCODE/ASM/SWITCHBODYANSC12CHAPTER1SOLUTIONSTOHOMEWORKPROBLEMS1INTSWITCH_PROBINTX23INTRESULTX45SWITCHX6CASE507CASE528RESULT212BREAK13CASE5414RESULT315/FALLTHROUGH/16CASE5517RESULTRESULT18/FALLTHROUGH/19DEFAULT20RESULT10212223RETURNRESULT24CODE/ASM/SWITCHBODYANSCPROBLEM335SOLUTIONTHISEXAMPLEILLUSTRATESACASEWHERETHECOMPILERWASCLEVER,BUTHUMANSCANBEMORECLEVERSUCHCASESARENOTUNUSUAL,ANDITISIMPORTANTFORSTUDENTSTOREALIZETHATCOMPILERSDONOTALWAYSGENERATEOPTIMALCODEINTHEFOLLOWING,WEHAVEMERGEDVARIABLESBANDNTJPKINTOASINGLEPOINTERBPTRTHISPOINTERGETSINCREMENTEDBYNWHICHTHECOMPILERSCALESBY4ONEVERYITERATIONCODE/ASM/VARPRODANSC1INTVAR_PROD_ELE_OPTVAR_MATRIXA,VAR_MATRIXB,INTI,INTK,INTN23INTAPTR4INTBPTR5INTRESULT06INTCNTN78IFNRIGHTUSINGADISPLACEMENTOF1840XB8THATMEANSARRAYASPANSFROMBYTES4TO184OFB_STRUCT,IMPLYINGTHATCNTISA9A11A21A23A51A18A12A10A18A11A3A8A14A31A2A13LINE9APPEARSTODEREFERENCEAPACTUALLY,ITISCOMPUTINGAPIDX,SINCEFIELDIDXISATTHEBEGINNINGOFSTRUCTUREA_STRUCT4LINE10SCALESAPIDXBY4,ANDLINE13STORESNATANADDRESSCOMPUTEDBYADDINGTHISSCALEDVALUE,AP,AND4FROMTHISWECONCLUDETHATFIELDXDENOTESANARRAYOFINTEGERSTHATFOLLOWRIGHTAFTERFIELDIDXTHISANALYSISLEADSUSTOTHEFOLLOWINGANSWERSACNTIS9BCODE/ASM/STRUCTPROBANSC1TYPEDEFSTRUCT2INTIDX3INTX44A_STRUCTCODE/ASM/STRUCTPROBANSCPROBLEM337SOLUTIONTHISPROBLEMGETSSTUDENTSINTHEHABITOFWRITINGRELIABLECODEASAGENERALPRINCIPLE,CODESHOULDNOTBEVULNERABLETOCONDITIONSOVERWHICHITHASNOCONTROL,SUCHASTHELENGTHOFANINPUTLINETHEFOLLOWINGIMPLEMENTATIONUSESTHELIBRARYFUNCTIONFGETSTOREADUPTOBUFSIZECHARACTERSATATIME14CHAPTER1SOLUTIONSTOHOMEWORKPROBLEMS1/READINPUTLINEANDWRITEITBACK/2/CODEWILLWORKFORANYBUFFERSIZEBIGGERISMORETIMEEFFICIENT/3DEFINEBUFSIZE644VOIDGOOD_ECHO56CHARBUFBUFSIZE7INTI8WHILE19IFFGETSBUF,BUFSIZE,STDIN10RETURN/ENDOFFILEORERROR/11/PRINTCHARACTERSINBUFFER/12FORI0BUFII13IFPUTCHARBUFIEOF14RETURN/ERROR/15IFBUFIN16/REACHEDTERMINATINGNEWLINE/17PUTCHARN18RETURN192021ANALTERNATIVEIMPLEMENTATIONISTOUSEGETCHARTOREADTHECHARACTERSONEATATIMEPROBLEM338SOLUTIONSUCCESSFULLYMOUNTINGABUFFEROVERFLOWATTACKREQUIRESUNDERSTANDINGMANYASPECTSOFMACHINELEVELPROGRAMSITISQUITEINTRIGUINGTHATBYSUPPLYINGASTRINGTOONEFUNCTION,WECANALTERTHEBEHAVIOROFANOTHERFUNCTIONTHATSHOULDALWAYSRETURNAFIXEDVALUEINASSIGNINGTHISPROBLEM,YOUSHOULDALSOGIVESTUDENTSASTERNLECTUREABOUTETHICALCOMPUTINGPRACTICESANDDISPELLANYNOTIONTHATHACKINGINTOSYSTEMSISADESIRABLEOREVENACCEPTABLETHINGTODOOURSOLUTIONSTARTSBYDISASSEMBLINGBUFBOMB,GIVINGTHEFOLLOWINGCODEFORGETBUF1080484F4280484F455PUSHEBP380484F589E5MOVESP,EBP480484F783EC18SUB0X18,ESP580484FA83C4F4ADD0XFFFFFFF4,ESP680484FD8D45F4LEA0XFFFFFFF4EBP,EAX7804850050PUSHEAX88048501E86AFFFFFFCALL804847098048506B801000000MOV0X1,EAX10804850B89ECMOVEBP,ESP11804850D5DPOPEBP12804850EC3RET13804850F90NOPWECANSEEONLINE6THATTHEADDRESSOFBUFIS12BYTESBELOWTHESAVEDVALUEOFEBP,WHICHIS4BYTESBELOWTHERETURNADDRESSOURSTRATEGYTHENISTOPUSHASTRINGTHATCONTAINS12BYTESOFCODE,THESAVEDVALUE13CHAPTER3MACHINELEVELREPRESENTATIONOFCPROGRAMS15OFEBP,ANDTHEADDRESSOFTHESTARTOFTHEBUFFERTODETERMINETHERELEVANTVALUES,WERUNGDBASFOLLOWS1FIRST,WESETABREAKPOINTINGETBUFANDRUNTHEPROGRAMTOTHATPOINTGDBBREAKGETBUFGDBRUNCOMPARINGTHESTOPPINGPOINTTOTHEDISASSEMBLY,WESEETHATITHASALREADYSETUPTHESTACKFRAME2WEGETTHEVALUEOFBUFBYCOMPUTINGAVALUERELATIVETOEBPGDBPRINT/XEBP12THISGIVES0XBFFFEFBC3WEFINDTHESAVEDVALUEOFREGISTEREBPBYDEREFERENCINGTHECURRENTVALUEOFTHISREGISTERGDBPRINT/XEBPTHISGIVES0XBFFFEFE84WEFINDTHEVALUEOFTHERETURNPOINTERONTHESTACK,ATOFFSET4RELATIVETOEBPGDBPRINT/XINTEBP1THISGIVES0X8048528WECANNOWPUTTHISINFORMATIONTOGETHERTOGENERATEASSEMBLYCODEFOROURATTACK1PUSHL0X8048528PUTCORRECTRETURNPOINTERBACKONSTACK2MOVL0XDEADBEEF,EAXALTERRETURNVALUE3RETREEXECUTERETURN4ALIGN4ROUNDUPTO125LONG0XBFFFEFE8SAVEDVALUEOFEBP6LONG0XBFFFEFBCLOCATIONOFBUF7LONG0X00000000PADDINGNOTETHATWEHAVEUSEDTHEALIGNSTATEMENTTOGETTHEASSEMBLERTOINSERTENOUGHEXTRABYTESTOUSEUPTWELVEBYTESFORTHECODEWEADDEDANEXTRA4BYTESOF0SATTHEEND,BECAUSEINSOMECASESOBJDUMPWOULDNOTGENERATETHECOMPLETEBYTEPATTERNFORTHEDATATHESEEXTRABYTESPLUSTHETERMININATINGNULLBYTEWILLOVERFLOWINTOTHESTACKFRAMEFORTEST,BUTTHEYWILLNOTAFFECTTHEPROGRAMBEHAVIORASSEMBLINGTHISCODEANDDISASSEMBLINGTHEOBJECTCODEGIVESUSTHEFOLLOWING106828850408PUSH0X804852825B8EFBEADDEMOV0XDEADBEEF,EAX3AC3RET4B90NOPBYTEINSERTEDFORALIGNMENT5CE8EFFFBFBCCALL0XBCC00000INVALIDDISASSEMBLY611EFOUTEAX,DXTRYINGTODIASSEMBLE712FFBADDATA813BF00000000MOV0X0,EDI16CHAPTER1SOLUTIONSTOHOMEWORKPROBLEMSFROMTHISWECANREADOFFTHEBYTESEQUENCE6828850408B8EFBEADDEC390E8EFFFBFBCEFFFBF00000000PROBLEM339SOLUTIONTHISPROBLEMISAVARIANTONTHEASMEXAMPLESINTHETEXTTHECODEISACTUALLYFAIRLYSIMPLEITRELIESONTHEFACTTHATASMOUTPUTSCANBEARBITRARYLVALUES,ANDHENCEWECANUSEDEST0ANDDEST1DIRECTLYINTHEOUTPUTLISTCODE/ASM/ASMPROBSANSC1VOIDFULL_UMULUNSIGNEDX,UNSIGNEDY,UNSIGNEDDEST23ASM“MOVL2,EAXMULL3MOVLEAX,0MOVLEDX,1“4“R“DEST0,“R“DEST1/OUTPUTS/5“R“X,“R“Y/INPUTS/6“EAX“,“EDX“/CLOBBERS/78CODE/ASM/ASMPROBSANSCPROBLEM340SOLUTIONFORTHISEXAMPLE,STUDENTSESSENTIALLYHAVETOWRITETHEENTIREFUNCTIONINASSEMBLYTHEREISNOAPPARENTWAYTOINTERFACEBETWEENTHEFLOATINGPOINTREGISTERSANDTHECCODEUSINGEXTENDEDASMCODE/ASM/FSCALEC1/COMPUTEX2NRELIESONKNOWNSTACKPOSITIONSFORARGUMENTS/2VOIDSCALEDOUBLEX,INTN,DOUBLEDEST34/INSERTTHEFOLLOWINGASSEMBLYCODESEQUENCE5FILDL16EBPCONVERTNTOFLOATINGPOINTANDPUSH6FLDL8EBPPUSHX7FSCALECOMPUTEX2N8MOVL20EBPGETDEST9FSTPLEAXSTORERESULTATDEST10/11ASM“FILDL16EBPFLDL8EBPFSCALEMOVL20EBP,EAX12FSTPLEAXFSTPST0“13“EAX“1415CODE/ASM/FSCALEC14CHAPTER4PROCESSORARCHITECTURE1714CHAPTER4PROCESSORARCHITECTUREPROBLEM432SOLUTIONTHISPROBLEMMAKESSTUDENTSCAREFULLYEXAMINETHETABLESSHOWINGTHECOMPUTATIONSTAGESFORTHEDIFFERENTINSTRUCTIONSTHESTEPSFORIADDLAREAHYBRIDOFTHOSEFORIRMOVLANDOPLSTAGEIADDLV,RBFETCHICODEIFUNA0MA1A2PCA3RARBA0MA1A2PCA4A6A5A7A3VALCA0MA8A2PCA4A10A9A11A3VALPA0PCA4A13A12DECODEVALBA0RA2RBA3EXECUTEVALEA0VALBA4VALCMEMORYWRITEBACKRA2RBA3A14A0VALEPCUPDATEPCA0VALPPROBLEM433SOLUTIONTHELEAVEINSTRUCTIONISFAIRLYOBSCURE,BUTWORKINGTHROUGHITSIMPLEMENTATIONMAKESITEASIERTOUNDERTANDTHEIMPLEMENTATIONOFTHEPOPLINSTRUCTION,ONEOFTHETRICKIESTOFTHEY86INSTRUCTIONSSTAGELEAVEFETCHICODEIFUNA0MA1A2PCA3VALPA0PCA4A6A5DECODEVALAA0RA2A16A15A18A17A20A19A22A21A3VALBA0RA2A16A15A23A17A20A19A24A21A3EXECUTEVALEA0VALBA4A26A25MEMORYVALMA0MA8A2VALAA3WRITEBACKRA2A16A15A23A17A28A27A11A21A3A29A0VALERA2A15A23A17A20A19A22A21A3A29A0VALMPCUPDATEPCA0VALPPROBLEM434SOLUTIONTHEFOLLOWINGHCLCODEINCLUDESIMPLEMENTATIONSOFBOTHTHEIADDLINSTRUCTIONANDTHELEAVEINSTRUCTIONSTHEIMPLEMENTATIONSAREFAIRLYSTRAIGHTFORWARDGIVENTHECOMPUTATIONSTEPSLISTEDINTHESOLUTIONSTOPROBLEMS432AND433YOUCANTESTTHESOLUTIONSUSINGTHETESTCODEINTHEPTESTSUBDIRECTORYMAKESUREYOUUSECOMMANDLINEARGUMENTICODE/ARCH/SEQFULLANSHCL18CHAPTER1SOLUTIONSTOHOMEWORKPROBLEMS12HCLDESCRIPTIONOFCONTROLFORSINGLECYCLEY86PROCESSORSEQ3COPYRIGHTCRANDALEBRYANT,DAVIDROHALLARON,2002456THISISTHESOLUTIONFORTHEIADDLANDLEAVEPROBLEMS789CINCLUDESDONTALTERTHESE101112QUOTEINCLUDE13QUOTEINCLUDE“ISAH“14QUOTEINCLUDE“SIMH“15QUOTEINTSIM_MAININTARGC,CHARARGV16QUOTEINTGEN_PCRETURN017QUOTEINTMAININTARGC,CHARARGV18QUOTEPLUSMODE0RETURNSIM_MAINARGC,ARGV192021DECLARATIONSDONOTCHANGE/REMOVE/DELETEANYOFTHESE222324SYMBOLICREPRESENTATIONOFY86INSTRUCTIONCODES25INTSIGINOPI_NOP26INTSIGIHALTI_HALT27INTSIGIRRMOVLI_RRMOVL28INTSIGIIRMOVLI_IRMOVL29INTSIGIRMMOVLI_RMMOVL30INTSIGIMRMOVLI_MRMOVL31INTSIGIOPLI_ALU32INTSIGIJXXI_JMP33INTSIGICALLI_CALL34INTSIGIRETI_RET35INTSIGIPUSHLI_PUSHL36INTSIGIPOPLI_POPL37INSTRUCTIONCODEFORIADDLINSTRUCTION38INTSIGIIADDLI_IADDL39INSTRUCTIONCODEFORLEAVEINSTRUCTION40INTSIGILEAVEI_LEAVE4142SYMBOLICREPRESENTATIONOFY86REGISTERSREFERENCEDEXPLICITLY43INTSIGRESPREG_ESPSTACKPOINTER44INTSIGREBPREG_EBPFRAMEPOINTER45INTSIGRNONEREG_NONESPECIALVALUEINDICATING“NOREGISTER“4647ALUFUNCTIONSREFERENCEDEXPLICITLY48INTSIGALUADDA_ADDALUSHOULDADDITSARGUMENTS4950SIGNALSTHATCANBEREFERENCEDBYCONTROLLOGIC14CHAPTER4PROCESSORARCHITECTURE195152FETCHSTAGEINPUTS53INTSIGPCPCPROGRAMCOUNTER54FETCHSTAGECOMPUTATIONS55INTSIGICODEICODEINSTRUCTIONCONTROLCODE56INTSIGIFUNIFUNINSTRUCTIONFUNCTION57INTSIGRARARAFIELDFROMINSTRUCTION58INTSIGRBRBRBFIELDFROMINSTRUCTION59INTSIGVALCVALCCONSTANTFROMINSTRUCTION60INTSIGVALPVALPADDRESSOFFOLLOWINGINSTRUCTION6162DECODESTAGECOMPUTATIONS63INTSIGVALAVALAVALUEFROMREGISTERAPORT64INTSIGVALBVALBVALUEFROMREGISTERBPORT6566EXECUTESTAGECOMPUTATIONS67INTSIGVALEVALEVALUECOMPUTEDBYALU68BOOLSIGBCHBCONDBRANCHTEST6970MEMORYSTAGECOMPUTATIONS71INTSIGVALMVALMVALUEREADFROMMEMORY72737475CONTROLSIGNALDEFINITIONS767778FETCHSTAGE7980DOESFETCHEDINSTRUCTIONREQUIREAREGIDBYTE81BOOLNEED_REGIDS82ICODEINIRRMOVL,IOPL,IPUSHL,IPOPL,83IIADDL,84IIRMOVL,IRMMOVL,IMRMOVL8586DOESFETCHEDINSTRUCTIONREQUIREACONSTANTWORD87BOOLNEED_VALC88ICODEINIIRMOVL,IRMMOVL,IMRMOVL,IJXX,ICALL,IIADDL8990BOOLINSTR_VALIDICODEIN91INOP,IHALT,IRRMOVL,IIRMOVL,IRMMOVL,IMRMOVL,92IIADDL,ILEAVE,93IOPL,IJXX,ICALL,IRET,IPUSHL,IPOPL9495DECODESTAGE9697WHATREGISTERSHOULDBEUSEDASTHEASOURCE98INTSRCA99ICODEINIRRMOVL,IRMMOVL,IOPL,IPUSHLRA100ICODEINILEAVEREBP20CHAPTER1SOLUTIONSTOHOMEWORKPROBLEMS101ICODEINIPOPL,IRETRESP1021RNONEDONTNEEDREGISTER103104105WHATREGISTERSHOULDBEUSEDASTHEBSOURCE106INTSRCB107ICODEINIOPL,IRMMOVL,IMRMOVLRB108ICODEINIIADDLRB109ICODEINIPUSHL,IPOPL,ICALL,IRETRESP110ICODEINILEAVEREBP1111RNONEDONTNEEDREGISTER112113114WHATREGISTERSHOULDBEUSEDASTHEEDESTINATION115INTDSTE116ICODEINIRRMOVL,IIRMOVL,IOPLRB117ICODEINIIADDLRB118ICODEINIPUSHL,IPOPL,ICALL,IRETRESP119ICODEINILEAVERESP1201RNONEDONTNEEDREGISTER121122123WHATREGISTERSHOULDBEUSEDASTHEMDESTINATION124INTDSTM125ICODEINIMRMOVL,IPOPLRA126ICODEINILEAVEREBP1271RNONEDONTNEEDREGISTER128129130EXECUTESTAGE131132SELECTINPUTATOALU133INTALUA134ICODEINIRRMOVL,IOPLVALA135ICODEINIIRMOVL,IRMMOVL,IMRMOVLVALC136ICODEINIIADDLVALC137ICODEINICALL,IPUSHL4138ICODEINIRET,IPOPL4139ICODEINILEAVE4140OTHERINSTRUCTIONSDONTNEEDALU141142143SELECTINPUTBTOALU144INTALUB145ICODEINIRMMOVL,IMRMOVL,IOPL,ICALL,146IPUSHL,IRET,IPOPLVALB147ICODEINIIADDL,ILEAVEVALB148ICODEINIRRMOVL,IIRMOVL0149OTHERINSTRUCTIONSDONTNEEDALU15014CHAPTER4PROCESSORARCHITECTURE21151152SETTHEALUFUNCTION153INTALUFUN154ICODEIOPLIFUN1551ALUADD156157158SHOULDTHECONDITIONCODESBEUPDATED159BOOLSET_CCICODEINIOPL,IIADDL160161MEMORYSTAGE162163SETREADCONTROLSIGNAL164BOOLMEM_READICODEINIMRMOVL,IPOPL,IRET,ILEAVE165166SETWRITECONTROLSIGNAL167BOOLMEM_WRITEICODEINIRMMOVL,IPUSHL,ICALL168169SELECTMEMORYADDRESS170INTMEM_ADDR171ICODEINIRMMOVL,IPUSHL,ICALL,IMRMOVLVALE172ICODEINIPOPL,IRETVALA173ICODEINILEAVEVALA174OTHERINSTRUCTIONSDONTNEEDADDRESS175176177SELECTMEMORYINPUTDATA178INTMEM_DATA179VALUEFROMREGISTER180ICODEINIRMMOVL,IPUSHLVALA181RETURNPC182ICODEICALLVALP183DEFAULTDONTWRITEANYTHING184185186PROGRAMCOUNTERUPDATE187188WHATADDRESSSHOULDINSTRUCTIONBEFETCHEDAT189190INTNEW_PC191CALLUSEINSTRUCTIONCONSTANT192ICODEICALLVALC193TAKENBRANCHUSEINSTRUCTIONCONSTANT194ICODEIJXX195COMPLETIONOFRETINSTRUCTIONUSEVALUEFROMSTACK196ICODEIRETVALM197DEFAULTUSEINCREMENTEDPC1981VALP19922CHAPTER1SOLUTIONSTOHOMEWORKPROBLEMSJXXEDMMISPREDICTERETDMRET1RETEBUBBLEDMRET2BUBBLEEBUBBLEDRETMRET3GENERATEEUSEDMGEN/USE1WEUSEDGENERATEMGEN/USE2WEUSEDMGEN/USE3GENERATEWFIGURE11PIPELINESTATESFORSPECIALCONTROLCONDITIONSTHEPAIRSCONNECTEDBYARROWSCANARISESIMULTANEOUSLYCODE/ARCH/SEQFULLANSHCLPROBLEM435SOLUTIONSEETHESOLUTIONTOHOMEWORKPROBLEM434WHENYOUTESTTHISCODEWITHTHESCRIPTSINPTEST,BESURETOUSETHECOMMANDLINEARGUMENTLPROBLEM436SOLUTIONTHISISAHARDPROBLEM,BECAUSETHEREAREMANYPOSSIBLECOMBINATIONSOFSPECIALCASESTHATCANOCCURSIMULTANEOUSLYFIGURE11ILLUSTRATESTHISPROBLEMWECANSEETHATTHEREARENOWTHREEVARIANTSOFGENERATE/USECASES,WHERETHEINSTRUCTIONINTHEEXECUTE,MEMORY,ORWRITEBACKSTAGEISGENERATINGAVALUETOBEUSEDBYTHEINSTRUCTIONINTHEDECODESTAGETHESECONDANDTHIRDGENERATE/USECASESCANOCCURINCOMBINATIONWITHAMISPREDICTEDBRANCHINTHISCASE,WEWANTTOHANDLETHEMISPREDICTION,INJECTINGBUBBLESINTOTHEDECODEANDEXECUTESTAGESFORCASESWHEREAMISPREDICTIONDOESNOTOCCUR,EACHOFTHEGENERATE/USECONDITIONSCANOCCURINCOMBINATIONWITHTHEFIRSTRETPATTERNWHERERETUSESTHEVALUEOFESPINTHISCASE,WEWANTTOHANDLETHEDATAHAZARDBYSTALLINGTHEFETCHANDANDDECODESTAGESANDINJECTINGABUBBLEINTOTHEEXECUTESTAGETHETESTSCRIPTCTESTPLINTHEPTESTSUBDIRECTORYGENERATESTESTSTHATTHOROUGHLYTES
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度教育機(jī)構(gòu)內(nèi)部“2024版內(nèi)通辦”教育資源共享合同4篇
- 二零二五年度中小企業(yè)技術(shù)改造擔(dān)保借款合同樣本4篇
- 二零二五年度內(nèi)蒙古自治區(qū)農(nóng)牧廳農(nóng)業(yè)人才培養(yǎng)與引進(jìn)合同3篇
- 二零二五版鎳礦市場調(diào)研與信息服務(wù)合同4篇
- 2025年度標(biāo)準(zhǔn)門面租賃合同及租賃期限延長及續(xù)租條款3篇
- 2025年度苗木種植與現(xiàn)代農(nóng)業(yè)園區(qū)建設(shè)合同4篇
- 二零二五年度“農(nóng)業(yè)科技”菜園智能化溫室建設(shè)合同3篇
- 2025年度農(nóng)戶綠色農(nóng)業(yè)發(fā)展基金合同4篇
- 二零二五年度體育賽事賽事品牌合作開發(fā)與推廣勞務(wù)分包合同
- 二零二五版文化產(chǎn)業(yè)投資內(nèi)部股東全部股權(quán)轉(zhuǎn)讓與合作開發(fā)合同4篇
- 足浴技師與店內(nèi)禁止黃賭毒協(xié)議書范文
- 中國高血壓防治指南(2024年修訂版)要點(diǎn)解讀
- 2024-2030年中國光電干擾一體設(shè)備行業(yè)發(fā)展現(xiàn)狀與前景預(yù)測分析研究報(bào)告
- 湖南省岳陽市岳陽樓區(qū)2023-2024學(xué)年七年級(jí)下學(xué)期期末數(shù)學(xué)試題(解析版)
- 農(nóng)村自建房安全合同協(xié)議書
- 杜仲葉藥理作用及臨床應(yīng)用研究進(jìn)展
- 4S店售后服務(wù)6S管理新規(guī)制度
- 高性能建筑鋼材的研發(fā)與應(yīng)用
- 無線廣播行業(yè)現(xiàn)狀分析
- 漢語言溝通發(fā)展量表(長表)-詞匯及手勢(8-16月齡)
- 高速公路相關(guān)知識(shí)講座
評(píng)論
0/150
提交評(píng)論