标量处理器是怎么实现的?superscalar
就是多个EU,同时发射多条指令到多个EU。就是scalar,还不敢碰superscalar。
给解释一下吧,我想明白怎么实现的。
[ 本帖最后由 prolj 于 2008-5-5 17:16 编辑 ]
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
就是多个EU,同时发射多条指令到多个EU。就是scalar,还不敢碰superscalar。
给解释一下吧,我想明白怎么实现的。
[ 本帖最后由 prolj 于 2008-5-5 17:16 编辑 ]
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(8)
你是说向量? vector but not scalar?
scalar 知道的话给讲讲,谢谢
有没有人知道?就是怎么设计,有Verilog的描述就不奢求了。
EU之间资源互锁?
就是想把一个流水线的处理器改成标量的,有Verilog代码,我自己从一个简单的处理器代码改的,先做两个EU就好,以后再扩充。
这确实是超标量机的结构
矢量机这里的矢量的意思是趋向于对于数组的操作。在矢量机的指令集里,对数组的操作的描述能力比标量机强的多,短短几条指令就可以完成对几个数组的运算。与指令发射并行无关。
比如如下:
16维矢量相加:
C=A+B
C码:
int i;
for(i=0;i<16;i++)C=A+B;
标量机要执行很多条指令(包括循环执行的),可是向量机或许就短短几条。
[ 本帖最后由 cjaizss 于 2008-5-7 00:15 编辑 ]
超标量机靠指令译码单元来判断其并行度的,最坏的时候可能并行度为1。所以编译器的作用就显得非常重要。
谢谢诶,我再看看资料,把量化方法再看看。
硬件机制比较简单,编译器emit合适的窗口大小,剩下的再让硬件去调度。
标量+VLIW我觉得会很好。
[ 本帖最后由 prolj 于 2008-5-6 19:29 编辑 ]