ARMv8

読み:アーム・ヴィーエイト
外語:ARMv8 英語
品詞:名詞

ARM命令セットアーキテクチャーVersion 8のこと。64ビット対応を特徴とする。

目次

AArch64ステートAArch32ステートの2つのステート(実行モード)を持ち、新命令セット「A64」が定義される。

旧来のARM命令セットは「A32」、ARMの短縮命令セットThumb命令は「T32」と呼ばれ、この二つはAArch32の命令セットである。AArch32はARMv7の延長上にあり、ARMv8はARMv7を完全に内包するとしている。

64ビットARM搭載の最初の純正のコアは、Cortex-A50シリーズのCortex-A53/Cortex-A57であり、これらは2013(平成25)年4月2日にテープアウト(設計完了)したと発表されている。

64ビット化

AArch64は、31本の64ビット汎用レジスターと、1本のゼロレジスター、32本の128ビットメディアレジスターを持つ。

従来、汎用レジスターに割り付けられていた、スタックポインター(r13)、リンクレジスター(r14)、プログラムカウンター(r15)は汎用レジスターから分離され、専用レジスターが用意された。

汎用レジスターはx0からx30までの31本。レジスターが64ビット長になるのは64ビットマイクロプロセッサーとして必然だが、この数が倍に増やされるのはメモリーなどへの退避を減らし効率を上げるためであると説明されている。

フォーカス

64ビット化されたARMv8は、まずサーバー用途をフォーカスしていた。

ARM公式のARM Cortexコアよりも前に、まずサードパーティー製の64ビットプロセッサーが細々とサーバー用途に使われ始めた段階であった。

それに対してAppleは、Apple A7として2013(平成25)年に初めてスマートフォン分野に持ち込んだ。他社も2014(平成26)年に市場投入予定だが、それまでは独走状態である。

アドレス空間

命令セット

ステート(実行モード)と命令セットは、次の種類を持つ。

  • AArch64ステート
    • A64 ‐ 64ビットの命令セット
  • AArch32ステート
    • A32(またはARM) ‐ 32ビットの従来の命令セット
    • T32(またはThumb) ‐ Thumb-2命令セット

「A64」のオペコード自体は32ビットで、これに32ビットまたは64ビットのオペランドが続くことがある。つまり32ビット、64ビット、96ビットの3パターンでの不定長となる。

RISCなのに可変長にするあたり、相変わらずARMはRISCらしくない。

互換性

AArch64ステートに対応するOSは64ビットOSとなるが、ARMv8は従来の32ビット命令を全てサポートしている。

従って、ARMv8を用いた64ビットOSでも、従来の32ビットアプリケーションをそのまま動作させることができる。

A64

32ビットから始まったARMは、64ビット化に伴って命令セットを一新した。

64ビット化では、64ビット演算による高速化や、従来の32ビット(4Giバイト)を超えるメモリー空間が使えるようになるなどのメリットがある。

しかし64ビットARMのAArch64ステートにとってまず重要な高速化は、命令セットを一新したことがその最大の要因となっている。従来のARM命令セット(A32/T32)はRISCとは思えないほどに複雑だったが、今回の命令セット(A64)ではモダンなRISC風へと変更されたため、より高速な処理が可能となったようである。

また、RISCで16本のレジスター(うち汎用レジスターは13本)はかなり少ないが、A64では汎用レジスターが倍以上の31本に増やされ効率化したり、プログラムカウンターなどを専用レジスタ化したり、モードごとのレジスター切り替えなどを簡略化するなどして効率化したことも大きい。

条件付き実行

ARMアーキテクチャーの特徴となっていた条件付き実行は、分岐、比較、選択など特定の命令のみとなり、全命令に条件が付くことはない。

従来、条件付き命令を使えばユークリッドの互除法が僅か4命令で処理できることが「売り」となっていたが、現実には条件付き命令はあまり使われていない機能であり、また分岐予測の設計も複雑にしていたという。

64ビット命令セット(A64)では、64ビット命令だが命令長は32ビット長とした。しかし、単純に考えても、レジスターが倍に増え4ビットから5ビットに増えており、2つのソースと1つのデスティネーションで計3ビット分を新規に確保する必要があったため、有用でなかったこの条件フィールドは削除され、命令は簡素化されることになった。

RISCらしくなかったARMが少しRISCらしくなった、とも言える。ARMの歴史上で最も大きな変革であると言える。

コア

用語の所属
ARMアーキテクチャ
関連する技術
ARMv4
ARMv5
ARMv6
ARMv7
Apple A7
AArch64

コメントなどを投稿するフォームは、日本語対応時のみ表示されます


KisoDic通信用語の基礎知識検索システム WDIC Explorer Version 7.04a (27-May-2022)
Search System : Copyright © Mirai corporation
Dictionary : Copyright © WDIC Creators club