8.1
8.2
8.6
-
时钟周期 = 1 / 主频
,机器运算速度 = 1 / 平均指令周期单位MIPS
- MIPS = 主频/CPI * 10^6
-
访存周期
需3个时钟周期,另一个机器周期需2个时钟周期,故总的平均指令周期 = 二者之和
8.7
8.8
8.10
8.12 (重要)
- 转移条件可以按编码给出测试条件,也可以按位给出测试条件,两种方法都需要两个转移条件位,
-
按编码给出时
,需要保留全0给无操作,全1给顺序执行,故剩下01 和 10给两种外部条件,总共需要4种编码 ,对应2位 -
按位给出时
,每一位对应一个测试条件,当该位为1时执行该微指令时测试该条件,故这种方式转移条件字段必须有一位且只有一位为1,也需要2位转移条件字段
-
- 对于
操作控制字段
,由于是互斥微命令组,故每个互斥组需保留全0编码给无操作
,故4 5 8 15 20个微命令,各自需要+1,即5 6 9 16 21种编码,分别需要3 3 4 4 5位来编码表示 - 29位编码减去操作控制字段所需位数以及转移条件字段所需位数即得到转移地址字段位数
- 控存存放
微指令
,转移地址 8位,对应2^8个地址单元, 每个微指令字长29 bit
,故控存容量 = 2^8 * 29 bit
8.15 (重要)
-
控制存储器所需存储单元个数 = 微指令个数,共有100条机器指令,每条指令执行阶段需要6条(
专用
)微指令,故所有机器指令所需的微指令总个数为6 * 100 = 600条,加上 公用的5 + 8 = 13条,故控制存储器所需存储单元个数 = 613条 - 字段直接编码时,
每个互斥组的全零编码留给无操作
,故16 8 7 3 3 2 2互斥组分别需要17 9 8 4 4 3 3种编码,分别需要5 4 3 2 2 2 2位 - 对于每个相容的微命令,可以同时与其他微命令执行,故仅需1位
- 于是操作控制字段总共需要5 + 4 + 3 + 2 + 2 + 2 + 2 + 1 + 1 + 1 + 1 = 24位
- 由于使用
直接控制
方式,故转移条件字段按位给出测试条件
,故4个转移条件对应4位转移条件字段,由第一问知有613条微指令,故控制存储器需要10位2^9 = 512 < 613
- 那么,一个完整的微指令格式总共需要24 + 10 +4 = 38位
8.16 (重要)
- 控制存储器存储
微指令
,总共有80条机器指令,每条机器指令需要6条(专用
)微指令,故80条机器指令所需的专用微指令为80 * 6 = 480条,加上公用的1条取指微指令,故该机总共需要481条微指令,故控制存储器容量 = 微指令个数 * 微指令字长 = 481 * 32 bit
8.13 (重要)
- 互斥关系表同一行的是相容的,观察可发现a与其余所有微命令都是相容的,即其余每一个微命令的列中包含√的行,a也有√,故a和其余所有微命令相容,a可以使用直接编码方式(
不译法
),同理c,d也是 -
无法在同一行出现的微命令互斥,可以作为
互斥组
,于是可得到如图操作控制字段,由于需要保留全零编码
给无操作,故每个互斥组所需的编码位数分别为1 2 1 1 3 2
- 需要8路分支转移,故
后继微地址低位
需要3位,也就是μA2, μA1, μA0 - 又通过4种状态进行测试,故
测试条件字段
需要4位