CPU架构和微架构
CPU架构(CPU Architecture)
CPU架构是指处理器的整体设计框架,定义了处理器的指令集、寄存器、内存管理方式等。它是处理器设计的顶层规范,决定了软件如何与硬件交互。
主要特点:
- 指令集架构(ISA, Instruction Set Architecture):定义了处理器支持的指令集(如x86、ARM、RISC-V)。
- 寄存器:定义了处理器的寄存器数量和用途。
- 内存模型:定义了处理器如何访问和管理内存。
- 输入/输出(I/O):定义了处理器与外部设备的交互方式。
常见CPU架构**:**
- x86/x86-64:用于PC和服务器。
- ARM:用于移动设备和嵌入式系统。
- RISC-V:开源架构,适用于多种场景。
- MIPS/Power/SPARC:用于特定领域(如网络设备、高性能计算)。
1. 早期CPU架构
- 4位和8位处理器:如Intel 4004(1971年)和Intel 8008(1972年),主要用于简单计算和控制任务。
- 16位处理器:如Intel 8086(1978年),标志着x86架构的诞生,支持更复杂操作和更大内存寻址。
2. x86架构的演进
- 32位处理器:如Intel 80386(1985年),引入保护模式,支持多任务和虚拟内存。
- 64位处理器:如AMD Athlon 64(2003年),扩展了寄存器和内存寻址能力,提升性能。
3. RISC架构的兴起
- RISC(精简指令集计算机):如ARM、MIPS、SPARC,简化指令集,提升执行效率,广泛应用于移动设备和嵌入式系统。
4. 多核与并行计算
- 多核处理器:如Intel Core 2 Duo(2006年),通过多核设计提升并行处理能力。
- SIMD(单指令多数据):如MMX、SSE、AVX,加速多媒体和科学计算。
5. 现代CPU架构
- 异构计算:如ARM big.LITTLE,结合高性能与低功耗核心,优化能效。
- 专用加速器:如GPU、TPU,针对AI和机器学习任务进行优化。
6. 指令集架构(ISA)
- CISC(复杂指令集计算机)处理器微架构(Microarchitecture)和CPU架构(CPU Architecture)是计算机处理器设计中的两个重要概念,它们密切相关但又有不同的侧重点。以下是它们的详细解释及关系:
2. 处理器微架构(Microarchitecture)
处理器微架构是指CPU架构的具体实现方式,即如何在硬件层面实现指令集和功能。它关注的是处理器的内部设计细节,如流水线、缓存、分支预测等。
主要特点:
流水线设计:将指令执行分为多个阶段,提高并行性。
缓存层次:包括L1、L2、L3缓存,优化数据访问速度。
分支预测:预测程序分支,减少流水线停顿。
乱序执行:动态调整指令执行顺序,提高效率。
功耗管理:通过动态频率调整和核心休眠降低功耗。
常见微架构:
Intel:
Haswell(第四代酷睿)
Skylake(第六代酷睿)
Golden Cove(第十二代酷睿)
AMD:
Zen(第一代Ryzen)
Zen 3(Ryzen 5000系列)
ARM:
Cortex-A77
Cortex-X1
Intel x86架构下的微架构演进
| CPU架构 | 微架构 | 特点 |
|---|---|---|
| x86 | NetBurst | 高频设计,但功耗高(Pentium 4)。 |
| x86 | Core | 高效能设计,注重能效(Core 2 Duo)。 |
| x86-64 | Nehalem | 引入超线程技术,改进内存控制器(Core i7)。 |
| x86-64 | Haswell | 22纳米工艺,支持AVX2指令集(第四代酷睿)。 |
| x86-64 | Skylake | 14纳米工艺,支持DDR4内存(第六代酷睿)。 |
| x86-64 | Golden Cove | 高性能设计,支持DDR5内存(第十二代酷睿)。 |
ARM架构下的微架构演进
| CPU架构 | 微架构 | 特点 |
|---|---|---|
| ARMv7 | Cortex-A8 | 早期高性能设计,用于智能手机。 |
| ARMv8 | Cortex-A53 | 低功耗设计,用于嵌入式设备。 |
| ARMv8 | Cortex-A77 | 高性能设计,支持AI加速。 |
| ARMv9 | Cortex-X2 | 极致性能设计,用于旗舰手机。 |
CPU架构和微架构的关系
- CPU架构:定义了处理器的指令集和功能,是软件与硬件交互的基础。
- 微架构:是CPU架构的具体实现,决定了处理器的性能、功耗和效率。
- 关系:
-
CPU架构是顶层设计,微架构是底层实现;一个CPU架构可以有多个微架构,微架构的改进可以提升 处理器的性能。 - CPU架构是规范,微架构是实现:
- CPU架构定义了处理器的指令集和功能(“做什么”)。
- 微架构决定了如何实现这些功能(“怎么做”)。
-
- 一个CPU架构可以有多个微架构:
- 例如,x86架构下有Intel的Haswell、Skylake微架构,以及AMD的Zen微架构。
- 微架构的改进可以提升性能:
- 在同一CPU架构下,通过优化微架构(如增加缓存、改进流水线),可以提高处理器的性能和能效。
类比**:**
- CPU架构:像是一本菜谱,定义了菜品的原料和步骤。
- 微架构:像是厨师的具体做法,决定了菜品的口感和质量。
处理器微架构详细

