一窥 Intel Skylake 微架构,探究现代 CPU 的“内在美”

您所在的位置:网站首页 skylake架构cpu 一窥 Intel Skylake 微架构,探究现代 CPU 的“内在美”

一窥 Intel Skylake 微架构,探究现代 CPU 的“内在美”

2024-03-07 13:16| 来源: 网络整理| 查看: 265

【Technews科技新报】CPU,一个现代人天天在用的元件。举凡手机、笔电里皆有其存在。然而,每当有新的 CPU 发布,我们关注于表象但华丽的数字,像是 Cache 的大小、CPU 的执行时脉以及采用几纳米制程等。这一次,让我们撇除以上这些外在事物,一探现代 CPU 的微架构这个“内在美”吧。

从 2007 年开始,Intel 所采取的 Tick-Tock 策略,不断地提升个人电脑的计算速度。其中,Tick 为纳米制程上的演进,每次新产品发布,便是华丽的数字以及技术的炫耀。然而,在 Tock 时,却没有多少人关注微架构的改善。何不从现在起,一同认识 Intel 的 Skylake 微架构。

在先前介绍 CPU 时(【电脑科普】CPU-电脑运作的核心),便说明 CPU 可以分成 3 个部分,分别为“控制单元”、“算数逻辑运算单元”与“暂存器”。控制元件会依据程序的指令,控制所要执行的功能。算术逻辑运算单元则负责进行各类运算。暂存器则分成两类,分别储存运算的资料,以及要接续执行的指令。

现代的 CPU 也没有脱离这一类的规范。当将 Skylake 的元件分类,如下图,也区分成 3 大类。

控制元件是 Front End,算术逻辑运算单元是 OOO (Out Of Order)Execution Engine,快取内存则有储存资料的 L1 DCache、接续执行指令的 L1 ICache 以及共用的 L2 Cache。那么,各个元件的有什么功能呢?就让我们看下去。

各元件功能为何?

首先,就从名字很有趣的 OOO Execution Engine 开始介绍。OOO(Out Of Order)是指在这一个运算单元里面,指令的运行顺序不会按照顺序,尽可能地让指令可以偷跑,让 CPU 处于满载状态。为了可以更明确的知道 OOO 的优点,就从简单的小数计算例子来看吧。

在 in order 的 CPU 中,每一次皆只能执行一个指令。假设 CPU 在浮点数计算需要 5 个 CPU 循环,而且一次只能执行一个指令。进行这 4 个计算需要 20 个循环才能完成。那采用 OOO 技术的 CPU 呢?因为在 OOO 的 CPU 里面,它有多个计算核心,可以预先执行没有相依性的资料。

在这个情况下,4 个计算仅需 15 个循环便得以完成,大幅的提升效能。那么在 Skylake 内部,OOO Execution engine 究竟长什么样子呢?它一共有 8 个执行小单元、4 个资料存取单元,以及 4 个计算单元。

其中,每一个执行单元,皆有其可执行的指令,详细的功能图置于最后。

假的资料相依性,断开



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3