指令并行。多发射处理器可以分为两类:VLIW 和超标量

标量流水线机器的性能可以通过并行发出和执行多条指令来提高。 多发射处理器可以分为两类:VLIW 和超标量。 两者的根本区别在于同时发出的指令是由编译器静态决定还是由硬件动态决定。 VLIW 处理器是静态调度的,而超标量处理器是动态调度指令的。

VLIW 处理器依靠编译器利用依赖信息来静态调度指令的能力,以便可以并行调度多个独立指令。 这种架构具有宽指令字,可以打包多个指令。 宽度决定了可以并行发出的指令数。 这些宽字格式还对可以并行发布的指令类型施加了限制,以将资源争用考虑在内。 由于寻找独立指令的负担落在编译器身上,因此生成的体系结构并不复杂,适合嵌入式体系结构。

超标量处理器可以进一步分为两类:顺序发射(in-order issue)和乱序发射(out-of-order issue)。 顺序发射处理器按照指令到达解码阶段的相同顺序发出指令。 换句话说,由编译器静态调度指令 i 晚于指令 j ,则指令i永远不会在 j 之前执行。 硬件只是试图并行发出多个连续的独立指令。 另一方面,乱序发射处理器在运行时动态调度指令。 因此,只要不存在相关性,就可以在指令 j 之前发射指令i,即使静态编译时指令i晚于指令 j 。 通过在运行时消除假的的依赖关系并能够更早地发出后面的指令,乱序发射处理器可以利用更多的 ILP,从而显著提高性能。 然而,这是以增加硬件复杂性为代价的。 指令发射窗口(Instruction Issue Windows) 必须足够大才能找到没有依赖的指令; 发射阶段的依赖检查逻辑非常复杂; 为了保持对精确异常的顺序提交,增加了更多的硬件和复杂性。 这种额外的硬件在嵌入式环境中是不合理的,因此这种利用 ILP 的途径是不可用的。
————————————————
版权声明:本文为CSDN博主「dataiyangnishuo」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/dataiyangnishuo/article/details/130770940

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值