searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

中央处理器

2023-10-11 01:11:22
7
0

中央处理器,英文名称Central Processing Unit,简称CPU,是计算机的核心,负责解释计算机指令以及处理计算机软件中的数据,主要包括两个部分:

  • 控制器:程序计数器PC、指令寄存器IR、指令译码器、时序信号发生器、微程序控制器...
  • 运算器:算术逻辑部件ALU、暂存寄存器、累加寄存器、通用寄存器、标志寄存器...

计算机系统中所有软件层的操作,最终都将通过指令集映射为CPU的操作。

发展历史

CPU发展已经有40多年的历史了。我们通常将其分成六个阶段。如下图所示:

CPU关键技术

CPU的关键技术包括:

  • 指令集(ISA,Instruction Set Architecture):程序被按照某种指令集的规范翻译为CPU可识别的底层代码的过程叫做编译(compile)。x86、ARM v8、MIPS都是指令集的代号。指令集可以被扩展,如x86增加64位支持就有了x86-64。厂商开发兼容某种指令集的CPU需要指令集专利持有者授权,典型例子如Intel授权AMD,使后者可以开发兼容x86指令集的CPU
  • 微架构:CPU的基本组成单元即为核心(core)。多个核心可以同时执行多件计算任务,前提是这些任务没有先后顺序。核心的实现方式被称为微架构(microarchitecture)。微架构的设计影响核心可以达到的最高频率、核心在一定频率下能执行的运算量、一定工艺水平下核心的能耗水平等等。如Haswell、Cortex-A15等都是微架构的称号
  • 组装技术:微架构研发完成,或者说核心研发完成,接下来就是将其组装为芯片,如今大量的芯片集成了CPU、GPU、IO等多种不同的功能组件,此时这种芯片就不是传统意义上的“CPU”了。将各种功能组件组装为芯片的技术含量相比微架构研发来说是较低的,因而业界能做此类工作的企业也数量较多。

业界认为只有具备独立的微架构研发能力的企业才算具备了CPU研发能力,而是否使用自行研发的指令集无关紧要

龙芯是兼容MIPS指令集,微架构部由中科院自主研发的CPU系列

指令集架构

指令集架构有多种类型:

  • 复杂指令集运算(Complex Instruction Set Computing,CISC)。目前x86架构微处理器如Intel的Pentium/Celeron/Xeon与AMD的Athlon/Duron/Sempron;以及其64位扩展系统的x86-64架构的Intel 64的Intel Core/Core 2/Celeron/Pentium/Xeon与AMD64的Phenom II/Phenom/Athlon 64/Athlon II/Opteron/AMD APU/Ryzen/EPYC都属于复杂指令集。主要针对的操作系统是微软的Windows和苹果公司的macOS。另外Linux,一些UNIX等,都可以运行在x86(复杂指令集)架构的微处理器。
  • 精简指令集运算(Reduced Instruction Set Computing,RISC)。这种指令集运算包括惠普的PA-RISC,国际商业机器的PowerPC,康柏(后被惠普收购)的Alpha,美普思科技公司的MIPS,SUN公司的SPARC,ARM公司的ARM架构等。目前有UNIX、Linux以及包括iOS、Android、Windows Phone等在内的大多数移动操作系统运行在精简指令集的处理器上。
  • 显式并发指令运算(Explicitly Parallel Instruction Computing,EPIC)。显式并发指令运算乃先进的全新指令集运算,只有Intel的IA-64架构的纯64位微处理器的Itanium/Itanium 2。EPIC指令集运算的IA-64架构主要针对的操作系统是微软64位安腾版的Windows XP以及64位安腾版的Windows Server 2003。另外一些64位的Linux,一些64位的UNIX也可以运行IA-64(显式并发指令运算)架构。
  • 超长指令字指令集运算(VLIW)。通过将多条指令放入一个指令字,有效的提高了CPU各个计算功能部件的利用效率,提高了程序的性能

微架构

