ARM、ARM架构、ARM架构芯片

ARM是一种基于精简指令集(RISC)的处理器架构,它由英国的ARM公司设计和授权

ARM芯片具有低功耗、高性能、高集成度等特点,广泛应用于嵌入式系统、移动设备、物联网、服务器等领域。本文将介绍ARM的各类芯片,包括其特点、分类、代表产品和最新动态。

在这里插入图片描述

文章目录

  • 一、常见处理器架构
  • 二、ARM 芯片的特点
  • 三、ARM芯片的分类
    • 3.1 按架构版本分类
    • 3.2 按核心类型分类
    • 3.3 按应用领域分类
  • 四、ARM芯片的代表产品
  • 五、ARM芯片的最新动态
  • 六、Sample
    • 6.1 Apple
      • 6.1 A 系列
      • 6.2 M 系列
    • 6.2 STM32 系列

一、常见处理器架构

处理器架构指的是处理器的内部结构和功能,也就是处理器如何执行指令和数据的方式。不同的处理器架构有不同的指令集,也就是处理器能够理解和执行的基本操作。处理器架构对于处理器的性能、功耗、兼容性等方面有重要的影响。

常见的架构有x86、ARM、RISC-V和MIPS。

  • X86:这是英特尔和AMD的“专属”架构,主要用于PC、服务器和云计算领域,拥有高性能、高速度和高兼容性的优势。在PC市场上,X86架构几乎独霸多年,占据了超过90%的份额。在服务器市场上,X86架构也占据了约80%的份额,但近年来受到ARM和RISC-V等架构的挑战。
  • ARM:这是一种低功耗、低成本的架构,主要用于移动设备、物联网、嵌入式系统和边缘计算领域,拥有节能、灵活和可定制的优势。在移动设备市场上,ARM架构占据了绝对优势,几乎所有的智能手机、平板电脑和智能手表都使用了基于ARM的芯片。在物联网市场上,ARM架构也占据了约70%的份额,成为最受欢迎的架构之一。
  • RISC-V:这是一种开源、模块化、可扩展的架构,主要用于人工智能、机器学习、智能穿戴和工业控制等领域,拥有开放、简单和易于移植的优势。RISC-V架构是近年来崛起的新星,受到了许多芯片公司和技术巨头的青睐。在人工智能市场上,RISC-V架构预计将占据约20%的份额,在智能穿戴市场上,RISC-V架构预计将占据约10%的份额。
  • MIPS:这是一种简洁、优化、高拓展性的架构,主要用于网络设备、机顶盒、数字电视和游戏机等领域,拥有高效、稳定和兼容性强的优势。MIPS架构是一种历史悠久的架构,曾经在网络设备市场上占据了较高的份额,但近年来受到了ARM和RISC-V等架构的冲击。在网络设备市场上,MIPS架构预计将占据约10%的份额,在机顶盒市场上,MIPS架构预计将占据约5%的份额。
架构指令集类型优势劣势应用领域代表芯片
x86CISC(复杂指令集)计算性能强,兼容性好,生态成熟功耗高,指令集封闭,授权限制PC和服务器Intel Core i9, AMD Ryzen 9
ARMRISC(精简指令集)功耗低,架构灵活,授权模式多样计算性能弱,授权费用高,受美国制裁影响移动设备和嵌入式系统Apple M1, Qualcomm Snapdragon 888
RISC-VRISC(精简指令集)开源免费,架构模块化,自主研发空间大生态不完善,技术不成熟,缺乏商业支持物联网和边缘计算SiFive Freedom U740, Alibaba XuanTie C910
MIPSRISC(精简指令集)简洁,优化方便,高拓展性市场份额小,竞争力不足,生态落后网关、机顶盒等市场上非常受欢迎龙芯3A5000, Loongson 3A4000

除了上述常见的架构,还有一些其他的架构,比如国产的csky,它是由杭州中天微系统有限公司开发的,主要用于嵌入式系统和物联网领域,它也是RISC-V的一个分支,支持RISC-V的基本指令集和扩展指令集。我用过使用这种架构的芯片:w800

二、ARM 芯片的特点

