计算机组成原理(复习)

第一章 计算机系统概论

\1. 什么是计算机系统、计算机硬件和计算机软件?硬件和软件哪个更重要?

解:P3

计算机系统:由计算机硬件系统和软件系统组成的综合体。

计算机硬件:指计算机中的电子线路和物理装置。

计算机软件:计算机运行所需的程序及相关资料。

硬件和软件在计算机系统中相互依存,缺一不可,因此同样重要。

\5. 冯•诺依曼计算机的特点是什么?

解:冯•诺依曼计算机的特点是:P8

l 计算机由运算器、控制器、存储器、输入设备、输出设备五大部件组成;

l 指令和数据以同同等地位存放于存储器内,并可以按地址访问;

l 指令和数据均用二进制表示;

l 指令由操作码、地址码两大部分组成,操作码用来表示操作的性质,地址码用来表示操作数在存储器中的位置;

l 指令在存储器中顺序存放,通常自动顺序取出执行;

l 机器以运算器为中心(原始冯•诺依曼机)。

\7. 解释下列概念:

主机、CPU、主存、存储单元、存储元件、存储基元、存储元、存储字、存储字长、存储容量、机器字长、指令字长。

解:P9-10

主机:是计算机硬件的主体部分,由CPU和主存储器MM合成为主机。

CPU:中央处理器,是计算机硬件的核心部件,由运算器和控制器组成;(早期的运算器和控制器不在同一芯片上,现在的CPU内除含有运算器和控制器外还集成了CACHE)。

主存:计算机中存放正在运行的程序和数据的存储器,为计算机的主要工作存储器,可随机存取;由存储体、各种逻辑部件及控制电路组成。

存储单元:可存放一个机器字并具有特定存储地址的存储单位。

存储元件:存储一位二进制信息的物理元件,是存储器中最小的存储单位,又叫存储基元或存储元,不能单独存取。

存储字:一个存储单元所存二进制代码的逻辑单位。

存储字长:一个存储单元所存二进制代码的位数。

存储容量:存储器中可存二进制代码的总量;(通常主、辅存容量分开描述)。

机器字长:指CPU一次能处理的二进制数据的位数,通常与CPU的寄存器位数有关。

指令字长:一条指令的二进制代码位数。

\8. 解释下列英文缩写的中文含义:

CPU、PC、IR、CU、ALU、ACC、MQ、X、MAR、MDR、I/O、MIPS、CPI、FLOPS

解:全面的回答应分英文全称、中文名、功能三部分。

CPU:Central Processing Unit,中央处理机(器),是计算机硬件的核心部件,主要由运算器和控制器组成。

PC:Program Counter,程序计数器,其功能是存放当前欲执行指令的地址,并可自动计数形成下一条指令地址。

IR:Instruction Register,指令寄存器,其功能是存放当前正在执行的指令。

CU:Control Unit,控制单元(部件),为控制器的核心部件,其功能是产生微操作命令序列。

ALU:Arithmetic Logic Unit,算术逻辑运算单元,为运算器的核心部件,其功能是进行算术、逻辑运算。

ACC:Accumulator,累加器,是运算器中既能存放运算前的操作数,又能存放运算结果的寄存器。

MQ:Multiplier-Quotient Register,乘商寄存器,乘法运算时存放乘数、除法时存放商的寄存器。

X:此字母没有专指的缩写含义,可以用作任一部件名,在此表示操作数寄存器,即运算器中工作寄存器之一,用来存放操作数;

MAR:Memory Address Register,存储器地址寄存器,在主存中用来存放欲访问的存储单元的地址。

MDR:Memory Data Register,存储器数据缓冲寄存器,在主存中用来存放从某单元读出、或要写入某存储单元的数据。

I/O:Input/Output equipment,输入/输出设备,为输入设备和输出设备的总称,用于计算机内部和外界信息的转换与传送。

MIPS:Million Instruction Per Second,每秒执行百万条指令数,为计算机运算速度指标的一种计量单位。

\9. 画出主机框图,分别以存数指令“STA M”和加法指令“ADD M”(M均为主存地址)为例,在图中按序标出完成该指令(包括取指令阶段)的信息流程(如→①)。假设主存容量为256M*32位,在指令字长、存储字长、机器字长相等的条件下,指出图中各寄存器的位数。

解:主机框图如P13图1.11所示。

(1)STA M指令:PC→MAR,MAR→MM,MM→MDR,MDR→IR,

OP(IR) →CU,Ad(IR) →MAR,ACC→MDR,MAR→MM,WR

(2)ADD M指令:PC→MAR,MAR→MM,MM→MDR,MDR→IR,

​ OP(IR) →CU,Ad(IR) →MAR,RD,MM→MDR,MDR→X,ADD,ALU→ACC,ACC→MDR,WR

假设主存容量256M*32位,在指令字长、存储字长、机器字长相等的条件下,ACC、X、IR、MDR寄存器均为32位,PC和MAR寄存器均为28位。

\11. 指令和数据都存于存储器中,计算机如何区分它们?

解:计算机区分指令和数据有以下2种方法:

l 通过不同的时间段来区分指令和数据,即在取指令阶段(或取指微程序)取出的为指令,在执行指令阶段(或相应微程序)取出的即为数据。

l 通过地址来源区分,由PC提供存储单元地址的取出的是指令,由指令地址码部分提供存储单元地址的取出的是操作数。

第3章 系统总线

\1. 什么是总线?总线传输有何特点?为了减轻总线负载,总线上的部件应具备什么特点?

答:P41.总线是多个部件共享的传输部件。

总线传输的特点是:某一时刻只能有一路信息在总线上传输,即分时使用。

为了减轻总线负载,总线上的部件应通过三态驱动缓冲电路与总线连通。

\4. 为什么要设置总线判优控制?常见的集中式总线控制有几种?各有何特点?哪种方式响应时间最快?哪种方式对电路故障最敏感?

答:总线判优控制解决多个部件同时申请总线时的使用权分配问题;

常见的集中式总线控制有三种:链式查询、计数器定时查询、独立请求;

特点:链式查询方式连线简单,易于扩充,对电路故障最敏感;计数器定时查询方式优先级设置较灵活,对故障不敏感,连线及控制过程较复杂;独立请求方式速度最快,但硬件器件用量大,连线多,成本较高。

