计算机组织结构ppt课件.ppt_第1页
计算机组织结构ppt课件.ppt_第2页
计算机组织结构ppt课件.ppt_第3页
计算机组织结构ppt课件.ppt_第4页
计算机组织结构ppt课件.ppt_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

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

文档简介

WilliamStallingsComputerOrganizationandArchitecture Chapter10InstructionSets CharacteristicsandFunctions 1 Whatisaninstructionset ThecompletecollectionofinstructionsthatareunderstoodbyaCPUMachineCode i e binaryUsuallyrepresentedbyassemblycodes多少条指令较合适 2 MachineCodeAssemblycode设 16位指令 4位操作码 12位单地址 1010010001000000001LDAtwo1020001001000000010ADDthree1030001001000000011ADDfour1040011001000000100STAsum2010000000000000010twoDAT22020000000000000011threeDAT32030000000000000100fourDAT42040000000000000000sumDAT0 OP Operand 3 SimpleInstructionFormat Move R1 2 2表示立即数 R1 2MPY R1 pi R1表示寄存器1 R1 2 JumpL LHaltpi DAT3 14 4 ElementsofanInstruction Operationcode Opcode DothisSourceOperandreferenceTothisResultOperandreferencePuttheanswerhereNextInstructionReferenceWhenyouhavedonethat dothis 5 WherehavealltheOperandsgone I Odevice 操作数的最早来源和长期存放处 Mainmemory 操作数的临时存放处 系统可能使cache 用户不知道 CPUregister 对操作数的运算 必须放到寄存器 memory CPU Bus I O ALU registers program data data data cache data 6 InstructionRepresentation OperationcodemachinecodehasauniquebitpatternForhumanconsumption well programmersanyway asymbolicrepresentationisusede g ADD SUB LOADOperandscanalsoberepresentedinthisway ADDA B 7 InstructionTypes 需要哪几种类型 高级语言 赋值 条件 循环 函数调用 I ODataprocessingADD SUB MPY DIV AND OR NOT SHL SHR Datastorage mainmemory LOAD STOR MOVE I OINPUT OUTPUT ProgramflowcontrolJUMP CMP JLE CALL RETURN 8 NumberofAddresses a 指明操作数 操作结果放哪儿 或转到哪儿3addressesOperand1 Operand2 Resulta b c NotcommonNeedsverylongwordstoholdeverythingADDa b c a b cadd R3 R1 R2 R3 R1 R2 9 NumberofAddresses b 2addressesOneaddressdoublesasoperandandresulta a bReduceslengthofinstructionRequiressomeextraworkTemporarystoragetoholdsomeresultsADDa ba a b 10 NumberofAddresses c 1addressImplicitsecondaddressUsuallyaregister accumulator CommononearlymachinesADDaAC AC a AC表示累加器 11 NumberofAddresses d 0 zero addresses指运算指令 操作数隐含 Usesastacke g pushapushbaddpopcc a b a b a b 图10 16P375 12 图10 3P335 13 DesignDecisions 1 Operationrepertoire 一览表 指令表 节目 Howmanyops 210 Whatcantheydo Howcomplexarethey CallsubroutineDatatypes 应包括浮点数 InstructionformatsLengthofopcodefieldNumberofaddresses RISCvCISC100条v200条 14 DesignDecisions 2 RegistersNumberofCPUregistersavailableWhichoperationscanbeperformedonwhichregisters 寄存器分类吗 Addressingmodes later direct immediate base indirect 2F0056 300F0078 2000add R2 2F00 寄存器 232 P1 P2 Memory 0 15 TypesofOperand AddressesNumbersInteger floatingpointCharactersASCIIetc LogicalDataBitsorflags Aside Isthereanydifferencebetweennumbersandcharacters AskaCprogrammer 哪几类 16 Pentium运算单位 8bitByte16bitword32bitdoubleword64bitquadwordAddressingisby8bitunitA32bitdoublewordisreadataddressesdivisibleby4 0 4 8 17 SpecificDataTypes General arbitrarybinarycontentsInteger singlebinaryvalue 1 2 4 8bytes Ordinal unsignedinteger 1 2 4 8bytes FloatingPointBitfieldByteString怎么表示十进制数 UnpackedBCD OnedigitperbytePackedBCD 2BCDdigitsperbyte BCD Binary CodeDecimal 18 BCD Binary CodeDecimal 二进制编码的十进制数P338 UnpackedBCD1个字节表示1个十进制数字 例 2008PackedBCD1个字节表示2个十进制数字 例 2008BCD表示数 若干个4位码排在一起 usuallyinmultiplesof8bits 例 246 19 机器提供的BCD运算 以二进制数加 再调整 2位BCD加法 若结果第1位有进位 如18 18 36 则加6000110000001100000110000二进制加 有进位 怎么调整 0110补6 我们要10进1 机器16进1 多带了6 00110110若结果 9 如7 6 13 则加6011101101101 9 非十进制数字0110补6 让机器16进1 00010011 20 压缩十进制数的运算 二进制加后十进制调整例 1698 1786 34840001011010011000 0001011110000110规则 0010111000011110 9相加后某位 9 则要加6 0110相加后某位有进位 则要加60010111000100100因为 0110十进制是逢10进1 而十六0010111010000100进制是逢16进1 要补6 01100011010010000100 21 习题10 13 英文6版 10 12 中英文7版 2位BCD加 若和的 第1位 9 或 有辅助进位 则 第1位 6 辅助进位置1 否则辅助进位置0若经过上述调整后 第2位 9 或 有进位 则 第2位 6 进位置1 否则进位置0 Fig12 20Table10 9 16位 16位 22 PentiumDataTypes P340 23 PowerPCDataTypes 8 byte 16 halfword 32 word and64 doubleword lengthdatatypesSomeinstructionsneedoperandalignedon32bitboundaryCanbebig orlittle endianFixedpointprocessorrecognises Unsignedbyte unsignedhalfword signedhalfword unsignedword signedword unsigneddoubleword bytestring 128bytes FloatingpointIEEE754Singleordoubleprecision 24 TypesofOperation DataTransferArithmeticandLogicalTransferofControlI OConversion2 10SystemControl ppt9 25 DataTransfer SpecifySourceDestinationAmountofdata 对向量传送 Maybedifferentinstructionsfordifferentmovementse g IBM370PCL R1 two 32位MOVAX 053H 16位LH R1 two 16位MOVAH 2 8位 Load R2 Pi R2 PiStore R2 x R2 x P344 26 Arithmetic Add Subtract Multiply DivideSignedIntegerFloatingpointMayincludeIncrement a Decrement a Negate a 27 ShiftandRotateOperations 0 Onaleftarithmeticshift alogicalleftshiftisperformedonallbitsbutthesignbit whichisretained P346 28 算术移位 算术右移1000 1100 0101 01110011 1100 0101 01111100 0110 0010 10110001 1110 0010 1011算术左移1000 1100 0101 01110111 1100 0101 01111001 1000 1010 11100111 1000 1010 1110 移位实现简单 不用乘 除实现 29 Logical BitwiseoperationsAND OR NOT XORR1 202 119 36 10110100101AR2 255 255 255 0XOR11111111202 119 36 001011010A A IP地址 Ch9 31 30 TransferofControl if for 函数调用 BranchBRL branchtoLBRZL branchtoLifresultiszeroExample ifA BthenprintAandBelseprintB P344 load R1 A R1 Asub R1 B R1 B A 在某种标志寄存器置状态BRZL ifA B 0 转LPRNA 打印AL PRNB ch9 4 31 BranchInstruction 32 PentiumEFLAGS寄存器 条件码 P359符号测试条件说明E ZZ 1等于 结果为0NE NZZ 0不等 结果不为0G NLE z 0 and notlessthanorequal 16位 16位 Fig12 20Table10 9 33 TransferofControl SkipISZ R1 increment R1andskipif R1iszeroExample S 1 2 3 10 Subroutinecallcall子程序名return P350 load R1 ten R1 10clear R2 R2 0L1 add R2 R1ISZ R1 R1 1BRL1L2 store R2 SstoptenDAT 10 34 Callafunction ProgramvoidP1 u P1 a L 35 36 UseofStack 37 Conversion BinarytoDecimal 2 10 EBCDICtoASCII 字符集转换 ExtendedBinaryCodedDecimalInterchangeCodeAmericanStandardCodeforInformationInterchange P342 P199 是否要提供这类指令 38 Conversion EBCDICtoASCII IRA F2F0F0F6 32303036ASCIICharacterEBCDIC00NUL 300F0311F1 399F9 7FDEL 39 Conversion EBCDICtoASCII 30 31 39 10F0 10F1 10F9 10FF 1000 2100 2103 F2 F0 F0 F6 TRR1 R2 4 40 Input Output Maybespecificinstructions isolatedI O Maybedoneusingdatamovementinstructions memorymapped Maybedonebyaseparatecontroller DMA P207 Ch7 21 41 SystemsControl PrivilegedinstructionsCPUneedstobeinspecificstateRing0on80386 KernelmodeForoperatingsystemsusereadacontrolregister P445 accessPCB P253 42 ForegroundReading PentiumandPowerPCoperationtypesStallingsp338et Seq 43 ByteOrder Whatorderdowereadnumbersthatoccupymorethanonebytee g numbersinhextomakeiteasytoread 12345678canbestoredin4x8bitlocationsasfollows Little小数在先 Big大数在先 44 ByteOrder example AddressValue 1 Value 2 1841278185345618656341877812i e readtopdownorbottomup P377 45 ByteOrderNames TheproblemiscalledEndian 端序 ThemappingontheleftstoresthemostsignificantbyteinthelowestaddressThisiscalledbig endian 大数在先 ThemappingontherightstorestheleastsignificantbyteinthelowestaddressThisiscalledlittle endian 小数在先 P377 46 Example

温馨提示

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

评论

0/150

提交评论