最近我一直在研究操作系统。关于cpu,核心和处理器如何相关以及线程的层次结构与它们的交互,我有点困惑?
答案 0 :(得分:0)
你的第一个问题很简单:
有效的CORE,PROCESSOR和CPU是一回事。也就是说,CORE可以被认为是一种特殊类型的CPU。通常,这些天的CPU都是单芯片。但是,CPU可能占用多个芯片或多个板卡。
超越CPU芯片的下一步是将多个CPU放在一个芯片上。在这种配置中,单独的CPU可以称为CORES。这就是术语MULTI-CORE CPU或MULTI-CORE PROCESSOR。
如果在不同的芯片上有两个CPU,它们彼此独立运行 从硬件角度来看。如果芯片上有两个[或更多] CPU(CORE),它们可能共享资源,例如缓存。
英特尔还在其超线程功能中使用了术语CORE。在那里,CPU有两个可以从单独的线程执行指令的CORE。此上下文中的CORE不是完整的CPU。它们与两个指令流共享公共内存管理。这有效地将CPU限制为来自同一进程的多个线程。在多核CPU中,每个核心可以有多个超线程核心。
你的第二个问题更复杂。忽略超线程,线程被安排在单个PROCESSOR / CPU / CORE上执行。因此,线程在CORE / CPU / PROCESSOR上执行。
在超线程模型中,进程在CPU上执行,多个线程可以在核心上执行。
我希望这个简短的介绍可以回答你的问题。