免费智能真题库 > 历年试卷 > 嵌入式系统设计师 > 2016年下半年 嵌入式系统设计师 上午试卷 综合知识
  第5题      
  知识点:   指令的流水处理   指令   指令的执行过程
  关键词:   执行时间   指令        章/节:   计算机体系结构       

 
将一条指令的执行过程分解为取指、分析和执行三步,按照流水方式执行,若取指时间t取指=4∆t、分析时间t分析=2∆t、执行时间t执行=3∆t,则执行完100条指令,需要的时间为(5)∆t。
 
 
  A.  200
 
  B.  300
 
  C.  400
 
  D.  405
 
 
 

 
  第38题    2017年下半年  
   48%
在处理器的指令系统中,程序控制类指令的功能是(38)。
  第50题    2009年下半年  
   48%
若TMS320C6000的流水线深度达到8级时,则器件可同时运行(50)条指令。
  第26题    2009年下半年  
   62%
下列关于流水线的叙述中,错误的是(26)。
   知识点讲解    
   · 指令的流水处理    · 指令    · 指令的执行过程
 
       指令的流水处理
        (1)指令控制方式。指令控制方式有顺序方式、重叠方式和流水方式3种。
        ①顺序方式。顺序方式是指各条机器指令之间顺序串行地执行,执行完一条指令后才取下一条指令,而且每条机器指令内部的各个微操作也是顺序串行地执行。这种方式的优点是控制简单。缺点是速度慢,机器各部件的利用率低。
        ②重叠方式。重叠方式是指在解释第K条指令的操作完成之前就可以开始解释第K+1条指令,如下图所示。通常采用的是一次重叠,即在任何时候,指令分析部件和指令执行部件都只有相邻两条指令在重叠解释。这种方式的优点是速度有所提高,控制也不太复杂。缺点是会出现冲突、转移和相关等问题,在设计时必须想办法解决。
        
        一次重叠处理
        ③流水方式。流水方式是模仿工业生产过程的流水线(如汽车装配线)而提出的一种指令控制方式。流水(pipelining)技术是把并行性或并发性嵌入到计算机系统里的一种形式,它把重复的顺序处理过程分解为若干子过程,每个子过程能在专用的独立模块上有效地并发工作,如下图所示。
        
        流水处理的时空图
        在概念上,“流水”可以看成是“重叠”的延伸。差别仅在于“一次重叠”是把一条指令解释分解为两个子过程,而“流水”则是分解为更多的子过程。
        (2)流水线的种类。
        ①从流水的级别上,可分为部件级、处理机级以及系统级的流水。
        ②从流水的功能上,可分为单功能流水线和多功能流水线。
        ③从流水的连接上,可分为静态流水线和动态流水线。
        ④从流水是否有反馈回路,可分为线性流水线和非线性流水线。
        ⑤从流水的流动顺序上,可分为同步流水线和异步流水线。
        ⑥从流水线的数据表示上,可分为标量流水线和向量流水线。
        (3)流水的相关处理。由于流水时机器同时解释多条指令,这些指令可能有对同一主存单元或同一寄存器的“先写后读”的要求,这时就出现了相关。这种相关包括指令相关、访存操作数相关以及通用寄存器组相关等,它只影响相关的两条或几条指令,而且最多影响流水线的某些段推后工作,并不会改动指令缓冲器中预取到的指令内容,影响是局部的,所以称为局部性相关。解决局部性相关有两种方法:推后法和通路法。推后法是推后对相关单元的读,直至写入完成。通路法设置相关专用通路,使得不必先把运算结果写入相关存储单元,再从这里读出后才能使用,而是经过相关专用通路直接使用运算结果,以加快速度。
        转移指令(尤其是条件转移指令)与它后面的指令之间存在关联,使之不能同时解释。执行转移指令时,可能会改动指令缓冲器中预取到的指令内容,从而会造成流水线吞吐率和效率下降,比局部性相关的影响要严重得多,所以称为全局性相关。
        解决全局性相关有3种方法:猜测转移分支、加快和提前形成条件码、加快短循环程序的处理。
        条件转移指令有两个分支,一个分支是按原来的顺序继续执行下去,称为转移不成功分支;另一个分支是按转移后的新指令序列执行,称为转移成功分支。许多流水机器都猜选转移不成功分支,若猜对的几率很大,流水线的吞吐率和效率就会比不采用猜测法时高得多。
        尽早获得条件码以便对流水线简化条件转移的处理。例如,一个乘法运算所需的时间较长,但在运算之前就能知道其结果为正或为负,或者是否为0,因此,加快单条指令内部条件码的形成,或者在一段程序内提前形成条件码,对转移问题的顺利解决是很有好处的。
        由于程序中广泛采用循环结构,因此流水线大多采用特殊措施以加快循环程序的处理。例如,使整个循环程序都放入指令缓冲存储器中,对提高流水效率和吞吐率均有明显效果。中断和转移一样,也会引起流水线断流。好在中断出现的概率要比条件转移出现的概率低得多,因此只要处理好断点现场保护及中断后的恢复,尽量缩短断流时间即可。
        RISC中采用的流水技术有3种:超流水线、超标量以及超长指令字。
        ①超流水线(super pipe line)技术。它通过细化流水、增加级数和提高主频,使得在每个机器周期内能完成一个甚至两个浮点操作。其实质是以时间换取空间。超流水机器的特征是在所有的功能单元都采用流水,并有更高的时钟频率和更深的流水深度。由于它只限于指令级的并行,所以超流水机器的CPI(Clock cycles Per Instruction,每个指令需要的机器周期数)值稍高。
        ②超标量(super scalar)技术。它通过内装多条流水线来同时执行多个处理,其时钟频率虽然与一般流水接近,却有更小的CPI。其实质是以空间换取时间。
        ③超长指令字(Very Long Instruction Word,VLIW)技术。VLIW和超标量都是20世纪80年代出现的概念,其共同点是要同时执行多条指令,其不同在于超标量依靠硬件来实现并行处理的调度,VLIW则充分发挥软件的作用,而使硬件简化,性能提高。VLIW有更小的CCPI值,但需要有足够高的时钟频率。
        (4)吞吐率和流水建立时间。吞吐率是指单位时间内流水线处理机流出的结果数。对指令而言,就是单位时间内执行的指令数。如果流水线的子过程所用时间不一样,则吞吐率p应为最长子过程的倒数,即
        p=1/max{Δt1,Δt2,…,Δtm}
        流水线开始工作,需经过一定时间才能达到最大吞吐率,这就是建立时间。若m个子过程所用时间一样,均为Δt0,则建立时间T0=mΔt0
 
       指令
        指令是指挥计算机完成各种操作的基本命令。
        (1)指令格式。计算机的指令由操作码字段和操作数字段两部分组成。
        (2)指令长度。指令长度有固定长度的和可变长度的两种。有些RISC的指令是固定长度的,但目前多数计算机系统的指令是可变长度的。指令长度通常取8的倍数。
        (3)指令种类。指令有数据传送指令、算术运算指令、位运算指令、程序流程控制指令、串操作指令、处理器控制指令等类型。
 
       指令的执行过程
        通常一条指令的执行可分为以下步骤。
        (1)按指令指针计数器(IP)中的地址从内存读得一条指令存入CPU中的指令寄存器。
        (2)指令寄存器的指令经译码(与时序电路配合)有序地发出步骤(3)~步骤(6)的控制信号。
        (3)计算操作数的地址。
        (4)从该地址读出操作数。
        (5)执行本指令的运算操作。
        (6)保存结果。
        (7)计算下条指令的地址并存入指针计数器(IP),转到步骤(1)进行下条指令的执行过程。
   题号导航      2016年下半年 嵌入式系统设计师 上午试卷 综合知识   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
7 /
8 /
9 /
10 /
11 /
12 /
13 /
14 /
15 /
 
16 /
17 /
18 /
19 /
20 /
21 /
22 /
23 /
24 /
25 /
26 /
27 /
28 /
29 /
30 /
 
31 /
32 /
33 /
34 /
35 /
36 /
37 /
38 /
39 /
40 /
41 /
42 /
43 /
44 /
45 /
 
46 /
47 /
48 /
49 /
50 /
51 /
52 /
53 /
54 /
55 /
56 /
57 /
58 /
59 /
60 /
 
61 /
62 /
63 /
64 /
65 /
66 /
67 /
68 /
69 /
70 /
71 /
72 /
73 /
74 /
75 /
 
第5题    在手机中做本题