0
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心
发布
  • 发文章

  • 发资料

  • 发帖

  • 提问

  • 发视频

创作活动

完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>

3天内不再提示

Armv8架构及虚拟化介绍

架构师技术联盟 来源:架构师技术联盟 2023-04-16 10:45 次阅读

0、ARMv8架构

1)ARMv8基本概念

(1)执行状态(execution state):处理器运行时的环境,包括寄存器的位宽、支持的指令集、异常模型、内存管理及编程模型等。ARMv8体系结构定义了两个执行状态:

AArch64:64位的执行状态

提供31个64位的通用寄存器。

提供64位程序计数指针寄存器(Program Counter,PC)、栈指针寄存器(Stack Pointer,SP)及异常链接寄存器(Exception Link Register,ELR)。

提供A64精简指令集。

定义ARMv8异常模型,支持4个异常等级:EL0~EL3。

提供64位的内存模型。

定义一组处理器状态(PSTATE),用来保存PE(Processing Element,处理机)的状态。

AArch32:32位的执行状态

提供13个32位的通用寄存器、PC指针寄存器、SP寄存器、链接寄存器。

支持A32和T32两套指令集。

支持ARMv7-A异常模型。

提供32位的虚拟内存访问机制。

定义一组处理器状态(PSTATE),用来保存PE的状态。

e23429ea-db3c-11ed-bfe3-dac502259ad0.jpg

AArch64状态的异常等级

ARMv8处理器支持两种执行状态:AArch64状态和AArch32状态。其中AArch64状态是ARMv8新增的64位执行状态,该状态下运行A64指令集。AARch32状态是为了兼容ARMv7的32位执行状态,该状态下运行A32指令集或者T32指令集。

AArch64状态的异常等级,决定了处理器当前运行的特权级别,类似于ARMv7中的特权等级。

EL0:用户特权,用于运行普通用户程序。

EL1:系统特权,通常用于操作系统内核,比如linuxrtos。如果系统使能了虚拟化扩展,运行虚拟机操作系统内核。

EL2:运行虚拟化扩展的虚拟机监控器(hypervisor)。

EL3:运行安全世界中的安全监控器(secure monitor)。

ARMv8允许切换应用程序的运行模式,在一个64位操作系统的ARMv8处理器中,我们可以同时运行A64指令集和A32指令集的应用程序,但是32位操作系统的ARMv8处理器中,就不能运行A64指令集的应用程序了。

ARMv8体系结构提供2种安全状态:Secure和Non-secure。Secure state和Non-secure state将运行环境划分为Normal world和Secure world,EL3只存在于Secure state。每种安全状态有独立的物理地址空间范围,在Secure state,处理器可以访问Secure和Non-secure的物理地址空间范围。在Non-secure state,处理器只能访问Non-secure的物理地址空间范围。

异常等级之间的切换:

Supervisor Call(SVC)指令:EL0的软件向EL1(OS service)申请软件服务。

Hypervisor Call(HVC)指令:主要被EL1(guest OS)请求hypervisor(EL2)服务。

Secure monitor Caller(SMC)指令:EL3用来切换安全非安全世界。

ERET指令用于异常返回,返回地址和处理器状态是从当前EL(exception level)下的ELR和SPSR寄存器中恢复的。ERET 指令可用于返回到 CPU 支持的相同或任何较低的异常级别。如果存储在 SPSR_EL3.M[4:0] 中的已保存模式字段,设置为 0b00101 或 0b00100,其中位M[ 3:2] 将异常级别编码为1,然后在 EL3 执行的 ERET 指令将返回到 EL1。

(2)ARMv8指令集:根据不同的执行状态,提供不同的指令集支持,支持如下指令集。

A64指令集:运行在AArch64状态下,提供64位指令集支持。A64指令集是ARMv8新增的,和A32采用了不同的指令编码,所以跟A32不兼容。A64可以处理64位宽的寄存器和数据,使用64位的指针来访存,但是A64指令集的指令宽度是32位。

A32指令集:运行在AArch32状态下,提供32位A32指令集支持。

T32指令集:运行在AArch32状态下,提供16位和32位Thumb指令集支持。

2)ARMv8特性

使用64位体系结构,因此处理器可以访问远超4GB的物理地址空间。虽然是64位体系结构,但是一般并不使用64位地址总线,例如使用48位,即可以访问256TB的物理地址空间。在32位ARM体系结构中,如果不使能LPAE(Large Physical Address Extension)功能,最多只能访问4GB物理地址空间。即使使能了LPAE功能,也只是将物理地址空间的寻址能力扩展到40位,也就是1TB。

提供64位的虚拟地址寻址,从而扩大了进程的虚拟地址空间。在32位ARM体系结构中,即使使能了LAPE功能,也只是扩展了物理地址空间,但是进程的虚拟地址空间还是只有4GB。扩大虚拟地址空间之后,可以使用memory map的方式映射更大的文件到进程虚拟地址空间中,从而提高IO的效率。

通过automatic event signaling机制,实现高性能低功耗的spinlock。

提供31个64位通用寄存器,可减少对栈的使用,减少访存的频率,从而提升性能。在ARMv7体系结构的AAPCS(ARM Architecture Procedure Call Standard)中,前4个参数使用寄存器传递,大于4个的参数部分需要使用栈传递,也就是需要访问内存。而在ARMv8体系结构中,可以使用寄存器传递前8个参数,从而减少了对栈的使用。

提供基于PC寄存器±4GB的相对寻址范围,提高了相对寻址效率,可以提升动态库和位置无关代码的执行效率。

支持16KB & 64KB的分页粒度,可以减少页表级数,同时提高TLB命中率。

全新的异常处理模型,更加利于操作系统和虚拟化的实现。

设计了全新的Load-Acquire和Store-Release指令,在线程安全的代码中,不再需要显式的内存屏障指令,从而提升了性能。

3)ARMv8寄存器

(1)通用寄存器

AArch64执行状态支持31个64位通用寄存器(X0~X30),AArch32状态支持16个32位通用寄存器。

e245ba70-db3c-11ed-bfe3-dac502259ad0.jpg

