2014.5.20

前へ
次へ
ホームページトップへ戻る

CPLD+SIMMを使ってUSBプロトコルの解析を!
VHDLを速習! XC95144XL+16MB・SIMMを使ってUSBプロトコルアナライザを作ってしまいました!
主目的は差し迫った事情からUSBプロトコルの解析をすることだったのですが、その手段として選んだのがコレ!


[第53回]


●ハードウェアによるウォームブート(4)

前回からの続きです。
CPU RESETによってウォームブートをする仕組みについて説明をしようとしますとメモリマップやメモリバンクやIPL(イニシャルプログラムローダー)などについても一通りの説明をしておかなければなりません。
それを一から説明しようとしますと大変なことになります。
そこでそれらについては過去記事を参考にしていただくことにしまして、過去記事へのリンクをまじえて簡単にまとめてみることにいたします。

Legacy8080のCPU、Z8S180は最大で1MBのメモリ空間をアクセスすることができます。
アドレスで示しますと00000〜FFFFFの範囲になります。
Legacy8080はこのうちの前半の512KB(00000〜7FFFF)をRAMで実装しています。
アドレスはフルデコードしてありますから、拡張バスコネクタの外に後半512KBの範囲にメモリを増設することもできます。

1MBのメモリをアクセスするためにはA0〜A19の20本のアドレスラインが必要です。
Z8S180はその20本のアドレスラインを出力として備えています。
そうするとメモリをアクセスする命令も20ビットのアドレスを指定できなければなりません。
しかしZ80のレジスタは8ビットおよび16ビットしかなく、20ビットのアドレスを生成することはできません。
Z8S180もレジスタ構成や命令はZ80と同じですから、直接的には16ビットのメモリ空間0000〜FFFFの範囲しかアクセスできません。
そこでZ8S180では16ビットのレジスタを使って20ビットのメモリ空間をアクセスするためにメモリバンクの仕組みを使っています。
Z8S180のメモリバンクについては「ワンボードマイコンでCP/Mを!」[第456回][第459回]を参照願います。

過去記事の説明にもありますように、Z8S180がリセットによって最初にスタートしたときには、内蔵のMMU(メモリマネジメントユニット)もリセットされて、メモリバンク0(00000〜0FFFF)が割り当てられ、そのときバンクエリアは0000〜EFFFでコモンエリアはF000〜FFFFになります。
しかしそのことよりも以前にLegacy8080はフルRAMのため、CPUが起動するよりも前にRAMにIPL(イニシャルプログラムローダー)を書き込んでおく必要があります。
IPLについては「ワンボードマイコンでCP/Mを!」[第300回]以降に説明をしていますがあちこち横道にそれてしまって要領を得ません。
でもIPLとはどんなものかということを理解していただく上では参考になるかと思います。

Legacy8080ではRAMにIPLを書き込むためにPIC16F886を使っています。
そのあたりについては「ワンボードマイコンでCP/Mを!」[第453回][第455回]を参照願います。
システムリセットまたはパワーONによって、最初にPIC16F886が起動します。
PIC16F886はZ8S180にリセットをかけて起動させないようにしておいて、RAMの先頭00000〜0007FにIPLを書き込みます。
その後にZ8S180のリセットを解除します。
するとZ8S180はPIC16F886によってRAMの00000〜0007Fに書かれたIPLを実行し、システムプログラムをRAMにロードします。
この過程でメモリバンクはバンクエリアが0000〜7FFF、コモンエリアが8000〜FFFFに設定され、まずND80ZV(3.5)と同じシステムモニタ+ZB3BASICが0400〜7F7Fにロードされ、ZB3BASICが起動します(下図参照)。



Legacy8080はケース背面のディップスイッチによって動作モードが設定でき、起動後の動作に反映されます。
BASICモードのときは上のマップの状態でBASICシステムが起動します。
CP/Mモードのときはこのあとバンクが切り換えられ、10000〜17FFFのメモリがバンクエリアに割り当てられたあと、CC00〜のエリア(ここはコモンエリアですからメモリの08000〜0FFFFのままです)にCP/Mシステムプログラムがロードされます。
このとき先にロードされたBASICシステムは裏に隠れた形になります(下図)。



なかなかに複雑な仕組みになっているのです。

CPLD+SIMMを使ってUSBプロトコルの解析を![第53回]
2014.5.20upload

前へ
次へ
ホームページトップへ戻る