《计算机组成原理》复试问答题总结

请说明三级存储体系分别由哪些部分组成,并比较“CACHE—主存”和“主 存—辅存”这两个存储层次的相同点和不同点?:
三级存储体系是:cache、主存、辅存
两个层次的相同点都是为了满足上一层和低一层之间的高速缓存。前者解决cpu和主存之间信息传输的速度问题,后者解决容量问题,同时前者是以块作为传输单位,后者则是分段、分页等。

DMA工作流程

DMA(Direct Memory Access)——存储器直接访问,其作用是不同CPU而直接使用DMA控制器来进行高速地与I/O设备和存储器之间数据交互。由于大部分时间都不需要CPU直接参与使得CPU与I/O可以并行操作,提高计算机系统的工作效率。

外设向DMAC发请求
DMAC通过HOLD向CPU发出总线请求
CPU相应释放三条总线,并且发出应答HLDA
DMAC向外设发出DMA应答
DMAC发出地址、控制信号,为外设传送数据;
传送完规定的数据后,DMAC撤销HOLD信号,CPU也撤销HLDA信号,并且回复对三总线的控制。

什么是RISC?RISC指令系统的特点是什么?
​ 复杂指令系统计算机(CISC)是指通过来增强原有指令的功能,并且设置更为复杂的新指令实现软件功能的硬化的一类计算机,例如经典的X86架构。

​ 精简指令系统计算机(RISC)是指通过减少指令种类和简化指令的功能,来提高指令的执行速度,例如经典的ARM,MIPS架构。

(CISC)的主要特点如下:

指令系统复杂庞大,指令数目一般为 200 条以上。
指令长度不固定,指令格式多,寻址方式多。
可以访存的指令不受限制。
各种指令使用频度相差很大。
各种指令执行时间相差很大,大多数指令需要多个时钟周期才能完成。
控制器大多数采用微程序控制。有些指令非常复杂,以至于无法采用硬连线控制。
难以用优化编译生成高效的目标代码程序。
(RISC)的主要特点如下:

中心思想要求指令系统简化,尽量使用寄存器-寄存器操作指令且指令格式一致。
选取使用频率最高的一些简单指令,复杂指令的功能由简单指令的组合来实现。
只有 Load/Store(取数/存数)指令访存,其余指令的操作都在寄存器之间完成。
指令长度固定,指令格式种类少,寻址方式种类少。
CPU 中通用寄存器的数量相当多。
RISC 一定采用指令流水线技术,大部分指令在一个时钟周期内完成。
以硬布线控制为主,不用或少用微程序控制。
特别重视编译优化工作,以减少程序执行时间。
 

请简要说明常见的主机与外围设备之间信息传送的控制方式,并指出采用哪 种方式 CPU 效率最低,哪种方式效率最高?
​ 主机与外围设备之间信息传送的控制方式有四种:程序查询方式、中断方式、DMA 方式和通道方式。程序查询方式 CPU 效率最低。

程序直接传送方式
程序直接传送方式是指完全通过程序来控制主机和外围设备之间的数据传送。

无条件传送方式
默认外设处于准备好的状态,不需要查询外设的空闲状态。
程序查询传送方式
CPU通过执行程序不断地读取并测试外设的状态。
程序中断传送方式

​ 在程序直接传送方式中,CPU需要不断地查询外设的状态。这显然是浪费的,所以我们把请求主动权交给外设。外设通过发送中断服务请求,让CPU响应后执行中断服务程序,待执行完毕后,CPU重新返回原来的主程序继续执行自己的工作。

直接存储器存取(DMA)方式
上面的中断传送方式亦有不足,例如,中断服务程序的编制和调试复杂,而且执行中断这个流程下来,需要一定的时间。这时候引入DMA控制器,把控制和操作给到DMA控制器,当需要数据传输时,系统总线的管理权从CPU给到了DMA控制器。

通道控制方式

解决了I/O操作的独立性和各部件工作的并行性。把CPU从繁琐的输入/输出操作中解放出来。采用通道技术后,不仅能实现CPU和通道的并行操作,而且通道与通道之间也能实现并行操作,各通道上的外设也能实现并行操作,从而可提高整个系统的效率。当然缺点是由于需要更多硬件(通道处理器),因此其成本较高。通道控制方式通常应用于大型数据交互的场合。
 

说明冯诺依曼计算机的基本特征
冯·诺依曼计算机的特点

计算机由五大部件组成:存储器,运算器,控制器,输入设备,输出设备。
指令和数据以同等地位存于存储器,可按地址顺序访问。
指令和数据用二进制表示。
指令由操作码和地址码组成。
存储程序,程序在计算机中顺序存放。
以运算器为中心。(不合理:花大量的时间进行数据传输,降低了运算器数据运算的效率)