通用寄存器

(2)状态寄存器

e252285a-db3c-11ed-bfe3-dac502259ad0.jpg

状态寄存器

(3)特殊寄存器

e25d7520-db3c-11ed-bfe3-dac502259ad0.jpg

特殊寄存器

当运行异常处理程序时,处理器会把PSTATE寄存器的值暂时保存在SPSR(Saved Program Status Register,SPSR)里。当异常处理完返回时,再把SPSR的值恢复到PSTATE寄存器。

(4)系统寄存器

通过访问和设置这些系统寄存器,来完成对处理器不同的功能配置。ARMv8支持7类系统寄存器:

通用系统控制寄存器

调试寄存器

性能监控寄存器

活动监控寄存器

统计扩展寄存器

RAS寄存器

通用定时器寄存器

系统寄存器支持不同的异常等级访问,具体的访问规则如下:

Reg_EL1:处理器处于EL1、EL2、EL3时,都可以访问该寄存器。

Reg_EL2:处理器处于EL2、EL3时,可以访问寄存器。

大部分系统寄存器不支持处理器处于EL0时访问,但也有例外,比如CTR_EL0。

通过MSR、MRS指令访问系统寄存器。

1 综述

本文描述了Armv8-A AArch64的虚拟化支持。包括stage 2页表转换,虚拟异常,以及陷阱。本文介绍了一些基础的硬件辅助虚拟化理论以及一些Hypervisor如何利用这些虚拟化特性的例子。文本不会讲述某一具体的Hypervisor软件是如何工作的以及如何开发一款Hypervisor软件。通过阅读本文,你可以学到两种类型的Hypervisor以及它们是如何映射到Arm的异常级别。你将能解释陷阱是如何工作的以及其是如何被用来进行各种模拟操作。你将能描述Hypervisor可以产生什么虚拟异常以及产生这些虚拟异常的机制。理解本文内容需要一定基础,本文假定你熟悉ARMv8体系结构的异常模型和内存管理。 1.1 虚拟化简介 这里我们将介绍一些基础的Hypervisor和虚拟化的理论知识。如果你已经有一定的基础或是已经熟悉了这些概念,可以跳过这部分内容。我们用Hypervisor这个词来定义一种负责创建,管理以及调度虚拟机(Virtual Machines, VMs)的软件。

虚拟化为什么重要

虚拟化是一种在现代云计算和企业基础架构中广泛使用的技术。开发人员用虚拟机在一个硬件平台上运行多个不同的操作系统来开发和测试软件,以避免对主计算环境造成可能的破坏。虚拟化技术在服务器上非常流行,大多数面向服务器的处理器都需要支持虚拟化功能,这是因为虚拟化能给数据中心服务器带来如下一些需要的特性:

隔离:利用虚拟化可以对同一个物理核上运行的虚拟机进行隔离。这使得相互间不可信的的计算环境可以共享同一套硬件环境。例如,两个竞争对手可以共享同一个物理机器而又不能访问对方的数据。

高可用性:虚拟化可以在不同的物理机器之间无缝透明地迁移负载。这个技术广泛用于将负载从出错的硬件平台迁移至其他可用平台,以便维护和替换出错的硬件而不影响服务。

负载均衡:为了降低数据中心硬件和功耗成本,需要尽可能充分地利用硬件平台资源。将负载均衡地迁移到不同地物理机上,有利用充分利用物理机资源,降低功耗,同时为租户提供最佳性能。

沙箱:虚拟机可以作为一个沙箱来为运行在其中的应用屏蔽其他软件的干扰,或者避免其干扰其他软件。例如在虚拟机中运行特定软件,可以避免该软件的bug或病毒导致物理机器上的其他软件损坏。

1.2 Hypervisor的两种类型

Hypervisor通常被分成两种类型,独立类型Type 1和寄生类型 Type 2。我们先看看Type 2类型的Hypervisor。对于Type 2类型的Hypervisor,其寄生的宿主操作系统拥有对硬件平台和资源(包括CPU和物理内存…)的全部控制权。下图展示了Type 2类型的Hypervisor。

e26a948a-db3c-11ed-bfe3-dac502259ad0.png

图1:Type 2 Hypervisor 宿主操作系统,指的是直接运行在硬件平台上并为Type 2类型的Hypervisor提供运行环境的操作系统。这类Hypervisor可以充分利用宿主操作系统对物理硬件的管理功能,而Hypervisor只需提供虚拟化相关功能即可。不知你是否使用过Virtual Box或是VMware Workstation, 这类软件就是Type 2类型的Hypervisor。 接下来,看看独立类型的Type 1 Hypervisor, 如图2。这类Hypervisor没有宿主操作系统。其直接运行在物理硬件之上,直接管理各种物理资源,同时管理并运行客户机操作系统。

e2771818-db3c-11ed-bfe3-dac502259ad0.png

图2:Type 1 Hypervisor 在开源社区常见的Hypervisor, Xen (Type 1) 和 KVM (Type 2)就分属这两种不同的类型。其他开源的或知识产权的Hypervisor,可参见WiKi。

1.3 全虚拟化和半虚拟化

关于虚拟机,经典定义是:虚拟机是一个独立的隔离的计算环境,这种计算环境让使用者看起来就像在使用真实的物理机器一样。尽管我们可以在基于ARM的硬件平台上模拟真实硬件,但这通常不是最有效的做法,因此我们常常不这么做。例如,模拟一个真实的以太网设备是非常慢的,这是因为对任何一个模拟寄存器的访问都会陷入到Hypervisor当中进行模拟。比起直接访问物理寄存器来说,这种操作的代价要昂贵得多。一个替代方案是修改客户操作系统,使之意识到自身运行在虚拟机当中,通过在Hypervisor中模拟一个虚拟设备来给客户机使用。以此来换取更好得I/O性能。严格来说,全虚拟化需要完全模拟真实硬件,性能上会比较差。开源项目Xen推进了半虚拟化,通过修改客户机操作系统的核心部分使其更适合在虚拟环境中运行,以此来提高性能。 另一个使用半虚拟化的原因是早期的体系结构并不是为虚拟化而设计的,存在虚拟化漏洞。因为虚拟化要求所有敏感指令或访问敏感资源的指令都能被截获模拟。对于存在虚拟化漏洞的体系结构,则需要通过半虚拟化的方案来填补漏洞。而今,大多数体系机构都支持硬件辅助虚拟化,包括Arm。这使得操作系统的核心部分无需修改也能获得较好得性能。只有少数存储和网络相关的I/O设备仍然采用半虚拟化的方案来改善性能,这类半虚拟化的方案如,virtio 和 Xen PV Bus。

1.4 虚拟机(VM)和虚拟CPU (vCPU)

有必要区分虚拟机(VM)和虚拟CPU(vCPU)。这有利于理解本文的后续部分。例如,一个内存页面可以分配给一个虚拟机,因此所有属于该VM的vCPUs都可以访问它。而一个虚拟中断只是针对某个vCPU,因此只有该vCPU可以收到。虚拟机(VM)和虚拟CPU(vCPU)的关系如图3所示。

e290292a-db3c-11ed-bfe3-dac502259ad0.png

图3:VM vs vCPU 注意:ARM体系结构定义了处理单元(Processing Element, PE)一词,现代CPU可能包含多个内核或线程,PE用来指代单一的执行单元。同样的这里的vCPU严格来说应该是vPE。

2 AArch64的虚拟化

对于ARMv8, Hypervisor运行在EL2异常级别。只有运行在EL2或更高异常级别的软件才可以访问并配置各项虚拟化功能。

Stage 2转换

EL1/0指令和寄存器访问

注入虚拟异常

安全状态和非安全状态下的异常级别及可运行的软件如图4所示

e29e1454-db3c-11ed-bfe3-dac502259ad0.png

图4:AArch64的虚拟化 注意:安全状态的EL2用灰色显示是因为,安全状态的EL2并不总是可用,这是Armv8.4-A引入的特性。

2.1 Stage 2 转换

什么是Stage 2 转换

Stage 2 转换允许Hypervisor控制虚拟机的内存视图。具体来说,其可以控制虚拟机是否可以访问特定的某一块物理内存,以及该内存块出现在虚拟机内存空间的位置。这种能力对于虚拟机的隔离和沙箱功能来说至关重要。这使得虚拟机只能看到分配给它自己的物理内存。为了支持Stage 2 转换, 需要增加一个页表,我们称之为Stage 2页表。操作系统控制的页表转换称之为stage 1转换,负责将虚拟机视角的虚拟地址转换为虚拟机视角的物理地址。而stage 2页表由Hypervisor控制,负责将虚拟机视角的物理地址转换为真实的物理地址。虚拟机视角的物理地址在Armv8中有特定的词描述,叫中间物理地址(intermediate Physical Address, IPA)。 stage 2转换表的格式和stage 1的类似,但也有些属性的处理不太一样,例如,判断内存类型 是normal 还是 device的信息被直接编码进了表里,而不是通过查询MAIR_ELx寄存器。

e2b08f76-db3c-11ed-bfe3-dac502259ad0.png

图5:地址转换, VA to IPA to PA

VMID

每一个虚拟机都被分配一个ID号,称之为VMID。这个ID号用于标记某个特定的TLB项属于哪一个VM。VMID使得不同的VM可以共享同一块TLB缓存。VMID存储在寄存器VTTBR_EL2中,可以是8或16比特,由VTCR_EL2.vs比特位控制,其中16比特的VMID支持是在armv8.1-A中扩展的,是可选的。需注意,EL2和EL3的地址转换不需要VMID标记,因为它们不需要stage 2转换。

VMID vs ASID

TLB项也可以用ASID(Address Space Identifier)标记,每个应用都被操作系统分配有一个ASID,所有属于同一个应用的TLB项都有相同的ASID。这使得不同应用可以共享同一块TLB缓存。每一个VM有它自己的ASID空间。例如两个不同的VMs同时使用ASID 5,但指的是不同的东西。对于虚拟机而言,通常VMID会结合ASID同时使用。

属性整合和覆盖

stage 1 和 stage 2映射都包含属性,例如存储类型,访问权限等。内存管理单元(MMU)会将两个阶段的属性整合成一个最终属性,整合的原则是选择更有限制的属性。且看如下例子:

e2bf2f22-db3c-11ed-bfe3-dac502259ad0.png

图6:映射属性整合 在上面的例子中,Device属性比起Normal属性更具限制性,因此最终结果是Device属性。同样的原理,如果你将顺序调换一下也不会改变最终的属性。 属性整合在大多数情况下都可以工作。但有些时候,例如在VM的早期启动阶段,Hypervisor希望改变默认的行为,则可以通过如下寄存器比特来实现。

HCR_EL2.CD: 控制所有stage 1属性为Non-cacheable。

HCR_EL2.DC:强制所有stage 1属性为Normal,Write-Back Cacheable。

HCR_EL2.FWB (Armv8.4-A引入):使用stage 2属性覆盖stage 1属性,而不是使用默认的限制性整合原则。

模拟MMIO

与物理机器的物理地址空间类似,VM的IPA地址空间包含了内存与外围设备两种区域。如下图所示

e2cec522-db3c-11ed-bfe3-dac502259ad0.png

图7:模拟MMIO VM使用外围设备区域来访问其看到的物理外围设备,这其中包含了直通设备和虚拟外围设备。虚拟设备完全由Hypervisor模拟,如下图所示

e3243bb0-db3c-11ed-bfe3-dac502259ad0.png

图8:stage 2映射 一个直通设备被直接分配给VM并映射到IPA地址空间,这使得VM中的软件可用直接访问真实的物理硬件。一个虚拟的外围设备由Hypervisor模拟,其stage 2的转换项被标记为fault。虽然VM中的软件看来其是直接与物理设备交互,但实际上这一访问会导致stage 2转换fault,从而进入相应的异常处理程序由Hypervisor模拟。 为了模拟一个外围设备,Hypervisor需要知道哪一个外围设备被访问,外围设备的哪一个寄存器被访问,是读访问还是写访问,访问长度是多少,以及使用哪些寄存器来传送数据。 当处理stage 1 faults时,FAR_ELx寄存器包含了触发异常的虚拟地址。但虚拟地址不是给Hypervisor用的,Hypervisor通常不会知道客户操作系统如何配置虚拟地址空间的映射。对于stage 2 faults,有一个专门的寄存器HPFAR_EL2,该寄存器会报告发生错误的IPA地址。IPA地址空间由Hypervisor控制,因此可用利用此寄存器里的信息来进行必要的模拟。 ESR_ELx寄存器用于报告发生异常的相关信息。当loads或stores一个通用寄存器触发stage 2 fault时,相关异常信息由这些寄存器提供。这些信息包含了,访问的长度,访问的原地址或目的地址。Hypervisor可以以此来判断对虚拟外围设备访问的权限。下图展示了一个陷入(trapping) – 模拟(emulating)的访问过程。

e3430de2-db3c-11ed-bfe3-dac502259ad0.png

图9:外围设备模拟

VM里的软件尝试访问虚拟外围设备,这个例子当中是虚拟UART的接收FIFO。

该访问被stage 2转换block住,导致一个abort异常被路由到EL2。

异常处理程序查询ESR_EL2关于异常的信息,如访问长度,目的寄存器,是load还是store操作。

异常处理程序查询HPFAR_EL2,取得发生abort的IPA地址。

Hypervisor通过ESR_EL2和HPFAR_EL2里的相关信息对相关虚拟外围设备作模拟,模拟完成后通过ERET指令返回vCPU,并从发生异常的下一条指令继续执行。

系统内存管理单元(System Memory Management Units, SMMUs)

到目前为止,我们只考虑了从处理器发起的各种访问。我们还需要考虑其他主设备如DMA控制器发起的访问。我们需要一种方法来扩展stage 2映射以保护这些主设备的地址空间。如果一个DMA控制器没有使用虚拟化,那它看起来应该如下图所示

e369c338-db3c-11ed-bfe3-dac502259ad0.png

图10:没有虚拟化的DMA访问 DMA控制器通常由内核驱动编程控制。内核驱动会确保不违背操作系统层面的内存保护原则,即一个应用不能使用DMA访问其没有权限访问的其他应用的内存。 下面让我们考虑操作系统运行在虚拟机中的场景。

e3842340-db3c-11ed-bfe3-dac502259ad0.png

图11:虚拟化下没有SMMU的DMA访问 在这个系统中,Hyperviosr通过stage 2映射来隔离不同VMs的地址空间。这是基于Hypervisor控制的stage 2映射表实现的。而驱动则直接与DMA控制器交互,这会产生两个问题:

隔离:DMA控制器访问在虚拟机之间没有了隔离,这破坏了虚拟机的沙箱功能。

地址空间:利用两级映射转换,使内核看到的PAs实际上是IPAs。但DMA控制器看到的仍然是PAs。因此DMA控制器和内核看到的是不同的地址空间,为了解决这个问题,每当VM与DMA控制器交互时就需要陷入到Hypervisor中做必要的转换。这种处理方式是极其没有效率的,且容易出错。

解决的办法是将stage 2的机制推广到DMA控制器。这么做的话,这些主设备控制器也需要一个MMU,Armv8称之为SMMU(通常也称为IOMMU)。

e39c6fd6-db3c-11ed-bfe3-dac502259ad0.png

图12:虚拟化下通过SMMU的DMA访问 Hypervisor负责配置SMMU,以使DMA控制器看到的物理地址空间与kenrel看到的物理地址空间相同。这样就能解决上述两个问题。 转自:https://calinyara.github.io/technology/2019/11/03/armv8-virtualization.html 相关文章:

  • 寄存器
    +关注

    关注

    30

    文章

    3571

    浏览量

    115420
  • 架构
    +关注

    关注

    1

    文章

    327

    浏览量

    24911
  • ARMv8
    +关注

    关注

    1

    文章

    15

    浏览量

    13714
收藏 人收藏

    评论

    相关推荐

    ARMv8架构资料分享

      随着开发工作逐渐迁移到 ARMv8 的 64 位平台,因此有必要尽快熟悉 ARMv8 架构ARMv8 与先前较为熟悉的 ARMv7 架构有较大变化,其中非常重要的一点是支持了 A64 指令集
    发表于 03-21 14:50

    ARMv8架构编程之内存管理单元探索

    物理页。正因为页的大小为 4 KB,所以虚拟地址的低 12 位对应于页内偏移量。虚拟地址的翻译过程建立页表是内存管理的一个关键过程,后续用一个专题来仔细研究一下 ARMv8 下多级页表的建立过程,下图
    发表于 03-29 09:56

    基于ARMv8处理器的汇编语言实现及应用

    | n | variants | x ( variants )l-ARMv --固定字符,即ARM Version-n--指令集版本号。迄今为之,ARM架构版本发布了8个系列,所以n=[1:8
    发表于 06-16 15:26

    首款ARMv8 64位处理器宣布 频率可达3GHz

    本帖最后由 eehome 于 2013-1-5 10:03 编辑 相关文章:ARM推新品:ARMv8首次支援64位元指令集就在ARM宣布ARMv8 64位架构指令集之后,相关的处理器也浮出
    发表于 11-01 19:36

    Atmel公司8051架构单片机Protel元件库

    Atmel公司8051架构单片机Protel元件库
    发表于 10-26 16:05

    AMD决定推出ARM架构APU

    能够与该公司的GPU核心使用相同内存。而AMD公司决定推出ARM架构服务器芯片,也表示AMD公司有能力将ARMv8架构和自家的GPU融合在一起。现在AMD公司表示该公司在正式推出ARM架构APU之前
    发表于 11-21 17:28

    ARM进军PC市场 X86架构标准何去何从

    在平板电脑市场的份额,并帮助它们打入被X86架构平台长期霸占的笔记本电脑领域。但是,这条路远没有想象中那样平坦,而坎坷在于应用瓶颈,开发者的支持才是流行与否的关键。ARM芯片应用广泛,如今成为手机与平板
    发表于 01-22 10:21

    全面剖析久经验证的8051架构微控制器

    本帖最后由 wlm122312 于 2014-9-15 17:40 编辑 久经验证的 8051 架构微控制器,8051技术,别以为你知道,其实这些都不知道!~~从工程师角度全面解析8051架构微控制器~~~
    发表于 09-11 10:33

    DS-5 v5.18官方旗舰版 Linux 32位,支持ARMv8内核架构

    7Simulation Models:updated to Fixed Virtual Platforms 8.3.2 releaseadded ARMv8 simulation model for ARMv8
    发表于 10-14 17:23

    DS-5 v5.18官方旗舰版 Win32位,支持ARMv8内核架构

    is upgraded to version 7Simulation Models:updated to Fixed Virtual Platforms 8.3.2 releaseadded ARMv8
    发表于 10-14 17:41

    DS-5 v5.18官方旗舰版 Linux 64位,支持ARMv8内核架构

    is upgraded to version 7Simulation Models:updated to Fixed Virtual Platforms 8.3.2 releaseadded ARMv8
    发表于 10-15 10:31

    DS-5 v5.18官方旗舰版 Win64位,支持ARMv8内核架构

    is upgraded to version 7Simulation Models:updated to Fixed Virtual Platforms 8.3.2 releaseadded ARMv8
    发表于 10-15 10:54

    arm内核和架构

    s5pv210是三星公司推出的32位RISC微处理器,其CPU采用的是ARM Cortex-A8内核,基于ARMv7架构,这里的内核和架构是什么意思???
    发表于 03-25 12:09

    请问如何理解ARMv8内存属性device

    请问如何理解ARMv8内存属性device中,引入的Re-Ordering概念,感觉实际意义不大。或者可以举个例子来说明这个概念的必要性。谢谢!
    发表于 07-28 17:19

    x86架构和arm架构的区别

    X86架构是X86指令集,它属于CISC指令集。ARM架构是ARM指令集,属于RISC指令集。X86是冯若依曼结构,ARM是哈弗结构,这个不一定,比如ARM7TDMI用的就是冯若依曼结构。其实都是差不多,X86指令多,应用范围广,但效率就显得低一点,ARM指令少,应用范围小,效率显得高。
    发表于 09-27 14:40

    关于rtai对A8处理的支持,请问现在的RTAI对A8架构的处理器有专门的补丁吗?怎么移植?

    本帖最后由 一只耳朵怪 于 2018-6-5 09:31 编辑 德仪的技术大牛们,你们好:现在的RTAI对A8架构的处理器有专门的补丁吗?如果没有,我应该怎么样来移植?请指导一下,谢谢!
    发表于 06-04 00:04

    ARM-v8架构分析

    拓展,如:TrustZone技术、虚拟技术及NEON advanced SIMD技术,等。配合ARMv8架构的推出,ARM正在努力确保一个强大的设计生态系统来支持64位指令集。ARM的主要合作伙伴已经
    发表于 12-07 10:08

    请问使用PSoC 4架构的选项是什么?

    我们要捕获串行数据-电流检测到M系列,并发送到无线网络。使用PSoC 4架构的选项是什么?
    发表于 10-08 13:37

    ARM架构和X86架构有什么区别?

    我们就ARM架构的系统与X86架构系统的特性进行一个系统分析,方便用户在选择系统时进行理性、合理的比价分析。
    发表于 03-20 06:34

    适用于x86架构的快速启动步骤是什么?

    x86架构通常会唤起人们对家用电脑或企业服务器的思索。这并不出人意料,因为x86处理器的功耗通常较大。最近,英特尔公司开始以嵌入式、低功耗和低成本市场为目标,并推出了基于x86架构的英特尔Atom
    发表于 03-20 06:38

    如何自定义DDR3架构

    大家好,我们的定制板上焊接了定制的DDR3架构:16 x(256Mb x 8b)MT41J256M8 IC = 4GB,32b数据总线和4个等级,连接到Virtex-6设备。我们刚刚注意到
    发表于 06-15 06:59

    我对ARM架构的理解

    。Arm11之后,家族被重组为Cortex系列。到目前为止,三个Cortex家族包括所有Armv7和Armv8结构。图2-Apple A7和Raspberry Pi都使用了Armv8架构的实现。图片
    发表于 09-03 17:56

    8051架构微控制器详解

    全面剖析久经验证的8051架构微控制器
    发表于 02-05 06:17

    ARM架构的系统与X86架构系统的特性有什么不同?

    ARM的架构相较于x86有哪些特点?ARM架构的系统与X86架构系统的特性有什么不同?
    发表于 06-16 09:05

    RISV-5架构有哪些优点

    RISV-5架构相比ARM、X86架构有哪些优点
    发表于 06-18 19:19

    RISV-5架构相比其他架构有哪些优点

    RISV-5架构相比于ARM、X86架构有哪些优点
    发表于 06-18 19:24

    ARM7、ARM9、ARM11、ARM-Cortex的关系及形象

    ARM7:ARMv4架构,ARM9:ARMv5架构,ARM11:ARMv6架构,ARM-Cortex 系列:ARMv7架构ARM7(ARMv4架构)没有MMU(内存管理单元),只能叫做MCU
    发表于 07-01 07:50

    Powerpc架构与X86架构的区别

    目录1、ARM1.1 ARM历史1.2 ARM内核系列2、MIPS应用范围发展历史3、PowerPC三巨头4、X86架构X86历史5、PowerPC架构相比于ARM的优势6、Powerpc架构
    发表于 07-26 06:16

    x86架构的最大特色在哪

    x86系:x86架构的最大特色在于可以兼容Windows操作系统,现已成为了业界的一种标准。芯片巨头美国英特尔(Intel)一家独大。——(北大众志、兆芯、海光)兆芯:上海兆芯集成电路有限公司(以下
    发表于 07-27 08:14

    基于ARMv7架构的Cortex系列

    基于ARMv7架构的Cortex系列由ARM公司在2006年推出,Cortex系列的推出满足人们对性能日渐复杂的设计要求,根据不同需求,Cortex系列共三个不同的子系列...
    发表于 08-09 06:37

    ARM的内核与架构是由哪些部分组成的

    到底什么是Cortex、ARMv8、arm架构、ARM指令集、soc?ARM的内核与架构是由哪些部分组成的?
    发表于 09-22 06:48

    相较于x86架构,华为鲲鹏处理器的优势有哪些

    从大型机到 x86 架构,计算的下一个拐点在哪?相较于x86架构,华为鲲鹏处理器的优势有哪些?
    发表于 10-25 06:39

    arm架构和x86架构有什么区别

    什么叫arm架构?x86架构是由哪些部分组成的?arm架构和x86架构有什么区别?
    发表于 10-25 08:25

    arm架构和x86架构有什么区别是什么?

    Cortex系列处理器是从从ARM哪个架构开始的?arm架构和x86架构有什么区别是什么?如何计算地址线和数据线?
    发表于 10-28 08:36

    来聊聊MSP430架构

    最近开始接触MSP430单片机了,打算先把手册结合着书看一遍,之后用来做一个小玩意儿。学习笔记就按照学习进度来更新吧,也算做个备忘,有什么东西不记得了可以来翻一翻,今天我们来聊聊MSP430架构。一
    发表于 11-29 07:28

    ARM架构简单介绍

    支持64位地址总线的 ARMv8。最近这几年,在每一代 ARMvx 核心的基础上,根据不同的应用场景,又做了扩充或裁剪,形成三大架构:A(Applications) 高性能,一般需要运行Linu...
    发表于 12-06 07:29

    单片机与ARM嵌入式区别是什么

    本文主要针对ARM公司不同架构的芯片区别Cortex系列属于ARMv7架构,这是到2010年为止ARM公司最新的指令集架构。(2011年,ARMv8 架构在 TechCon 上推出)ARMv7架构
    发表于 12-13 08:28

    一文帮你梳理Cortex与ARMv8等基础概念

    到底什么是Cortex、ARMv8、arm架构、ARM指令集、soc?一文帮你梳理基础概念【科普】1. 从0开始学ARM-安装Keil MDK uVision集成开发环境
    发表于 12-14 08:20

    STM32架构及最小系统的相关资料分享

    1. STM32F4系列使用ARM架构ARMV7-ME架构,属于Cotex-M4系列,支持浮点运算单元FPU和DSP指令。2. 与ARM Cotex-A8是支持MMU的处理器相比,Cotex-M4
    发表于 02-09 07:56

    如何实现MIPS32架构CPU设计?

    如何实现MIPS32架构CPU设计?
    发表于 02-16 06:22

    分享一种基于RK3399+RK1808架构的AI边缘计算商显主板

    分享一种基于RK3399+RK1808架构的AI边缘计算商显主板
    发表于 02-16 06:14

    如何使LVDS显示器接在debian10 arm64架构的主板上进行触摸呢

    如何使LVDS显示器接在debian10 arm64架构的主板上进行触摸呢?
    发表于 03-02 06:31

    怎样在PC机器上编译RK3566 ARMv8平台的代码呢

    什么是交叉编译呢?怎样在PC机器上编译RK3566 ARMv8平台的代码呢?
    发表于 03-02 09:49

    基于Cortex-A53架构的低功耗高性能处理器RK3328有哪些功能呢

    基于Cortex-A53架构的低功耗高性能处理器RK3328有哪些功能呢?
    发表于 03-09 06:27

    ARMv8架构的两种执行状态分别是什么

    )和T32(thumb),两种指令集ARMv8架构中,增加了一些指令◾传统ARM的特权模式◾通用寄存器位宽是32bit◾ 使用单一CPSR保存PE状态◾使用32bit的虚拟地址◾支持协处理器
    发表于 04-06 10:49

    armv8架构中Arch32切换到Arch64是如何运作的

    各位大神,armv8架构中,如果Arch32要去切换到Arch64,是如何运作的?状态会清空吗?
    发表于 06-06 16:13

    ARMv8 Vector table问题该如何更好地去理解呢

    目前正在学习ARMv8 Arch Ref Manual.D1.10.2 Exception vectors有点疑惑:Table D1-6 定义了一个Vector Table应该具有的items我们
    发表于 08-17 15:54

    NEON在armv8(arch64)下如何去使用呢

    主频是跟arm的主频一致吗,我们之前使用的armv7架构cpu,当把arm的主频调高后,neon的计算速度也会变快但现在我们用armv8平台的cpu,把arm的主屏调高后,neon的计算速度没有任何变化谢谢!
    发表于 09-08 11:34

    如果Arch32要去切换到Arch64是如何运作的

    各位大神,armv8架构中,如果Arch32要去切换到Arch64,是如何运作的?状态会清空吗?
    发表于 10-26 16:12

    X86架构和ARM架构

      ARM架构是一个32位元精简指令集中央处理器架构,x86架构指的是特定微处理器执行的一些计算机语言指令集。X86架构比ARM架构系统在性能方面要快得多、强得多。
    发表于 11-30 12:48
    X86<b>架构</b>和ARM<b>架构</b>

    深入解析ARM Cortex-A12架构

    深入解析ARM Cortex-A12架构
    发表于 01-14 12:31 20次下载

    TRACE32支持ARMv8架构

      ARMv8架构是首个包括64位执行模式的ARM架构,允许处理器将64位执行模式与32位执行模式相结合。开发该版本ARM指令系统的关键技术之一是将ARM处理器工艺的高能效优势融入64位计算,并获得更大的可用虚拟地址空间。ARMv8架构在异常及异常处理方面引入一种全新机制。
    发表于 09-12 19:01 11次下载

    基于大数据的高能效数据中心服务器研究

    分析ARM服务器的发展以及应用现状,结合数据中心的特点,设计基于ARMv8架构的高能效数据中心服务器,选取目前工业界具有代表性的ARMv8服务器参数,使用典型的数据中心负载,对X86和ARMv8两种
    发表于 01-29 13:56 0次下载
    基于大数据的高能效数据中心服务器研究

    ARM推64位处理器架构 主要瞄准服务器

    ARMv8架构既包括了32位处理指令系统,也包括64位的;32位的指令系统被用在iPhone 4S和iPad芯片上。
    发表于 10-28 09:25 615次阅读

    ARM推新品:ARMv8首次支援64位元指令集

    处理器授权大厂ARM于上周(10/27)公布最新处理器规格ARMv8架构,一举将其产品线推入64位元市场。ARMv8ARMv7架构为基础,并内含64位元指令集,预估可将32/64位元应用优势极大化。
    发表于 11-01 09:32 1196次阅读

    ARM公司公开下一代ARM架构技术细节

    ARM公司近日公开了新的ARMv8架构的技术细节,这是首款包含64位指令集的ARM架构ARMv8拓展了现有的32位ARMv7架构,引入了64位处理技术,并扩展了虚拟寻址。目前市场领先的内核如Corte
    发表于 11-03 09:40 1492次阅读

    64位ARMv8架构交易敲定 ARM助力Cavium进军新领域

    无晶圆网络芯片公司Cavium宣布,计划提供一个基于全定制内核设计的的家用多核系统芯片,该芯片是由ARM公司基于ARMv8 64位指令集架构基础上设计和实现的。该公司表示,该芯片将针对“
    发表于 08-02 16:57 1323次阅读

    全面介绍ARM系列手机处理器架构

    近日,ARM正式宣布推出新款ARMv8架构的Cortex-A50处理器系列产品,以此来扩大ARM在高性能与低功耗领域的领先地位,进一步抢占移动终端市场份额。Cortex-A50是继Cortex-A15之后的又一重量级产
    发表于 11-03 10:36 7171次阅读

    深解ARM最强64位处理器 ARMv8架构厉害在何处?

    ARMv8是一个真正意义上的64位,同时这个64位的架构当中加入了或者说提供了32位的支持。Cortex-A57是ARM最先进、性能最高的应用处理器,而Cortex-A53不仅是功耗效率最高的ARM应用处理器,也是全球最小的64位处理器。
    发表于 03-22 09:26 1.5w次阅读
    深解ARM最强64位处理器 <b>ARMv8</b><b>架构</b>厉害在何处?

    X86架构和ARM架构,在工业领域的优势争霸

    在处理器架构方面,X86架构和ARM架构在性能方面有那些区别? X86架构和ARM架构在扩展能力方面谁更强?在工业领域谁会夺得更多市场先机?作为工程师的你又有何看法?
    发表于 07-31 15:58 6218次阅读

    ARMv8架构哪里强?史上最高性能功耗最大可扩展性

    应用,Cortex-A53在开发过程中的代号是Apollo。ARMv8是一个真正意义上的64位,同时这个64位的架构当中加入了或者说提供了32位的支持。
    发表于 08-05 15:19 1189次阅读

    ARMv8 通过设计简化软件移植详解

     Zynq® UltraScale+ ™ MPSoC 的核心 ARM®v8 架构使系统设计人员只需极少量修改就可以快速启用并运行现有的 ARMv7 代码。这种架构兼容性使设计人员可以提高生产力,加速产品上市进程,同时减少开发成本和工程设计投资。
    发表于 01-11 01:05 2064次阅读

    什么叫arm架构_X86架构与ARM架构有什么区别

    本文首先介绍了arm架构的概念,其次介绍了ARM架构图与ARM的技术实现,最后介绍了X86架构工业电脑与ARM架构工业电脑两者之间的区别。
    发表于 04-24 08:45 8.4w次阅读
    什么叫arm<b>架构</b>_X86<b>架构</b>与ARM<b>架构</b>有什么区别

    一文看懂arm架构和x86架构有什么区别

    本文主要介绍的是arm架构和x86架构的区别,首先介绍了ARM架构图,其次介绍了x86架构图,最后从性能、扩展能力、操作系统的兼容性、软件开发的方便性及可使用工具的多样性及功耗这五个方面详细的对比了arm架构和x86架构的区别,具体的
    的头像 发表于 05-16 14:19 28.2w次阅读
    一文看懂arm<b>架构</b>和x86<b>架构</b>有什么区别

    Atmel最新的基于ARM9架构的微处理器介绍

    在2011 ARM Techcon上,Atmel的应用经理介绍其最新的基于ARM9架构的微处理器。
    的头像 发表于 06-26 11:30 5125次阅读

    关于ARM cortex-A5架构介绍

    关于飞思卡尔授权应用ARM cortex-A5架构的消息
    的头像 发表于 06-26 10:31 6506次阅读

    从软件开发的角度概述ARMv8处理器架构中的虚拟操作

    ARMv8处理器CPU 基于ARMv8的系统中的虚拟化工具在这些系统中起着特殊的作用,它由几个组件组成,虽然ARMv7具有特殊的CPU模式来运行虚拟机管理程序作为扩展,但在ARMv8中,它已成为架构
    发表于 10-13 20:00 476次阅读
    从软件开发的角度概述<b>ARMv8</b>处理器<b>架构</b>中的<b>虚拟</b><b>化</b>操作

    源创通信SinoV-AP1000 X86架构介绍

    SinoV-AP1000 X86架构 Asterisk IPPBX 是一款基于开源软件asterisk 架构的IPPBX,产品采用X86架构,由传统的PC架构+asterisk card 的模式改进而来。 方便用户自由换模块定制,采用插板式架构,真的产是一款标准的产品设备,方便上机架。
    的头像 发表于 11-21 15:40 1200次阅读
    源创通信SinoV-AP1000 X86<b>架构</b><b>介绍</b>

    ARMv8处理器体系结构中的虚拟功能

    基于ARMv8的系统中的虚拟设施在这些系统中扮演着特殊角色,并且由几个组件组成。尽管ARMv7具有特殊的CPU模式来运行虚拟机监控程序作为扩展,但在ARMv8中,它已成为体系结构的一部分,并且已以
    发表于 05-13 10:48 1656次阅读
    <b>ARMv8</b>处理器体系结构中的<b>虚拟</b><b>化</b>功能

    飞凌LS1028A处理器的OK1028A-C开发板的分析

    LS1012A搭载的是一颗ARMv8架构的A53的核心,ARMv8的资质不错,可惜修为稍稍欠缺一点,只有单核。丰富的外设接口,以及强大的PFE包转发引擎,极低的功耗也能为它的战斗力加上几分。
    的头像 发表于 09-19 17:40 2393次阅读
    飞凌LS1028A处理器的OK1028A-C开发板的分析

    sparc v8架构的异常处理

    sparc v8架构的异常处理 1.前言 2.异常简介 3.异常的使用场合 4.sparc v8异常处理流程 5.总结 1.前言 对于研究芯片处理器架构,是件非常有意思的事情。刚开始的接触时候也是
    的头像 发表于 09-25 15:44 1869次阅读
    sparc v<b>8</b><b>架构</b>的异常处理

    ARM重新定义ARMv8架构ARMv8架构特性解说

    本文从ARMv8-A产生的背景开始,对它进行一个简单的介绍,使大家从整体上,对ARMv8有一个简单的了解。
    的头像 发表于 10-08 17:02 8781次阅读
    ARM重新定义<b>ARMv8</b>新<b>架构</b>,<b>ARMv8</b>新<b>架构</b>特性解说

    关于x86架构工控主板解决方案的详细介绍

    智通达小编将为大家详细介绍x86架构工控主板解决方案。 x86架构在小体积上集成的功能及扩展的优势,在嵌入式领域,如媒体终端机、移动设备、网络设备、POS机等与最终用户直接接触的领域,多重触摸、3D播放、智能交互等设备平台上,
    发表于 12-23 11:25 1443次阅读

    AMD即将推出RDNA3架构显卡

    AMD的RX 6000系列显卡用上了7nm RDNA2架构,能效比再次提升50%,性能也摸到了RTX 3090的水平,而今天预计会推出RDNA3架构显卡了。
    的头像 发表于 01-05 09:48 1493次阅读

    重磅!Arm正式推出Armv9架构

    V8架构发布于2011年10月。 Arm首席执行官Simon Segars说:“当我们预测到AI将定义未来时,我们必须为领先的计算打下基础,为即将到来的独特挑战做好准备。” “Armv9将处于下一个3000亿Arm芯片的最前沿,这是在对基于通用计算的经济性、设计自由度和可访问性的基础
    发表于 03-31 09:43 2195次阅读
    重磅!Arm正式推出<b>Armv</b>9<b>架构</b>

    十年来最大技术革新!Arm发布Armv9架构!不受美国EAR约束,华为可获授权!

    公司十年来的最大技术革新。上一代V8架构发布于2011年10月。   Arm首席执行官Simon Segars表示,“在展望由AI定义的未来时,我们必须夯实先进的计算基础,以应对未来的独特挑战。Armv9就是我们给出的答案。在通用计算所具备的经济性、设计自由度和可及性的基础上,
    的头像 发表于 03-31 16:57 5783次阅读

    Arm确定其Armv9架构不受美国出口管理条例(EAR)的约束

    集微网消息,当地时间周二,Arm推出新一代指令集架构Armv9,以越来越强大的安全性和人工智能能力,应对无处不在的专业处理需求,这是Arm十年来最大的技术革新,上一代的Armv8发布于2011年10月。
    的头像 发表于 04-01 09:21 1665次阅读

    Arm公司正式发布了该公司的新一代Armv9架构的首个细节

    今天,作为Arm的Vision Day活动的一部分,该公司正式发布了该公司的新一代Armv9架构的首个细节,为Arm未来十年内成为下一个3000亿芯片的计算平台奠定了基础。
    的头像 发表于 04-13 14:45 2214次阅读
    Arm公司正式发布了该公司的新一代<b>Armv</b>9<b>架构</b>的首个细节

    ARMv9架构能否解决中国“缺芯”之急?

    近日,ARM正式宣布推出ARMv9架构。据ARM官方称,这是10年来最重要的创新,是未来3000亿ARM芯片的基础。
    发表于 05-02 17:06 2059次阅读

    Arm推出三款基于Armv9架构的全新CPU内核

    从全面升级到Armv9架构,到公布Neoverse V1和N2平台技术细节,再到推出三款基于Armv9架构的全新CPU内核,短短两个月时间里,Arm全面计算(Arm Total Compute)战略正在以令人难以置信的速度加速推进,密集,但有条不紊。
    的头像 发表于 06-12 09:11 3539次阅读

    安谋科技:十年磨一剑的Armv9架构,下半年将有终端面市

    第九届EEVIA年度中国电子ICT媒体论坛暨2021产业和技术展望研讨会上表示,基于Armv9架构的处理器终端将于今年下半年面市。   Armv9架构特色   Armv9架构重点进行了三方面的提升,一是机器学习,随着人工智能的火热,专用的加速器变得流行,那么CPU架构
    的头像 发表于 08-11 08:01 3119次阅读

    高通骁龙898架构相关信息曝光

    近日,高通骁龙898架构的相关信息遭到曝光,高通骁龙898基于v9架构半定制,频率达到了3.09GHz,和天玑 2000 完全差不多,都是基于台积电 4nm 制程工艺打造,实现了性能、功耗、发热等方面的进步。
    的头像 发表于 10-28 15:22 1934次阅读

    RT-Thread 4.1.0 正式发布版中的ArmClang

    ArmClang 相较于 Armcc, 支持的架构更多,Armcc支持到Armv7架构,armclang可以支持Armv6,Armv7, Armv8 以及今后 Arm 的新处理器
    的头像 发表于 06-01 09:24 1136次阅读

    x86架构工业主板解决方案

    x86架构工业主板主要用于工业场合,是工业计算机的重要组成部分。由于x86架构工业母板能够适应温度范围大的环境,并且能够长期在高负载环境下工作,因此在工业控制行业得到了广泛的应用。接下来,我们将详细介绍x86架构工业主板解决方案。
    的头像 发表于 03-07 10:26 220次阅读

    Armv8架构Armv9架构的区别分析

    新的Armv9兼容CPU所承诺的最大的新功能可能是开发人员和用户可以立即看到的——SVE2作为NEON的后继产品。
    发表于 03-10 14:02 643次阅读

    下载硬声App