\5. 解释下列概念:总线宽度、总线带宽、总线复用、总线的主设备(或主模块)、总线的从设备(或从模块)、总线的传输周期和总线的通信控制。

答:P46。

总线宽度:通常指数据总线的根数;

总线带宽:总线的数据传输率,指单位时间内总线上传输数据的位数;

总线复用:指同一条信号线可以分时传输不同的信号。

总线的主设备(主模块):指一次总线传输期间,拥有总线控制权的设备(模块);

总线的从设备(从模块):指一次总线传输期间,配合主设备完成数据传输的设备(模块),它只能被动接受主设备发来的命令;

总线的传输周期:指总线完成一次完整而可靠的传输所需时间;

总线的通信控制:指总线传送过程中双方的时间配合方式。

\6. 比较同步通信和异步通信。

答:同步通信:指由统一时钟控制的通信,控制方式简单,灵活性差,当系统中各部件工作速度差异较大时,总线工作效率明显下降。适合于速度差别不大的场合。

异步通信:指没有统一时钟控制的通信,部件间采用应答方式进行联系,控制方式较同步复杂,灵活性高,当系统中各部件工作速度差异较大时,有利于提高总线工作效率。

\7. 画图说明异步通信中请求与回答有几种互锁关系

image-20211226210531110

1)不互锁方式:

主模块发出请求请求信号后,不必等待从模块的回答信号,而是经过一段时间,确认从模块已收到请求信号后,便撤销其请求信号;从模块接收请求信号后,在条件允许时发出回答信号,并且经过一段时间(这段时间的设置对不同设备而言是不同的)确认主模块已收到回答信号后,自动撤销回答信号。

2)半互锁方式:

主模块发出请求信号,必须待接到从模块的回答信号后再撤销其请求信号,有互锁关系;而从模块在接到请求信号后发出回答信号,但不必等待获知主模块的请求信号已经撤销,而是隔一段时间后自动撤销其回答信号,无互锁关系。由于一方存在互锁关系,一方不存在互锁关系,故称为半互锁方式。

3)全互锁方式:

主模块发出请求信号后,必须待从模块回答后再撤销其请求信号;从模块发出回答信号后,必须待获知主模块请求信号已撤销后,再撤回其回答信号。双方存在互锁关系,故称为全互锁方式。

\8. 为什么说半同步通信同时保留了同步通信和异步通信的特点?

答:半同步通信既能像同步通信那样由统一时钟控制,又能像异步通信那样允许传输时间不一致,因此工作效率介于两者之间。

3.14 设总线的时钟频率为8MHz,一个总线周期等于一个时钟周期。如果一个总线周期中并行传送16位数据,试问总线的带宽是多少?
解;总线宽度 = 16位/8 =2B 总线带宽 = 8MHz×2B =16MB/s

3.15 在一个32位的总线系统中,总线的时钟频率为66MHz,假设总线最短传输周期为4个时钟周期,试计算总线的最大数据传输率。若想提高数据传输率,可采取什么措施?
解法1: 总线宽度 =32位/8 =4B 时钟周期 =1/ 66MHz =0.015µs
总线最短传输周期 =0.015µs×4 =0.06µs
总线最大数据传输率 = 4B/0.06µs =66.67MB/s

解法2: 总线工作频率 = 66MHz/4 =16.5MHz 总线最大数据传输率=16.5MHz×4B =66MB/s
若想提高总线的数据传输率,可提高总线的时钟频率,或减少总线周期中的时钟个数,或增加总线宽度。

3.16 在异步串行传送系统中,字符格式为:1个起始位、8个数据位、1个校验位、2个终止位。若要求每秒传送120个字符,试求传送的波特率和比特率。
解: 一帧 =1+8+1+2 =12位 波特率 =120帧/秒×12位=1440波特
比特率 = 1440波特×(8/12)=960bps或:比特率 = 120帧/秒×8 =960bps

第4章 存储器

\1. 解释概念:主存、辅存、Cache、RAM、SRAM、DRAM、ROM、PROM、EPROM、EEPROM、CDROM、Flash Memory。

答:主存:主存储器,用于存放正在执行的程序和数据。CPU可以直接进行随机读写,访问速度较高。

辅存:辅助存储器,用于存放当前暂不执行的程序和数据,以及一些需要永久保存的信息。

Cache:高速缓冲存储器,介于CPU和主存之间,用于解决CPU和主存之间速度不匹配问题。

RAM:半导体随机存取存储器,主要用作计算机中的主存。

SRAM:静态半导体随机存取存储器。

DRAM:动态半导体随机存取存储器。

ROM:掩膜式半导体只读存储器。由芯片制造商在制造时写入内容,以后只能读出而不能写入。

PROM:可编程只读存储器,由用户根据需要确定写入内容,只能写入一次。

EPROM:紫外线擦写可编程只读存储器。需要修改内容时,现将其全部内容擦除,然后再编程。擦除依靠紫外线使浮动栅极上的电荷泄露而实现。

EEPROM:电擦写可编程只读存储器。

CDROM:只读型光盘。

Flash Memory:闪速存储器。或称快擦型存储器。

\3. 存储器的层次结构主要体现在什么地方?为什么要分这些层次?计算机如何管理这些层次?

答:存储器的层次结构主要体现在Cache-主存和主存-辅存这两个存储层次上。

Cache-主存层次在存储系统中主要对CPU访存起加速作用,即从整体运行的效果分析,CPU访存速度加快,接近于Cache的速度,而寻址空间和位价却接近于主存。

主存-辅存层次在存储系统中主要起扩容作用,即从程序员的角度看,他所使用的存储器其容量和位价接近于辅存,而速度接近于主存。

综合上述两个存储层次的作用,从整个存储系统来看,就达到了速度快、容量大、位价低的优化效果。

主存与CACHE之间的信息调度功能全部由硬件自动完成。而主存与辅存层次的调度目前广泛采用虚拟存储技术实现,即将主存与辅存的一部分通过软硬结合的技术组成虚拟存储器,程序员可使用这个比主存实际空间(物理地址空间)大得多的虚拟地址空间(逻辑地址空间)编程,当程序运行时,再由软、硬件自动配合完成虚拟地址空间与主存实际物理空间的转换。因此,这两个层次上的调度或转换操作对于程序员来说都是透明的。

\4. 说明存取周期和存取时间的区别。

解:存取周期和存取时间的主要区别是:存取时间仅为完成一次操作的时间,而存取周期不仅包含操作时间,还包含操作后线路的恢复时间。即:

