高级计算机体系结构设计及其在数据中心和云计算的应用Lecture 7Instruction Decode
高级计算机体系结构设计及其在数据中心和云计算的应用 Lecture 7 Instruction Decode
高级计算机体系结构设计及其在数据中心和云计算的应用RiSC ISA Format. This should be review...Fixed-length.MIPSallinstsare32-bits/4bytes一Fewformats: MiPs has 3 formats: R (reg, reg, reg), I (reg, reg, imm), J (addr)·Alphahas5:Operate,Opw/Imm,Mem,Branch,Fp- Regularity across formats (when possible/practical)MiPs&Alphaopcodeinsamebit-positionforallformats.MiPS rs& rt fields in samebit-positionforRandIformats.Alphara/fafieldinsamebit-positionforall5formats
高级计算机体系结构设计及其在数据中心和云计算的应用 RISC ISA Format • This should be review. – Fixed-length • MIPS all insts are 32-bits/4 bytes – Few formats • MIPS has 3 formats: R (reg, reg, reg), I (reg, reg, imm), J (addr) • Alpha has 5: Operate, Op w/ Imm, Mem, Branch, FP – Regularity across formats (when possible/practical) • MIPS & Alpha opcode in same bit-position for all formats • MIPS rs & rt fields in same bit-position for R and I formats • Alpha ra/fa field in same bit-position for all 5 formats
高级计算机体系结构设计及其在数据中心和云计算的应用RISC Decode (MIPS)2156lopcodeotherfuncR-formatonlyopcode[2,0]000xxx=Br/Jump(exceptfor0ooooo)010o11100101110000jalbeqfuncbneblezrtbgtz0oDaddisltiandiluiaddiusltiuorixori[e's]010rso0lxxx=Immediateo1Cio=xxxx(1S:IXIa7:0X1)00IbIhIwlIwIbuIhuIwro1sbshswlSWswr10lwc3IwcoIwclIwc21SWc3SwcOswcISWC2
高级计算机体系结构设计及其在数据中心和云计算的应用 RISC Decode (MIPS) opcode 6 other 21 func 5 R-format only opcode[2,0] 000 001 010 011 100 101 110 111 000 func rt j jal beq bne blez bgtz 001 addi addiu slti sltiu andi ori xori lui 000xxx = Br/Jump (except for 000000) opcode[5,3] 001 addi addiu slti sltiu andi ori xori lui 010 rs rs rs rs 011 100 lb lh lwl lw lbu lhu lwr 101 sb sh swl sw swr 110 lwc0 lwc1 lwc2 lwc3 111 swc0 swc1 swc2 swc3 1xxxxx = Memory (1x0: L D, 1x1: ST) 001xxx = Immediate
高级计算机体系结构设计及其在数据中心和云计算的应用PLA Decoders (1/2)PLA=Programmable Logic ArraySimple logic to transform opcode to control signals isjump =!op5&!op4 &!op3 & (op2/op1/op0)-use_funct=!op5&!op4&!op3&!op2&!op1&!op0use_imm=op51!op5&!op4&op3is_load=op5&!op3-is_store=op5&op3
高级计算机体系结构设计及其在数据中心和云计算的应用 PLA Decoders (1/2) • PLA = Programmable Logic Array • Simple logic to transform opcode to control signals – is_jump = !op5 & !op4 & !op3 & (op2 | op1 | op0) – use_funct = !op5 & !op4 & !op3 & !op2 & !op1 & !op0 – use_imm = op5 | !op5 & !op4 & op3 – is_load = op5 & !op3 – is_store = op5 & op3
高级计算机体系结构设计及其在数据中心和云计算的应用PLA Decoders (2/2)OP5OP44-inputAND gateOP3ANDArrayOP2OPIOPois_storeis_loadORis_memuse_immArray2-input OR gateuse functis_jump
高级计算机体系结构设计及其在数据中心和云计算的应用 PLA Decoders (2/2) op5 op4 op3 op2 op1 AND Array 4-input AND gate op1 op0 is_store is_load use_imm use_funct is_jump OR is_mem Array 2-input OR gate