1. ホーム
  2. x86

[解決済み】ARMアーキテクチャはx86とどう違うのですか?[クローズド]

2022-04-02 23:37:04

質問

ARMがモバイルを想定しているのに対し、x86アーキテクチャはキーボードで操作することを想定して特別に設計されているのでしょうか。両者の主な違いは何でしょうか。

解決方法は?

ARM RISC (Reduced Instruction Set Computing) アーキテクチャであるのに対し x86 CISC (Complex Instruction Set Computing)のもの。

この点での両者の違いは、x86がメモリ上でも直接操作できるのに対し、ARMの命令はレジスタ上だけで操作し、メモリへのデータのロードやセーブを行う命令もいくつかあるということです。v8までのARMはネイティブの32ビットアーキテクチャで、4バイト演算を優先していた。

つまり、ARMはよりシンプルなアーキテクチャであるため、シリコン面積が小さく、省電力機能が豊富なのに対し、x86は消費電力と生産性の両面でパワービーストと化しているのです。

ご質問の「quot」について。 ARMがモバイルを想定しているのに対し、x86アーキテクチャはキーボードで動作するように特別に設計されているのでしょうか? "。 x86 は、キーボードで操作するために特別に設計されたものではありません。 ARM モバイル向け しかし、これもまたコアアーキテクチャの選択のため、実はx86にも IO ARMにはない。しかし、USBのような特殊なIOバスがあるため、そのような機能の必要性はなくなってきています。

引用する文書が必要な場合は、次のようになります。 Cortex-Aシリーズ プログラマーズガイド(4.0) は、RISCとCISCのアーキテクチャの違いについて説明しています。

<ブロッククオート

ARMプロセッサは、RISC(Reduced Instruction Set Computer:縮小命令セットコンピュータ)です。 プロセッサーです。

CISC(Complex Instruction Set Computer)プロセッサは、例えば x86は、複雑なことを行うことができる豊富な命令セットを持っています。 1つの命令で このようなプロセッサーは、しばしば重要な マシン命令をデコードする内部ロジックを大量に搭載しています。 内部演算のシーケンス(マイクロコード)。

一方、RISCアーキテクチャは これに対して、より汎用的な命令の数は少なくなっています。 そのため、より少ないトランジスタで実行できる可能性があります。 シリコンがより安く、より電力効率に優れている。他のRISCと同様に ARMコアは、多くの汎用的なアーキテクチャを備えています。 レジスタがあり、多くの命令が1サイクルで実行されます。また シンプルなアドレッシングモードでは、すべてのロード/ストア・アドレスが レジスタの内容と命令フィールドから決定されます。

また、ARM社では、以下のタイトルの論文も提供しています。 アーキテクチャ、プロセッサ、およびデバイスの開発に関する記事 これらの用語がどのように自社のビジネスに適用されるかを説明しています。

命令セットアーキテクチャの比較例。

例えば、アプリケーションでバイト単位のメモリ比較ブロックが必要な場合(コンパイラで生成されるので詳細は省略します)、次のようになります。 x86

repe cmpsb         /* repeat while equal compare string bytewise */

の間に ARM 最短の形は次のようになります(エラーチェックなどを行わない場合)。

top:
ldrb r2, [r0, #1]! /* load a byte from address in r0 into r2, increment r0 after */
ldrb r3, [r1, #1]! /* load a byte from address in r1 into r3, increment r1 after */
subs r2, r3, r2    /* subtract r2 from r3 and put result into r2      */
beq  top           /* branch(/jump) if result is zero                 */

を見れば、RISCとCISCの命令セットの複雑さがどのように違うのか、ヒントが得られるはずです。