存取周期 = 存取时间 + 恢复时间

\5. 什么是存储器的带宽?若存储器的数据总线宽度为32位,存取周期为200ns,则存储器的带宽是多少?

解:存储器的带宽指单位时间内从存储器进出信息的最大数量。

存储器带宽 = 1/200ns ×32位 = 160M位/秒 = 20MB/秒 = 5M字/秒

注意:字长32位,不是16位。(注:1ns=10-9s)

\6. 某机字长为32位,其存储容量是64KB,按字编址它的寻址范围是多少?若主存以字节编址,试画出主存字地址和字节地址的分配情况。

解:存储容量是64KB时,按字节编址的寻址范围就是64K,

如按字编址,其寻址范围为:64K / (32/8)= 16K

主存字地址和字节地址的分配情况:如图img

\7. 一个容量为16K×32位的存储器,其地址线和数据线的总和是多少?当选用下列不同规格的存储芯片时,各需要多少片?

1K×4位,2K×8位,4K×4位,16K×1位,4K×8位,8K×8位

解:地址线和数据线的总和 = 14 + 32 = 46根;

选择不同的芯片时,各需要的片数为:

1K×4:(16K×32) / (1K×4) = 16×8 = 128片

2K×8:(16K×32) / (2K×8) = 8×4 = 32片

4K×4:(16K×32) / (4K×4) = 4×8 = 32片

16K×1:(16K×32)/ (16K×1) = 1×32 = 32片

4K×8:(16K×32)/ (4K×8) = 4×4 = 16片

8K×8:(16K×32) / (8K×8) = 2×4 = 8片

\9. 什么叫刷新?为什么要刷新?说明刷新有几种方法。

解:刷新:对DRAM定期进行的全部重写过程;

刷新原因:因电容泄漏而引起的DRAM所存信息的衰减需要及时补充,因此安排了定期刷新操作;

常用的刷新方法有三种:集中式、分散式、异步式。

集中式:在最大刷新间隔时间内,集中安排一段时间进行刷新,存在CPU访存死时间。

分散式:在每个读/写周期之后插入一个刷新周期,无CPU访存死时间。

异步式:是集中式和分散式的折衷。

\10. 半导体存储器芯片的译码驱动方式有几种?

解:半导体存储器芯片的译码驱动方式有两种:线选法和重合法。

线选法:地址译码信号只选中同一个字的所有位,结构简单,费器材;

重合法:地址分行、列两部分译码,行、列译码线的交叉点即为所选单元。这种方法通过行、列译码信号的重合来选址,也称矩阵译码。可大大节省器材用量,是最常用的译码驱动方式。

\11. 一个8K×8位的动态RAM芯片,其内部结构排列成256×256形式,存取周期为0.1μs。试问采用集中刷新、分散刷新和异步刷新三种方式的刷新间隔各为多少?

解:采用分散刷新方式刷新间隔为:2ms,其中刷新死时间为:256×0.1μs=25.6μs

采用分散刷新方式刷新间隔为:256×(0.1μs+×0.1μs)=51.2μs

采用异步刷新方式刷新间隔为:2ms

\15. 设CPU共有16根地址线,8根数据线,并用img(低电平有效)作访存控制信号,img作读写命令信号(高电平为读,低电平为写)。现有下列存储芯片:ROM(2K×8位,4K×4位,8K×8位),RAM(1K×4位,2K×8位,4K×8位),及74138译码器和其他门电路(门电路自定)。试从上述规格中选用合适芯片,画出CPU和存储芯片的连接图。要求:

(1)最小4K地址为系统程序区,4096~16383地址范围为用户程序区。

(2)指出选用的存储芯片类型及数量。

(3)详细画出片选逻辑。

解:(1)地址空间分配图:

​ 系统程序区(ROM共4KB):0000H-0FFFH

​ 用户程序区(RAM共12KB):1000H-3FFFH

(2)选片:ROM:选择4K×4位芯片2片,位并联

​ RAM:选择4K×8位芯片3片,字串联(RAM1地址范围为:1000H-1FFFH,RAM2地址范围为2000H-2FFFH, RAM3地址范围为:3000H-3FFFH)

(3)各芯片二进制地址分配如下:

A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
ROM1,2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1
RAM1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1
RAM2 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1
RAM3 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0
0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1

CPU和存储器连接逻辑图及片选逻辑如下图(3)所示:

img图(3)

\17. 写出1100、1101、1110、1111对应的汉明码。

解:有效信息均为n=4位,假设有效信息用b4b3b2b1表示

校验位位数k=3位,(2k>=n+k+1)

设校验位分别为c1、c2、c3,则汉明码共4+3=7位,即:c1c2b4c3b3b2b1

校验位在汉明码中分别处于第1、2、4位

c1=b4⊕b3⊕b1

c2=b4⊕b2⊕b1

c3=b3⊕b2⊕b1

当有效信息为1100时,c3c2c1=110,汉明码为0111100。

当有效信息为1101时,c3c2c1=001,汉明码为1010101。

当有效信息为1110时,c3c2c1=000,汉明码为0010110。

当有效信息为1111时,c3c2c1=111,汉明码为1111111。

\18. 已知收到的汉明码(按配偶原则配置)为1100100、1100111、1100000、1100001,检查上述代码是否出错?第几位出错?

解:假设接收到的汉明码为:c1’c2’b4’c3’b3’b2’b1’

纠错过程如下:

P1=c1’⊕b4’⊕b3’⊕b1’

P2=c2’⊕b4’⊕b2’⊕b1’

P3=c3’⊕b3’⊕b2’⊕b1’

如果收到的汉明码为1100100,则p3p2p1=011,说明代码有错,第3位(b4’)出错,有效信息为:1100

如果收到的汉明码为1100111,则p3p2p1=111,说明代码有错,第7位(b1’)出错,有效信息为:0110

如果收到的汉明码为1100000,则p3p2p1=110,说明代码有错,第6位(b2’)出错,有效信息为:0010

如果收到的汉明码为1100001,则p3p2p1=001,说明代码有错,第1位(c1’)出错,有效信息为:0001

\24. 一个4体低位交叉的存储器,假设存储周期为T,CPU每隔1/4存取周期启动一个存储体,试问依次访问64个字需多少个存取周期?

解:4体低位交叉的存储器的总线传输周期为τ,τ=T/4,依次访问64个字所需时间为:

