DP读书:鲲鹏处理器 架构与编程(二)服务器与处理器——高性能处理器的并行组织结构、ARM处理器

简介: DP读书:鲲鹏处理器 架构与编程(二)服务器与处理器——高性能处理器的并行组织结构、ARM处理器

DP:看了一天的底层驱动,还是去看书吧


1.2服务器处理器

1.2.1高性能处理器的并行组织结构

并行机制 Value
指令流水线 指令级并行
多处理器系统和多计算机系统 直间接耦合系统
多线程处理器 线程级并行
多核处理器(片上多处理器) 众核(MC)处理器
同异构多核处理器 GPU和CPU集成
多核处理器的对称性 (非)对称多处理

指令流水线:

> 指令流水线是为提高处理器执行指令的效率,把一条指令的操作分成多个细小的步骤,每个步骤由专门的电路完成的方式。这种方式允许处理器在执行完一条指令的一个步骤后,就可以立即开始执行下一条指令的一个步骤,而不是等待整个指令完全执行完毕。这种方式可以显著提高处理器的效率,因为处理器可以在多个步骤同时进行操作。
> 指令流水线可以分为三类:简单指令流水线、复杂指令流水线和超长指令字(VLIW)指令流水线。简单指令流水线只包含一个操作步骤,例如加法操作。复杂指令流水线包含多个操作步骤,例如乘法操作,需要多个时钟周期才能完成。超长指令字指令流水线将多个简单操作组合成一条长指令,可以同时执行多个操作,从而提高处理器的效率。

多处理器系统和多计算机系统:

>多处理器系统和多计算机系统是两种不同的计算机系统。
>多处理器系统是指一个计算机系统中包含两台或多台功能相近的处理器,这些处理器可以相互协作完成任务,并且共享内存、I/O设备、控制器和外部设备。多处理器系统的优点是可以提高系统的处理能力和性能,缺点是系统的设计和实现比较复杂。
>多计算机系统是指一个计算机系统由多台计算机组成,这些计算机之间通过网络相互连接,可以相互协作完成任务。多计算机系统的优点是可以提高系统的可靠性和可扩展性,缺点是系统的设计和实现比较复杂。

多线程处理器:

>多线程处理器是一种处理器,它能够同时执行多个线程,以提高处理器的利用率和效率。多线程处理器通过复制处理器上的结构状态,让多个线程同步执行并共享处理器的执行资源,从而实现宽发射、乱序的超标量处理,提高处理器运算部件的利用率,缓存和由于数据相关或Cache未命中带来的访问内存延时。
>多线程处理器主要分为两种类型:SMT和MIMD。SMT(Simultaneous Multi-Threading)是一种共享处理器时间的技术,它允许多个线程同时在一个处理器上执行。MIMD(Multiple Instruction Multiple Data)是一种并行计算模型,它允许多个处理器同时执行多个指令和数据。
>多线程处理器广泛应用于各种领域,例如计算机科学、人工智能、大数据处理等。它能够提高处理器的性能和效率,降低能耗和成本,为计算机系统的设计和实现提供了更好的解决方案。

多核处理器(片上多处理器)

多核处理器是一种具有多个处理核心的处理器,这些核心集成在同一块芯片上,相互之间通过内部总线进行通信。多核处理器的主要目的是通过并行执行多个线程来提高处理器的整体性能,解决单核处理器中存在的能效问题。多核处理器采用了多种技术来实现并行处理,例如多线程技术、超线程技术、Cache技术等。这些技术能够有效地提高处理器的利用率和效率,降低能耗和成本。
多核处理器广泛应用于各种领域,例如计算机科学、人工智能、大数据处理等。它能够提高处理器的性能和效率,降低能耗和成本,为计算机系统的设计和实现提供了更好的解决方案。

同异构多核处理器

