计算机系统框图:
以前的芯片组由两块芯片构成,称为南桥和北桥,二者之间通过PCI互连。后来Intel用MCH(Memory Controller Hub)替换了北桥,用ICH(I/O Controller Hub)替换了南桥,二者之间用DMI(Direct Media Interface)连接。此外,主处理器与芯片组通过FSB(Front Side Bus)连接。
处理器的功能模块图以及指令在处理器内的基本执行步骤图:
根据处理器核的不同,Intel公司的处理器可分为两种基本类型:
l 超标量处理器。
l 显示并行指令计算架构(ExplicitlyParallel Instruction Computing, EPIC)处理器。
Intel Pentium处理器使用超标量结构,Intel Itanium处理器(应用于企业服务器)使用EPIC结构。
两种处理器结构各有优缺点,细节可以参考《多核程序设计技术》第9章。
下图是Intel Pentium 4处理器内部执行流程图:
下图是超标量处理器与EPIC处理器的执行流程对比图:
从图中可以看出,虽然是单核处理器,不管哪种结构,在指令执行上都是可以做到并行的。
单核处理器在没有使用超线程技术之前是不能实现多线程的并行的。虽然在编写程序时,可以编写多线程程序,但这种多线程并发执行只是感觉上的,在某一个时刻,实际上在硬件上执行的线程只有一个。
超线程技术(Hyper-Threading Technology)是一种硬件机制,支持多个硬件线程在单个时钟周期内同时执行。
下图是不支持超线程的单核处理器和支持超线程的多核处理器的对比图:
从图中可以看出,超线程技术的处理器被划分成两个逻辑处理器,之所以叫逻辑处理器,因为在物理上对应的是同一个处理器。当两个线程同时执行的时候,超线程技术会将两个线程的指令严格交错到执行流水线中。由于这两个硬件线程的工作状态同时保留在处理器中,因此可以做到并发执行。但由于两个硬件线程共用的物理资源较多,有时会出现使用冲突,使这种并行性受到较大限制。
多核技术与超线程技术不同,多核技术是处理器在物理上有多个执行核。
下图给出了单核和各种多核处理器的对比图:
多核处理器也可以支持超线程技术,如下图:
参考文献:
《多核程序设计技术》