コンピュータアーキテクチャ 第4章



4 プログラム & データ

 

4,1 主メモリの使い方

 フォンノイマン型コンピュータでは普通主メモリは1語単位に情報を記憶する。

 1語のビット長は32ビットの場合がほとんどである。

 主メモリの全ての語に各々の番地が与えられている。

 

4,1,1 プログラム内臓

 主にメモリ無い荷コンピュータの動作手順が内蔵されている。

 プログラムは命令とデータとから成る。

 

4,1,2 命令語とデータ語

 命令もデータも1語を基本多淫イとして、2進数の形で表現され、格納されている。

 つまり、命令語とデータ語の区別はできない。

 

4,1,3 主メモリからの読み出し

 命令語もデータ語もすべてメモリに対して番地指定して、読み出し要求信号を送れば読み出せる。

 読み出した番地の記憶内容は変化せずにその番地に保持されている。

 

4,1,4 主メモリへの書き込み

 書き込みたい番地を指定し、書き込みたいデータを指定し、書きこみ要求信号を送れば、主メモリの

 番地の内容を書きかえることが出来る。

 

4,1,5 命令の逐次実行

 フォンノイマン方式のもうひとつの特徴は命令を1個づつ主メモリからCPUへ取り出して実行することである。

 実行が終わると次の命令が取り出される。

 コンピュータは複雑な命動作も膨大な動作もやってのけるが、根本の部分では単純な命令を1個づつ逐次実

 行しているに過ぎない。

 

4,1,6 プログラム内臓の意味

 「プログラム内臓」と「命令語とデータが同一形式」というフォンノイマン方式の特徴が今日のコンピュータに

 次のような柔軟性を与えることになった。

 

 (1) 或るプログラムが別のプログラムを単なるデータとして見立てて

    移動させたり、部分変更したり消去したり出来る。

 (2) 或るプログラムが自分自身のプログラムの一部を状況に応じて

    変更することができる。

 

 OSがソフトを表に出したり裏に引っ込めたり出来たりするのはこのような特徴のおかげである。

 

4,2 命令サイクルとCPU内でのプログラム&データの記憶

 フォンノイマン方式に従ってCPUと主メモリのやりとりを行う具体的なインターフェイスはどうなるか?

 その状況を下図に示す。

  図4,2 フォンノイマン型コンピュータの基本構造

 

4,2,1 命令の実行手順のあらまし

 CPUは命令を1個づつ主メモリから読み出し、その命令に指示に従って演算実行する。

 1個の命令の読み出し開始から実行終了までを1個の命令サイクルと呼ぶ。

 一つの命令サイクルを終了すると次の命令サイクルが始まる。

   図4,3 命令サイクルの繰り返し

4,2,2 レジスタとは

 図4,2のCPUには3個のレジスタがある。レジスタとは1語の命令やデータを保持するところである。

 CPU内には目的に応じて複数個のレジスタが存在する。メモリの番地を保持するメモリ番地レジスタ

 や命令をその実行サイクル中保持する命令レジスタがそれにあたる。

 

4,2,3 レジスタの機能

 レジスタの具体的な目的は種々あるが、共通の機能はデータや命令を保持(記憶)することである。

 また当然ながら、保持すべきデータを外部からレジスタへ送り込む(セットする、ロードする)こと、保持

 しているデータを外部へ信号として示すことも不可欠である。

 

4,2,4 レジスタの構成

 レジスタには1語のデータや命令が記憶される。

 1語は32ビットのものが多いが、ここでは以後の説明を簡単にするために1語16ビットとする。

 その場合、1個のレジスタは16ビットのデータをデータを記憶しなければならない。

 1個の回路素子FFは1ビットを表現できるのでこの場合のレジスタは16個のFFで構成される。

 

4,2,5 FFの原理とクロックパルス

 FFがCPUのレジスタの構成要素として満足に働くためには次の3つの動作を行わなければならない。

 

 1. 外部からの入力信号を受け取って「1」状態になったり「0」状態になったり出来る。

 2. 外部からの入力信号が無い場合、自己の状態(「1」OR「0」)を維持できる。

 3. 外部に対して自己の状態を伝えることが出来る。

 

 これらを実現するためにクロックパルスが考案された。

 クロックパルスは正確な時間周期で発生する+5Vの繰り返しパルスであり、CPU内の全てのFFに加えられる。

 FFはクロックパルスの到来している期間中のみ外部信号から影響を受け、それが「1」か「0」に対応してパルス

 が落ちる瞬間に自身の状態(「1」OR「0」)を変化させる。

 そして、クロックパルスが来ない期間は、自身の状態を保持する。

 

4,2,6 クロック同期

 FFはクロックパルスが入ったときのみ動作(状態変化)する。詳しくはクロックパルスの立ち上がりエッジもしくは

 立ち下りエッジのいずれかで動作する。

 FF1個は1ビットの信号を受け取り、記憶することが出来る。FFを16個集めると16ビット=1語の信号をまとめて

 受け取り、それを記憶できる。つまり、16個のFFで1個のレジスタを形成できる。

 もし、CPU内に10個のレジスタがあるなら160個のFFはすべて同時に動作する。

 このように、クロックパルスの時刻に従って一斉に動作するやり方をクロック同期式という。

 



戻るときはブラウザの機能で。