t=T+(64-1) τ=T+63T/4=16.75T

\25. 什么是“程序访问的局部性”?存储系统中哪一级采用了程序访问的局部性原理?

答:程序运行的局部性原理指:在一小段时间内,最近被访问过的程序和数据很可能再次被访问;在空间上,这些被访问的程序和数据往往集中在一小片存储区;在访问顺序上,指令顺序执行比转移执行的可能性大 (大约 5:1 )。存储系统中Cache-主存层次和主存-辅存层次均采用了程序访问的局部性原理。

\28. 设主存容量为256K字,Cache容量为2K字,块长为4。

(1)设计Cache地址格式,Cache中可装入多少块数据?

(2)在直接映射方式下,设计主存地址格式。

(3)在四路组相联映射方式下,设计主存地址格式。

(4)在全相联映射方式下,设计主存地址格式。

(5)若存储字长为32位,存储器按字节寻址,写出上述三种映射方式下主存的地址格式。

解:(1)Cache容量为2K字,块长为4,Cache共有2K/4=211/22=29=512块,

Cache字地址9位,字块内地址为2位

​ 因此,Cache地址格式设计如下:

Cache字块地址(9位) 字块内地址(2位)

(2)主存容量为256K字=218字,主存地址共18位,共分256K/4=216块,

主存字块标记为18-9-2=7位。

​ 直接映射方式下主存地址格式如下:

主存字块标记(7位) Cache字块地址(9位) 字块内地址(2位)

(3)根据四路组相联的条件,一组内共有4块,得Cache共分为512/4=128=27组,

主存字块标记为18-7-2=9位,主存地址格式设计如下:

主存字块标记(9位) 组地址(7位) 字块内地址(2位)

(4)在全相联映射方式下,主存字块标记为18-2=16位,其地址格式如下:

主存字块标记(16位) 字块内地址(2位)

(5)若存储字长为32位,存储器按字节寻址,则主存容量为256K*32/4=221B,

Cache容量为2K32/4=214B,块长为432/4=32B=25B,字块内地址为5位,

在直接映射方式下,主存字块标记为21-9-5=7位,主存地址格式为:

主存字块标记(7位) Cache字块地址(9位) 字块内地址(5位)

在四路组相联映射方式下,主存字块标记为21-7-5=9位,主存地址格式为:

主存字块标记(9位) 组地址(7位) 字块内地址(5位)

在全相联映射方式下,主存字块标记为21-5=16位,主存地址格式为:

主存字块标记(16位) 字块内地址(5位)

\29. 假设CPU执行某段程序时共访问Cache命中4800次,访问主存200次,已知Cache的存取周期为30ns,主存的存取周期为150ns,求Cache的命中率以及Cache-主存系统的平均访问时间和效率,试问该系统的性能提高了多少倍?

解:Cache被访问命中率为:4800/(4800+200)=24/25=96%

则Cache-主存系统的平均访问时间为:ta=0.9630ns+(1-0.96)150ns=34.8ns

Cache-主存系统的访问效率为:e=tc/ta100%=30/34.8100%=86.2%

性能为原来的150ns/34.8ns=4.31倍,即提高了3.31倍。

\30. 一个组相连映射的CACHE由64块组成,每组内包含4块。主存包含4096块,每块由128字组成,访存地址为字地址。试问主存和高速存储器的地址各为几位?画出主存地址格式。

解:cache组数:64/4=16 ,Cache容量为:64*128=213字,cache地址13位

主存共分4096/16=256区,每区16块

主存容量为:4096*128=219字,主存地址19位,地址格式如下:

主存字块标记(8位) 组地址(4位) 字块内地址(7位)

\32. 设某机主存容量为4MB,Cache容量为16KB,每字块有8个字,每字32位,设计一个四路组相联映射(即Cache每组内共有4个字块)的Cache组织。

(1)画出主存地址字段中各段的位数。

(2)设Cache的初态为空,CPU依次从主存第0,1,2,…,89号单元读出90个字(主存一次读出一个字),并重复按此次序读8次,问命中率是多少?

(3)若Cache的速度是主存的6倍,试问有Cache和无Cache相比,速度约提高多少倍?

解:(1)根据每字块有8个字,每字32位(4字节),得出主存地址字段中字块内地址为3+2=5位。

根据Cache容量为16KB=214B,字块大小为8*32/8=32=25B,得Cache地址共14位,Cache共有214-5=29块。

根据四路组相联映射,Cache共分为29/22=27组。

根据主存容量为4MB=222B,得主存地址共22位,主存字块标记为22-7-5=10位,故主存地址格式为:

主存字块标记(10位) 组地址(7位) 字块内地址(5位)

(2)由于每个字块中有8个字,而且初态为空,因此CPU读第0号单元时,未命中,必须访问主存,同时将该字所在的主存块调入Cache第0组中的任一块内,接着CPU读第1~7号单元时均命中。同理,CPU读第8,16,…,88号时均未命中。可见,CPU在连续读90个字中共有12次未命中,而后8次循环读90个字全部命中,命中率为:

img

(3)设Cache的周期为t,则主存周期为6t,没有Cache的访问时间为6t908,有Cache的访问时间为t(908-12)+6t12,则有Cache和无Cache相比,速度提高的倍数为:

img

第5章 输入输出系统

\1. I/O有哪些编址方式?各有何特点?

解:常用的I/O编址方式有两种: I/O与内存统一编址和I/O独立编址。

特点:I/O与内存统一编址方式的I/O地址采用与主存单元地址完全一样的格式,I/O设备和主存占用同一个地址空间,CPU可像访问主存一样访问I/O设备,不需要安排专门的I/O指令。

I/O独立编址方式时机器为I/O设备专门安排一套完全不同于主存地址格式的地址编码,此时I/O地址与主存地址是两个独立的空间,CPU需要通过专门的I/O指令来访问I/O地址空间。

3.I/O设备与主机交换信息时,有哪几种控制方式?简述他们的特点

答: (1)程序查询方式。其特点是主机与I/O串行工作。CPU启动I/O后,时刻查询I/O是否准备好,若设备准备就绪,CPU便转入处理I/O与主机间传送信息的程序;若设备未做好准备,则CPU反复查询,直到I/O准备就绪为止。可见这种方式CPU效率很低

