计算机组成原理蒋本珊第六章.doc

上传人:wj 文档编号:1223682 上传时间:2023-04-30 格式:DOC 页数:17 大小:707KB
下载 相关 举报
计算机组成原理蒋本珊第六章.doc_第1页
第1页 / 共17页
计算机组成原理蒋本珊第六章.doc_第2页
第2页 / 共17页
计算机组成原理蒋本珊第六章.doc_第3页
第3页 / 共17页
计算机组成原理蒋本珊第六章.doc_第4页
第4页 / 共17页
计算机组成原理蒋本珊第六章.doc_第5页
第5页 / 共17页
计算机组成原理蒋本珊第六章.doc_第6页
第6页 / 共17页
计算机组成原理蒋本珊第六章.doc_第7页
第7页 / 共17页
计算机组成原理蒋本珊第六章.doc_第8页
第8页 / 共17页
计算机组成原理蒋本珊第六章.doc_第9页
第9页 / 共17页
计算机组成原理蒋本珊第六章.doc_第10页
第10页 / 共17页
计算机组成原理蒋本珊第六章.doc_第11页
第11页 / 共17页
计算机组成原理蒋本珊第六章.doc_第12页
第12页 / 共17页
计算机组成原理蒋本珊第六章.doc_第13页
第13页 / 共17页
计算机组成原理蒋本珊第六章.doc_第14页
第14页 / 共17页
计算机组成原理蒋本珊第六章.doc_第15页
第15页 / 共17页
计算机组成原理蒋本珊第六章.doc_第16页
第16页 / 共17页
计算机组成原理蒋本珊第六章.doc_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

计算机组成原理蒋本珊第六章.doc

《计算机组成原理蒋本珊第六章.doc》由会员分享,可在线阅读,更多相关《计算机组成原理蒋本珊第六章.doc(17页珍藏版)》请在冰点文库上搜索。

计算机组成原理蒋本珊第六章.doc

第六章

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.什么是微命令和微操作?

什么是微指令?

微程序和机器指令有何关系?

微程序和程序之间有何关系?

解:

微命令是控制计算机各部件完成某个基本微操作的命令。

微操作是指计算机中最基本的、不可再分解的操作。

微命令和微操作是一一对应的,微命令是微操作的控制信号,微操作是微命令的操作过程。

微令是若干个微命令的集合。

微程序是机器指令的实时解释器,每一条机器指令都对应一个微程序。

微程序和程序是两个不同的概念。

微程序是由微指令组成的,用于描述机器指令,实际上是机器指令的实时解释器,微程序是由计算机的设计者事先编制好并存放在控制存储器中的,一般不提供给用户;程序是由机器指令组成的,由程序员事先编制好并存放在主存储器中。

16.什么是垂直型微指令?

什么是水平型微指令?

它们各有什么特点?

又有什么区别?

解:

垂直型微指令是指一次只能执行一个微命令的微指令;水平型微指令是指一次能定义并能并行执行多个微命令的微指令。

垂直型微指令的并行操作能力差,一般只能实现一个微操作,控制1~2个信息传送通路,效率低,执行一条机器指令所需的微指令数目多,执行时间长;但是微指令与机器指令很相似,所以容易掌握和利用,编程比较简单,不必过多地了解数据通路的细节,且微指令字较短。

水平型微指令的并行操作能力强,效率高,灵活性强,执行一条机器指令所需微指令的数目少,执行时间短;但微指令字较长,增加了控存的横向容量,同时微指令和机器指令的差别很大,设计者只有熟悉了数据通路,才有可能编制出理想的微程序,一般用户不易掌握。

17.水平型和垂直型微程序设计之间各有什么区别?

串行微程序设计和并行微程序设计有什么区别?

解:

水平型微程序设计是面对微处理器内部逻辑控制的描述,所以把这种微程序设计方法称为硬方法;垂直型微程序设计是面向算法的描述,所以把这种微程序设计方法称为软方法。

