系统结构考点之重叠方式
还是没有印象。
如题:2021年10月
答案:B,详见:解决指令间的各种相关处理中的寄存器相关。
分析
看到这个题,脑子里立马就出现好几个问题:什么是标量处理机?重叠知道的,重叠方式又是什么呢?二次相关好像没有涉及到吧???
尽管之前是看过的,但还是没有抓住重点。
基本知识
什么是标量处理机?
这部分内容在第2章数据表示里才有体现;向量数组数据表示与向量处理机部分。向量处理机就是有向量数据表示的处理机。虽然标量处理机也能处理向量、数组,但它是用标量指令通过变址和循环来实现的,其速度和效能自然要比向理处理机低得多。可以这样来理解:标量处理机就是处理单个数据处理机器,一般来说就是指令,而向量处理机是一次处理一组数据的机器。
重叠要解决的问题
加快标量处理机的机器语言的解释是组成设计的基本任务。
如何加快??
- 通过选用更高速的器件,采取更好的运算方法,提高指令内各微操作的并行程度,减少解题过程所需要的拍数等,加快每条机器指令的解释。
- 通过控制机构同时解释两条、多条以至整段程序的方式,加快整个机器语言程序的解释。在这种加快方式中,重叠和流水是常用的方式。
指令重叠的定义
指令重叠解释是在解释第k条指令的操作完成之前,就可以开始解释第k+1条指令。
指令重叠遇到问题及解决
要解决访存的冲突
指令的解释:取指,分析,执行。前两个操作有可能都要访存,如何避免冲突??
- 让操作数和指令分别存放于两个独立编址且可同时访问的存储器中,优点是,有利于实现指令的保护,缺点是增加了主存总线控制的复杂性及软件设计的麻烦。
- 仍维持指令和操作数的混存,但采用多体交叉主存结构,只要第k条指令的操作数与第k+1条指令不在同一个体内,仍可在一个主存周期取得。若在同一个体内就无法重叠,所以有一定的局限性
- 增设先进先出方式工作的指令缓冲器。
解决“分析”与“执行”操作的并行
硬件上还应有独立的指令分析和指令执行部件。
解决“分析”与“执行”操作控制上的同步
重叠方式计算机大多都采用一次重叠(指令分析部件和指令执行部件在任何时候都只有相邻两条指令在重叠解释的方式);若仍达不到速度的要求,可采用流水线方式
解决指令间的各种相关处理
转移指令
一旦条件转移成功,重叠解释就变成了顺序解释。可采用系统结构考点之流水线指令中断处理方法中的全局相关处理中的延迟转移技术。
指令相关处理
什么是指令相关?
其实是就是把两个相关的前后两条指令,把后一条指令提前取进指缓,而后一条指令要等前一条指令执行完才是正确的。
如何解决?
可以规定指令不能修改指令。
主存空间数相关处理
相邻两条指令间出现对主存同一单元要求先写后读的关联。也就是说得先写进新数后,才能再读。这就不能重叠了。解决方式:推后读,由存控给读数,写数申请按不同的访存优先级来解决。
通用寄存器组相关处理(本题考点)
通用寄存器存放操作数、运算结果外,还可能存放操作数的物理地址的变址值和基址值。
对于数相关情形,不同于主存数相关,可采用相关专用通路(相当于增加设备)
对于基址或变址相关处理,本题的考点;当相邻的指令,都用到同一个寄存器所存的基址时,若还没取到寄存器值,就会产生一次或二次相关。
一次或二次相关指的是相关指令相隔的指令的条数。二次相关是差两条,差两条的答案中只有B是正确的。
解决:同数分析一样,还是推后分析和设置相关专用通路两种方法。
扩展 流水方式
解决问题 比一次重叠更高方式
实质
“一次重叠”是把一条指令的解释分为两个子过程,而流水是分为更多个子过程。
流水线分类
- 向下扩展:把子过程进一步细分
- 向上扩展:在多个处理机之间的流水。多个处理机串行地对数据集进行处理,各处理机专门完成其中的一个任务。
按处理级别
部件级、处理机级、系统级
按具有的功能多少
单功能流水线和多功能流水线
多功能流水线
各段能否允许同时用于多种不同的功能连接流水,可分别静态流水线和动态流水线
静态流水线:在某一时间内条段只能按一种功能连接流水,只有等流水线全部流空后,才能切换成按另一种功能连接流水。
动态流水线的各功能段在同一时间内可按不同的运算或功能连接。
计算所具有的数据表示角度
标量流水机和向量流水机
流水线中各功能段之间是否有反馈回路
线性流水线和非线性流水线。
非线性流水线的一个重要问题是确定新任务什么时候流入流水线,使之不会与先前的任务争用流水段。所以流水线也是需要调度的。