同异构多核处理器一种具有多个处理核心的处理器,这些核心可以相同,也可以不同。同构多核处理器中的核心具有相同的架构和功能,而异构多核处理器中的核心则具有不同的架构和功能。同构多核处理器通常由多个相同的处理核心组成,每个核心都可以独立运行,类似于单核处理器。这种多核处理器适用于通用计算任务,可以并行执行多个线程,从而提高处理器的整体性能。异构多核处理器则是由不同的处理核心组成,每个核心针对不同的需求进行设计,例如通用处理器、DSP、FPGA、媒体处理器、网络处理器等。
这种多构处理器适用于特定领域的计算任务,可以进一步提高应用的计算性能或实时性能。>从软件角度来看,多核处理器的运行模式包括SMP(对称多处理)、AMP(非对称多进程)和BMP(同构多线程)等。其中,SMP是最常用的运行模式,每个核心平等地运行不同的任务;AMP则是指不同核心运行不同版本的操作系统或裸机程序;BMP则适用于同构多核处理器,每个核心运行相同的程序,但执行不同的任务。
>总之,同异构多核处理器通过将多个处理核心集成在同一块芯片上,实现了并行处理和高效计算,适用于各种领域的高性能计算需求。

多核处理器的对称性

多核处理器的对称性指的是多个核心之间的平等关系,即它们在处理任务时具有相同的优先级和资源访问权限。对称多核处理器(SMP)是一种常见的多核处理器,其核心数量从两个到多个不等。在SMP中,所有的核心都平等地共享处理器的资源,包括内存、I/O设备和其他核心。因此,在操作系统中,每个核心都被视为一个独立的处理器,可以同时执行多个线程。
在非对称多进程(AMP)中,不同核心运行不同版本的操作系统或裸机程序,它们之间没有对称性。而在同构多线程(BMP)中,虽然多个核心共享相同的程序,但它们执行不同的任务,因此也没有对称性。对称性的优点是可以提高处理器的利用率和效率,充分发挥多个核心的优势。但是,对称性的实现也需要付出额外的代价,例如核心之间的通信和同步问题,以及调度和负载均衡等问题。因此,在实际应用中,需要根据具体的需求和场景来选择是否采用对称性的多核处理器。

1.2.2英特尔处理器体系结构

处理器 架构
IA-32 指令级并行
安腾架构与Intel 64架构 直间接耦合系统
多线程处理器 线程级并行
多核处理器(片上多处理器) 众核(MC)处理器
同异构多核处理器 GPU和CPU集成
多核处理器的对称性 (非)对称多处理

英特尔处理器发展

IA-32——最常见应用最广

IA-32是Intel Architecture 32-bit的缩写,即英特尔32位体系架构。它是在英特尔公司1985年推出的80386微处理器中首先采用的。IA-32是一种32位微处理器指令集架构,它支持32位内存地址和32位指令集,适用于支持英特尔架构的处理器。

安腾架构与Intel64架构——安腾已然EOL

安腾架构和Intel64架构是两个不同的计算机体系结构,其主要区别在于指令集和使用场景。

安腾架构是64位指令集,由英特尔公司和惠普公司共同开发,适用于惠普公司的Itanium系列处理器。它主要用于高端服务器和工作站,强调处理大量的数据和提供高效的数据处理能力。

Intel64架构是32位和64位指令集的统称,包括EM64T(Extended Memory 64 Technology)扩展64位内存技术。它适用于英特尔公司的x86-64和AMD公司的AMD64系列处理器,广泛用于个人计算机、游戏机和一些专业应用领域。

Intel至强系列服务器处理器-UPI

Intel至强系列服务器处理器是英特尔公司为服务器市场开发的一系列处理器。至强系列处理器采用了多种不同的架构和技术,以满足不同类型服务器和工作负载的需求。以下是一些常见的Intel至强系列服务器处理器及其特点:

  1. Intel Xeon Gold:这是至强系列的高端产品,主攻高性能计算、虚拟化和数据库等领域。Gold系列处理器采用了先进的制程技术,拥有高主频和大缓存,以及更多的核心和线程。
  2. Intel Xeon Platinum:这是至强系列的旗舰产品,主要应用于高性能计算、云计算和数据中心等领域。Platinum系列处理器同样具备高主频、大缓存和多核心多线程等特点,且拥有更高的安全性和可靠性。
  3. Intel Xeon Silver:这是至强系列的中端产品,主攻网络、存储和边缘计算等领域。Silver系列处理器在价格和性能之间达到了平衡,适合用于各种不同的工作负载。
  4. Intel Xeon Bronze:这是至强系列的入门级产品,主要应用于低功耗和冷却受限的领域。Bronze系列处理器注重节能性能,适合用于基础服务器应用。