ARM芯片的主要特点有以下几点:

  • 精简指令集:ARM芯片使用精简指令集,即每条指令只完成一项简单的操作,从而提高指令的执行效率和处理器的性能。相比之下,复杂指令集(CISC)的指令可以完成多项复杂的操作,但是需要更多的硬件资源和执行时间。
  • 负载/存储架构:ARM芯片使用负载/存储架构,即只有专门的负载和存储指令可以访问内存,其他指令只能在寄存器之间进行操作。这样可以减少内存访问的次数和延迟,提高数据处理的速度。相比之下,寄存器/内存架构的处理器可以直接在内存和寄存器之间进行操作,但是会增加内存访问的开销。
  • 统一寄存器文件:ARM芯片使用统一寄存器文件,即所有的通用寄存器都可以用于任何目的,没有专门的数据寄存器或地址寄存器。这样可以提高寄存器的利用率和灵活性,减少数据移动的开销。相比之下,分段寄存器文件的处理器需要区分不同类型的寄存器,并进行相应的转换。
  • 条件执行:ARM芯片支持条件执行,即每条指令都可以根据一个条件码来决定是否执行。这样可以减少分支指令的使用,提高代码密度和流水线效率。相比之下,非条件执行的处理器需要使用专门的分支指令来实现条件跳转。
  • 多种工作模式:ARM芯片支持多种工作模式,例如用户模式、系统模式、管理模式、中断模式、异常模式等。不同的工作模式有不同的权限和功能,可以实现不同级别的任务切换和异常处理。相比之下,单一工作模式的处理器需要使用软件来模拟多任务和异常处理。

三、ARM芯片的分类

ARM芯片可以根据其架构版本、核心类型、应用领域等方面进行分类。以下是常见的分类方法:

3.1 按架构版本分类

ARM架构从最早的ARMv1到最新的ARMv9,经历了多次升级和改进,增加了许多新的特性和功能。不同版本的ARM架构有不同的指令集、寄存器、异常模型等。例如,ARMv7引入了Thumb-2指令集和NEON向量扩展,ARMv8引入了64位支持和AES加密扩展,ARMv9引入了可信执行环境和标量扩展等。

版本发布年份指令集类型主要特点代表芯片
ARMv1198532位RISC支持26位地址空间,可寻址64MB内存,有16个32位寄存器,支持条件执行和异常处理ARM1
ARMv2198732位RISC增加了乘法指令和协处理器接口,支持浮点运算和内存管理单元(MMU)ARM2
ARMv3198932位RISC扩展了地址空间到32位,可寻址4GB内存,增加了Thumb指令集,提高了代码密度和性能ARM6
ARMv4199332位RISC增加了ARM/Thumb交叉切换模式,支持大端和小端模式,增加了DSP扩展指令和快速乘累加指令(MLA)ARM7TDMI
ARMv5199732位RISC增加了增强型DSP扩展指令(E)和Java字节码加速指令(J),支持信号处理和嵌入式Java应用,增加了状态转移模型(T2)和信任区域扩展(TE)ARM9E
ARMv6200232位RISC增加了SIMD媒体扩展指令(M),支持多媒体和图形处理,增加了无需MMU的硬件分页机制(P),支持大型物理地址扩展(LPAE),增加了向量浮点运算单元(VFP)ARM11
ARMv7200532位RISC增加了高级SIMD扩展指令(NEON),支持高性能的多媒体和科学计算,增加了安全扩展(S),支持可信执行环境(TEE),增加了超标量双发射架构(Cortex-A8)和多核架构(Cortex-A9)Cortex-A8/A9/A15/A17
ARMv8201164位RISC增加了64位数据处理和寻址能力,支持128位浮点数和SIMD运算,增加了一致性内存模型(RCU),支持虚拟化扩展(V),增加了可选的循环冗余校验指令(CRC)和原子操作指令(A)Cortex-A53/A57/A72/A73/A75/A76
ARMv9202164位RISC增加了安全性能提升方案(SPS),支持动态实时防护内存区域,增加了实时计算框架(RCF),支持低延迟、高吞吐量的实时应用,增加了标量浮点扩展指令(SVE/SVE2),支持高性能的AI和HPC计算,增加了虚拟化主机扩展(VHE)和嵌套虚拟化扩展(NV)骁龙8 Gen 1, 天玑9000

3.2 按核心类型分类

ARM核心是指实现了某个版本ARM架构的具体处理器设计,它由ARM公司设计并授权给其他厂商生产。不同类型的ARM核心有不同的性能、功耗、面积等。例如,Cortex-A系列是针对高性能应用的核心,Cortex-R系列是针对实时应用的核心,Cortex-M系列是针对微控制器应用的核心等。

系列应用领域特点代表芯片
Cortex-A高性能应用处理器,如智能手机、平板电脑、服务器等支持32位或64位指令集,支持虚拟化和安全扩展,支持多核和大规模集成,支持高级SIMD和浮点运算,支持动态频率和电压调节Cortex-A5/A7/A8/A9/A12/A15/A17/A32/A35/A53/A55/
A57/A65/A72/A73/A75/A76/A77/A78/A510
Cortex-R实时处理器,如硬盘控制器、汽车传动系统、无线通信基带等支持32位指令集,支持安全扩展,支持双核和锁步模式,支持错误校正码(ECC)和物理地址扩展(LPAE),支持高效的中断处理和内存保护Cortex-R4/R5/R7/R8/R52
Cortex-M微控制器处理器,如传感器、可穿戴设备、物联网设备等支持16位或32位指令集,支持低功耗模式,支持嵌套向量中断控制器(NVIC),支持可选的浮点运算单元(FPU)和数字信号处理(DSP)扩展,支持可信执行环境(TEE)和物理不可克隆函数(PUF)等Cortex-M0/M0+/M1/M3/M4/
M7/M23/M33/M35P/M55

3.3 按应用领域分类

ARM芯片可以根据其应用领域的不同,分为不同的系列和产品。

例如,STM32系列是基于Cortex-M核心的微控制器芯片,适用于各种嵌入式系统;Snapdragon系列是基于Cortex-A核心的应用处理器芯片,适用于各种移动设备;ThunderX系列是基于Cortex-A核心的服务器处理器芯片,适用于各种云计算和大数据场景等。

四、ARM芯片的代表产品

ARM芯片有许多代表产品,以下是一些常见的例子:

  • STM32F103:这是一款基于Cortex-M3核心的微控制器芯片,它具有72MHz的主频、64KB~512KB的闪存、20KB的SRAM、多种通信接口和外设等。它适用于各种工业控制、消费电子、物联网等领域。

在这里插入图片描述

  • Raspberry Pi 4:这是一款基于Cortex-A72核心的单板计算机,它具有1.5GHz的主频、2GB~8GB的内存、双频Wi-Fi、蓝牙5.0、千兆网口、两个HDMI接口等。它适用于各种教育、创客、媒体中心等场景。
    在这里插入图片描述

  • Apple M1:这是一款基于自定义ARMv8.4架构的应用处理器芯片,它具有8个CPU核心(4个高性能核心和4个高效能核心)、8个或16个GPU核心、16个神经网络加速器核心、8GB或16GB的内存、高速缓存和安全模块等。它适用于苹果公司的IPad、MacBook Air、MacBook Pro、Mac mini和iMac等产品。
    在这里插入图片描述

  • Ampere Altra:这是一款基于Neoverse N1架构的服务器处理器芯片,它具有80个CPU核心(每个核心都可以运行在3GHz)、64MB的L3缓存、128个PCIe 4.0通道、8个内存通道(支持DDR4-3200)等。它适用于各种云计算、边缘计算、高性能计算等场景。
    在这里插入图片描述

五、ARM芯片的最新动态

