The Armv8 architecture extends the AArch64 and AArch32 instruction sets with dedicated instructions for AES encryption, SHA-1 and SHA-256 cryptographic hashing, and 64×64 to 128 polynomial multiplication, and implementations of the various algorithms that use these instructions have been added to the Arm and arm64 ports of the Linux kernel over the past couple of years. Given that my main focus is
Life with Web Browser Engine (Gecko, WebKit and etc), Mobile and etc. CPUが自分自身で暗合用命令を持つのは、x86だとVIAのC7くらいが最初だったと思うけど、ARMもARMv8はCPU自体に持つことになった (TIのOMAPとかはDSPにアクセラレータが入ってた記憶があるけど)。aarh64でもコンパイル時にオプションが必要なので標準命令に入ってないっぽいからIP的にはオプションなのかも。 IntelでもNehalemで同様にAES用の命令が追加されていて、既にOpenSSLとかNSSとかLinuxカーネルとかで既に使われてる。 ARMv8ではAES用、SHA1用、SHA2用の命令が追加されているのだけど、今日はAESの話。 まず最初にAESの暗号化のアルゴリズムを簡単に説明すると、 AddRoundKey for
iPhoneでインラインアセンブラを使う「プログラム編」を始めます。先に記載した「資料編」で紹介した資料の入門部分をざっと読んでおいたり、一緒に見ながら進めると理解が進みやすいと思います。 準備 まず、プログラムに取りかかる前にいくつか気をつけることがあるので順に説明して行きます。 ARM命令、前提で解説 最近のARM CPUはARM命令とThumb命令という2つの命令が使用可能です。アセンブリで記述した場合、両方の命令を混ぜて使用できたりもするのですが今回はすべてARM命令で記述することとします。 なおそれぞれの命令には以下の特徴があります。 ARM命令 Thumb命令 1つの命令のサイズ 32bit 16bit プログラムのサイズ 大きい 小さい プログラムの起動 遅い 速い プログラムの動作 速い 遅い 容量を気にせず、起動してからの動作速度を優先する場合は「ARM命令を選択」、それ
This blog has been updated and formalized into a guide on Arm developer. You can find it here: Coding for Neon - permutation - rearranging vectors This article describes the instructions provided by Neon for rearranging data within vectors. Previous articles in this series: Part 1: Loads and Stores Part 2: Dealing with Leftovers Part 3: Matrix Multiplication Part 4: Shifting Left and Right Introdu
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く