CPUの設計

CPU(Central Processing Unit)を設計するにあたって以下の本を参考にした。名著なのでぜひ。

 

コンピュータの構成と設計 第5版 上

コンピュータの構成と設計 第5版 上

 
コンピュータの構成と設計 第5版 上・下電子合本版

コンピュータの構成と設計 第5版 上・下電子合本版

 

CPUは一連の命令に従って、CPU内の記憶領域(レジスタ)を操作する装置である。 

最も簡単なCPUは、計算を実行するALU(Arithmetic and Logic Unit)、記憶を行うレジスタ、命令を格納するバッファで構成される(多分)。

f:id:denchu314:20190227211845p:plain

 

上記CPUでは4本の記憶領域を持つレジスタがあり、各レジスタにはアドレスが割り振られている。

また、4個の命令を格納できる命令バッファがある。

 

このCPUにおいて命令が実行される様子を次に示す。命令バッファの中には、「アドレス0とアドレス3を足してアドレス2に結果を入れろ」という加算命令、「アドレス0からアドレス3を引いてアドレス3に結果を入れろ」減算命令が入っているとする。また、レジスタの中には、アドレス0、1、2には0、アドレス3には1の値が入っているとする。

各命令の実行は以下の通りとなる。

f:id:denchu314:20190227212930p:plain

f:id:denchu314:20190227212931p:plain

f:id:denchu314:20190227213011p:plain

これがCPUの本質的な動作となる。
しかし、このCPUでは動かすたびにレジスタや命令バッファに書き込む必要がある上に、それぞれ記憶領域が4個しかないため、大規模な計算を実行できない。そこで、命令や値を大量に記憶しておくため、メモリが用いられる。