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架构微架构特点
x86NetBurst高频设计,但功耗高(Pentium 4)。
x86Core高效能设计,注重能效(Core 2 Duo)。
x86-64Nehalem引入超线程技术,改进内存控制器(Core i7)。
x86-64Haswell22纳米工艺,支持AVX2指令集(第四代酷睿)。
x86-64Skylake14纳米工艺,支持DDR4内存(第六代酷睿)。
x86-64Golden Cove高性能设计,支持DDR5内存(第十二代酷睿)。

ARM架构下的微架构演进
CPU架构微架构特点
ARMv7Cortex-A8早期高性能设计,用于智能手机。
ARMv8Cortex-A53低功耗设计,用于嵌入式设备。
ARMv8Cortex-A77高性能设计,支持AI加速。
ARMv9Cortex-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


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/41380.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

6.4 模拟专题:LeetCode1419.数青蛙

1.题目链接:数青蛙 - LeetCode 2.题目描述 给定一个字符串 croakOfFrogs,表示青蛙的鸣叫声序列。每个青蛙必须按顺序发出完整的 “croak” 字符,且多只青蛙可以同时鸣叫。要求计算最少需要多少只青蛙才能完成该字符串,若无法完成…

Linux 搭建dns主域解析,和反向解析

#!/bin/bash # DNS主域名服务 # user li 20250325# 检查当前用户是否为root用户 # 因为配置DNS服务通常需要较高的权限,只有root用户才能进行一些关键操作 if [ "$USER" ! "root" ]; then# 如果不是root用户,输出错误信息echo "…

Leetcode 二进制求和