(2)程序中断方式。其特点是主机与I/O并行工作。CPU启动I/O后,不必时刻查询I/O是否准备好,而是继续执行程序,当I/O准备就绪时。向CPU发中断请求信号,CPU在适当时候响应I/O的中断请求,暂停现行程序为I/O服务。这种方式消除了“踏步”现象,提高了CPU效率,(特点为:CPU与设备并行工作,传送与主程序串行工作)

(3)DMA方式。其特点是主机与I/O并行工作,主存和I/O之间有一条直接数据通路。CPU启动I/O后,不必查询I/O是否准备好,当I/O准备就绪后,发出DMA请求,此时CPU不参与I/O和主存间的信息交换,只是把外部总线(地址线、数据线以及有关的控制线)的使用权暂时赋予DMA,仍然可以完成自身内部的操作(如加法、位移等),故不必中断现行程序,只需暂停一个存取周期访存(即周期挪用),CPU的效率高,(特点为:CPU与设备并行工作,传送与主程序并行工作)

(4)通道方式。通道是一个具有特殊功能的处理器,CPU把部分权力下放给通道,由它实现对外围设备的统一管理和外围设备与主存之间的数据交换,大大提高了CPU的效率,但它是以花费更多的硬件为代价。

(5)I/O处理机方式。它是通道方式的进一步发展,CPU将I/O操作及外围设备的管理权全部交给I/O处理机,其实质是多机系统,因而效率有更大提高

\10. 什么是I/O接口,与端口有何区别?为什么要设置I/O接口?I/O接口如何分类?

解:I/O接口一般指CPU和I/O设备间的连接部件,而端口是指I/O接口内CPU能够访问的寄存器,端口加上相应的控制逻辑即构成I/O接口。

I/O接口分类方法很多,主要有:

(1)按数据传送方式分有并行接口和串行接口两种;

(2)按数据传送的控制方式分有程序控制接口、程序中断接口、DMA接口三种。

\12. 结合程序查询方式的接口电路,说明其工作过程。

解:程序查询接口工作过程如下(以输入为例):

1)CPU发I/O地址设备开始工作;地址总线®接口®设备选择器译码®选中®发SEL信号; 2)CPU发启动命令 DBR®开命令接收门; ® D置0,B置1 ® 接口向设备发启动命令;3)CPU等待,输入设备读出数据;4)外设工作完成,B置0,D置1;5)准备就绪信号®接口®完成信号®控制总线® CPU;6)输入:CPU通过输入指令(IN)将DBR中的数据取走。

若为输出,除数据传送方向相反以外,其他操作与输入类似。工作过程如下:

开命令接收门;®选中,发SEL信号®设备选择器译码®接口®地址总线®1)CPU发I/O地址 2)输出: CPU通过输出指令(OUT)将数据放入接口DBR中;设备开始工作;®接口向设备发启动命令® D置0,B置1 ® 3)CPU发启动命令 4)CPU等待,输出设备将数据从 DBR取走; B置0,D置1;®接口® 5)外设工作完成,完成信号 CPU,CPU可通过指令再次向接口DBR输出数据,进行第二次传送。®控制总线®6)准备就绪信号。

\13. 说明中断向量地址和入口地址的区别和联系。

解:中断向量地址和入口地址的区别:

向量地址是硬件电路(向量编码器)产生的中断源的内存地址编号,中断入口地址是中断服务程序首址。

中断向量地址和入口地址的联系:

中断向量地址可理解为中断服务程序入口地址指示器(入口地址的地址),通过它访存可获得中断服务程序入口地址。 (两种方法:在向量地址所指单元内放一条JMP指令;主存中设向量地址表。参考8.4.3)

\16. 在什么条件和什么时间,CPU可以响应I/O的中断请求?

解:CPU响应I/O中断请求的条件和时间是:当中断允许状态为1(EINT=1),且至少有一个中断请求被查到,则在一条指令执行完时,响应中断。

\28. CPU对DMA请求和中断请求的响应时间是否一样?为什么?

解: CPU对DMA请求和中断请求的响应时间不一样,因为两种方式的交换速度相差很大,因此CPU必须以更短的时间间隔查询并响应DMA请求。响应中断请求是在每条指令执行周期结束的时刻,而响应DMA请求是在存取周期结束的时刻。

中断方式是程序切换,而程序又是由指令组成,所以必须在一条指令执行完毕才能响应中断请求,而且CPU只有在每条指令执行周期结束的时刻才发出查询信号,以获取中断请求信号,若此时条件满足,便能响应中断请求。

DMA请求是由DMA接口根据设备的工作状态向CPU申请占用总线,此时只要总线未被CPU占用,即可立即响应DMA请求;若总线正被CPU占用,则必须等待该存取周期结束时,CPU才交出总线的使用权。

\31. 假设某设备向CPU传送信息的最高频率是40 000次/秒,而相应的中断处理程序其执行时间为40ms,试问该外设是否可用程序中断方式与主机交换信息,为什么?

解:该设备向CPU传送信息的时间间隔 =1/40000=0.025×10-3=25 m s < 40ms

则:该外设不能用程序中断方式与主机交换信息,因为其中断处理程序的执行速度比该外设的交换速度慢。

\32. 设磁盘存储器转速为3000转/分,分8个扇区,每扇区存储1K字节,主存与磁盘存储器数据传送的宽度为16位(即每次传送16位)。假设一条指令最长执行时间是25ms,是否可采用一条指令执行结束时响应DMA请求的方案,为什么?若不行,应采取什么方案?

解:先算出磁盘传送速度,然后和指令执行速度进行比较得出结论。

道容量= 1K ×8 ×8 位= 8KB = 4K字

数传率=4K字×3000转/分=4K字×50转/秒 =200K字/秒

一个字的传送时间=1/200K秒» 5ms (注:在此1K=1024,来自数据块单位缩写。)

因为5 ms<<25ms,所以不能采用一条指令执行结束响应DMA请求的方案,应采取每个CPU机器周期末查询及响应DMA请求的方案(通常安排CPU机器周期=MM存取周期)。

第6章 计算机的运算方法

\5. 已知[x]补,求[x]原和x。

[x1]补=1.1100; [x2]补=1.1001; [x3]补=0.1110; [x4]补=1.0000;

[x5]补=1,0101; [x6]补=1,1100; [x7]补=0,0111; [x8]补=1,0000;

解:[x]补与[x]原、x的对应关系如下:

[x]补 1.1100 1.1001 0.1110 1.0000 1,0101 1,1100 0,0111 1,0000
[x]原 1.0100 1.0111 0.1110 1,1011 1,0100 0,0111
x -0.0100 -0.0111 0.1110 -1 -1011 -100 0,0111 -10000

\9. 当十六进制数9B和FF分别表示为原码、补码、反码、移码和无符号数时,所对应的十进制数各为多少(设机器数采用一位符号位)?

解:真值和机器数的对应关系如下:

9BH 原码 补码 反码 移码 无符号数
对应十进制数 -27 -101 -100 +27 155
FFH 原码 补码 反码 移码 无符号数
对应十进制数 -128 -1 -0 +128 256

\14. 设浮点数字长为32位,欲表示±6万间的十进制数,在保证数的最大精度条件下,除阶符、数符各取1位外,阶码和尾数各取几位?按这样分配,该浮点数溢出的条件是什么?

解:若要保证数的最大精度,应取阶码的基值=2。

若要表示±6万间的十进制数,由于32768(215)< 6万 <65536(216),则:阶码除阶符外还应取5位(向上取2的幂)。

故:尾数位数=32-1-1-5=25位

​ 25(32) 该浮点数格式如下:

阶符(1位) 阶码(5位) 数符(1位) 尾数(25位)

按此格式,该浮点数上溢的条件为:阶码³25

\19. 设机器数字长为8位(含1位符号位),用补码运算规则计算下列各题。

(1)A=9/64, B=-13/32,求A+B。

(2)A=19/32,B=-17/128,求A-B。

(3)A=-3/16,B=9/32,求A+B。

(4)A=-87,B=53,求A-B。

(5)A=115,B=-24,求A+B。

解:(1)A=9/64= 0.001 0010B, B= -13/32= -0.011 0100B

​ [A]补=0.001 0010, [B]补=1.100 1100

[A+B]补= 0.0010010 + 1.1001100 = 1.1011110 ——无溢出

A+B= -0.010 0010B = -17/64

(2)A=19/32= 0.100 1100B, B= -17/128= -0.001 0001B

​ [A]补=0.100 1100, [B]补=1.110 1111 , [-B]补=0.001 0001

[A-B]补= 0.1001100 + 0.0010001= 0.1011101 ——无溢出

A-B= 0.101 1101B = 93/128B

(3)A= -3/16= -0.001 1000B, B=9/32= 0.010 0100B

[A]补=1.110 1000, [B]补= 0.010 0100

[A+B]补= 1.1101000 + 0.0100100 = 0.0001100 —— 无溢出

A+B= 0.000 1100B = 3/32

(4) A= -87= -101 0111B, B=53=110 101B

[A]补=1 010 1001, [B]补=0 011 0101, [-B]补=1 100 1011

[A-B]补= 1 0101001 + 1 1001011 = 0 1110100 —— 溢出

(5)A=115= 111 0011B, B= -24= -11 000B

[A]补=0 1110011, [B]补=1,110 1000

[A+B]补= 0 1110011 + 1 1101000 = 0 1011011——无溢出

A+B= 101 1011B = 91

26.按机器补码浮点运算步骤,计算[x±y]补.

(1)x=2-011× 0.101 100,y=2-010×(-0.011 100);

(2)x=2-011×(-0.100 010),y=2-010×(-0.011 111);

(3)x=2101×(-0.100 101),y=2100×(-0.001 111)。

解:先将x、y转换成机器数形式:

(1)x=2-011× 0.101 100,y=2-010×(-0.011 100)

[x]补=1,101;0.101 100, [y]补=1,110;1.100 100

[Ex]补=1,101, [y]补=1,110, [Mx]补=0.101 100, [My]补=1.100 100

1)对阶:

[DE]补=[Ex]补+[-Ey]补 = 11,101+ 00,010=11,111 < 0,

应Ex向Ey对齐,则:[Ex]补+1=11,101+00,001=11,110 = [Ey]补

[x]补=1,110;0.010 110

2)尾数运算:

[Mx]补+[My]补= 0.010 110 + 11.100 100=11.111010

[Mx]补+[-My]补=0.010 110 + 00.011100= 00.110 010

3)结果规格化:

[x+y]补=11,110;11.111 010 = 11,011;11.010 000 (尾数左规3次,阶码减3)

[x-y]补=11,110;00.110 010, 已是规格化数。

4)舍入:无

5)溢出:无

则:x+y=2-101×(-0.110 000)

x-y =2-010×0.110 010

(2)x=2-011×(-0.100010),y=2-010×(-0.011111)

[x]补=1,101;1.011 110, [y]补=1,110;1.100 001

1)对阶:过程同(1)的1),则

[x]补=1,110;1.101 111

2)尾数运算:

[Mx]补+[My]补= 11.101111 + 11. 100001 = 11.010000

[Mx]补+[-My]补= 11.101111 + 00.011111 = 00.001110

3)结果规格化:

[x+y]补=11,110;11.010 000,已是规格化数

[x-y]补=11,110;00.001 110 =11,100;00.111000 (尾数左规2次,阶码减2)

4)舍入:无

5)溢出:无

则:x+y=2-010×(-0.110 000)

x-y =2-100×0.111 000

(3)x=2101×(-0.100 101),y=2100×(-0.001 111)

[x]补=0,101;1.011 011, [y]补=0,100;1.110 001

1)对阶:

[DE]补=00,101+11,100=00,001 >0,应Ey向Ex对齐,则:

[Ey]补+1=00,100+00,001=00,101=[Ex]补

[y]补=0,101;1.111 000(1)

2)尾数运算:

[Mx]补+[My]补= 11.011011+ 11.111000(1)= 11.010011(1)

[Mx]补+[-My]补= 11.011011+ 00.000111(1)= 11.100010(1)

3)结果规格化:

[x+y]补=00,101;11.010 011(1),已是规格化数

[x-y]补=00,101;11.100 010(1)=00,100;11.000 101 (尾数左规1次,阶码减1)

4)舍入:

[x+y]补=00,101;11.010 011(舍)

[x-y]补 不变

5)溢出:无

则:x+y=2101×(-0.101 101)

x-y =2100×(-0.111 011)

第7章 指令系统

1.什么叫机器指令?什么叫指令系统?为什么说指令系统与机器的主要功能以及与硬件结构之间存在着密切的关系?

答:参考P300。

