主页

软考高项-系统分析师--计算机组成结构(3.指令系统)

2024-03-25 03:27PM

指令系统

1. 计算机指令

计算机指令的组成

一条指令有操作码操作数两部分组成,操作码决定要完成的操作,操作数指参加运算的数据及其所在的单元地址。

在计算机中,操作要求和操作数地址都由二进制数码表示,分别称作操作码和地址码,整条指令以二进制编码的形式存放在存储器中。

计算机指令执行过程

可分为取指令——分析指令执行指令——执行指令三个步骤:

首先将程序计数器PC中的指令地址取出,送入地址总线,CPU依据指令地址去内存中取出指令内容存入寄存器IR;

而后由指令译码器进行分析,分析指令操作码;

最后执行指令,取出指令执行所需的源操作数。

指令寻址方式

顺序寻址方式:由于指令地址字主存中顺序排列,当执行一段程序时,通常时一条指令接着一条指令地址顺序执行。从存储器取出第一条指令,然后执行这条指令;接着从存储器取出第二条指令,再执行第二条指令;……,以此类推。这种程序顺序执行过程称为指令的顺序寻址方式。

跳跃寻址方式:所谓指令的跳跃寻址,是指在下一条指令的地址码不是由程序计数器给出,而是由本条指令直接给出。程序跳跃后,按新的指令地址开始顺序执行。因此,指令计数器的内容页必须相应改变,以便及时跟踪新的指令地址。

指令操作数的寻址方式

立即寻址方式:指令的地址码字段指出的不是地址,而是操作数本身。

直接寻址方式:在指令的地址字段中直接指出操作数在主存的地址。

间接寻址方式:与直接寻址方式相比,间接寻址中指令地址码字段所指向的存储单元中存储的不是操作数本身,而是操作数的地址。

寄存器寻址方式:指令中的地址码是寄存器的编号,而不是操作数地址或操作数本身。寄存器的寻址方式也可以分为直接寻址和间接寻址,两者的区别在于:前者的指令地址码给出寄存器编号,寄存器的内容就是操作数本身;而后者的指令地址码给出寄存器编号,寄存器的内容是操作数的地址,根据改地址访问主存后才能得到真正的操作数 。

基址寻址方式:将基址寄存器的内容加上指令中的形式地址而形成操作数的有效地址,其优点是可以扩大寻址能力。

变址寻址方式:变址寻址方式计算有效地址的方法与基址寻址方式很相似,它是将变址寄存器的内容加上指令中的形式地址而形成操作数的有效地址。

相对寻址方式:相对于当前的指令地址而言的寻址方式。相对寻址是把程序计数器PC的内容加上指令中的形式地址而形成操作数的有效地址,而程序计数器的内容就是当前指令的地址,所以相对寻址是相对于当前的指令地址而言的。

2. CISC和RISC

CISC是复杂指令系统,兼容性强,指令繁多、长度可变,由微程序实现;

RISC是精简指令系统,指令少,使用频率接近,主要依靠硬件实现(通用寄存器,硬布线逻辑控制)。

二者各方面区分如下图:

3.指令的流水处理

流水线原理

将指令分成不同段,每段由不同的部分去处理,因此可以产生叠加的效果,所有的部件去处理指令的不同段,如下图所示:

RISC中的流水线技术:

超流水线(Super Pipe Line)技术。它通过细化流水、增加级数和提高主频,使得在每个机器周期内能完成一个甚至两个浮点操作。其实质是以时间换区空间。

超标量(Super Scalar)技术。它通过内装多条流水线来同时执行多个处理,其时钟频率虽然与一般流水接近,却有更小的CPI。其实质是以空间换区时间。

超长指令字(Very Long Instruction Word,VLIW)技术。VLIW和超标量都是20世纪80年代出现的概念,其共同点是要同时执行多条指令,其不同在于超标量依靠硬件来实现并行处理的调度,VLIW则充分发挥软件的作用,而使硬件简化,性能提高。

流水线时间计算

流水线周期:指令分成不同执行段,其中执行时间最长的段为流水线周期。

流水线执行时间:1条指令总执行时间+(总指令条数-1)*流水线周期。

流水线吞吐率计算:吞吐率即单位时间内执行的指令条数。公式:指令条数/流水线执行时间。

流水线的加速比计算:加速比即使用流水线后的效率提升度,即比不使用流水线快了多少倍,越高表明流水线效率越高,公式:不使用流水线执行时间/使用流水线执行时间。

单缓冲区和双缓冲区:此类题型不给出具体流水线执行阶段,需要考生自己区分流水线阶段,一般来说,能够同时执行的阶段就是流水线的独立执行阶段;只能独立执行的阶段应该合并为流水线中的一个独立执行阶段。

例如有三个几段即读入缓冲区+送入用户区+数据处理,在单缓冲区中,缓冲区和用户区都只有一个,一个盘块必须执行完前两个阶段,下一个盘块才能开始,因此前两个阶段应该合并,整个流水线为送入用户区+数据处理;

而在双缓冲区中,盘块可以交替读入缓冲区,但用户区只有一个,因为缓冲区阶段可以同时进行,流水线前两个阶段不能合并,就是读入缓冲区+送入用户区+数据处理三段。

划分出真正的流水线阶段后,套用流水线时间计算公式可以轻易得出答案。

注意:以上内容都是参考文老师软考教育,我写在博客只是方便自己查看,记忆;如果想要看更完整内容,请去看文老师软考教育。

返回>>

登录

请登录后再发表评论。

评论列表:

目前还没有人发表评论