艾巴生活网

您现在的位置是:主页>科技 >内容

科技

什么叫arm架构(ARM的技术实现)

2024-01-21 22:02:02科技帅气的蚂蚁
什么是arm架构?ARM架构以前叫高级精简指令集机器(AdvancedRISCMachine)。它是一种32位RISC处理器架构,广泛应用于许多嵌入式系统设计中。

什么叫arm架构(ARM的技术实现)

什么是arm架构?

ARM架构以前叫高级精简指令集机器(AdvancedRISCMachine)。它是一种32位RISC处理器架构,广泛应用于许多嵌入式系统设计中。

由于其节能特性,ARM处理器非常适合应用于移动通信领域,符合其低功耗的主要设计目标。

今天,ARM系列占所有32位嵌入式处理器的75%,使其成为世界上最多的32位架构之一。ARM处理器可以在许多消费电子产品中找到,从便携式设备(PDA、移动电话、多媒体播放器、手持电子游戏和计算机)到计算机外围设备(硬盘、台式路由器),甚至在诸如弹载计算机的军事设施中。还有一些基于ARM设计的衍生产品。重要产品包括Marvell的XScale架构和德州仪器的OMAP系列。

ARM架构图

下图显示了ARM架构图。它由32位ALU、若干个32位通用寄存器、状态寄存器、32个TImes组成;8位乘法器,32倍;32位桶式移位寄存器、指令解码和控制逻辑、指令流水线和数据/地址寄存器。

一个

ALU:

它由两个操作数锁存器、加法器、逻辑函数、结果和零检测逻辑组成。

2

桶形移位寄存器:

ARM采用32倍;32位桶式移位寄存器,可使左移/右移n位、环移n位和算术右移n位全部一次完成。

高速乘法器:

乘法器一般采用“加一移位”的方法实现乘法。为了提高运算速度,ARM采用两位相乘的方法,根据乘法器的两位实现“加一移位”运算。ARM高速乘法器采用32倍;8位结构,这样可以降低集成度(对应的芯片面积不到并行乘法器的1/3)。

浮点组件:

浮点组件用作ARM架构的选项。FPA10浮点加速器作为协处理方式与ARM连接,通过协处理指令的解释来执行。

控制器:

ARM的控制器采用硬线可编程逻辑阵列PLA。

注册:

除用户模式之外的其他六种处理器模式称为特权模式。在这些模式下,程序可以访问所有系统资源,还可以随意切换处理器模式。其中,除系统模式外,其他五种特权模式也称为异常模式。

处理器模式可以通过软件控制、外部中断或异常处理来切换。大多数用户程序在用户模式下运行。此时,应用程序无法访问受操作系统保护的某些系统资源,应用程序也无法直接切换处理器模式。当需要切换处理器模式时,应用程序可以生成异常处理,并在异常处理期间切换模式。这种架构使操作系统能够控制整个系统的资源。

当应用程序异常中断时,处理器进入相应的异常模式。在每种异常模式下,都有一组对应异常处理程序的寄存器,可以保证进入异常模式时,用户模式(保证程序运行状态)下的寄存器不会被破坏。

系统模式不会通过异常进程进入,它拥有与用户模式完全相同的寄存器。但系统模式属于特权模式,可以访问所有系统资源,直接切换处理器模式。它主要用于操作系统任务。通常情况下,操作系统的任务需要访问所有的系统资源,同时任务仍然使用用户态的寄存器组,而不是异常态的对应寄存器组,这样可以保证异常中断发生时,任务的状态不会被破坏。

ARM的技术实现

深入理解ARM的实现原理是一个很大的学习工程。在此,也希望读者看完之后能对ARM有一个大致的了解,并能在以后进一步研究。让我们在ARM组装的基础上开始本章的聊天。

汇编语言是机器代码上的一个薄薄的语法层,由二进制编码的指令组成,我们的计算机可以理解。那么我们为什么不写代码呢?可想而知二进制编码有多痛苦,所以我们就写ARM汇编。

但是计算机本身不能只通过识别机器码来运行汇编代码,所以需要将汇编代码安装到GNUBinutils项目中的GNUAssembler中。一旦你写了一个扩展名为*的程序。s,你需要把它结合起来,和ld链接起来:

从底部看,电路上有一个电信号,是把电压切换成两个电平形成的,比如0伏(关)或者5伏(开)。

因为我们就是不能轻易说出电路电压,所以只能选择用1/0来写开/关模式,然后我们把0和1的顺序分组,形成一个机器码指令,这是计算机处理器的最小工作单元。下面是一个机器语言的例子:

我们知道ARM处理器只能在寄存器上进行数据处理,所以和内存的交互有两种:从内存加载到寄存器和从寄存器存储值到内存,也就是ARM使用加载/存储(LDR和STR)模型进行内存访问。

通常,LDR用于将内存的内容加载到寄存器中,而STR用于将寄存器的内容存储到内存地址中。让我们举一个基本的例子:

乍一看,朋友们可能会感到困惑。这里有一张图来解释ARM是如何与内存交互的:

X86架构工控机和ARM架构工控机

之间的区别

一个

性能:

X86架构的工控机比ARM架构的工控机速度快得多,性能也强得多。ARM的优势在于效率。ARM采用RISC流水线指令集,在完成综合性工作方面处于劣势,但在任务相对固定的应用中可以充分发挥优势。

2

扩展能力:

X86架构的工控机通过“桥”的方式与扩展设备(如硬盘、内存)连接,X86架构的工控机可以很容易地扩展性能,如增加内存、硬盘等。

ARM架构的工控机通过专门的数据接口连接CPU和数据存储设备,很难扩展ARM的存储和内存的性能(一般其内存和数据存储的容量在产品设计的时候就已经设定好了),所以ARM架构的工控机一般不考虑扩展。

操作系统的兼容性:

几乎所有的X86硬件平台都可以直接使用微软的Windows系统以及几乎所有流行的工具和软件,所以X86系统在兼容性上有着无可比拟的优势。

几乎所有的ARM都使用Linux操作系统,几乎所有的硬件系统都要独立构建自己的系统,与其他系统不兼容,这也导致了其应用软件的移植不方便,制约了ARM的开发和应用。Android系统开发之后,基于ARM架构的计算机的操作系统得到了统一,使得新推出的基于ARM架构的计算机系统拥有了统一、开放、免费的操作系统,为ARM的发展提供了强大的支持和动力。

软件开发的便利性和可用工具的多样性;

在软件开发方面,X86架构比ARM架构更容易、更简单、实际成本更低。同时更容易找到第三方软件(省去了自己开发的时间和成本),软件移植更容易。

功耗:

在服务器、工作站等高性能计算等应用中,无论功耗、使用环境等条件如何,X86都具有绝对优势。但是在功耗、环境、任务固定的条件下,ARM有很大的优势。