- 主题:CPU能否为操作系统优化呢?
MIPS的MT指令有yield这种,也可以有多个shadow寄存器来处理context
【 在 bihai 的大作中提到: 】
: 比如,操作系统如果是微内核的,那么,进程通信会大量出现,达到子程序调用的级别。子程序是通过堆栈传参数,然后改IP。那么如果是进程通信呢?进程1会停止原来的执行,因为是异步的,然后基本是挂起,或者执行下一个消息。
: 而被呼叫的进程最好是被另一个CPU内核处理,进程通信的消息有的不多,估计寄存器就可以了,有的可能很多会达到64K级别,得内存来传送?然后被呼叫的进程完成后会返回一个呼叫,由操作系统把需要的信息传回原来的进程。
: 目前的CPU基本上运行微内核效率就会低。有没有可能涉及特殊的CPU来进行微内核加速呢?
: ...................
--
FROM 218.79.233.*
MIPS Multi-threading extention
【 在 yangtou 的大作中提到: 】
: wild的想法,你看来要把线程context保存在芯片里面了,那还要不要超标量乱序执行了,流水线状态也一起保存吗?那你准备支持几个线程呢,准备为此还有调度逻辑等花费多少面积,这cpu能跑到多高频率?如果保存到ram里面?那好了,我们就差不多回到了软件context switch了。
: 再者,为了context信息已经花费这么多了,干嘛还要运行和暂停,一直并行运行不好吗,那这不就是现在cpu的多线程嘛。
: --来自微微水木3.5.12
: ...................
--
FROM 183.193.60.*
每个thread有自己的context
有fork/yield指令
可以wait到I/O semaphore,让出pipeline
有scheduling policy (RR/weighted RR and etc.)
【 在 yangtou 的大作中提到: 】
: 有什么特别之处吗,这不就是现在普遍的多线程吗?
: --来自微微水木3.5.12
--
FROM 218.79.233.*
context是在CPU一组硬件的GPR,这样可以进行硬件的调度,MIPS之前可以支持9组
这个名字就叫Fine-Grianed HW Multi-thrading
【 在 yangtou 的大作中提到: 】
: 每个thread当然要有自己的context,但是这些只是cpu的或者hardware context,而不是操作系统的context。至于那些指令,估计只是名字吓人,并不是和os的那些功能对应的替代。我猜测就是一些对粗粒度多线程的优化而已,仍然没有超出现在普通cpu的多线程概念。我对此了解不多,
: 虏獯蟮艘坏恪
: --来自微微水木3.5.12
: ...................
--
FROM 218.79.233.*