资源描述
第一章
1. 比拟数字计算机和模拟计算机的特点。
解:模拟计算机的特点:数值由连续量来表示,运算过程是连续的;
数字计算机的特点:数值由数字量〔离散量〕来表示,运算按位进展。
两者主要区别见P1 表1.1。
2. 数字计算机如何分类?分类的依据是什么?
解:分类: 数字计算机分为专用计算机和通用计算机。通用计算机又分为巨型机、大型机、
中型机、小型机、微型机和单片机六类。
分类依据:专用和通用是根据计算机的效率、速度、价格、运行的经济性和适应性来划分的。
通用机的分类依据主要是体积、简易性、功率损耗、性能指标、数据存储容量、
指令系统规模和机器价格等因素。
3. 数字计算机有那些主要应用?
〔略〕
4. . 诺依曼型计算机的主要设计思想是什么?它包括哪些主要组成局部?
解:. 诺依曼型计算机的主要设计思想是:存储程序和程序控制。
存储程序:将解题的程序〔指令序列〕存放到存储器中;
程序控制:控制器顺序执行存储的程序,按指令功能控制全机协调地完成运算任务。
主要组成局部有:控制器、运算器、存储器、输入设备、输出设备。
5. 什么是存储容量?什么是单元地址?什么是数据字?什么是指令字?
解:存储容量:指存储器可以容纳的二进制信息的数量,通常用单位KB、MB、GB来度量,存储容
量越大,表示计算机所能存储的信息量越多,反映了计算机存储空间的大小。
单元地址:单元地址简称地址,在存储器中每个存储单元都有唯一的地址编号,称为单元地
址。
数据字: 假设某计算机字是运算操作的对象即代表要处理的数据,那么称数据字。
指令字: 假设某计算机字代表一条指令或指令的一局部,那么称指令字。
6. 什么是指令?什么是程序?
解:指令:计算机所执行的每一个根本的操作。
程序:解算某一问题的一串指令序列称为该问题的计算程序,简称程序。
7. 指令和数据均存放在存中,计算机如何区分它们是指令还是数据?
解:一般来讲,在取指周期中从存储器读出的信息即指令信息;而在执行周期中从存储器中读出的
信息即为数据信息。
8. 什么是存?什么是外存?什么是CPU?什么是适配器?简述其功能。
解:存:一般由半导体存储器构成,装在底版上,可直接和CPU交换信息的存储器称为存储
器,简称存。用来存放经常使用的程序和数据。
外存:为了扩大存储容量,又不使本钱有很大的提高,在计算机中还配备了存储容量更大的
磁盘存储器和光盘存储器,称为外存储器,简称外存。外存可存储大量的信息,计算
机需要使用时,再调入存。
CPU:包括运算器和控制器。根本功能为:指令控制、操作控制、时间控制、数据加工。
适配器:连接主机和外设的部件,起一个转换器的作用,以使主机和外设协调工作。
9. 计算机的系统软件包括哪几类?说明它们的用途。
解:系统软件包括:〔1〕服务程序:诊断、排错等
〔2〕语言程序:汇编、编译、解释等
〔3〕操作系统
〔4〕数据库管理系统
用途:用来简化程序设计,简化使用方法,提高计算机的使用效率,发挥和扩大计算机的功能
与用途。
10. 说明软件开展的演变过程。
〔略〕
11. 现代计算机系统如何进展多级划分?这种分级观点对计算机设计会产生什么影响?
解:多级划分图见P16图1.6。可分为:微程序设计级、一般机器级、操作系统级、汇编语言级和
高级语言级。
用这种分级的观点来设计计算机,对保证产生一个良好的系统结构是有很大帮助的。
12. 为什么软件能够转化为硬件?硬件能够转化为软件?实现这种转化的媒介是什么?
〔略〕
13. "计算机应用"与"应用计算机"在概念上等价吗?用学科角度和计算机系统的层次结构来寿命你的观点。
〔略〕
第二章
1. 写出以下各数的原码、反码、补码、移码表示〔用8位二进制数〕。其中MSB是最高位〔又是符号位〕LSB是最低位。如果是小数,小数点在MSB之后;如果是整数,小数点在LSB之后。
(1) -35/64 (2) 23/128 (3) -127 (4) 用小数表示-1 (5) 用整数表示-1
解:(1)先把十进制数-35/64写成二进制小数:
(-35/64)10=(-100011/1000000)2=(-100011×2-110)2=(-0.100011)2
令x=-0.100011B
∴ [x]原=1.1000110 (注意位数为8位) [x]反=1.0111001
[x]补=1.0111010 [x]移=0.0111010
(2) 先把十进制数23/128写成二进制小数:
(23/128)10=(10111/10000000)2=(10111×2-111)2=(0.0001011)2
令x=0.0001011B
∴ [x]原=0.0001011 [x]反=0.0001011
[x]补=0.0001011 [x]移=1.0001011
(3) 先把十进制数-127写成二进制小数:
(-127)10=(-1111111)2
令x= -1111111B
∴ [x]原=1.1111111 [x]反=1.0000000
[x]补=1.0000001 [x]移=1.0000001
(4) 令x=-1.000000B
∴ 原码、反码无法表示
[x]补=1.0000000 [x]移=0.0000000
(5) 令Y=-1=-0000001B
∴ [Y]原=10000001 [Y]反=11111110
[Y]补=11111111 [Y]移=01111111
2. 设[X]补= a0,a1,a2…a6 , 其中ai取0或1,假设要x>-0.5,求a0,a1,a2,…,a6 的取值。
解:a0= 1,a1= 0, a2,…,a6=1…1。
3. 有一个字长为32位的浮点数,阶码10位〔包括1位阶符〕,用移码表示;尾数22位〔包括1位尾符〕用补码表示,基数R=2。请写出:
(1) 最大数的二进制表示;
(2) 最小数的二进制表示;
(3) 规格化数所能表示的数的围;
(4) 最接近于零的正规格化数与负规格化数。
解:〔1〕1111111111 11111
〔2〕1111111111 00000
〔3〕1111111111 11111~0111111111 00000
〔4〕0000000000 00001~0000000000 11111
4. 将以下十进制数表示成浮点规格化数,阶码3位,用补码表示;尾数9位,用补码表示。
〔1〕 27/64
〔2〕 -27/64
解:〔1〕27/64=11011B×=0.011011B=0.11011B×
浮点规格化数 : 1111 0110110000
〔2〕 -27/64= -11011B×= -0.011011B= -0.11011B×
浮点规格化数 : 1111 1001010000
5. X和Y, 用变形补码计算X+Y, 同时指出运算结果是否溢出。
〔1〕X=0.11011 Y=0.00011
〔2〕X= 0.11011 Y= -0.10101
〔3〕X=-0.10110 Y=-0.00001
解:〔1〕先写出x和y的变形补码再计算它们的和
[x]补=00.11011 [y]补=00.00011
[x+y]补=[x]补+[y]补=00.11011+00.00011=0.11110
∴ x+y=0.1111B 无溢出。
〔2〕先写出x和y的变形补码再计算它们的和
[x]补=00.11011 [y]补=11.01011
[x+y]补=[x]补+[y]补=00.11011+11.01011=00.00110
∴ x+y=0.0011B 无溢出。
〔3〕先写出x和y的变形补码再计算它们的和
[x]补=11.01010 [y]补=11.11111
[x+y]补=[x]补+[y]补=11.01010+11.11111=11.01001
∴ x+y= -0.10111B 无溢出
6. X和Y, 用变形补码计算X-Y, 同时指出运算结果是否溢出。
(1) X=0.11011 Y= -0.11111
(2) X=0.10111 Y=0.11011
(3) X=0.11011 Y=-0.10011
解:〔1〕先写出x和y的变形补码,再计算它们的差
[x]补=00.11011 [y]补=11.00001 [-y]补=00.11111
[x-y]补=[x]补+[-y]补=00.11011+00.11111=01.11010
∵运算结果双符号不相等 ∴ 为正溢出
X-Y=+1.1101B
〔2〕先写出x和y的变形补码,再计算它们的差
[x]补=00.10111 [y]补=00.11011 [-y]补=11.00101
[x-y]补=00.10111+11.00101=11.11100
∴ x-y= -0.001B 无溢出
〔3〕先写出x和y的变形补码,再计算它们的差
[x]补=00.11011 [y]补=11.01101 [-y]补=00.10011
[x-y]补=[x]补+[-y]补=00.11011+00.10011=01.01110
∵运算结果双符号不相等 ∴ 为正溢出
X-Y=+1.0111B
7. 用原码阵列乘法器、补码阵列乘法器分别计算X×Y。
〔1〕X=0.11011 Y= -0.11111
〔2〕X=-0.11111 Y=-0.11011
解:〔1〕用原码阵列乘法器计算:
[x]补=0.11011 [y]补=1.00001
(0) 1 1 0 1 1
×) (1) 0 0 0 0 1
----------------------------------
(0) 1 1 0 1 1
(0) 0 0 0 0 0
〔0) 0 0 0 0 0
(0) 0 0 0 0 0
(0) 0 0 0 0 0
(0) (1) (1) (0) (1) (1)
-----------------------------------------
(1) 0 0 1 0 1 1 1 0 1 1
[x×y]补=1.0010111011
∴ x×y= -0.1101000101
8. 用原码阵列除法器计算 X÷Y。
〔1〕X=0.11000 Y= -0.11111
〔2〕X=-0.01011 Y=0.11001
解:〔1〕[x]原=[x]补=0.11000 [-∣y∣]补=1.00001
被除数 X 0.11000
+[-∣y∣]补 1.00001
----------------------
余数为负 1.11001 →q0=0
左移 1.10010
+[|y|]补 0.11111
----------------------
余数为正 0.10001 →q1=1
左移 1.00010
+[-|y|]补 1.00001
----------------------
余数为正 0.00011 →q2=1
左移 0.00110
+[-|y|]补 1.00001
----------------------
余数为负 1.00111 →q3=0
左移 0.01110
+[|y|]补 0.11111
----------------------
余数为负 1.01101 →q4=0
左移 0.11010
+[|y|]补 0.11111
----------------------
余数为负 1.11001 →q5=0
+[|y|]补 0.11111
----------------------
余数 0.11000
故 [x÷y]原=1.11000 即 x÷y= -0.11000B
余数为 0.11000B×
9. 设阶为5位(包括2位阶符), 尾数为8位(包括2位数符), 阶码、尾数均用补码表示, 完成以下取值的[X+Y],[X-Y]运算:
〔1〕X=×0.100101 Y=×(-0.011110)
〔2〕X=×〔-0.010110〕 Y=×(0.010110)
解:〔1〕将y规格化得:y=×(-0.111100)
[x]浮=1101,00.100101 [y]浮=1101,11.000100 [-y]浮=1101,00.111100
① 对阶
[ΔE]补=[Ex]补+[-Ey]补=1101+0011=0000
∴ Ex=Ey
② 尾数相加
相加 相减
00.100101 00.100101
+ 11.000100 + 00.111100
------------ --------------
11.101001 01.100001
[x+y]浮=1101,11.101001 左规 [x+y]浮=1100,11.010010
∴ x+y=×(-0.101110)
[x-y]浮=1101,01.100001 右规 [x-y]浮=1110,00.1100001
舍入处理得 [x-y]浮=1110,00.110001
∴ x-y=×0.110001
〔2〕 [x]浮=1011,11.101010 [y]浮=1100,00.010110 [-y]浮=1100,11.101010
① 对阶
[ΔE]补=[Ex]补+[-Ey]补=1011+0100=1111
∴ △E= -1 [x]浮=1100,11.110101(0)
② 尾数相加
相加 相减
11.110101(0) 11.110101(0)
+ 00.010110 + 11.101010
-------------- ------------------
00.001011(0) 11.011111(0)
[x+y]浮=1100,00.001011(0) 左规 [x+y]浮=1010,00.1011000
∴ x+y=×0.1011B
[x-y]浮=1100,11.011111(0)
∴ x-y=×〔-0.100001B〕
13. 某加法器进位链小组信号为C4C3C2C1 ,低位来的信号为C0 ,请分别按下述两种方式写出C4C3C2C1的逻辑表达式。
〔1〕 串行进位方式 〔2〕 并行进位方式
解 :〔1〕串行进位方式:
C1 = G1 + P1 C0 其中: G1 = A1 B1 , P1 = A1⊕B1
C2 = G2 + P2 C1 G2 = A2 B2 , P2 = A2⊕B2
C3 = G3 + P3 C2 G3 = A3 B3 , P3 = A3⊕B3
C4 = G4 + P4 C3 G4 = A4 B4 , P4 = A4⊕B4
(2) 并行进位方式:
C1 = G1 + P1 C0
C2 = G2 + P2 G1 + P2 P1 C0
C3 = G3 + P3 G2 + P3 P2 G1 + P3 P2 P1 C0
C4 = G4 + P4 G3 + P4 P3 G2 + P4 P3 P2 G1 + P4 P3 P2 P1 C0
其中 G1-G4 ,P1-P4 表达式与串行进位方式一样。
14. 某机字长16位,使用四片74181组成ALU,设最低位序标注为0位,要求:
〔1〕写出第5位的进位信号C6的逻辑表达式;
〔2〕估算产生C6所需的最长时间;
〔3〕估算最长的求和时间。
解:〔1〕 组成最低四位的74181进位输出为:C4=G+P C0 ,C0为向第0位的进位
其中:G=y3+x3y2+x2x3y1+x1x2x3y0, P=x0x1x2x3
所以 :C5=y4+x4C4
C6=y5+x5C5=y5+x5y4+x5x4C4
〔2〕 设标准门延迟时间为T,"与或非"门延迟时间为1.5T,那么进位信号C0由最低位传送至C6需经一个反相器,两级"与或非"门,故产生C6的最长延迟时间为:
T+2×1.5T=4T
〔3〕最长求和时间应从施加操作数到ALU算起:第一片74181有3级"与或非"门〔产生控制参数x0,y0Cn+4〕,第二、第三片74181共2级反相器和2级"与或非"门〔进位链〕,第四片74181求和逻辑〔1级"与或非"门和1级半加器,其延迟时间为3T〕,故总的加法时间为:
T=3×1.5T+2T+2×1.5T+1.5T+1.5T+3T=14T
17.设A,B,C是三个16位的通用存放器,请设计一个16位定点补码运算器,能实现下述功能:
〔1〕 A±B→A
〔2〕 B×C→A, C〔高位积在存放器A中〕
〔3〕 A÷B→C〔商在存放器C中〕
解:设计能完成加、减、乘、除运算的16位定点补码运算器框图。
分析各存放器作用:
加 减 乘 除
A 被加数→和 同左 初始为0 被除数→余数
局部积→乘积〔H〕 除数
B 加数 同左 被乘数
C -- -- 乘数→乘积〔L〕 商
∴ A:累加器〔16位〕,具有输入、输出、累加功能与双向移位功能;
B:数据存放器〔16位〕,具有输入、输出功能;
C:乘商存放器〔16位〕,具有输入、输出功能与双向移位功能。
画出框图:
第三章
1.有一个具有20位地址和32位字长的存储器,问:
〔1〕 该存储器能存储多少个字节的信息?
〔2〕 如果存储器由512K×8位SRAM芯片组成,需要多少芯片?
〔3〕 需要多少位地址作芯片选择?
解:〔1〕∵ 220= 1M, ∴ 该存储器能存储的信息为:1M×32/8=4MB
〔2〕〔1000/512〕×〔32/8〕= 8〔片〕
〔3〕 需要1位地址作为芯片选择。
2. 某64位机主存采用半导体存储器,其地址码为26位,假设使用256K×16位的DRAM芯片组成该机所允许的最大主存空间,并选用模块板结构形式,问:
〔1〕 每个模块板为1024K×64位,共需几个模块板?
〔2〕 个模块板共有多少DRAM芯片?
〔3〕主存共需多少DRAM芯片? CPU如何选择各模块板?
解:(1). 共需模块板数为m:
m=÷=64 (块)
(2). 每个模块板有DRAM芯片数为n:
n=(/) ×(64/16)=16 (片)
(3) 主存共需DRAM芯片为:16×64=1024 (片)
每个模块板有16片DRAM芯片,容量为1024K×64位,需20根地址线(A19~A0)完成模块
板存储单元寻址。一共有64块模块板,采用6根高位地址线(A25~A20),通过
6:64译码器译码产生片选信号对各模块板进展选择。
3. 用16K×8位的DRAM芯片组成64K×32位存储器,要求:
(1) 画出该存储器的组成逻辑框图。
(2) 设存储器读/写周期为0.5μS, CPU在1μS至少要访问一次。试问采用哪种刷新方式比拟合理?两次刷新的最大时间间隔是多少?对全部存储单元刷新一遍所需的实际刷新时间是多少?
解:〔1〕组成64K×32位存储器需存储芯片数为
N=〔64K/16K〕×〔32位/8位〕=16〔片〕
每4片组成16K×32位的存储区,有A13-A0作为片地址,用A15 A14经2:4译码器产生片选信号 ,逻辑框图如下所示:
〔2〕依题意,采用异步刷新方式较合理,可满足CPU在1μS至少访问存一次的要求。
设16K×8位存储芯片的阵列结构为128行×128列,按行刷新,刷新周期T=2ms,那么异步
刷新的间隔时间为:
那么两次刷新的最大时间间隔发生的示意图如下
可见,两次刷新的最大时间间隔为tmax
tmax=15.5-0.5=15 (μS)
对全部存储单元刷新一遍所需时间为t R
t R =0.5×128=64 (μS)
7.某机器中,配有一个地址空间为0000H-3FFFH的ROM区域。现在再用一个RAM芯片(8K×8)形成40K×16位的RAM区域,起始地址为6000H,假定RAM芯片有和信号控制端。CPU的地址总线为A15-A0,数据总线为D15-D0,控制信号为R/(读/写), (访存),要求:
〔1〕 画出地址译码方案。
〔2〕 将ROM与RAM同CPU连接。
解:〔1〕依题意,主存地址空间分布如右图所示,可选用2片27128(16K×8位)的EPROM作为
ROM区;10片的8K×8位RAM片组成40K×16位的RAM区。27128需14位片地址,而RAM需13位
片地址,故可用A15-A13三位高地址经译码产生片选信号,方案如下:
〔2〕
8. 存储器容量为64M,字长64位,模块数m = 8,分别用顺序方式和交叉方式进展组织。存储周期T = 100ns,数据总线宽度为64位,总线周期τ = 10ns .问顺序存储器和交叉存储器的带宽各是多少?
解:信息总量: q = 64位 ×8 =512位
顺序存储器和交叉存储器读出8个字的时间分别是:
t2 = m T = 8×100ns =8×10 (s)
t1 = T + (m - 1) = 100 + 7×10 = 1.7 ×10 (s)
顺序存储器带宽是:
W2 = q / t2 = 512÷〔8×10 〕= 64 ×10〔位/ S〕
交叉存储器带宽是:
W1 = q / t1 = 512÷〔1.7 ×10〕= 301 ×10 〔位/ S〕
9. CPU执行一段程序时, cache完成存取的次数为2420次,主存完成存取的次数为80
次,cache存储周期为40ns,主存存储周期为240ns,求cache/主存系统的效率和平均访问时间。
解:先求命中率h
h=nc/(nc +nm )=2420÷(2420+80)=0.968
那么平均访问时间为ta
ta=0.968×40+(1-0.968) ×240=46.4(ns)
r =240÷40=6
cache/主存系统的效率为e
e=1/[r+(1-r)×0.968]=86.2%
10.Cache存储周期40ns,主存存储周期200ns,Cache/主存系统平均访问时间为50ns,求Cache的命中率是多少?
解: ∵ ta = tc× h +tr×(1-h)
∴ h =(ta-tr)/(tc-tr)=(50-200)/(40-200)=15/16=0.94
11.主存容量为4MB,虚存容量为1GB,那么虚存地址和物理地址各为多少位?如页面大小为4KB,那么页表长度是多少?
解:主存容量为4MB,虚存容量为1GB
∵ =4M ∴物理地址为22位
又 ∵ =1G ∴虚拟地址为30位
页表长度为 1GB÷4KB=230÷212=218=256K
14.假设主存只有a,b,c三个页框,组成a进c出的FIFO队列,进程访问页面的序列是0,1,2.4,2,3,0,2,1.3,2号。用列表法求采用LRU替换策略时的命中率。
解:
∴命中率为
15.从以下有关存储器的描述中,选择出正确的答案:
A. 多体交叉存储主要解决扩大容量问题;
B. 访问存储器的请由CPU发出的;
C. Cache与主存统一编址,即主存空间的某一局部属于Cache;
D. Cache的功能全由硬件实现。
解: D
16.从以下有关存储器的描述中,选择出正确的答案:
A.在虚拟存储器中,外存和主存一一样的方式工作,因此允许程序员用比主存空间大得
多的外存空间编程;
B.在虚拟存储器中,逻辑地址转换成物理地址是由硬件实现的,仅在页面失效时才由操
作系统将被访问页面从外存调到存,必要时还要先把被淘汰的页面容写入外存;
C.存储保护的目的是:在多用户环境中,既要防止一个用户程序出错而破坏系统软件或
其他用户程序,又要防止一个用户访问不是分配给他的主存区,以达到数据安全和保
密的要求。
解:C
第四章
1.ASCll码是7位,如果设计主存单元字长为32位,指令字长为12位,是否合理?为什
么?
解:指令字长设计为12位不是很合理。主存单元字长为32位,一个存储单元可存放4个ASCII码,
余下4位可作为ASCII码的校验位〔每个ASCII码带一位校验位〕,这样设计还是合理的。
但是,设计指令字长为12 位就不合理了,12位的指令码存放在字长32位的主存单元中,
造成19位不能用而浪费了存储空间。
2.假设某计算机指令长度为20位,具有双操作数、单操作数、无操作数三类指令形式,每个操作数地址规定用6位表示。问:
假设操作码字段固定为8位,现已设计出m条双操作数指令,n条无操作数指令,在此情况下,这台计算机最多可以设计出多少条单操作数指令?
解:这台计算机最多可以设计出256-m-n条单操作数指令
3.指令格式结构如下所示,试分析指令格式与寻址方式特点。
解:指令格式与寻址方式特点如下:
① 单字长二地址指令;
② 操作码OP可指定=64条指令;
③ RR型指令,两个操作数均在存放器中,源和目标都是通用存放器〔可分别指定16个存放器
之一〕;
④ 这种指令格式常用于算术逻辑类指令。
4.指令格式结构如下所示,试分析指令格式与寻址方式特点。
解:指令格式与寻址方式特点如下:
① 双字长二地址指令;
② 操作码OP可指定=64条指令;
③ RS型指令,两个操作数一个在存放器中〔16个存放器之一〕,另一个在存储器中;
④ 有效地址通过变址求得:E=〔变址存放器〕± D,变址存放器可有16个。
5.指令格式结构如下所示,试分析指令格式与寻址方式特点。
解:指令格式与寻址方式特点如下:
① 单字长二地址指令;
② 操作码OP可指定=16条指令;
③ 有8个通用存放器,支持8种寻址方式;
④ 可以是RR型指令、SS型指令、RS型指令、
6.一种单地址指令格式如下所示,其中I为间接特征,X为寻址模式,D为形式地址。I,X,D组成该指令的操作数有效地址E。设R为变址存放器,R1 为基值存放器,PC为程序计数器,请在下表中第一列位置填入适当的寻址方式名称。
解: ① 直接寻址
② 相对寻址
③ 变址寻址
④ 基址寻址
⑤ 间接寻址
⑥ 基址间址寻址
7.某计算机字长16位,主存容量为64K字,采用单字长单地址指令,共有40条指令,试采用直接、立即、变址、相对四种寻址方式设计指令格式。
解:40条指令需占用操作码字段〔OP〕6位,这样指令余下长度为10位。为了覆盖主存640K字的地
址空间,设寻址模式〔X〕2位,形式地址〔D〕8位,其指令格式如下:
寻址模式定义如下:
X= 0 0 直接寻址 有效地址 E=D〔直接寻址为256个存储单元〕
X= 0 1 立即寻址 D字段为操作数
X= 1 0 变址寻址 有效地址 E= (RX)+D 〔可寻址64K个存储单元〕
X= 1 1 相对寻址 有效地址 E=〔PC〕+D 〔可寻址64K个存储单元〕
其中RX为变址存放器〔16位〕,PC为程序计数器〔16位〕,在变址和相对寻址时,位移量D可 正可负。
8.某机字长为32位,主存容量为1M,单字长指令,有50种操作码,采用页面寻址、立即、直接等寻址方式。CPU中有PC,IR,AR, DR和16个通用存放器,页面寻址可用PC高位局部与形式地址局部拼接成有效地址。问:
〔1〕指令格式如何安排?
〔2〕主存能划分成多少页面?每页多少单元?
〔3〕能否增加其他寻址方式?
解: 〔1〕依题意,指令字长32位,主存1M字,需20位地址A19-A0。50种操作码,需6位OP,指令
寻址方式Mode为2位,指定存放器Rn需4位。设有单地址指令、双地址指令和零地址指
令,现只讨论前二种指令。
单地址指令的格式为:
Mode=00时为立即寻址方式,指令的23-0位为立即数;
Mode=01时为直接寻址方式,指令的19-0位为有效地址。
双地址指令的格式为:
Mode1=01时为存放器直接寻址方式,操作数S=(Rn);
Mode1=11时为存放器间址寻址方式, 有效地址E=(Rn)。
Mode2=00时为立即寻址方式,指令的13-0位为立即数;
Mode2=01时为页面寻址方式;
Mode2=10时为变址寻址方式,E=(Rn)+D;
Mode2=11时为变址间址寻址方式, E=((Rn)+D)。
〔2〕由于页面寻址方式时,D为14位,所以页面大小应为=16K字,那么1M字可分为
=64个页面。可由PC的高6位指出页面号。
〔3〕能增加其它寻址方式,例上述间址方式、变址间址寻址方式。
14. 从以下有关RISC的描述中,选择正确答案。
A.采用RISC技术后,计算机的体系结构又恢复到早期的比拟简单的情况。
B.为了实现兼容,新设计的RISC,是从原来CISC系统的指令系统中挑选一局部实现的。
C.RISC的主要目标是减少指令数,提高指令执行效率。
D.RISC设有乘、除法指令和浮点运算指令。
解: C
15. 根据操作数所在位置,指出其寻址方式〔填空〕:
〔1〕操作数在存放器中,为〔A〕寻址方式。
〔2〕操作数地址在存放器,为〔B〕寻址方式。
〔3〕操作数在指令中,为〔C〕寻址方式。
〔4〕操作数地址〔主存〕在指令中,为〔D〕寻址方式
〔5〕操作数的地址,为某一存放器容与位移量之和可以是〔E,F,G〕寻址方式。
解:A:存放器直接; B: 存放器间接; C:立即;
D: 直接; E:相对; F:基值;G:变址
第五章
1.请在括号填入适当答案。在CPU中:
(1) 保存当前正在执行的指令的存放器是〔指令存放器IR〕;
(2) 保存当前正要执行的指令地址的存放器是(程序计数器PC);
(3) 算术逻辑运算结果通常放在〔通用存放器 〕和〔数据缓冲存放器DR 〕。
2.参见以下图〔课本P166图5.15〕的数据通路。画出存数指令"STA R1 ,(R2)"的指令周期
流程图,其含义是将存放器R1的容传送至〔R2〕为地址的主存单元中。标出各微操作信
号序列。
解:"STA R1 ,(R2)"指令是一条存数指令,其指令周期流程图如以下图所示:
3.参见课本P166图5.15的数据通路,画出取数指令"LDA〔R3〕,RO"的指令周期流程图,
其含义是将(R3)为地址的主存单元的容取至存放器R0中,标出各微操作控制信号序列。
5.如果在一个CPU周期中要产生3个脉冲 T1 = 200ns ,T2 = 400ns ,T3 = 200ns,试画出
时序产生器逻辑图。
解:节拍脉冲T1 ,T2 ,T3 的宽度实际等于时钟脉冲的周期或是它的倍数,此时T1 = T3 =200ns ,
T2 = 400 ns ,所以主脉冲源的频率应为 f = 1 / T1 =5MHZ 。为了消除节拍脉冲上的毛刺,环
型脉冲发生器可采用移位存放器形式。以下图画出了题目要求的逻辑电路图和时序信号关系。根据关
系,节拍脉冲T1 ,T2 ,T3 的逻辑表达式如下:
T1 = C1· , T2 = , T3 =
6.假设某机器有80条指令,平均每条指令由4条微指令组成,其中有一条取指微指令是所有指
令公用的。微指令长度为32位,请估算控制存储器容量。
解:微指令条数为:〔4-1〕×80+1=241条
取控存容量为:256×32位=1KB
7. 某ALU器件使用模式控制码M,S3,S2,S1,C来控制执行不同的算术运算和逻辑操作。
下表列出各条指令所要求的模式控制码,其中y为二进制变量,F为0或1任选。
试以指令码〔A,B,H,D,E,F,G〕为输入变量,写出控制参数M,S3,S2,S1,C的逻
辑表达式。
解: M=G
展开阅读全文