3.什么是指令字长、机器字长和存储字长?

答:第一章7题

6.对于二地址指令而言,操作数的物理地址可安排在什么地方?举例说明。

答:对于二地址指令而言,操作数的物理地址可安排在寄存器内、指令中或内存单元内等。

\8. 某机指令字长16位,每个操作数的地址码为6位,设操作码长度固定,指令分为零地址、一地址和二地址三种格式。若零地址指令有M条,一地址指令有N种,则二地址指令最多有几种?若操作码位数可变,则二地址指令最多允许有几种?

解:1)若采用定长操作码时,二地址指令格式如下:

OP(4位) A1(6位) A2(6位)

设二地址指令有K种,则:K=24-M-N

当M=1(最小值),N=1(最小值)时,二地址指令最多有:Kmax=16-1-1=14种

2)若采用变长操作码时,二地址指令格式仍如1)所示,但操作码长度可随地址码的个数而变。此时,K= 24 -(N/26 + M/212 );

当(N/26 + M/212 )£1时(N/26 + M/212 向上取整),K最大,则二地址指令最多有:

Kmax=16-1=15种(只留一种编码作扩展标志用。)

\16. 某机主存容量为4M´16位,且存储字长等于指令字长,若该机指令系统可完成108种操作,操作码位数固定,且具有直接、间接、变址、基址、相对、立即等六种寻址方式,试回答:(1)画出一地址指令格式并指出各字段的作用;

(2)该指令直接寻址的最大范围;

(3)一次间址和多次间址的寻址范围;

(4)立即数的范围(十进制表示);

(5)相对寻址的位移量(十进制表示);

(6)上述六种寻址方式的指令哪一种执行时间最短?哪一种最长?为什么?哪一种便于程序浮动?哪一种最适合处理数组问题?

(7)如何修改指令格式,使指令的寻址范围可扩大到4M?

(8)为使一条转移指令能转移到主存的任一位置,可采取什么措施?简要说明之。

解:(1)单字长一地址指令格式:

OP(7位) M(3位) A(6位)

​ OP为操作码字段,共7位,可反映108种操作;

​ M为寻址方式字段,共3位,可反映6种寻址操作;

​ A为地址码字段,共16-7-3=6位。

(2)直接寻址的最大范围为26=64。

(3)由于存储字长为16位,故一次间址的寻址范围为216;若多次间址,需用存储字的最高位来区别是否继续间接寻址,故寻址范围为215。

(4)立即数的范围为-32——31(有符号数),或0——63(无符号数)。

(5)相对寻址的位移量为-32——31。

(6)上述六种寻址方式中,因立即数由指令直接给出,故立即寻址的指令执行时间最短。间接寻址在指令的执行阶段要多次访存(一次间接寻址要两次访存,多次间接寻址要多次访存),故执行时间最长。变址寻址由于变址寄存器的内容由用户给定,而且在程序的执行过程中允许用户修改,而其形式地址始终不变,故变址寻址的指令便于用户编制处理数组问题的程序。相对寻址操作数的有效地址只与当前指令地址相差一定的位移量,与直接寻址相比,更有利于程序浮动。

(7)方案一:为使指令寻址范围可扩大到4M,需要有效地址22位,此时可将单字长一地址指令的格式改为双字长,如下图示:

OP(7位) MOD(3位) A(高6位)
A(低16位)

方案二:如果仍采用单字长指令(16位)格式,为使指令寻址范围扩大到4M,可通过段寻址方案实现。安排如下:

硬件设段寄存器DS(16位),用来存放段地址。在完成指令寻址方式所规定的寻址操作后,得有效地址EA(6位),再由硬件自动完成段寻址,最后得22位物理地址。 即:物理地址=(DS)´26 + EA

注:段寻址方式由硬件隐含实现。在编程指定的寻址过程完成、EA产生之后由硬件自动完成,对用户是透明的。

方案三:在采用单字长指令(16位)格式时,还可通过页面寻址方案使指令寻址范围扩大到4M。安排如下:

硬件设页面寄存器PR(16位),用来存放页面地址。指令寻址方式中增设页面寻址。当需要使指令寻址范围扩大到4M时,编程选择页面寻址方式,则:EA =(PR)‖A (有效地址=页面地址“拼接”6位形式地址),这样得到22位有效地址。

(8)为使一条转移指令能转移到主存的任一位置,寻址范围须达到4M,除了采用(7) 方案一中的双字长一地址指令的格式外,还可配置22位的基址寄存器或22位的变址寄存器,使EA = (BR) + A (BR为22位的基址寄存器)或EA =(IX)+ A(IX为22位的变址寄存器),便可访问4M存储空间。还可以通过16位的基址寄存器左移6位再和形式地址A相加,也可达到同样的效果。

总之,不论采取何种方式,最终得到的实际地址应是22位。

第8章 CPU的结构和功能

\1. CPU有哪些功能?画出其结构框图并简要说明各个部件的作用。

答:参考P328和图8.2。

\2. 什么是指令周期?指令周期是否有一个固定值?为什么?

解:指令周期是指取出并执行完一条指令所需的时间。

由于计算机中各种指令执行所需的时间差异很大,因此为了提高CPU运行效率,即使在同步控制的机器中,不同指令的指令周期长度都是不一致的,也就是说指令周期对于不同的指令来说不是一个固定值。

\3. 画出指令周期的流程图,分析说明图中每个子周期的作用。

答:参看P343及图8.8。

\5. 中断周期前是什么阶段?中断周期后又是什么阶段?在中断周期CPU应完成什么操作?

答:中断周期前是执行周期,中断周期后是取指周期。在中断周期,CPU应完成保存断点、将中断向量送PC和关中断等工作。

\17. 在中断系统中INTR、INT、EINT三个触发器各有何作用?

解:INTR——中断请求触发器,用来登记中断源发出的随机性中断请求信号,以便为CPU查询中断及中断排队判优线路提供稳定的中断请求信号。

EINT——中断允许触发器,CPU中的中断总开关。当EINT=1时,表示允许中断(开中断),当EINT=0时,表示禁止中断(关中断)。其状态可由开、关中断等指令设置。

INT——中断标记触发器,控制器时序系统中周期状态分配电路的一部分,表示中断周期标记。当INT=1时,进入中断周期,执行中断隐指令的操作。