请说明 SRAM 的组成结构,与 SRAM 相比,DRAM 在电路组成上有什么不同之处?:
SRAM大多是由CMOS管组成的挥发性静态存储器。在掉电后存储器中所存数据就会丢失。随机静态存储器可以对任何地址进行读写操作,通过锁存器的原理对数据进行保存,在无操作状况下,锁存器处于稳态,保持数据稳定。SRAM由基本单元构成的阵列以及外围电路构成。SRAM 速度很快而且不用刷新就能保存数据不丢失。SRAM由于靠连续的供电来维持所存数据的完整性,故属于易挥发性存储器。
动态随机访问存储器是一种半导体存储器,主要的作用原理是利用电容内存储电荷的多寡来代表一个二进制比特(bit)是1还是0。由于在现实中电容会有漏电的现象,导致电位差不足而使记忆消失,因此除非电容经常周期性地充电,否则无法确保记忆长存。由于这种需要定时刷新的特性,因此被称为“动态”存储器。
相对来说,“静态”存储器(SRAM)只要存入数据后,纵使不刷新也不会丢失记忆。与SRAM相比,DRAM的优势在于结构简单——每一个比特的数据都只需一个电容跟一个晶体管来处理。DDRAM拥有非常高的密度,单位体积的容量较高,因此成本较低。DRAM也有缺点,DRAM也有访问速度较慢,耗电量较大的缺点。与大部分的随机存取存储器(RAM)一样,由于存在DRAM中的数据会在电力切断以后很快消失,因此它属于一种易失性存储器(volatile memory)设备。
SRAM是比DRAM更为昂贵,但更为快速、非常低功耗(特别是在空闲状态)。因此SRAM首选用于带宽要求高,或者功耗要求低,或者二者兼而有之。SRAM比起DRAM更为容易控制,也更是随机访问。由于复杂的内部结构,SRAM比DRAM的占用面积更大,因而不适合用于更高储存密度低成本的应用,如PC内存。

简述中断的步骤及中断响应的条件:
步骤一:任何一个PIE中断组的外设或外部中断产生中断。如果外设模块内的中断被使能,中断请求将被送到PIE模块。

步骤二:PIE模块将识别出别的PIE中断组x内的y中断(INTx.y)申请,然后相应的PIE中断标志位被锁存:PIEIFRx.y=1。

步骤三:PIE的中断如要送到CPU需满足下面两个条件:

​ 1.相应的使能位必须被设置(PIEIERx.y=1)。

​ 2.相应的PIEACKx位必须被清除。

步骤四:如果满足步骤三中的两个条件,中断请求将被送到CPU并且相应的响应寄存器位被置1(PIEACKx=1)。PIEACKx位将保持不变,除非为了使本组中的其他中断向CPU发出申请而清除该位。

步骤五:CPU中断标志位被置位(CPUIFRx=1),表明产生一个CPU级的挂起中断。

步骤六:如果CPU中断被使能(CPUIERx=1,或DBGIERx=1),并且全局中断使能(INTM=0),CPU将处理中断INTx。

步骤七:CPU识别到中断并且自动保存相关的中断信息,清除使能寄存器(IER)位,设置INTM,清除EALLOW。CPU完成这些任务准备执行中断服务程序。

步骤八:CPU从PIE中获取相应的中断向量。

步骤九:对于复用中断,PIE模块用PIEIERx和PIEIFRx寄存器中的值确定响应中断的向量地址。有以下两种情况:

​ 1.在步骤四中若有更高优先级的中断产生,并使能了PIEIERx寄存器,且PIEIFRx的相应位处于挂起状态,则首先响应优先级更高的中断。

​ 2.如果在本组内没有挂起的中断被使能,PIE将响应组内优先级最高的中断,调转地址使用INTx.1。这种操作相当于处理器的TRAP或INT指令。

​ CPU进入中断服务程序后,将清除PIEIFRx.y位。需要说明的是,PIEIERx寄存器用来确定中断向量,在清除PIEIERx寄存器时必须注意。

论证在浮点数加减为什么要对阶,对阶原则反过来为什么不行:
所谓对阶是指将两个进行运算的浮点数的阶码对齐的操作。对阶的目的是为使两个浮点数的尾数能够进行加减运算。因为,当进行Mx·2Ex与My·2Ey加减运算时,只有使两浮点数的指数值部分相同,才能将相同的指数值作为公因数提出来,然后进行尾数的加减运算。
需要注意的是:
(1)对阶的原则是小阶对大阶,之所以这样做是因为若大阶对小阶,则尾数的数值部分的高位 需移出,而小阶对大阶移出的是尾数的数值部分的低位,这样损失的精度更小
(2)若⊿E=0,说明两浮点数的阶码已经相同,无需再做对阶操作了。
(3)采用补码表示的尾数右移时,符号位保持不变。
(4)由于尾数右移时是将最低位移出,会损失一定的精度,为减少误差,可先保留若干移出的位,供以后舍入处理用

