DC IVAC/ DC CIVAC指令用于将一个虚拟地址对应的cache line从data cache或是unified cache失效或清除失效到PoC点。N2 core硬件默认会将DC IVAC升级为DC CIVAC操作。
Arm的Advanced Microcontroller Bus Architecture(AMBA)在与生态系统合作解决复杂的行业性问题方面有着悠久的历史。现在,随着行业接纳芯粒(chiplets)技术,是时候将AMBA从片上扩展到多芯片了。
分享一篇我写的知识文章: [链接]问题SMMUv3硬件可以设计为:只有stage1地址转换支持只用stage2地址转换支持既支持stage1又支持stage2那软件怎么使用stage1和stage2的呢?回答这取决于软件的使用场景。Linux Kernel如果SMMUv3硬件只支持stage1或只支持stage2,那么支持的stage可以用于Linux的DMA-IOMMU和VFIO的场景。在Sh...
本文翻译自:Arm Neoverse N1 Core: Performance Analysis Methodology Performance Analysis on Neoverse N1 Core Using Hardware PMU Events [链接] 原作者: Jumana Mundichipparakkal, Krishnendra Nathella, Tanvir Ahmed Khan 翻译并稍做扩展:Zenon Xiu
本文翻译自 Best Practices for Armv8-R Cortex-R52+ Software Consolidation [链接] 原作者:
Arm Statical Profiling Extension (SPE)是从armv8.2开始引入的,它提供了硬件上的统计采样的支持。我们已经有了PMU为什么还要SPE呢?
随着CPU的设计的复杂度的增加,如何分析软件代码在CPU上运行的效率(profiling),代码热点和潜在的优化空间变得更困难。Arm CPU构架的PMU提供了一些软件代码/指令在CPU硬件pipeline中运行信息来帮助代码优化。现代CPU pipeline可以大致可以划分为Front End和 Back End以解耦指令Fetch/Decode/Dispatch和指令issue/exec...
Linux系统设计为独立的用户空间和内核空间,从而实现隔离得到安全性。在具有MMU的系统上,安全性是通过控制用户空间地址和内核空间地址的访问权限来是实现的。运行在用户空间的应用没有访问内核地址空间的权限,而内核大多数情况下不应该访问用户空间地址(虽然可能有访问权限)。但用户程序做系统调用时,内核调用服务...
这个时候你需要翻开8,9千页的arm构架文档,打开你的计算器,仔细算bit,认真对文档查寄存器信息。
前文介绍了通过Load-Exclusive/Store-Exclusive (Load-Linked/Store-Condition, LLSC)和LSE atomic机制实现的锁公平性问题。[链接]本文探讨这两种机制实现的atomic访问的可伸缩性(scalability)问题。
Armv8.x-A和Armv9.x-A构架持续进化,开发新功能以满足新的和现存市场需求。那么Armv8.x-A和Armv9.x-A如何对齐的呢?
MTE tag放在访问地址的bit 56:59,比如通过LDR Xm, [Xn]访问内存,Xn里面存放的是访问地址,当MTE使能的时候,真正用于访问内存的地址是bit 0:47(不考虑arm的52bit地址扩展)和bit 55 (bit55用于决定是高虚拟地址空间还是低虚拟地址空间),bit 56:59 这4个bit用于存放该地址的tag
一篇我写的文章:What is the difference between AMU and PMU?[链接]
Arm提供很多CPU和GIC IP,在选择CPU和GIC IP组合时,需要考虑它们的兼容性。我们推荐使用新的CPU采用对应的GIC,以便得到最多的功能支持。
美国在半导体领域的绝对地位毋庸置疑,其大约占据了全球近一半的市场份额。此前,美国强调其在全球芯片制造能力的份额已从1990年的37%下降到现在的12%,为此,美国出台了芯片法案。随着世界各国的芯片设计企业的兴起,现在,美国又开始担忧起芯片设计的地位。据SIA的统计,近年来,美国在设计相关收入中所占份额开始出现...
GICv3的ITS将Message Based Interrupt (MSI)转换为一个发送给GIC Redistributor的LPI中断。这个过程需要使用GIC ITS Device Table,Interrupt Translation Tables和Collection Table.
Cache对CPU处理器的性能影响毋庸置疑。RISC构架成功的一个重要因素就是cache对内存访问性能的提升。RISC处理器普遍采用load-store的构架,随着pipeline的增强,如分支预测技术,超标量,乱序等技术的实现,对内存访问的带宽性能随之提高。现代CPU的设计很大的一块就是如何提升内存访问效率,其中越来越多的cache level,...
从armv8-a构架开始,在PSTATE中支持SPSel这个功能。Armv8-a构架中,每个EL都定义了一个SP(stack pointer)寄存器,SP_EL0, SP_EL1, SP_EL2, SP_EL3。SPSel的作用是当CPU在EL1, EL2或是EL3时,软件可以通过配置PSTATE.SPSel来选择当指令使用SP时,这个SP实际上是 SP_EL0还是SP_ELx (x为1,2或3)。
近年基于arm应用处理器的移动,infrastructure SoC平台都包含SMMUv3 IP(MMU-600,MMU-700),用于DMA mapping,VFIO,Shared Virtual Address(SVA)等场景。在这些使用场景中,SMMUv3是这样使用的呢?SMMUv3的硬件设计方面比较灵活,但是软件使用方面是有些限制的。本文不是介绍SMMUv3构架或IP,而是站在应用SMMU的角度...