cpu内核的超线程意味着该内核可以在逻辑上被视为两个或多个逻辑/虚拟cpu内核,以运行多个进程。
操作系统还通过调度和上下文切换来提供并发编程。
两者是否做同一件事,即支持并发编程?
他们有什么关系?例如,操作系统的并发性是否要求CPU内核提供超线程,反之亦然?
谢谢。
最佳答案
超线程需要额外的硬件支持。
在上下文切换中,您必须从硬件中删除所有信息,并为其他进程加载该信息。
在使用HT的情况下,您具有重复的硬件单元,这些硬件单元已预先加载了其他进程的信息,因此切换非常迅速。
因此,对于超线程内核,切换不需要将当前正在运行的进程的整个进程控制块都取出来并加载另一个。只需切换要从中读取指令的硬件单元。
引用维基百科:
超线程的工作原理是复制
处理器(存储架构状态的处理器),但不重复
主要执行资源。这允许使用超线程处理器
表现为通常的“物理”处理器和额外的“逻辑”处理器
处理器到主机操作系统。
关于operating-system - CPU的超线程和OS的上下文切换之间的关系?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33189536/