【发布时间】:2009-12-06 08:11:35
【问题描述】:
单核 CPU 或具有单 CPU 的计算机无法进行并行处理。真/假?
在单核单进程 CPU 中,无论在任何给定时间有多少进程和多少线程正在运行(不包括休眠线程),都只能执行一个线程的汇编指令。对/错?
很抱歉问题太多,它们似乎都相关。
【问题讨论】:
标签: linux multithreading
单核 CPU 或具有单 CPU 的计算机无法进行并行处理。真/假?
在单核单进程 CPU 中,无论在任何给定时间有多少进程和多少线程正在运行(不包括休眠线程),都只能执行一个线程的汇编指令。对/错?
很抱歉问题太多,它们似乎都相关。
【问题讨论】:
标签: linux multithreading
在单核 CPU(没有超线程)中,只有一个线程实际执行,是的。但是,这并不完全排除并行处理。例如,您可以完成三个任务:
使用线程并行运行这三个当然可以提高性能,即使在单核机器上也是如此。当其他活动之一有更多数据要处理时,需要大量 CPU 的活动将不得不等待,但总体效果是并行处理。这基本上是因为“其他事情”可以在不占用 CPU 的情况下发生(磁盘磁头移动、Web 服务在远程机器上执行某些工作)。
【讨论】:
是的。
是的。如果只有一个 CPU,那么一次只能执行一个指令序列。
【讨论】:
取决于“并行”处理的含义。您需要清楚的描述才能得到明确的答案。
通常是正确的,但是...
请注意,某些处理器支持超线程 - 一个具有一个内核的处理器将自己呈现为两个“虚拟”内核。这允许处理器在一个线程上执行指令,而另一个线程正在等待内存访问等等。
因此,即使是单核单处理器机器,也可以同时在处理器上拥有多个线程。
【讨论】: