Code Bye

多核cpu有多少个运算器,控制器和缓存

平时说的CPU都由运算器+控制器+缓存组成,那多核CPU是如何处理多线程的问题的呢 ?多核中的核,每个核都由自己的运算器和控制器以及缓存,但是共用总线的么??

30分
要看具体的架构。
 以Intel Core i7来说,它的每个内核拥有4条独立的流水线,每条流水线有17个工位。每个CPU又拥有4个(现在也有6个、8个内核的版本,移动平台也有2个内核的版本)内核。
 因此理论上来说,相当于有16个运算器构成。至于控制器,在现代处理器中包括译码器、指令调度器、分支预测、内存控制器等很多独立的部分。
Core i7每个内核拥有两套独立的寄存器,以便实现超线程所需要的两套AS(架构状态),并且每个内核有独立的一级缓存和二级缓存,整个芯片共用8MB的三级缓存。
 内核和内核之间使用QPI总线连接。所以不止一条总线。
我想说的是  1楼回答的真棒
10分
推荐一本书《计算机的心智操作系统之哲学原理》

会告诉你以前创造计算机的人为什么要设计出 多进程 多线程

你明白了以前的人为什么要这么设计,你就可以自己回答你提出的问题了

引用 1 楼 caozhy 的回复:

要看具体的架构。
 以Intel Core i7来说,它的每个内核拥有4条独立的流水线,每条流水线有17个工位。每个CPU又拥有4个(现在也有6个、8个内核的版本,移动平台也有2个内核的版本)内核。
 因此理论上来说,相当于有16个运算器构成。至于控制器,在现代处理器中包括译码器、指令调度器、分支预测、内存控制器等很多独立的部分。
Core i7每个内核拥有两套独立的寄存器,以便实现超线程所需要的两套AS(架构状态),并且每个内核有独立的一级缓存和二级缓存,整个芯片共用8MB的三级缓存。
 内核和内核之间使用QPI总线连接。所以不止一条总线。

控制器是每个内核都用有一套独立的控制器吗,还是所有内核共用的?

引用 4 楼 awenson 的回复:
Quote: 引用 1 楼 caozhy 的回复:

要看具体的架构。
 以Intel Core i7来说,它的每个内核拥有4条独立的流水线,每条流水线有17个工位。每个CPU又拥有4个(现在也有6个、8个内核的版本,移动平台也有2个内核的版本)内核。
 因此理论上来说,相当于有16个运算器构成。至于控制器,在现代处理器中包括译码器、指令调度器、分支预测、内存控制器等很多独立的部分。
Core i7每个内核拥有两套独立的寄存器,以便实现超线程所需要的两套AS(架构状态),并且每个内核有独立的一级缓存和二级缓存,整个芯片共用8MB的三级缓存。
 内核和内核之间使用QPI总线连接。所以不止一条总线。

控制器是每个内核都用有一套独立的控制器吗,还是所有内核共用的?

每个处理器内核相当于一个完整的cpu,当然有自己的控制器。


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明多核cpu有多少个运算器,控制器和缓存