http://www.opengpu.org/forum.php?mod=viewthread&tid=6076&page=1&extra=#pid50796


关于讨论的两条新闻:

http://www.computerworld.com/s/article/9221262/ARM_goes_64_bit_with_new_ARMv8_chip_architecture

http://www.xbitlabs.com/news/cpu/display/20111028121928_ARM_Unleashes_ARMv8_64_Bit_Architecture.html

大致来说,ARMv8架构跟AMD和Intel的做法一样,采取64位兼容32位的方式。应用程序可以以32位模式执行,也可以以64位模式执行。


1.


ARM出了一份《ARMv8 Technology Preview》,内容不错,基本上把ARMv8的一些主要特性都讲明白了。
其中俺比较关注的一些特性有:
指令位数:指令仍然是32位的,不过文档里说的一个基于5位寄存器指示符的Clean decode table不知道是否包含在这32位里面,不过为了完全兼容ARVv7,估计也有可能是额外的5位。

31个通用目的寄存器:ARMv8在64位模式下与32位有很大不同。ARMv7中尽管也有31个通用目的寄存器,但栈指针寄存器(R13)以及指令指针寄存器(R15)都包含在其中,而且这31个是分段的,根据不同的执行模式(用户模式、监管模式、异常模式、系统模式等);而ARMv8中,这31个寄存器不作分段,而且将栈指针寄存器和指令指针寄存器排除在这31个通用目的寄存器外,它们两个是分段的。
分段的好处是,当执行中断处理时不需要将所有寄存器保存起来,有些寄存器是在某种模式下独立的,尤其是快速中断模式,所需要保存的寄存器很少。而不分段的好处是,在一般用户模式或系统模式下这31个寄存器都可用,这样可以大大减少对存储器的访问需求。

大量削减了带条件的指令:一般带条件的指令类别是分支、比较、选择。这样对于流水线比较长的处理器而言,分支所带的开销会增大,尽管ARMv8可能会引入比ARMv7更高级的分支预测单元。

SIMD寄存器:首先,ARMv8的寄存器将扩充到32个,目前ARMv7的SIMD是16个,而x86处理器只有在64位模式下才有16个SSE寄存器,而在32位模式下仅8个;新增了双精度浮点的向量操作,这个在ARMv7中是不可行的。除此之外,向量浮点操作将支持完整的IEEE754-1980,并支持IEEE754-2008的新增特性。

新增了AES指令:这个似乎在学Intel,呵呵~

总的来说,ARMv8的主旨还是在于提升性能功耗比,可用寄存器的大幅增加也减少了数据从存储器的换入换出,尽管对临时变量的访问几乎是100% L1 Cache命中的。


2.


RMv8的架构本身比x86具有优势~
比如像Atom处理器,仍然是先将指令译码为若干个微操作再送到执行引擎去执行的,从而执行时就好比是在执行RISC指令。
所以个人认为在功耗上应该会控制得比较好。估计ARMv8的处理器至少会采用28nm技术的制成工艺,现在Apple A6已经是28nm了,Apple A5处理器是45nm的。

当然,Intel的优势是在于硬件工艺,比如这次基于Ivy Bridge架构所采用的3D tri-gate技术,可以使得功耗大大减少;如果ARM处理器的开发商有好的制作工艺的话完全能把功耗控制好。




3.




ARM官方终于发布ARMv8的Profile了~看了一下非常恐怖!!
http://infocenter.arm.com/help/index.jsp点击进入后选择左侧的ARM architecture,再选择ARMv8 Instruction Set Overview,再在右边选择PDF Version需要注册一下。
基本跟上面的那个文档说得差不多,不过AArch64确实将指令集更丰富化了。取消了原本AArch32指令集中大部分可跟带条件的算术逻辑指令,取而代之的是非常丰富的带条件的选择、比较操作,比起x86的CMOV系指令要丰富灵活地多。算术逻辑操作中原本可带移位的操作中把很少用到的循环右移操作给剔除了。循环右移现在作为单独的指令而存在。
32个不分段GP寄存器(是x86_64的2倍);32个128位SIMD寄存器(是x86_64的2倍)。向量操作中又增加了不少整数向量操作。增加了整数除法指令(这个在AArch32中只有Cortex R系列才有)。
可以说,如果ARMv8运行在64位模式下的功耗不太大的话基本上直接秒杀Intel的Atom处理器了~这种配置确实足以取代大部分的高级DSP。包括Tim Cook都暗示后面可能在Mac上也使用基于ARM核的Apple A系列处理器。毕竟Apple从PowerPC(现在已改名为Power)架构转到x86架构也是有经验者。
Intel处理器目前的优势是相对的开放性(CPUID和部分Performance Monitor在用户模式可访问,而ARM处理器中CPUID必定是特权的,而Performance Monitor则要看OEM的脸色,大部分没有开放),以及强大的制程工艺。由于巨硬后面都称要支持ARM处理器,所以Intel后面的日子可能真的不太好过,现在正大力推广UltraBook。AMD现在脚步上本身落后于Intel(基于Bulldozer架构的APU刚刚推出,而且还是32nm的,人家已经把第二座桥都建好了~)GPU上么又被N给捉弄了一把~后面的道路也是比较坎坷~