コンピューター・アーキテクチャを調べる

Implementing a One Address CPU in Logisim」の1.2Comparisons of Computer Architecturesの学習メモです。アドレスについては、http://news.mynavi.jp/column/architecture/115/が日本語の短い資料で分かりやすかったです。

wikipedia – 命令(コンピュータ)

0-Addressアーキテクチャ(0アドレス命令方式)

ALUはオペランドスタックから2つのオペランドをPOPし、演算結果をPUSHします。いわゆるスタックマシンです。例えばADD命令の場合、加算する対称はスタックの先頭とその次と分かっているので、オペランドが必要ありません。

JavaのJava Virtual Machine、.NET Common Language Runtime(CLR)が0-address(スタック)アーキテクチャを採用している。

One-Addressアーキテクチャ

Accumulator(AC)を持つ所謂レジスターマシン。ADD命令の場合、ADDI 5なら、Accumulator + 5 を計算し、計算結果を、Accumulatorに保持します。

アキュムレーター・アーキテクチャとも言います。Intel 8080、PDP-8

Two/Three-Addressアーキテクチャ

two/three-address load/store computer

3-address program

演算結果のレジスターを指定可能。

PowerPC、SPARCなどのRISC系でよく使われる。

2-address program

演算結果のレジスターは、オペランド入力で使ったレジスター。この場合は$R0

Intel/AMD x86アーキテクチャで使われています。

Von Neumannアーキテクチャは、プログラムとデータが同じメモリ上にあり、ハーバード・アーキテクチャは、プログラムとデータが別々にあります。ハーバード・アーキテクチャはAVRやPICなどで使われています。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA