第1章 メモリ・アクセスの具体例

メモリ・アクセスの具体例

 次に,図1-5の回路を使ったメモリ・アクセスの具体例を示します.

 例1:RAMの先頭番地から6番目の番地(4005H)へ1   
 バイトの書き込みを行う

 4005H番地をアクセスするときのアドレス・バスは,表1-1の状態になっています
 

<表1-1>4005H番地をアクセスするときのアドレス・バス状態

(約7Kバイト)

 A14とMREQがアサートされ,74HC139のY1出力が“L”となり,RAMのチップ・セレクトCSがイネーブルになります.

 A2とA0が‘1’ですから,4000Hから始まるRAMの6番目のセルがアクセスされます.

 この状態で書き込みストローブ信号WRをアサートすることにより,メモリへの書き込みが実行されます.

 図1-6にメモリ・ライト・サイクルのタイミング図を示します.メモリを選定するときの書き込み条件では,少なくともtWCとtCWの確認が必要です.
  

<図1-6>ライト・サイクル・タイミング図

(約9Kバイト)

 このメモリ・ライト・サイクルを行うニーモニックの記述例を次に示します.

 LD (4005H),A  ;Aレジスタの値を

             ;4005番地へコピー

 機械語では,32H,05H,40Hとなります.これがROM領域の100H番地に配置されたときの実行動作を図1-7に示します.
 

<図1-7>1バイト書き込み実行動作

(約10Kバイト)

 

 この1バイト書き込みが実行されたときのバス・タイミングを,図1-8に示します.
 

<図1-8>1バイト書き込みのバス・タイミング

(約4Kバイト)

 

 例2:I/Oの8001H番地から1バイトの読み出しを行
 う

 例1と同様にアドレス・バスが表1-2の状態で,74HC139のY2出力が“L”となり,I/Oのチップ・セレクトCSがイネーブルになります.
 

<表1-2>8001H番地をアクセスするときのアドレス・バスの状態

(約7Kバイト)

 

 I/Oに接続されているアドレス・バス A1,A0のA0が‘1’ですから,I/O内の2番目のチャネル8001Hがアクセスされます.

 この状態で読み出しストローブ信号をアサートすることにより,I/O読み出しが実行されます.

 図1-9にリード・サイクルのタイミング図を示します. 
 

<図1-9>リード・サイクル・タイミング図

(約12Kバイト)

 

   

 このリード・サイクルのニーモニック記述例は,

 LD A,(8001H) ;8001Hの内容を

            ;Aレジスタへコピー

です.機械語では,3AH,01H,80Hとなります.

 このI/Oからのリード・サイクルも,ROMからのプログラム・リード・サイクルとバス・タイミングは同じです.ただし,I/Oリード・アドレスはオペランドで指定しますが,プログラム・リード・アドレスはプログラム・カウンタが出力します.


Copyright 2000 武下 博彦

新刊のご案内


Copyright 1997-2001 CQ Publishing Co.,Ltd.