Chinaunix
标题:
标量处理器是怎么实现的?superscalar
[打印本页]
作者:
prolj
时间:
2008-05-05 13:36
标题:
标量处理器是怎么实现的?superscalar
就是多个EU,同时发射多条指令到多个EU。就是scalar,还不敢碰superscalar。
给解释一下吧,我想明白怎么实现的。
[
本帖最后由 prolj 于 2008-5-5 17:16 编辑
]
作者:
albcamus
时间:
2008-05-05 16:22
你是说向量? vector but not scalar?
作者:
prolj
时间:
2008-05-05 16:46
scalar 知道的话给讲讲,谢谢
作者:
jamesr
时间:
2008-05-05 19:28
提示:
作者被禁止或删除 内容自动屏蔽
作者:
prolj
时间:
2008-05-05 20:42
有没有人知道?就是怎么设计,有Verilog的描述就不奢求了。
作者:
cjaizss
时间:
2008-05-06 13:14
EU之间资源互锁?
作者:
prolj
时间:
2008-05-06 13:24
标题:
回复 #6 cjaizss 的帖子
就是想把一个流水线的处理器改成标量的,有Verilog代码,我自己从一个简单的处理器代码改的,先做两个EU就好,以后再扩充。
作者:
cjaizss
时间:
2008-05-06 19:05
标题:
回复 #2 albcamus 的帖子
这确实是超标量机的结构
矢量机这里的矢量的意思是趋向于对于数组的操作。在矢量机的指令集里,对数组的操作的描述能力比标量机强的多,短短几条指令就可以完成对几个数组的运算。与指令发射并行无关。
比如如下:
16维矢量相加:
C=A+B
C码:
int i;
for(i=0;i<16;i++)C
=A
+B
;
标量机要执行很多条指令(包括循环执行的),可是向量机或许就短短几条。
[
本帖最后由 cjaizss 于 2008-5-7 00:15 编辑
]
作者:
cjaizss
时间:
2008-05-06 19:17
超标量机靠指令译码单元来判断其并行度的,最坏的时候可能并行度为1。所以编译器的作用就显得非常重要。
作者:
prolj
时间:
2008-05-06 19:28
谢谢诶,我再看看资料,把量化方法再看看。
硬件机制比较简单,编译器emit合适的窗口大小,剩下的再让硬件去调度。
标量+VLIW我觉得会很好。
[
本帖最后由 prolj 于 2008-5-6 19:29 编辑
]
作者:
cjaizss
时间:
2008-05-07 00:33
superscalar和VLIW之间的实质区别,我并不知道......
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2