オルタナティブ・ブログ > 路の上で >

日頃考えていることをぽちぽち書きます。

今年のスマホ/PC向けArmプロセッサーから32bit対応が無くなった

»

ついにスマホ/PC向けArmプロセッサーからも32bit対応がなくなりました。今回発表されたのはCortex-X4、Cortex-A720、Cortex-A520で、今までは高効率コアに32bit対応が残っていましたが、今回から無くなったそうです。
Armの64bit仕様が発表されたのが2011年ですから、10年以上経っています。さすがにスマホやPCでは32bit対応は不要でしょう。

Arm社の発表は以下のとおり。
Armベースのモバイルの未来を実現する、 最新版「Arm Total Compute」ソリューションを発表

いずれのCPUも仕様はArmv9.2-Aです。

今回の発表の中で気になったのは、セキュリティ機能のPointer Authentication (PAC)とBranch Target Identification (BTI)で、少し調べてみました。

PACは既にArmv8.3-Aで導入されていました。64bitポインター中のアドレスとしては使用しない上位bitに署名を格納し、利用時に署名検証することで、悪用されにくくするそうです。具体的には、ポインター生成時に署名を格納し、ポインター利用時に署名検証しています。以下の説明に例として書かれていたのは、関数の戻り先アドレスです。
Return-oriented programming

BTIも既にArmv8.5-Aで導入されていました。間接ジャンプ先の範囲を指定することで、悪用されにくくするそうです。また、本機能は、仮想記憶のページ単位に設定するとか。説明は以下。
Jump-oriented programming

上記二つのために追加された命令は、サポートされていないCPUではNOP (何もしない)命令になるそうで、よく考えられていますね。

Comment(0)