CPU的工作分为5个阶段:

  1. 取指令(IF,instruction fetch),即将一条指令从主存储器中取到指令寄存器的过程。程序计数器中的数值,用来指示当前指令在主存中的位置。当 一条指令被取出后,PC中的数值将根据指令字长度自动递增。

  2. 指令译码阶段(ID,instruction decode),取出指令后,指令译码器按照预定的指令格式,对取回的指令进行拆分和解释,识别区分出不同的指令类 别以及各种获取操作数的方法。现代CISC处理器会将拆分已提高并行率和效率。 

  3. 执行指令阶段(EX,execute),具体实现指令的功能。CPU的不同部分被连接起来,以执行所需的操作。

  4. 访存取数阶段(MEM,memory),根据指令需要访问主存、读取操作数,CPU得到操作数在主存中的地址,并从主存中读取该操作数用于运算。部分指令不需要访问主存,则可以跳过该阶段。

  5. 结果写回阶段(WB,write back),作为最后一个阶段,结果写回阶段把执行指令阶段的运行结果数据“写回”到某种存储形式。结果数据一般会被写到CPU的内部寄存器中,以便被后续的指令快速地存取;许多指令还会改变程序状态字寄存器中标志位的状态,这些标志位标识着不同的操作结果,可被用来影响程序的动作。

在目前,能够最有效的提升性能的方法就是流水线。早期的处理器是等一个指令运行完所有步骤后,然后才轮到下一个指令运行。大部分的电路在某一个步骤结束后就处在闲置的状态。流水线化的电路借由允许多个指令在同一时间,在电路上不同的位置进行不同的工作。例如,处理器可以在最后一个指令等待结果写回时对另一个指令解码。这使得处理器在同一时间可以处理四个指令,使处理器的性能增加了四倍。

微架构包括处理器的组成部分和对指令集架构的连接和操作。一个系统的微架构通常以描述不同微架构组成部分如何互相连接的平面图代表,而这些微架构组成部分可以是简单的逻辑门(Logic gates),电阻,或是算术逻辑单元(Arithmetic logic unit ,ALU)等大型组件。这些平面图通常把数据路径(Data path)和控制路径(control path)分开。每个组成部分会以示意图表达他们和运行他们的逻辑门之间的连系。

当前场景的微架构有:

  • Intel:
    • P5
    • P6
    • NetBurst
    • Core
    • Nehalem/Westmere
    • Sandy Bridge/Ivy Bridge
    • Haswell/Broadwell
    • Skylake
    • Kaby Lake
    • Coffee Lake
    • Comet Lake
    • Ice Lake
  • AMD:
    • K5 - AMD的首个原创微架构。K5基于Am29000的微架构,并且添加了一个x86的解码器。即使这个设计的原理和Pentium Pro相同,而实际性能更像是Pentium。
    • K6 - K6并非基于K5,而是基于当时已经被AMD所收购了的NexGen所设计的Nx686处理器,K6的针脚兼容Intel Pentium。
      • K6-2微架构 - 增加了3DNow! SIMD指令集。
      • K6-III微架构 - 有3级缓存,64KB L1一级缓存,256KB L2二级全速缓存,最高可达2MB的主板装载(motherboard mounted)L3三级缓存。
    • K7 - 是AMD Athlon和Athlon XP的微架构。
    • K8微架构 - 全球首款x86-64处理器,集成了存储器控制器(Integrated Memory Controller),采用HyperTransport技术,增加了SSE指令集。后期的K8增加了SSE3。K8在2003年4月22日上市。HyperTransport取代了传统的前端总线,让CPU直接和内存链接。
    • K9 - 被取消。
    • K10微架构 - 代号为Barcelona ,是AMD系列的第十代微架构,最多内置四个核心,共享Level 3 Cache第三级缓存,128位浮点单元,支持AMD-V Nested Paging Virtualization和HyperTransport 3.0。
    • Bulldozer - 是继K10之后,使用AMD M-SPACE模块化设计方法(modular design methodology)的微架构。Bulldozer是为功耗在10W至100W类别的处理器而设计,应用了XOP,FMA和CVT16指令集,并且部分产品集成了GPU核心(AMD APU)。
    • Zen微架构 - AMD在2017年推出的微架构,是多年来性能最接近Intel的产品。采用14纳米制程。
    • Zen+微架构 - AMD在2018年推出的微架构,CPU芯片采用12纳米制程。
    • Zen 2微架构 - AMD在2019年推出的微架构,CPU芯片采用7纳米制程。
    • Zen 3 - AMD在2020年推出的微架构
  • ARM:
    • Cortex-A76
    • Cortex-R52
    • Cortex-M35P

 

0条评论
0 / 1000
安****顺
8文章数
0粉丝数
安****顺
8 文章 | 0 粉丝
安****顺
8文章数
0粉丝数
安****顺
8 文章 | 0 粉丝
原创

