Arm Community
Arm Community
  • Site
  • User
  • Site
  • Search
  • User
  • Groups
    • Research Collaboration and Enablement
    • DesignStart
    • Education Hub
    • Innovation
    • Open Source Software and Platforms
  • Forums
    • AI and ML forum
    • Architectures and Processors forum
    • Arm Development Platforms forum
    • Arm Development Studio forum
    • Arm Virtual Hardware forum
    • Automotive forum
    • Compilers and Libraries forum
    • Graphics, Gaming, and VR forum
    • High Performance Computing (HPC) forum
    • Infrastructure Solutions forum
    • Internet of Things (IoT) forum
    • Keil forum
    • Morello Forum
    • Operating Systems forum
    • SoC Design and Simulation forum
    • 中文社区论区
  • Blogs
    • AI and ML blog
    • Announcements
    • Architectures and Processors blog
    • Automotive blog
    • Graphics, Gaming, and VR blog
    • High Performance Computing (HPC) blog
    • Infrastructure Solutions blog
    • Innovation blog
    • Internet of Things (IoT) blog
    • Operating Systems blog
    • Research Articles
    • SoC Design and Simulation blog
    • Tools, Software and IDEs blog
    • 中文社区博客
  • Support
    • Arm Support Services
    • Documentation
    • Downloads
    • Training
    • Arm Approved program
    • Arm Design Reviews
  • Community Help
  • More
  • Cancel
中文社区
中文社区
中文社区博客 Arm A-Profile 构架发展2020
  • Blogs
  • Forum
  • 视频和文件
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • Jump...
  • Cancel
  • New
中文社区 requires membership for participation - click to join
More blogs in 中文社区
  • ARM中国大学计划博客

  • Arm新闻

  • 中文mbed博客

  • 中文社区博客

  • 恩智浦汽车电子MCU讨论区博客

 

Tags
Actions
  • RSS
  • More
  • Cancel
Related blog posts
Related forum threads

Arm A-Profile 构架发展2020

Zenon Xiu (修志龙)
Zenon Xiu (修志龙)
January 25, 2021
Less than one minute read time.

本文翻译自 

https://community.arm.com/developer/ip-products/processors/b/processors-ip-blog/posts/arm-a-profile-architecture-developments-2020

原作者:  Martin Weidmann

译者: Zenon Xiu

arm与有arm构架授权的公司和生态合作伙伴一起,持续地演化arm CPU构架,开发新的功能来满足现有和新市场的要求。

这篇Blog讨论了2020年A-profile构架的一些关键新技术。

这篇Blog也介绍了未来构架技术新增的2项功能,提前提供了还没有发布的构架信息。

我们的技术网页会提供完整的指令集和系统寄存器信息

https://developer.arm.com/products/architecture/cpu-architecture/a-profile

完整的包含2020年扩展和之前功能的armv8-A构架参考手册(Arm ARM)会在2021年早些时候发布。XML格式的文档很快会发布,届时我们会发出链接。