1.2.3 ARM处理器体系结构

1. ARM( Advanced RISC Machines Limited) 1990年由Acorn、Apple、VLSI合资成立的处理器公司,早期以IP(Intellectual Property,知识产权)授权这种商业模式,与众多半导体厂商构成合作关系。

2. ARM体系结构、指令集与ARM处理器

  • ARM体系结构(Architecture)

ARM公司定义了8种主要的ARM体系结构版本,以版本号v1~v8表示。

  • 处理器体系结构又称架构,其定义了处理单元(Processing Element) ,简称PE的处理规范。
  • ARM体系结构的指令集(Instruction Set)
    ARM(Advanced RISC Machine)是一种流行的32位微处理器指令集架构。它被广泛应用于嵌入式系统、移动设备、消费电子设备等领域。ARM指令集包括以下几种类型:
1. 数据处理指令(Data Processing Instructions):这些指令用于对寄存器中的数据进行操作,例如加法、减法、乘法、移位等。
    2. 程序控制指令(Control Instructions):这些指令用于控制程序流程,例如跳转、分支、子程序调用等。
    3. 加载和存储指令(Load and Store Instructions):这些指令用于从内存中加载数据到寄存器或将寄存器中的数据存储到内存中。
    4. 栈操作指令(Stack Operations Instructions):这些指令用于操作堆栈,例如压栈、弹栈等。
    5. 位操作指令(Bit Manipulation Instructions):这些指令用于对数据进行位操作,例如位反转、位测试、位设置等。
    6. 协处理器指令(Coprocessor Instructions):这些指令用于与协处理器进行通信。
    7. 异常产生指令(Exception Generation Instructions):这些指令用于产生异常,例如中断、未定义指令等。  
      8.  ARM指令集还包括一些伪指令(Pseudo-instructions),这些指令在汇编语言中用于实现某些高级功能,例如条件语句、循环等。

ARM指令集的一个重要特点是它支持Thumb指令集,该指令集是一种16位的指令集,提供了更高的代码密度,适用于对代码大小有严格要求的系统。ARMv8版本引入了64位支持的ARM指令集(AArch64)32位支持的ARM指令集(AArch32) 两种模式。

ARM指令集还有几个重要的特征:
> 1. 具有条件执行(Conditional Execution)功能,即某些指令可以根据特定条件来执行。
> 2. 具有延迟绑定(Delay Binding)功能,即某些指令的执行结果可以在其他指令的执行期间被预测,从而提高了处理器的效率。
> 3. 支持寄存器重命名(Register Renaming),以减少因数据相关引起的性能瓶颈。😁

4. ARM的微处理器内核(Processor Core)(CPU)

ARM微处理器的内核是ARM指令集体系结构的基础,它定义了处理器的基本功能和特性。以下是ARM微处理器内核的一些主要特点和分类:

  1. ARM7系列:这是ARM微处理器系列的早期产品,采用32位精简指令集,具有低功耗、高性能的特点,主要应用于嵌入式系统和移动设备等领域。
  2. ARM9系列:相对于ARM7系列,ARM9系列在性能和功能方面更加先进,采用了32位高性能ARM指令集,具有更高的处理能力和更好的多媒体性能,主要应用于智能手机、平板电脑、游戏机等领域。
  3. ARM11系列:这是ARM微处理器系列的中期产品,采用32位高性能ARM指令集,具有更高的处理能力和更好的功耗效率,主要应用于音频处理、图像处理、数字信号处理等领域。
  4. Cortex系列:这是ARM微处理器系列的最新产品,包括Cortex-A、Cortex-R和Cortex-M三个系列,分别应用于高性能、实时性和微控制器领域。Cortex系列采用了先进的体系结构和指令集,具有更高的性能和更好的功耗效率,可以满足不同领域的需求。