ARM芯片在不断地发展和创新:

  • 2021年3月,ARM公司发布了ARMv9架构,这是ARM架构十年来的第一次重大升级。ARMv9架构增加了许多新的特性和功能,例如可信执行环境(TEE)、标量扩展(SVE)、实时扩展(RTE)、内存标签扩展(MTE)等。ARMv9架构旨在提高安全性、性能和人工智能能力,满足未来十年的需求。
    在这里插入图片描述

  • 2021年4月,英伟达公司宣布推出Grace CPU,这是一款基于Arm Neoverse V2架构的服务器处理器芯片,它具有高达300个CPU核心、512GB的LPDDR5x内存、900GB/s的NVLink-C2C带宽、600GB/s的PCIe 5.0带宽等。它适用于各种大规模的AI和HPC应用,例如自然语言处理、推荐系统、超级计算等。
    在这里插入图片描述

  • 2021年6月,三星电子公司发布了Exynos 2100,这是一款基于Cortex-X1核心的应用处理器芯片,它具有8个CPU核心(1个Cortex-X1、3个Cortex-A78和4个Cortex-A55)、14个GPU核心(Mali-G78)、3个NPU核心(神经网络处理器)、16GB的LPDDR5内存、6.7GB/s的UFS 3.1存储等。它适用于各种高端的智能手机和平板电脑等产品。
    在这里插入图片描述

  • 2021年7月,华为公司发布了鲲鹏920,这是一款基于自主研发的鲲鹏架构的服务器处理器芯片,它具有64个CPU核心(每个核心都可以运行在2.6GHz)、8个内存通道(支持DDR4-2933)、40个PCIe 4.0通道、100Gb RoCEv2网络接口等。它适用于各种云计算、边缘计算、大数据分析等场景。
    在这里插入图片描述

  • 2023年1月,高通公司发布了Nuvia CPU,这是一款基于Armv9架构的应用处理器芯片,它具有16个CPU核心(每个核心都可以运行在3.5GHz)、32MB的L3缓存、256GB的LPDDR5x内存、1200GB/s的NVLink-C2C带宽、800GB/s的PCIe 5.0带宽等。它适用于各种高性能的移动设备和笔记本电脑等产品。
    在这里插入图片描述

六、Sample

6.1 Apple

6.1 A 系列

芯片发布年份设备CPU 架构CPU 核心数GPU 核心数工艺制程
A42010iPad (第一代)、iPhone 4、iPod touch (第四代)、Apple TV (第二代)ARM Cortex-A81145 nm
A52011iPad 2、iPhone 4S、iPod touch (第五代)、iPad Mini (第一代)、Apple TV (第三代)ARM Cortex-A92245 nm / 32 nm
A5X2012iPad (第三代)ARM Cortex-A92445 nm
A62012iPhone 5、iPhone 5CApple Swift (ARMv7s)2332 nm
A6X2012iPad (第四代)Apple Swift (ARMv7s)2432 nm
A72013iPhone 5S、iPad Air (第一代)、iPad Mini 2、iPad Mini 3Apple Cyclone (ARMv8-A)24 / 6 / 8 /10 /12 /16 /20 /24 /28 /32 /36 /40 /44 /48 /52 /56 /60 /64 /68 /72 /76 /80 /84 /88 /92 /96 /100 /104 /108 /112 /116 /120 /124 /128 nm
A82014iPhone 6、iPhone 6 Plus、iPod touch (第六代)、iPad Mini 4、Apple TV HD、HomePodApple Typhoon (ARMv8-A)24/6/8/10/12/16/20/24/28/32/36/40/44/48/52/56/60/64 nm
A8X2014iPad Air 2Apple Typhoon (ARMv8-A)3820 nm
A92015iPhone 6S、iPhone 6S Plus、iPhone SE (第一代)、iPad (第五代)Apple Twister (ARMv8-A)2614 nm
A9X2015iPad Pro (12.9-inch) (第一代)、iPad Pro (9.7-inch)Apple Twister (ARMv8-A)21216 nm
A10 Fusion2016iPhone 7、iPhone 7 Plus、iPad (第六代)、iPad (第七代)、iPod touch (第七代)Apple Hurricane + Zephyr (ARMv8-A)4(2+2)616 nm
A10X Fusion2017iPad Pro (10.5-inch)、iPad Pro (12.9-inch) (第二代)、Apple TV 4KApple Hurricane + Zephyr (ARMv8-A)6(3+3)1210 nm
A11 Bionic2017iPhone 8、iPhone 8 Plus、iPhone XApple Monsoon + Mistral (ARMv8-A)6(2+4)310 nm
A12 Bionic2018iPhone XS、iPhone XS Max、iPhone XR、iPad Air (第三代)、iPad Mini (第五代)、iPad (第八代)Apple Vortex + Tempest (ARMv8-A)6(2+4)47 nm
A12X Bionic2018iPad Pro (11-inch) (第一代)、iPad Pro (12.9-inch) (第三代)Apple Vortex + Tempest (ARMv8-A)8(4+4)77 nm
A12Z Bionic2020iPad Pro (11-inch) (第二代)、iPad Pro (12.9-inch) (第四代)Apple Vortex + Tempest (ARMv8-A)8(4+4)87 nm
A13 Bionic2019iPhone 11、iPhone 11 Pro、iPhone 11 Pro Max、iPhone SE (第二代)Apple Lightning + Thunder (ARMv8-A)6(2+4)47 nm
A14 Bionic2020iPad Air (第四代)、iPhone 12、iPhone 12 mini、iPhone 12 Pro、iPhone 12 Pro MaxApple Firestorm + Icestorm (ARMv8-A)6(2+4)45 nm
A15 Bionic2021iPad mini (第六代)、iPhone 13、iPhone 13 mini、iPhone 13 Pro、iPhone 13 Pro MaxApple Firestorm + Icestorm (ARMv8-A)6(2+4) / 5(2+3) / 4(2+2) / 3(1+2) / 2(1+1) / 1(1+0) / 0(0+0)5 / 4 / 3 / 2 / 1 / 05 nm
A16 Bionic2022iphone 14Everest + Sawtooth (ARMv8-A)6(2+4)54nm³

6.2 M 系列

M系列芯片具有高性能、低功耗、高集成度等特点,是苹果公司从英特尔x86架构的处理器芯片转向ARM架构的处理器芯片的重要标志。本文将介绍苹果M系列芯片的各个型号,包括其特点、性能、功能和应用等。

芯片发布时间晶体管数CPU核心数GPU核心数NPU核心数内存容量内存带宽
M12020年11月160亿8 (4+4)7或816最高16GB LPDDR4X68GB/s
M1 Pro2021年10月330亿最高10 (8+2)最高1616最高32GB LPDDR4X200GB/s
M1 Max2021年10月570亿最高10 (8+2)最高3216最高64GB LPDDR4X400GB/s
M1 Ultra2022年3月1140亿最高24 (16+8)最高6432最高128GB LPDDR4X800GB/s
M22022年7月180亿8 (4+4)10或1224最高24GB LPDDR5100GB/s
M2 Pro2022年11月360亿最高10 (8+2)最高2024最高48GB LPDDR5300GB/s
M2 Max2023年1月620亿最高10 (8+2)最高4024最高96GB LPDDR5600GB/s
M2 Ultra2023年6月1340亿最高20 (16+4)最高7632最高192GB LPDDR51200GB/s

在这里插入图片描述
在这里插入图片描述

6.2 STM32 系列

芯片发布时间处理器核心主频内存存储外设
STM32F02011年Cortex-M0最高48MHz最高16KB RAM最高256KB Flash最高32个GPIO,最高7个定时器,最高2个ADC,最高1个DAC,最高2个I2C,最高2个SPI,最高4个USART,最高1个USB 2.0 FS
STM32F12007年Cortex-M3最高72MHz最高96KB RAM最高1MB Flash最高80个GPIO,最高15个定时器,最高3个ADC,最高2个DAC,最高2个I2C,最高3个SPI,最高5个USART,最高1个USB 2.0 FS
STM32F22010年Cortex-M3最高120MHz最高128KB RAM最高1MB Flash最高140个GPIO,最高17个定时器,最高3个ADC,最高2个DAC,最高2个I2C,最高4个SPI,最高6个USART,最高1个USB 2.0 HS/FS
STM32F32011年Cortex-M4 (FPU)最高72MHz最高40KB RAM最高512KB Flash最高114个GPIO,最高18个定时器,最高4个ADC,最高2个DAC,最高3个I2C,最多6个SPI,最多8个USART/UART,最多1个USB 2.0 FS
STM32F42011年Cortex-M4 (FPU)最高180MHz最多256KB RAM最多2MB Flash最多168个GPIO, 最多25个定时器, 最多3个ADC, 最多2个DAC, 最多4个I2C, 最多6个SPI, 最多10个USART/UART, 最多1个USB 2.0 HS/FS
STM32F72015年Cortex-M7 (FPU)最多480MHz最多512KB RAM最多2MB Flash最多176个GPIO, 最多26个定时器, 最多3个ADC, 最多2个DAC, 最多4个I2C, 最多6个SPI, 最多10个USART/UART, 最多1个USB 2.0 HS/FS
STM32H72016年Cortex-M7 (FPU)或Cortex-M4 (FPU)或双核(M7+M4)M7:最多550MHz; M4:最多240MHz; 双核: M7:480MHz; M4:240MHzM7:128KB或512KB或1MB RAM; M4:128KB或240KB RAM; 双核: M7:128KB或512KB或1MB RAM; M4:128KB或240KB RAM; 共享:128KB或512KB RAM
STM32L02015年Cortex-M0+最高32MHz最高20KB RAM最高192KB Flash最高51个GPIO,最高16个定时器,最高2个ADC,最高1个DAC,最高2个I2C,最高3个SPI,最高5个USART/UART,最高1个USB 2.0 FS
STM32L12011年Cortex-M3最高32MHz最高80KB RAM最高512KB Flash最高87个GPIO,最高17个定时器,最高3个ADC,最高2个DAC,最高3个I2C,最高3个SPI,最高5个USART/UART,最高1个USB 2.0 FS
STM32L42016年Cortex-M4 (FPU)最高120MHz最高320KB RAM最高2MB Flash最高114个GPIO,最高24个定时器,最高3个ADC,最高2个DAC,最高4个I2C,最多6个SPI, 最多8个USART/UART, 最多1个USB 2.0 FS
STM32L52019年Cortex-M33 (FPU)最高110MHz最高256KB RAM最高512KB Flash最多114 GPIOs, 最多26 timers, 最多3 ADCs, 最多2 DACs, 最多4 I2Cs, 最多6 SPIs, 最多8 USARTs/UARTs, 最多1 USB 2.0 FS


~

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

卷积神经网络中池化层的详细介绍

卷积神经网络自2012年,到2023年经历了翻天覆地的变化。最早的卷积神经网络由卷积层、池化层和全连接层所构成。其中卷积层用于提取图像的特征,池化层削减特征数量,全连接层用于对特征进行非线性组合并预测类别。然而在transformer横行的年代&…

基于卡尔曼滤波进行四旋翼动力学建模(SimulinkMatlab)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

笔记本电脑介绍:记录生活,激发灵感

笔记本电脑是一种轻便、便携的电脑,它的出现改变了人们的工作和生活方式,它的优势在于它的小巧、轻便、便携性,可以满足用户的不同需求。本文将从笔记本电脑的结构、功能、优势和应用四个方面进行详细阐述。 一、笔记本电脑的结构 笔记本电…

十八、网络基础(一)

文章目录 一、协议(一)前置(二)协议分层1.软件分层2.协议分层3.OSI七层模型4.TCP/IP五层(或四层)模型(1)物理层:(2)数据链路层:(3)数据链路层:(4&…

Golang每日一练(leetDay0104) 最小高度树、戳气球

目录 310. 最小高度树 Minimum Height Trees 🌟🌟 312. 戳气球 Burst Balloons 🌟🌟🌟 🌟 每日一练刷题专栏 🌟 Rust每日一练 专栏 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一…

普通单目相机标定

前言 这里我们还是以普通相机为例(非鱼眼相机)来进行后续的相关标定操作,再回顾下相机的成像模型如下所示。 已知相机内参(fx,fy,u0,v0),畸变系数[k1,k2,k3,p1,p2],相机外参[R|T]。世界坐标系中点Pw(Xw,Yw,Zw),投影至像素坐标系点p(u,v)的计算过程如下。 1)由世…

Qt下使用QPainter实现界面上饼状图、圆环图的绘制

文章目录 前言一、示例讲解二、圆环图绘制步骤三、设置圆环图数据四、示例完整代码五、下载链接总结 前言 前面的文章有讲述使用Qt下的Charts 模块来进行饼图的绘制:QChart实现ui界面上指定位置饼状图、圆环图的绘制,但是使用过程中并不能很好的实现自己…

【LeetCode】动态规划 刷题训练(二)

文章目录 62. 不同路径题目解析状态转移方程完整代码 63. 不同路径 II题目解析状态转移方程完整代码 剑指 Offer 47. 礼物的最大价值题目解析状态转移方程完整代码 62. 不同路径 点击查看:不同路径 一个机器人位于一个 m x n 网格的左上角 (起始点在下图…

数据库架构是否该随着公司估值一起变化?

原文|The growing pains of database architecture 作者|Tim Liang, Software Engineer at Figma 2020 年,因为 Figma 不断加入新功能,筹备第二条产品线和用户不断增长导致数据库流量每年以 3x 速度增长,我们的基础设…

云原生之深入解析Kubernetes中Kubectl Top如何进行资源监控

一、Kubectl top 的使用 kubectl top 是基础命令,但是需要部署配套的组件才能获取到监控值: 1.8 以下:部署 heapter; 1.8 以上:部署 metric-server; kubectl top node:查看 node 的使用情况&a…

【C++】构造函数调用规则

欢迎来到博主 Apeiron 的博客,祝您旅程愉快 !时止则止,时行则行。动静不失其时,其道光明。 1、缘起 (1)默认情况下,C 编译器至少给一个类添加 3 个函数 ① 默认构造函数(无参&#…

开源软件介绍——国内和国际主要开源社区

我是荔园微风,作为一名在IT界整整25年的老兵,今天我们来看一看国内和国际上有哪些主要开源社区。 开源社区的定义 开源社区又称为开放源代码社区,一般由拥有共同兴趣爱好的人组成。根据相应的开源软件许可证协议公布软件源代码的网络平台&a…

ChatGPT从入门到精通,深入认识ChatGPT

ChatGPT从入门到精通,一站式掌握办公自动化/爬虫/数据分析和可视化图表制作 全面AI时代就在转角 道路已经铺好了 “局外人”or“先行者” 就在此刻 等你决定1、ChatGPT从入门到精通,一站式掌握办公自动化/爬虫/数据分析和可视( 点击观看完整版本 )https…

Clickhouse之物化视图分享

前言 ClickHouse广泛用于用户和系统日志查询场景中,主要针对于OLAP场景,为业务方提供稳定高效的查询服务。在业务场景下,数据以不同的格式、途径写入到clickhouse。用传统JOIN方式查询海量数据,通常有如下痛点: 每个查询的代码冗…

CTFshow-pwn入门-前置基础pwn23-pwn25

pwn23-25的题目会涉及到ret2shellcode、ret2libc等内容,本篇文章只会侧重研究这几道题目的wp,不会过多涉及到ret2shellcode、ret2libc的基本原理,等有时间再来写关于ret2libc、ret2shellcode…的相关内容。大家可以参考CTFwiki的文章去慢慢学…

【机器学习】十大算法之一 “SVM”

作者主页:爱笑的男孩。的博客_CSDN博客-深度学习,活动,python领域博主爱笑的男孩。擅长深度学习,活动,python,等方面的知识,爱笑的男孩。关注算法,python,计算机视觉,图像处理,深度学习,pytorch,神经网络,opencv领域.https://blog.csdn.net/Code_and516?typeblog个…

Kubernetes(k8s)部署模式发展

目录 1 简介2 物理单机(~2000)2.1 主要代表 3 虚拟化:初期(2001~2009)3.1 VMware3.2 laaS 4 虚拟化:成熟期(2010~至今)4.1 OpenStack4.2 虚拟化四巨头 5 容器化:(2013-至今)5.1 Dock…

【备战秋招】每日一题:2023.04.26-华为OD机式-第三题-MC方块

在线评测链接:P1231 题目内容 MC最新版本更新了一种特殊的方块,幽匿催发体。这种方块能够吸收生物死亡掉落的经验并感染周围方块,使其变成幽匿块。Steve想要以此为基础尝试搭建一个经验仓库,他来到了创造超平坦模式,在只有草方块…

被测系统架构与数据流分析

开源项目litemall系统架构(https://github.com/linlinjava/litemall) 角色与数据用户产品前端技术栈后端技术栈数据存储 开源项目Mall的系统架构(https://github.com/macrozheng/mall) 角色与数据用户产品前端技术栈后端技术栈服务治理技术栈监控技术栈大数据处理技术栈数据存…

自动化测试工具 AirTest 的使用方法与简介

目录 前言: Airtest简介 1.基于图像识别的Airtest框架 2.基于UI识别的Poco框架 Airtest环境搭建 Airtest布局 Airtest使用步骤 第一步:连接移动设备 第二步:创建一个.air文件(也就是我们的测试脚本) 第三步&#xff1a…
最新文章