6.2 メモリ,I/O空間 6.2.1 機 能
・本LSIは、図6.2に示すようにメモリウィンドウ空間と I/Oウィンドウ空間をシステムのメモリ空間の1MB境界に 自由にマッピングする事ができます。
・各ウィンドウ空間は、レジスタのスタートアドレスを設定する事により システムのメモリ空間に1MBにウィンドウを自動的に開きます。
I/O 1MB
Memory 1MB
・・・・・・・・
1MB境界 1MB境界 1MB境界 1MB境界 1MB境界 1MB境界 MSB
LSB システム メモリ空間
×2
・システムアドレスのSA25-SA20 をレジスタに設定 する事により、システムメモリ空間の1MB境界へ マッピングが可能
図6.2 メモリ・I/Oアクセス空間メモリマップ
6.3 ウィンドウ空間 6.3.1 機 能
・各ウィンドウは、図6.3に示すように4つの空間に区別され 各空間のサイズは256KBになっています。
この4つの空間は、リード・アクセス時とライト・アクセス時で 動作が異なって来ます
6.3.2 ライト・アクセス
・カードへのライトアクセス時は、各空間共に同一空間として扱われます。
ライトアクセスでは、256KBの空間がライト空間となり どのWrite空間0~3にライトアクセスを実行しても、
カード ライトアクセスの結果は同じになります。
・この機能は、リード・アクセスとライト・アクセスを交互に行うような場合 システムアドレスの移動を、最小限に押さえる事ができます。
1MB
256KB
256KB
256KB
256KB MSB
LSB
Write空間0 Write空間1 Write空間2 Write空間3
図6.3.2 各ウィンドウ空間マップ
Card 256KB空間
6.3.3 リード・アクセス
・ “Dummy空間”と”Real空間”は、内蔵されているリードバッファを使用
する為の空間です。
リードバッファを使用しない場合は、”Real空間“を使用した
リード・アクセスを行うことでカードデータをリードする事が可能です。
・SHシリーズでは、リード時に要求データサイズを識別する事ができません。
このため、図6.3.3に示すように”Byte”空間と”Word”空間を設け アクセスされた空間により要求リードデータサイズを識別します。
・以下にリード・アクセス時の各空間機能を説明します。
Dummy Byte空間
カードのEven,Odd Byte Read DataをRead Bufferに 先読みさせる空間です。
Dummy Word空間
カードのWord Read DataをRead Bufferに先読みさせる空間です。
Real Byte空間
カードのEven,Odd Byte Read Dataを直接リードするための空間です。
Read Bufferで先読みさせたデータもこの空間でリードします。
Real Word空間
カードのWord Read Dataを直接リードするための空間です。
Read Bufferで先読みさせたデータもこの空間でリードします。
1MB
256KB
256KB
256KB
256KB MSB
LSB
Real Word空間 Real Byte空間 Dummy Word空間
Dummy Byte空間
図6.3.3 各ウィンドウ空間マップ
Card 256KB空間
7.機能・動作
7.1 SH CPU I/F 7.1.1 概 要
本LSIの基本アクセスサイクルは、“4×CKIO”と“5×CKIO”で 構成されます。(MODE0=4×CKIO,MODE1=5×CKIO)
また、サイクルを延長するため本LSIは“-WAIT/-RDY”信号をアサートします。
7.1.2 MODE0基本4×CKIOサイクル(No WAIT)
① “TW1 Cycle”の立ち上がりクロック↑により“-BS”信号を検出し、
システムサイクルの開始を検知します。
② “TW2 Cycle”の立ち上がりクロック↑により、Address,Command, Data を検出し、本LSIの動作を決定します。
③ “TW2 Cycle”の立ち下がりクロック↓により、Read Dataの出力を 開始します。
④ “-SRD”のネゲートにより、Read Data出力をHi-Zにします。
以下に、MODE0基本4×CKIOサイクル(No WAIT)波形図を示します。
T1 TW1 TW2 T2
CKIO
SA25-0
-CS
-SRD
Read Data -BS
-SWE1,0
-WAIT/-RDY
Write Data
図7.1.2 基本サイクル1波形図(NO WAIT)
① ②
③ ④
Hi-Z
④
7.1.3 MODE1基本5×CKIOサイクル(No WAIT)
① “TW1 Cycle”の立ち上がりクロック↑により“-BS”信号を検出し、
システムサイクルの開始を検知します。
② “TW3 Cycle”の立ち上がりクロック↑により、Address,Command, Data を検出し、本LSIの動作を決定します。
③ “TW3 Cycle”の立ち下がりクロック↓により、Read Dataの出力を 開始します。
④ “-SRD”のネゲートにより、Read Data出力をHi-Zにします。
以下に、MODE1基本5×CKIO(No WAIT)サイクル波形図を示します。
T1 TW1 TW3 T2
SA25-0
-CS
-SRD
Read Data -BS
-SWE1,0
-WAIT/-RDY
Write Data
図7.1.3 基本サイクル2波形図(NO WAIT)
① ②
③ ④
Hi-Z CKIO
TW2 ④
7.1.4 MODE0基本4×CKIOサイクル(1WAIT)
① “TW1 Cycle”の立ち上がりクロック↑により“-BS”信号を検出し、
システムサイクルの開始を検知します。
② “TW2 Cycle”の立ち上がりクロック↑により、Address,Command, Data を検出し、本LSIの動作を決定します。
このタイミングで“-WAIT/-RDY”信号をアサートします。
③ “TWn*1 Cycle”の立ち上がりクロック↑により、 “-WAIT/-RDY”信号を ネゲートします。
*1 TWn Cycleは、“-WAIT/-RDY”により挿入された延長サイクルです。
④ “TWn*1 Cycle”の立ち下がりクロック↓により、Read Dataの出力を 開始します。
⑤ “T2 Cycle”の立ち上がりクロック↑により、“-WAIT/-RDY”信号を Hi-Zにします。
⑥ “-SRD”のネゲートにより、Read Data出力をHi-Zにします。
以下に、MODE0基本4×CKIOサイクル波形図を示します。
T1 TW1 TW2 T2
CKIO
SA25-0
-CS
-SRD
Read Data -BS
-SWE1,0
-WAIT/-RDY
Write Data
① ② ③
④
Twn
Hi-Z Hi-Z
⑥
⑤
-WAIT/-RDY Hi-Z Hi-Z
7.1.5 MODE1基本5×CKIOサイクル(1WAIT)
① “TW1 Cycle”の立ち上がりクロック↑により“-BS”信号を検出し、
システムサイクルの開始を検知します。
② “TW3 Cycle”の立ち上がりクロック↑により、Address,Command, Data を検出し、本LSIの動作を決定します。
このタイミングで“-WAIT/-RDY”信号をアサートします。
③ “TWn*1 Cycle”の立ち上がりクロック↑により、 “-WAIT/-RDY”信号を ネゲートします。
*1 TWn Cycleは、“-WAIT/-RDY”により挿入された延長サイクルです。
④ “TWn*1 Cycle”の立ち下がりクロック↓により、Read Dataの出力を 開始します。
⑤ “T2 Cycle”の立ち上がりクロック↑により、“-WAIT/-RDY”信号を Hi-Zにします。
⑥ “-SRD”のネゲートにより、Read Data出力をHi-Zにします。
以下に、MODE1基本5×CKIOサイクル波形図を示します。
T1 TW1 TW3 T2
CKIO
SA25-0
-CS
-SRD
Read Data -BS
-SWE1,0
-WAIT/-RDY
Write Data
① ② ③
④
Twn
Hi-Z Hi-Z
⑥
⑤
-WAIT/-RDY Hi-Z Hi-Z
TW2
7.2 レジスタ機能 7.2.1 概 要
本LSIは内蔵機能を制御するためのレジスタを内蔵しています。
内蔵レジスタへのRead/Writeは、16bitワードアクセス固定になっています。
バックグランドでカードサイクルを実行している場合もレジスタへの Read/Write動作は可能です。(モードレジスタを除く)
レジスタアクセス時は、“-WAIT/-RDY”をアサートしません。
7.2.2 レジスタ構造
・図7.2.2に示すように1段の“Register Write Buffer”と
1段の“Real Register”で構成されています。(モードレジスタを除く)
・カードサイクル実行中のWriteアクセスは
一旦データをBufferに貯えておき、カードサイクル終了後に “Real Register”にデータをシフトします。
・この構造により、カードアクセス中にレジスタの設定値が変更されなくなり 実行中カードサイクルとレジスタ設定値の不整合が
発生しなくなります。
・リードデータは常に“Real Register”の設定値がリードされます。
カードサイクル発生中にレジスタライトリードを実行した場合は、
ライトデータとリードデータが異なる場合が有ります。
・カード電源制御レジスタ Bit9:CARD RESETは、例外として カードサイクル実行の有無にかかわらず、常に“Real Register”にWrite されます。
これにより、カードがどのような状態であってもリセットをかけることが 可能です。
Register Write Buffer
Real Register
SD15-0(Input)
Register Write
PC Card I/F Ready
CKIO
Buffer Data Register Data Register Data Selector
Read Data
7.3 リード バッファ 7.3.1 概 要
・本LSIはシステムバスとのパフォーマンスを向上させるため 1段のリードバッファを内蔵しています。
・この機能は、各ウィンドウのDummy(Word,Byte) 空間をリードアクセスする 事によりカードデータを本LSIに貯える事ができます。
Dummy(Word,Byte) 空間へのアクセスは、No WAITで動作します。
ただし、すでにカードサイクルが発生している場合はこの限りでは有りません。
また、Dummy(Word,Byte) 空間にリードアクセスした場合は、
システムにリードデータを返送しません。(図7.3.1.1)
・Dummy(Word,Byte) 空間をリードアクセスした事により、リードバッファに 貯えられたデータは、Dummy(Word,Byte) 空間をリードした時と同じ条件で Real(Word,Byte)空間をリードアクセスする事によりリードバッファの データをリードする事ができます*1。(図7.3.1.2)
*1:この状態を”HIT”とします。
System Dummy Read Access
System Card Read Access PC Card
Read Buffer
Card Read Data System Read Data
MR-SHPC-01 V2
System Real Read Access
System Card Read Access PC Card
Read Buffer
System Read Data
MR-SHPC-01 V2
HIT
図7.3.1.1 Dummy Read 動作概略図
7.3.2 リードバッファ動作
・図7.3.2にリードバッファ機能の動作フロチャートを示します。
・図7.3.2のフロチャートでは、システムからのアクセスに対し
リードバッファの状態を判断し、リードデータの制御とリードバッファデータの 管理を行っています。
・リードバッファは、Dummy空間へのリードアクセスによりデータを保持し Real空間をリードする事により、リードバッファのデータがリードできます。
・リードバッファデータの整合性を保つため、リードバッファのデータと同じ 領域へのカードライト動作が発生した場合、リードバッファのデータをクリア します。
No
Data Invalid
Yes Real Read
Data Valid
START
Read/Write
Dummy/Real
Read Hit
Write
Card Data
No
Read Buffer Data Latch Buffer Data
Quit Card Data Latch Data Invalid
Dummy
Buffer Data Change Data Valid
Buffer Data Clear Write Hit
Yes
図7.3.2 動作フロチャート Card Out
7.3.3 リードバッファHit条件
・リードバッファのReal Read Access時とWrite Access時のHit条件を 図7.3.3.1と図7.3.3.2に示します。
I/O or Memory Access (1bit)
CA25-1 (25bit)
REG (1bit)
Read Buffer Condition System Access Condition
I/O or Memory Access (1bit)
CA25-1 (25bit)
REG (1bit)
Write HIT
・Write Hit
リードバッファのデータをクリアします。
I/O or Memory Access (1bit)
CA25-0 (26bit) SWAP (1bit)
REG (1bit) 16bit Access
(1bit) 8bit Access
(1bit)
Buffer Data = VALID (1bit)
Read Buffer Condition System Access Condition
I/O or Memory Access (1bit)
CA25-0 (26bit) SWAP (1bit)
REG (1bit) 16bit Access
(1bit) 8bit Access
(1bit)
HIT
図7.3.3.1 リアルリードアクセスのHit 決定比較データ
7.4 割り込み
7.4.1 割り込み要求選択機能
・割り込み制御レジスタのBit13-5の設定値とSIRQ3-0の関係を 表7.4.1に示します。
・Card IRQ:Bit13,RING IRQ:Bit10,Management IRQ:Bit7が
全て“0”に設定されている場合は、SIRQ3-0がすべて“Hi-Z”になります。
要因3 要因2 要因1 割り込み出力端子
Card IRQ Bit13-11
RING IRQ Bit10-8
Management IRQ Bit7-5
SIRQ3 SIRQ2 SIRQ1 SIRQ0
0 X X 0 X X 0 X X Hi-Z Hi-Z Hi-Z Hi-Z
1 0 0 0 X X 0 X X Hi-Z Hi-Z Hi-Z 要因3
1 0 1 0 X X 0 X X Hi-Z Hi-Z 要因3 Hi-Z
1 1 0 0 X X 0 X X Hi-Z 要因3 Hi-Z Hi-Z
1 1 1 0 X X 0 X X 要因3 Hi-Z Hi-Z Hi-Z
0 X X 1 0 0 0 X X Hi-Z Hi-Z Hi-Z 要因2
0 X X 1 0 1 0 X X Hi-Z Hi-Z 要因2 Hi-Z
0 X X 1 1 0 0 X X Hi-Z 要因2 Hi-Z Hi-Z
0 X X 1 1 1 0 X X 要因2 Hi-Z Hi-Z Hi-Z
0 X X 0 X X 1 0 0 Hi-Z Hi-Z Hi-Z 要因1
0 X X 0 X X 1 0 1 Hi-Z Hi-Z 要因1 Hi-Z
0 X X 0 X X 1 1 0 Hi-Z 要因1 Hi-Z Hi-Z
0 X X 0 X X 1 1 1 要因1 Hi-Z Hi-Z Hi-Z
1 0 0 1 0 0 1 0 0 Hi-Z Hi-Z Hi-Z 要因3&2&1
0 X X 1 0 0 1 0 0 Hi-Z Hi-Z Hi-Z 要因2&1
1 0 1 1 0 0 1 0 0 Hi-Z Hi-Z 要因3 要因2&1
1 1 0 1 0 0 1 0 0 Hi-Z 要因3 Hi-Z 要因2&1
1 1 1 1 0 0 1 0 0 要因3 Hi-Z Hi-Z 要因2&1
表7.4.1 割り込みステアリング一覧表1/3 X = High or Low