除了以上几个系列,ARM微处理器内核还包括其他一些特殊的产品和应用,如ARM Cortex-A78、ARM Cortex-X1、ARM

Cortex-M0+等。这些产品和应用具有各自独特的特点和优势,可以满足不同领域的需求。

5. ARM处理器(Prosseor)

ARM处理器是一种基于ARM指令集的32位微处理器。ARM指令集是一种精简指令集,具有较低的功耗和成本,同时提供了较高的性能,因此被广泛应用于移动设备、嵌入式系统、物联网、云计算等领域。

ARM处理器的体系结构是32位RISC(精简指令集计算机)架构,其指令集和寄存器都是32位的。ARM处理器具有低功耗、高性能、小体积、低成本等优点,适用于对功耗和性能要求较高的应用领域。

ARM处理器的家族主要包括ARM7、ARM9、ARM11、Cortex-A、Cortex-B、Cortex-M等系列。其中,Cortex系列是ARM公司近年来主推的系列,其A系列应用于高性能领域,B系列应用于可靠性领域,M系列应用于微控制器领域。

ARM处理器在智能手机市场上占据主导地位,全球超过90%的智能手机和平板电脑都使用ARM处理器。此外,ARM处理器还在嵌入式系统、物联网、云计算、服务器等领域得到广泛应用。

6. 基于ARM架构处理器的片上系统(Soc)

> 基于ARM架构处理器的片上系统(Soc)是一种高度集成的芯片,将多个处理器和其他功能集成在一个芯片上,形成了一个完整的系统。这种系统基于ARM指令集架构,通常包括一个或多个ARM处理器核心,以及其他相关的硬件和软件组件。

一个典型的基于ARM的Soc系统通常包括以下主要部件:

  1. ARM处理器核心:这是Soc系统的核心,负责执行指令和数据处理。不同的ARM处理器核心具有不同的性能和功能,可以根据应用需求进行选择。
  2. 内存:包括RAM和ROM,用于存储指令和数据。在Soc系统中,内存通常被集成在芯片内部。
  3. 外围设备:例如I/O接口、串口、USB接口、网络接口、传感器等,这些设备与处理器核心通过总线相连,扩展了系统的功能。
  4. 时钟和复位电路:用于提供系统时钟信号和复位信号,确保系统正常运行。
  5. 电源管理:用于管理芯片各个部分的电源,降低功耗,延长电池寿命。
  6. 软件:包括操作系统、驱动程序和应用软件等,用于控制和管理Soc系统的硬件资源和应用程序的运行。
>基于ARM的Soc系统具有高度集成、低功耗、高性能等优点,广泛应用于智能手机、平板电脑、物联网、嵌入式系统等领域。一些知名的基于ARM的Soc处理器包括Apple的A系列芯片、高通骁龙系列、华为麒麟系列等。

ARM处理器分类

1)ARM经典处理器

ARM经典处理器主要分为ARM7、ARM9、ARM11三个系列。每个系列都有不同的处理器内核,用于满足不同的性能和功耗需求。
1. ARM7系列:ARM7系列是ARM最早的处理器系列,采用32位指令集,包括ARM7TDMI、ARM7TDMIS、ARM7EJ-S等子系列。主要应用于嵌入式系统、移动设备、音频处理、网络设备等领域。
2. ARM9系列:ARM9系列采用高性能的ARMv5指令集,包括ARM920T、ARM940T、ARM966J等子系列。主要应用于微控制器、数字信号处理、网络设备、智能手机等领域。
3. ARM11系列:ARM11系列采用高性能的ARMv6指令集,包括ARM1136JS、ARM1156T2S等子系列。主要应用于高性能处理器、网络设备、移动设备等领域。
此外,ARM还推出了Cortex-A系列和Cortex-R系列处理器,以满足不同领域的需求。

2)ARM Cortex应用处理器

