論理回路 

目次


第1節 メインメモリー

第2節 逐次制御カウンター

第3節 命令レジスター

第4節 リングカウンターによる制御とCPUの構造


テスト

Logをみる

Back
 

第7章 CPUの働き

   第7章 CPUの働き

 第1節 メインメモリー

 コンピュータは「中央処理装置 central processing unit 略してCPU」を中心として、そこにメモリー(メインメモリともいう。main memory)が付加されたものだといえます。CPUは情報処理をするところで、メインメモリはプログラムやデータを記憶しておく場所です。次の図はその構成を示したものです。

 CPU+メインメモリは1体として動きますが、それは一つの(同期式の)順序論理回路なのです。CPUに通常働きを同期させるためのクロックパルスを入れてやります。

 プログラムはメインメモリのある領域に、二進のデータ(命令語といいます。instruction word)として存在します。CPUはその領域からデータバスというデータの通り道を通して順に命令語を取り入れます。

 命令語はそれぞれに固有の順序論理回路を起動します。例えばCPU内の2つのレジスターにある二進数を加算回路に送り結果をまた一つのレジスターに格納する、といった動作を行います。ひとつの命令語が実行されますと、メインメモリーにある次の命令語がCPU内に読み込まれ、次の動作が行われます。

 コンピュータの基本的動作はそのようなものです。

 命令語やデータが格納されたメインメモリーは、8ビットが1つの単位になり、それが何百万個も並んでいます。そしてそれらには二進数のアドレスが振られています。

 例えば16ビットの2進数によるアドレスですと約64000(64KB)あります。32ビットですと2^64 = 4.29GB (ギガバイト=1000メガバイト)になります。

 メモリーのどの番地にある命令語を取り出すべきかは、アドレスバスという道を通してCPUからその番地を二進数で指定します。

 計算結果などをメモリのどの番地に格納すべきか、もCPUからアドレスバスを通じて指定します。  メインメモリーは簡単に言うとSRフリップフロップの集まりです。下の図は(ごちゃごちゃしていますが)8バイトのメモリを表し、その番地を3ビットで表しています。但し、各番地の1バイトのうち、はじめの1ビット分のみが描かれています。

 実はこれは実際の半導体のメモリーと少し異なります。実際のメモリーでは「ワイアードオア wired or」といってORゲートを使わずに出力同士を直接短絡させて、それでORゲートの機能を果たす、などの工夫をし、回路を単純化しています。

 しかし、論理回路としての考え方はこの図の通りです。縦の破線はメモリーへ書き込むタイミングを与えるwrite 信号の線を表します。縦の一点鎖線はメモリーから読み出すタイミングを与えるread 信号の線を表します。