X86 CPU架构

ARM CPU架构

内核版本

Linux-6.1.5

ARM64

boot

内核启动引导相关操作。

编译输出Image Image.bz2 Image.gz Image.lz4 Image.lzma Image.lzo Image.zst

dts

ARM64在boot阶段,上来就是设备树。已经包含主板厂商33家,令人惊讶的是intel、amd也在列,actions 、apm也是主板厂商。

allwinner  amazon     amlogic    apple      bitmain    cavium     freescale  intel      marvell    microchip  nvidia     realtek    rockchip   sprd       tesla      toshiba

actions    altera     amd        apm        arm        broadcom   exynos     hisilicon  lg         mediatek   nuvoton    qcom       renesas    socionext  synaptics  ti         xilinx

actions

s700  s900

allwinner

sun50i系列

a64  a100  h5  h6  h616

altera

socfpga

amazon

alpine

amd

overdrive b0 b1

amlogic

meson系列

a1  axg  g12  g12a  g12b  gx  gxbb  gxl  gxm  khadas  s4  sm1

apm

merlin  mustang

apple

t8103系列

j274  j293  j313  j456  j457

arm

corstone1000  foundation-v8  fvp  juno  rtsm  vexpress

bitmain

bm1880

broadcom

bcm2711  bcm2837

cavium

thunder  thunder2

crypto

aes  chacha  crct10dif  ghash  nh  nhpoly1305  poly1305  sha1  sha3  sha256  sha512  sm3  sm4

加密算法种类与X86比较要少。

ARM

面上来看,AARCH32架构接入和获得授权的厂商要远多于ARRCH64,AARCH32有66个厂商。

mach-actions

mach-airoha

mach-alpine

mach-artpec

mach-asm9260

mach-aspeed

mach-at91

mach-axxia

mach-bcm

mach-berlin

mach-clps711x

mach-cns3xxx

mach-davinci

mach-digicolor

mach-dove

mach-ep93xx

mach-exynos

mach-footbridge

mach-gemini

mach-highbank

mach-hisi

mach-hpe

mach-imx

mach-iop32x

mach-ixp4xx

mach-keystone

mach-lpc18xx

mach-lpc32xx

mach-mediatek

mach-meson

mach-milbeaut

mach-mmp

mach-moxart

mach-mstar

mach-mv78xx0

mach-mvebu

mach-mxs

mach-nomadik

mach-npcm

mach-nspire

mach-omap1

mach-omap2

mach-orion5x

mach-oxnas

mach-pxa

mach-qcom

mach-rda

mach-realtek

mach-rockchip

mach-rpc

mach-s3c

mach-s5pv210

mach-sa1100

mach-shmobile

mach-socfpga

mach-spear

mach-sti

mach-stm32

mach-sunplus

mach-sunxi

mach-tegra

mach-uniphier

mach-ux500

mach-versatile

mach-vt8500

mach-zynq

boot

编译输出:Image zImage xipImage bootpImage uImage

bootp

系统引导。

compressed

Linux压缩内核运行自解压。

dts

是个大杂烩,所有厂商混放在一起。

crypto

aes  blake2b  blake2s  chacha  crc32  crct10dif  curve25519  ghash  nh  nhpoly1305  poly1305  sha1  sha2  sha256  sha512

加密算法,AARCH32与AARCH64对比,AARCH64淘汰了部分算法,也引入了一些新的算法。

架构演进

ARMv1:这是最早的ARM架构版本,于1985年发布。它采用了32位指令集,设计初衷是用于低功耗嵌入式系统。

ARMv2:于1986年发布,对ARMv1进行了一些改进和扩展。

ARMv3:于1991年发布,引入了Thumb指令集,该指令集可以提供更高的代码密度,适用于内存有限的设备。

ARMv4:于1994年发布,增加了一些新指令和功能,并进一步优化了性能。

ARMv5:于1997年发布,引入了一些重要的更新,包括Jazelle技术(用于Java加速)和TrustZone安全扩展。

ARMv6:于2002年发布,重点是针对低成本、低功耗设备的优化。其中,ARMv6-M是专为嵌入式微控制器设计的版本,而ARMv6T2则引入了Thumb-2指令集。

ARMv7:于2005年发布,是一个重要的里程碑,具备了多核处理、虚拟化和大型内存等特性。其中,ARMv7-A用于应用程序处理器,ARMv7-R用于实时处理器,ARMv7-M用于微控制器。

ARMv8:于2011年发布,引入了64位指令集(AArch64),同时兼容32位指令集(AArch32)。ARMv8-A适用于应用程序处理器,ARMv8-R用于实时处理器,ARMv8-M则用于微控制器。