ARM Cortex应用处理器是ARM公司推出的高性能处理器系列,主要面向基于虚拟内存的操作系统和用户应用。这个系列处理器采用了ARMv7指令集,并分为A、R和M三类,以满足不同应用的需求。
>Cortex-A系列处理器主要包括Cortex-A5、Cortex-A7、Cortex-A8、Cortex-A9、Cortex-A15等多个子系列。这些处理器适用于Android、iOS等操作系统,以及Web应用、游戏等用户应用。
>Cortex-R系列处理器主要应用于实时系统,包括Cortex-R4、Cortex-R5、Cortex-R7等多个子系列。这些处理器适用于汽车制动系统、动力传动解决方案等实时应用。
>Cortex-M系列处理器主要应用于微控制器,包括Cortex-M0、Cortex-M0+、Cortex-M3、Cortex-M4等多个子系列。这些处理器适用于智能测量、人机接口设备、汽车和工业控制系统等嵌入式应用。
ARM Cortex应用处理器具有高性能、低功耗、可扩展等优点,适用于各种不同的应用领域。同时,ARM公司提供了完整的开发工具和支持,帮助开发者快速开发出高效的嵌入式系统。

3)ARM Cortex嵌入式处理器

ARM Cortex嵌入式处理器是ARM公司推出的适用于嵌入式系统的处理器系列。这个系列处理器采用了ARMv7指令集或者ARMv8指令集(64位),并分为Cortex-M、Cortex-R和Cortex-A三个系列,以满足不同应用的需求。
>Cortex-A系列处理器主要包括Cortex-A5、Cortex-A7、Cortex-A8、Cortex-A9、Cortex-A15等多个子系列。这些处理器适用于Android、iOS等操作系统,以及Web应用、游戏等用户应用。
>Cortex-R系列处理器主要应用于实时系统,包括Cortex-R4、Cortex-R5、Cortex-R7等多个子系列。这些处理器适用于汽车制动系统、动力传动解决方案等实时应用。
>Cortex-M系列处理器主要应用于微控制器,包括Cortex-M0、Cortex-M0+、Cortex-M3、Cortex-M4等多个子系列。这些处理器适用于智能测量、人机接口设备、汽车和工业控制系统等嵌入式应用。
ARM Cortex嵌入式处理器具有高性能、低功耗、可扩展等优点,适用于各种不同的嵌入式应用领域。同时,ARM公司提供了完整的开发工具和支持,帮助开发者快速开发出高效的嵌入式系统。

4)ARM 专业处理器

ARM 专业处理器是 ARM 处理器的一种特殊类型,专门针对特定领域的计算需求进行优化。以下是一些 ARM 专业处理器的介绍:
1. ARM Cortex-A78:这是 ARM 最新的旗舰处理器,针对高端智能手机和平板电脑设计。它基于 ARMv8.2 架构,配备 64 位指令集和 16 位可选指令集扩展,具有高性能和低功耗的特点。
2. ARM Cortex-X1:这是 ARM 推出的全新高性能处理器,针对高端智能手机、平板电脑和游戏设备。它基于 ARMv8.5 架构,配备 64 位指令集和 16 位可选指令集扩展,旨在提供更高的性能和效率。
3. ARM Cortex-A55:这是 ARM 的中端处理器,针对智能手机、平板电脑和物联网设备。它基于 ARMv8.2 架构,配备 64 位指令集和 16 位可选指令集扩展,具有高性能和低功耗的特点。
4. ARM Cortex-A35:这是 ARM 的低功耗处理器,针对物联网设备和可穿戴设备。它基于 ARMv8.2 架构,配备 64 位指令集和 16 位可选指令集扩展,旨在提供最佳能效比。
5. ARM Cortex-A73:这是 ARM 的高端处理器,针对高端智能手机和平板电脑。它基于 ARMv8.2 架构,配备 64 位指令集和 16 位可选指令集扩展,具有高性能和低功耗的特点。
ARM 专业处理器针对不同领域的需求进行优化,以满足高性能、低功耗和高效能的要求。这些处理器广泛应用于智能手机、平板电脑、物联网、汽车电子、服务器等领域。

ARM架构服务器优势:

