Thông tin tài liệu:
Bài giảng Computer Organization and Architecture: Chapter 13 - Reduced Instruction Set Computers hướng đến trình bày các vấn đề cơ bản về: Major Advances in Computers; The Next Step - RISC; Comparison of processorsDriving force for CISC;...
Nội dung trích xuất từ tài liệu:
Bài giảng Computer Organization and Architecture: Chapter 13William StallingsComputer Organizationand Architecture6th EditionChapter 13Reduced InstructionSet ComputersMajor Advances in Computers(1)• Thefamilyconcept —IBMSystem/3601964 —DECPDP8 —Separatesarchitecturefromimplementation• Microporgrammedcontrolunit —IdeabyWilkes1951 —ProducedbyIBMS/3601964• Cachememory —IBMS/360model851969Major Advances in Computers(2)• SolidStateRAM —(Seememorynotes)• Microprocessors —Intel40041971• Pipelining —Introducesparallelismintofetchexecutecycle• MultipleprocessorsThe Next Step - RISC• ReducedInstructionSetComputer• Keyfeatures —Largenumberofgeneralpurposeregisters —oruseofcompilertechnologytooptimizeregisteruse —Limitedandsimpleinstructionset —EmphasisonoptimisingtheinstructionpipelineComparison of processorsDriving force for CISC• Softwarecostsfarexceedhardwarecosts• Increasinglycomplexhighlevellanguages• Semanticgap• Leadsto: —Largeinstructionsets —Moreaddressingmodes —HardwareimplementationsofHLLstatements – e.g.CASE(switch)onVAXIntention of CISC• Easecompilerwriting• Improveexecutionefficiency —Complexoperationsinmicrocode• SupportmorecomplexHLLsExecution Characteristics• Operationsperformed• Operandsused• Executionsequencing• Studieshavebeendonebasedonprograms writteninHLLs• Dynamicstudiesaremeasuredduringthe executionoftheprogramOperations• Assignments —Movementofdata• Conditionalstatements(IF,LOOP) —Sequencecontrol• Procedurecallreturnisverytimeconsuming• SomeHLLinstructionleadtomanymachine codeoperationsRelative Dynamic Frequency Dynamic MachineInstruction MemoryReference Occurrence (Weighted) (Weighted) Pascal C Pascal C Pascal C Assign 45 38 13 13 14 15 Loop 5 3 42 32 33 26 Call 15 12 31 33 44 45 If 29 43 11 21 7 13 GoTo 3 Other 6 1 3 1 2 1Operands• Mainlylocalscalarvariables• Optimisationshouldconcentrateonaccessing localvariables Pascal C Average Integerconstant 16 23 20 Scalarvariable 58 53 55 Array/structure 26 24 25Procedure Calls• Verytimeconsuming• Dependsonnumberofparameterspassed• Dependsonlevelofnesting• Mostprogramsdonotdoalotofcallsfollowed bylotsofreturns• Mostvariablesarelocal• (c.f.localityofreference)Implications• Bestsupportisgivenbyoptimisingmostused andmosttimeconsumingfeatures• Largenumberofregisters —Operandreferencing• Carefuldesignofpipelines —Branchpredictionetc.• Simplified(reduced)instructionsetLarge Register File• Softwaresolution —Requirecompilertoallocateregisters —Allocatebasedonmostusedvariablesinagiven time —Requiressophisticatedprogramanalysis• Hardwaresolution —Havemoreregisters —ThusmorevariableswillbeinregistersRegisters for Local Variables• Storelocalscalarvariablesinregisters• Reducesmemoryaccess• Everyprocedure(function)callchangeslocality• Parametersmustbepassed• Resultsmustbereturned• Variablesfromcallingprogramsmustbe restoredRegister Windows• Onlyfewparameters• Limitedrangeofdepthofcall• Usemultiplesmallsetsofregisters• Callsswitchtoadifferentsetofregisters• Returnsswitchbacktoapreviouslyusedsetof registersRegister Windows cont.• Threeareaswithinaregisterset —Parameterregisters —Localregisters —Temporaryregisters —Temporaryregistersfromonesetoverlapparameter registersfromthenext —ThisallowsparameterpassingwithoutmovingdataOverlapping Register WindowsCircular Buffer diagramOperation of Circular Buffer• Whenacallismade,acurrentwindowpointeris movedtoshowthecurrentlyactiveregister window• Ifallwindowsareinuse,aninterruptis generatedandtheoldestwindow(theone furthestbackinthecallnesting)issavedto memory• Asavedwindowpointerindicateswherethe nextsavedwindowsshouldrestoreto ...