与组合逻辑控制方式相比,微程序控制器有何优点?
​ 组合逻辑控制器与微程序控制器,除了操作控制信号的形成方法和原理有差别外,其余没有本质上差别。但是不同控制器之间具体实现的方法差别很大,这不仅是由于采用组合逻辑控制或微程序控制引起的,因为实现一条指令功能的办法不唯一一 的,因此就有多种逻辑设计方案出现。

两种控制器之同的最显著差别可归结为两点。

1.实现方法的差别

​ 微程序控制器的控制功能是在存放微程序的控制存储器和存放当前正在执行的微指令的寄存器直接控制下实现的,而组合逻辑控制则由逻辑门组合实现。前者的电路比较规整,各条指令控制信号的差别反映在控制存储器的内容上,因此无论是增加或修改指令只要增加或修改控存内容即可。在设计阶段可以先用RAM或EPROM实现,验证正确后或成批生产时,再用ROM替代。组合逻辑控制器的控制信号先用逻辑式列出,经化简后用电路实现,因而显得零乱且复杂。当需修改指令或增加指令时是很麻烦的,因此微程序控制得到广泛应用,尤其是指令系统复杂的计算机,一 般都采用微程序来实现控制功能。

2.工作性能的差别

​ 在同样的半导体工艺条件下,微程序控制的速度比组合逻辑控制的速度低,那是因为执行每条微指令都要从控存中读取一一次, 影响了速度。而组合逻辑设计主要取决于电路延迟,因而在超高速计算机中,往往采用组合逻辑设计。近年来在一些新型计算机结构中, 例如,在RISC中,一般选用组合逻辑设计。

一个计算机系统中的总线,大致分为哪几类?
计算机的三类总线分别是:控制总线、地址总线和数据总线。控制总线用于将微处理器控制单元的信号,传送到周边设备;地址总线用来指定在RAM之中储存的数据的地址;数据总线用于在CPU与RAM之间来回传送需要处理或是需要储存的数据。

地址总线(Address Bus):用来指定在RAM(Random Access Memory)之中储存的数据的地址。

控制总线(Control Bus):将微处理器控制单元(Control Unit)的信号,传送到周边设备。

数据总线DB(Data Bus):数据总线DB用于传送数据信息。数据总线是双向三态形式的总线,即他既可以把CPU的数据传送到存储器或I/O接口等其它部件,也可以将其它部件的数据传送到CPU。
 

指令和数据均存放在内存中,CPU 如何从时间和空间上区分它们是指令还是数据?:
​ 通常完成一条指令可分为取指阶段、分析阶段和执行阶段。在取指阶段通过访问存储器可将指令取出;在执行阶段通过访问存储器可将操作数取出。这样,虽然指令和数据都是以0、1代码形式存在存储器中,但CPU可以判断出在取指阶段访存取出的0、1代码是指令;在执行阶段访存取出的0、1代码是数据。

计算机区分指令和数据有以下2种方法:
1.通过不同的时间段来区分指令和数据,即在取指令阶段(或取指微程序)取出的为指令,在执行指令阶段(或相应微程序)取出的即为数据。
2.通过地址来源区分,由PC提供存储单元地址的取出的是指令,由指令地址码部分提供存储单元地址的取出的是操作数。
 

简述多重中断系统中 CPU 响应处理一次中断的步骤??
多重中断:CPU在响应处理中断过程中,允许响应处理更高级别的中断请求,这种方式称为多重中断。

实现方法:在中断服务程序的起始部分用一段程序来保存现场、送新屏蔽字以屏蔽同级别和低级别的中断请求、然后开中断,这样CPU就可响应更高级别的中断请求,实现多重中断。
 

什么是存储器的刷新?刷新有哪些典型的方式?

为了维护所存信息,需要在一定时间内将所存的信息读出再重新写入,这一过程称为刷新。刷新是一行一行进行的,由CPU自动完成。
主要有:可集中刷新,分散刷新和异步刷新

何谓“总线仲裁”?:
连接到总线上的功能模块有主动,被动两种形态。主方可以启动一个总线周期,而从方只能响应主方的请求。每次总线操作,只能有一个主方占用总线控制权,但可以同一时间里有一个或多个从方。
除cpu模块外,I/O功能模块也可以提出总线请求,为了解决多个设备同时竞争总线控制权,必须具有总线仲裁部件,以某种方式选择其中一个主设备作为总线的下一次主方。
一般说,采用优先级或公平策略进行仲裁。在多处理器系统中,对cpu模块的总线请求采用公平原则处理,对I/O模块的总线请求采用优先级策略。