java solution class Solution {public String addBinary(String a, String b) {StringBuilder result new StringBuilder();//首先设置2个指针, 从右往左处理int i a.length() - 1;int j b.length() - 1;int carry 0; //设置进位标志位//从2个字符串的末尾向前遍历while(…

【NLP 49、提示工程 prompt engineering】

目录 一、基本介绍 语言模型生成文本的基本特点 提示工程 prompt engineering 提示工程的优势 使用注意事项 ① 安全问题 ② 可信度问题 ③ 时效性与专业性 二、应用场景 能 ≠ 适合 应用场景 —— 百科知识 应用场景 —— 写文案 应用场景 —— 解释 / 编写…

【NLP 43、文本生成任务】

目录 一、生成式任务 二、seq2seq任务 1.模型结构 2.工作原理 3.局限性 三、自回归语言模型训练 Decoder only 四、自回归模型结构:文本生成任务 —— Embedding LSTM 代码示例 🚀 数据文件 代码流程 Ⅰ、模型初始化 Ⅱ、前向计算 代码运行流程 Ⅲ、加载…

vscode 通过Remote-ssh远程连接服务器报错 could not establish connection to ubuntu

vscode 通过Remote-ssh插件远程连接服务器报错 could not establish connection to ubuntu,并且出现下面的错误打印: [21:00:57.307] Log Level: 2 [21:00:57.350] SSH Resolver called for "ssh-remoteubuntu", attempt 1 [21:00:57.359] r…

Linux之编辑器vim命令

vi/vim命令: 终端下编辑文件的首选工具,号称编辑器之神 基本上分为三种模式,分别是 命令模式(command mode)>输入vi的命令和快捷键,默认打开文件的时候的模式插入模式(insert mode&#x…

第一天学爬虫

阅读提示:我今天才开始尝试爬虫,写的不好请见谅。 一、准备工具 requests库:发送HTTP请求并获取网页内容。BeautifulSoup库:解析HTML页面并提取数据。pandas库:保存抓取到的数据到CSV文件中。 二、爬取步骤 发送请求…

MySQL实战(尚硅谷)

要求 代码 # 准备数据 CREATE DATABASE IF NOT EXISTS company;USE company;CREATE TABLE IF NOT EXISTS employees(employee_id INT PRIMARY KEY,first_name VARCHAR(50),last_name VARCHAR(50),department_id INT );DESC employees;CREATE TABLE IF NOT EXISTS departments…

windows下安装sublime

sublime4 alpha 4098 版本 下载 可以根据待破解的版本选择下载 https://www.sublimetext.com/dev crack alpha4098 的licence 在----- BEGIN LICENSE ----- TwitterInc 200 User License EA7E-890007 1D77F72E 390CDD93 4DCBA022 FAF60790 61AA12C0 A37081C5 D0316412 4584D…

激光线检测算法的FPGA实现

激光线检测算法的FPGA实现 1. 常见的激光线检测算法 激光线检测中常用的三种算法 MAX(最大值法)、THRESH(阈值法)、COG(灰度重心法) 分别具有以下特点和工作原理: 1.1 MAX(最大值法…

小样本微调大模型

一、环境搭建 conda create -n dseek python=3.10 conda activate dseek pip install bitsandbytes Pip install numpy python -m pip install --upgrade pip setuptools wheel 安装cuda,torch,Unsloth, huggingface,wandb等,见前述章节; 微调服务器配置:单机笔记本显卡4…

深入理解指针(2)(C语言版)

文章目录 前言一、数组名的理解二、使用指针访问数组三、一维数组传参的本质四、冒泡排序五、二级指针六、指针数组七、指针数组模拟二维数组总结 前言 在上一篇文章中,我们初步了解了指针的基本概念和用法。今天,我们将继续深入探索指针在数组、函数传…

高效内存管理:x86-64架构中的分页机制

在 x86-64 架构的世界里,内存分页机制扮演着举足轻重的角色,它就像是一座桥梁,连接着虚拟地址与物理地址。简单来说,内存分页机制就是将线性地址(也就是虚拟地址)切分成一个个固定大小的页,并把…

统一开放世界与开放词汇检测:YOLO-UniOW无需增量学习的高效通用开放世界目标检测框架

目录 一、摘要 二、引言 三、相关工作 开放词汇对象检测 开放世界目标检测 参数高效学习 四、高效通用的开放世界目标检测 问题定义 高效的自适应决策学习 开放世界通配符学习 五、Coovally AI模型训练与应用平台 六、实验 数据集 评价指标 实施细节 定量结果 …

fileinclude

##解题思路 场景首页没有什么提示,只有个flag在flag.php中,而且需要更改language,还有个index.php的路径,先记住它 习惯性查看源代码,得到了题目真正的内容,关键在于lan变量读取我们传入的Cookie值中的lang…

链表-LeetCode

这里写目录标题 1 排序链表1.1 插入法 O(n)1.2 归并排序 1 排序链表 1.1 插入法 O(n) /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode() : val(0), next(nullpt…

计算机网络基础:WiFi 与蓝牙的原理与应用

计算机网络基础:WiFi 与蓝牙的原理与应用 一、前言二、WiFi 原理2.1 概述2.2 工作频段2.2.1 2.4GHz 频段2.2.2 5GHz 频段2.3 调制技术2.3.1 正交频分复用(OFDM)2.3.2 直接序列扩频(DSSS)2.4 通信协议2.5 网络架构2.5.1 独立基本服务集(IBSS)2.5.2 基础服务集(BSS)2.5.…

深入解析 Java 类加载机制及双亲委派模型

🔍 Java的类加载机制是确保应用程序正确运行的基础,特别是双亲委派模型,它通过父类加载器逐层加载类,避免冲突和重复加载。但在某些特殊场景下,破坏双亲委派模型会带来意想不到的效果。本文将深入解析Java类加载机制、…

【数据可视化艺术·进阶篇】热力图探秘:用色彩演绎场馆和景区的人流奥秘

假期出游,你是不是也遇到过这样的状况:想去的热门景点,放眼望去全是攒动的人头,根本没法好好欣赏风景;而景区里一些小众角落,却冷冷清清,鲜有人至。还有在轨道交通枢纽、大型体育场这些地方&…