\24. 现有A、B、C、D四个中断源,其优先级由高向低按A、B、C、D顺序排列。若中断服务程序的执行时间为20µs,请根据下图所示时间轴给出的中断源请求中断的时刻,画出CPU执行程序的轨迹。

解:A、B、C、D的响优先级即处理优先级。CPU执行程序的轨迹图如下:

img

\25. 某机有五个中断源L0、L1、L2、 L3、L4,按中断响应的优先次序由高向低排序为L0® L1®L2®L3®L4,根据下示格式,现要求中断处理次序改为L1®L4®L2®L0®L3,根据下面的格式,写出各中断源的屏蔽字。

解:各中断源屏蔽状态见下表:

中断源 屏蔽字
0 1 2 3 4
I0 1 0 0 1 0
I1 1 1 1 1 1
I2 1 0 1 1 0
I3 0 0 0 1 0
I4 1 0 1 1 1

表中:设屏蔽位=1,表示屏蔽;屏蔽位=0,表示中断开放。

第9章 控制单元的功能

\3. 什么是指令周期、机器周期和时钟周期?三者有何关系?

答:CPU每取出并执行一条指令所需的全部时间叫指令周期;

机器周期是在同步控制的机器中,执行指令周期中一步相对完整的操作(指令步)所需时间,通常安排机器周期长度等于主存周期;

时钟周期是指计算机主时钟的周期时间,它是计算机运行时最基本的时序单位,对应完成一个微操作所需时间,通常时钟周期等于计算机主频的倒数。

\4. 能不能说机器的主频越快,机器的速度就越快,为什么?

解:不能说机器的主频越快,机器的速度就越快。因为机器的速度不仅与主频有关,还与数据通路结构、时序分配方案、ALU运算能力、指令功能强弱等多种因素有关,要看综合效果。

\5. 设机器A的主频为8MHz,机器周期含4个时钟周期,且该机的平均指令执行速度是0.4MIPS,试求该机的平均指令周期和机器周期,每个指令周期中含几个机器周期?如果机器B的主频为12MHz,且机器周期也含4个时钟周期,试问B机的平均指令执行速度为多少MIPS?

解:先通过A机的平均指令执行速度求出其平均指令周期,再通过主频求出时钟周期,然后进一步求出机器周期。B机参数的算法与A机类似。计算如下:

A机平均指令周期=1/0.4MIPS=2.5µs

A机时钟周期=1/8MHz=125ns

A机机器周期=125ns×4=500ns=0.5µs

A机每个指令周期中含机器周期个数=2.5µs÷0.5µs=5个

B机时钟周期 =1/12MHz»83ns

B机机器周期 =83ns×4=332ns

设B机每个指令周期也含5个机器周期,则:

B机平均指令周期=332ns×5=1.66µs

B机平均指令执行速度=1/1.66µs=0.6MIPS

结论:主频的提高有利于机器执行速度的提高。

\6. 设某机主频为8MHz,每个机器周期平均含2个时钟周期,每条指令平均有4个机器周期,试问该机的平均指令执行速度为多少MIPS?若机器主频不变,但每个机器周期平均含4个时钟周期,每条指令平均有4个机器周期,则该机的平均指令执行速度又是多少MIPS?由此可得出什么结论?

解:先通过主频求出时钟周期,再求出机器周期和平均指令周期,最后通过平均指令周期的倒数求出平均指令执行速度。计算如下:

时钟周期=1/8MHz=0.125×10-6s

机器周期=0.125×10-6s×2=0.25×10-6s

平均指令周期=0.25×10-6s×4=10-6s

平均指令执行速度=1/10-6s=1MIPS

当参数改变后:机器周期= 0.125×10-6s×4=0.5×10-6s

平均指令周期=0.5×10-6s×4=2×10-6s

平均指令执行速度=1/(2×10-6s) =0.5MIPS

结论:两个主频相同的机器,执行速度不一定一样。

\11. 设CPU内部结构如图9.4所示,此外还设有B、C、D、E、H、L六个寄存器,它们各自的输入和输出端都与内部总线相通,并分别受控制信号控制(如Bi为寄存器B的输入控制;Bo为B的输出控制)。要求从取指令开始,写出完成下列指令所需的全部微操作和控制信号。

(1)ADD B,C ((B)+(C) ®B)

(2)SUB A,H ((AC)-(H) ®AC)

解:先画出相应指令的流程图,然后将图中每一步数据通路操作分解成相应的微操作,再写出同名的微命令即可。

(1) ADD B,C指令流程及微命令序列如下:

img![img](file:///C:/Users/浅/AppData/Local/Temp/msohtmlclip1/01/clip_image002.gif)

(2) SUB A,H指令流程及微命令序列如下:

imgimg

第10章 控制单元的设计

\2. 写出完成下列指令的微操作及节拍安排(包括取指操作)。

(1)指令ADD R1,X完成将R1寄存器的内容和主存X单元的内容相加,结果存于R1的操作。

(2)指令ISZ X完成将主存X单元的内容增1,并根据其结果若为0,则跳过下一条指令执行。

解:设采用单总线结构的CPU数据通路如下图所示,且ALU输入端设两个暂存器C、D(见17题图)。并设采用同步控制,每周期3节拍:

img

(1)指令ADD R1,X的微操作及节拍安排如下:

取指周期:T0 PC®MAR,1® R

T1 M(MAR) ®MDR,PC+1®PC

T2 MDR®IR,OP(IR) ®ID

执行周期1:T0 Ad(IR)®MAR,1®R

​ T1 M(MAR) ®MDR

T2 MDR®D

执行周期2:T0 R1®C

T1 +

T2 ALU®R1

(2)指令ISZ X的微操作及节拍安排:

取指周期同(1):略

执行周期1: T0 Ad(IR)-MAR,1-R

​ T1 M(MAR)-MDR

T2 MDR-C,+1-ALU

执行周期2:T0 ALU-MDR,1-W

T1 (PC+1)·Z+ PC-PC

\15. 设控制存储器的容量为512×48位,微程序可在整个控存空间实现转移,而控制微程序转移的条件共有4个(采用直接控制),微指令格式如下:

解:因为控制存储器共有51248=2948

所以,下址字段应有9位,微指令字长48位

又因为控制微程序转移的条件有4个,4+1<=23

所以判断测试字段占3位

因此控制字段位数为:48-9-3=36

微指令格式为:

48 13 12 10 9 1

控制字段 测试字段 下址字段

Tags: