资源描述
1.11 指令和数据都存于存储器中,计算机如何区分它们?
解:计算机区分指令和数据有以下2 种方法:
l 通过不同的时间段来区分指令和数据,即在取指令阶段(或取指微程序)取出的为指令,
在执行指令阶段(或相应微程序)取出的即为数据。
l 通过地址来源区分,由PC 提供存储单元地址的取出的是指令,由指令地址码部分提供
存储单元地址的取出的是操作数。
4.5 什么是存储器的带宽?若存储器的数据总线宽度为32位,存取周期为200ns,则存储器的带宽是多少?
答:存储器的带宽是指单位时间内存储器存取的信息量,单位可用字/秒或字节/秒或位/秒表示。
由数据总线宽度为32位,存取周期为200ns,得存储器的带宽为:
32位/200ns=160×106位/秒=160M位/秒4.16 CPU 假设同上题,现有8 片8K×8 位的RAM 芯片与CPU 相连,试回答:
(1)用74138 译码器画出CPU 与存储芯片的连接图;
(2)写出每片RAM 的地址范围;
(3)如果运行时发现不论往哪片RAM 写入数据后,以A000H 为起始地址的存储芯片都有与
其相同的数据,分析故障原因。
(4)根据(1)的连接图,若出现地址线A13 与CPU 断线,并搭接到高电平上,将出现什
么后果?
解:(1)CPU 与存储器芯片连接逻辑图:
(2)地址空间分配图:
RAM0:0000H-1FFFH
RAM1:2000H-3FFFH
RAM2:4000H-5FFFH
RAM3:6000H-7FFFH
RAM4:8000H-9FFFH
RAM5:A000H-BFFFH
RAM6:C000H-DFFFH
RAM7:E000H-FFFFH
(3)如果运行时发现不论往哪片RAM 写入数据后,以A000H 为起始地址的存储芯片(RAM5)都有与其相同的数据,则根本的故障原因为:该存储芯片的片选输入端很可能总是处于低电平。
假设芯片与译码器本身都是好的,可能的情况有:
1)该片的-CS 端与-WE 端错连或短路;
2)该片的-CS 端与CPU 的-MREQ 端错连或短路;
3)该片的-CS 端与地线错连或短路。
(4)如果地址线A13 与CPU 断线,并搭接到高电平上,将会出现A13 恒为“1”的情况。此时存储器只能寻址A13=1 的地址空间(奇数片),A13=0 的另一半地址空间(偶数片)将永远访问不到。若对A13=0 的地址空间(偶数片)进行访问,只能错误地访问到A13=1 的对应空间(奇数片)中去。
4.38 磁盘组有6片磁盘,最外两侧盘面可以记录,存储区域内径22cm,外径33cm,道密度为40道/cm,内层密度为400位/cm,转速3600转/分。
(1)共有多少存储面可用?
(2)共有多少柱面?
(3)盘组总存储容量是多少?
(4)数据传输率是多少?
解:(1) 共有12个存储面可用
(2) 有效存储区域=33/2-22/2=5.5(cm)
道密度=40道/cm, 所以 40*5.5=220道, 即220个柱面。
(3) 内层磁道周长为2πR=2*3.14*11=69.08(cm)
每道信息量=400位/ cm*69.08 cm=27632位=3454B
每面信息量=3454B*220=759880B
盘组总容量=759880B*12=9118560B
(4) 磁盘数据传输率Dr=n·N
N为每条磁道容量, 即N=3454B
n为磁盘转速, 即n=3600转/60秒=60转/秒
Dr= n·N =60*3454B=207240B/s
5.3 I/O设备与主机交换信息时,共有哪几种控制方式?简述它们的特点。
答:I/O设备与主机交换信息的控制方式有:
(1)程序查询方式。其特点是主机与I/O串行工作。CPU启动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的效率。
(3)DMA方式。其特点是主机与I/O并行工作,主存与I/O之间有一条直接数据通路。CPU启动I/O后,不必查询I/O是否准备好,当I/O准备就绪后,发出DMA请求,此时CPU不直接参与I/O和主存间的信息交换,只是把外部总线(地址线、数据线和有关的控制线)的使用权暂时交赋予DMA,仍然可以完成自身内部的操作(如加法、移位等),故不必中断现行程序,只需暂停一个存取周期访存(即周期挪用),CPU的效率更高。
(4)通道方式。通道是一个具有特殊功能的处理器,CPU把部分权力下放给通道,由它实现对外围设备的统一管理和外围设备与主存之间的数据交换,大大提高了CPU的效率,但它是以花费更多的硬件为代价的。
(5)I/O处理机方式。它是通道方式的进一步发展,CPU将I/O操作及外围设备的管理权全部交给I/O处理机,其实质是多机系统,因而效率有更大提高。
6.16 设机器数字长为16位,写出下列各种情况下它能表示的数的范围。设机器数采用1位符号位,答案均用十进制数表示。
(1)无符号数。
(2)原码表示的定点小数。
(3)补码表示的定点小数。
(4)原码表示的定点整数。
(5)补码表示的定点整数。
(6)浮点数的格式为:阶码6位(含1位阶符),尾数10位(含1位数符)。分别写出正数和负数的表示范围。
解:
(1)无符号数的范围:0~65535
(2)原码表示的定点小数的范围:-32767/32768~ +32767/32768(-1+2-15~1-2-15)
(3)补码表示的定点小数的范围:-1~ +32767/32768 (-1~1-2-15)
(4)原码表示的定点整数的范围:-32767~ +32767 (-215+1~215-1)
(5)补码表示的定点整数的范围:-32768~ +32767 (-215~215-1)
(6)正数表示范围:2-31×2-9~ 231×(1-2-9)
负数表示范围:-231×(1-2-9) ~ -231×2-9
7.14 设相对寻址的转移指令占两个字节,第一个字节是操作码,第二个字节是相对位移量,用补码表示。假设当前转移指令第一字节所在的地址为2000H,且CPU每取出一个字节便自动完成(PC)+1→PC的操作。试问当执行“JMP * +8”和“JMP * -9”指令时,转移指令第二字节的内容各为多少?
答:由于相对寻址的转移指令占两个字节,PC的当前值为2000H,当取出一条转移指令后,PC的值为2002H。
当执行“JMP * +8”指令时,该转移指令的相对位移量应为8-2=6,所以该指令的第二字节内容为06H。
当执行“JMP * -9”指令时,该转移指令的相对位移量应为-9-2=-11,所以该指令的第二字节内容为F5H。
8.5 中断周期前是什么阶段?中断周期后又是什么阶段?在中断周期CPU应完成什么操作?
答:中断周期前是执行周期,中断周期后是取指周期。
中断周期CPU完成下列操作:保存程序断点;硬件关中断;将向量地址送至程序计数器或将中断识别程序入口地址送至程序计数器。
9.4 能不能说CPU的主频越快,计算机的运行速度就越快?为什么?
答:不能说机器的主频越快,机器的速度就越快。因为机器的速度不仅与主频有关,还与机器周期中所含的时钟周期数以及指令周期中所含的机器周期数有关。同样主频的机器,由于机器周期所含时钟周期数不同,机器的速度也不同。机器周期中所含时钟周期数少的机器,速度更快。
9.14 设单总线计算机结构如下图所示,其中M为主存,XR为变址寄存器,EAR为有效地址寄存器,LATCH为锁存器。假设指令地址已存于PC中,画出“LDA * D”和“SUB X , D”指令周期信息流程图,并列出相应的控制信号序列。说明:
(1)“LDA * D”指令字中* 表示相对寻址,D为相对位移量。
(2)“SUB X , D”指令字中X为变址寄存器,D为形式地址。
(3)寄存器的输入和输出均受控制信号控制,例如,PCi表示PC的输入控制信号,MDRo表示MDR的输出控制信号。
(4)凡是需要经过总线实现寄存器之间的传送,需在流程图中注明,如PC→Bus→MAR,相应的控制信号为PCo和MARi。
Bus
EAR
MDR
MAR
M
R/W
IR
地址
加法器
+
XR
PC
Ki
ALU
ACC
状态
MQ
LATCH
X
解:
(1)“LDA * D”指令周期信息流程及相应的控制信号如下(Ad(IR)代表相对位移量D):
PCo,MARi
PC→Bus→MAR
取
指
周
期
MDR→Bus→IR
MARo,R/W=R,MDRi
M(MAR)→MDR
MDRo,IRi
+1
(PC)+1→PC
PCo,IRo,+,EARi
(PC)+Ad(IR)→EAR
EARo,MARi
执
行
周
期
EAR→Bus→MAR
M(MAR)→MDR
MARo,R/W=R,MDRi
MDRo,ACCi
MDR→Bus→ACC
(2)“SUB X , D”指令周期信息流程及相应的控制信号如下(Ad(IR)代表形式地址D):
PCo,MARi
PC→Bus→MAR
取
指
周
期
MDR→Bus→IR
MARo,R/W=R,MDRi
M(MAR)→MDR
MDRo,IRi
+1
(PC)+1→PC
XRo,IRo,+,EARi
(XR)+Ad(IR)→EAR
EARo,MARi
EAR→Bus→MAR
执
行
周
期
M(MAR)→MDR
MARo,R/W=R,MDRi
MDRo,Xi
MDR→Bus→X
ACCo,Xo,Ki=-,LATCHi
(ACC)-(X)→LATCH
LATCH→Bus→ACC
LATCHo,ACCi
10.11 什么是垂直型微指令?什么是水平型微指令?各有何特点?
答:垂直型微指令的结构类似于一般机器指令的结构,由微操作码确定微指令的功能。通常一条微指令只能有1~2个微操作命令。因为它要经过译码后控制对象,影响每条微指令的执行时间。而且垂直型微指令字长较短,实现一条机器指令的微程序要比水平型微指令编写的微程序长得多,它是用较长的微程序结构来换取较短的微指令格式。
水平型微指令一次能定义并执行多个并行操作,其并行操作能力强,效率高。而且水平型微指令的大多数微命令一般可直接控制对象,故执行每条微指令的时间短。又因水平型微指令字长较长,故可用较少的微指令数来实现一条机器指令的功能。
10.21 下表给出8条微指令I1~I8及所包含的微命令控制信号,设计微指令操作控制字段格式,要
求所使用的控制位最少,而且保持微指令本身内在的并行性。
微指令
控制信号
I1
a b c d e
I2
a d f g
I3
b h
I4
c
I5
c e g i
I6
a h j
I7
c d h
I8
a b h
解:为使设计出的微指令操作控制字段最短,并且保持微指令本身内在的并行性,应采用混合编
码法。首先找出互斥的微命令组,为便于分析,将微命令表重画如下:
微指令
激活的控制信号
a
b
c
d
e
f
g
h
i
j
I1
√
√
√
√
√
I2
√
√
√
√
I3
√
√
I4
√
I5
√
√
√
√
I6
√
√
√
I7
√
√
√
I8
√
√
√
由表中微命令的分布情况可看出:a、b、c、d、e 微命令的并行性太高,因此不能放在同一字段中。另外,由分析可知,在2、3、4 分组的互斥组中,3 个一组的微命令互斥组对控制位的压缩作用最明显。因此,应尽可能多的找出3 个一组的互斥组。现找出的互斥组有:cfj,dij,efh,fhi,bgj,ehj,efj……..等等。
从中找出互不相重的互斥组有两个:dij,efh。则:微指令操作控制字段格式安排如下:
1
1
1
1
2
2
a
b
c
g
efh
dij
各字段编码分配如下:
a:0 无操作,1 a 微命令;
b:0 无操作,1 b 微命令;
c: 0 无操作, 1 c 微命令;
g: 0 无操作, 1 g 微命令;
dij:00 无操作;01 d 微命令;10 i 微命令;11 j 微命令;
efh:00 无操作;01 e 微命令;10 f 微命令;11 h 微命令
与采用直接控制法比较:直接控制法:10 个微命令需10 位操作控制位;本方案中10 个微
命令需8 位操作控制位,压缩了2 位。
展开阅读全文