为了改进由于条件转移指令引起的流水线断续现象、减少条件转移指令造成的执行部件停顿时间,一般有哪几种措施?

题目

为了改进由于条件转移指令引起的流水线断续现象、减少条件转移指令造成的执行部件停顿时间,一般有哪几种措施?


相似考题
更多“为了改进由于条件转移指令引起的流水线断续现象、减少条件转移指令造成的执行部件停顿时间,一般有哪几种措施?”相关问题
  • 第1题:

    下列指令中,不属于程序控制指令的是(2)。

    A.无条件转移指令

    B.条件转移指令

    C.中断隐指令

    D.循环指令


    正确答案:C
    解析:程序控制指令用来改变程序原来的执行顺序。程序中需要改变执行顺序的原因主要有:循环执行一段程序;程序涉及决策问题,在不同条件的情况下做不同的事情;模块化程序执行时要靠程序控制指令来控制这些模块的执行顺序。程序控制指令主要包括:转移指令、跳跃指令和子程序调用与返回指令。

  • 第2题:

    现采用4级流水线结构分别完成一条指令的取指、指令译码和取数、运算以及送回运算结果4个基本操作,每步操作时间依次为60ns、100ns、50ns和 70ns。该流水线的操作周期应为(1)ns。若有一小段程序需要用20条基本指令完成(这些指令完全适合于流水线上执行),则得到的第一条指令 结果需(2)ns,完成该段程序需(3)ns。在流水线结构的计算机中,频繁执行(4)指令时会严重影响机器的效率。当有中断请 求发生时,采用不精确断点法,则将(5)。 空白(4)处应选择()

    • A、条件转移
    • B、无条件转移
    • C、算术运算
    • D、访问存储器

    正确答案:A

  • 第3题:

    转移指令分为条件转移指令和无条件转移指令,条件转移指令的转移目的地址只能是短标号,即转移范围不能超过()字节。


    正确答案:-128~+127

  • 第4题:

    Pentium超标量指令流水线为什么限制复杂指令、存在数据相关的指令和转移指令等不能实现配对执行?


    正确答案:因为Pentium的两条指令流水线U和V并不是完全相同的,例如V流水线只能执行简单指令,所以不可能实现复杂指令的配对执行。
    存在数据相关的指令,需要执行完前一条指令才能得到后一条指令需要的操作数,所以也无法同时进行执行。
    存在转移指令,需要执行完前一条指令才能决定是否执行后一条指令,所以也不能配对执行。

  • 第5题:

    流水线中造成控制相关的原因是执行()指令而引起。

    • A、条件转移
    • B、访内
    • C、算逻
    • D、无条件转移

    正确答案:A

  • 第6题:

    为了实现主机和外设之间的信息传送,可以使用()

    • A、传送指令
    • B、无条件转移指令
    • C、转子指令
    • D、条件转移指令
    • E、输入/输出指令

    正确答案:A,E

  • 第7题:

    8086的转移指令根据转移的范围分为段内转移及段间转移,下列()是错误的。

    • A、无条件指令既可以段内转移,也可以段间转移
    • B、无条件转移指令既可以直接转移,也可以间接转移
    • C、条件转移指令既可以段内转移,也可以段间转移
    • D、条件转移指令是段内的直接短转移

    正确答案:C

  • 第8题:

    ()包括条件转移指令,无条件转移指令,停止指令和复位指令。

    • A、运算指令
    • B、控制指令
    • C、传送指令
    • D、特殊指令

    正确答案:B

  • 第9题:

    单选题
    下列选项中,不会引起指令流水线阻塞的是(  )。
    A

    数据旁路(转发)

    B

    数据相关

    C

    条件转移

    D

    资源冲突


    正确答案: B
    解析:
    由于采用流水线方式,相邻或相近的两条指令可能会因为存在某种关联,后一条指令不能按照原指定的时钟周期运行,从而使流水线断流。有三种相关可能引起指令流水线阻塞:
    ①结构相关,又称资源相关;
    ②数据相关;
    ③控制相关,又称指令相关,主要由条件转移引起。

  • 第10题:

    问答题
    为了改进由于条件转移指令引起的流水线断续现象、减少条件转移指令造成的执行部件停顿时间,一般有哪几种措施?

    正确答案: A.猜测法。指令部件发现条件转移指令后,在等待执行部件执行完指令队列中的指令并产生条件码后的这一段时间里,指令部件仍按固定的方向继续预取指令,或者按转移成功的方向预取,或者按转移不成功的方向预取。等到产生条件码后,如果同猜测的转移方向一致,指令缓冲寄存器组中预先取出的指令可以用,流水线停顿的时间可以缩短。如果未猜对,则指令缓冲寄存器组中的指令和已做的工作全部作废,重新按另一个方向读取指令,然后开始分析。这时流水线损失的时间仍较长。
    B.预取转移目标。在发现条件转移指令后,同时向两个分支方向预取指令。即除了继续按原来方向预取指令外,还按转移成功方向预取指令,最后根据真正的方向取其中一个分支的指令继续运行,有的还可以对于原来分支内指令进行带条件执行(即译码、取数、运算,但不送结果)进一步提高转移指令效率
    C.加快和提前形成条件码,有的指令的条件码并不一定要等执行完毕得到运算结果后才能形成。
    D.推迟转移。在编译一个程序时,编译程序自动地调整条件转移指令的位置,把条件转移指令从原来的位置向后移一条或若干条,而把无关指令先运行,这样作可以改进流水线的效率,不影响结果。一般可采用以下三种调度方法:A.将转移指令前的那条指令调度到延迟槽中;B.将转移目标处的那条指令调度到延迟槽中;C.将转移不发生时该执行的那条指令调度到延迟槽中。
    E.加快短循环程序的处理。循环是一种特殊的条件转移,它通常是按循环计数器内内容是否为0来判断是否已达到应有的循环次数,决定是否需要“向后”转移。短循环程序是指循环段的指令数目少于(或等于)指令缓冲寄存器组中可存放的指令数时的循环程序段。如果在执行这种短循环时,能把整个短循环程序段放在指令缓冲寄存器组中,让指令部件停止预取新的指令,重复使用这段短循环程序,就可减少访问主存次序,提高机器的效率。
    解析: 暂无解析

  • 第11题:

    单选题
    ()包括条件转移指令,无条件转移指令,停止指令和复位指令。
    A

    运算指令

    B

    控制指令

    C

    传送指令

    D

    特殊指令


    正确答案: A
    解析: 暂无解析

  • 第12题:

    问答题
    试比较无条件转移指令、条件转移指令、调用指令和中断指令有什么异同?

    正确答案: 无条件转移指令的操作是无条件地使程序转移到指定的目标地址,并从该地址开始执行新的程序段,其转移的目标地址既可以是在当前逻辑段,也可以是在不同的逻辑段;条件转移指令是在满足一定条件下使程序转移到指定的目标地址,其转移范围很小,在当前逻辑段的-128~+127地址范围内。
    调用指令是用于调用程序中常用到的功能子程序,是在程序设计中就设计好的。根据所调用过程人口地址的位置可将调用指令分为段内调用(入口地址在当前逻辑段内)和段间调用。在执行调用指令后,CPU
    要保护断点。对段内调用是将其下一条指令的偏移地址压人堆栈,对段间调用则要保护其下一条指令的偏移地址和段基地址,然后将子程序人口地址赋给IP(或CS和IP)。
    中断指令是因一些突发事件而使CPU暂时中止它正在运行的程序,转去执行一组专门的中断服务程序,并在执行完后返回原被中止处继续执行原程序。它是随机的。在响应中断后CPU不仅要保护断点(即INT指令下一条指令的段地址和偏移地址),还要将标志寄存器FLAGS压入堆栈保存。
    解析: 暂无解析

  • 第13题:

    ()包括条件转移指令、无条件转移指令、停止指令和复位指令。

    A.运算指令

    B.控制指令

    C.传送指令

    D.特殊指令


    正确答案:B


  • 第14题:

    条件转移指令和无条件转移指令有什么不同?


    正确答案:条件转移指令的位移量只允许8位,即目标地址应在本条转移指令的下一条指令地址的一128一+127个字节的范围之内,因此它只能实现段内转移;无条件转移指令则没有此限制,它能够实现段内和段间两种转移,段内转移可使用8位或16位位移量。

  • 第15题:

    试比较无条件转移指令、条件转移指令、调用指令和中断指令有什么异同?


    正确答案: 无条件转移指令的操作是无条件地使程序转移到指定的目标地址,并从该地址开始执行新的程序段,其转移的目标地址既可以是在当前逻辑段,也可以是在不同的逻辑段;条件转移指令是在满足一定条件下使程序转移到指定的目标地址,其转移范围很小,在当前逻辑段的-128~+127地址范围内。
    调用指令是用于调用程序中常用到的功能子程序,是在程序设计中就设计好的。根据所调用过程人口地址的位置可将调用指令分为段内调用(入口地址在当前逻辑段内)和段间调用。在执行调用指令后,CPU
    要保护断点。对段内调用是将其下一条指令的偏移地址压人堆栈,对段间调用则要保护其下一条指令的偏移地址和段基地址,然后将子程序人口地址赋给IP(或CS和IP)。
    中断指令是因一些突发事件而使CPU暂时中止它正在运行的程序,转去执行一组专门的中断服务程序,并在执行完后返回原被中止处继续执行原程序。它是随机的。在响应中断后CPU不仅要保护断点(即INT指令下一条指令的段地址和偏移地址),还要将标志寄存器FLAGS压入堆栈保存。

  • 第16题:

    下列叙述正确的是()

    • A、对两个无符号数进行比较采用CMP指令,对两个有符号数比较用CMPS指令
    • B、对两个无符号数进行比较采用CMPS指令,对两个有符号数比较用CMP指令
    • C、对无符号数条件转移采用JAE/JNB指令,对有符号数条件转移用JGE/JNL指令
    • D、对无符号数条件转移采用JGE/JNL指令,对有符号数条件转移用JAE/JNB指令

    正确答案:C

  • 第17题:

    流水线中造成控制相关的原因是条件转移指令而引起。


    正确答案:正确

  • 第18题:

    在执行条件转移指令前,不能形成条件的指令有()

    • A、CMP
    • B、SUB
    • C、AND
    • D、MOV

    正确答案:D

  • 第19题:

    多个CJP指令嵌套使用时,若外层的条件转移能够执行,则内层的条件转移无效


    正确答案:正确

  • 第20题:

    多选题
    为了实现主机和外设之间的信息传送,可以使用()
    A

    传送指令

    B

    无条件转移指令

    C

    转子指令

    D

    条件转移指令

    E

    输入/输出指令


    正确答案: C,D
    解析: 暂无解析

  • 第21题:

    判断题
    流水线中造成控制相关的原因是条件转移指令而引起。
    A

    B


    正确答案:
    解析: 暂无解析

  • 第22题:

    单选题
    流水线中造成控制相关的原因是执行()指令而引起。
    A

    条件转移

    B

    访内

    C

    算逻

    D

    无条件转移


    正确答案: B
    解析: 暂无解析

  • 第23题:

    单选题
    8086的转移指令根据转移的范围分为段内转移及段间转移,下列()是错误的。
    A

    无条件指令既可以段内转移,也可以段间转移

    B

    无条件转移指令既可以直接转移,也可以间接转移

    C

    条件转移指令既可以段内转移,也可以段间转移

    D

    条件转移指令是段内的直接短转移


    正确答案: A
    解析: 暂无解析