在串行微程序设计中,取微指令和执行微指令是顺序进行的,在一条微指令取出并执行之后,才能取下一条微指令;在并行微程序设计中,将取微指令和执行微指令的操作重叠起来,从而缩短微周期。

18.图6唱26给出了某微程序控制计算机的部分微指令序列。

图中每一框代表一条

微指令。

分支点a由指令寄存器IR的第5、6两位决定。

分支点b由条件码C0决定。

采用下址字段实现该序列的顺序控制。

已知微指令地址寄存器字长8位。

(1)设计实现该微指令序列的微指令字之顺序控制字段格式。

(2)给出每条微指令的二进制编码地址。

(3)画出微程序控制器的简化框图。

解:

(1)该微程序流程有两处有分支的地方,第一处有4路分支,由指令操作码

IR5IR6指向4条不同的微指令,第二处有2路分支,根据运算结果C0的值决定后继微地

址。

加上顺序控制,转移控制字段取2位。

图6唱26中共有15条微指令,则下址字段至少

需要4位,但因已知微指令地址寄存器字长8位(μMAR7~μMAR0),故下址字段取8

位。

微指令的顺序控制字段格式如图6-27所示。

(2)转移控制字段2位:

00 顺序控制

01 由IR5IR6控制修改μMAR4,μMAR3。

10 由C0控制修改μMAR5。

微程序流程的微地址安排如图6-28所示。

每条微指令的二进制编码地址见表6-3。

注:

每条微指令前的微地址用十六进制表示。

图6-28 微程序流程的微地址安排

(3)微程序控制器的简化框图略。

19.已知某机采用微程序控制方式,其控制存储器容量512×48位,微程序可在整个控制存储器中实现转移,可控制转移的条件共4个,微指令采用水平型格式,后继指令地址采用断定方式,微指令格式如图6-29所示。

(1)微指令中的3个字段分别应为多少位?

(2)画出围绕这种微指令格式的微程序控制器逻辑框图。

解:

(1)因为控制转移的条件共4个,则判别测试字段为2位;因为控存容量为512个单元,所以下地址字段为9位;微命令字段是(48-2-9)=37位。

(2)对应上述微指令格式的微程序控制器逻辑框图如图6-30。

20.某机有8条微指令I1~I8,每条微指令所含的微命令控制信号如表6-4所列。

图6唱30 微程序控制器逻辑框图

 a~j分别代表10种不同性质的微命令信号,假设一条微指令的操作控制字段为8

位,请安排微指令的操作控制字段格式,并将全部微指令代码化。

解:

因为微指令的操作控制字段只有8位,所以不能采用直接控制法。

又因为微指令中有多个微命令是兼容性的微命令,如微指令I1中的微命令a~e,故也不能采用最短编码法。

最终选用字段编码法和直接控制法相结合的方法。

将互斥的微命令安排在同一段内,兼容的微命令安排在不同的段内。

b、i、j这3个微命令是互斥的微命令,把它们安排在一个段内,e、f、h这3个微命令也是互斥的,把它们也安排在另一个段内。

此微指令的操作控制字段格式如图6-31所示。

其中:

字段1的译码器输出对应的微命令为

00 无

01 b

10 i

11 j

字段2的译码器输出对应的微命令为

00 无

01 e

10 f

11 h

将全部8条微指令代码化可以得到

I1:

 11100101

I2:

 10110010

I3:

 00000111

I4:

 01000000

I5:

 01011001

I6:

 10001111

I7:

 01100011

I8:

 10000111

21.在微程序控制器中,微程序计数器μPC可以用具有加“1”功能的微地址寄存器

μMAR来代替,试问程序计数器PC是否可以用具有加“1”功能的存储器地址寄存器

MAR代替?

解:

在微程序控制器中不可以用MAR来代替PC。

因为控存中只有微指令,为了降低成本,可以用具有计数功能的微地址寄存器(μMAR)来代替μPC。

而主存中既有指令又有数据,它们都以二进制代码形式出现,取指令和数据时地址的来源是不同的。

取指令:

(PC)→MAR

取数据:

地址形成部件→MAR

所以不能用MAR代替PC。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2