【发布时间】:2014-08-30 01:20:02
【问题描述】:
由于单个 CPU 一次只能执行一条指令。基本上,多线程 CPU 所做的就是在单核内的多个线程之间来回切换。既然单线程和单核 CPU 可以通过进程之间的上下文切换来进行多任务处理,那么为什么多线程 CPU 很重要?
【问题讨论】:
-
这个问题不适合 SO。 HT 只是一个下一级 ILP——它不是从单个线程中提取指令之间的并行性,而是在多个线程之间。
-
为什么汉堡王在高峰期雇佣不止一名收银员?难道你不能让一个收银员从一个收银台跑到另一个收银台吗?
-
首先,superscalar 处理器可以并行执行多条指令。其次,即使在标量处理器中,单个执行线程也会遇到来自hazards 的停顿。第三,软件上下文切换比硬件等价物慢得多,因此往往只用于与 I/O 相关的非常长的停顿。
标签: multithreading cpu