我不是做硬件的,我理解寄存器组是应该是非常昂贵东西,要做的快又做的大又那么多是很难的。再比如对于超标量+OOO乱序处理的cpu,加上CMT/HT是件非常“自然“”简单“的事情,因为功能单元/寄存器窗口/OOO算法已经在那儿了,CAAQA好像把SMT成为利用多线程发掘IPC。如你所说的加上大量context应该不会是很简单事情了。
现在有细粒度/粗粒度线程,有SMT,但是线程数量都是很有限的,里面的context也都只是一些GPR而已。intel的HT每个核心就俩线程,power6的SMT也是。细粒度/粗粒度线程每个核心更多一些,以前了解的sun T1 T2有4线程。T1这种是没有OOO的,单线程性能都非常悲剧。
再者,没听说哪些操作系统会利用处理器的线程context来实现操作系统的线程调度,只是把他们作为普通的cpu核/线程来处理。
【 在 hgoldfish 的大作中提到: 】
: 这种类型的指令不过是让 CPU 处理器换个寄存器组而已。不用多少晶体管。
: 我猜没什么人做的原因是因为需要操作系统支持。和现有的操作系统不搭,没什么人用。
:
--
FROM 116.224.249.*