中央处理器

2023-10-11 01:11:22
7
0

中央处理器,英文名称Central Processing Unit,简称CPU,是计算机的核心,负责解释计算机指令以及处理计算机软件中的数据,主要包括两个部分:

  • 控制器:程序计数器PC、指令寄存器IR、指令译码器、时序信号发生器、微程序控制器...
  • 运算器:算术逻辑部件ALU、暂存寄存器、累加寄存器、通用寄存器、标志寄存器...

计算机系统中所有软件层的操作,最终都将通过指令集映射为CPU的操作。

发展历史

CPU发展已经有40多年的历史了。我们通常将其分成六个阶段。如下图所示:

CPU关键技术

CPU的关键技术包括:

  • 指令集(ISA,Instruction Set Architecture):程序被按照某种指令集的规范翻译为CPU可识别的底层代码的过程叫做编译(compile)。x86、ARM v8、MIPS都是指令集的代号。指令集可以被扩展,如x86增加64位支持就有了x86-64。厂商开发兼容某种指令集的CPU需要指令集专利持有者授权,典型例子如Intel授权AMD,使后者可以开发兼容x86指令集的CPU
  • 微架构:CPU的基本组成单元即为核心(core)。多个核心可以同时执行多件计算任务,前提是这些任务没有先后顺序。核心的实现方式被称为微架构(microarchitecture)。微架构的设计影响核心可以达到的最高频率、核心在一定频率下能执行的运算量、一定工艺水平下核心的能耗水平等等。如Haswell、Cortex-A15等都是微架构的称号
  • 组装技术:微架构研发完成,或者说核心研发完成,接下来就是将其组装为芯片,如今大量的芯片集成了CPU、GPU、IO等多种不同的功能组件,此时这种芯片就不是传统意义上的“CPU”了。将各种功能组件组装为芯片的技术含量相比微架构研发来说是较低的,因而业界能做此类工作的企业也数量较多。

业界认为只有具备独立的微架构研发能力的企业才算具备了CPU研发能力,而是否使用自行研发的指令集无关紧要

龙芯是兼容MIPS指令集,微架构部由中科院自主研发的CPU系列

指令集架构

指令集架构有多种类型:

  • 复杂指令集运算(Complex Instruction Set Computing,CISC)。目前x86架构微处理器如Intel的Pentium/Celeron/Xeon与AMD的Athlon/Duron/Sempron;以及其64位扩展系统的x86-64架构的Intel 64的Intel Core/Core 2/Celeron/Pentium/Xeon与AMD64的Phenom II/Phenom/Athlon 64/Athlon II/Opteron/AMD APU/Ryzen/EPYC都属于复杂指令集。主要针对的操作系统是微软的Windows和苹果公司的macOS。另外Linux,一些UNIX等,都可以运行在x86(复杂指令集)架构的微处理器。
  • 精简指令集运算(Reduced Instruction Set Computing,RISC)。这种指令集运算包括惠普的PA-RISC,国际商业机器的PowerPC,康柏(后被惠普收购)的Alpha,美普思科技公司的MIPS,SUN公司的SPARC,ARM公司的ARM架构等。目前有UNIX、Linux以及包括iOS、Android、Windows Phone等在内的大多数移动操作系统运行在精简指令集的处理器上。
  • 显式并发指令运算(Explicitly Parallel Instruction Computing,EPIC)。显式并发指令运算乃先进的全新指令集运算,只有Intel的IA-64架构的纯64位微处理器的Itanium/Itanium 2。EPIC指令集运算的IA-64架构主要针对的操作系统是微软64位安腾版的Windows XP以及64位安腾版的Windows Server 2003。另外一些64位的Linux,一些64位的UNIX也可以运行IA-64(显式并发指令运算)架构。
  • 超长指令字指令集运算(VLIW)。通过将多条指令放入一个指令字,有效的提高了CPU各个计算功能部件的利用效率,提高了程序的性能

微架构

