计算机组成原理蒋本珊第六章.doc
《计算机组成原理蒋本珊第六章.doc》由会员分享,可在线阅读,更多相关《计算机组成原理蒋本珊第六章.doc(17页珍藏版)》请在冰豆网上搜索。
第六章
1.控制器有哪几种控制方式?
各有何特点?
解:
控制器的控制方式可以分为3种:
同步控制方式、异步控制方式和联合控制方式。
同步控制方式的各项操作都由统一的时序信号控制,在每个机器周期中产生统一数目的节拍电位和工作脉冲。
这种控制方式设计简单,容易实现;但是对于许多简单指令来说会有较多的空闲时间,造成较大数量的时间浪费,从而影响了指令的执行速度。
异步控制方式的各项操作不采用统一的时序信号控制,而根据指令或部件的具体情况决定,需要多少时间,就占用多少时间。
异步控制方式没有时间上的浪费,因而提高了机器的效率,但是控制比较复杂。
联合控制方式是同步控制和异步控制相结合的方式。
2.什么是三级时序系统?
解:
三级时序系统是指机器周期、节拍和工作脉冲。
计算机中每个指令周期划分为若干个机器周期,每个机器周期划分为若干个节拍,每个节拍中设置一个或几个工作脉冲。
3.控制器有哪些基本功能?
它可分为哪几类?
分类的依据是什么?
解:
控制器的基本功能有:
(1)从主存中取出一条指令,并指出下一条指令在主存中的位置。
(2)对指令进行译码或测试,产生相应的操作控制信号,以便启动规定的动作。
(3)指挥并控制CPU、主存和输入输出设备之间的数据流动。
控制器可分为组合逻辑型、存储逻辑型、组合逻辑与存储逻辑结合型3类,分类的依据在于控制器的核心———微操作信号发生器(控制单元CU)的实现方法不同。
4.中央处理器有哪些功能?
它由哪些基本部件所组成?
解:
从程序运行的角度来看,CPU的基本功能就是对指令流和数据流在时间与空间上实施正确的控制。
对于冯·诺依曼结构的计算机而言,数据流是根据指令流的操作而形成的,也就是说数据流是由指令流来驱动的。
中央处理器由运算器和控制器组成。
5.中央处理器中有哪几个主要寄存器?
试说明它们的结构和功能。
解:
CPU中的寄存器是用来暂时保存运算和控制过程中的中间结果、最终结果及控制、状态信息的,它可分为通用寄存器和专用寄存器两大类。
通用寄存器可用来存放原始数据和运算结果,有的还可以作为变址寄存器、计数器、地址指针等。
专用寄存器是专门用来完成某一种特殊功能的寄存器,如程序计数器PC、
指令寄存器IR、存储器地址寄存器MAR、存储器数据寄存器MDR、状态标志寄存器PSWR等。
6.某机CPU芯片的主振频率为8MHz,其时钟周期是多少μs?
若已知每个机器周期平均包含4个时钟周期,该机的平均指令执行速度为0.8MIPS,试问:
(1)平均指令周期是多少μs?
(2)平均每个指令周期含有多少个机器周期?
(3)若改用时钟周期为0.4μs的CPU芯片,则计算机的平均指令执行速度又是多少MIPS?
(4)若要得到40万次/s的指令执行速度,则应采用主振频率为多少MHz的CPU芯片?
解:
时钟周期=1÷8MHz=0.125μs
(1)平均指令周期=1÷0.8MIPS=1.25μs
(2)机器周期=0.125μs×4=0.5μs
平均每个指令周期的机器周期数=1.25μs÷0.5μs÷4=2.5
(4)主振频率=4MHz
7.以一条典型的单地址指令为例,简要说明下列部件在计算机的取指周期和执行周期中的作用。
(1)程序计数器PC;
(2)指令寄存器IR;
(3)算术逻辑运算部件ALU;
(4)存储器数据寄存器MDR;
(5)存储器地址寄存器MAR。
解:
(1)程序计数器PC:
存放指令地址;
(2)指令寄存器IR:
存放当前指令;
(3)算术逻辑运算部件ALU:
进行算逻运算;
(4)存储器数据寄存器MDR:
存放写入或读出的数据/指令;
(5)存储器地址寄存器MAR:
存放写入或读出的数据/指令的地址。
以单地址指令“加1(INCA)”为例,该指令分为3个周期:
取指周期、分析取数周期、执行周期。
3个周期完成的操作如表6-2所示。
8.什么是指令周期?
什么是CPU周期?
它们之间有什么关系?
解:
指令周期是指取指令、分析取数到执行指令所需的全部时间。
CPU周期(机器周期)是完成一个基本操作的时间。
一个指令周期划分为若干个CPU周期。
9.指令和数据都存放在主存,如何识别从主存储器中取出的是指令还是数据?
解:
指令和数据都存放在主存,它们都以二进制代码形式出现,区分的方法为:
(1)取指令或数据时所处的机器周期不同:
取指周期取出的是指令;分析取数或执行周期取出的是数据。
(2)取指令或数据时地址的来源不同:
指令地址来源于程序计数器;数据地址来源于地址形成部件。
10.CPU中指令寄存器是否可以不要?
指令译码器是否能直接对存储器数据寄存器MDR中的信息译码?
为什么?
请以无条件转移指令JMPA为例说明。
解:
指令寄存器不可以不要。
指令译码器不能直接对MDR中的信息译码,因为在取指周期MDR的内容是指令,而在取数周期MDR的内容是操作数。
以JMPA指令为例,假设指令占两个字,第一个字为操作码,第二个字为转移地址,它们从主存中取出时都需要经过MDR,其中只有第一个字需要送至指令寄存器,并且进行指令的译码,而第二个字不需要送指令寄存器。
11.设一地址指令格式如下:
@OPA
现在有4条一地址指令:
LOAD(取数)、ISZ(加“1”为零跳)、DSZ(减“1”为零跳)、STORE(存数),在一台单总线单累加器结构的机器上运行,试排出这4条指令的微操作序列。
要求:
当排ISZ和DSZ指令时不要破坏累加寄存器Acc原来的内容。
解:
(1)LOAD(取数)指令
PC→MAR,READ ;取指令
MM→MDR
MDR→IR,PC+1→PC
A→MAR,READ;取数据送Acc
MM→MDR
MDR→Acc
(2)ISZ(加“1”为零跳)指令
取指令微操作略。
A→MAR,READ;取数据送Acc
MM→MDR
MDR→Acc
Acc+1→Acc;加1
IfZ=1thenPC+1→PC;结果为0,PC+1
Acc→MDR,WRITE;保存结果
MDR→MM
Acc-1→Acc;恢复Acc
(3)DSZ(减“1”为零跳)指令
取指令微操作略。
A→MAR,READ;取数据送Acc
MM→MDR
MDR→Acc
Acc-1→Acc;减1
IfZ=1thenPC+1→PC;结果为0,PC+1
Acc→MDR,WRITE;保存结果
MDR→MM
Acc+1→Acc;恢复Acc
(4)STORE(存数)指令:
取指令微操作略。
A→MAR;Acc中的数据写
入主存单元
Acc→MDR,WRITE
MDR→MM
12.某计算机的CPU内部结构如图6唱22所示。
两组总线之间的所有数据传送通过ALU。
ALU还具有完成以下功能的能力:
F=A; F=B
F=A+1;F=B+1
F=A-1;F=B-1
写出转子指令(JSR)的取指和执行周期的微操作序列。
JSR指令占两个字,第一个字是操作码,第二个
字是子程序的入口地址。
返回地址保存在存储器堆栈中,堆栈指示器始终指向栈顶。
解:
①PC→B,F=B,F→MAR,Read ;取指令的第一个字
②PC→B,F=B+1,F→PC
③MDR→B,F=B,F→IR
④PC→B,F=B,F→MAR,Read;取指令的第二个字
⑤PC→B,F=B+1,F→PC
⑥MDR→B,F=B,F→Y
⑦SP→B,F=B-1,F→SP,F→MAR;修改栈指针,返回地址压入堆栈
⑧PC→B,F=B,F→MDR,Write
⑨Y→A,F=A,F→PC;子程序的首地址→PC
⑩End
13.某机主要部件如图6-23所示。
(1)请补充各部件间的主要连接线,并注明数据流动方向。
(2)拟出指令ADD(R1),(R2)+的执行流程(含取指过程与确定后继指令地址)。
该指令的含义是进行加法操作,源操作数地址和目的操作数地址分别在寄存器R1和R2中,目的操作数寻址方式为自增型寄存器间址。
解:
(1)将各部件间的主要连接线补充完后如图6-24所示。
(2)指令ADD(R1),(R2)+的含义为
((R1))+((R2))→(R2)
(R2)+1→R2
指令的执行流程如下:
①(PC)→MAR ;取指令
②Read
③M(MAR)→MDR→IR
④(PC)+1→PC
⑤(R1)→MAR;取被加数
⑥Read
⑦M(MAR)→MDR→C
⑧(R2)→MAR;取加数
⑨Read
⑩M(MAR)→MDR→D
(R2)+1→R2;修改目的地址
(C)+(D)→MDR;求和并保存结果
Write
MDR→MM
14.CPU结构如图6唱25所示,其中有一个累加寄存器AC、一个状态条件寄存器和其他4个寄存器,各部件之间的连线表示数据通路,箭头表示信息传送方向。
(1)标明4个寄存器的名称。
(2)简述指令从主存取出送到控制器的数据通路。
(3)简述数据在运算器和主存之间进行存取访问的数据通路。
解:
(1)这4个寄存器中,a为存储器数据寄存器MDR,b为指令寄存器IR,c为存储器地址寄存器MAR,d为程序计数器PC。
(2)取指令的数据通路:
PC→MAR→MM→MDR→IR
(3)数据从主存中取出的数据通路(设数据地址为X):
X→MAR→MM→MDR→ALU→AC
数据存入主存中的数据通路(设数据地址为Y):
Y→MAR,AC→MDR→MM
15.什么是微命令和微操作?
什么是微指令?
微程序和机器指令有何关系?
微程序和程序之间有何关系?
解:
微命令是控制计算机各部件完成某个基本微操作的命令。
微操作是指计算机中最基本的、不可再分解的操作。
微命令和微操作是一一对应的,微命令是微操作的控制信号,微操作是微命令的操作过程。
微令是若干个微命令的集合。
微程序是机器指令的实时解释器,每一条机器指令都对应一个微程序。
微程序和程序是两个不同的概念。
微程序是由微指令组成的,用于描述机器指令,实际上是机器指令的实时解释器,微程序是由计算机的设计者事先编制好并存放在控制存储器中的,一般不提供给用