1. 1. 2多核CPU硬件体系结构介绍
1.计算平台简介
Flynn在1972年提出了计算平台的Flynn分类,主要根据指令流和数据流进行分类。计算平台有四种类型,如下图所示:
49 8) this.width = 498;' onmousewheel ='javascript:return big(this)'height = 177 alt =“” src =“” width = 387 border = 0>
图1. 1. 1:Flynn计算平台分类方法
单指令流单数据流机(SISD)

SISD机器是传统的串行计算机。它的硬件不支持任何形式的并行计算。所有指令均按顺序执行。并且在某个时钟周期内,CPU只能处理一个数据流。因此这种机器称为单指令流单数据流机器。早期的计算机都是SISD机器,例如IBM PC,早期的超级计算机和许多8位家用计算机。
单指令流多数据流机(SIMD)
SIMD使用一个指令流来处理多个数据流。这样的机器在数字信号处理,图像处理和多媒体信息处理领域非常有效。
由Intel处理器实现的MMXTM,SSE(流式SIMD扩展),SSE2和SSE3扩展指令集可以在一个时钟周期内处理多个数据单元。换句话说,我们使用的单核计算机基本上是SIMD机器。
多指令流单数据流机(MISD)
MISD使用多个指令流来处理单个数据流。在实际情况下,使用多个指令流来处理多个数据流更为有效,因此MISD只是作为一种理论模型而已,尚未投入实际应用。

多指令流和多数据流机(MIMD)
MIMD机器可以同时执行多个指令流,并且这些指令流在不同的数据流上运行。 ***的多核计算平台属于MIMD。例如,Intel和AMD的双核处理器属于MIMD。
本书的主要内容基于多核计算平台。现在让我们介绍多核硬件结构。
2.多核CPU硬件结构
多核CPU将多个CPU内核集成到一个芯片中,每个CPU内核是一个单独的处理器。每个CPU内核可以拥有自己的单独缓存,或者多个CPU内核可以共享同一个缓存。下图是不共享缓存的双核CPU体系结构。

49 8) this.width = 498;' onmousewheel ='javascript:return big(this)'height = 299 alt =“” src =“” width = 407 border = 0>
图1. 1. 2:多核CPU硬件架构
在现代多核硬件结构中,内存由多个CPU内核共享。 CPU内核通常是对称的。因此,多核是具有共享存储的对称多处理器(SMP)。
在多核硬件结构中,如果要充分发挥硬件性能,则必须使用多线程(或多进程)执行,以便每个CPU内核都有一个线程在执行时执行。同时。
与单核上的多线程不同,多核上的多个线程在物理上并行执行,这是真正的并行执行。同时,有多个线程并行执行。单核上的多线程是一种多线程交错执行,实际上,只有一个线程在同一时间执行。
3.多核编程模型
如前所述,多个内核属于共享存储的SMP,但实际上,SMP系统出现在多个内核之前。由多个CPU组成的SMP系统广泛用于服务器硬件中。例如,双CPU和四CPU服务器出现得很早。向上。多核CPU系统中的编程模型与多CPU SMP系统中的编程模型相同。两者都属于共享内存编程模型。在这本书中,它被称为多核编程。实际上,它不限于在多核CPU系统中进行编程。但是它可以应用于共享存储SMP系统中的编程。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shoujiruanjian/article-368562-1.html
好喜欢好喜欢周笔畅
0
建国前后一穷二白美日苏也没打赢中国