Nehalem 微架构 和Lynnfield处理器
2008年推出。
Nehalem微架构采用可扩展的架构,主要是每个处理器单元均采用了Building Block模组化设计,组件包括有:核心数量、SMT功能、L3缓存容量、QPI连接数量、IMC数量、内存类型、内存通道数量、整合GPU、 ? 能耗和时钟频率等,这些组件均可自由组合,以满足多种性能需求,比如可以组合成双核心、四核心甚至八核心的处理器,而且组合多个QPI连接更可以满足多路服务器的需求。
2009年9月, 推出基于Nehalem微架构的Lynnfield处理器。
Lynnfield核心示意图

Sandy Bridge,桑迪桥
双芯融合, GPU和CPU融合

关于 Sandy Bridge的更多介绍,可以参考:
https://www.expreview.com/topic/snb/
Sandy Bridge还有一个最重要的改进就是加入AVX指令集。
Ivy Bridge : Sandy Bridge的工艺改良版。首次采用22nm 3D晶体管工艺,是今后Intel半导体工艺的重要基础
Haswell
2013年推出的全新微架构。把原来主板上的VRM模块整合到了CPU内部,FIVR调压模块的加入让主板的供电变得简单,并且可以对CPU内部的电压进行更为精确的控制,提高供电效率。
Haswell核心示意图

指令集: 增加了两个:
1.针对多线程应用的TSX扩展指令
2. AVX指令的进阶版AVX2
Broadwell:14nm工艺的Haswell处理器, 主要用在移动平台。
Skylake

Kaby Lake是Skylake的优化版本。
指令集
AVX, 高级矢量扩展,是因特尔在2008年3月推出的微处理器X86指令集架构的扩展。
在Visual Studio设置指令集的方法:
https://docs.microsoft.com/en-us/cpp/build/reference/arch-x64?view=vs-2019
相关文章:
CPU架构和微架构
CPU架构(CPU Architecture) CPU架构是指处理器的整体设计框架,定义了处理器的指令集、寄存器、内存管理方式等。它是处理器设计的顶层规范,决定了软件如何与硬件交互。 主要特点: 指令集架构(ISA, Instr…...
基于Zookeeper的微服务配置管理与灰度发布实战指南
引言 在分布式系统中,服务注册与发现、配置管理以及平滑发布是保障系统高可用性的关键。Apache Zookeeper作为一款成熟的分布式协调服务,结合Spring Cloud生态,能够有效解决这些挑战。本文将深入探讨Zookeeper的核心配置参数、服务注册机制&…...
帕金森病致生活艰难,如何缓解心理负担?
你是否留意到身边有人手部不由自主地颤抖,且肢体变得僵硬,行动也愈发迟缓?这很可能是帕金森病的症状。帕金森病是一种常见的神经系统退行性疾病,多发生于中老年人。 静止性震颤往往是帕金森病的首发症状,患者在安静状…...
使用 fn_dblog手动恢复误操作的 update(单列数值型数据恢复)
使用 fn_dblog手动恢复误操作的 update(单列数值型数据恢复) 事由fn_dblogfn_dblog 列数据意义 事由 通常,我们在操作数据库的时候,很对 update 指令指定一个更新范围,比如指定更新某个ID的数据,指定某个类…...
ambiq apollo3 ADC实例程序注释
#include "am_mcu_apollo.h" // Apollo MCU 外设寄存器定义和HAL库 #include "am_bsp.h" // 板级支持包(引脚定义、LED函数等) #include "am_util.h" // 通用工具函数(如printf重…...
[Windows] Edge浏览器_134.0.3124.83绿色便携增强版-集成官方Deepseek侧边栏
微软Edge浏览器 绿色便携增强版 长期更新 链接:https://pan.xunlei.com/s/VOMA-aVC_GPJiv-MzRS89lsVA1?pwdemxj# Edge浏览器_134.0.3124.83绿色便携增强版-集成官方Deepseek侧边栏...
Python大数据方向就业
一、基础必备技能 1. Python编程 核心语法:熟练掌握函数、面向对象、异常处理、文件操作等。数据处理库:Pandas(数据清洗、分析)、NumPy(数值计算)、Matplotlib/Seaborn(数据可视化&…...
从零构建大语言模型全栈开发指南:第二部分:模型架构设计与实现-2.2.3实战案例:在笔记本电脑上运行轻量级LLM
👉 点击关注不迷路 👉 点击关注不迷路 👉 点击关注不迷路 文章大纲 实战案例:在笔记本电脑上运行轻量级LLM2.2.3 模型架构设计与实现1. 环境与工具准备1.1 硬件要求1.2 软件栈选择2. 轻量级模型架构设计2.1 模型参数配置2.2 关键技术优化3. 实战流程3.1 数据准备流程3.2…...
CAN基础知识学习二
一、控制器局域网总线(CAN,Controller Area Network); 二、CAN FD 是CAN with Flexible Data rate的缩写,翻译为【可变速率的 CAN】 CAN-FD 采用了两种位速率:从控制场中的 BRS 位到 ACK 场之前(…...
新能源行业:卓越 UE/UI 设计,引领业务腾飞的新引擎
在全球积极推动可持续发展的大背景下,新能源行业蓬勃兴起,成为经济发展的新引擎。在这个充满机遇与挑战的赛道上,优秀的用户体验(UE)和用户界面(UI)设计正扮演着愈发关键的角色,它不…...
Webview详解(上)
第一阶段:基础入门 WebView基础概念 什么是Webview? WebView是一种用于在移动应用程序中展示网页内容的嵌入式浏览器组件。它允许开发者将网页内容直接加载到应用界面中,用户无需离开应用即可浏览网页。WebView 通常用于加载 HTML、CSS、J…...
Docker镜像相关命令(Day2)
文章目录 前言一、问题描述二、相关命令1.查看镜像2.搜索镜像3.拉取镜像4.删除镜像5.镜像的详细信息6.标记镜像 三、验证与总结 前言 Docker 是一个开源的容器化平台,它让开发者能够将应用及其依赖打包到一个标准化的单元(容器)中运行。在 D…...
C++值传递和引用传递
系列文章目录 值传递和引用传递是 C 中两种常见的参数传递方式,它们的主要区别在于函数内部对参数的操作是否会影响原始数据 C值传递和引用传递 系列文章目录1、值传递2、引用传递3 、常量引用传递4、值传递 vs 引用传递总结 1、值传递 值传递会复制传入的参数&…...
LangChain4J开源开发框架简介
目录 1.1、前言1.2、集成方式简单1.3、核心功能与优势1.4、两种调用方式1.5、链式调用示例代码1.6、AI服务调用示例代码1.7、典型使用场景1.8、总结 1.1、前言 LangChain4J 是一个专为 Java 开发者设计的开源框架,旨在简化大型语言模型(LLMs)…...
Qt图形视图框架在项目中的应用
一、基本概念 Qt 的图形视图框架(Graphics View Framework)提供了一套用于显示和管理2D图形对象的框架。它提供了一组类,这些类可以组合使用来构建用户界面、处理图形对象、实现缩放、平移、旋转等操作。以下是Qt GraphicsView框架的主要组件…...
SpringBoot集成Elasticsearch 7.x spring-boot-starter-data-elasticsearch 方式
SpringBoot集成Elasticsearch 7.x | spring-boot-starter-data-elasticsearch 方式 前言添加maven依赖配置application.properties测试实体类 方式一:继承 ElasticsearchRepository(适合简单查询) 直接使用想自定义自己的Repository接口 方式…...
STM32蜂鸣器播放音乐
STM32蜂鸣器播放音乐 STM32蜂鸣器播放音乐 Do, Re, Mi, Fa, 1. 功能概述 本系统基于STM32F7系列微控制器,实现了以下功能: 通过7个按键控制蜂鸣器发声,按键对应不同的音符。每个按键对应一个音符(Do, Re, Mi, Fa, Sol, La, Si&a…...
GitLab 中文版17.10正式发布,27项重点功能解读【二】
GitLab 是一个全球知名的一体化 DevOps 平台,很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab 是 GitLab 在中国的发行版,专门为中国程序员服务。可以一键式部署极狐GitLab。 学习极狐GitLab 的相关资料: 极狐GitLab 官网极狐…...
解码未来:DeepSeek开源FlashMLA,推理加速核心技术,引领AI变革
前言: DeepSeek 兑现了自己的诺言,开源了一款用于 Hopper GPU 的高效型 MLA 解码核:FlashMLA。 项目地址:https://github.com/deepseek-ai/FlashMLA 1:FlashMLA 是什么呀? MLA是DeepSeek大模型的重要技术创新点&…...
leetcode:136. 只出现一次的数字(python3解法)
难度:简单 给你一个 非空 整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。 示例 1 …...
Isaac Sim与Isaac Lab初使用
目录 基于Omiverse下载Isaacsim安装Isaac Lab配置isaacsim环境测试克隆仓库配置python环境强化学习训练的测试 IsaacLab模板配置vscode环境ros接口安装 作为nvidia出品的仿真软件,很多机器人、机器狗【具身智能】都可以有很不错的效果,所以会使用isaac s…...
Spring AI Alibaba 工具(Function Calling)使用
一、工具(Function Calling)简介 Spring AI Alibaba工具(Function Calling):https://java2ai.com/docs/1.0.0-M6.1/tutorials/function-calling/ 1、工具(Function Calling) “工具(Tool)”或“功能调用(Function Calling…...
Touch Diver:Weart为XR和机器人遥操作专属设计的触觉反馈动捕手套
在虚拟现实(VR)和扩展现实(XR)领域,触觉反馈技术正逐渐成为提升沉浸感和交互体验的重要因素。Weart作为这一领域的创新者,凭借其TouchDIVER Pro和TouchDIVER G1触觉手套,为用户带来了高度逼真的…...
[深度学习]图片分类任务
图片分类任务 文章目录 图片分类任务分类任务回归和分类如何做分类的输出 图片分类卷积神经网络保持特征图大小不变更大的卷积核和更多的卷积核层数特征图怎么变小卷积神经网络中特征图改变卷积到全连接分类任务的LOSS一个基本的分类神经网络 经典神经网络AlexNetVggNetResNet …...
关系图:赋能数据可视化的动态扩展
关系图 关系图是一种用于展示节点之间关系和连接的图表类型。具有高度的可定制性、丰富的交互功能和动画效果,能够展示节点之间的和连接,以及随着数据的变化而呈现的动态效果。 【组件概述】 1.节点和边的可定制性: 关系图提供了丰富的配置…...
k8s存储介绍(三)valume概述与emptydir
目录 一、Kubernetes 中的 Volume 详解 基本概念 Volume 的主要类型(这里简单介绍,后续章节会详细介绍) 1. 本地存储类型 2. 网络存储类型 3. 云提供商存储 4. 特殊用途类型 PersistentVolume (PV) 和 PersistentVolumeClaim (PVC) S…...
Nodejs 项目打包部署方式
方式一:PM2 一、准备工作 确保服务器上已安装 Node.js 环境建议使用 PM2 进行进程管理(需要额外安装) 二、部署步骤 1.首先在服务器上安装 PM2(推荐): npm install -g pm22.将项目代码上传到服务器&…...
uv - Getting Started 开始使用 [官方文档翻译]
文章目录 uv亮点安装项目脚本工具Python 版本pip 接口了解更多 入门安装 uv安装方法独立安装程序PyPICargoHomebrewWinGetScoopDockerGitHub 发布 升级 uvShell 自动补全卸载 第一次使用 uv特性Python 版本脚本项目工具pip 接口实用工具 获取帮助帮助菜单查看版本故障排除问题在…...
C++类与对象的的第三个简单的实战练习-3.25笔记
哔哩哔哩C面向对象高级语言程序设计教程(118集全) 简单实战三 创建项目 打开VS,点击创建一个新项目 创建一个空项目 点击下一步 点击工程名称,选择添加 选择新建项 选择C类 取名 点击确定,这时候还需要一个main.cpp …...
CentOS安装sshpass工具-自动化SSH密码认证
sshpass是一个在Linux环境下用于自动化SSH密码认证的工具。 一、功能特点 自动化SSH登录:sshpass允许用户在命令行中直接传递密码,从而无需在SSH连接时手动输入密码。这对于自动化脚本和批处理任务非常有用,因为它可以在非交互式环境下完成…...