浮点数规格化的目的和方法?:
浮点的规格化是为了使浮点数尾数的最高数值位为有效数位。 当尾数用补码表示时, 若符号位与小数点后的第一位不相等,则被定义为已规格化数,否则便是非规格化数。 通过规格化,可以保证运算数据的精度。 通常,采用向左规格化,即尾数每左移一位,阶码减 1,直至规格化完成。”

请说明微指令地址的形成方式主要有哪两种分别是从哪里获得的下一 条微指令的微地址的?:
执行指令阶段首条微指令地址的形成:

也可以叫作:微程序入口地址(非取指微程序)的形成。由机器指令的操作码字段即OP字段通过微地址形成部件产生该机器指令所对应的微程序的入口地址并送入微地址寄存器。可以说微程序(非取指微程序)的入口地址是机器指令操作码的某种映射。

后继微指令地址的形成:后继微地址指令的形成主要有两种方式:①计数器方式、②多路转移方式

1.计数器方式:

类似于使用程序计数器(PC)来产生后继地址。微地址的产生线路主要是“微地址计数器(MPC或μPC)”,后继微地址由当前微地址加上一个增量来产生。

使用这种方法,微指令中可以不设置“下地址场”,但要求顺序执行的微指令必须放在连续的控制存储器单元中。

2.多路转移方式(断定方式):

微指令中的“顺序控制”字段将会起到作用,地址转移逻辑也正如其功能所说会去修改微地址寄存器中的内容。
 

讲讲啥是存储程序控制方式?:

存储程序工作方式:就是把解决问题的指令提前存入存储器中,在机器通电之后,就能按照指定的逻辑循序取出存储器的指令进行处理自动的完成工作。

简述 CPU 的主要功能?:

1、处理指令,这是指控制程序中指令的执行顺序;

2、执行操作,一条指令的功能往往是由计算机中的部件执行一系列的操作来实现的;

3、控制时间,时间控制就是对各种操作实施时间上的定时;

4、处理数据,即对数据进行算术运算和逻辑运算。

在计算机系统结构中,什么是编译?什么是解释?:
翻译的方式有两种:一个是编译,一个是解释。
编译型语言写的程序在执行之前,需要一个专门的编译过程,把程序编译称为机器语言的文件,比如exe文件,如果源程序不变以后要运行的话就不用重新翻译。
解释则不同,解释性语言的程序不需要编译,在运行程序的时候才翻译,翻译一句执行一句,不生成目标程序,这样解释性语言每执行一次就要翻译一次,效率比较低。
.java文件—>编译—>.class文件,编译成.class字节码,.class需要jvm解释,然后解释执行。Java很特殊,java程序需要编译但是没有直接编译成机器语言,即二进制语言,而是编译成字节码(.class)再用解释方式执行。java程序编译以后的class属于中间代码,并不是可执行程序exe,不是二进制文件,所以在执行的时候需要一个中介来解释中间代码,这就是所谓的java虚拟机(JVM)。
C语言编译过程分成四个步骤:
(1)由.c文件到.i文件,这个过程叫预处理,将#include包含的头文件直接拷贝到hello.c当中;将#define定义的宏进行替换,同时将代码中没用的注释部分删除等。
(2)由.i文件到.s文件,这个过程叫编译。
(3)由.s文件到.o文件,这个过程叫汇编。
(4)由.o文件到可执行文件,这个过程叫链接,将翻译成的二进制与需要用到库绑定在一块。
 

在计算机中,为什么要采用二进制来表示数据?:
计算机最基本的功能就是数值运算,它的实现是建立在数字电路基础之上,为了更简单的设计计算机,让计算机更易于数值运算,同时又根据数字电路的特点,所以就有了二进制,即用0和1的任意组合来表示任意自然数。数字1可以用数字电路中的高电平来表示,数字0可以用数字电路中的低电平来表示。

数字电路中的基本电路单元是门电路,门电路的可以输出高低电平,每个门电路可以表示出一位,多个门电路组合可以表示出任意的多位数值。比如1用二进制表示为1,3用二进制表示就是11,15用二进制表示就是1111,这种表示方法虽然人类看起来有点费解,但是对计算机却很简单,他们的加减运算跟十进制一样,例如对于加法来说十进制是遇到十进一位,而二进制则遇到二进一。
 

向量中断、中断向量、向量地址三个概念是什么关系?:
中断向量
每个中断源都有对应的处理程序,这个处理程序称为中断服务程序,其入口地址称为中断向量。所有中断的中断服务程序入口地址构成个表,称为中断向量表;也有的机器把中断服务程序入口的跳转指令构成一张表,称为中断向量跳转表。
中断地址
中断向量表或中断向量跳转表中每个表项所在的内存地址或表项的索引值,称为向量地址或中断类型号。
向量中断
是指一种识别中断源的技术或方式。识别中断源的目的就是要找到中断源对应的中断服务程序的入口地址的地址,即获得向量地址
 

  • 19
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值