マイコン

                    詳細編

 

1,RAM
2,ROM
3,CPU

1,RAM

それでは、個々のデバイスについて詳細にみてみましょう。
RAMは、一時的にデータを蓄えるデバイスです。

RAM

ICのピンには、次のものがあります。

  ピン 入出力 説明
アドレス A0〜Axx 容量によりxxは異なる
データ D0〜D7 I/O  
制御 WE 読み書きの選択
OE 制御許可
CS チップ選択

真理値表は次の通りです。

CS OE WE D0〜7  
High-Z 非動作 (スタンバイ)
High-Z 非動作 (アクティブ)
出力 読み込み
入力 書き込み

RAMのデータを読みをするときは、アドレスを確定した状態で
WEを1にして、読みとり状態にしておきます。
そして、CSOEを両方とも0にすると、データピンに内容が出力されます。

逆に、書き込みを行うときはアドレスとデータを確定した状態で
WEを0にすると、準備完了です。
あとは、CSOEを両方とも0にすると、RAMに書き込まれます。
下に、そのタイミングを示します。

11_time.gif (1330 バイト)

CSは、0にすることで、RAMがアクティブになります。
1の時はスタンバイ状態なので、あまり電力を消費しません。
OEは、信号入出力の許可をします。1の時は、データピンを
High-Z(電気的にどこにも接続していない状態)にします。
0にすることで、初めてデータピンを通して信号の入出力ができます。

 

◇RAMの種類

RAMは大きく分けると、DRAMとSRAMに分かれます。
DRAMは、コンデンサーで記憶するので、一定時間ごとに
リフレッシュという動作が必要になります。
SRAMはフリップフロップで記憶するので、リフレッシュの
必要なありません。通常は動作の簡単なSRAMを使用するといいでしょう。


2,ROM

ROMはプログラムや辞書的なデータなど、固定値を記憶するデバイスです。

ROM

基本的に、RAMから書き込み機能をなくしたものがROMです。

  ピン 入出力 説明
アドレス A0〜Axx 容量によりxxは異なる
データ D0〜D7 I/O  
制御 OE 制御許可
CS チップ選択

真理値表は次の通りです。

CS OE D0〜7  
High-Z 非動作 (スタンバイ)
High-Z 非動作 (アクティブ)
出力 読み込み

ただし読み込み専用といっても、ユーザーがなんだかの方法で
書き込みを行う必要があります。書き込み方法はROMの種類によって
異なりますが、たいていは、12Vの高電圧をかけることで行います。


3,CPU

CPUはみなさんがご存じのように、コンピュータの頭脳とも呼べるデバイスです。
このCPUが、メモリーやIOポートなどを制御します。

CPU (Z80)

写真のようにCPUのピン数は非常に多く、機能も様々なものがあります。
以下の表は、Z80という8ビットCPUの代表的な機能のものだけ取り出して
いますが、複雑であることがわかると思います。

  ピン 入出力 説明
アドレス A0〜Axx 容量によりxxは異なる
データ D0〜D7 I/O  
制御 RD 読みとり
WE 書き込み
RFSH DRAMを使用したときのリフレッシュ
MREQ メモリアクセス
IORQ IOアクセス
CLK クロック
RESET リセット
INT 割り込み

CPUはリセットをされるとアドレスに0を出力し、メモリ0番地の命令から
順次実行していきます。メモリーにはCPUが実行すべき命令が
書き込まれています。それをプログラムといいます。
メモリーには0,1の機械語で命令が入っているのですが、人が作業するときには
作業しにくいので、機械語をわかりやすい言葉に置き換えたアセンブラ
高級言語であるC言語などでプログラミングを行います。

CPUが実行できる命令は、大まかに「演算」「分岐」「データ移動」「ビット操作」
等があります。

演算 ADD 加算
SUB 減算
AND 論理和
データ移動 LD レジスタ間、メモリ間の移動
IN IOポートのデータを取得
OUT IOポートへデータを出力
分岐 JP 指定された番地へジャンプ
CALL 指定された番地へのサブルーチンへジャンプ
RET サブルーチンを終了し、元へ戻る
DJNZ レジスタが0なら次の命令、0以外はジャンプ
ビット操作 RL データを左へ論理シフト
SET 指定されたビットを1へ

※Z80の場合

Z80

Z80は、ザイログ社が作成した8ビットのCMOS型CPUです。
CMOSなので消費電力が20mA程度に抑えられる上、6MHz
もの高速動作ができます。

アマチュアが扱うCPUとしては最も有名なうえ、Z80専用の周辺LSIも
充実しています。(IOポート、シリアル通信、タイマー)


4,IOポート

コンピュータというのは、今まで紹介したCPUとメモリを組み合わせることで
動作させることができます。しかし動作したとしても、その動作の結果が
外部に取り出せないと、コンピュータとして何の役にも立ちません。
逆に、外部からの信号によってコンピュータが動作して欲しいときもあるでしょう。

そこで、コンピュータと外部とのやりとりをするのがIOポートです。

IOポート (Z80ファミリー)

上の写真のIOポートは、Z80というCPUと組み合わせて用います。
このデバイスでは、ポートA,B,Cの3つがあり、それぞれ8本の
入出力のできるピンを持っています。
IOポートの操作方法はメモリーに似ていて、メモリーの1アドレスに相当するのが
1つのポートになります。このポートに8ビットのデータを書き込んだ場合
そのデータがポートに出力されます。
逆に読みとりを行うと、ポートの0,1信号を知ることができます。


戻る戻る