2016-08-07 16 views
-3

32ビットアーキテクチャの場合、256バイトのメモリユニットにはどのくらいの命令を入れることができますか?32ビットアーキテクチャでは、256バイトのメモリユニットにいくつの命令を入れることができますか?

誰かがあなたにこの回答を得る方法を説明できますか?私は各命令が32ビットであることを知っています。私は答えが9であることを知っているが、私はその答えを得る方法を知らない。

1命令= 32ビット= 4バイト。

ことが可能で、それは32ビットアーキテクチャであれば、それは作るものの違いであれば、私は説明をしたいと思いますどのような4分の256 = 64

。それは指示権を指していますか?言い換えれば、もしそれが64ビットアーキテクチャであれば、それは意味するでしょう。各命令は64ビット= 8バイトなので、32命令しか収まらない。

正しいですか?

ありがとうございます!

+0

いいえ、プロセッサの命令はアーキテクチャのビット数に依存しません。たとえば、x86には可変長命令があります。また、これは非常に不明瞭であいまいです。 – milleniumbug

+0

答えは、256 ** mega **バイトで64命令と言っていますか?したがって、各命令は4MiBの長さですか? x86では、正しい答えは1バイトあたり1命令です。 32ビット固定長命令を持つMIPSのようなものでは、答えは256MiB/4B = 2^28/2^2 = 2^26命令です。 –

+0

@PeterCordes OPは、各命令が32ビットであることを示します。 IOW、「(4バイト)×64 = 256MB」。数学は完璧にうまくいく。うん。 – Mysticial

答えて

1

32ビットアーキテクチャでは必ずしも32ビット長の命令を使用するとは限りません。 32ビットは、メモリアドレスが32ビットなので、2 のアドレスが可能であることを示します(2 Byte = 4GiB)。レジスタには同じように多くのビットを格納できます。

命令はアーキテクチャによっては可変長になる場合があります。

たとえば、x86アーキテクチャ(16,32または64ビット)の場合、命令の長さは可変です。最大長は理論的には無制限です。現実の世界では、x86マシンの命令は15バイトに制限されています。 (See this answer

15バイトの制限が適用される場合、256バイトのメモリユニットに格納できる命令の最小数は256/15 = 17命令です。 x86マシン上でできる限り最短の命令は1バイト長であるため、256命令が適合します。 (x86 Wikipedia article

RISCアーキテクチャ(縮小命令セット)を使用している場合は、命令の長さが固定されていることがよくあります。たとえば、ARMアーキテクチャでは最初は32ビットの命令しか使用されなかったため、256/4 = 64命令がメモリユニットに入ります。現在のバージョンのARM(32ビットまたは64ビット)では、コード密度を高めるために32ビットおよび16ビットの命令が使用されているため、理論上はメモリユニットに最大128命令まで対応できます。 (ARM Wikipedia article

関連する問題