Copyright(C) 1994,1995,1996,1997 Terumasa KODAKA , Takeshi KONO ■PCI-Cバスブリッジ 対象 PCIバス搭載機種 解説 o PCIバス搭載機種では、従来のCバスとのブリッヂのためにPCI-Cバスブリッヂ デバイスをPCIバス上に搭載している。 o PCIバス非搭載機種では通常のI/Oポートによって行う操作のうち、例えば メモリ関係のものなどは、PCIバス搭載機種では多くの場合PCI-Cバスブリッ ヂのPCIコンフィギュレーションレジスタの操作によって行われる。 o PCI-Cバスデバイスはサブトラクティブデコーディングを行い、PCIバス内で 応答のなかったバスサイクルをCバス側へフォワーディングする。 u PCI-Cバスブリッヂは機種ごとによってその実装が大きく異なっていると考え られる。PCIコンフィギュレーションレジスタの互換性は保証されていない。 ここでは参考のためにPC-9821XaのPCI-CバスブリッヂのPCIコンフィギュレー ションレジスタの一部の解析結果を示すが、本来PCIコンフィギュレーション レジスタはITF,BIOSによって設定されたものをアプリケーションプログラム が操作するべきではない。ハードウェアよりの設定の多くも存在するため、 不必要な操作はシステムを不安定に可能性がある。 関連 I/O 0CF8h(BYTE),0CF9h(BYTE),0CFAh(BYTE),0CFBh(BYTE) I/O 0CF8h(DWORD) I/O 0CFCh ベンダID 1033h(NEC) デバイスID 0001h ベースクラス 06h(ブリッヂデバイス) サブクラス 80h(PCI-ローカルバスブリッヂ) ------------------------------------------------------------------------------- PCI 40h 名前 不明 Undocumented 機能 [READ/WRITE] bit 7〜0: 不明 * 初期化時に00hが設定される 解説 o 詳細不明 PCI 41h 名前 不明 Undocumented 機能 [READ/WRITE] bit 7〜0: 不明 * 初期化時に10hが設定される 解説 o 詳細不明 PCI 42h 名前 不明 Undocumented 機能 [READ/WRITE] bit 7〜0: 不明 * 初期化時に00hが設定される 解説 o 詳細不明 PCI 43h 名前 メモリ上限値 Undocumented 機能 [READ/WRITE] bit 7〜0: 不明 解説 o ローカルバスに出力するメモリアドレスの最大値を設定する。 o 詳細不明 PCI 44h 名前 16MBシステム空間 Undocumented 機能 [READ/WRITE] bit 7,6: 不明 bit 5: 16MBシステム空間の用途 1= 通常のRAM 0= 16MBシステム空間として使用 bit 4〜2: 不明 bit 1: Write Enable For 00080000〜0009FFFFh bit 0: Read Enable For 00080000〜0009FFFFh 11b= 読み書き可 10b= 書き込み可,読み込み不可 01b= 書き込み不可,読み込み可 00b= 読み書き不可 解説 o PCI-Cバスブリッヂ回路が、16MBシステム空間(00F00000〜00FFFFFFh)や、 8,9バンク(00080000〜0009FFFFh)に対するアクセスに応答するかどうかを 設定する。 関連 I/O 7FDBh bit 6 I/O 043Bh PCMC 59h bit 3〜0 PCMC 78h PCI 45〜47h 名前 不明 Undocumented 機能 [READ/WRITE] bit 7: WE(WriteEnable) 1= 書き込み可能 0= 書き込み不可 bit 6: RE(ReadEnable) 1= 読みだし可能 0= 読みだし不可 bit 5,4: WE,RE bit 3,2: WE,RE bit 1,0: WE,RE * bit 7,6と同じ ----------------+-------+------------------------------- レジスタ |ビット |メモリ範囲 ----------------+-------+------------------------------- 45h |1,0 |0C0000〜0C3FFFh(拡張ROMエリア) 45h |3,2 |0C4000〜0C7FFFh(拡張ROMエリア) 45h |5,4 |0C8000〜0CBFFFh(拡張ROMエリア) 45h |7,6 |0CC000〜0CFFFFh(拡張ROMエリア) 46h |1,0 |0D0000〜0D3FFFh(拡張ROMエリア) 46h |3,2 |0D4000〜0D7FFFh(拡張ROMエリア) 46h |5,4 |0D8000〜0DBFFFh(拡張ROMエリア) 46h |7,6 |0DC000〜0DFFFFh(拡張ROMエリア) 47h |1,0 |0E0000〜0E3FFFh(VRAMエリア) 47h |3,2 |0E4000〜0E7FFFh(VRAMエリア) 47h |5,4 |0E8000〜0EBFFFh(BIOSエリア) 47h |7,6 |0EC000〜0EFFFFh(BIOSエリア) ----------------+-------+------------------------------- bit 7,6または5,4または3,2または1,0に設定する組み合わせは以下のよう に行う。 --------+----------------------------------------------- 値 |動作 --------+----------------------------------------------- 11b |読み書き可 10b |書き込み可,読み込み不可 01b |書き込み不可,読み込み可 00b |読み書き不可 --------+----------------------------------------------- 解説 o 各レジスタに設定された特定のメモリエリアについて、メモリアクセスの 動作を設定する。 PCI 48h 名前 不明 Undocumented 機能 [READ/WRITE] bit 7〜0: 不明 * 初期化時に3Fhが設定される 解説 o 詳細不明 PCI 4Ch 名前 不明 Undocumented 機能 [READ/WRITE] bit 7〜2: 不明 bit 1: 8,9バンク切り離し 1= 切り離さない。 0= 切り離す。 bit 0: 不明 * 初期化時に3Ehが設定される 解説 o 詳細不明 PCI 4Eh 名前 不明 Undocumented 機能 [READ/WRITE] bit 7〜0: 不明 * 初期化時に03hが設定される 解説 o 詳細不明 PCI 40h,44h,48h,4Ch 名前 PCI-C BUS MEMORY REGION ADDRESS REGISTER Undocumented 対象 PC-9821Xa10・Xa9・Xa7・Xt13・Xa7e 機能 [READ/WRITE] bit 31〜16: Memory Region Limit Addres bit 15〜0: Memory Region Base Address * PCI-Cバスブリッヂが、PCIからCバスへのアクセスとして応答するメモリ 領域のアドレスを登録する。64KB単位で設定を行うことができる。 * PC-9800シリーズではこれらのレジスタには以下のような値が設定されて いる。 --------+-----------+----------------------------------- レジスタ|設定値 |メモリ範囲 --------+-----------+----------------------------------- 40h |00EF0010h |00100000〜00EFFFFF 44h |FFFBFFFAh |FFFA0000〜FFFBFFFF 48h |FFFEFFFEh |FFFE0000〜FFFEFFFF 4Ch |0000FFFFh |無効 --------+-----------+----------------------------------- 解説 o PCIからCバスへのアクセスとして応答するメモリ領域のアドレスを登録する。 PCI 50h,54h,58h,5Ch 名前 PCI-C BUS MEMORY REGION ADDRESS REGISTER Undocumented 対象 PC-9821Xt・Xa・Xf 機能 [READ/WRITE] bit 31〜16: Memory Region Limit Addres bit 15〜0: Memory Region Base Address * PCI-Cバスブリッヂが、PCIからCバスへのアクセスとして応答するメモリ 領域のアドレスを登録する。64KB単位で設定を行うことができる。 * PC-9800シリーズではこれらのレジスタには以下のような値が設定されて いる。 --------+-----------+----------------------------------- レジスタ|設定値 |メモリ範囲 --------+-----------+----------------------------------- 50h |00EF0010h |00100000〜00EFFFFF 54h |FFFBFFFAh |FFFA0000〜FFFBFFFF 58h |FFFEFFFEh |FFFE0000〜FFFEFFFF 5Ch |0000FFFFh |無効 --------+-----------+----------------------------------- 解説 o PCIからCバスへのアクセスとして応答するメモリ領域のアドレスを登録する。 PCI 50〜5Fh 名前 不明 Undocumented 対象 PC-9821Xa10・Xa9・Xa7・Xt13・Xa7e・Na7・Nx 機能 [READ/WRITE] bit 7: 割り込み切り離し 1= 割り込みを使用しない 0= 割り込みを使用する bit 6〜4: 未使用(常に000bにする) bit 3〜0: IRQライン 0000b= IRQ0 : : 1111b= IRQ15 * 各デバイスが使用するIRQラインを設定する。 --------+---------------------------- レジスタ|設定されるデバイス --------+---------------------------- 50h |タイマ | --------+---------------------------- 51h |キーボード | --------+---------------------------- 52h |VSYNC | --------+---------------------------- 53h |不明 | --------+---------------------------- 54h |不明 | --------+---------------------------- 55h |セカンダリシリアルポート | | --------+---------------------------- 56h |不明 | --------+---------------------------- 57h |不明 | --------+---------------------------- 58h |不明 | --------+---------------------------- 59h |IDE | | --------+---------------------------- 5Ah |FDC | --------+---------------------------- 5Bh |FDC | --------+---------------------------- 5Ch |サウンド | | --------+---------------------------- 5Dh |マウス | --------+---------------------------- 5Eh |不明 | --------+---------------------------- 5Fh |不明 | --------+---------------------------- 解説 o 各種マザーボードデバイスの使用する割り込みラインの定義を行う。 o 通常はこの設定を変更しない。 PCI 60〜63h 名前 PIRQ ROUTE CONTROL REGISTERS Undocumented 機能 [READ/WRITE] bit 7: Routing of Interrupts 1= Disabled 0= Enabled bit 6〜0: IRQx# Routing Bits 000000b= IRQ0 : : 001111b= IRQ15 010000b= : Reserved 111111b= 各レジスタで設定する割り込み信号線とスロット毎の対応は以下の通り である。 --------+---------------+-------+-------+------- レジスタ|PCI割込信号線 |スロット#0 |スロット#1 |スロット#2 --------+---------------+-------+-------+------- 60h |PIRQ0 |INTA |INTD |INTC 61h |PIRQ1 |INTB |INTA |INTD 62h |PIRQ2 |INTC |INTB |INTA 63h |PIRQ3 |INTD |INTC |INTB --------+---------------+-------+-------+------- 解説 o PCIバスからの割り込み要求PIRQ0〜3信号を、Cバス上の割り込みコントローラ のどの割り込みアドレスに割り付けるかそれぞれ設定する。 u PC-9800シリーズでは、各PCIボードが出力する4チャネルの割り込み出力が、 各スロットごとに別の信号線に接続されるように配線されている。これは、 割り込み出力ピンが固定であるPCIボードを複数枚同時に使用するためである。 関連 I/O 0000h I/O 0002h I/O 0008h I/O 000Ah PCI 68h 名前 不明 Undocumented 対象 PC-9821Na7・Nx 機能 [READ/WRITE] bit 31〜20: 不明 bit 19: 不明 1= サウンド機能を使用する 0= サウンド機能を使用しない bit 18〜0: 不明 解説 o 詳細不明 関連 I/O 881Eh bit 5 ------------------------------------------------------------------------------- =============================================================================== ■PCI-ローカルバスブリッジ ベンダID 1033h(NEC) デバイスID 0002h ベースクラス 06h(ブリッヂデバイス) サブクラス 80h(PCI-ローカルバスブリッヂ) ------------------------------------------------------------------------------- PCI 40h 名前 16MBシステム空間 Undocumented 機能 [READ/WRITE] bit 7〜2: 未使用 bit 1: 16MBシステム空間の用途 1= 通常のRAM 0= 16MBシステム空間として使用 bit 0: 未使用 解説 o 16MBシステム空間の用途をローカルバスブリッヂ回路に登録する。 o 詳細不明 関連 I/O 043Bh PCMC 78h PCI 44h 名前 不明 Undocumented 機能 [READ/WRITE] bit 7〜1: 未使用 bit 0: 不明 解説 o 詳細不明 関連 -------------------------------------------------------------------------------