第一章 计算机系统概论
冯•诺伊曼计算机的特点
- 计算机由运算器、存储器、控制器和输入设备、输出设备5大部件组成。
- 指令和数据以同等地位存于存储器内,并可按地址寻访。
- 指令和数据均用二进制代码表示。
- 指令由操作码和地址码组成,操作码用来表示操作的性质,地址码用来表示操作数在存储器中的位置。
- 指令在存储器内按顺序存放。
- 机器以运算器为中心,输入输出设备与存储器间的数据传送通过运算器完成。
计算机的工作过程
取指令 PC → MAR → M → MDR → IR
分析指令 OP(IR) → CU
执行指令 Ad(IR) → MAR → M → MDR → ACC
此外,每完成一条指令,还必须为取下条指令作准备,形成下一条指令的地址,即(PC)+1 → PC
计算机硬件的主要技术指标
主要技术指标包括:机器字长、存储容量和运算速度。
(1) 机器字长:CPU一次能处理数据的位数,通常与CPU的寄存器位数有关。
(2) 存储容量:存储器中存放二进制代码的总位数,包括主存容量和辅存容量。
主存容量可用存储单元个数X存储字长表示,也可用字节数来描述。
如,MAR为16位,MDR为32位,则主存容量为 2 16 × 32 = 2 21 = 2 M 2^{16}\times 32 = 2^{21}=2M 216×32=221=2M位,也可表示为 2 18 2^{18} 218字 节,记做 2 18 2^{18} 218B或256KB(B用来表示一个字节)。
辅存容量通常用字节数来表示。
(3) 运算速度反映机器运行程序的速度。
- 通常采用单位时间内执行指令的平均条数来衡量
- 也用MIPS( Million Instruction Per Second,每秒百万条指令)作为计量单位
- 也可用CPI( Cycle Per Instruction)即执行一条指令所需的时钟周期(机器主频的倒数)数
- 或用FLOPS (Floating Point Operation Per Second,每秒浮点 运算次数)来衡量运算速度。
运算速度与很多因素有关,如机器的主频、主存的速度、机器是否有高速缓冲存储器、硬盘运行的速度、总线的数据传输率以及机器是否采用流水技术等。
第二章 计算机的发展及应用
计算机发展至今,大致经历了五代,即
- 电子管时代
- 晶体管时代
- 中小规模集成电路时代
- SSI
- 出现了用半导体存储器取代磁芯存储器。
- 出现了操作系统
- 大规模集成电路时代
- LSI
- 超大规模集成电路时代
- VLSI
第三章 系统总线
总线的基本概念
-
总线和总线上信息传输的特点
- 总线是连接多个部件(模块)的信息传输线,是各部件共享的传输介质。
- 在某一时刻只允许有一个部件向总线发送信息,但多个部件可以同时从总线上接收相同的信息。
-
总线的传输周期
- 是指一次总线操作所需的时间,简称总线周期
- 包括申请阶段、寻址阶段、 传送阶段和结束阶段
-
总线宽度
- 又称为总线位宽
- 是总线上同时能够传输的数据位数
- 通常是指数据总线的根数。
-
总线带宽
- 总线带宽可理解为总线的传输速率
- 单位时间内总线上传输数据的位数
- 通常用每秒钟传送信息的字节数来衡量
- 单位可用MBps(兆字节每秒)表示。
-
总线特性
机械特性、电气特性、功能特性、时间特性
-
总线标准
- 总线标准为计算机系统(或计算机应用系统)中各 模块的互联提供一个标准界面(接口)
- 该界面对它两端的模块都是透明的,即界面的任一方只需根据总线标准的要求来实现自身一方接口的功能,而不必考虑对方与界面的接口方式。
-
总线的主设备(模块)
是指获得总线控制权的设备。
-
总线的从设备(模块)
是指被主设备访问的设备,只能响应从主设备发来的各种总线命令
-
总线的分类
- 片内总线:芯片内的总线。
- 系统总线:连接CPU、主存、I/0设备(通过I/O接口)各部件之间的信息传输线。
- 通信总线:连接计算机系统之间或计算机与其他系统之间的信息传输线。
-
总线性能
包括总线宽度、总线带宽、时钟同步/异步、总线复用、信号线数、总线控制方式及负载能力等。
总线结构
总线控制
1. 总线判优控制
链式查询
计数器定时查询
独立请求方式
2. 总线的通信控制
同步通信
异步通信
半同步通信
第四章 存储器
主存储器
对于一定容量的存储器,按字节访问或按字访问的寻址范围是不同的。
例如,一个容量为16 MB的存储器
**按字节寻址:**寻址范围是 16 M,正好对应24根地址线( 2 24 = 16 M 2^{24}=16 M 224=16M)。
**按字寻址:**寻址范围与字长有关。
- 若按16位长(2个字节)的存储字寻址,则寻址范围为8M。
- 末1位地址则为字节地址(16位对应2个字节,用1位地址表示高字节或低字节)。
- 高23位地址对应8 M( 2 23 = 8 M 2^{23}=8 M 223=8M)的寻址范围
- 若按32位长(4个字节)的存储字寻址,则寻址范围为4 M。
- 末2位地址则对应32位中的4个字节地址。
- 高22位地址对应4 M( 2 22 = 4 M 2^{22}=4 M 222=4M)的寻址范围
主存与CPU的连接
(1) 地址线的连接
- CPU的地址线数往往比存储芯片的地址线数要多。
- CPU地址线的低位与存储芯片的地址线相连。
- CPU地址线的高位或在存储芯片扩充时使用,或做其他用途,如做片选信号等。
例如:
设CPU地址线为16根A13 ~ A0当用1 K x 4 位的存储芯片,仅有10根地址线A9 ~ A0
可将CPU的低位地址A9 ~ A0与存储芯片地址线A9 ~ A0相连。当用16 K x 1位存储芯片时,则其地址线有14根A13 ~ A0
此时,可将CPU的低位地址A13 ~ A0与存储芯片地址线A13 ~ A0相连。
(2) 数据线的连接
- CPU的数据线数与存储芯片的数据线数也不一定相等。
- 必须对存储芯片扩位,使其数据位数与CPU的数据线数相等。
(3) 读/写命令线的连接
- CPU读/写命令线一般可直接与存储芯片的读/写控制端相连
- 通常高电平为读,低电平为写。
(4) 片选线的连接
- 片选线的连接是CPU与存储芯片连接的关键。
- 存储器由许多存储芯片叠加而成,哪一片被选中完全取决于该存储芯片的片选控制端是否能接收到来自CPU的片选有效信号。
- 片选有效信号:CPU的访存控制信号(低电平有效)
提高主存的可靠性:纠错编码技术
- 将原信息配置成汉明码。
- n位信息增加k位检测位就可组成具有一位纠错能力的汉明码
- k取值: 2 k ≥ n + k + 1 2^k\geq n+k+1 2k≥n+k+1
高速缓冲存储器
第五章 输入输出系统
输入输出系统的基本组成
I/O软件:将用户编制的程序(或数据)输入至主机内,将运算结果输送给用户,实现I/O系统与主机工作的协调。
I/O硬件:
- 带有接口的I/O系统中:接口模块、I/O设备
- 具有通道或I/O处理机的I/O系统中:通道(或I/O处理机)、设备控制器、I/O设备…
I/O与主机的联系方式
I/O的编址方式
- 存储器统一编址:I/O地址是存储器地址的一部分,影响了存储空间,可以用访存指令访问I/O。
- 独立编址I/O地址与存储器地址是分开的,不影响存储空间,但有专门的I/O指令访问I/O。
I/O的联络方式
- 对于十分缓慢的设备:采用立即响应方式联络;
- 对于与主机速度极不匹配的设备:采用异步方式联络;
- 对于要求与主机速度完全匹配的设备:采用同步方式联络。
I/O的传送方式
是指数据是串行传送还是并行传送。
I/O的连接方式
- 是指I/O与主机之间采用辐射式还是总线式连接。
- 现代计算机大多采用总线连接方式。
I/O 接口
I/O与主机交换信息的控制方式
程序查询方式
程序中断方式
DMA方式
- DMA方式是直接存储器存储方式
- 特点:主存和DMA接口之间有一条直接数据通路
周期窃取或周期挪用
- DMA方式传送数据不需经过CPU,因此不必中断现行程序,I/O与主机并行工作。
- 但当DMA接口与CPU同时访存时,要求CPU将总线的控制权交给DMA使用
DMA的传送方式
-
周期挪用
-
当I/O设备没有DMA请求时:CPU按程序的要求访问主存
-
当I/O设备有DMA请求时:
- 若CPU不在访存,I/O设备的访存请求与CPU未发生冲突。
- 若CPU正在访存,则必须待存取周期结束后,CPU再将总线占有权让出。
- 若I/O和CPU同时请求访存,出现了访存冲突,此刻CPU要暂时放弃总线占有权,由I/O设备挪用一个或几个存取周期。
- 若CPU不在访存,I/O设备的访存请求与CPU未发生冲突。
-
-
DMA与CPU交替访问主存
适用于CPU的工作周期比主存存取周期长的情况
例如:CPU的工作周期是 1.2 s,主存的存取周期小于0.6s
那么可将一个CPU周期分为C1和C2两个周期:C1专供DMA访存,C2专供CPU访存。
DMA 接口功能
(1) 向 CPU 申请 DMA 传送
(2) 处理总线 控制权的转交
(3) 管理 系统总线、控制 数据传送
(4) 确定 数据传送的 首地址和长度:修正 传送过程中的数据 地址 和 长度
(5) DMA 传送结束时,给出操作完成信号
DMA方式的接口电路
DMA的传送过程
- 预处理
① 指明数据传送方向是输入(主存写)还是输出(主存读)。
② 设备地址送至DMA接口中的设备地址寄存器DAR。
③ 主存首地址送至DMA接口中的主存地址计数器AR。
④ 传送数据字数送至DMA接口中的字计数器WC。
⑤ 启动设备。 - 数据传送
① 主存地址送总线
② 数据送I/O设备(或主存)
③ 修改主存地址。
④ 修改字计数器。
⑤ 直到数据块传送结束为止。 - 后处理
由中断服务程序作DMA结束处理,包括测试传送过程中是否出错,决定是否继续使用DMA 传送其他数据块等。
第六章
当浮点数 阶码等于或小于它所表示的最小数 时,不论尾数为何值,按机器零处理
第七章 指令系统
机器指令
地址格式 | 操作 | 访存次数 | 操作数寻址范围 | 备注 |
---|---|---|---|---|
四地址 | (A1)OP(A2) → A3 | 4 | 2 6 2^6 26 | A4指出下条指令地址 |
三地址 | (A1)OP(A2) → A3 | 4 | 2 8 2^8 28 | PC代替A4 |
二地址 | (A1)OP(A2) → A1 | 4 | 2 12 2^{12} 212 | A1代替A3 |
二地址 | (A1)OP(A2) → A2 | 4 | 2 12 2^{12} 212 | A2代替A3 |
二地址 | (A1)OP(A2) → ACC | 3 | 2 12 2^{12} 212 | ACC存放结果 |
一地址 | (ACC)OP(A1) → ACC | 2 | 2 24 2^{24} 224 | ACC存放操作数和结果 |
寻址方式
指令寻址
顺序寻址:通过程序计数器pc加1,自动形成下一条指令的地址;
跳跃寻址:通过转移类指令来实现。
数据寻址
立即寻址
直接寻址
隐含寻址
间接寻址
寄存器直接/间接寻址
基址寻址
变址寻址
相对寻址
堆栈寻址
RISC 技术
-
RISC的主要特点
- 选取使用频度较高的一些简单指令,复杂指令的功能由简单指令的组合来实现。
- 指令长度固定,指令格式种类少,寻址方式种类少。
- 只有LOAD/STORE指令访存,其余指令的操作都在寄存器之间进行。
- CPU中有多个通用寄存器。
- 控制器采用组合逻辑控制。
- 采用流水技术,大部分指令在1个时钟周期完成。
- 采用优化的编译程序。
-
CISC的主要特点
- 指令系统复杂庞大,各种指令使用频度相差很大。
- 指令字长不固定,指令格式多,寻址方式多。
- 可以访存的指令不受限制。
- CPU中设有专用寄存器。
- 各种指令执行时间相差很大,大多数指令需多个时钟周期才能完成。
- 控制器大多数采用微程序控制。
- 难以用优化编译生成高效的目标代码程序。
-
RISC和CISC的比较
- RISC更能充分利用VLSI芯片的面积。
- RISC更能提高运算速度。
- RISC便于设计,可降低成本,提高可靠性。
- RISC有利于编译程序代码优化。
- RISC不易实现指令系统兼容。
第八章 CPU的结构和功能
CPU的功能和组成
CPU包括控制器和运算器,负责协调并控制计算机各部件执行程序的指令序列,并要对数据进行加工。包括:
- 控制程序的顺序执行 (指令控制)
- 产生完成每条指令所需的控制命令 (操作控制)
- 对各种操作加以时间上的控制 (时间控制)
- 对数据进行算术运算和逻辑运算 (数据加工)
- 处理计算机在运行过程中出现的异常情况和特殊请求 (中断处理)
指令周期
指令周期的信息流
指令流水
流水线性能
吞吐率
-
吞吐率:在指令流水线中,单位时间内流水线所完成指令或输出结果的数量。
-
最大吞吐率:流水线在连续流动达到稳定状态后所获得的吞吐率。
对于m段的指令流水线(即m级流水)而言,若各段的时间均为 Δ t \Delta t Δt,则最大吞吐率为:
T P m a x = 1 Δ t T_{P_{max}}=\frac{1}{\Delta t} TPmax=Δt1 -
实际吞吐率:流水线完成n条指令的实际吞吐率。
对于m段的流水线而言,若各段的时间均为 Δ t \Delta t Δt,连续处理n条指令,除第一条指令需m Δ t \Delta t Δt外,其余(n-1)条指令,每隔 Δ t \Delta t Δt,就有一个结果输出,故实际吞吐率为:
T p = n m Δ t + ( n − 1 ) Δ t T_p=\frac{n}{m\Delta t+(n-1)\Delta t} Tp=mΔt+(n−1)Δtn
加速比
-
指m段流水线的速度与等功能的非流水线的速度之比。
-
设流水线各段时间均为 Δ t \Delta t Δt,则完成n条指令在m段流水线上共需 T = m Δ t + ( n − 1 ) Δ t T=m\Delta t+(n-1)\Delta t T=mΔt+(n−1)Δt时间。而在等效的非流水线上所需时间为: T ′ = n m Δ t T'=nm\Delta t T′=nmΔt。故加速比为:
S p = n m Δ t m Δ t + ( n − 1 ) Δ t = n m m + n − 1 S_p=\frac{nm\Delta t}{m\Delta t+(n-1)\Delta t}=\frac{nm}{m+n-1} Sp=mΔt+(n−1)ΔtnmΔt=m+n−1nm
效率
- 指流水线中各功能段的利用率。
E = m n Δ t m ( m + n − 1 ) Δ t = n m + n − 1 = S p m E=\frac{mn\Delta t}{m(m+n-1)\Delta t}=\frac{n}{m+n-1}=\frac{S_p}{m} E=m(m+n−1)ΔtmnΔt=m+n−1n=mSp
流水线中的多发技术
为了提高流水线的性能,设法在一个时钟周期(机器主频的倒数)内产生更多条指令
中断系统
- 不可屏蔽中断:这类中断CPU不能禁止响应(如电源掉电);
- 可屏蔽中断:这类中断 CPU可根据这些中断源是否被屏蔽来确定是否响应。
中断技术
-
设置中断请求标记
为了判断哪个中断源提出请求,中断系统需对每个中断源设置中断请求标记触发器INTR
当其状态为“1”时,表示中断源有请求。 -
设置中断判优逻辑
-
当多个中断源同时提出请求时,需通过中断判优逻辑确定响应哪个中断源的请求。
-
可以用硬件实现,也可用软件实现。
-
① 硬件排队
-
② 软件排队:软件排队是通过编写查询程序实现的
-
-
CPU响应中断的条件和时间
- 在中断系统中设置一个允许中断触发器EINT
仅当EINT=1(开中断)时,CPU可以响应中断源的请求。 - CPU 统一在每条指令执行周期结束时刻,发出【中断查询】信号
- 若查询到有中断请求,CPU进入中断周期;
- 若未查询到有中断请求,CPU则进入下一条指令的取指周期
- CPU—旦进入了中断周期,即执行一条中断隐指令,完成下列操作:
- ① 保护程序断点;
- ② 寻找中断服务程序入口地址;
- ③ 硬件关中断。
- 在中断系统中设置一个允许中断触发器EINT
-
保护现场
- 保护现场包括程序断点的保护和CPU内部各寄存器内容的保护。
- 程序断点的保护由中断隐指令完成
- CPU内部各寄存器内容的保护在中断服务程序中由用户(或系统)用机器指令编程实现
-
中断服务程序入口地址的寻找
-
通常有两种方法寻找中断服务程序的入口地址:硬件向量法 和 软件查询法。
-
硬件向量法:通过硬件产生向量地址,再由向量地址找到中断服务程序入口地址。
-
软件查询法是用软件编程的办法寻找入口地址
-
-
恢复现场和中断返回
- 恢复现场:指在中断返回前,必须将寄存器的内容恢复到中断处理前的状态,这部分工作由中断服务程序完成
- 中断返回:由中断服务程序的最后一条中断返回指令完成。
-
中断屏蔽技术
-
中断屏蔽技术主要用于多重中断
-
CPU要具备处理多重中断的功能,必须满足下列条件:
① 在中断服务程序中提前设置开中断指令
由于在中断周期内由中断隐指令自动完成了置“0”允许中断触发器EINT(关中断),因此只有在中断服务程序中用开中断指令置“1”EINT后,才能再次响应新的中断请求。
② 优先级别高的中断源有权中断优先级别低的中断源。
-
第九章 控制单元的功能
控制单元的外特性
微操作命令的分析
取指周期的微操作命令
间址周期的微操作命令
执行周期的微操作命令(视不同指令而定)
中断周期的微操作命令
多级时序系统
机器周期
- 机器周期:所有指令执行过程中的一个基准时间。
- 通常以存取周期作为基准时间。
在存储字长等于指令字长的前提下,取指周期也可看做机器周期。
时钟周期
- 时钟信号可由机器主振电路(如晶体振荡器)发出的脉冲信号经整形(或倍频、分频)后产生,时钟信号的频率即为机器主频。
- 用时钟信号控制节拍发生器,就可产生节拍。每个节拍的宽度正好对应一个时钟周期。
- 是控制计算机操作的最小时间单位。
指令周期、机器周期、节拍和时钟周期的关系
控制方式
-
同步控制方式
任何一条指令或指令中任何一个微操作的执行,都由事先确定且有统一基准时标的时序信号所控制的方式
-
方案一:采用定长的机器周期
特点是以最长的微操作序列和最烦琐的微操作作为标准,采取完全统一的、具有相同时间间隔和相同数目的节拍作为机器周期来运行各种不同的指令
-
方案二:采用不定长的机器周期
-
方案三:采用中央控制和局部控制相结合的方法
-
-
异步控制方式
异步控制方式不存在基准时标信号,没有固定的周期节拍和严格的时钟同步。这种方式微操作的时序由专门的应答线路控制,其结构比同步控制复杂。
-
联合控制方式
联合控制方式就是同步控制和异步控制相结合的方式。这种方式对不同指令的微操作实行 大部分统一、小部分区别对待的方式。如对每条指令的取指令操作采用同步控制,而对那些时间难以确定的微操作(如I/O操作)则采用异步控制。
第十章 控制单元的设计
微操作命令的节拍安排
(1) 取指周期微操作命令的节拍安排
T0 PC → MAR,1 → R
T1 M(MAR) → MDR,(PC) + 1 → PC
T2 MDR → IR,OP(IR) → ID
(2) 间指周期微操作命令的节拍安排
T0 Ad(IR) → MAR,1 → R
T1 M(MAR) → MDR
T2 MDR → Ad(IR)
(3) 执行周期微操作命令的节拍安排
① 清除累加器指令CLA
T0
T1
T2 0 → AC
② 累加器取反指令COM
T0
T1
T2
A
C
ˉ
→
A
C
\bar{AC} → AC
ACˉ→AC
③ 算术右移一位指令SHR
T0
T1
T2
L
(
A
C
)
→
R
(
A
C
)
,
A
C
0
→
A
C
0
L(AC) → R(AC) ,AC_0 → AC_0
L(AC)→R(AC),AC0→AC0
④ 循环左移一位指令CSL
T0
T1
T2
R
(
A
C
)
→
L
(
A
C
)
,
A
C
0
→
A
C
0
R(AC) → L(AC) ,AC_0 → AC_0
R(AC)→L(AC),AC0→AC0,记为
ρ
−
1
(
A
C
)
\rho^{-1}(AC)
ρ−1(AC)
⑤ 停机指令STP
T0
T1
T2 0 → G G为机器运行标志触发器
⑥ 加法指令ADD X
T0 Ad(IR) → MAR,1 → R
T1 M(MAR) → MDR
T2 (AC)+(MDR) → AC
⑦ 存数指令STA X
T0 Ad(IR) → MAR,l → W
T1 AC → MDR
T2 MDR → M(MAR)
⑧ 取数指令LDA X
T0 Ad(IR) → MAR,1 → R
T1 M(MAR)—MDR
T2 MDR → AC
⑨ 无条件转移指令JMP X
T0
T1
T2 Ad(IR) → PC
⑩有条件转移(负则转)指令BAN X
T0
T1
T2
A
0
⋅
A
d
(
I
R
)
+
A
0
ˉ
⋅
(
P
C
)
→
P
C
A_0 \cdot Ad(IR) +\bar{A_0} \cdot (PC)\rightarrow PC
A0⋅Ad(IR)+A0ˉ⋅(PC)→PC
(2) 中断周期微操作命令的节拍安排
T0 (SP) -1 → SP → MAR,1 → W,硬件关中断
T1 PC → MDR
T2 MDR → M(MAR),向量地址 → PC
微程序控制单元的基本组成
微指令的基本格式
微指令的编码方式
(1)直接编码方式 | (2)字段直接编码方式
微程序设计步骤
(1) 写出对应机器指令的微操作命令及节拍安排
- 在取指微程序中,除第一条微指令外,其余微指令的地址均由上一条微指令的下地址字段直接给出,因此上述每一条微指令都需增加 A d ( C M D R ) → C M A R Ad (CMDR)\rightarrow CMAR Ad(CMDR)→CMAR
- 取指微程序的最后一条微指令,其后续微指令的地址是由微地址形成部件形成的,而且也只能由下一个T的上升沿将该地址输入CMAR中,
为了反映该地址与操作码有关,故记为: O P ( I R ) → 微地址形成部件 → C M A R 。 OP(IR)\rightarrow 微地址形成部件\rightarrow CMAR。 OP(IR)→微地址形成部件→CMAR。
综上所述,考虑到需要形成后续微指令地址,上述分析的取指操作共需6条微指令完成。
T0 PC → MAR,1 → R
T1 Ad(CMDR) → CMAR
T2 M(MAR) → MDR,(PC)+1 → PC
T3 Ad(CMDR) → CMAR
T4 MDR → IR
T5 OP(IR) → 微地址形成部件 → CMAR
(2) 确定微指令格式
微指令格式包括微指令的编码方式、后续微指令地址的形成方式和微指令字长等。
仔细分析发现,在众多微指令中,有些微指令只 是为了控制将后续微指令地址输入到CMAR的操作,因此实际上是两个时钟周期才能读出并执 行一条微指令。如果将CMDR的下地址字段Ad(CMDR)直接接到控存的地址线上,并由下一个 时钟周期的上升沿将该地址单元的内容(微指令)读到CMDR中,便能做到一个时钟周期内读出并执行一条微指令。这就好比将Ad(CMDR)作为CMAR使用。所以,省去了两个微操作(微指令下地址字段Ad(CMDR) → CMAR和指令操作码OP(IR) → 微地址形成部件 → CMAR以及若干条微指令,缩短了微指令字长。
(3) 编写微指令码点
微指令的下地址字段直接给出,因此上述每一条微指令都需增加 A d ( C M D R ) → C M A R Ad (CMDR)\rightarrow CMAR Ad(CMDR)→CMAR
- 取指微程序的最后一条微指令,其后续微指令的地址是由微地址形成部件形成的,而且也只能由下一个T的上升沿将该地址输入CMAR中,
为了反映该地址与操作码有关,故记为: O P ( I R ) → 微地址形成部件 → C M A R 。 OP(IR)\rightarrow 微地址形成部件\rightarrow CMAR。 OP(IR)→微地址形成部件→CMAR。
综上所述,考虑到需要形成后续微指令地址,上述分析的取指操作共需6条微指令完成。
T0 PC → MAR,1 → R
T1 Ad(CMDR) → CMAR
T2 M(MAR) → MDR,(PC)+1 → PC
T3 Ad(CMDR) → CMAR
T4 MDR → IR
T5 OP(IR) → 微地址形成部件 → CMAR
(2) 确定微指令格式
微指令格式包括微指令的编码方式、后续微指令地址的形成方式和微指令字长等。
仔细分析发现,在众多微指令中,有些微指令只 是为了控制将后续微指令地址输入到CMAR的操作,因此实际上是两个时钟周期才能读出并执 行一条微指令。如果将CMDR的下地址字段Ad(CMDR)直接接到控存的地址线上,并由下一个 时钟周期的上升沿将该地址单元的内容(微指令)读到CMDR中,便能做到一个时钟周期内读出并执行一条微指令。这就好比将Ad(CMDR)作为CMAR使用。所以,省去了两个微操作(微指令下地址字段Ad(CMDR) → CMAR和指令操作码OP(IR) → 微地址形成部件 → CMAR以及若干条微指令,缩短了微指令字长。
(3) 编写微指令码点
根据操作控制字段每一位代表的微操作命令,编写每一条微指令的码点。