例5.2指令字长为12位,每个地址码 为3位,采用扩展操作码的方式,设计 4条三地址指令、16条二地址指令 64条一地址指令和16条零地址指令。 n①画出扩展图 ■②画出指令译码逻辑。 ■③计算操作码平均长度
例5.2 指令字长为12位,每个地址码 为3位,采用扩展操作码的方式,设计 4条三地址指令、16条二地址指令、 64条一地址指令和16条零地址指令。 ① 画出扩展图 ② 画出指令译码逻辑。 ③ 计算操作码平均长度
【例题分析】 ■每个地址码为3位,三地址占12位,4条三 地址指令的操作码为3位,编码为:000~011 ■二地址占8位,16条二地址指令的操作码为6位, 编码为:100000~101111 地址占4位,64条一地址指令的操作码为9位, 编码为:110000000~11011111 ■16条零地址指令的操作码为12位,编码为: 111000000000~111000001111
【例题分析】 每个地址码为3位, 三地址占12位,4条三 地址指令的操作码为3位,编码为: 000~011 二地址占8位,16条二地址指令的操作码为6位, 编码为:10 0000~10 1111 一地址占4位,64条一地址指令的操作码为9位, 编码为:110 000000 ~110 111111 16条零地址指令的操作码为12位,编码为: 11100000 0000~11100000 1111
亟答案】①操作码的扩展如下: 0010××x 4条三地址指令 011×× 1010000 ×× 16条二地址指令 101 ××××Ⅹ 1110000 000××× 64条一地址指令 110111 111×× 000 0000010 16条零地址指令 111000 001111
答案】 ① 操作码的扩展如下: 000 ××× ××× ××× 4条三地址指令 011 ××× ××× ××× 100 000 ××× ××× 16条二地址指令 101 111 ××× ××× 110 000 000 ××× 64条一地址指令 110 111 111 ××× 111 000 000 000 16条零地址指令 111 000 001 111 题
②指令译码逻辑如图5.1所示。 × × × 译码开 始信号 38译码器Y4YsY6Y7 4:16译码器 q664译码器 4:16译码器 4条三地址指令 6条二地址指令64条一地址指令16条零地址指令 图5.1例52的指令译码逻辑
②指令译码逻辑如图 5.1 所示。 × × × ××× ××× ××× 3:8 译码器 Y4 Y5 Y6 Y7 4:16 译码器 6:64 译码器 4:16 译码器 4 条三地址指令 16 条二地址指令 64 条一地址指令 16 条零地址指令 图 5.1 例 5.2 的指令译码逻辑 译码开 始信号
n③操作码平均长度=(4×3+16×6 64×9+16×12)/(4+16+64+16)=8.7 ■例53★某计算机指令长度为32位,有3种指令 双操作数指令、单操作数指令、无操作数指令。 今采用扩展操作码的方式来设计指令,假设操 作数地址为12位,已知有双操作数指令K条, 单操作数指令L条,问无操作数指令有多少条?
③ 操作码平均长度 =(4×3 + 16×6 + 64×9 + 16×12)/(4+16+64+16) = 8.7 例5.3 ★某计算机指令长度为32位,有3种指令: 双操作数指令、单操作数指令、无操作数指令。 今采用扩展操作码的方式来设计指令,假设操 作数地址为12位,己知有双操作数指令K条, 单操作数指令L条,问无操作数指令有多少条?