CPU的工作分为5个阶段:

  1. 取指令(IF,instruction fetch),即将一条指令从主存储器中取到指令寄存器的过程。程序计数器中的数值,用来指示当前指令在主存中的位置。当 一条指令被取出后,PC中的数值将根据指令字长度自动递增。

  2. 指令译码阶段(ID,instruction decode),取出指令后,指令译码器按照预定的指令格式,对取回的指令进行拆分和解释,识别区分出不同的指令类 别以及各种获取操作数的方法。现代CISC处理器会将拆分已提高并行率和效率。 

  3. 执行指令阶段(EX,execute),具体实现指令的功能。CPU的不同部分被连接起来,以执行所需的操作。

  4. 访存取数阶段(MEM,memory),根据指令需要访问主存、读取操作数,CPU得到操作数在主存中的地址,并从主存中读取该操作数用于运算。部分指令不需要访问主存,则可以跳过该阶段。

  5. 结果写回阶段(WB,write back),作为最后一个阶段,结果写回阶段把执行指令阶段的运行结果数据“写回”到某种存储形式。结果数据一般会被写到CPU的内部寄存器中,以便被后续的指令快速地存取;许多指令还会改变程序状态字寄存器中标志位的状态,这些标志位标识着不同的操作结果,可被用来影响程序的动作。

在目前,能够最有效的提升性能的方法就是流水线。早期的处理器是等一个指令运行完所有步骤后,然后才轮到下一个指令运行。大部分的电路在某一个步骤结束后就处在闲置的状态。流水线化的电路借由允许多个指令在同一时间,在电路上不同的位置进行不同的工作。例如,处理器可以在最后一个指令等待结果写回时对另一个指令解码。这使得处理器在同一时间可以处理四个指令,使处理器的性能增加了四倍。

微架构包括处理器的组成部分和对指令集架构的连接和操作。一个系统的微架构通常以描述不同微架构组成部分如何互相连接的平面图代表,而这些微架构组成部分可以是简单的逻辑门(Logic gates),电阻,或是算术逻辑单元(Arithmetic logic unit ,ALU)等大型组件。这些平面图通常把数据路径(Data path)和控制路径(control path)分开。每个组成部分会以示意图表达他们和运行他们的逻辑门之间的连系。

当前场景的微架构有:

  • Intel:
    • P5
    • P6
    • NetBurst
    • Core
    • Nehalem/Westmere
    • Sandy Bridge/Ivy Bridge
    • Haswell/Broadwell
    • Skylake
    • Kaby Lake
    • Coffee Lake
    • Comet Lake
    • Ice Lake
  • AMD:
    • K5 - AMD的首个原创微架构。K5基于Am29000的微架构,并且添加了一个x86的解码器。即使这个设计的原理和Pentium Pro相同,而实际性能更像是Pentium。
    • K6 - K6并非基于K5,而是基于当时已经被AMD所收购了的NexGen所设计的Nx686处理器,K6的针脚兼容Intel Pentium。
      • K6-2微架构 - 增加了3DNow! SIMD指令集。
      • K6-III微架构 - 有3级缓存,64KB L1一级缓存,256KB L2二级全速缓存,最高可达2MB的主板装载(motherboard mounted)L3三级缓存。
    • K7 - 是AMD Athlon和Athlon XP的微架构。
    • K8微架构 - 全球首款x86-64处理器,集成了存储器控制器(Integrated Memory Controller),采用HyperTransport技术,增加了SSE指令集。后期的K8增加了SSE3。K8在2003年4月22日上市。HyperTransport取代了传统的前端总线,让CPU直接和内存链接。
    • K9 - 被取消。
    • K10微架构 - 代号为Barcelona ,是AMD系列的第十代微架构,最多内置四个核心,共享Level 3 Cache第三级缓存,128位浮点单元,支持AMD-V Nested Paging Virtualization和HyperTransport 3.0。
    • Bulldozer - 是继K10之后,使用AMD M-SPACE模块化设计方法(modular design methodology)的微架构。Bulldozer是为功耗在10W至100W类别的处理器而设计,应用了XOP,FMA和CVT16指令集,并且部分产品集成了GPU核心(AMD APU)。
    • Zen微架构 - AMD在2017年推出的微架构,是多年来性能最接近Intel的产品。采用14纳米制程。
    • Zen+微架构 - AMD在2018年推出的微架构,CPU芯片采用12纳米制程。
    • Zen 2微架构 - AMD在2019年推出的微架构,CPU芯片采用7纳米制程。
    • Zen 3 - AMD在2020年推出的微架构
  • ARM:
    • Cortex-A76
    • Cortex-R52
    • Cortex-M35P

 

文章来自个人专栏
智能边缘云弹性计算专栏
8 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
1
0