この記事は、絵でわかる プログラムとは何か(1)~コンピューターの原理から~ の一記事です。
この記事は、電気のオン/オフをリレーする回路 からの続編です。
この記事のポイント
- メモリ(memory)は、膨大な数の極小充電池の集まり。
- 1個(最小単位)の極小電池による ON/OFF を、ビット(bit)と言う。
- 通常、ON / OFF パターンは、8 ビット = 1 バイト(byte) の倍数になっている。
- メモリに ON / OFF パターンをため込んで、同期回路に順次入力。
- 同期回路から出力される ON / OFF パターンも、メモリに記録。
- ただしメモリは、しょっちゅう追加充電(リフレッシュ)しないと記録を残せない。
- メモリ内の記録場所指定には、メモリアドレスが使われる。
- メモリアドレスは通常、メモリの先頭から、1バイト単位の通し番号になっている。
メモリは極小充電池
同期回路はクロックに同期してON / OFF パターンを次々と読み込めるため、あらかじめ複数の ON / OFF パターンを、「同期回路が読み込める場所」に用意しておけば、あとはクロック任せで複数の計算結果を順次得ることができるようになります。
このように「あらかじめ 複数の ON / OFF パターン を用意しておけて、かつ同期回路が読み込める場所」のことを メモリ (memory)と言います。
![メモリ](https://p-cs.work/wp-content/uploads/2019/07/memory.png)
白と黒の四角形が並べられると、なんだか模様のようですね。実はこれが、よく見るQRコードなどのバーコードと同じ原理で、二進数のデータそのものの姿なのです。
充電と放電
メモリの実体も半導体の装置ですが、例えるなら、メモリは極小の充電池の集まりです。極小充電池と同期回路がつながると、極小充電池から同期回路へ放電されます。 各極小充電池へ、放電減少分のほんの少しの電流を補充し続けること(リフレッシュ)で、 複数の ON / OFF パターン をそのまま残しておけます。
![放電とリフレッシュ](https://p-cs.work/wp-content/uploads/2019/07/FETanim.gif)
さらに、同期回路から出た計算結果( ON / OFF パターン )をまたメモリに入れること(強制充電/強制放電)もできます。これによって、計算結果をまた別の計算に使い回すような、より複雑なプログラムを自動処理させることができるようにもなるのです。
![再帰的処理](https://p-cs.work/wp-content/uploads/2019/07/recursive.gif)
メモリアドレス
ただし、多くのデータ( ON / OFF パターン )を同一のメモリに順次入れていくと、どの部分が何を意味するデータだったのか、先頭から順次解読しない限りわからなくなります。
そこで、分厚い本の各ページにページ番号があるように、メモリの標準的な使用単位ごとに先頭からの通し番号 メモリアドレス(memory address)が付けられるようになりました。
![メモリのイメージ](https://p-cs.work/wp-content/uploads/2019/07/memory-address.png)
通常は、1 データ分の ON / OFF パターン と同じだけの ON / OFF の個数が、メモリの極小充電池の使用単位になります。上図の例では、8個の ON / OFF で1データ分の ON / OFF パターン になっているので、メモリアドレスとして8個の極小充電池ごとに 0 から 1 ずつ増えていく番地が付けられます。
これにより、先頭から順次解読していかなくても、メモリアドレスを指定して目的のデータを読み書きするような、複雑なプログラムも可能になりました。
ビットとバイト
このようにコンピューターのしくみの中でよく使われる単位として、 ON / OFF の個数に対して、ビット(bit)という単位が付けられ、1 データ分の ON / OFF パターン で初期の頃に一般的であった 8 ビットに対して、1 バイト(byte)という単位が付けられました。
![3バイトのデータ](https://p-cs.work/wp-content/uploads/2019/07/3bytes-data.png)
さらに8ビットの倍の16ビット(2バイト)に対して、1 WORD(ワード)、
さらにその倍の32ビット(4バイト = 2 WORD)に対して、1 DWORD(ダブルワード)、
さらにその倍の64ビット(8バイト = 4 WORD = 2 DWORD)に対して、1 QWORD(クワッドワード)と言うこともあります。
この記事のまとめ
メモリ(memory)は、膨大な数の極小充電池の集まりです。ただしメモリには、しょっちゅう追加充電(リフレッシュ)をしないと、記録を残せません。
メモリに ON / OFF パターンをため込んで、同期回路へ順次入力でき、同期回路から出力される ON / OFF パターンもまた、メモリに記録できます。
1個(最小単位)の極小電池による ON/OFF を、ビット(bit)と言い、8 ビット単位を 1 バイト(byte) と言います。
メモリ内の記録場所指定には、メモリの先頭から1バイト単位の通し番号になっている、メモリアドレスが使われます。
次は、プロセッサ に進みましょう。
この記事は、絵でわかる プログラムとは何か(1)~コンピューターの原理から~ の一記事です。
コンピューターのしくみ全体を理解したい場合は、以下の2コースがお勧めです。
日本全国 オンラインレッスン にも対応しています。
知りたいことだけ単発で聞きたい場合は、 オンラインサポート をご利用ください。