对ALU进行需求分析 从指令系统体系结构开始:必须能够完成lSA 中的所有操作 °根据出现频率和硬件预算,对成本和性能进 行权衡 MIPS SA 北京大学计算机科学技术系 计算机系统结构教研室
ñ¯M§¯æ*§cù ¯æù;étÐ@ )$/8|0r6À e ¢Û¸Ï³'ϧXÔ OÑó`ä,6$ XÝ¡0 e BÎe[`@ÊXkÈÍä`ûѯ 5 e 0,36,6$
MPs的算术指令 指令示例含火注程 add S1S2,S3 S1=$2 + S3 3 operands; exception possibl subtract sub $1, $2, $3 1=S23 3 operands; exception possible add immediate addi $1, $2, 100 $1=$2+100 constant; exception possible add unsigned addu S1, $2, $3 $1=$2+$3 3 operands; no exceptions subtract unsigned subu $1, $2, 3 $1=$2-$3 3 operands; no exceptions add imm unsign. addiu S1, 2, 100 $1=$2+100 constant; no exceptions multiply mult S2.3 Hi, Lo=$2 X $3 64-bit signed product multiply unsigned multuS2, S3 Hi, Lo=$2 x $3 64-bit unsigned product divide div s2.$3 L0=s2÷S3, Lo= quotient, Hi= remainder Hi= S2 mod $3 divide unsigned divu S2S3 Lo=s2:$3. Unsigned quotient remainder Hi= S2 mod S3 Move from Hi mfhi SI S1=Hi Used to get copy of Hi Move from Lo mflo $1 SI=LO Used to get copy of Lo 北京大学计算机科学技术系 计算机系统结构教研室
ñ¯M§¯æ*§cù ¯æù;étÐ@ 0,36´Ç_7 DGG DGG RSHUDQGVH[FHSWLRQSRVVLEOH VXEWUDFW VXE RSHUDQGVH[FHSWLRQSRVVLEOH DGGLPPHGLDWH DGGL FRQVWDQWH[FHSWLRQSRVVLEOH DGGXQVLJQHG DGGX RSHUDQGVQRH[FHSWLRQV VXEWUDFWXQVLJQHG VXEX RSHUDQGVQRH[FHSWLRQV DGG LPP XQVLJQ DGGLX FRQVWDQWQRH[FHSWLRQV PXOWLSO\ PXOW +L/R [ ELWVLJQHGSURGXFW PXOWLSO\XQVLJQHG PXOWX +L/R [ ELWXQVLJQHGSURGXFW GLYLGH GLY /R r /R TXRWLHQW+L UHPDLQGHU +L PRG GLYLGHXQVLJQHG GLYX /R r 8QVLJQHGTXRWLHQW UHPDLQGHU +L PRG Û¸ _ ÿ ¼ 0RYHIURP+L PIKL +L 8VHGWRJHWFRS\RI+L 0RYHIURP/R PIOR /R 8VHGWRJHWFRS\RI/R
乘法(无奇号数) °从纸和笔做乘法(无符号数): 被乘数 Multiplicand 1000 乘数 1001 Multiplier 0000 0000 乘积 Product 100 °如果忽略符号位,m位xn位=mn位乘积 °二进制,使得乘法更易实现: (0x被乘数) ·1=>被乘数(1x被乘数) 4种乘法硬件/算法 ·循序渐进 北京大学计算机科学技术系 计算机系统结构教研室
ñ¯M§¯æ*§cù ¯æù;étÐ@ V' e¢`è.,©Ä´úËDÅ ,D 0XOWLSOLFDQG0XOWLSOLFDQG ,D [ 0XOWLSOLHU0XOWLSOLHU ,à 3URGXFW eVpÑ9úË!ÈP! [Q! PQQ!,à e`¯ ÈSk,©Èçr ! [,D !,D [,D e¡ ,©@Êk© ~cä¯