1. 更低的综合运营成本
2. 端-边-云 全场景同构互联与重构
3. 更高并发处理效率
4. 开放的生态系统、多元化的市场供应

ARM服务器的兴起

  1. 亚马逊的Graviton与EC2(弹性计算云)
  2. Marvell/Cavium公司的ThunderX系列 服务器处理器
  3. Ampere公司的eMAG/Altra系列服务器处理器
  4. 飞腾公司FT2000+系列服务器处理器
相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
目录
相关文章
|
6天前
|
敏捷开发 数据可视化 物联网
云效产品使用常见问题之用ARM架构的机器意义不知道如何解决
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
1月前
|
存储 机器学习/深度学习 并行计算
阿里云服务器X86计算、Arm计算、GPU/FPGA/ASIC、高性能计算架构区别
在我们选购阿里云服务器的时候,云服务器架构有X86计算、ARM计算、GPU/FPGA/ASIC、弹性裸金属服务器、高性能计算可选,有的用户并不清楚他们之间有何区别,本文主要简单介绍下不同类型的云服务器有何不同,主要特点及适用场景有哪些。
阿里云服务器X86计算、Arm计算、GPU/FPGA/ASIC、高性能计算架构区别
|
1月前
|
存储 缓存 安全
【ARM架构】ARMv8-A 系统中的安全架构概述
【ARM架构】ARMv8-A 系统中的安全架构概述
32 0
|
1月前
|
存储 机器学习/深度学习 人工智能
嵌入式中一文搞懂ARM处理器架构
嵌入式中一文搞懂ARM处理器架构
38 1
|
1月前
|
弹性计算 Java 关系型数据库
ARM架构和避坑指南|开发者分享会
今天分享的内容来自阿里云倚天ECS高级架构师张先国的“ARM架构和避坑指南”。本文内容主要从ARM架构、C和Java如何避坑 、等方面详细讲解。
|
1月前
|
Ubuntu JavaScript 关系型数据库
在阿里云Ubuntu 20.04服务器中搭建一个 Ghost 博客
在阿里云Ubuntu 20.04服务器上部署Ghost博客的步骤包括创建新用户、安装Nginx、MySQL和Node.js 18.x。首先,通过`adduser`命令创建非root用户,然后安装Nginx和MySQL。接着,设置Node.js环境,下载Nodesource GPG密钥并安装Node.js 18.x。之后,使用`npm`安装Ghost-CLI,创建Ghost安装目录并进行安装。配置过程中需提供博客URL、数据库连接信息等。最后,测试访问前台首页和后台管理页面。确保DNS设置正确,并根据提示完成Ghost博客的配置。
在阿里云Ubuntu 20.04服务器中搭建一个 Ghost 博客
|
1月前
|
存储 弹性计算 数据可视化
要将ECS中的文件直接传输到阿里云网盘与相册(
【2月更文挑战第31天】要将ECS中的文件直接传输到阿里云网盘与相册(
420 4
|
1月前
|
SQL 弹性计算 安全
购买阿里云活动内云服务器之后设置密码、安全组、增加带宽、挂载云盘教程
当我们通过阿里云的活动购买完云服务器之后,并不是立马就能使用了,还需要我们设置云服务器密码,配置安全组等基本操作之后才能使用,有的用户还需要购买并挂载数据盘到云服务器上,很多新手用户由于是初次使用阿里云服务器,因此并不知道这些设置的操作流程,下面给大家介绍下这些设置的具体操作流程。
购买阿里云活动内云服务器之后设置密码、安全组、增加带宽、挂载云盘教程
|
22天前
|
弹性计算
阿里云ECS使用体验
在申请高校学生免费体验阿里云ECS云服务器后的一些使用体验和感受。
|
1月前
|
弹性计算
阿里云3M带宽云服务器并发多大?阿里云3M带宽云服务器测评参考
在探讨云服务器3M带宽能支持多大并发这一问题时,我们首先要明白一个关键点:并发量并非仅由带宽决定,还与网站本身的大小密切相关。一般来说,一个优化良好的普通网站页面大小可能只有几K,为便于计算,我们可以暂且假定每个页面大小为50K。
822 1