(译者:这篇翻译发布时,XML文档已经发布,链接为  https://developer.arm.com/architectures/cpu-architecture/a-profile/exploration-tools )

 

之前的A-profile构架更新信息可以在这里找到, 2014, 2015, 2016, 2017, 2018 and 2019.

增强对设备的热拔出支持       

作为2020年构架扩展的一部分,arm增加了识别高时延设备的能力。TLB失效操作(TLBI)和屏障指令一起来实现这个属性。

PCIe这类技术允许设备热拔出。热拔出可能发生在CPU对这个设备还有没有完成outstanding请求的时候。当这个设备被拔出的时候, PCIe RootComplex会在一段 timeout时间后发出一个默认响应,这个时间一般大约是50ms。

我们预期对和这个被拔出设备直接打交道的软件有一定影响,但是我们希望减少其他,不相关任务的影响,考虑到以下情形,

图1,热拔出导致TLBI响应延迟

核1访问过被拔出的设备,现在正在等待设备的响应。

核2广播一个与设备不相关的TLBI操作并等待核1的确认(因为有DSB @Core2)。理想情况下, 核1会很快响应,因为它没有TLBI对于地址的 outstanding传输,但是,有些微构架不追踪已发出传输对应的地址转换(包括TLB)。为了满足构架定义,核1 在响应TLBI之前必须等所有的传输完成,导致核2也需要等到PCIe timeout。

我们引进了 XS属性作为避免这个问题的有效手段。为PCIe设备建立的映射设置为XS=1,表示有可能有长延迟。对于如RAM这样的区域,标志为XS=0. CPU核可以追踪一个outstanding传输是否被标志为XS=0 /1即可,而不需要记录完整的原始转换关系(address translation)这使得核2对XS=0地址的TLBI操作可以得到快速响应。

图2 使用XS属性避免TLBI响应延迟

64字节原子读写操作      

在针对企业应用的系统里的一个趋势是,引入对加速器进行64字节原子读写操作的支持。它们用作操作设备里的队列,有些时候也用来发送入列成功/失败的信号。

 为了支持这个加速器的新需求,构架增加了64字节原子读指令(LD64B)和3条原子写指令(ST64Bx).

有timeout的WFE 和WFI       

WFE和WFI指令可以使核进入到Standby模式,比如,在等一个资源可用的时候。如果没有一个唤醒事件和中断的情况下,核呆在standby模式中的时间是没有限制的。这是WFI/WFE指令的局限性。

为了克服这个问题,引入了新的WFI/WFE的变种指令,它们会和一个计数器值相关联。CPU核会在CNTVCT_EL0 虚拟计数器达到或超过一个设置值时退出standby模式。这允许软件设置一个CPU在 standby模式的最大时间。

 

其他功能       

2020年构架扩展还包含以下小的功能

  • 支持在52bit虚拟和物理地址下使用4KB和16KB的页表

  • 对PAN的增强

  • 支持MTE的异步错误处理

  • 增强PMU和SPE

 

未来构架技术       

作为2020年构架增强的一部分,arm引进了2个对未来构架技术的扩展。未来构架技术是还没还有公布的,但是我们想提前分享的信息,以帮助我们的生态做好准备。

Call-Stack Recorder Extension(CSRE)和 Branch-Record Buffer Exstension(BRBE)目的是提高在arm上开发软件的体验。通过增加代码是如何执行的可见性来提升体验。这些信息可以用作调试,分析(profiling),找热点(hot-spots),反馈驱动的优化(Feedback Driven Optimization (FDO))及其他用途。

CSRE提供了影响较低的机制,记录和unwind调用栈的方式。当前调用栈(call stack)的实时视图被记录在内存中,在这里它可以被有效地抓取给到性能分析,或是被调试器解释。

BRBE抓取最近的跳转序列,并以容易解释的格式呈现。这个信息可以用作调试或是给分析工具找热点和AutoFDO。

 

总结       

这篇blog提供了一个armv8.7-A构架和未来构架技术最新功能的简要介绍,更多的信息很快会在我们的开发者网站出现(developer.arm.com)

下一步的工作是和包括Linaro在内的生态合作伙伴一起,使能开源软件,并且当硬件可用时这些功能可用。加入Linaro Connect学习更多2020构架扩展知识并参与讨论。

(译者:到翻译此文时Martin已经在Linaro Connect 2020 会议上分享,Slide和视频可以在这里下载 https://connect.linaro.org/resources/lvc20/lvc20-214/)

Anonymous
  • Zenon Xiu (修志龙)
    Offline Zenon Xiu (修志龙) over 2 years ago in reply to Jackzhu

    可以参见 https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/architecture-support

    • Cancel
    • Up 0 Down
    • Reply
    • More
    • Cancel
  • Jackzhu
    Offline Jackzhu over 2 years ago
    • 与之相关的编译器版本信息是否也一并介绍一下?
    • Cancel
    • Up 0 Down
    • Reply
    • More
    • Cancel
中文社区博客
  • Arm A-Profile构架2022扩展

    Zenon Xiu (修志龙)
    Zenon Xiu (修志龙)
    原文:Arm A-Profile Architecture Developments 2022 - Architectures and Processors blog - Arm Community blogs - Arm Community  作者:Martin Weidmann翻译:修志龙(Zenon Xiu) 与arm构架授权和生态伙伴一起,arm持续演进其构架,开发新功能以满足现有和新市场的要求…
    • October 17, 2022
  • 深入理解 Arm A-profile的non-maskable interrupt -NMI

    Zenon Xiu (修志龙)
    Zenon Xiu (修志龙)
    原文: https://community.arm.com/arm-community-blogs/b/architectures-and-processors-blog/posts/a-profile-non-maskable-interrupts  翻译: 修志龙 Zenon Xiu Arm A-profile构架一个长久以来的局限性是:缺乏对non-maskable interrupt (NMI…
    • August 24, 2022
  • Arm A-Profile 构架2021扩展

    Zenon Xiu (修志龙)
    Zenon Xiu (修志龙)
    原文: https://community.arm.com/arm-community-blogs/b/architectures-and-processors-blog/posts/arm-a-profile-architecture-developments-2021 Martin Weidmann September 8, 2021 翻译注释:Zenon Xiu Arm与arm构架授权公司及生态伙伴一起…
    • August 17, 2022