当前位置: 首页 > news >正文

ChipCamp探索系列 -- 4. Intel CPU的十八代微架构

进阶到CPU/RISC-V/GPU芯片设计之前,先梳理一下CPU架构的关键技术名词和术语,为此梳理了Intel CPU的十八代微架构。这些不是它的全部芯片,但却足以反映出现代高性能(面向桌面/服务器/通用应用的)处理器的微架构主流套路和技术术语。

以下链接是本次梳理的脉络参考:

https://en.wikipedia.org/wiki/List_of_Intel_CPU_microarchitectures

一、8086:显然没有流水线,但是对从第一性原理出发学习“如何制造计算机/CPU”却是一个很好的参考----计算机/CPU芯片,从架构原理这一级别,就是这样的/就是这么简单/要先无畏地看淡它----40多年前就可以造出计算机芯片现在应该人人都可以造出芯片&更不用说学习芯片设计。这里很有意思的一个地方是3和9,它们都是加法器,但一个是adderss加法器(对地址加一个立即数的偏移量获得新的地址),一个是用户数据的加法器,此前的关于RISC-V CPU的Chisel实现中就有这个问题/困惑/疑问。现在看来,这两者是公用,还是不共用,都是可以的&有先例的,后面还可以看到ALU和AGU的概念区分,也和这个有关。

二、80186:虽然没有看到流水线,但是外设接口+中断控制器+DMA的概念已经可以看出“通用计算”和“PC”的特征了。

三、80286:很清晰的模块划分,取指令-解码-执行-内存访问-写回这些流水线 特征已然可见。

四、80386:32位地址总线+32位数据总线+ALU里已经包含了乘除法。

五、80486:ALU+FPU亮点1。Cache亮点2。Micro-Instruction(即uop)亮点3。

六、Pentium(P5):64bit数据宽度。Branch-Target-Buffer预示着分支预测。

七、Pentium(P5) MMX:ALU+FPU+MMX Unit(整数+浮点数+向量)并列的计算部件!!

八、NetBurst (Pentium 4):ucode/uop亮点1。rename/dispatch/ROB亮点2。LoadStore和ExeEngine的“并列”关系,可能和后面AGU的概念是类似的,从内存到缓存的控制越发重要。

九:Core2(始于2006年的多核处理器微架构):保留站RS。L2共享缓存+L1分离缓存。

十、Nehalem微架构2008:uOP中的RAT+Retirement。MOB在上一幅图也有!

十一、Westmere微架构2010年:集成了GPU(显卡而非AI)。

十二、Sandy Bridge微架构2011:似乎和前面的一个图一样只是指标变大了。

十三、Ivy Bridge微架构2012:似乎和前面的一个图一样只是指标变更大了(L2Cache->L1ICache)。

换一个风格的图:

十四:SkyLake微架构2015:又又又变大了L2Cache->L1ICache之间的吞吐。

十五、Sanny Core微架构2019年(9代i7这样的):AVX-512单拎出来高亮。

十六、Golden Cove微架构2021:从图上看Vector Execution分离出来了。

十七、Raptor Lake微架构2022:这个GPU大概也是显卡而非AI。

十八、Lion Cove微架构2024:

从远古到现代的CPU微架构的核心技术名词总结和预告:

五级流水线:IF(取值),ID(指令解码),EX(指令执行),MEM(内存访问),WB(写回)。

超标量流水线:uCode(微码),uop(微操作),X Way(多路),ROB(重排序缓冲),Scheduler(调度器),Rename(重命名)、Dispatch(分发)、Issue(发射)、RS(保留站)、Retirement(退休)。

计算单元:ALU(算术裸机单元)、FPU(浮点处理单元)、Vector(向量处理单元)、AGU(地址生成单元)、LSU(加载和存储单元)、MUL/DIV(乘法/除法)。

内存和缓存:L2 Cache通常是统一缓存(地址和指令不分开),而L1 Cache则是指令和数据分开的(I Cache和D Cache)。L2-L1的Cache搬移带宽吞吐有“挤牙膏”的空间。

这些将成为下一步探讨“如何设计出/如何造出”高性能超标量CPU芯片,以及为此要理解CPU芯片的代码,做一个铺垫。Cheers。

http://www.dtcms.com/a/347481.html

相关文章:

  • 【背诵2025】测试
  • 数据结构与算法——树和二叉树
  • 【科研绘图系列】浮游植物的溶解性有机碳与初级生产力的关系
  • 大麦APP抢票
  • 数据结构 之 【AVL树的简介与部分实现】(部分实现只涉及AVL树的插入问题,包括单旋((右单旋、左单旋))、双旋(左右单旋、右左单旋)等操作)
  • 国家自然科学基金(国自然基金)申请技巧详解
  • materials studio中的两种坐标系
  • 基于RISC-V架构的国产MCU在eVTOL领域的应用研究与挑战分析
  • leetcode(同向双指针 滑动窗口)209.长度最小的子数组 713.乘积小于K的子数组 3.无重复字符的最长子串
  • 随机森林1
  • 12 SQL进阶-锁(8.20)
  • 我从零开始学习C语言(14)- 基本类型 PART1
  • FRP 内网穿透全流程部署指南 (Windows/Linux)
  • 不必使用 == 和 ===,更严格的相等性判断 API 来了
  • DFT计算入门(materials studio)---Ni金属表面,几何优化
  • 求职推荐大数据可视化平台招聘系统 Vue+Flask python爬虫 前后端分离
  • 【KO】前端面试四
  • leetcode26:删除有序数组中的重复项Ⅰ(快慢指针解法)
  • 【知识】Elsevier论文接收后的后续流程
  • 【数据结构】跳表的概率模型详解与其 C 代码实现
  • 如何用Redis作为消息队列
  • PyQt6 进阶篇:构建现代化、功能强大的桌面应用
  • Java 线程同步解析
  • 坑洼铁皮矫平机:把“波浪”变成“镜面”的科学魔法
  • C++手写智能指针
  • 高等数学 9.1多元函数的基本概念
  • 力扣每日一刷Day 15
  • 在github上通过dmca数字版权申诉侵权并删除侵权仓库
  • 图结构使用 Louvain 社区检测算法进行分组
  • P9246 [蓝桥杯 2023 省 B] 砍树