centralprocessingunitCPUdatapathcontrollerarithmeticlogicunitALUbuscpuI/OsystemsoftwareoperatingsystemOSapplicationsoftwareinstructionsetarchitectureISAinstruction010/1cpuPCIRCPUcpuCPUCPUcpuCPUCPUCPUCPIcyclesperinstructionMIPSmillioninstructionspersecondMIPSMFLOPSmillionfloating-pointoperationspersecondBCDBinarycodeddecimalnumber:overflow11bitbytewordcpu3264boothPCPSWprogramstatuswordCPUCPUcCPUCPUl/OCPUCPUCPUadortCPURAMSAMDAMflashRAMROMcachecachecacheidCRCDMA:DMADMA.12341ALU2cache3411946-195621956-196831cpp##include.h2cc1.s3as.o4ld1cpu2312310/1201+0-02010234IEEE001.0002.003.104.105.0/1BCDMSBMSB110123CRCkk+1k1212310P**********P0+0/y=PP/YP1/Y1P1Y112103Booth102001101[]10[-]1.002.003.00NaN12103041/R/Q**********R0=X+[-y]R1=R0-Y,+[-y]=R1****QR10Q0R10,1R10+y,Q/RR11Q/R123IEEE1.bbb475451234PC1234123456123MOVLOADSTORE45BRANCHJMPSKIPCALLRET6cpu71load/store2CISCcomplexinstructionsetcomputerRISCreducedinstructionsetcomputerCISC12345RISC123L/S4567CISCIntel12RISCCISCRISCRISC;ARMRISCMIPS:MicroprocessorwithoutinterlockedpipedstagesMIPSR-OP6rs5rt5rd5shamt5funct6000000shamtfunctrsI-OPrsrtiJ-OPMIPS1323252323216643HiLo4pc52^326CPU1PC-IR2ID3456PC1212cpu31234MIPS55123load/store4121cachecachecache2noploadnop312IntelIntelCPU1PSWR2312RAMSAMDAM3ROM45MROMPROMEPROMEEPROMBstaticRAMMOSdynamicRAMMOSRAM1234I/O5Cache123Cache1FIFO2LRU3LFULRU4cache1cachecache2cachecachecache1231231234URAID:8103050123I/O1234I/O123DMAcpu12cpucpu12345IEEE7541.1-8-231-11-522.3.M=1+f4.=754-127[x+y]=[x]+[y][x-y]=[x]+[-y](11)Booth101PCoutMARinMAR(PC)2MenRMDRM(MAR)PC+1PCPC+13MDRoutIRinIR(MDR)1R1outMARinMAR(R1)2MemRMDRM(MAR)R0outAinA(R0)3MDRoutAddACA+(MDR)4ACoutMDRinMDR(AC)5MemWM(MDR)MDR