ARMv9:这是最新发布的ARM架构版本(截至2023年3月1日)。详细信息尚不可用。

AMBA总线

ARM AMBA(Advanced Microcontroller Bus Architecture)是一种开放的总线架构,由英国ARM公司推出,旨在为SoC(System-on-Chip)设计提供一种高效、灵活和可扩展的通信接口标准。AMBA总线架构定义了不同组件之间的连接和通信方式,包括处理器核、外设、存储器和其他硬件模块。

AMBA总线架构主要包含以下三个重要的总线协议:

1. AMBA Advanced High-performance Bus (AHB):AHB是AMBA总线架构中最常用的总线协议之一,用于连接高性能的处理器与其他系统组件,如DMA控制器、缓存等。它支持多主机和多从机的配置,并且具有高带宽、低延迟的特点。

2. AMBA Advanced Peripheral Bus (APB):APB是一种低功耗、低复杂性的总线协议,用于连接辅助外设,如GPIO(通用输入输出)、定时器等。相比于AHB,APB的传输速度较慢,适用于对实时性要求较低的外设。

3. AMBA AXI (Advanced eXtensible Interface):AXI是AMBA总线架构中引入的最新总线协议,用于连接高性能、高带宽的外设。它支持多主机和多从机的配置,具有高度可扩展性和灵活性。AXI总线协议采用了流水线架构,可以同时传输地址、数据和控制信息,以提高系统性能。

通过使用AMBA总线架构,SoC设计人员可以将不同的系统组件连接起来,实现高效的通信和协作。AMBA总线架构的灵活性和可扩展性使得它在嵌入式系统领域广泛应用,为SoC设计带来了便利和效率。

ARM CPU应用领域

ARMv6是经典ARM架构向cortex转变的过渡期,在ARMv7正式完成转变,针对嵌入式领域划分Cortex-M、Cortex-R,应用领域划分Cortex-A。

ARM处理器与架构关系

比较惹人注意的是ARMv6到ARMv7,从经典ARM系列到Cortex系列。ARMv7到ARMv8,从AARCH32(ARM32)到AARCH64(ARM64),指令集大版本迭代,断崖式,基本属于两个不同架构。

设备树

DTS DTSI DTB

关键字:dts  dtsi  dtb

DTS(Device Tree Source)是一种用于描述硬件设备的数据结构和源文件格式。它被广泛应用于嵌入式系统中,特别是在Linux内核中,用于描述硬件设备的配置和属性信息。

DTSI(Device Tree Source Include)是DTS源文件的包含文件,它主要用于定义通用的设备节点,可以在多个DTS文件中共享使用。通过使用DTSI文件,可以实现设备树的模块化和复用。

DTB(Device Tree Blob)是经过编译和压缩后的二进制设备树文件。在Linux启动过程中,Bootloader会加载DTB文件并将其传递给内核,以便内核能够获取硬件设备的配置信息。DTB文件包含了设备树的层次结构、设备节点的属性和寄存器信息等。

总结起来,DTS是一种源文件格式,用于描述硬件设备的配置和属性信息;DTSI是DTS源文件的包含文件,用于定义通用的设备节点;DTB是经过编译和压缩的二进制设备树文件,用于在Linux内核中传递硬件设备的配置信息。这些文件在嵌入式系统中起着关键的作用,帮助操作系统正确地识别和配置硬件设备。

应用范围

从软件上来说u-boot、linux都在支持设备树机制。主要应用在精简指令集范畴,在所有芯片架构当中,复杂指令集只在X86系列或X86体系的衍生物,IA64是X86的衍生物,其它都是精简指令集。

精简指令集

下属罗列的CPU架构总共20种,少量可能不属于精简指令集。

alpha

arc

arm

arm64

csky

hexagon

loongarch

m68k

microblaze

mips

nios2

openrisc

parisc

powerpc

riscv

s390

sh

sparc

um

xtensa

复杂指令集

ia64

x86

应用架构

查看Linux内核中CPU架构对DTS的支持情况。

据统计支持DTS的CPU架构包含14个,覆盖绝大部分采用精简指令集的CPU架构:

arc

arm

arm64

xtensa

x86

sh

riscv

powerpc

openrisc

nios2

mips

microblaze

loongarch

csky

x86架构也支持DTS,x86主要通过PCI/PCI-E控制,但特性很弱,约等于没有。

Cortex

Cortex-M3/M4

Cortex系列经典M3/M4总线架构。

Cortex-A9

Cortex-A9是ARMv7。

Cortex-A53

Cortex-A53是ARMv8。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值