📢:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨
📢:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】
📢:文章若有幸对你有帮助,可点赞 👍 收藏 ⭐不迷路🙉
📢:内容若有错误,敬请留言 📝指正!原创文,转载注明出处
CPU结构设计
结构类型 | 结构特点 | 优点 | 缺点 | 适用场景 | 典型例子 |
---|---|---|---|---|---|
冯诺依曼结构 | 程序和数据都放在内存中且不彼此分离,使用同一个总线来传输指令和数据,指令和数据共享同一个地址空间 | 结构简单、灵活 | 安全和稳定性存在问题,执行程序时需依次读取指令和数据,在某些场景下效率受限 | 适用于通用计算机 | 大多数通用计算机 |
哈佛结构 | 指令存储器和数据存储器独立,分别使用不同的地址空间,使用不同的总线分别传输指令和数据 | 可以同时读取指令和数据,提高并行处理能力,安全和稳定性高 | 软件处理相对复杂,需要统一规划链接地址等 | 适用于嵌入式系统和高性能计算 | 大部分单片机(MCS51、ARM9等) |
CPU生产厂商
常见的CPU生产厂商如下:
厂商分类 | 厂商名称 | 总部所在地 | 成立时间 | 主要产品系列 | 应用领域 |
---|---|---|---|---|---|
国际厂商 | Intel(英特尔) | 美国 | 1968年 | 酷睿、至强、奔腾、赛扬、凌动 | PC、服务器、移动设备等 |
AMD(超威半导体) | 美国 | 1969年 | 锐龙、霄龙、皓龙、速龙 | PC、服务器、游戏主机等 | |
ARM Ltd | 英国 | 1990年 | Cortex-A、Cortex-R、Cortex-M | 嵌入式系统、移动设备等 | |
Apple(苹果) | 美国 | 1976年 | A系列、M系列 | iPhone、iPad、Mac等苹果设备 | |
Nvidia(英伟达) | 美国 | 1993年 | Tegra系列 | 移动设备、车载系统、人工智能等 | |
Qualcomm(高通) | 美国 | 1985年 | 骁龙系列 | 智能手机、平板电脑等移动设备 | |
IBM | 美国 | 1911年(前身CTR公司成立) | Power系列 | 服务器、大型机、高性能计算等 | |
Freescale Semiconductor(飞思卡尔) | 美国 | 1999年(从摩托罗拉分拆) | PowerPC等系列 | 嵌入式系统、汽车电子等 | |
MediaTek(联发科技) | 中国台湾 | 1997年 | Helio系列、天玑系列 | 手机、平板电脑、物联网设备等 | |
VIA(威盛) | 中国台湾 | 1987年 | VIA CyrixⅢ(C3)等 | 低端PC、嵌入式系统等 | |
国内厂商 | 龙芯中科 | 中国 | 2008年 | 龙芯系列 | 国产计算机、信息安全等领域 |
申威处理器 | 中国 | / | 申威高性能计算、服务器/桌面、嵌入式处理器系列 | 高性能计算、服务器、桌面应用等 | |
兆芯 | 中国 | 2013年 | 开先、开胜系列 | 国产PC、服务器等 | |
海光Hygon | 中国 | 2014年 | 海光通用处理器等 | 服务器、工作站等 | |
鲲鹏Kunpeng | 中国 | / | 鲲鹏系列 | 服务器、云计算等 | |
飞腾PHYTIUM | 中国 | 2014年 | 服务器CPU、桌面CPU、嵌入式CPU三大系列 | 国产信息系统、云计算、边缘计算等 | |
玄铁xuanTie | 中国 | 2001年 | 玄铁系列 | 计算视觉、数据存储、工业互联等多个领域 |
CPU工作原理
CPU运行处理过程:Flash(外存,相当于一个仓库)用于存储编译好的程序,外部的代码想要通过CPU的编译需要先经过DDR(内存,相当于一个火车)“运输”到寄存器中。然后通过运算器进行读取和解码。
CPU的工作流程,一般分为以下五个阶段:
1、获取指令 :首先将内存中的指令读取到CPU寄存器中
2、指令译码 :在获取指令后进入指令译码阶段,译码器对指令分析,获取指令类别和操作方法
3、执行指令 :译码结束后完成指令下的各种操作;
4、获取数据 :然后根据地址码从主存中读取数据进行运算;
5、写回数据:最后将运行的数据写回到内部的寄存器中,便于之后的指令存取。
CPU的工作原理基于时钟信号的节奏,以固定的频率进行指令的执行。每一个时钟周期,CPU会依次执行取指、解码、执行、访存、写回等步骤,从而实现程序的顺序执行。
CPU的组成
CPU=ALU(运算器)+CU(控制器)+ACC(寄存器)
ALU:(Arithmetic Logic Unit,算术逻辑单元)是CPU中负责执行算术运算和逻辑运算等操作的单元。
CU:(Control Unit,控制单元),负责控制和协调整个CPU的操作。
ACC:(Accumulator,累加器)是一种特殊的寄存器,用于存储和操作算术运算的结果。
CPU(中央处理器)主要由运算器、控制器、寄存器组和高速缓冲存储器等部分组成,以下以表格形式呈现:
组成部分 | 主要部件 | 功能 |
---|---|---|
运算器 | 算术逻辑单元(ALU)、累加器、数据缓冲寄存器等 | 执行算术运算(如加法、减法、乘法、除法等)和逻辑运算(如与、或、非、异或等),对数据进行处理和加工 |
控制器 | 指令寄存器、指令译码器、程序计数器、时序发生器等 | 负责从存储器中读取指令,对指令进行译码,确定指令的操作类型和操作数,然后根据指令的要求产生相应的控制信号,控制计算机各部件协同工作,使计算机能够按照程序的规定顺序执行指令 |
寄存器组 | 通用寄存器、专用寄存器 | 通用寄存器可用于暂存操作数、中间结果等,提高数据处理的速度和效率,减少对内存的访问次数。专用寄存器包括程序计数器(PC)、堆栈指针(SP)等,各自承担特定的功能,如PC用于存储下一条要执行指令的地址,SP用于指示堆栈的栈顶位置 |
高速缓冲存储器(Cache) | 指令缓存(ILM)、数据缓存(DLM) | 指令缓存用于存储近期可能会被CPU频繁执行的指令,数据缓存用于存储CPU正在处理或即将处理的数据。Cache的存在大大提高了CPU访问指令和数据的速度,减少了CPU等待数据从内存传输的时间,从而提高了CPU的整体性能 |
CPU的类型
CPU设计方式发展
1.早期简单CPU,指令和功能都很有限
2.CISC年代 —— CPU功能扩展依赖于指令集的扩展,实质是CPU内部组合逻辑电路的扩展。
3.RISC年代 —— CPU仅提供基础功能指令(譬如内存与寄存器通信指令,基本运算与判断指令等),功能扩展由使用CPU的人利用基础架构来灵活实现。
以下是表格形式呈现的CPU类型:
分类标准 | 类型 | 特点 | 举例 |
---|---|---|---|
按指令集架构 | 复杂指令集计算机(CISC) | 指令丰富、寻址模式复杂,指令长度可变,功能强大,可通过一条指令完成较复杂操作,硬件设计相对复杂,执行效率在某些情况下可能不如RISC架构 | 英特尔x86架构的大部分CPU,如酷睿i9-13900K等 |
按指令集架构 | 精简指令集计算机(RISC) | 指令集简单,指令长度固定,执行速度快,功耗低,注重指令执行的并行性和流水线技术,硬件设计相对简单,编译器设计较为复杂 | ARM架构的高通骁龙8 Gen2、RISC - V架构的平头哥玄铁系列、PowerPC架构的早期苹果G系列、MIPS架构的一些早期网络设备芯片 |
按应用场景 | 通用CPU | 具备强大计算和多任务处理能力,有完善的操作系统和软件生态支持,可处理各种类型的计算任务,性能全面,可扩展性强 | 英特尔酷睿系列用于个人电脑、英特尔至强系列用于服务器、AMD锐龙系列用于桌面及笔记本、AMD霄龙系列用于服务器 |
按应用场景 | 嵌入式CPU | 对体积、功耗和成本要求严格,通常针对特定的嵌入式系统应用进行定制化设计,可靠性要求高,实时性强,一般集成了特定的外设接口 | 基于ARM内核的恩智浦i.MX系列、瑞萨R-Car系列等用于汽车电子;意法半导体STM32系列用于工业控制等各种嵌入式场景 |
按应用场景 | 移动CPU | 注重低功耗和集成度,为移动设备设计,通常集成了GPU等多种功能模块,以满足移动设备图形处理等需求,散热要求苛刻,需要在性能和功耗之间取得良好平衡 | 高通骁龙系列用于安卓手机、苹果A系列用于iPhone和iPad、华为麒麟系列用于华为手机和平板、联发科天玑系列用于安卓手机和平板 |
按核心数量 | 单核CPU | 只有一个处理核心,所有计算任务都由这一个核心来处理,在同一时间只能处理一个程序或线程,适用于简单计算任务或早期计算机系统 | 早期的英特尔4004、8086等,以及一些简单的工业控制芯片 |
按核心数量 | 多核CPU | 包含多个核心,可同时执行多个程序或线程,通过并行处理提高整体计算能力,各核心可协同工作或分担不同任务,性能提升明显,但对软件的并行化要求较高 | 英特尔酷睿i7-12700K有12个核心、AMD锐龙9 7950X有16个核心等,还有服务器用的多核CPU如英特尔至强可扩展系列 |
按制程工艺 | 不同制程工艺的CPU | 制程工艺越先进,晶体管尺寸越小,能在相同面积芯片上集成更多晶体管,从而提升性能、降低功耗、提高集成度,通常代表着更高的技术水平和成本投入 | 英特尔10nm工艺的Ice Lake处理器、台积电5nm工艺的苹果A14、麒麟9000、三星5nm工艺的Exynos 2100 |
按品牌 | 英特尔(Intel)CPU | 以高性能、稳定架构和强大生态系统著称,在个人电脑和服务器市场长期占据重要地位,技术研发投入大,产品更新换代快 | 酷睿系列、至强系列、奔腾系列、赛扬系列 |
按品牌 | 超威半导体(AMD)CPU | 具有出色性价比和多核心性能,在多线程处理等方面表现优秀,近年来产品竞争力不断提升,对市场格局产生较大影响 | 锐龙系列、霄龙系列、速龙系列 |
按品牌 | 其他品牌 | 在各自应用领域有一定市场份额,部分国产芯片在自主可控等方面具有重要意义 | 龙芯的龙芯3A系列、飞腾的FT-2000/4系列、兆芯的开先KX-6000系列,以及众多基于ARM架构的国产厂商产品如全志、瑞芯微等的芯片 |
CPU内核与CPU的关系
CPU 内核并不完全等同于 CPU 本身,它们之间存在着包含与被包含的关系,在功能和概念上有明显区别,以下是具体分析:
功能方面
CPU 内核:是 CPU 的核心运算部件,主要负责执行指令、进行数据处理和运算等核心任务,像进行复杂的数学运算、逻辑判断以及数据的移位等操作,是 CPU 实现计算功能的最关键部分。
CPU:除了包含内核具备的运算功能外,还承担着更多协调和管理的工作。它要与内存、硬盘、显卡等其他计算机硬件进行数据交互和通信,控制数据在各个部件之间的传输,还要负责对整个计算机系统的资源进行管理和分配,比如决定哪个程序可以使用多少 CPU 时间、多少内存空间等。
结构方面
CPU 内核:只是 CPU 内部的一个关键组成部分,主要由运算器、控制器、寄存器组和高速缓冲存储器等构成,专注于指令执行和数据处理。
CPU:是一个更为复杂的整体硬件,除了内核外,还包括缓存(除了内核中的高速缓存外,还有可能有二级缓存、三级缓存等)、总线接口等其他功能模块。缓存用于存储更多临时数据,以减少内核访问内存的频率,提高整体性能;总线接口则用于实现 CPU 与其他硬件设备之间的连接和数据传输。
以常见的电脑 CPU 为例,英特尔酷睿 i7 处理器可能包含多个 CPU 内核,如 6 个或 8 个内核,这些内核协同工作,再加上处理器中的缓存、总线等其他部分,共同构成了完整的 CPU,以实现计算机的各种计算和处理任务。
CPU 内核种类
CPU 内核种类繁多,按照不同的架构和应用场景,主要可分为 x86 内核、ARM 内核、RISC-V 内核、PowerPC 内核以及 MIPS 内核等,以下是具体介绍:
内核种类 | 简介 | 特点 | 应用场景 |
---|---|---|---|
x86内核 | 英特尔公司为其第一块16位CPU(8086)专门开发的,后发展为32位和64位架构,也被称为IA-32(Intel Architecture 32-bit)和x86-64等 | 具有丰富的指令集,能很好兼容各种软件,在个人电脑和服务器领域占据主导地位,发展历程长,技术成熟,生态系统完善 | 广泛应用于个人计算机、笔记本电脑以及服务器等设备,如英特尔酷睿系列、至强系列处理器,AMD锐龙系列、霄龙系列处理器等 |
ARM内核 | 一种基于精简指令集计算机(RISC)架构的处理器内核,由ARM公司设计 | 低功耗、低成本、高性能,采用独特的Thumb指令集,在保持高性能的同时进一步降低功耗和成本 | 在移动设备领域占据绝对主导地位,如智能手机、平板电脑、智能手表等,像高通骁龙系列、苹果A系列、华为麒麟系列、联发科天玑系列等移动处理器都采用;此外,在物联网、嵌入式系统等领域也有广泛应用 |
RISC-V内核 | 一个基于精简指令集(RISC)原则的开源指令集架构(ISA),具有高度的可定制性 | 开源免费,允许用户根据自身需求对内核进行定制和扩展,灵活性和可扩展性好,有望打破传统指令集架构的垄断 | 在物联网、嵌入式系统、边缘计算等领域具有广阔的应用前景,如平头哥的玄铁系列处理器 |
PowerPC内核 | 一种精简指令集(RISC)架构的微处理器,由IBM、摩托罗拉和苹果公司共同开发 | 具有较高的性能和可靠性,采用超标量流水线技术和多指令发射技术,能同时执行多条指令,提高处理效率 | 曾经广泛应用于苹果的Mac电脑、游戏机(如任天堂GameCube、索尼PS3等)以及一些工业控制、航空航天等领域;随着x86和ARM架构的发展,市场份额逐渐缩小,但在一些特定领域仍有应用 |
MIPS内核 | 一种基于精简指令集计算机(RISC)的处理器架构,由MIPS科技公司开发 | 具有简单、高效的特点,采用五级流水线结构,能快速执行指令,指令集相对较小,易于实现和优化 | 在早期的网络设备、嵌入式系统等领域有广泛应用,如一些路由器、交换机等网络设备中常采用;近年来市场份额有所下降,但在一些特定的嵌入式应用场景中仍有一席之地 |