各位用户,
本周,ARM上海的两位资深工程师:ARM技术服务事业部应用工程经理gdragon (范敏琳)和应用工程软件团队负责人zenonxiu (修志龙), 为大家带来了一场精彩的关于ARMv8的技术研讨会,可能有很多用户不一定有时间现场参与,现在,请让我给大家分享相关资料,此次活动相关视频和后续Q&A问题,我会在此帖持续更新,请大家关注此帖,另外,如果您有其他的问题,欢迎在本帖下提问,我们会邀请两位专家抽时间位大家解答疑惑。谢谢
研讨会主题介绍:让专家给您详细讲解ARMv8技术-网上研讨会预告
1. 研讨会PPT资料,请参考本帖附件
2. 研讨会视频
3. 研讨会Q&A第一部分:
1. What is the best document to read to get an overview of ARMv8?
关于ARMv8概述最好的的文档是哪个?
The ARMv8-A architecture pages on the website have some introductory presentations and white papers which you can download. Look here: http://www.arm.com/products/processors/instruction-set-architectures/armv8-architecture.php?tab=ARMv8+Resources. If you are feeling brave, you can read the ARMv8-A Architecture Reference Manual!
ARM的官方网站ARMv8-A架构的页面上有一些介绍性的讲义和白皮书,你可以免费下载:http://www.arm.com/products/processors/instruction-set-architectures/armv8-architecture.php?tab=ARMv8+Resources.
当然如果你有足够的勇气,也可以挑战去读一下ARMv8-A架构手册。
2. Will a program compiled for ARMv7-A run on an ARMv8-A processor?
为ARMv7-A编译的程序是否能运行在ARMv8-A处理器上?
An ARMv8-A processor running in AArch32 execution state is backwards compatible with ARMv7-A so application programs should run without change. System software may need some changes to match changes in the way the system is managed and configured.
当ARMv8-A处理器运行在AArch32执行状态时,它向后兼容ARMv7-A,所以软件可以直接运行而不需要修改。系统软件可能需要做些许修改来适应系统的配置管理方法。
3. How much does remote training cost?
远程培训的费用是多少?
Live Remote training is priced at US$1k per student per day (eight hours) of training. We do impose a minimum purchase, though, of US$4k per day. Please contact us for pricing if you have a specific requirement. Have a look at our training courses at: http://www.arm.com/support/training/arm-training-courses/index.php?tab=3
实时的远程培训费用是每个学生每天$1,000美金(8小时的培训)。但我们有设定最低购买要求为每天$4,000美金。如果你有特殊要求,请直接联络我们,也可以在以下链接中浏览我们的培训课程:
http://www.arm.com/support/training/arm-training-courses/index.php?tab=3
4. Can you deliver remote training in Chinese?
培训课程可以是中文的吗?
Yes, we can
当然可以,我们有中文技术培训老师。
5. In the ARM documentation slide you use the term "GIC" - what does that mean?
在ARM的文档我讲义里有‘GIC’,这是什么?
This stands for “Generic Interrupt Controller” an interrupt controller architecture which is shared across a wide range of our cores. You can find the GIC specification here: http://infocenter.arm.com/help/topic/com.arm.doc.ihi0048b/index.html
GIC 即“Generic Interrupt Controller”,这是一个在ARM核里广泛使用的中断控制器,你可以在以下链接里找到GIC的特性:
http://infocenter.arm.com/help/topic/com.arm.doc.ihi0048b/index.html,
6. If w0 and x0 are the zero registers, and the registers go from w0 to w30, then it would seem that there are only 30 general purpose registers (e.g. w1 to w30) Do w31 and x31 exist?
如果w0和x0是零寄存器,就有w0到w30寄存器,那么好像只有30个通用寄存器(例如 w1到w30), w31和x31存在吗?
W0 and X0 are not the zero registers – this is a common confusion – they are perfectly normal general purpose registers. The coding for register 31 is used in instructions to encode either the zero register or the stack pointer – which one is used depends on the individual instruction. So, there are 31 general purpose registers, X0-X30 (or W0-W30), with the coding for register 31 being reserved.
X0/w0 are regular general purpose registers (although I can see you might be confused!). The zero register is referred to as xzr or wzr.
So you have 31 general purpose registers (x0-x30/w0-w30) and the zero register (xzr/wzr).
W0和X0不是零寄存器,这是比较容易混淆的。他们只是一般的通用寄存器。寄存器31在指令编码里可以用来编码零寄存器和堆栈指针,到底用作哪一个取决于具体指令。所以有31个通用寄存器, X0-X30(或W0-W30),寄存器31的编码是预留的。
X0/w0是一般通用寄存器(虽然你可能会混淆),零寄存器引用为xzr或wzr。
所以有一共有31个通用寄存器(x0-x30/w0-w30)和零寄存器(xzr/wzr)。
7. Is there a way to write code for 64 bit but compiler understands and converts directly to the 32 bit code?
有什么办法我们写64位的代码但编译器可以理解并直接转换成32位代码?
Software written in a high level language can, as you would expect, be compiled for either 32-bit or 64-bit execution. There is no automated tool for translating assembly code between the two.
你可能知道,用高级语言写的软件可以编译成32位或64位执行代码,没有一个自动转换工具可以转换32位和64位的汇编代码。
8. Is the Technical Reference Manual is available for download?
技术手册是否可以下载?
Yes, you can download the Technical Reference Manuals (TRM) for all our released cores from http://infocenter.arm.com. You can also find the ARMv8-A Architecture Reference Manual. Note that you will have to register on the site and agree to a short click-thru licence before you can download some of these documents.
是的,你可以从http://infocenter.arm.com下载我们所有已发布的处理器技术手册和ARMv8-A架构手册。请注意,在下载之前你需要在这个网站注册并同意使用协议。
9. Is an embedded assembler for ARMv8 supported by ARM Compiler?
ARM编译器支持ARMv8的内嵌汇编吗?
是的, DS-5支持64位A64内嵌汇编。
10. Is the intermediate translation also cached in TLB or is it required to be cached somewhere else?
中间部分的转化也会缓存在TLB里吗?或是缓存在其他地方?
This is an implementation detail which is largely hidden from the programmer. It varies from core to core but, yes, some TLB implementations do cache the intermediate translation, whereas others cache the entire end-to-end translation. Some do both!
这是处理器实现细节,软件工程师应该是看不到的。每个CPU的处理都不一样,但是有的TLB实现的确缓存中间部分的转化,而有些只缓存最终的转化,另一些则两个都缓存。
11. I'd like to know a bit more about Thumb execution in 64-bit mode?
我想知道更多关于64位模式下执行Thumb的信息。
An ARMv8-A core supports three instructions sets. In AArch32 execution state, it executes A32 (ARM) and T32 (Thumb); in AArch64 execution state, it executes A64. So, in 64-bit AArch64 execution state, the Thumb instruction set is not supported. It is fully supported in AArch32.
ARMv8-A处理器支持3种指令集,在AArch32执行状态,它可执行A32(ARM)和T32(Thumb)指令。在AArch64执行状态,它执行A64指令。所以在64位执行状态,Thumb指令集是不支持的,Thumb指令在AArch32下完全支持。
12. What are the target CPUs for ARMv8-A?
现在有哪些ARMv8-A处理器
Currently, Coretx-A53, Cortex-A35,Cortex-A57 and Cortex-A72 support ARMv8-A.
现在有Coretx-A53, Cortex-A35,Cortex-A57 and Cortex-A72.
13. Has the ILP32 ABI been finalized?
ILP32 ABI 是否完成?
It is currently at beta status.
现在是beta状态
14. Could you please repeat the point where you explained why EL2 is not available in Secure state?
请你重复一下为什么EL2在Secure状态下没有?
EL2 is generally used for supporting hypervisors and we believe that hypervisors are not really compatible with the need to keep Secure world software simple.
EL2通常是用来支持虚拟化,我们认为在现实中虚拟化和安全状态需要保持软件简单的要求是不符的。
15. Can you put the URL for downloading the manual?
请给出手册的下载链接
All our documents can be downloaded from http://infocenter.arm.com.
所有文档都可以在http://infocenter.arm.com 下载
这个有点老,可以到Arm优酷频道里面查找