JPH07334373A - System and method for emulation - Google Patents

System and method for emulation

Info

Publication number
JPH07334373A
JPH07334373A JP6335921A JP33592194A JPH07334373A JP H07334373 A JPH07334373 A JP H07334373A JP 6335921 A JP6335921 A JP 6335921A JP 33592194 A JP33592194 A JP 33592194A JP H07334373 A JPH07334373 A JP H07334373A
Authority
JP
Japan
Prior art keywords
instruction
control means
emulation
central control
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP6335921A
Other languages
Japanese (ja)
Inventor
Tsunenori Kimura
恒範 木村
Chiharu Takeuchi
千晴 竹内
Masaru Kono
勝 河野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP6335921A priority Critical patent/JPH07334373A/en
Publication of JPH07334373A publication Critical patent/JPH07334373A/en
Withdrawn legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

PURPOSE:To provide the emulate system for realizing a hardware operable corresponding to the plural instructions of architecture. CONSTITUTION:When a CPU 1 issues the instruction of the first architecture, that instruction is transmitted to a first device control means. When the CPU 1 issues the instruction of the second architecture, this instruction is received by an I/O receiving means 930 inside a sub-controller 100. According to the contents of that instruction, any factor is set in an SMI status 928 and at the same time, an SMI generating means 927 reports SMI to the CPU 1 corresponding to an SMI signal 31. Then, an SMM handler 26 performs prescribed processing corresponding to that factor. Further, an instruction converting means 104 provided with a microcode memory or the like converts the instruction which can be converted by a hardware circuit. Thus, plural instructions is compatible.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明はエミュレートシステム及
びエミュレート方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an emulation system and an emulation method.

【0002】[0002]

【従来の技術】PC(パーソナルコンピュータ)等のコ
ンピュータシステムにおいては、その用途に応じて数種
類のアーキテクチャを有するハードウェアと、各アーキ
テクチャに対応するソフトウェアが数多く開発された。
ソフトウェア資産が増えてくると、そのソフトウェアの
動作を保証する為、ハードウェアは新デバイス等を採用
して性能を向上させながらも、当初のアーキテクチャを
堅持する必要がある。
2. Description of the Related Art In computer systems such as PCs (personal computers), many hardwares having various architectures and softwares corresponding to the respective architectures have been developed according to their applications.
As software assets increase, it is necessary to maintain the original architecture while improving the performance by adopting new devices etc. for the hardware in order to guarantee the operation of the software.

【0003】ここにハードウェア、ソフトウェアの占め
る市場規模が非常に大きい第1のコンピュータアーキテ
クチャ(例えばIBM社製のパーソナルコンピュータに
使用されるアーキテクチャ)と比較的中規模の第2のコ
ンピュータアーキテクチャ(例えばセイコーエプソン社
製、NEC社製のパーソナルコンピュータに使用される
アーキテクチャ)があったとする。すると、第2のアー
キテクチャに準ずるハードウェア装置、前記ハードウェ
ア装置を構成する要素部品は、ソフトウェアの開発規模
が小さくなり、第1のアーキテクチャに比べて潤沢に供
給されないという市場原理を否定できない。よって第2
のアーキテクチャのコンピュータシステムを開発する場
合、速い段階での要素部品の供給が望めず、これらの要
素部品の多くの部分を自ら開発しなければならないう問
題が生じる。
Here, the first computer architecture in which the market size of hardware and software is very large (for example, the architecture used for the personal computer manufactured by IBM) and the second computer architecture in the relatively medium size (for example, Seiko) It is assumed that there is an architecture used for personal computers manufactured by Epson and NEC. Then, it is undeniable that the hardware principle according to the second architecture and the component parts constituting the hardware apparatus have a small software development scale and are not supplied in abundance as compared with the first architecture. Therefore the second
When developing a computer system with the above architecture, it is difficult to supply the component parts at an early stage, and many parts of these component parts have to be developed by themselves.

【0004】図54は従来のハードウェアの構成を示す
図であり、要部となるコントローラ507は標準品を使
用せず、自らの開発に依存する。CPU501およびキ
ャッシュメモリ503はCPUバス505によってコン
トローラ507に接続されている。コントローラ507
は第2のアーキテクチャに対応するよう設計されてお
り、CPU501からのI/O命令を受けてメモリ一括
設定手段513等にハードウェア的な指示を行うI/O
受付手段508、前記キャッシュメモリ503を制御す
るキャッシュコントローラ509、CPUバス505に
よって接続され高速に動作するRAM517を制御する
RAMコントローラ511、PCIバス519とのイン
ターフェースとなるPCIバスインターフェース515
等が内蔵されている。メモリ一括設定手段513は各ア
ドレスに配置されるRAM517、VRAM521、R
OM531に対し、リード、ライト、キャッシュの可否
を設定すると共に、RAM517のメモリマッピングを
行う。
FIG. 54 is a diagram showing the structure of a conventional hardware. The controller 507, which is a main part, does not use a standard product but depends on its own development. The CPU 501 and the cache memory 503 are connected to the controller 507 by the CPU bus 505. Controller 507
Is designed to correspond to the second architecture, and receives an I / O instruction from the CPU 501 to issue a hardware instruction to the memory batch setting means 513 and the like I / O.
A receiving unit 508, a cache controller 509 that controls the cache memory 503, a RAM controller 511 that controls a RAM 517 that is connected by a CPU bus 505 and operates at high speed, and a PCI bus interface 515 that interfaces with the PCI bus 519.
Etc. are built in. The memory batch setting means 513 includes a RAM 517, a VRAM 521, and a RAM 517 arranged at each address.
Read / write / cache permission / prohibition is set for the OM 531 and memory mapping of the RAM 517 is performed.

【0005】PCIバス519は、高速性、汎用性、将
来的な拡張性を備え、業界内で一定の標準化が図られた
32ビット(あるいは64ビット)バスであり、アドレ
スとデータをマルチプレクスしている。PCIバス51
9には高速、大容量データ転送がを要求されるデバイス
であるVRAM521、HDD525が接続される。V
RAM521にはCPU501からの特定のI/O命令
に対してVRAMのマッピングを切り替えるVRAM切
替手段523が備わっている。VRAM521のデータ
は図示しない表示部によって表示される。
The PCI bus 519 is a 32-bit (or 64-bit) bus that has been standardized in the industry with high speed, versatility, and future expandability, and multiplexes addresses and data. ing. PCI bus 51
A VRAM 521 and a HDD 525, which are devices requiring high-speed and large-capacity data transfer, are connected to the device 9. V
The RAM 521 includes a VRAM switching unit 523 that switches VRAM mapping for a specific I / O instruction from the CPU 501. The data in the VRAM 521 is displayed on a display unit (not shown).

【0006】PCIバス519はブリッジ回路527を
介して、比較的低速で従来のデバイスとの互換性を持つ
従来バス529と接続される。そして、従来バス529
にはBIOS等を格納するROM531、FDD535
に接続される。また、従来バス529には、キーボード
コントローラ536、シリアルコントローラ538を介
して、各々キーボード537、RS232Cインターフ
ェイス539も接続される。更に、割り込みコントロー
ラ540も接続される。なお、ROM切替手段533は
CPU501からのI/O命令に従ってROMのマッピ
ングを変更する機能を有する。また、キーボード537
内には、キーボード側のコントローラであるキーボード
ユニットコントローラ541が内蔵されている。
The PCI bus 519 is connected via a bridge circuit 527 to a conventional bus 529 which is relatively slow and compatible with conventional devices. And the conventional bus 529
ROM531, FDD535 which stores BIOS etc.
Connected to. A keyboard 537 and an RS232C interface 539 are also connected to the conventional bus 529 via a keyboard controller 536 and a serial controller 538, respectively. Further, the interrupt controller 540 is also connected. The ROM switching unit 533 has a function of changing the mapping of the ROM according to the I / O command from the CPU 501. Also, the keyboard 537
A keyboard unit controller 541 which is a controller on the keyboard side is incorporated therein.

【0007】図55は、図54で示したハードウェアに
おいて、第1の表示モード(標準解像度)と第2の表示
モード(高解像度)との2種類の表示モードを切り替え
る動作を示したフローチャートである。S100で、C
PU501からのI/O命令がI/Oアドレス300H
番地に対して出力されると、S102で、前記命令をI
/O受付手段508が受け取り、メモリ一括設定手段5
13によって、RAM517のマッピングの変更、各ア
ドレスに対するリード、ライト、キャッシュの設定を行
う。またI/O命令はPCIバス519、従来バス52
9を通してVRAM切替手段523、ROM切替手段5
33にも伝えられ、VRAMの切り替え、ROMの切り
替えを行う。尚、S102はすべてハードウェアロジッ
クによって行われる。このように「I/Oアドレス30
0H=定められた表示モードを切り替えるためのデータ
セット」というような第2のアーキテクチャ上の規約を
順守することにより互換性を維持している。
FIG. 55 is a flowchart showing an operation of switching between two kinds of display modes of a first display mode (standard resolution) and a second display mode (high resolution) in the hardware shown in FIG. is there. In S100, C
I / O instruction from PU 501 is I / O address 300H
When it is output to the address, the above-mentioned instruction I
/ O reception means 508 receives and memory batch setting means 5
13, the mapping of the RAM 517 is changed, and read / write / cache for each address is set. The I / O commands are PCI bus 519 and conventional bus 52.
9 through VRAM switching means 523, ROM switching means 5
It is also transmitted to 33 and switches VRAM and ROM. Note that S102 is all performed by hardware logic. In this way, "I / O address 30
Compatibility is maintained by adhering to a second architectural convention such as "0H = data set for switching defined display mode".

【0008】[0008]

【発明が解決しようとする課題】さて、CPU、バスシ
ステム、メモリシステム等のデバイスの進歩に伴い、R
AMコントローラ511、キャッシュコントローラ50
9、PCIバスインターフェース515等も最新のデバ
イスに合わせて設計変更する必要が生じる。しかし、こ
のような場合に、第2のアーキテクチャにしたがったコ
ントローラ507をその都度設計するには開発日程、工
数が非常に多くなるという問題があった。一方、第1の
アーキテクチャに対応していて、最新のCPU、メモリ
システムを制御するデバイスは比較的早期に開発され、
潤沢に入手できる。従って、第1のアーキテクチャ用に
開発された制御デバイスを利用できれば、このような開
発日程、工数の問題は解決できるのではあるが、I/
O、メモリマップ等の互換性の問題から該デバイス制御
手段を容易には利用できないという問題があった。
Now, with the progress of devices such as CPUs, bus systems, and memory systems, R
AM controller 511, cache controller 50
9. The PCI bus interface 515 and the like also need to be designed and changed according to the latest device. However, in such a case, there is a problem that the development schedule and the number of man-hours are very large in order to design the controller 507 according to the second architecture each time. On the other hand, devices that support the first architecture and control the latest CPU and memory systems were developed relatively early,
Available in plenty. Therefore, if the control device developed for the first architecture can be used, such a problem of development schedule and man-hours can be solved.
There is a problem that the device control means cannot be easily used due to compatibility problems such as O and memory map.

【0009】この問題を解決するため、第1のアーキテ
クチャ用に開発されたデバイス制御手段を第2のアーキ
テクチャのハードウェアの構成部品として使用できるエ
ミュレートシステムが望まれる。そして、このようなエ
ミュレートシステムの考えを更に発展させるならば、第
2のアーキテクチャに適合した命令のみならず第1のア
ーキテクチャに適合した命令に対しても動作可能なハー
ドウェア、即ち複数互換可能なハードウェアを実現する
ことが望ましい。このようなハードウェアを実現できれ
ば、第2のアーキテクチャのみならず第1のアーキテク
チャに準ずるアプリケーションプログラムの資産も利用
でき、システムの商品価値が高まるからである。更に、
このようなエミュレーションシステムによれば、ソフト
ウェアエミュレーションの場合と異なり、OSについて
も第1、第2のアーキテクチャの双方のものを使用でき
るという利点がある。
In order to solve this problem, an emulation system is desired in which the device control means developed for the first architecture can be used as a component of the hardware of the second architecture. Further, if the idea of such an emulation system is further developed, hardware capable of operating not only the instruction conforming to the second architecture but also the instruction conforming to the first architecture, that is, a plurality of compatible It is desirable to realize various hardware. This is because if such hardware can be realized, not only the second architecture but also the assets of the application program according to the first architecture can be used, and the commercial value of the system is increased. Furthermore,
According to such an emulation system, unlike the case of the software emulation, there is an advantage that both the OS and the first and second architectures can be used.

【0010】さて第1のアーキテクチャのハードウェア
上で、第2のアーキテクチャに準ずるアプリケーション
プログラムを動作させる場合、OS(オペレーティング
システム)の段階で、アプリケーションプログラムから
の命令をすべて第1のアーキテクチャの命令に書き換え
て実行させる方法も従来から考えられていた。しかし専
用のOSのみしか使用できない上、ソフトウェアによる
エミュレートであるので処理が非常に遅くなるという課
題がある。
When operating an application program conforming to the second architecture on the hardware of the first architecture, all the instructions from the application program are converted to the instructions of the first architecture at the stage of OS (operating system). A method of rewriting and executing the program has also been conventionally considered. However, there is a problem that only the dedicated OS can be used and the processing is very slow because it is emulated by software.

【0011】またエミュレートシステムを実現する1つ
の手法として、例えばNMIと呼ばれる割り込みをCP
Uにかけてエミュレート処理する手法が考えられる。し
かしながら、NMIにおいては、ジャンプアドレス(割
り込みに対応した処理を行うルーチンが格納されたアド
レス)が、アプリケーションプログラム等で容易に書き
換えられるアドレス領域に格納されている。従って、ア
プリケーションプログラム等によりこのアドレス領域が
書き換えられるとエミュレート処理が不可能になるとい
う問題点がある。また、NMIでは、割り込みを受け付
けた時点の制御モード(リアルモード、プロテクトモー
ド、仮想86モード)で割り込み処理が開始されるた
め、割り込み処理の開始時に制御モードを最適なものに
設定しなければならなく、処理が複雑になるという問題
点がある。更に、NMIでは、戻りアドレスがスタック
領域にスタックされるが、このスタック領域は他のプロ
グラムにより使用されている場合がある。従って、スタ
ック領域に余裕が無い場合にNMIが発生すると、プロ
グラムデータ領域に格納されているデータが破壊される
という問題がある。また、スタック領域を設定するため
のスタックポインタが、アプリケーションプログラムに
より誤った値に書き換えられる等の問題もある。
Further, as one method for realizing the emulation system, for example, an interrupt called NMI is used as a CP.
A method of performing emulation processing over U can be considered. However, in the NMI, the jump address (the address in which the routine that performs the process corresponding to the interrupt is stored) is stored in the address area that can be easily rewritten by the application program or the like. Therefore, if this address area is rewritten by an application program or the like, emulation processing becomes impossible. Further, in NMI, since the interrupt processing is started in the control mode (real mode, protect mode, virtual 86 mode) at the time of accepting the interrupt, the control mode must be set to the optimum one at the start of the interrupt processing. However, there is a problem that the processing becomes complicated. Further, in NMI, the return address is stacked in the stack area, which may be used by another program. Therefore, if an NMI occurs when there is no room in the stack area, there is a problem that the data stored in the program data area is destroyed. There is also a problem that the stack pointer for setting the stack area is rewritten to an incorrect value by the application program.

【0012】また、複数互換を実現するためのエミュレ
ート処理を行う場合に、システムの高速性をどのように
担保するかが問題であり、互換性を維持しながらもこの
高速性をどのようにして維持するかが課題となる。
[0012] Further, when performing emulation processing for realizing multiple compatibility, how to ensure high speed of the system is a problem, and how to achieve high speed while maintaining compatibility. The issue is how to maintain it.

【0013】また、エミュレートシステムの実現のため
にはCPUからの命令の変換処理が必要であり、この変
換処理は複雑である。従ってこれを如何にして簡易なハ
ードウェアで、しかも高い互換性を維持しながら実現す
るかが課題となる。
Further, in order to realize the emulation system, conversion processing of instructions from the CPU is necessary, and this conversion processing is complicated. Therefore, how to realize this with simple hardware while maintaining high compatibility is an issue.

【0014】更に、例えばパーソナルコンピュータにオ
プションボードを装着するだけで、以上のようなエミュ
レートシステムを実現できれば、システムの商品価値を
高めることができる。
Further, if the emulation system as described above can be realized only by mounting the option board on the personal computer, the commercial value of the system can be increased.

【0015】本発明は、以上の問題点を解決すべくなさ
れたものであり、その目的とするところは、複数のアー
キテクチャの命令に対して動作可能なハードウェアを実
現できるエミュレートシステム、即ち複数互換を実現で
きるエミュレートシステムを提供することにある。
The present invention has been made to solve the above problems, and an object of the present invention is to emulate a hardware capable of operating instructions of a plurality of architectures, that is, a plurality of emulation systems. It is to provide an emulation system that can realize compatibility.

【0016】また、本発明の他の目的は、互換性を維持
しながらも高速性を維持できるエミュレートシステムを
提供することにある。
Another object of the present invention is to provide an emulation system capable of maintaining high speed while maintaining compatibility.

【0017】また、本発明の他の目的は、オプションボ
ードを装着する等の簡易な方法で実現できるエミュレー
トシステムを提供することにある。
Another object of the present invention is to provide an emulation system which can be realized by a simple method such as mounting an option board.

【0018】[0018]

【課題を解決するための手段及び作用】上記目的を達成
するために、本発明は、中央制御手段が第1のコンピュ
ータアーキテクチャに適合した命令体系によって命令を
発行した場合に、該命令を、該第1のコンピュータアー
キテクチャに適合した命令体系により制御される第1の
デバイス制御手段又はその制御対象に対して伝える手段
と、前記中央制御手段が前記第1のコンピュータアーキ
テクチャとは異なる第2のコンピュータアーキテクチャ
に適合した命令体系によって命令を発行した場合に、該
命令を受け取ると共に該命令を解析する手段と、命令の
種類を示す要因データを設定すると共に前記中央制御手
段に対して割り込みを発生する手段と、前記割り込みに
よって起動され、前記要因に対応した所定の処理を、少
なくとも前記第1のデバイス制御手段又はその制御対象
に対して実行する手段とを含み、前記割り込みにより前
記中央制御手段の制御モードが所定システムにより管理
される制御モードに移行され、該制御モード専用のメモ
リ領域に前記所定の処理のために必要なデータが格納さ
れることを特徴とする。
In order to achieve the above-mentioned object, the present invention, when the central control means issues an instruction by an instruction system adapted to the first computer architecture, executes the instruction, A second device architecture in which the first device control means controlled by an instruction system adapted to the first computer architecture or means for transmitting to the control target thereof and the central control means are different from the first computer architecture. Means for receiving an instruction and analyzing the instruction when the instruction is issued by an instruction system conforming to, and means for setting factor data indicating the type of the instruction and generating an interrupt to the central control means. , The predetermined process corresponding to the factor, which is activated by the interrupt, is executed at least by the first Device control means or means for executing control target thereof, the control mode of the central control means is shifted to a control mode managed by a predetermined system by the interruption, and the predetermined mode is set in a memory area dedicated to the control mode. It is characterized in that data necessary for the processing of is stored.

【0019】本発明によれば、中央制御手段により発行
された命令が、第1のアーキテクチャに適合する場合に
は、該命令が第1のデバイス制御手段等にそのまま伝え
られ、第2のアーキテクチャに適合する場合には実行手
段によりエミュレート処理が行われる。これにより、複
数互換が実現される。また、本発明によれば、実行手段
は、独自の制御モードに専用のメモリ領域に格納された
データに基づき、アプリケーションプログラム等からの
干渉を受けることなく、独自の制御モードでメモリ管理
を行うことが可能となる。
According to the present invention, when the instruction issued by the central control means conforms to the first architecture, the instruction is transmitted as it is to the first device control means and the like, and is transmitted to the second architecture. If they match, emulation processing is performed by the execution means. Thereby, multiple compatibility is realized. Further, according to the present invention, the execution means performs the memory management in the unique control mode based on the data stored in the dedicated memory area in the unique control mode without interference from the application program or the like. Is possible.

【0020】また、本発明は、前記メモリ領域において
前記所定の処理のために必要なデータが格納されるアド
レスの位置が、前記制御モードにおいてのみ変更可能で
あることを特徴とする。
Further, the present invention is characterized in that the position of an address where data required for the predetermined processing is stored in the memory area can be changed only in the control mode.

【0021】本発明によれば、前記所定の処理のために
必要なデータが格納されるアドレス位置が、アプリケー
ションプログラム等により書き換えられることがない。
従って、システム側が所望する位置に該アドレス位置を
設定できると共に、この設定位置がアプリケーションプ
ログラム等により変更されないことが保証されるため、
誤動作が生じにくく互換性の高いエミュレートシステム
を実現できる。
According to the present invention, the address position where the data required for the predetermined processing is stored is not rewritten by the application program or the like.
Therefore, it is possible to set the address position at a position desired by the system side, and it is guaranteed that this set position is not changed by an application program or the like.
It is possible to realize a highly compatible emulation system in which malfunction does not easily occur.

【0022】また、本発明は、前記割り込みにより前記
中央制御手段の制御モードが所定システムにより管理さ
れる制御モードに移行され、該制御モード専用のメモリ
領域に前記中央制御手段の内部レジスタの内容が格納さ
れるとともに、前記制御モードの終了の際に、格納され
た内部レジスタの内容が前記中央制御手段に戻されるこ
とを特徴とする。
According to the present invention, the control mode of the central control means is shifted to a control mode managed by a predetermined system by the interrupt, and the contents of the internal register of the central control means are stored in a memory area dedicated to the control mode. The stored contents of the internal register are returned to the central control means when the control mode ends.

【0023】本発明によれば、割り込み発生時における
中央制御手段の内部レジスタの内容が前記制御モード専
用のメモリ領域に格納され、所定処理の終了後に中央制
御手段に自動的に戻される。従って、実行手段により、
この内部レジスタの内容を変更すれば、所定処理の終了
後、この変更された内部レジスタの内容により中央制御
手段を動作させることが可能となる。
According to the present invention, the contents of the internal register of the central control means when an interrupt occurs are stored in the memory area dedicated to the control mode, and automatically returned to the central control means after the completion of the predetermined processing. Therefore, by the execution means,
If the contents of the internal register are changed, it becomes possible to operate the central control means by the changed contents of the internal register after the end of the predetermined processing.

【0024】また、本発明は、前記メモリ領域において
前記内部レジスタの内容が格納されるアドレスの位置
が、前記制御モードにおいてのみ変更可能であることを
特徴とする。
Further, the present invention is characterized in that the position of the address where the contents of the internal register are stored in the memory area can be changed only in the control mode.

【0025】本発明によれば、前記内部レジスタの内容
が格納(スタック)されるアドレス位置が、アプリケー
ションプログラム等により書き換えられることがない。
従って、システム側が所望する位置に該アドレス位置を
設定できると共に、この設定位置がアプリケーションプ
ログラム等により変更されないことが保証されるため、
誤動作が生じにくく互換性の高いエミュレートシステム
を実現できる。
According to the present invention, the address position where the contents of the internal register are stored (stacked) is not rewritten by the application program or the like.
Therefore, it is possible to set the address position at a position desired by the system side, and it is guaranteed that this set position is not changed by an application program or the like.
It is possible to realize a highly compatible emulation system in which malfunction does not easily occur.

【0026】また、本発明は、前記割り込みにより前記
中央制御手段の制御モードが所定システムにより管理さ
れる制御モードに移行され、割り込み前の中央制御手段
の制御モードに依存しない命令体系により前記実行手段
による前記所定の処理が行われることを特徴とする。
Further, according to the present invention, the control mode of the central control means is shifted to a control mode managed by a predetermined system by the interrupt, and the execution means is executed by an instruction system which does not depend on the control mode of the central control means before the interruption. The above-mentioned predetermined processing is performed.

【0027】本発明によれば、前記所定の処理を、割り
込み前の中央制御手段の制御モードとは無関係の命令体
系により行うことができ、これにより、前記所定の処理
を記述するためのプログラムが複雑化することが防止さ
れる。
According to the present invention, the predetermined processing can be performed by an instruction system unrelated to the control mode of the central control means before interruption, whereby a program for describing the predetermined processing can be executed. Complication is prevented.

【0028】また、本発明は、前記割り込みが、前記中
央制御手段をSMMモードに移行させるためのSMI割
り込みであることを特徴とする。
Further, the present invention is characterized in that the interrupt is an SMI interrupt for shifting the central control means to the SMM mode.

【0029】本発明によれば、多くのアプリケーション
プログラム、OSが既に使用していることが想定される
NMIや通常の割り込みINTを使用する必要がなくな
るため、高い互換性を維持できる。
According to the present invention, it is not necessary to use the NMI or the normal interrupt INT which is assumed to be already used by many application programs and OS, so that high compatibility can be maintained.

【0030】また、本発明は、前記第1のデバイス制御
手段としてメモリデバイスを制御する手段を含み、該メ
モリデバイスのメモリマップを前記第2のコンピュータ
アーキテクチャに適合したメモリマップに変換する手段
を含むことを特徴とする。
Further, the present invention includes means for controlling a memory device as the first device control means, and means for converting a memory map of the memory device into a memory map adapted to the second computer architecture. It is characterized by

【0031】本発明によれば、第1のアーキテクチャと
第2のアーキテクチャとの間で、メモリマップの配置が
異なっている場合でも、メモリマップを変更することで
複数互換が実現される。
According to the present invention, even if the arrangements of the memory maps are different between the first architecture and the second architecture, a plurality of compatibility can be realized by changing the memory maps.

【0032】また、本発明は、中央制御手段が第1のコ
ンピュータアーキテクチャに適合した命令体系によって
命令を発行した場合に、該命令を、該第1のコンピュー
タアーキテクチャに適合した命令体系により制御される
第1のデバイス制御手段又はその制御対象に対して伝え
る手段と、前記中央制御手段が前記第1のコンピュータ
アーキテクチャとは異なる第2のコンピュータアーキテ
クチャに適合した命令体系によって命令を発行した場合
に、該命令を受け取ると共に該命令を解析する手段と、
命令が第1の種類の命令であると解析された場合に命令
の種類を示す要因データを設定すると共に前記中央制御
手段に対して割り込みを発生する手段と、前記割り込み
によって起動され、前記要因に対応した所定の処理を、
少なくとも前記第1のデバイス制御手段又はその制御対
象に対して実行する手段と、命令が第2の種類の命令で
あると解析された場合に前記第1のコンピュータアーキ
テクチャに適合するように該命令を変換し、中央制御手
段のバスアクセスを禁止すると共に変換された命令を該
中央制御手段に代わって発行する手段とを含むことを特
徴とする。
Further, according to the present invention, when the central control means issues an instruction by an instruction system adapted to the first computer architecture, the instruction is controlled by the instruction system adapted to the first computer architecture. The first device control means or means for notifying the controlled object thereof, and the central control means, when the instruction is issued by an instruction system adapted to a second computer architecture different from the first computer architecture, Means for receiving an instruction and analyzing the instruction;
When the instruction is analyzed as the first type of instruction, the factor data indicating the type of the instruction is set, and a means for generating an interrupt to the central control means, and a means activated by the interrupt to cause the cause Corresponding predetermined processing,
Means for executing at least the first device control means or an object to be controlled by the first device control means, and the instructions so as to be compatible with the first computer architecture when the instructions are analyzed as the second type of instructions. Means for converting and prohibiting bus access of the central control means and issuing the converted instruction on behalf of the central control means.

【0033】本発明によれば、例えば複雑な処理が必要
な第1の種類の命令に対しては実行手段により命令の変
換等が行われる。また、例えば処理の高速性が要求され
る第2の種類の命令に対してはハードウェア回路等によ
り命令の変換処理が行われる。これにより、高い互換性
を維持しながら高速にエミュレート処理を行うことがで
きる。
According to the present invention, for example, the first type of instruction requiring complicated processing is converted by the executing means. Further, for example, for a second type of instruction that requires high-speed processing, instruction conversion processing is performed by a hardware circuit or the like. This allows high-speed emulation processing while maintaining high compatibility.

【0034】また、本発明は、命令が前記第2の種類の
読み出し命令であった場合に、中央制御手段の処理を中
断し中央制御手段のバスアクセスを禁止すると共に変換
された命令を該中央制御手段に代わって発行し、得られ
たデータを中央制御手段による処理の再実行の際に中央
制御手段に伝える手段を含むことを特徴とする。
Further, according to the present invention, when the instruction is the read instruction of the second kind, the processing of the central control means is interrupted, the bus access of the central control means is prohibited, and the converted instruction is converted into the central instruction. It is characterized in that it includes means for issuing the data instead of the control means and transmitting the obtained data to the central control means when the central control means re-executes the processing.

【0035】本発明によれば、中央制御手段の処理の中
断・再実行を利用して、変換された命令により得られた
データを中央制御手段に伝えることができる。
According to the present invention, the data obtained by the converted instruction can be transmitted to the central control means by utilizing the interruption / re-execution of the processing of the central control means.

【0036】また、本発明は、命令が前記第1の種類の
読み出し命令であった場合に、所定のメモリ領域に格納
される前記中央制御手段の内部レジスタの内容を前記所
定の処理で得られたデータに基づいて変更する手段と、
前記割り込みにより前記中央制御手段が移行した制御モ
ードの終了の際に、変更された内部レジスタの内容を前
記中央制御手段に戻す手段とを含むことを特徴とする。
Further, according to the present invention, when the instruction is the read instruction of the first type, the content of the internal register of the central control means stored in a predetermined memory area can be obtained by the predetermined processing. Means to change based on the data
And a means for returning the changed contents of the internal register to the central control means at the end of the control mode to which the central control means has shifted due to the interrupt.

【0037】本発明によれば、中央制御手段が、読み出
し命令を再度発行しなくても、エミュレート処理により
得られたデータを中央制御手段に対して自動的に伝える
ことができる。
According to the present invention, the central control means can automatically transmit the data obtained by the emulation processing to the central control means without issuing the read command again.

【0038】また、本発明は、前記第1のデバイス制御
手段としてデータ送受信のためのインターフェイスを制
御する手段を含み、前記中央制御手段により発行された
命令がデータの送受信命令又はステータス読み出し命令
であった場合に該命令を前記第2の種類の命令であると
解析し該命令の変換処理を行うことを特徴とする。
The present invention further includes means for controlling an interface for data transmission / reception as the first device control means, and the command issued by the central control means is a data transmission / reception command or a status read command. In this case, the instruction is analyzed as the second type instruction, and the conversion processing of the instruction is performed.

【0039】本発明によれば、高速な処理が要求される
データの送受信命令、ステータス読み出し命令の変換
を、高速なハードウェア回路等により行うことが可能と
なる。また、本発明は、前記第1のデバイス制御手段と
してデータ送受信のためのインターフェイスを制御する
手段を含み、前記中央制御手段により発行された命令が
コマンド書き込み命令であった場合に該命令を前記第1
の種類の命令であると解析し、前記実行手段の前記所定
の処理により該命令の変換処理を行うことを特徴とす
る。
According to the present invention, it is possible to convert a data transmission / reception command and a status read command, which require high-speed processing, by a high-speed hardware circuit or the like. Further, the present invention includes means for controlling an interface for data transmission / reception as the first device control means, and when the instruction issued by the central control means is a command write instruction, the instruction is transmitted as the first device control means. 1
It is characterized in that it is analyzed as an instruction of the type, and the conversion processing of the instruction is performed by the predetermined processing of the execution means.

【0040】本発明によれば、複雑な処理が要求される
コマンド書き込み命令の変換処理等を、所定のコードで
処理を記述できる実行手段により実行することが可能と
なる。
According to the present invention, it becomes possible to execute a conversion process of a command write command, which requires a complicated process, by the execution means capable of describing the process with a predetermined code.

【0041】また、本発明は、前記第1のデバイス制御
手段としてデータ送受信のためのインターフェイスを制
御する手段を含み、前記中央制御手段により発行された
命令がデータ転送のためのボーレートを設定する命令で
あった場合に該命令を前記第1の種類の命令であると解
析し、前記実行手段の前記所定の処理により前記ボーレ
ートの演算を行うことを特徴とする。
The present invention further includes means for controlling an interface for data transmission / reception as the first device control means, and the instruction issued by the central control means sets a baud rate for data transfer. If it is, the instruction is analyzed as the instruction of the first type, and the baud rate is calculated by the predetermined processing of the executing means.

【0042】本発明によれば、例えば第1のアーキテク
チャで使用されるデバイス制御手段でクロックに対する
送受信のボーレートが1つに固定されている場合でも、
他の種類のボーレートを使用することが可能となる。
According to the present invention, for example, even when the baud rate of transmission / reception with respect to the clock is fixed to one by the device control means used in the first architecture,
It is possible to use other types of baud rates.

【0043】また、本発明は、前記第1のデバイス制御
手段としてデータ入力手段を制御する手段を含み、前記
中央制御手段により発行された命令がコマンド送信命令
又はコマンド書き込み命令又はデータ受信命令であった
場合に該命令を前記第1の種類の命令であると解析し、
前記実行手段の前記所定の処理により該命令の変換処理
を行うことを特徴とする。
The present invention further includes means for controlling the data input means as the first device control means, and the command issued by the central control means is a command transmission command, a command write command or a data reception command. The instruction is analyzed as the first type instruction,
The conversion processing of the instruction is performed by the predetermined processing of the execution means.

【0044】本発明によれば、複雑な処理が要求される
コマンド送信命令等を、所定のコードで処理を記述でき
る実行手段により実行することが可能となる。
According to the present invention, it is possible to execute a command transmission command or the like, which requires complicated processing, by executing means capable of describing the processing with a predetermined code.

【0045】また、本発明は、前記第1のデバイス制御
手段としてデータ入力手段を制御する手段を含み、前記
中央制御手段により発行された命令がステータス読み出
し命令であった場合に該命令を前記第2の種類の命令で
あると解析し該命令の変換処理を行うことを特徴とす
る。
Further, the present invention includes means for controlling the data input means as the first device control means, and when the instruction issued by the central control means is a status read instruction, the instruction is issued. It is characterized in that it is analyzed as two types of instructions and conversion processing of the instructions is performed.

【0046】本発明によれば、高速な処理が要求される
ステータス読み出し命令の変換を、ハードウェア回路等
により行うことが可能となる。
According to the present invention, the conversion of the status read command, which requires high-speed processing, can be performed by a hardware circuit or the like.

【0047】また、本発明は、前記第1のデバイス制御
手段として割り込みを制御する手段を含み、前記中央制
御手段に対して発行された割り込みベクトルを変換する
ベクトル変換手段を含むことを特徴とする。
Further, the present invention is characterized in that it comprises means for controlling an interrupt as the first device control means, and a vector conversion means for converting an interrupt vector issued to the central control means. .

【0048】本発明によれば、割り込みベクトルについ
ても第1のアーキテクチャにしたがうように変換するこ
とが可能となり、互換性をより高めることができる。
According to the present invention, the interrupt vector can be converted according to the first architecture, and the compatibility can be further improved.

【0049】また、本発明は、前記第1のデバイス制御
手段として割り込みを制御する手段を含み、前記中央制
御手段により割り込みアクノリッジ命令が発行された場
合に、中央制御手段の処理を中断し中央制御手段のバス
アクセスを禁止すると共に割り込みアクノリッジサイク
ルを新たに発生し、変換された割り込みベクトルを中央
制御手段による処理の再実行の際に中央制御手段に伝え
る手段を含むことを特徴とする。
Also, the present invention includes means for controlling an interrupt as the first device control means, and when the interrupt acknowledge command is issued by the central control means, the processing of the central control means is interrupted and the central control is performed. It is characterized by including means for prohibiting bus access of the means, newly generating an interrupt acknowledge cycle, and transmitting the converted interrupt vector to the central control means when the central control means re-executes the processing.

【0050】本発明によれば、中央制御手段の処理の中
断、再実行を利用して、変換された割り込みベクトルを
中央制御手段に伝えることができる。
According to the present invention, the interrupt vector converted can be transmitted to the central control means by utilizing the interruption and re-execution of the processing of the central control means.

【0051】また、本発明は、第1のバスに接続され、
中央制御手段から発行された第2のコンピュータアーキ
テクチャに適合した命令を第1のコンピュータアーキテ
クチャに適合した命令に変換する手段を含むサブコント
ローラと、前記第1のバスと第2のバスとを接続するた
めのブリッジ回路とを含み、前記サブコントローラが、
前記ブリッジ回路に入力される前記第1のバスのコント
ロール信号を制御することで、前記第2のコンピュータ
アーキテクチャに適合した命令が発行された場合に前記
第2のバスに接続される第1のデバイス制御手段又はそ
の制御対象に対して該命令が伝わるのを無効にする手段
を含むことを特徴とする。
The present invention is also connected to the first bus,
The first bus and the second bus are connected to a sub-controller including means for converting an instruction compatible with the second computer architecture issued from the central control means into an instruction compatible with the first computer architecture. And a bridge circuit for
By controlling a control signal of the first bus input to the bridge circuit, a first device connected to the second bus when an instruction conforming to the second computer architecture is issued. It is characterized by including a means for invalidating the transmission of the command to the control means or its control target.

【0052】本発明によれば、第2のコンピュータアー
キテクチャの命令が第1のデバイス制御手段等に伝わる
のを防止でき、互換性の維持が可能になる。
According to the present invention, the instruction of the second computer architecture can be prevented from being transmitted to the first device control means and the like, and the compatibility can be maintained.

【0053】また、本発明は、第1のバスに接続され、
中央制御手段から発行された第2のコンピュータアーキ
テクチャに適合した命令を第1のコンピュータアーキテ
クチャに適合した命令に変換する手段を含むサブコント
ローラと、前記第1のバスに接続され、前記第2のコン
ピュータアーキテクチャに適合した命令体系により制御
される第2のデバイス制御手段とを含み、前記サブコン
トローラが、前記第2のデバイス制御手段に入力される
前記第1のバスのコントロール信号を制御することで、
前記第1のコンピュータアーキテクチャに適合した命令
が発行された場合に前記第2のデバイス制御手段又はそ
の制御対象に対して該命令が伝わるのを無効にすると共
に、前記第2のコンピュータアーキテクチャに適合した
命令が発行された場合に前記第2のデバイス制御手段又
はその制御対象に対して該命令を伝える手段を含むこと
を特徴とする。
The present invention is also connected to the first bus,
A sub-controller including means for converting a second computer architecture compatible instruction issued from a central control means into a first computer architecture compatible instruction; and a second computer connected to the first bus Second device control means controlled by an instruction system adapted to the architecture, wherein the sub-controller controls a control signal of the first bus input to the second device control means,
When an instruction adapted to the first computer architecture is issued, transmission of the instruction to the second device control means or its control target is disabled, and adapted to the second computer architecture. It is characterized by including means for transmitting the command to the second device control means or its control target when the command is issued.

【0054】本発明によれば、第1のバスに接続される
第2のデバイス制御手段等に対して第1のコンピュータ
アーキテクチャの命令が伝わるのが防止されると共に、
第2のコンピュータアーキテクチャの命令については伝
えられる。これによりこのエミュレート処理が困難なデ
バイス制御手段が存在する場合も複数互換の実現が可能
になる。
According to the present invention, it is possible to prevent the instruction of the first computer architecture from being transmitted to the second device control means or the like connected to the first bus.
The instructions of the second computer architecture are communicated. As a result, even if there is a device control means for which this emulation processing is difficult, multiple compatibility can be realized.

【0055】また、本発明は、第1のバスに接続され、
中央制御手段から発行された第2のコンピュータアーキ
テクチャに適合した命令を第1のコンピュータアーキテ
クチャに適合した命令に変換する手段を含むサブコント
ローラと、前記第1のバスに接続可能な第1の拡張スロ
ットと、該第1の拡張スロットに挿入可能であり、前記
第1のバスの信号を、第2のコンピュータアーキテクチ
ャに適合する命令により制御される第2のバスの信号に
変換する手段を有するボードと、前記第2のバスに接続
可能な1又は複数の第2の拡張スロットを含み前記ボー
ドとケーブルを介して接続される拡張スロットボックス
とを含むことを特徴とする。
The present invention is also connected to the first bus,
A sub-controller including means for converting a second computer architecture compatible instruction issued from the central control means into a first computer architecture compatible instruction; and a first expansion slot connectable to the first bus. And a board that can be inserted into the first expansion slot and that has means for converting a signal of the first bus into a signal of a second bus controlled by an instruction compatible with a second computer architecture. And an expansion slot box including one or a plurality of second expansion slots connectable to the second bus and connected to the board via a cable.

【0056】本発明によれば、本体装置のハードウェア
変更を最小限に抑えながら第2のコンピュータアーキテ
クチャのバスに接続可能なハードウェア資源を有効利用
できる。
According to the present invention, it is possible to effectively use the hardware resources connectable to the bus of the second computer architecture while minimizing the hardware change of the main unit.

【0057】また、本発明は、中央制御手段が第2のコ
ンピュータアーキテクチャに適合した命令体系によって
命令を発行した場合に、該命令を第1のコンピュータア
ーキテクチャに適合した命令に変換するエミュレートシ
ステムであって、入力されるメモリアドレスの位置に少
なくともコマンド情報、エミュレーションアドレス情報
を含むマイクロコード情報を記憶するマイクロコードメ
モリと、前記中央制御手段により発行された命令に含ま
れるアドレス情報と前記マイクロコードメモリに含まれ
る前記エミュレーションアドレス情報のいずれかを選択
し前記メモリアドレスを生成するセレクタ手段とを含
み、前記セレクタ手段が、前記コマンド情報に含まれる
エミュレーション継続情報に基づいてエミュレーション
の継続を指示された場合には前記エミュレーションアド
レス情報を選択し前記メモリアドレスを生成することを
特徴とする。
Further, the present invention is an emulation system which, when the central control means issues an instruction by an instruction system adapted to the second computer architecture, converts the instruction into an instruction adapted to the first computer architecture. A microcode memory for storing microcode information including at least command information and emulation address information at an input memory address position; address information included in an instruction issued by the central control means; and the microcode memory. And selector means for selecting any of the emulation address information included in the command information to generate the memory address, the selector means being instructed to continue emulation based on the emulation continuation information included in the command information. The case and generates the memory address selects the emulation address information.

【0058】本発明によれば、エミュレーション継続情
報によりエミュレーションの継続を指示することでエミ
ュレーションサイクルを所望回数繰り返すことが可能と
なり、複雑なエミュレート処理も簡易に実現できる。
According to the present invention, the emulation cycle can be repeated a desired number of times by instructing the continuation of the emulation by the emulation continuation information, and complicated emulation processing can be easily realized.

【0059】また、本発明は、前記マイクロコードメモ
リからのマイクロコード情報に基づいてエミュレーショ
ンデータの生成処理を行うデータ生成手段を含み、該デ
ータ生成手段が、前記エミュレーション継続情報に基づ
いてエミュレーションの継続が指示された場合に、中央
制御手段からの書き込みデータ又はn番目(nは1以上
の整数)のエミュレーションにより生成されたエミュレ
ーションデータに基づいてn+1番目のエミュレーショ
ンにおけるエミュレーションデータの生成処理を行うこ
とを特徴とする。
Further, the present invention includes data generating means for generating emulation data based on the microcode information from the microcode memory, and the data generating means, based on the emulation continuation information, continues the emulation. Is specified, the generation processing of the emulation data in the (n + 1) th emulation is performed based on the write data from the central control means or the emulation data generated by the nth emulation (n is an integer of 1 or more). Characterize.

【0060】本発明によれば、前回に生成されたエミュ
レーションデータを用いて次の回のエミュレーションデ
ータを生成できることになり、複雑なエミュレーション
データの生成処理を簡易に実現できる。
According to the present invention, the emulation data generated the previous time can be used to generate the emulation data for the next time, so that a complicated emulation data generation process can be easily realized.

【0061】また、本発明は、中央制御手段が第2のコ
ンピュータアーキテクチャに適合した命令体系によって
命令を発行した場合に、該命令を第1のコンピュータア
ーキテクチャに適合した命令に変換するエミュレートシ
ステムであって、命令変換のためのマイクロコード情報
を所定のメモリアドレスの位置に記憶するマイクロコー
ドメモリと、前記マイクロコードメモリから前記マイク
ロコード情報を読み出す手段と、読み出されたマイクロ
コード情報に基づいてエミュレーションデータの生成処
理を行うデータ生成手段とを含み、前記マイクロコード
メモリは、第1のメモリアドレスの位置に少なくともコ
マンド情報、エミュレーションアドレス情報を含む第1
のマイクロコード情報を記憶し、該第1のメモリアドレ
スを変換することで得られる第2のメモリアドレスの位
置に少なくともデータ生成情報の一部又は全部を含む第
2のマイクロコード情報を記憶し、前記読み出し手段
が、第1のメモリ読み出しサイクルにより前記第1のメ
モリアドレスの位置に記憶される前記コマンド情報を読
み出し、前記データ生成手段によるデータ生成処理が必
要であると該コマンド情報に基づいて判断された場合に
は第2のメモリ読み出しサイクルを起動して前記第2の
メモリアドレスの位置に記憶される前記データ生成情報
を読み出し、前記データ生成手段が、前記第1のメモリ
読み出しサイクルで読み出された第1のマイクロコード
情報と、前記第2のメモリ読み出しサイクルで読み出さ
れた第2のマイクロコード情報とに基づいて前記データ
生成処理を行うことを特徴とする。
Further, the present invention is an emulation system for converting an instruction into an instruction compatible with the first computer architecture when the central control means issues the instruction according to the instruction system compatible with the second computer architecture. There is a microcode memory for storing microcode information for instruction conversion at a predetermined memory address position, a unit for reading the microcode information from the microcode memory, and based on the read microcode information. Data generating means for generating emulation data, wherein the microcode memory includes at least command information and emulation address information at a first memory address position.
Storing the microcode information, and storing the second microcode information including at least a part or all of the data generation information at the position of the second memory address obtained by converting the first memory address, The read means reads the command information stored in the position of the first memory address in the first memory read cycle, and determines that the data generation processing by the data generation means is necessary based on the command information. If so, the second memory read cycle is activated to read the data generation information stored in the position of the second memory address, and the data generation means reads the data in the first memory read cycle. The read first microcode information and the second microcode read in the second memory read cycle. And performing the data generation process based on the over-de information.

【0062】本発明によれば、第1のメモリ読み出しサ
イクルで読み出されたコマンド情報に基づいて第2のメ
モリ読み出しサイクルを起動するか否かが決定されるた
め、無駄なメモリの読み出しサイクルが生じるのを防止
できる。
According to the present invention, it is determined whether to activate the second memory read cycle based on the command information read in the first memory read cycle. It can be prevented from occurring.

【0063】また、本発明は、前記データ生成情報がビ
ット定義情報を含み、前記データ生成手段が、該ビット
定義情報に基づいてエミュレーションデータの各ビット
の値を定義し前記データ生成処理を行うことを特徴とす
る。
According to the present invention, the data generation information includes bit definition information, and the data generation means defines the value of each bit of the emulation data based on the bit definition information and performs the data generation process. Is characterized by.

【0064】本発明によれば、ビット定義情報を用いて
例えばビットの交換処理等を容易に実現できる。
According to the present invention, it is possible to easily realize, for example, bit exchange processing by using the bit definition information.

【0065】また、本発明は、前記第1のマイクロコー
ド情報が所定ビット数のデータを含み、前記コマンド情
報が、該所定ビット数のデータをエミュレーションデー
タとして出力することを指示する情報を含むことを特徴
とする。
Further, in the present invention, the first microcode information includes data of a predetermined number of bits, and the command information includes information for instructing to output the data of the predetermined number of bits as emulation data. Is characterized by.

【0066】本発明によれば、マイクロコード情報に含
ませた所定ビット数のデータをエミュレーションデータ
としてそのまま使用することが可能となる。
According to the present invention, it is possible to use the data of the predetermined number of bits included in the microcode information as it is as the emulation data.

【0067】また、本発明は、前記コマンド情報が、ア
ドレス変換処理のみを行いデータの変換は行わないこと
を指示する情報を含むことを特徴とする。
Further, the present invention is characterized in that the command information includes information instructing that only the address conversion processing is performed and the data conversion is not performed.

【0068】本発明によれば、中央制御手段の書き込み
データをそのまま使用できるエミュレーション処理を簡
易に実現できる。
According to the present invention, the emulation processing in which the write data of the central control means can be used as it is can be easily realized.

【0069】また、本発明は、前記中央制御手段により
発行された命令に含まれるアドレス情報をデコードして
前記メモリアドレスを得るアドレスデコード手段を含
み、該アドレスデコード手段が、中央制御手段により発
行された命令に含まれるアドレス情報が同一である場合
に、該同一のアドレス情報から異なるメモリアドレスを
得る手段を含むことを特徴とする。
The present invention further includes address decoding means for decoding the address information contained in the instruction issued by the central control means to obtain the memory address, and the address decoding means is issued by the central control means. When the address information included in the instructions is the same, a means for obtaining a different memory address from the same address information is included.

【0070】本発明によれば、例えば1つのI/Oポー
トが状況によって異なるデータを読み出せたり書き込め
たりするポートであった場合にも、該I/Oポートに対
するI/O命令のエミュレート処理を実現できる。
According to the present invention, for example, even when one I / O port is a port capable of reading and writing different data depending on the situation, emulation processing of I / O instructions for the I / O port is performed. Can be realized.

【0071】また、本発明は、中央制御手段が第2のコ
ンピュータアーキテクチャに適合した命令体系によって
命令を発行した場合に、該命令を第1のコンピュータア
ーキテクチャに適合した命令に変換して、前記第1のコ
ンピュータアーキテクチャに適合した命令体系により制
御される第1のデバイス制御手段又はその制御対象に対
して伝えるエミュレートシステムであって、前記第1の
デバイス制御手段が第1の割り込みを発生することで命
令発行の依頼を前記中央制御手段に対して通知する場合
において、該第1の割り込みが発生された場合に該割り
込みを受け取ると共に命令の種類を示す要因データを設
定し、中央制御手段に対して第2の割り込みを発生する
手段と、前記第2の割り込みによって起動され前記要因
に対応した所定の処理を実行し、前記第1のデバイス制
御手段又はその制御対象に対する前記第2のコンピュー
タアーキテクチャに適合した命令の発行が可能な状態に
設定する実行手段と、前記中央制御手段に対して前記第
1の割り込みを発生し命令発行の依頼を通知する手段と
を含むことを特徴とする。
Further, according to the present invention, when the central control means issues an instruction by an instruction system adapted to the second computer architecture, the instruction is converted into an instruction adapted to the first computer architecture, and the first computer architecture is adapted. An emulation system for transmitting information to a first device control means controlled by an instruction system adapted to one computer architecture or a control target thereof, wherein the first device control means generates a first interrupt. In the case of notifying the central control means of the command issuance request, when the first interrupt is generated, the interrupt is received and factor data indicating the type of the instruction is set, and the central control means is set. Means for generating a second interrupt by means of a predetermined interrupt corresponding to the factor that is activated by the second interrupt. And a first execution unit for executing the processing to set the first device control unit or an object controlled by the first device control unit in a state in which an instruction compatible with the second computer architecture can be issued, and the first control unit for the central control unit. And a means for notifying an instruction issuance request.

【0072】本発明によれば、割り込みを発生して命令
発行の依頼を行うデバイス制御手段に関するエミュレー
ション処理であって、かつ複雑な処理が必要である場合
でも、これを簡易に実現できる。
According to the present invention, the emulation process relating to the device control means for generating the interrupt and requesting the instruction issuance, and even when the complicated process is required, this can be easily realized.

【0073】また、本発明は、前記第1のデバイス制御
手段としてキーボードコントローラを含み、前記実行手
段による前記所定の処理が、キーボードからの入力デー
タをデータ変換テーブルを用いて変換し、前記中央制御
手段が読み出し可能な格納手段に変換されたデータを格
納する処理であることを特徴とする。
Further, in the present invention, a keyboard controller is included as the first device control means, and the predetermined processing by the execution means converts input data from the keyboard using a data conversion table to perform the central control. The means is a process of storing the converted data in a readable storage means.

【0074】本発明によれば複雑な処理が必要なキーボ
ード入力データの変換処理を変換テーブルを用いて簡易
に実現できる。
According to the present invention, a keyboard input data conversion process that requires complicated processing can be easily realized by using a conversion table.

【0075】また、本発明は、前記第1のデバイス制御
手段としてマウスコントローラを含み、前記実行手段に
よる前記所定の処理が、マウスからの入力データを、第
2のコンピュータアーキテクチャに適合した命令により
読み出し可能なデータに変換し、前記中央制御手段が読
み出し可能な格納手段に変換されたデータを格納する処
理であることを特徴とする。
The present invention further includes a mouse controller as the first device control means, and the predetermined processing by the execution means reads the input data from the mouse by an instruction adapted to the second computer architecture. It is characterized in that it is a process of converting the data into a possible data and storing the converted data in a storage means which can be read by the central control means.

【0076】本発明によれば、第1、第2のコンピュー
タアーキテクチャの間でマウスからの入力データのフォ
ーマットが大幅に異なっている場合でも、簡易に変換処
理を実現できる。
According to the present invention, even if the format of the input data from the mouse is significantly different between the first and second computer architectures, the conversion processing can be easily realized.

【0077】また、本発明は、中央制御手段が直接接続
される第1のバスに接続される第1のサブコントローラ
を含み、前記第1のサブコントローラが、第2のコンピ
ュータアーキテクチャに適合した命令体系により中央制
御手段が命令を発行した場合に、第1のコンピュータア
ーキテクチャに適合した命令体系により制御される第1
のデバイス制御手段又はその制御対象に対して該命令が
伝わるのを無効にする手段と、中央制御手段から発行さ
れた該命令を前記第1のコンピュータアーキテクチャに
適合する命令に変換し、前記第1のデバイス制御手段又
はその制御対象に対して該変換された命令を伝える手段
とを含むことを特徴とする。
The present invention also includes a first sub-controller connected to the first bus to which the central control means is directly connected, said first sub-controller having instructions adapted to the second computer architecture. A first control method adapted to the first computer architecture when the central control means issues an instruction according to the first system
Means for disabling the transmission of the instruction to the device control means or its control target, and converting the instruction issued from the central control means into an instruction compatible with the first computer architecture, Device control means or means for transmitting the converted command to the control target thereof.

【0078】本発明によれば、中央制御手段が接続され
る第1のバスを第1のサブコントローラが直接制御して
エミュレート処理を行うことができる。これにより、オ
プションボード等を装着するだけで実現するエミュレー
トシステムを提供できる。また、第1のバスしか存在し
ない情報処理装置等においても複数互換を実現できる。
According to the present invention, the first bus to which the central control means is connected can be directly controlled by the first sub-controller to perform emulation processing. This makes it possible to provide an emulation system that can be realized simply by mounting an option board or the like. Also, multiple compatibility can be realized even in an information processing device having only the first bus.

【0079】また、本発明は、前記命令を伝える手段
が、前記中央制御手段の入力信号を制御することで中央
制御手段の処理を中断させた後に再実行させ、変換され
た命令により得られたデータ又は前記第1のデバイス制
御手段からの制御信号を前記再実行の際に伝える手段を
含むことを特徴とする。
Further, according to the present invention, the means for transmitting the command is obtained by the converted command by interrupting the processing of the central control means by controlling the input signal of the central control means and then re-executing the processing. It further comprises means for transmitting data or a control signal from the first device control means at the time of the re-execution.

【0080】本発明によれば、例えば中央制御手段のバ
ックオフ機能等を用いて中央制御手段の処理を中断させ
た後、再開させ、リード命令の時にはエミュレーション
により得られたデータを、ライト命令の時にはレディ信
号等の制御信号を中央制御手段に伝えることができる。
According to the present invention, for example, the back-off function of the central control means is used to suspend and then restart the processing of the central control means. When a read instruction is issued, the data obtained by emulation is transferred to the write instruction. Sometimes a control signal such as a ready signal can be transmitted to the central control means.

【0081】また、本発明は、前記第1のバスとは異な
る第2のバスに接続される第2のサブコントローラを含
み、前記第2のサブコントローラが、前記第2のコンピ
ュータアーキテクチャに適合した命令体系により制御さ
れる第2のデバイス制御手段を含むことを特徴とする。
Also, the present invention includes a second sub-controller connected to a second bus different from the first bus, the second sub-controller adapted to the second computer architecture. It is characterized by including a second device control means controlled by an instruction system.

【0082】本発明によれば、例えば第1のコンピュー
タアーキテクチャではサポートされていない機能を有す
る第2のデバイス制御手段を有効利用することができ
る。
According to the present invention, it is possible to effectively use the second device control means having a function that is not supported by the first computer architecture, for example.

【0083】また、本発明は、中央制御手段が直接接続
される第1のバスに接続される第1のサブコントローラ
と、該第1のバスとは異なる第2のバスに接続される第
2のサブコントローラを含み、前記第1のサブコントロ
ーラが、第2のコンピュータアーキテクチャに適合した
命令体系により中央制御手段が命令を発行した場合に、
該命令を、第1のコンピュータアーキテクチャに適合し
た命令体系により制御される第1のデバイス制御手段又
はその制御対象が受け付けられない命令に変換する手段
を含み、前記第2のサブコントローラが、中央制御手段
から発行された前記命令を前記第1のコンピュータアー
キテクチャに適合する命令に変換し、前記第1のデバイ
ス制御手段又はその制御対象に対して変換された該命令
を伝える手段を含むことを特徴とする。
Further, according to the present invention, the first sub-controller connected to the first bus to which the central control means is directly connected, and the second sub-controller connected to the second bus different from the first bus. When the central controller issues a command according to a command system adapted to the second computer architecture,
The second sub-controller includes a means for converting the instruction into an instruction that is not accepted by the first device control means controlled by an instruction system adapted to the first computer architecture or an object to be controlled by the first device control means. A means for converting the instruction issued by the means into an instruction compatible with the first computer architecture, and transmitting the converted instruction to the first device control means or its control target. To do.

【0084】本発明によれば、中央制御手段が接続され
る第1のバスを第1のサブコントローラが直接制御して
エミュレート処理を行うことができる。これにより、オ
プションボード等を装着するだけで実現するエミュレー
トシステムを提供できる。また、第1のバスしか存在し
ない等の情報処理装置においても複数互換を実現でき
る。しかも、中央制御手段に接続される第1のサブコン
トローラの回路規模を小さくできるため、スペース面に
おいて有利となる。
According to the present invention, the first bus to which the central control means is connected can be directly controlled by the first sub-controller to perform emulation processing. This makes it possible to provide an emulation system that can be realized simply by mounting an option board or the like. In addition, plural compatibility can be realized even in an information processing device in which only the first bus exists. Moreover, the circuit scale of the first sub-controller connected to the central control means can be reduced, which is advantageous in terms of space.

【0085】また、本発明は、前記第1のデバイス制御
手段又はその制御対象が受け付けられない命令への変換
処理が、前記中央制御手段からの命令に含まれるアドレ
スの情報を前記第1のデバイス制御手段又はその制御対
象が使用していないアドレスへと変換する処理であるこ
とを特徴とする。
Further, according to the present invention, in the conversion processing into an instruction in which the first device control means or the control target thereof is not accepted, the information of the address included in the instruction from the central control means is converted into the first device. It is characterized in that it is a process of converting to an address that is not used by the control means or its control target.

【0086】本発明によれば、命令のアドレスを第1の
デバイス制御手段等が使用しないアドレスに変換するこ
とで、第1のデバイス制御手段等が第2のコンピュータ
アーキテクチャの命令に応答することが防止される。
According to the present invention, by converting the address of the instruction into an address that is not used by the first device control means or the like, the first device control means or the like can respond to the instruction of the second computer architecture. To be prevented.

【0087】また、本発明は、前記命令を伝える手段
が、前記第2のバスの信号を制御することで中央制御手
段の処理を中断させた後に再実行させ、変換された命令
により得られたデータ又は前記第1のデバイス制御手段
からの制御信号を前記再実行の際に伝える手段を含むこ
とを特徴とする。
Further, according to the present invention, the means for transmitting the instruction is obtained by the converted instruction by interrupting the processing of the central control means by controlling the signal of the second bus and then re-executing it. It further comprises means for transmitting data or a control signal from the first device control means at the time of the re-execution.

【0088】本発明によれば、バス信号の制御により実
現されるリトライ機能等を用いて中央制御手段の処理を
中断させた後、再開させ、リード命令の時にはエミュレ
ーションにより得られたデータを、ライト命令の時には
レディ信号等の制御信号を中央制御手段に伝えることが
できる。
According to the present invention, the processing of the central control means is suspended and then restarted by using the retry function or the like realized by the control of the bus signal, and the data obtained by the emulation is written in the case of the read instruction. At the time of an instruction, a control signal such as a ready signal can be transmitted to the central control means.

【0089】また、本発明は、前記第2のサブコントロ
ーラが、前記第2のコンピュータアーキテクチャに適合
した命令体系により制御される第2のデバイス制御手段
を含むことを特徴とする。
Further, the present invention is characterized in that the second sub-controller includes second device control means controlled by an instruction system adapted to the second computer architecture.

【0090】本発明によれば、例えば第1のコンピュー
タアーキテクチャではサポートされていない機能を有す
る第2のデバイス制御手段を有効利用することができ
る。
According to the present invention, it is possible to effectively use the second device control means having a function that is not supported by the first computer architecture, for example.

【0091】また、本発明は、前記第2のサブコントロ
ーラからの割り込み信号を前記中央制御手段に対して伝
える手段を含むことを特徴とする。
Further, the present invention is characterized by including means for transmitting an interrupt signal from the second sub-controller to the central control means.

【0092】本発明によれば、第2のサブコントローラ
において割り込み信号を利用したエミュレート処理が可
能となり、より互換性の高いエミュレートシステムを実
現できる。
According to the present invention, emulation processing using an interrupt signal is possible in the second sub controller, and an emulation system with higher compatibility can be realized.

【0093】また、本発明は、前記第1のサブコントロ
ーラが、中央制御手段から発行された前記命令が第1の
コンピュータアーキテクチャに適合するものであった場
合には、前記第1のデバイス制御手段又はその制御対象
に該命令を伝える手段を含むことを特徴とする。
Further, according to the present invention, when the first sub-controller has the instruction issued from the central control means conforming to the first computer architecture, the first device control means is provided. Alternatively, it is characterized by including means for transmitting the command to the controlled object.

【0094】本発明によれば、命令が第1のコンピュー
タアーキテクチャに適合するものであった場合には命令
が変換されずそのまま伝えられるため、処理の高速化が
図れる。
According to the present invention, when the instruction is compatible with the first computer architecture, the instruction is transmitted without being converted, so that the processing speed can be increased.

【0095】また、本発明は、前記第1のサブコントロ
ーラが、中央制御手段から発行された前記命令がメモリ
デバイスを制御する手段又はその制御対象に対するもの
であるか否かの判断を行うために、中央制御手段が発生
する前記第1のバスの制御開始信号を遅らせる手段を含
むことを特徴とする。
Further, according to the present invention, the first sub-controller determines whether or not the instruction issued from the central control means is for the means for controlling the memory device or its control target. , A means for delaying the control start signal of the first bus generated by the central control means.

【0096】本発明によれば、メモリへのアクセスか否
かを判断し、メモリへのアクセスであれば、遅れて出力
されるバスの制御開始信号ですぐにバスサイクルを開始
できる。従って、メモリへのアクセス速度の低下を最小
限に抑えるとができる。
According to the present invention, it is judged whether or not the memory is accessed, and if the memory is accessed, the bus cycle can be immediately started by the delayed control start signal of the bus. Therefore, it is possible to minimize the decrease in access speed to the memory.

【0097】また、本発明は、リセット後又は電源投入
後に、第2のコンピュータアーキテクチャに適合するB
IOSを第1のコンピュータアーキテクチャに適合する
BIOSに優先して起動する手段と、中央制御手段から
発行された命令を変換せずに伝えるか第1のコンピュー
タアーキテクチャに適合する命令に変換して伝えるかの
モード選択をデータ入力手段からの指示に基づいて切り
換える手段とを含むことを特徴とする。
The present invention is also compatible with the second computer architecture B after reset or power up.
A means for activating IOS with priority over a BIOS compatible with the first computer architecture, and whether the instruction issued from the central control means is transmitted without conversion or converted into an instruction compatible with the first computer architecture and transmitted. Means for switching the mode selection based on the instruction from the data input means.

【0098】本発明によれば、リセット後等において第
2のコンピュータアーキテクチャのBIOSを優先して
起動できるため、より互換性の高いエミュレートシステ
ムを実現できる。また、データ入力手段によるモード選
択が可能になるため、モード選択のためのスイッチ等を
設ける必要がなくなる。これによりきょう体(装置の外
装部材)についても第1のアーキテクチャのものを使用
できる。
According to the present invention, since the BIOS of the second computer architecture can be activated with priority after a reset or the like, a more compatible emulation system can be realized. Further, since the mode can be selected by the data input means, it is not necessary to provide a switch for selecting the mode. As a result, the casing (the exterior member of the device) having the first architecture can be used.

【0099】また、本発明は、中央制御手段から発行さ
れた命令をエミュレート処理するための第1のサブコン
トローラを少なくとも有する第1のボードを含み、該第
1のボードが、中央制御手段の第1の端子群と、中央制
御手段が装着可能な第2のソケットを少なくとも有する
第3のボードの該第2のソケットの第1の端子群とを接
続するための第1の接続手段と、中央制御手段の第2の
端子群と前記第2のソケットの第2の端子群とを、前記
第1のサブコントローラを介して接続するための第2の
接続手段とを含むことを特徴とする。
The present invention also includes a first board having at least a first sub-controller for emulating an instruction issued from the central control means, the first board being the central control means. First connecting means for connecting the first terminal group and the first terminal group of the second socket of the third board having at least the second socket to which the central control means can be attached; A second connecting means for connecting the second terminal group of the central control means and the second terminal group of the second socket via the first sub-controller. .

【0100】本発明によれば、まず第3のボード上の第
2のソケットから中央制御手段を取り外す。そして、第
1のボードの第1の接続手段により中央制御手段の第1
の端子群が第2のソケットの第1の端子群と接続され
る。また、第2の接続手段により中央制御手段の第2の
端子群が第1のサブコントローラを介して第2のソケッ
トの第2の端子群と接続される。従って、第1のサブコ
ントローラを用いて中央制御手段からの一部の信号等を
制御でき、第1のボードを装着するだけで実現できるエ
ミュレートシステムを提供できる。
According to the invention, the central control means is first removed from the second socket on the third board. The first connecting means of the first board allows the first control means of the central control means to operate.
Is connected to the first terminal group of the second socket. Also, the second connecting means connects the second terminal group of the central control means to the second terminal group of the second socket via the first sub-controller. Therefore, it is possible to provide an emulation system which can control a part of the signals from the central control means using the first sub-controller and can be realized only by mounting the first board.

【0101】また、本発明は、前記第1のボードが、前
記中央制御手段が装着可能な第1のソケットと、前記第
2のソケットに設けられる複数のピン穴に挿入可能な複
数のピンを有する接続コネクタと、前記第1のソケット
の端子と前記サブコントローラの端子と前記接続コネク
タの端子とを接続するための配線手段とを含むことを特
徴とする。
Further, according to the present invention, the first board has a first socket into which the central control means can be mounted and a plurality of pins which can be inserted into a plurality of pin holes provided in the second socket. And a wiring means for connecting the terminal of the first socket, the terminal of the sub-controller, and the terminal of the connection connector.

【0102】本発明によれば、第2のソケットから中央
制御手段を取り外し、これを第1のソケットに装着し、
接続コネクタを第2のソケットに装着するだけでエミュ
レートシステムを実現できる。
According to the present invention, the central control means is removed from the second socket and mounted in the first socket,
The emulation system can be realized simply by mounting the connection connector on the second socket.

【0103】また、本発明は、前記第1のボードが、前
記中央制御手段と、前記第2のソケットに設けられる複
数のピン穴に挿入可能な複数のピンを有する接続コネク
タと、前記中央制御手段の端子と前記サブコントローラ
の端子と前記接続コネクタの端子とを接続するための配
線手段とを含むことを特徴とする。
According to the present invention, the first board may include the central control means, a connector having a plurality of pins that can be inserted into a plurality of pin holes provided in the second socket, and the central control. Wiring means for connecting the terminals of the means, the terminals of the sub-controller, and the terminals of the connection connector are included.

【0104】本発明によれば、第1のボードには中央制
御手段が設けられ、この第1のボードの接続コネクタを
第2のソケットに装着するだけでエミュレートシステム
を実現できる。
According to the present invention, the first board is provided with the central control means, and the emulation system can be realized only by mounting the connecting connector of the first board in the second socket.

【0105】また、本発明は、前記第1のサブコントロ
ーラと共に前記エミュレート処理を行うための第2のサ
ブコントローラを少なくとも有し、前記第3のボード上
の前記第2のソケットの端子との間で信号の伝達が可能
な拡張スロットに対して装着可能な第2のボードを含む
ことを特徴とする。
Further, according to the present invention, at least a second sub-controller for performing the emulation processing is provided together with the first sub-controller, and the second sub-controller for connecting to the terminal of the second socket on the third board. It is characterized by including a second board that can be mounted in an expansion slot capable of transmitting a signal between them.

【0106】本発明によれば、第2のサブコントローラ
を拡張スロットに接続することで、第1、第2のサブコ
ントローラの両方を用いたエミュレートシステムを実現
できる。
According to the present invention, an emulation system using both the first and second sub-controllers can be realized by connecting the second sub-controller to the expansion slot.

【0107】また、本発明は、前記第1のボードと前記
第2のボードとの間で信号の伝達を行うための信号ライ
ンを含み、前記信号が、前記第2のボード上の前記第2
のサブコントローラから前記第1のボード上の前記中央
制御手段に対して発生する割り込み信号を含むことを特
徴とする。
Also, the present invention includes a signal line for transmitting a signal between the first board and the second board, wherein the signal is the second line on the second board.
And an interrupt signal generated from the sub-controller of (1) to the central control means on the first board.

【0108】本発明によれば、第2のサブコントローラ
において割り込み信号を利用したエミュレート処理が可
能となり、より互換性の高いエミュレートシステムを実
現できる。
According to the present invention, emulation processing using an interrupt signal is possible in the second sub-controller, and a more compatible emulation system can be realized.

【0109】[0109]

【実施例】以下、本発明の実施例について説明する。EXAMPLES Examples of the present invention will be described below.

【0110】(第1の実施例) 1.全体構成についての説明 図1は本第1の実施例のハードウェアを説明するための
ブロック図である。図54で説明した従来例と異なるの
は、メモリコントローラ11として、第1のアーキテク
チャに対応するように設計された標準品、即ちインテル
社製の82434LX(PCMC:商標名)を使用して
いる点である(従来例ではオリジナルのコントローラ5
07を使用していた)。このように、本実施例では、第
2のアーキテクチャに適合したハードウェアシステム
に、第1のアーキテクチャのメモリコントローラ(デバ
イス制御手段)11を混在させている。そして、このよ
うにメモリコントローラ11を混在させたことに伴っ
て、本実施例では、サブコントローラ25を設け、これ
により互換性の維持を図っている。
(First Embodiment) 1. Description of Overall Configuration FIG. 1 is a block diagram for explaining the hardware of the first embodiment. A difference from the conventional example described in FIG. 54 is that a standard product designed to correspond to the first architecture, that is, a 82434LX (PCMC: trade name) manufactured by Intel Corporation is used as the memory controller 11. (In the conventional example, the original controller 5
07 was used). As described above, in the present embodiment, the memory system (device control means) 11 of the first architecture is mixed in the hardware system adapted to the second architecture. Then, in this embodiment, the sub-controller 25 is provided in accordance with the mixing of the memory controllers 11 as described above, thereby maintaining compatibility.

【0111】CPU1およびキャッシュメモリ3はCP
Uバス5によってメモリコントローラ11に接続されて
いる。本実施例においてはCPU1はインテル社製のP
entium(商標名)と呼ばれるCPUを用いてい
る。このCPUは、パイプライン処理等により高機能化
が図られたCPUである。これ以外に、図示しない、バ
スバッファとしてインテル社製の82433LX LB
Xがあるが説明は省く。メモリコントローラ11内には
前記キャッシュメモリ3を制御するキャッシュコントロ
ーラ13、CPUバス5によって接続され高速に動作す
るRAM21に対して制御を行うRAMコントローラ1
5、PCIバス23とのインターフェースを図るための
PCIバスインターフェース19が設けられている。更
に、メモリコントローラ11内には、CPU1に対して
HOLD信号7を出力してウェイトをかけ、CPU1の
動作スピードをコントロールするためのホールドウェイ
ト制御手段12、CPU1に対してRESET信号8を
出力しハードリセットをかけたり、CPU1に対してI
NIT信号9を出力してソフトリセットをかけたりする
ためのリセットレジスタ14が設けられている。RAM
コントローラ15内に設けられたメモリ設定レジスタ1
7は、第1のアーキテクチャに準じた操作によって、R
AM21のメモリマッピングおよび各メモリアドレスに
マッピングされたRAM21、VRAM33、ROM4
3に対し、リード、ライト、キャッシュの可否を設定す
る。メモリ設定レジスタ17はメモリコントローラ11
の各種設定を行うconfigレジスタ(図示せず)の
一部である。
CPU 1 and cache memory 3 are CP
It is connected to the memory controller 11 by the U bus 5. In the present embodiment, the CPU 1 is an Intel P
A CPU called entium (trademark) is used. This CPU is a CPU whose functionality has been enhanced by pipeline processing or the like. In addition to this, as a bus buffer (not shown), 82433LX LB manufactured by Intel
There is an X, but the explanation is omitted. A cache controller 13 for controlling the cache memory 3 in the memory controller 11, and a RAM controller 1 for controlling a RAM 21 connected by a CPU bus 5 and operating at high speed.
5. A PCI bus interface 19 for interfacing with the PCI bus 23 is provided. Further, in the memory controller 11, a HOLD signal 7 is output to the CPU 1 for weighting, hold weight control means 12 for controlling the operation speed of the CPU 1, and a RESET signal 8 for outputting the RESET signal 8 to the CPU 1. Reset or I to CPU1
A reset register 14 is provided for outputting the NIT signal 9 and performing a soft reset. RAM
Memory setting register 1 provided in the controller 15
7 is R by the operation according to the first architecture.
RAM 21, VRAM 33, ROM 4 mapped to the memory mapping of AM 21 and each memory address
For 3, the read / write / cache availability is set. The memory setting register 17 is the memory controller 11
Is a part of a config register (not shown) for performing various settings of.

【0112】PCIバス23には高速、大容量データ転
送が要求されるデバイスであるVRAM33、HDD3
7が接続される。VRAM33にはCPU1からの特定
のI/O命令に対してVRAM33のマッピングを切り
替えるVRAM切替手段35が備わっている。VRAM
33のデータは図示しない表示部によって表示される。
更に、PCIバス23には、本第1の実施例の要部であ
るサブコントローラ25が接続されている。このサブコ
ントローラ25は、図1に示すように、CPU1からの
I/O命令を受け付けるI/O受付手段30、要因を設
定するためのSMIステータス28、SMIの割り込み
を発生するSMI発生手段27、SMIの発生をマスク
するためのSMIマスク手段29、PCIバス23のア
ービトレーションを行うためのバスアービタ70、PC
Iバス23とのインターフェースを図るPCIバスイン
ターフェース71、リセット、スピード切替、電源断を
検出するリセット検出手段73、スピード切替検出手段
74、電源断検出手段75、表示切替検出手段76を含
んでいる。
The PCI bus 23 is a device that requires high-speed and large-capacity data transfer, that is, VRAM 33 and HDD 3
7 is connected. The VRAM 33 is provided with VRAM switching means 35 for switching the mapping of the VRAM 33 for a specific I / O command from the CPU 1. VRAM
The data of 33 is displayed by a display unit (not shown).
Further, the PCI bus 23 is connected with a sub-controller 25 which is an essential part of the first embodiment. As shown in FIG. 1, the sub-controller 25 has an I / O receiving means 30 for receiving an I / O command from the CPU 1, an SMI status 28 for setting a factor, an SMI generating means 27 for generating an SMI interrupt, SMI mask means 29 for masking the generation of SMI, bus arbiter 70 for arbitrating the PCI bus 23, PC
It includes a PCI bus interface 71 for interfacing with the I-bus 23, reset detection means 73 for detecting reset, speed switching, and power interruption, speed switching detection means 74, power interruption detection means 75, and display switching detection means 76.

【0113】メモリコントローラ11は前述のように第
1のアーキテクチャ用に設計されたコントローラである
から、CPU1から発せられる第2のアーキテクチャに
準拠したI/O命令を受け取ることができない。よって
サブコントローラ25内のI/O受付手段30によって
I/O命令を受け取り(CPU1の命令はメモリコント
ローラ11を素通りすることができ、これによりPCI
バス23、従来バス41に接続されたデバイスが該命令
を直接受け取ることが可能である)、I/O受付手段3
0がその内容に従ってSMIステータス28に要因をセ
ットすると同時にSMI発生手段27がSMI信号31
によってCPU1にSMIを通知する。つまり従来ハー
ドウェアロジックによって行われていた処理を、SMI
(システムマネージメントインタラプト)と呼ばれる割
り込み処理によってCPU1に代行させる。一方、CP
U1からの命令が、第2のアーキテクチャのデバイス制
御手段に対して発行されたものである場合には、この命
令は第2のデバイス制御手段にそのまま伝えられる。第
1、第2のいずれのデバイス制御手段に対して命令が発
行されたかの判断は、I/O受付手段30によりCPU
1からの命令を解析すること等により行われる。具体的
には、I/O受付手段30に内蔵されるデコーダ手段に
よりアドレスをデコード等することで判断する。PCI
バス23はブリッジ回路39を介して、比較的低速で従
来のデバイスとの互換性を持つ従来バス41と接続され
る。そして、従来バス41にはBIOS等を格納するR
OM43、FDD47に接続される。また、従来バス4
1には、キーボードコントローラ48、シリアルコント
ローラ50を介して、各々キーボード49、RS232
Cインターフェイス52が接続される。更に、従来バス
41には、割り込みコントローラ54も接続される。な
お、ROM切替手段45はCPU1からのI/O命令に
従ってROMのマッピングを変更する機能を有する。ま
た、キーボード49内にはキーボード側のコントローラ
であるキーボードユニットコントローラ55が内蔵され
ている。
Since the memory controller 11 is a controller designed for the first architecture as described above, it cannot receive the I / O instruction based on the second architecture issued from the CPU 1. Therefore, the I / O accepting means 30 in the sub-controller 25 receives the I / O command (the command of the CPU 1 can be passed through the memory controller 11 by itself, thereby the PCI
A device connected to the bus 23 or the conventional bus 41 can directly receive the command), I / O receiving means 3
0 sets a factor in the SMI status 28 according to its contents, and at the same time, the SMI generating means 27 causes the SMI signal 31
Notifies the CPU 1 of the SMI. In other words, the SMI
The CPU 1 is caused to act on behalf of an interrupt process called (system management interrupt). On the other hand, CP
When the instruction from U1 is issued to the device control means of the second architecture, this instruction is directly transmitted to the second device control means. The I / O receiving unit 30 determines whether the command is issued to the first or second device control unit by the CPU.
It is performed by analyzing the instruction from 1. Specifically, the determination is made by decoding the address by the decoder means built in the I / O reception means 30. PCI
The bus 23 is connected via a bridge circuit 39 to a conventional bus 41 which is relatively slow and compatible with conventional devices. Then, the conventional bus 41 has an R for storing BIOS and the like.
It is connected to the OM43 and FDD47. In addition, conventional bus 4
1, a keyboard 49, an RS232 via a keyboard controller 48 and a serial controller 50, respectively.
The C interface 52 is connected. Further, an interrupt controller 54 is also connected to the conventional bus 41. The ROM switching means 45 has a function of changing the mapping of the ROM according to the I / O command from the CPU 1. A keyboard unit controller 55, which is a controller on the keyboard side, is built in the keyboard 49.

【0114】図2はメモリマッピングを切り替えるため
のハードウェアの構成を説明する図である。図1のRO
M43を例とすると、ROM本体66はハードウェア全
体を制御するシステムBIOS、HDD37等の周辺機
器を個別に制御する複数の拡張BIOS等から構成され
る。ハードウェアの動作モードに対応して、これらのB
IOSのCPU1のアドレスに対する割り付けを、図1
のROM切替手段45によって変更する。CPU1から
動作モード切り替えのI/O命令を受けると、ROM切
替手段45は内部のデコーダ62、デコーダ64をスイ
ッチ手段60によって切り替える。具体的には、切り替
え信号によりデコーダイネーブル信号を発生させ、さら
に選択されたデコーダからROM選択信号を発生させて
いる。なお、図1のメモリ設定レジスタ17、VRAM
切替手段35におけるメモリマップの切り替えも同様の
手法で行われる。
FIG. 2 is a diagram for explaining the hardware configuration for switching the memory mapping. RO in Figure 1
Taking the M43 as an example, the ROM main body 66 is composed of a system BIOS that controls the entire hardware and a plurality of expansion BIOS that individually controls peripheral devices such as the HDD 37. Depending on the operating mode of the hardware, these B
Figure 1 shows the assignment of IOS to CPU1 address.
It is changed by the ROM switching means 45. When the I / O command for switching the operation mode is received from the CPU 1, the ROM switching unit 45 switches the internal decoder 62 and the decoder 64 by the switching unit 60. Specifically, the decoder enable signal is generated by the switching signal, and the ROM selection signal is further generated by the selected decoder. The memory setting register 17 and VRAM shown in FIG.
The switching of the memory map in the switching means 35 is performed by the same method.

【0115】図3は本第1の実施例の概念を説明する図
である。第2のアーキテクチャ用に設計されたアプリケ
ーションプログラム80によるI/O命令が発生する
と、OS82は特に意識せず命令をそのままハードウェ
ア84に伝える。ハードウェア84(BIOSを含む)
ではエミュレート手段86(図1のサブコントローラ2
5により起動されるSMIに相当)が、受けた命令をハ
ード変更部分88(図1のメモリコントローラ11に相
当)が動作できるようにエミュレートし、ハード変更部
分88は当初の命令に準じた動作が可能になる。このよ
うにハードウェア84内部においてエミュレート動作を
行うと、アプリケーションプログラム80、OS82に
対する第2のアーキテクチャの互換性を確保できる上、
動作も高速になる。
FIG. 3 is a diagram for explaining the concept of the first embodiment. When an I / O instruction is generated by the application program 80 designed for the second architecture, the OS 82 transmits the instruction to the hardware 84 as it is without being aware of it. Hardware 84 (including BIOS)
Then, the emulation means 86 (the sub-controller 2 in FIG. 1)
5 equivalent to the SMI) emulates the received instruction so that the hardware modification portion 88 (corresponding to the memory controller 11 of FIG. 1) can operate, and the hardware modification portion 88 operates according to the original instruction. Will be possible. When the emulation operation is performed inside the hardware 84 in this way, the compatibility of the second architecture with the application program 80 and the OS 82 can be ensured, and
It also operates faster.

【0116】2.SMI処理についての説明 次に、SMI処理について説明する。2. Description of SMI Processing Next, SMI processing will be described.

【0117】さて、本実施例では、エミュレート処理を
行うための割り込みとして、SMIと呼ばれる割り込み
を利用している。SMIはインテル社製CPU、SL
Enhanced486(商標名)、Pentium
(商標名)等でサポートされたSMM(システムマネジ
メントモード)に移行する際の割り込みである。このS
MIは電源制御用の特別割り込み手段として最新のイン
テル社製CPUに備えられた機能であるが、本発明で
は、それをエミュレートシステムに利用したところに特
徴がある。即ち、エミュレートシステム実現の1つの手
法として、例えばNMIと呼ばれる割り込みをCPUに
かけてエミュレート処理する手法も考えられる。しかし
ながら、このNMIを用いて、エミュレート処理を実現
しようとすると、後述するように種々の問題が生じる。
一方、SMIは、電源制御用の割り込み手段として提供
されたものであり、CPUのSMI端子にSMI信号を
入力してから割り込みが終了するまでに一定時間を要し
てしまうという問題がある。これは、SMI信号を受け
付けてからSMI処理が終了するまでの間に所定の手順
を踏まなければならず、この手順を踏むための時間が必
要となるからである。電源制御用にSMIを使用する場
合にはこれは大きな問題とならないが、エミユレート処
理する場合には問題がある。本発明者は、まず、メモリ
マップの変換等の処理については、SMI処理のスピー
ド自体はそれほど問題にならない点に着目した。更に、
後述する第2の実施例に示すようにスピードを要するエ
ミュレート処理と要しないエミュレート処理とを別々に
取り扱うことで、このスピードの問題を解決できると考
え、このSMIをエミュレート処理に利用することとし
たのである。
In this embodiment, an interrupt called SMI is used as an interrupt for performing emulation processing. SMI is Intel CPU, SL
Enhanced 486 (trade name), Pentium
This is an interrupt when shifting to SMM (system management mode) supported by (trademark name) or the like. This S
The MI is a function provided in the latest CPU manufactured by Intel Corporation as a special interrupt means for power supply control. The present invention is characterized in that it is used in an emulation system. That is, as one method of realizing the emulation system, for example, a method of performing an emulation process by applying an interrupt called NMI to the CPU can be considered. However, if an attempt is made to implement emulation processing using this NMI, various problems will occur, as will be described later.
On the other hand, the SMI is provided as an interrupt means for power supply control, and there is a problem that it takes a certain time from the input of the SMI signal to the SMI terminal of the CPU until the interruption ends. This is because it is necessary to take a predetermined procedure between the reception of the SMI signal and the end of the SMI processing, and it takes time to perform this procedure. This is not a big problem when using SMI for power control, but there is a problem when performing emulation processing. The inventor first focused on the point that the speed itself of SMI processing does not matter so much for processing such as memory map conversion. Furthermore,
It is thought that this speed problem can be solved by separately handling the emulation processing that requires speed and the emulation processing that does not need it, as shown in a second embodiment described later, and this SMI is used for the emulation processing. It was decided.

【0118】次に、SMI処理の動作の概略について説
明する。
Next, the outline of the operation of the SMI processing will be described.

【0119】(1)システムがCPUに対してSMI信
号を入力すると、CPUはSMIACT#信号(#は”
0”レベルでアサートであることを示す)をアサートし
て、SMM専用の物理メモリであるSMRAMをイネー
ブルすることをシステムに通知する。
(1) When the system inputs the SMI signal to the CPU, the CPU sends the SMIACT # signal (# is ""
0 "level (indicating that it is asserted) to notify the system to enable SMRAM which is a physical memory dedicated to SMM.

【0120】(2)CPUは、CPUのステート(CP
Uの内部レジスタの内容)を、SMRAMのアドレス・
ロケーション3FFFFHから開始してスタックのよう
に下方向にセーブ(格納)してゆく。
(2) The CPU is in the CPU state (CP
U internal register contents) is the address of SMRAM
Start from location 3FFFFH and save downwards like a stack.

【0121】(3)CPUの制御モードがSMMのプロ
セッサ環境(疑似リアルモード)に切り替わる。このS
MMはリアルモード、プロテクトモード、仮想86モー
ドとは別の制御用モードである。
(3) The control mode of the CPU is switched to the processor environment of the SMM (pseudo real mode). This S
The MM is a control mode other than the real mode, protect mode, and virtual 86 mode.

【0122】(4)CPUはSMRAMの絶対アドレス
38000Hにジャンプし、SMMハンドラを実行す
る。即ち独自の命令体系により動作するSMMハンドラ
によってSMI発生要因を検出し、指定された処理を実
行する。
(4) The CPU jumps to the absolute address 38000H of the SMRAM and executes the SMM handler. That is, the SMM handler that operates according to a unique instruction system detects the SMI occurrence factor and executes the designated processing.

【0123】(5)SMMハンドラは、SMRAMから
CPUのステート(内部レジスタ内容)をリストアし、
SMIACT#信号をディアサートして、割り込みが行
われたプログラム(アプリケーションプログラム又はO
S)の実行に制御を戻すRSM命令を実行する。なお、
RSMを実行する前に、SMBASEをリロケートする
設定を行えば、次のSMI処理においてSMRAMが配
置されるアドレス位置を変更することができる。そし
て、SMIにおいては、SMBASEのリロケートは、
SMI処理の中でおいてのみ可能となっている。
(5) The SMM handler restores the CPU state (internal register contents) from SMRAM,
By deasserting the SMIACT # signal, the interrupted program (application program or O
S) execute the RSM instruction that returns control to execution. In addition,
If the setting for relocating SMBASE is performed before executing RSM, the address position where SMRAM is arranged can be changed in the next SMI processing. And in SMI, SMBASE relocate is
It is possible only during SMI processing.

【0124】さて、本実施例では、エミュレート処理の
ための割り込みとしてNMIではなく、上述のSMIを
利用している。その理由は以下の通りである。
In this embodiment, the SMI described above is used as an interrupt for emulation processing instead of the NMI. The reason is as follows.

【0125】(1)CPUが現在どの動作モードにあっ
てもSMM内では同一の命令体系によるSMMハンドラ
が使用できるため、開発が容易である。これを更に詳し
く説明すれば以下のようになる。
(1) Since the SMM handler with the same instruction system can be used in the SMM regardless of the operation mode of the CPU at present, the development is easy. This will be described in more detail below.

【0126】即ち、NMIでは、NMIが起動した際の
CPUの制御モード(プロテクトモード、仮想86モー
ド、リアルモードのいずれか)で、その後のNMI処理
が行われる。そして、仮想86モード、リアルモードで
は、メモリのアドレスが16ビット(〜1MB)となる
のに対して、プロテクトモードでは32ビット(〜4G
B)となり、当然アドレッシング方法も異なる。従っ
て、どの動作モードでNMI処理が行われてもプログラ
ムが正常に動作するようにプログラムを組む必要が生
じ、プログラムの開発が困難になる。即ち、プログラム
の中で16ビットから32ビットあるいは32ビットか
ら16ビットにアドレッシングを変更するにはpref
ixを使用すればよい。しかし、各々の動作モードにお
いて16ビット、32ビットのいずれのアドレッシング
を基本にするかをprefixに対して設定する必要が
ある。そして、このモード設定を行うには、CPUの内
部レジスタのEFIAGのVMビットにデータを書き込
む必要がある。しかし、このVMビットには特権レベル
による保護がかかっており、最上位特権レベルでなけれ
ばこのVMビットにデータを書き込むことができない。
そして、NMIの処理を最上位の特権レベルに設定する
には、IDT(インタラプトディスクリプタテーブル)
のDPL値を指定する必要があり、処理が更に複雑にな
る。一方、SMIでは、割り込み前のCPUの制御モー
ドに依存せず、必ず疑似リアルモードと呼ばれるSMM
モードに入り、SMM内では同一の命令体系によるSM
Mハンドラが使用できるため、上記したような問題が全
く生じないという利点がある。
That is, in the NMI, the subsequent NMI processing is performed in the control mode (either the protect mode, the virtual 86 mode, or the real mode) of the CPU when the NMI is activated. In the virtual 86 mode and the real mode, the memory address is 16 bits (up to 1 MB), whereas in the protected mode, it is 32 bits (up to 4 G).
B), and the addressing method is naturally different. Therefore, it becomes necessary to program the program so that the program operates normally regardless of which operation mode the NMI processing is performed, and it becomes difficult to develop the program. That is, to change the addressing from 16 bits to 32 bits or from 32 bits to 16 bits in the program, pref
ix may be used. However, it is necessary to set to prefix which one of 16-bit and 32-bit addressing is to be used as a basis in each operation mode. Then, in order to perform this mode setting, it is necessary to write data to the VM bit of EFIAG in the internal register of the CPU. However, this VM bit is protected by the privilege level, and data cannot be written to this VM bit unless it is the highest privilege level.
To set the NMI processing to the highest privilege level, IDT (interrupt descriptor table) is set.
Since it is necessary to specify the DPL value of, the processing becomes more complicated. On the other hand, the SMI does not depend on the control mode of the CPU before the interruption and is always called the SMM called the pseudo real mode.
Enters the mode, and SM with the same command system in SMM
Since the M handler can be used, there is an advantage that the above problem does not occur at all.

【0127】更に、NMIには、プロテクトモード時に
NMI処理でI/Oアクセスを行おうとすると、I/O
トラップ(DMA、HDD等のI/O)がかかってる可
能性があるため、特権レベルが最上位でないと正しくI
/Oアクセスができないという問題がある。そして、特
権レベルを最上位にするためには、上述のようにIDT
のDPL値を指定する処理が必要になる。
Furthermore, when an I / O access is made to the NMI by NMI processing in the protect mode, the I / O
There is a possibility that a trap (I / O of DMA, HDD, etc.) is applied, so if the privilege level is not at the highest level, the correct I
There is a problem that / O access is not possible. Then, in order to set the privilege level to the highest level, the IDT as described above is used.
The process of designating the DPL value of is required.

【0128】(2)また、NMIでは、割り込みスター
トのためのジャンプアドレス(割り込みに対応した処理
を行うルーチンが格納されたアドレス)が、アプリケー
ションプログラム、OS等により容易に書き替えできる
アドレス位置、例えば(0008H〜000BH)に格
納されている。従って、アプリケーションプログラム等
により、このアドレス位置が書き換えられてしまうと、
割り込み処理が不可能になる。これに対して、SMIで
は、ジャンプアドレスはCPU内のレジスタであるSM
BASEに設定される。そして、SMIが開始されると
このSMBASEにより設定された開始アドレスにジャ
ンプし処理が実行される。この場合、このSMBASE
の変更はSMMからRSM命令により復帰する際にのみ
可能であり、従い、ジャンプアドレスの変更は、SMM
ハンドラでなければ、つまりSMMに入っていなければ
行うことができない。この点で、SMIはNMIに対し
て大きな優位点をもつ。これを更に詳しく説明すれば以
下のようになる。
(2) Further, in the NMI, the jump address for starting an interrupt (the address in which the routine for executing the process corresponding to the interrupt is stored) is an address position which can be easily rewritten by the application program, the OS, etc., for example. It is stored in (0008H to 000BH). Therefore, if this address position is rewritten by an application program or the like,
Interrupt processing becomes impossible. On the other hand, in the SMI, the jump address is SM which is a register in the CPU.
Set to BASE. When the SMI is started, the processing jumps to the start address set by this SMBASE and is executed. In this case, this SMBASE
Can be changed only when returning from SMM by RSM instruction. Therefore, the jump address can be changed in SMM.
If it is not a handler, that is, if it is not in SMM, it cannot be executed. In this respect, SMI has a great advantage over NMI. This will be described in more detail below.

【0129】例えば、図4(A)には、リアルモード時
におけるNMI処理の動作が示され、図4(B)にはそ
のフローチャートが示される。NMIが受け付けられ
(ステップA1)、ベクトル2が発生すると(ステップ
A2)、メインRAM上の割り込みポインタテーブルの
0008H〜000BHから、ベクトル2の割り込みス
タートアドレス(ジャンプアドレス)が読み出される
(ステップA3)。そして、戻りアドレスをメインRA
M上のスタックにストアした後(ステップA4)、割り
込みスタートアドレスにジャンプし(ステップA5)、
この割り込みスタートアドレスに格納されるルーチンに
したがってNMI処理を実行する。なお、NMIでは、
CPUのレジスタ内容についてはSMIと異なりスタッ
クに自動的にストアされない。
For example, FIG. 4A shows the operation of the NMI processing in the real mode, and FIG. 4B shows the flowchart thereof. When the NMI is accepted (step A1) and the vector 2 is generated (step A2), the interrupt start address (jump address) of the vector 2 is read from 0008H to 000BH of the interrupt pointer table on the main RAM (step A3). And the return address is the main RA
After storing in the stack on M (step A4), jump to the interrupt start address (step A5),
The NMI process is executed according to the routine stored in this interrupt start address. In NMI,
Unlike SMI, the register contents of the CPU are not automatically stored in the stack.

【0130】一方、図5(A)には、プロテクトモード
時におけるNMI処理の動作が示され、図5(B)には
そのフローチャートが示される。ここで、メインRAM
上に格納されるIDT(インタラプトディスクリプタテ
ーブル)の先頭アドレスはCPUの内部レジスタである
IDTRにより指定され、同じくメインRAM上に格納
されるGDT/LDT(ディスクリプタテーブル)の先
頭アドレスはCPUの内部レジスタであるGDTR/L
DTRにより指定される。そして、IDTには、NMI
により発生するベクトル2用のオフセット及びセレクタ
が格納されており、このセレクタによりGDT/LDT
に格納されるディスクリプタが指定される。そして、こ
のディスクリプタにより指定される上位アドレスとID
T上のオフセットにより指定される下位アドレスとによ
り、NMI処理を行うルーチンが格納されるアドレス、
即ちエントリーポイントが指定される。プロテクトモー
ド時の動作は以下のようになる。即ち、NMIが受け付
けられ(ステップB1)、ベクトル2が発生すると(ス
テップB2)、IDT内のセレクタによりGDT/LD
T内のディスクリプタが指定され、読み出される(ステ
ップB3)。次に、戻りアドレスがスタックにストアさ
れ(ステップB4)、ステップB3で読み出されたディ
スクリプタ及びIDT内のオフセットにより指定される
エントリーポイントにジャンプし、NMI処理が実行さ
れる。
On the other hand, FIG. 5A shows the operation of the NMI processing in the protect mode, and FIG. 5B shows the flowchart thereof. Where main RAM
The start address of the IDT (interrupt descriptor table) stored above is specified by the IDTR which is an internal register of the CPU, and the start address of the GDT / LDT (descriptor table) also stored in the main RAM is the internal register of the CPU. GDTR / L
Specified by DTR. And the IDT has NMI
The offset and the selector for vector 2 generated by are stored, and the GDT / LDT is stored by this selector.
The descriptor stored in is specified. And the upper address and ID specified by this descriptor
An address at which a routine for performing NMI processing is stored according to the lower address specified by the offset on T,
That is, the entry point is designated. The operation in the protect mode is as follows. That is, when the NMI is accepted (step B1) and the vector 2 is generated (step B2), the GDT / LD is selected by the selector in the IDT.
The descriptor in T is designated and read (step B3). Then, the return address is stored in the stack (step B4), the descriptor read in step B3 and the entry point designated by the offset in the IDT are jumped to, and the NMI processing is executed.

【0131】以上の説明から理解されるように、リアル
モード時においては、割り込みスタートアドレス(ジャ
ンプアドレス)を(0008H〜000BH)に正しく
書きこんでおかなければ所望のアドレスからNMI処理
をスタートさせることができないが、この割り込みスタ
ートアドレスはメインRAM上に格納されておりアプリ
ケーションプログラム、OSにより簡単に書き換え可能
である。そして、NMIでは割り込みスタートアドレス
の格納される位置は固定されており、この位置をアプリ
ケーションプログラム、OSがアクセスできないような
位置に変更することはできない。
As can be understood from the above description, in the real mode, if the interrupt start address (jump address) is not correctly written in (0008H to 000BH), the NMI process should be started from the desired address. However, this interrupt start address is stored in the main RAM and can be easily rewritten by the application program or OS. In NMI, the position where the interrupt start address is stored is fixed, and this position cannot be changed to a position where the application program and the OS cannot access it.

【0132】また、プロテクトモードでは、IDT、G
DT/LDTは、CPU内のIDTR、GDTR/LD
TRで指し示すアドレスに配置されており、これらのI
DT、GDT/LDT及びIDTR、GDTR/LDT
Rはアプリケーションプログラム、OSにより自由に設
定され、また、自由に変更され得る。即ち、マルチタス
クが可能なOSであるマイクロソフト社製のMS−Wi
ndowsでは、各々のタスク(ウインドウ)で、ID
T等の値が異なる場合がある。従って、システム側がエ
ミュレート処理を行うために、このIDTが格納されて
いる場所をアプリケーションプログラム等がアクセスで
きないアドレス位置に変更しようとしても、システム側
はどのようなOSが使用されているかを認識できないた
め、そのような変更処理は不可能である。また、仮に、
そのアドレス位置を変更したとしても、その後に、アプ
リケーションプログラム等により該アドレス位置が書き
換えられるという事態も生じる。以上より、NMIによ
り、本実施例のようなエミュレート処理を実現すること
は非常に困難である。
In the protect mode, IDT, G
DT / LDT is the IDTR, GDTR / LD in the CPU
It is located at the address indicated by TR, and these I
DT, GDT / LDT and IDTR, GDTR / LDT
R can be freely set by the application program and OS and can be freely changed. That is, MS-Wi manufactured by Microsoft, which is an OS capable of multitasking
In Windows, each task (window) has an ID
The values of T etc. may differ. Therefore, even if the system side attempts to change the location where this IDT is stored to an address location where an application program or the like cannot access it in order to perform emulation processing, the system side cannot recognize what OS is being used. Therefore, such change processing is impossible. Also, if
Even if the address position is changed, the address position may be rewritten by an application program or the like after that. From the above, it is very difficult to realize the emulation processing as in this embodiment by the NMI.

【0133】一方、SMIにおいては、電源投入又はリ
セット直後においては、SMI処理のスタートアドレス
は、CPUの内部レジスタであるSMBASEのデフォ
ルト値38000Hに固定されている。このSMBAS
Eのデフォルト値38000Hはアプリケーションプロ
グラム等により書き換えることができないものである。
即ち、この38000Hを変更するためには、SMMに
入り前述のSMBASEのリロケート機能を用いなけれ
ばならない。そして、SMIは、SMI信号というハー
ドウェア信号でのみ発生可能であるため、システム以外
のアプリケーションプログラム等がSMMに入ることは
できない。従って、SMI処理のスタートアドレスがア
プリケーションプログラム等で書き換えられることはな
く、この点において、SMIは本発明のエミュレート処
理に使用される割り込みとして最適なものである。
On the other hand, in the SMI, immediately after the power is turned on or reset, the start address of the SMI process is fixed to the default value 38000H of SMBASE which is an internal register of the CPU. This SMBAS
The default value 38000H of E cannot be rewritten by an application program or the like.
That is, in order to change this 38000H, it is necessary to enter the SMM and use the above-described SMBASE relocate function. Since the SMI can be generated only by a hardware signal called the SMI signal, application programs other than the system cannot enter the SMM. Therefore, the start address of the SMI process is not rewritten by the application program or the like, and in this respect, the SMI is the optimum interrupt used in the emulation process of the present invention.

【0134】(3)SMMへの移行時にCPUのステー
タス(内部レジスタ内容)がSMRAMのステート・セ
ーブ領域にセーブされ、RSM命令によりその内容がC
PUの内部レジスタに自動的にリストアされる。これに
よりCPUを元の状態に自動的に復帰できる。更に、こ
のステート・セーブ領域の一部のレジスタは、SMMハ
ンドラが読み出して変更し、この変更した値をRSM命
令によりCPUの内部レジスタにリストアすることもで
きる。これにより、SMMハンドラにより変更した内容
をCPUの内部レジスタに設定することも可能となる。
(3) The status of the CPU (contents of the internal register) is saved in the state save area of the SMRAM at the time of shifting to the SMM, and the contents are C by the RSM instruction.
It is automatically restored to the internal register of PU. As a result, the CPU can be automatically returned to the original state. Further, some registers in this state save area can be read and changed by the SMM handler, and the changed value can be restored to the internal register of the CPU by the RSM instruction. As a result, the contents changed by the SMM handler can be set in the internal register of the CPU.

【0135】これに対して、NMIでは、戻りアドレス
は自動的にスタック領域にスタックされるが、内部レジ
スタ等のデータが自動的にスタックされることはない。
また、NMIでは、スタック領域に戻りアドレス等をス
タックする場合に以下の問題がある。例えば、図5
(C)に示すように、スタック領域ではスタックポイン
タ(SP)の示すアドレスから、アドレスの小さい方に
向かって順次データがスタックされてゆく。このスタッ
ク領域は、NMIのみならず、他のプログラム等によっ
ても使われている場合がある。一方、プログラムデータ
領域に格納されるプログラムは図5(C)に示すように
アドレスの小さい方から実行される。この場合、もし、
スタック領域とプログラムデータ領域との間の余裕(△
D)が、4バイトよりも小さくなった時にNMIが発生
すると、プログラムデータ領域に格納されるデータが破
壊される可能性がある。このようなスタック領域とプロ
グラムデータ領域の衝突は、例えばスタックポインタ
(SP)の位置を衝突が生じないような位置に設定する
ことにより避けることもできる。しかし図5(C)に示
すように、他のプログラム等によりスタック領域が使用
され、領域間の余裕が少ない場合にNMIが発生した場
合には、このような衝突を避けることはできない。ま
た、スタックポインタ(SP)は、他のアプリケーショ
ンプログラム等で容易に書き換えることができ、バグ等
により誤った値にスタックポインタが書き換えられる場
合もある。また、例えばCPUの内部レジスタに定数を
書き込む手法として次のような手法が考えられる。即
ち、スタック領域をROM等に設定し、(popA、p
opB・・)等の命令によりスタック領域として設定さ
れたROMからデータを読み出し、これらのデータをC
PUの内部レジスタA、B・・・等に設定する手法であ
る。ここで「popA」の命令は、スタック領域にスタ
ックされたデータを読み出しCPUのAレジスタに書き
込む命令を意味する。この命令によれば、「move」
等の命令を用いた場合に比べ、プログラムを簡易にでき
る。しかし、この手法を用いた場合には、スタック領域
はROMに設定されている。従って、この状態でNMI
による割り込みが発生すると、ROMは書き込み不可の
メモリであるため、戻りアドレスを書き込めず、従っ
て、NMIから復帰できずプログラムが暴走するおそれ
がある。また、スタック領域がRAMに設定されていた
場合であっても、NMI処理によりRAMに書き込まれ
ていたデータが破壊されるおそれがある。
On the other hand, in the NMI, the return address is automatically stacked in the stack area, but the data in the internal register is not automatically stacked.
In addition, the NMI has the following problems when stacking return addresses and the like in the stack area. For example, in FIG.
As shown in (C), in the stack area, data is sequentially stacked from the address indicated by the stack pointer (SP) toward the smaller address. This stack area may be used not only by the NMI but also by other programs. On the other hand, the program stored in the program data area is executed from the smaller address as shown in FIG. In this case, if
Margin between stack area and program data area (△
When N) occurs when D) becomes smaller than 4 bytes, the data stored in the program data area may be destroyed. Such a collision between the stack area and the program data area can be avoided by, for example, setting the position of the stack pointer (SP) to a position where collision does not occur. However, as shown in FIG. 5C, when the stack area is used by another program or the like and the NMI occurs when the margin between the areas is small, such a collision cannot be avoided. Further, the stack pointer (SP) can be easily rewritten by another application program or the like, and the stack pointer may be rewritten to an incorrect value due to a bug or the like. Further, for example, the following method can be considered as a method of writing a constant in the internal register of the CPU. That is, the stack area is set in the ROM or the like, and (popA, p
data is read from the ROM set as the stack area by an instruction such as opB ...
This is a method of setting the internal registers A, B ... Of the PU. Here, the “popA” instruction means an instruction for reading the data stacked in the stack area and writing it in the A register of the CPU. According to this command, "move"
The program can be simplified as compared with the case of using the instructions such as. However, when this method is used, the stack area is set in the ROM. Therefore, in this state, NMI
When an interrupt occurs due to, the ROM is a non-writable memory, so the return address cannot be written, and therefore the program cannot run out of the NMI and the program may run away. Further, even if the stack area is set in the RAM, the data written in the RAM may be destroyed by the NMI processing.

【0136】これに対して、SMIでは、CPUの内部
レジスタの内容は、SMI専用のメモリであるSMRA
Mに格納されるため、上記のNMIで起きた問題は生じ
ない。
On the other hand, in the SMI, the contents of the internal register of the CPU are SMRA which is a memory dedicated to the SMI.
Since it is stored in M, the problem that occurred in the above NMI does not occur.

【0137】(4)NMI(ノンマスカブルインタラプ
ト)や通常の割り込み(INT)は第2のアーキテクチ
ャに対応するアプリケーションプログラムが使用してい
る場合が想定され、むやみに他の機能を割り当てること
は互換性の維持に反するのに対し、SMIは歴史が浅く
アプリケーションプログラムが使用する可能性はゼロで
ある。また、SMIはNMIや通常の割り込みよりも優
先順位が高い。
(4) It is assumed that NMI (non-maskable interrupt) and normal interrupt (INT) are used by the application program corresponding to the second architecture, and it is incompatible to allocate other functions unnecessarily. Contrary to maintenance, SMI has a short history and is unlikely to be used by application programs. Also, SMI has a higher priority than NMI and normal interrupts.

【0138】(5)SMIが発生するとSMIACT#
信号がCPUにより出力され、ハードウェア的にSMI
ルーチンに入ったことを検出できる。このため、任意の
アドレスにSMI用のRAMであるSMRAMを配置で
きるとともに、ハードウェア的な処理をSMIACT#
信号をトリガーにして行うこともできる。
(5) When SMI occurs, SMIACT #
The signal is output by the CPU, and the SMI is hardware-based.
It can detect that the routine is entered. For this reason, SMRAM which is RAM for SMI can be arranged at an arbitrary address, and hardware processing can be performed by SMIACT #.
It can also be triggered by a signal.

【0139】次に、図6を用いて本第1の実施例に則し
たSMI処理の動作原理を説明する。S10で要因(I
/O命令)が発生すると、S11でI/O受付手段30
がそれを受け取り、ハードウェアロジックによって、S
MIステータス28中の要因レジスタに要因をセット
し、S12でSMIを発生する。S13でSMMモード
に移行し、SMMハンドラ26(図1参照)が要因レジ
スタを読み取り(要因レジスタはすべてのCPUからリ
ード・ライトできるようマッピングしておく)、要因に
応じた処理を行い、S14でRSM命令によって復帰す
る。
Next, the operation principle of the SMI processing according to the first embodiment will be described with reference to FIG. In S10, the factor (I
(/ O command) is generated, the I / O receiving means 30 is operated in S11.
Is received by hardware logic
A factor is set in the factor register in the MI status 28, and an SMI is generated in S12. In S13, the SMM mode is entered, the SMM handler 26 (see FIG. 1) reads the factor register (mapping is performed so that all CPUs can read and write the factor register), and processing according to the factor is performed. Return by RSM instruction.

【0140】3.サブコントローラについての説明 図7には、サブコントローラ25内のI/O受付手段3
0、SMIマスク手段29、SMIステータス28、S
MI発生手段27の回路構成の一例が示される。I/O
受付手段30は、アドレスラッチデコーダ200、タイ
ミング回路202、AND回路204、206を含む。
そして、アドレスデコーダラッチ200にはアドレス信
号AD15〜AD0(実際には、アドレスとデータがマ
ルチプレクサされた信号)が入力され、AD15〜AD
0により指定されるアドレスが200Hの場合に信号2
14が”1”に、300Hの場合に信号216が”1”
になる。また、タイミング回路202には、FRAME
信号、CBE3〜0信号、PCICLKが入力され、所
定のタイミングで所定幅のIOWC信号が出力される。
即ち、CPUからの命令がI/O命令であり、しかも書
き込みモードである場合にIOWC信号は”1”とな
る。そして、このIOWC信号と信号214、216と
によりIOW200信号、IOW300信号が生成され
る。これによりIOW200信号、IOW300信号
は、CPUから入力されるアドレスが各々200H又は
300Hであり、I/O書き込み命令である場合にアサ
ートされる。
3. Description of Sub-Controller In FIG. 7, the I / O receiving means 3 in the sub-controller 25 is shown.
0, SMI mask means 29, SMI status 28, S
An example of the circuit configuration of the MI generating means 27 is shown. I / O
The accepting unit 30 includes an address latch decoder 200, a timing circuit 202, and AND circuits 204 and 206.
Then, address signals AD15 to AD0 (actually, signals obtained by multiplexing addresses and data) are input to the address decoder latch 200, and AD15 to AD0.
Signal 2 when the address specified by 0 is 200H
14 is "1", and signal 216 is "1" when 300H
become. Further, the timing circuit 202 includes a FRAME
The signal, the CBE3 to 0 signals, and PCICLK are input, and the IOWC signal having a predetermined width is output at a predetermined timing.
That is, when the instruction from the CPU is the I / O instruction and the write mode is set, the IOWC signal becomes "1". Then, the IOWC signal and the signals 214 and 216 generate the IOW200 signal and the IOW300 signal. As a result, the IOW200 signal and the IOW300 signal are asserted when the address input from the CPU is 200H or 300H and the I / O write command.

【0141】SMIマスク手段29は、マスクレジスタ
208及びAND回路210、212を含む。マスクレ
ジスタ208は、SMIをマスクするための信号を格納
するレジスタであり、CK端子にはタイミング回路20
2から書き込み信号217が入力され、この書き込み信
号217に基づいてAD0、AD1からのデータを取り
込む。また、R端子に入力されるPCIRSTによりリ
セットされる。マスクレジスタ208の出力はAND回
路210、212に入力され、これによりIOW200
信号、IOW300信号が後段に伝わるのをマスクでき
る。
The SMI mask means 29 includes a mask register 208 and AND circuits 210 and 212. The mask register 208 is a register that stores a signal for masking the SMI, and the timing circuit 20 is connected to the CK terminal.
The write signal 217 is input from No. 2, and the data from AD0 and AD1 is fetched based on the write signal 217. Also, it is reset by PCIRST input to the R terminal. The output of the mask register 208 is input to the AND circuits 210 and 212, whereby the IOW 200
Signals and IOW300 signals can be masked from being transmitted to the subsequent stage.

【0142】SMIステータス28は、論理回路222
〜228、要因レジスタ230、232、トライステー
トバッファ234、236を含む。要因レジスタ23
0、232は、I/O受付手段30からSMIマスク手
段29を介して入力されたデータを要因データとして格
納するレジスタである。例えば、IOW200信号が”
1”で、マスクがかかっていない場合、即ちマスクレジ
スタ208の出力Q0が”1”の場合には、要因レジス
タ230に”1”が書き込まれる。これは、CPUによ
りアドレス200Hにデータ書き込み命令が発行された
という要因が設定されたことを意味する。一方、この要
因をクリアーする場合には、タイミング回路202の出
力信号218を”1”にし、AD0、AD1により”
1”のデータを書き込めばよい。本実施例によれば、要
因レジスタ230、232の各々について要因をクリア
ーすることもでき、また、全ての要因をクリアーするこ
ともできる。これらの要因レジスタ230、232の出
力238、240は、トライステートバッファ234、
236を介して、要因判別ポートからのIORC40信
号により制御されて、PCIバス23上に出力される。
また、要因レジスタ230、232の出力238、24
0は、SMI発生手段27にも出力される。
The SMI status 28 indicates the logic circuit 222.
˜228, factor registers 230, 232, tristate buffers 234, 236. Factor register 23
Reference numerals 0 and 232 are registers for storing the data input from the I / O reception means 30 via the SMI mask means 29 as factor data. For example, if the IOW200 signal is "
If it is 1 ”and the mask is not applied, that is, if the output Q0 of the mask register 208 is“ 1 ”,“ 1 ”is written in the factor register 230. This means that the CPU sends a data write command to the address 200H. This means that the factor of being issued has been set.On the other hand, in order to clear this factor, the output signal 218 of the timing circuit 202 is set to "1" and "0" is set by AD0 and AD1.
According to the present embodiment, it is possible to clear the factor for each of the factor registers 230 and 232, and it is also possible to clear all the factors. The outputs 238, 240 of 232 are tristate buffers 234,
It is controlled by the IORC 40 signal from the factor determination port via 236 and output to the PCI bus 23.
Also, the outputs 238, 24 of the factor registers 230, 232
0 is also output to the SMI generating means 27.

【0143】SMI発生手段27は、論理回路250〜
254、SMI発生レジスタ256を含む。このSMI
発生レジスタ256は、要因レジスタ230、232の
いずれか一方に要因が設定された場合に、SMI信号3
1をアサートし、これによりCPU1に割り込みがかけ
られる。また、NAND回路222、224の出力24
2、244は、論理回路250、254を介してSMI
発生レジスタ256に入力される。これにより要因レジ
スタ230、232の要因がクリアーされた場合に、S
MI信号31もクリアーされる。なお、SMI発生レジ
スタ256のR端子にはPCIRST信号が入力されリ
セット可能となっている。
The SMI generating means 27 includes the logic circuits 250-
254, SMI generation register 256. This SMI
The generation register 256 uses the SMI signal 3 when the factor is set in either of the factor registers 230 and 232.
1 is asserted, which interrupts the CPU 1. In addition, the output 24 of the NAND circuits 222 and 224
2, 244 are SMIs through the logic circuits 250 and 254.
It is input to the generation register 256. As a result, when the factors in the factor registers 230 and 232 are cleared, S
The MI signal 31 is also cleared. A PCIRST signal is input to the R terminal of the SMI generation register 256 so that it can be reset.

【0144】以上のように、サブコントローラ25で
は、CPU1から対応するポートに対するI/O命令が
発行されると、このI/O命令が要因データとして要因
レジスタ230、232に格納されるとともに、SMI
信号が発生される。次に、このSMI信号により起動さ
れたSMMハンドラ(実行手段)26が、要因判別ポー
トによりIORC40信号を制御し、これらの要因デー
タを読む。そして、SMMハンドラ26は、更にI/O
アドレス200H等のポートのデータを読み、詳細な要
因を判断する。そして、これらの要因データ、ポートに
書き込まれたデータに対応した処理を行う。
As described above, in the sub controller 25, when the CPU 1 issues an I / O instruction to the corresponding port, this I / O instruction is stored in the factor registers 230 and 232 as factor data, and at the same time as the SMI.
A signal is generated. Next, the SMM handler (execution means) 26 activated by this SMI signal controls the IORC 40 signal by the factor discriminating port to read these factor data. Then, the SMM handler 26 further executes I / O.
The data of the port such as the address 200H is read to determine the detailed factor. Then, processing corresponding to these factor data and the data written in the port is performed.

【0145】さて、本実施例において要因レジスタに設
定される要因の種類としては、大別して次のものがあ
る。
The types of factors set in the factor register in this embodiment are roughly classified into the following.

【0146】要因a:表示モードの切替のエミュレーシ
ョン・RAMウィンドウのエミュレーション・拡張RO
M領域をRAMに切替えるエミュレーション等を行うた
めのI/Oポートアクセス処理 要因b:CPUのスピード切替え処理 要因c:CPUのリセット(RESET、INIT)処
理 要因d:電源断(あるいはパワーフェール)処理 上記要因は、図8(A)に示すように、第1の要因レジ
スタ群により判別される。そして、要因aがセットされ
た場合には、第2の要因レジスタ群により更に詳細な要
因(e〜h)を調べることができる。同様に、要因cが
セットされた場合には、第3の要因レジスタ群により更
に詳細な要因(i、j)を調べることができる。このよ
うに、本実施例では、要因レジスタは、第1の要因レジ
スタ群の下位に第2、第3のレジスタ群が配置されると
いうような階層構造となっており、これにより要因の検
索を高速に行うことができる。即ち、全ての要因が並列
に配列されていると、1回目の検索で全ての要因を調べ
なければならないが、本実施例では1回目の検索で4個
の要因を調べればよいので、検索を高速にできる。ま
た、本実施例では、図8(B)に示すように、マスクレ
ジスタについても要因レジスタの個々の要因に対応して
おり、階層構造となっている。例えば、第1のマスクレ
ジスタでaの要因をマスク(SMI禁止)すると、e〜
hの要因も全てマスクされる。一方、第1のマスクレジ
スタでaの要因のみマスクを解除(SMI許可)する
と、第2のマスクレジスタで許可されたビットに対応し
た要因のみがSMIを発生することになる。
Factor a: emulation of switching display modes, emulation of RAM window, extended RO
I / O port access processing for performing emulation for switching the M area to RAM Factor b: CPU speed switching process Factor c: CPU reset (RESET, INIT) process Factor d: Power off (or power fail) process Above The factor is determined by the first factor register group as shown in FIG. When the factor a is set, more detailed factors (e to h) can be examined by the second factor register group. Similarly, when the factor c is set, a more detailed factor (i, j) can be examined by the third factor register group. As described above, in the present embodiment, the factor register has a hierarchical structure in which the second and third register groups are arranged in the lower order of the first factor register group. It can be done at high speed. That is, if all the factors are arranged in parallel, all the factors must be checked in the first search, but in the present embodiment, four factors can be checked in the first search. Can be fast. Further, in this embodiment, as shown in FIG. 8B, the mask register also corresponds to each factor of the factor register and has a hierarchical structure. For example, if the factor of a is masked (SMI prohibited) by the first mask register, e to
All the factors of h are also masked. On the other hand, when the mask of only the factor a is released in the first mask register (SMI enabled), only the factor corresponding to the bit permitted by the second mask register causes SMI.

【0147】図9、図10には、上記のように、要因レ
ジスタ、マスクレジスタを階層構造とした場合の回路構
成の一例が示される。また、図11(A)〜(C)に
は、リセット検出手段73、スピード切替検出手段7
4、電源断検出手段75の具体的回路構成の一例が示さ
れる。なお、表示切替検出手段76については図示しな
いが、これらの検出手段と同様の構成となる。CPU1
が、所定のI/Oポートにアクセスすると、次のように
して要因a及び要因e〜hの設定が行われ、これらの要
因に基づくSMIパルスが発生する。即ち、図9に示す
ように、アドレスラッチデコーダ回路200からのアド
レスデコード信号とタイミング回路202からのI/O
ライトパルスIOWCとがAND回路622〜625に
入力され、要因e〜hによるSMIパルスである信号6
06〜609が生成される。そして、図10に示すよう
に、これらの信号606〜609と、第2のマスクレジ
スタ661の出力とがAND回路675〜678に入力
され、信号701〜704が生成されると共に、これら
の信号がOR回路679に入力され要因aによるSMI
パルスが生成される。これにより、第2のマスクレジス
タ661を用いて要因e〜h毎にマスクすることが可能
となる。また、要因e〜hのいずれかによるSMIパル
スが発生すると、要因aによるSMIパルスも発生す
る。そして、信号701〜704は、図9に示すよう
に、論理回路644〜647を介して第2の要因レジス
タ群654〜657に入力され、これにより要因e〜h
についての設定が行われる。一方、図10に示すよう
に、要因aによるSMIパルスと第1のマスクレジスタ
660の出力はAND回路670に入力され、信号70
6が生成される。これにより要因aがマスクされると要
因e〜hについてもマスクされることになる。そして、
信号706は、図9に示すように、論理回路640を介
して第1の要因レジスタ群の1つである要因レジスタ6
50に入力され、これにより要因aの設定が行われる。
即ち、要因e〜hが設定されると要因aについても設定
されることになる。
FIG. 9 and FIG. 10 show an example of a circuit configuration in the case where the factor register and the mask register have a hierarchical structure as described above. In addition, in FIGS. 11A to 11C, reset detection means 73 and speed switching detection means 7 are shown.
4, an example of a specific circuit configuration of the power failure detection means 75 is shown. Although not shown, the display switching detecting means 76 has the same configuration as these detecting means. CPU1
However, when a predetermined I / O port is accessed, the factors a and factors e to h are set as follows, and an SMI pulse based on these factors is generated. That is, as shown in FIG. 9, the address decode signal from the address latch / decoder circuit 200 and the I / O from the timing circuit 202.
The write pulse IOWC is input to the AND circuits 622 to 625, and the signal 6 which is an SMI pulse due to factors e to h
06-609 are generated. Then, as shown in FIG. 10, these signals 606 to 609 and the output of the second mask register 661 are input to the AND circuits 675 to 678, signals 701 to 704 are generated, and these signals are generated. SMI due to factor a input to OR circuit 679
A pulse is generated. Thereby, it becomes possible to mask each of the factors e to h using the second mask register 661. When an SMI pulse is generated due to any of factors e to h, an SMI pulse is also generated due to factor a. Then, as shown in FIG. 9, the signals 701 to 704 are input to the second factor register groups 654 to 657 via the logic circuits 644 to 647, thereby causing the factors e to h.
Is set. On the other hand, as shown in FIG. 10, the SMI pulse due to the factor a and the output of the first mask register 660 are input to the AND circuit 670, and the signal 70
6 is generated. As a result, when the factor a is masked, the factors e to h are also masked. And
As shown in FIG. 9, the signal 706 is transmitted through the logic circuit 640 to the factor register 6 which is one of the first factor register groups.
It is input to 50, and the factor a is set accordingly.
That is, when the factors e to h are set, the factor a is also set.

【0148】図11(B)において、スピード切替スイ
ッチ738が閉じる、あるいは開き、スピード切替処理
が開始されると、D−フリップフロップ(以下、DFF
と呼ぶ)740、742及び論理回路744により、要
因bによるSMIパルスである信号721が生成され
る。図10に示すように、この信号721と第1のマス
クレジスタ660の出力はAND回路671に入力さ
れ、信号707が生成される。即ち、要因bについても
マスクレジスタによりマスクすることができる。そし
て、信号707は、図9に示すように、論理回路641
を介して第1の要因レジスタ群の1つである要因レジス
タ651に入力され、これにより要因bの設定が行われ
る。
In FIG. 11B, when the speed changeover switch 738 is closed or opened and the speed changeover process is started, a D-flip-flop (hereinafter referred to as DFF) is started.
740, 742 and the logic circuit 744 generate a signal 721 that is an SMI pulse due to factor b. As shown in FIG. 10, the signal 721 and the output of the first mask register 660 are input to the AND circuit 671 and the signal 707 is generated. That is, the factor b can also be masked by the mask register. The signal 707 is output to the logic circuit 641 as shown in FIG.
Is input to the factor register 651, which is one of the first factor register group, to set the factor b.

【0149】図11(A)において、リセットスイッチ
730が閉じ、ハードリセット処理が開始されると、D
FF732、734及び論理回路736により、要因i
によるSMIパルスである信号720が生成される。一
方、ソフトリセットについてのI/Oライト処理が行わ
れると、図9に示すように、アドレスラッチデコーダ2
00からのアドレスデコーダ信号とタイミング回路20
2からのI/OライトパルスIOWCとにより、要因j
によるSMIパルスである信号605が生成される。図
10に示すように、これらの信号720、605と第3
のマスクレジスタ662の出力はAND回路680、6
81に入力され、信号710、711が生成されると共
に、これらの信号がOR回路682に入力され要因cに
よるSMIパルスが生成される。これにより、第3のマ
スクレジスタ662を用いて、要因i、j毎にマスクす
ることが可能となる。また、要因i、jのいずれかによ
るSMIパルスが発生すると、要因cによるSMIパル
スも発生する。そして、これらの信号710、711
は、図9に示すように、論理回路648、649を介し
て第3の要因レジスタ658、659に入力され、これ
により要因i、jについての設定が行われることにな
る。一方、図10に示すように、要因cによるSMIパ
ルスと第1のマスクレジスタ660の出力はAND回路
672に入力され、信号708が生成される。これによ
り要因cがマスクされると要因i、jについてもマスク
されることになる。そして、信号708は、図9に示す
ように、論理回路642を介して第1の要因レジスタ群
の1つである要因レジスタ652に入力され、これによ
り要因cの設定が行われる。即ち、要因i、jが設定さ
れると要因cについても設定されることになる。
In FIG. 11A, when the reset switch 730 is closed and the hard reset process is started, D
By the FFs 732 and 734 and the logic circuit 736, the factor i
A signal 720, which is an SMI pulse due to On the other hand, when the I / O write processing for the soft reset is performed, as shown in FIG.
Address decoder signal from 00 and timing circuit 20
I / O write pulse IOWC from 2 causes factor j
A signal 605, which is an SMI pulse due to As shown in FIG. 10, these signals 720, 605 and the third
Output of the mask register 662 of the AND circuit 680, 6
81, the signals 710 and 711 are generated, and these signals are input to the OR circuit 682 to generate the SMI pulse due to the factor c. Thereby, it becomes possible to mask each of the factors i and j using the third mask register 662. When an SMI pulse due to any of factors i and j occurs, an SMI pulse due to factor c also occurs. Then, these signals 710, 711
9 is input to the third factor registers 658 and 659 via the logic circuits 648 and 649, whereby the factors i and j are set. On the other hand, as shown in FIG. 10, the SMI pulse due to the factor c and the output of the first mask register 660 are input to the AND circuit 672, and the signal 708 is generated. As a result, when the factor c is masked, the factors i and j are also masked. Then, as shown in FIG. 9, the signal 708 is input to the factor register 652 which is one of the first factor register group via the logic circuit 642, and the factor c is set by this. That is, when the factors i and j are set, the factor c is also set.

【0150】図11(C)において、電源ユニットから
のPower−ok信号が立ち下がり、電源断処理が開
始されると、DFF748、750及び論理回路752
により、要因dによるSMIパルスである信号722が
生成される。図10に示すように、この信号722と第
1のマスクレジスタ660の出力はAND回路673に
入力され、信号709が生成される。そして、信号70
9は、図9に示すように、論理回路643を介して第1
の要因レジスタ群の1つである要因レジスタ653に入
力され、これにより要因dの設定が行われる。
In FIG. 11C, when the Power-ok signal from the power supply unit falls and the power-off process is started, the DFFs 748, 750 and the logic circuit 752 are started.
As a result, a signal 722 that is an SMI pulse due to the factor d is generated. As shown in FIG. 10, the signal 722 and the output of the first mask register 660 are input to the AND circuit 673, and the signal 709 is generated. And signal 70
As shown in FIG. 9, the reference numeral 9 designates a first circuit via a logic circuit 643.
Is input to the factor register 653, which is one of the factor register groups, and the factor d is set accordingly.

【0151】最後に、図10に示すように、信号706
〜709はOR回路674、論理回路691を介してS
MI発生レジスタ692に入力され、これによりSMI
信号31が出力される。なお、図9に示す要因レジスタ
650〜659の要因のクリアーは、I/Oライトパル
スIOWC100、IOWC200、IOWC300を
NAND回路630〜639を介して入力することで行
うことができる。そして、図10に示すように、要因a
〜dについてのクリアーが行われると、信号601〜6
04が入力される論理回路690により、SMI発生レ
ジスタ692についてもクリアーされ、SMI信号31
がディアサートされる。更に、第1〜第3のマスクレジ
スタ660〜662へのマスクデータの設定は、マスク
書き込みのためのI/Oライトパルス信号であるIOW
C400〜IOWC600により行われることになる。
Finally, as shown in FIG.
˜709 are S through the OR circuit 674 and the logic circuit 691.
It is input to the MI generation register 692, which causes the SMI
The signal 31 is output. The causes of the cause registers 650 to 659 shown in FIG. 9 can be cleared by inputting the I / O write pulses IOWC100, IOWC200, and IOWC300 via the NAND circuits 630 to 639. Then, as shown in FIG.
~ D is cleared, signals 601-6
The logic circuit 690 to which 04 is input also clears the SMI generation register 692, and the SMI signal 31
Is deasserted. Further, the mask data is set in the first to third mask registers 660 to 662 by setting IOW which is an I / O write pulse signal for mask writing.
It will be performed by C400 to IOWC600.

【0152】図12(A)、(B)には、以上の処理に
ついてのフローチャートが示される。例えば、要因eに
ついてのI/Oライト処理が行われると(ステップC
1)、マスクされていなければSMIステータスに要因
e及びaが共にセットされ(ステップC2)、これによ
りSMIが発生し、SMMへ移行する(ステップC9、
C10)。要因f、g、hについてのI/Oライト処理
についても同様である。また、要因bのスピード切替検
出処理が行われると(ステップD1)、マスクされてい
なければSMIステータスに要因bが設定され(ステッ
プD2)、これによりSMIが発生し、SMMへ移行す
る(ステップD9、D10)。また、リセットスイッチ
検出処理が行われると(ステップD3)、マスクされて
いなければSMIステータスに要因i及びcが共に設定
され(ステップD4)、これによりSMIが発生し、S
MMへ移行する(ステップD9、D10)。CPUソフ
トリセット処理、電源断処理についても同様である。
FIGS. 12A and 12B show flowcharts of the above processing. For example, when the I / O write process for the factor e is performed (step C
1) If not masked, the factors e and a are both set in the SMI status (step C2), which causes SMI and shifts to SMM (step C9,
C10). The same applies to the I / O write processing for the factors f, g, and h. Further, when the speed switching detection process of the factor b is performed (step D1), if it is not masked, the factor b is set in the SMI status (step D2). As a result, an SMI occurs and the process proceeds to SMM (step D9). , D10). Further, when the reset switch detection processing is performed (step D3), if not masked, the factors i and c are both set in the SMI status (step D4), which causes SMI and S
The process proceeds to MM (steps D9 and D10). The same applies to the CPU soft reset processing and power-off processing.

【0153】以上のように、本実施例では、要因レジス
タを階層構造とし、各々の要因についてマスクできる構
成とすることで以下のような効果を得ることができる。
第1に、最初の要因検索は要因a〜dについてのみ行え
ばよいので、要因検索を高速化できる。第2に、階層構
造となったこれらの要因をマスクすることで、要因及び
SMIの発生について優先順位を設定することができ
る。これにより、後述するように、電源断等のシステム
の動作環境の変化についてのエミュレート処理を、I/
Oポートアクセスのエミュレート処理よりも優先度の高
いものとすることができる。第3に、コンピュータシス
テムのモードによっては、動作させてはならないエミュ
レート処理があり(例えばハイレゾ表示の場合のVRA
M、IPF)、このような場合に、該当する要因をマス
クすることで、上記エミュレート処理が動作するのを防
止できる。
As described above, in the present embodiment, the factor register has a hierarchical structure and each factor can be masked, so that the following effects can be obtained.
First, since the first factor search only needs to be performed for the factors a to d, the factor search can be speeded up. Secondly, by masking these factors having a hierarchical structure, it is possible to set priorities for factors and SMI occurrence. As a result, as will be described later, the emulation processing for changes in the operating environment of the system such as power interruption can
The priority may be higher than that of the emulation processing of O port access. Third, depending on the mode of the computer system, there is emulation processing that should not be operated (for example, VRA for high resolution display).
M, IPF), in such a case, by masking the corresponding factors, it is possible to prevent the emulation processing from operating.

【0154】図13には、要因データの設定についての
信号波形図の一例が示される。FRAME信号がアサー
トされPCIバスアクセスサイクルが開始されると、1
クロック目でアドレスラッチデコーダ200、タイミン
グ回路202によりアドレス信号AD0〜31及びコマ
ンド信号CBE0〜3がラッチされ、IRDY信号がア
サートされる。すると、2クロック後に、タイミング回
路202により、I/OライトパルスIOWC信号がア
サートされ、これにより要因レジスタに要因が設定され
ると共に、SMI信号31がアサートされ、SMI処理
が開始される。そして、IRDY及びTRDY信号が共
にアサートされると、当該バスアクセスサイクルは終了
する。図13では、次のバスアクセスサイクルにおいて
要因がクリアーされる処理が行われ、これによりSMI
信号31がディアサートされることになる。
FIG. 13 shows an example of a signal waveform diagram for setting factor data. 1 when the FRAME signal is asserted and the PCI bus access cycle is started
At the clock, the address latch / decoder 200 and the timing circuit 202 latch the address signals AD0-31 and the command signals CBE0-3, and assert the IRDY signal. Then, two clocks later, the timing circuit 202 asserts the I / O write pulse IOWC signal, thereby setting the factor in the factor register, and asserting the SMI signal 31 to start the SMI processing. When both the IRDY and TRDY signals are asserted, the bus access cycle ends. In FIG. 13, a process for clearing the cause is performed in the next bus access cycle, which causes the SMI.
The signal 31 will be deasserted.

【0155】4.システム全体の動作の説明 図14、図15には、SMMモードに入った後の本実施
例の動作についてのフローチャートが示される。まず、
ステップE1でSMMモードに入り、SMMハンドラ2
6が起動すると、PCMC11のconfigレジスタ
をオープンし、PCMC11のDeturbo機能を禁
止する設定をする。即ち、ホールドウェイト制御手段1
2(図1参照)からCPU1に対してウェイト(HOL
D信号7)を入れないモードにして、CPU1を高速に
動作させる。これにより、以降のエミュレート処理にお
いてCPU1は最高速度で動作することになり、処理の
高速化を図れる。CPU1の動作スピード切替スイッチ
は、高速では動作不可能なアプリケーションプログラ
ム、あるいは、高速動作すると不都合のあるアプリケー
ションプログラム(例えばアクションゲーム)等のため
に設けられたスイッチであるが、エミュレート処理にお
いては、CPU1の動作スピードは速ければ速いほどよ
いので、本実施例ではこのような設定をしている。な
お、本実施例では、システムの動作環境を変更するもの
としてCPU1の動作スピードの変更について説明した
が、本発明はこれに限られるものではない。例えば、こ
のような動作環境の変更としては、エミュレート処理の
間、メーカのシステム独自のI/OポートがI/O空間
上に見えるようにする変更等、種々のものが考えられ
る。即ち、エミュレート処理の間は、ユーザの使用する
アプリケーションプログラム等は割り込みにより動作が
中断されている。このため、この間、メーカのシステム
独自のI/Oポートが見えるようにしても、このI/O
ポートがアプリケーションプログラム等によりアクセス
されることはない。そして、このようにメーカのシステ
ム独自のI/Oポートを見えるようにすることで、エミ
ュレート処理中に使用できるI/Oポートの数を増やす
ことができ、エミュレートシステムの設計の自由度を高
めることができる。なお、以上説明したシステムの動作
環境を変更する手法は、本実施例で説明されるようなエ
ミュレートシステムに限らず、他の手法によるエミュレ
ートシステムにも広く適用できる。また、この場合に
は、エミュレート処理に入るための割り込みも、SMI
に限らず、NMIでもかまわない。
4. Description of Operation of Entire System FIGS. 14 and 15 are flowcharts showing the operation of the present embodiment after entering the SMM mode. First,
In step E1, SMM mode is entered and SMM handler 2
When 6 starts, the config register of the PCMC 11 is opened, and the setting of prohibiting the Deterbo function of the PCMC 11 is performed. That is, the hold weight control means 1
2 (see FIG. 1) to CPU 1 wait (HOL
The CPU 1 is operated at a high speed by setting the mode in which the D signal 7) is not input. As a result, the CPU 1 operates at the maximum speed in the subsequent emulation processing, and the processing speed can be increased. The operation speed changeover switch of the CPU 1 is a switch provided for an application program that cannot operate at high speed, or an application program that is inconvenient for high speed operation (for example, an action game), and the like. The faster the operating speed of the CPU 1, the better. Therefore, in this embodiment, such a setting is made. In the present embodiment, the change of the operating speed of the CPU 1 is described as changing the operating environment of the system, but the present invention is not limited to this. For example, various changes in the operating environment are conceivable, such as making the I / O port unique to the manufacturer's system visible on the I / O space during the emulation process. That is, during the emulation process, the operation of the application program or the like used by the user is interrupted by an interrupt. Therefore, even if the manufacturer's system-specific I / O port is visible during this period, this I / O
The port is never accessed by an application program or the like. By making the manufacturer's system-specific I / O ports visible in this way, it is possible to increase the number of I / O ports that can be used during emulation processing, thus increasing the degree of freedom in designing the emulation system. Can be increased. The method for changing the operating environment of the system described above is not limited to the emulation system as described in the present embodiment, but can be widely applied to emulation systems by other methods. Further, in this case, the interrupt for entering the emulation processing is also SMI.
Not limited to, NMI may be used.

【0156】次に、ステップE4に示すように、SMM
ハンドラ26による要因レジスタ(ステータス)の読み
出し処理が行われる。次に、ステップE5で、読み出さ
れた要因が電源断の要因dであるか否かが判断される。
即ち、本実施例では、エミュレーションに入った後に処
理しなければならない要因に優先順位を設定しており、
電源断の要因を最優先の要因としている。この場合、要
因の優先度の設定は、本実施例のように物理的なレジス
タ等の並びにより設定してもよいし、ソフトウェアの処
理順序等により設定してもよい。このような電源断が生
じた場合には、これを優先して処理しなければ致命的な
システムエラーにつながる。そこで、本実施例では、エ
ミュレーション処理をマスクする手段を設けたり、要因
レジスタを階層構造とすること等により、要因間の優先
順位の設定を容易に行うことができる構成としている。
そして、電源断処理をI/Oエミュレート処理よりも優
先するようにして、システムエラーが生じる事態を防止
している。
Next, as shown in step E4, the SMM
The processing for reading the factor register (status) by the handler 26 is performed. Next, at step E5, it is judged whether or not the read factor is the power source interruption factor d.
That is, in this embodiment, the priority is set to the factors that must be processed after entering the emulation.
The power-off factor is given top priority. In this case, the priority of the factor may be set by a physical register or the like as in the present embodiment, or may be set by the processing order of software or the like. If such a power failure occurs, a fatal system error will occur unless it is processed with priority. Therefore, in the present embodiment, a means for masking the emulation processing is provided, the factor register is made to have a hierarchical structure, etc., so that the priority order among factors can be easily set.
Then, the power-off process is prioritized over the I / O emulation process to prevent a system error from occurring.

【0157】ステップE5で電源断の要因が検出される
とステップE6に移行し、HDD等のデータの退避等の
処理が行われる。このような電源断の要因としては、例
えば携帯用のパーソナルコンピュータでは、バッテリー
の消耗による電源断が考えられる。また、電源スイッチ
をオフにした後、データを喪失しないようにシステムを
設計する場合にも、このような電源断の検出処理が必要
になる。データの退避等の処理が行われた後、ステップ
E7で電源ユニットに対して電源OFFコマンドが発行
され、システムの電源が落ちる。次に、ステップE8
で、リセット検出の要因cが読み出され(リセット検出
が電源断検出の次に優先順位の高い要因となる)、リセ
ットが検出されるとステップE9に移行する。ステップ
E9以降の処理については図15に示される。まず、ス
テップF1で次の階層の要因レジスタ(図9の要因レジ
スタ658、659)が読み出される。そして、要因が
iの場合(ハードリセット)はステップF3に、要因が
jの場合にはステップF9に移行する。
When the cause of power failure is detected in step E5, the process proceeds to step E6, and processing such as saving of data in the HDD or the like is performed. As a cause of such power interruption, for example, in a portable personal computer, power interruption due to exhaustion of a battery is considered. Further, even when the system is designed such that data is not lost after the power switch is turned off, such a power failure detection process is required. After processing such as data saving is performed, a power OFF command is issued to the power supply unit in step E7, and the system power is turned off. Then, step E8
Then, the reset detection factor c is read (the reset detection becomes the next highest priority factor after the power failure detection), and when the reset is detected, the process proceeds to step E9. The processing after step E9 is shown in FIG. First, in step F1, the factor registers of the next layer (factor registers 658 and 659 in FIG. 9) are read. When the factor is i (hard reset), the process proceeds to step F3, and when the factor is j, the process proceeds to step F9.

【0158】ハードリセットの場合は、システム全体が
初期化されることになるため、HDD等のデータを退避
する処理が行われる(ステップF3)。その後、キャッ
シュメモリ上のデータをWBINVDコマンドでキャッ
シュフラッシュしデータを退避する処理が行われる(ス
テップF4)。BASICのウォームブートでは、ハー
ドリセット時にも、メインRAM上のデータが保存され
ていなければならない。しかし、ライトバックキャッシ
ュ(CPUから書き込み命令があった場合にキャッシュ
メモリの中だけを書き換えて、メインRAM上のデータ
を書き換えないメモリ)を使用しているシステムでは、
ハードリセットをかけると、キャッシュのライトバック
ができなくなり、ウォームブートが不可能になるという
問題がある。更に、HDD等の装置内にライトバックキ
ャッシュメモリを使用する場合もあり、本実施例では、
このような問題を解決するためにステップF4に示すよ
うな処理を行っている。そして、次に、ステップF5で
リセットレジスタ14にRESETコマンドを設定した
後、PCMC11のConfigレジスタをクローズし
RMSを発行すると、CPU1に対してRESET信号
8が出力される(ステップF6〜F8)。一方、ソフト
リセットは、I/Oポート(FOH)に対するライト動
作により行われる。第1のコンピュータシステムでは、
キーボードコントローラに同様のポートがあるが別ポー
トになっており、PCMC11のリセットレジスタ14
の機能を利用してない。本実施例では、PCMCの機能
を利用するため、ソフトリセットについてもSMIによ
りエミュレート処理を行っている。さて、ソフトリセッ
トの場合には、CPU1のみを初期化すればよいので、
データの退避処理は必要なく、ステップF9でリセット
レジスタ14にINITコマンドを設定される。そし
て、PCMC11のConfigレジスタをクローズし
RMSを発行すると、CPU1に対してINIT信号9
が出力されることになる(ステップF10〜F12)。
In the case of a hard reset, the entire system is initialized, so a process of saving the data in the HDD or the like is performed (step F3). After that, the data on the cache memory is flushed by the WBINVD command to save the data (step F4). In the warm boot of BASIC, the data on the main RAM must be saved even at the time of hard reset. However, in a system that uses a write-back cache (a memory that rewrites only the cache memory and does not rewrite the data in the main RAM when there is a write command from the CPU),
When a hard reset is applied, there is a problem that write back of the cache is disabled and warm boot becomes impossible. Furthermore, there is a case where a write-back cache memory is used in a device such as an HDD. In this embodiment,
In order to solve such a problem, the process shown in step F4 is performed. Then, after setting the RESET command in the reset register 14 in step F5, closing the Config register of the PCMC 11 and issuing the RMS, the RESET signal 8 is output to the CPU 1 (steps F6 to F8). On the other hand, the soft reset is performed by the write operation for the I / O port (FOH). In the first computer system,
The keyboard controller has a similar port but is a different port, and the reset register 14 of the PCMC11
Not using the function of. In this embodiment, since the PCMC function is used, the SMI emulation processing is also performed for soft reset. By the way, in the case of soft reset, since only the CPU 1 needs to be initialized,
No data saving process is required, and the INIT command is set in the reset register 14 in step F9. Then, when the Config register of the PCMC11 is closed and RMS is issued, the INIT signal 9 is sent to the CPU1.
Is output (steps F10 to F12).

【0159】図14の説明に戻る。リセット検出の要因
cの読み出し後、スピード切替の要因dが読み出され、
スピード切替が検出されるとステップE17に移行す
る。そして、スピードスイッチの状態が読み出され、低
速に設定されていた場合にはステップE18に移行し、
PCMC11のDeturboを許可する処理(CPU
1にウェイトを入れ、低速にする処理)が行われる。一
方、高速に設定された場合にはそのままステップE19
に移行し、RSM命令により復帰する。ステップE5、
E8、E10で、電源断等の動作環境に変化がなかった
場合に初めて、ステップE11に示すようにI/Oポー
トライトについての要因aが読み出される。そして、要
因aがセットされていた場合には、次の階層の要因レジ
スタ、即ち図9の要因レジスタ654〜657から要因
e〜hが読み出される。そして、セットされた要因に基
づくエミュレート処理が行われる(ステップE13〜E
16)。次に、ステップE17に移行し、スピードスイ
ッチの状態が読み出される。これは、ステップE2、E
3によりCPU1が高速動作の状態になっているため、
これをスピードスイッチにより設定された状態に戻すた
めに必要な処理である。
Returning to the explanation of FIG. After reading the reset detection factor c, the speed switching factor d is read,
When speed switching is detected, the process proceeds to step E17. Then, the state of the speed switch is read out, and when it is set to the low speed, the process proceeds to step E18,
Process that allows Dembo of PCMC11 (CPU
The process of adding a weight to 1 and reducing the speed is performed. On the other hand, when the speed is set to high, step E19 is directly performed.
, And return by RSM instruction. Step E5,
At E8 and E10, the factor a for the I / O port write is read only when there is no change in the operating environment such as power-off as shown in step E11. Then, when the factor a is set, the factors e to h are read from the factor register of the next layer, that is, the factor registers 654 to 657 in FIG. Then, the emulation processing based on the set factor is performed (steps E13 to E).
16). Then, the process proceeds to step E17, where the state of the speed switch is read. This is step E2, E
Since CPU1 is in the high-speed operation state by 3,
This is a process necessary to return this to the state set by the speed switch.

【0160】さて、本実施例では、外部スイッチの切替
を、電源断検出手段75、リセット検出手段73、スピ
ード切替検出手段74、表示切替検出手段76により検
出し、この検出結果に基づいてエミュレート処理を実行
している。従来においては、図54に示すコントローラ
507が、これらの外部スイッチの切り替えに関する外
部入力端子を有しており、従って、これらの外部スイッ
チの切り替えに関するエミュレーション処理を行う必要
はなかった。これに対して、第1のデバイス制御手段で
あるPCMC11はこのような外部入力端子を有してい
ない。従って、本実施例のように第2のコンピュータシ
ステムに第1のデバイス制御手段を混在させるエミュレ
ートシステムにおいては、これらの外部スイッチ切り替
えに関してエミュレート処理を行う必要が生じる。即
ち、第2のデバイス制御手段ではサポートされていた
が、第1のデバイス制御手段ではサポートされていない
外部入力があった場合に、これらの外部入力をエミュレ
ートする手法が必要になるのである。本実施例では、こ
のエミュレート処理を実現するために、まず、サブコン
トローラ内に検出手段(検出手段はどこに配置してもか
まわない)を設け、この検出結果に基づいて要因を設定
し、SMIハンドラ等によりこの要因に対応した処理を
行わせる。即ち、第2のデバイス制御手段の機能を利用
してこれらの電源断等の処理を実行できるように、エミ
ュレート処理を行うのである。
In the present embodiment, the switching of the external switch is detected by the power interruption detecting means 75, the reset detecting means 73, the speed switching detecting means 74, and the display switching detecting means 76, and the emulation is performed based on the detection results. Processing is being performed. Conventionally, the controller 507 shown in FIG. 54 has an external input terminal for switching these external switches, and therefore, it is not necessary to perform emulation processing for switching these external switches. On the other hand, the PCMC 11 which is the first device control means does not have such an external input terminal. Therefore, in the emulation system in which the first device control means is mixed in the second computer system as in the present embodiment, it is necessary to perform emulation processing for switching these external switches. That is, when there is an external input which is supported by the second device control means but is not supported by the first device control means, a method of emulating these external inputs is necessary. In the present embodiment, in order to realize this emulation processing, first, detection means (where the detection means may be arranged anywhere) is provided in the sub-controller, and a factor is set based on the detection result, and the SMI is set. A handler or the like executes processing corresponding to this factor. That is, the emulation processing is performed so that the processing such as power-off can be executed by utilizing the function of the second device control means.

【0161】なお、このような外部スイッチ切替に対す
るエミュレート処理としては、例えば携帯用のパーソナ
ルコンピュータ等における表示ユニットのコントラスト
調整、明るさ調整のスイッチ等が考えられる。また、本
実施例のエミュレート処理の対象となるのは、このよう
な外部スイッチの切り替えに関するものに限られるもの
ではない。即ち、第1のコンピュータシステムに第2の
デバイス制御手段を混在させた場合において、第1のコ
ンピュータシステムではサポートされていた外部入力が
第2のデバイス制御手段に存在しない場合には、この外
部入力に関して本実施例のエミュレート処理を適用でき
る。例えばブリッジ回路39を置き換えて第1のアーキ
テクチャのデバイス制御手段を採用した場合において、
ブリッジ回路39でサポートされていたが第1のデバイ
ス制御手段でサポートされていない外部入力が存在する
場合には、この外部入力に関して本実施例のエミュレー
ト処理を適用できることになる。なお、このような外部
入力としては、本実施例で説明した外部スイッチからの
入力のみならず、例えばサブCPU、コントロールデバ
イス、温度検出端子からの外部入力等、種々のものが考
えられる。
As the emulation processing for such external switch switching, for example, a switch for contrast adjustment and brightness adjustment of a display unit in a portable personal computer or the like can be considered. Further, the target of the emulation processing of the present embodiment is not limited to such switching of the external switch. That is, when the second device control means is mixed in the first computer system and the external input supported by the first computer system does not exist in the second device control means, this external input is used. With respect to, the emulation processing of this embodiment can be applied. For example, when the bridge circuit 39 is replaced and the device control means of the first architecture is adopted,
If there is an external input that is supported by the bridge circuit 39 but is not supported by the first device control means, the emulation processing of this embodiment can be applied to this external input. As such an external input, not only the input from the external switch described in the present embodiment but also various inputs such as an external input from a sub CPU, a control device, a temperature detection terminal, and the like can be considered.

【0162】次に、I/Oライトのエミュレート処理の
動作について図16、図17(A)〜(C)を用いて説
明する。I/Oアドレス300Hは第1の表示モード
(標準解像度)と第2の表示モード(高解像度)をハー
ドウェア的に切り替える命令を出すポートである。な
お、表示モードの切替の検出は、サブコントローラ25
内の表示切替検出手段76により行う。図16のステッ
プS20でI/Oアドレス300Hに表示モードを切り
替える命令が出力されると、図17(B)、(C)で示
される表示モード1あるいは表示モード2のメモリマッ
プのようにRAM21、VRAM33、ROM43のマ
ッピングをする動作に入る。ステップS21で、VRA
M切替手段35およびROM切替手段45は従来と同様
にCPU1のI/O命令を直接受け取り、それぞれVR
AM33、ROM43のマッピングを切り替える。さら
にサブコントローラ25がI/O受付手段30によって
命令を受け、SMIステータス28に表示モード切り替
えを示す要因をハードウェア的にセットし、SMIを発
生する。ステップS26でSMMに移行し、ステップS
27でSMMハンドラ26がSMIステータス28を読
み取り、表示モード切り替えの動作に入る。
Next, the operation of the emulation processing of I / O write will be described with reference to FIGS. 16 and 17A to 17C. The I / O address 300H is a port that issues a command to switch the first display mode (standard resolution) and the second display mode (high resolution) by hardware. The detection of the switching of the display mode is performed by the sub controller 25.
This is performed by the display switching detection means 76 inside. When an instruction to switch the display mode is output to the I / O address 300H in step S20 of FIG. 16, the RAM 21, as shown in the memory map of the display mode 1 or the display mode 2 shown in FIGS. The operation of mapping the VRAM 33 and the ROM 43 is started. In step S21, VRA
The M switching means 35 and the ROM switching means 45 directly receive the I / O command of the CPU 1 as in the conventional case, and VR respectively.
The mapping of AM33 and ROM43 is switched. Further, the sub controller 25 receives an instruction from the I / O receiving means 30, sets a factor indicating the display mode switching in the SMI status 28 by hardware, and generates an SMI. In step S26, the process proceeds to SMM, and step S
In S27, the SMM handler 26 reads the SMI status 28 and starts the operation of switching the display mode.

【0163】ここで図17(A)〜(C)により表示モ
ード1、表示モード2のメモリマップ、およびそれに対
応するメモリコントローラ11(PCMC)のメモリ設
定レジスタ17(PCMCに対し各種設定を行うcon
figレジスタの一部である)について説明する。第2
のアーキテクチャにおいては、表示モード1と2によっ
てメモリアドレスの0H〜100000H番地までが図
17(B)、(C)のように大きく変化する。図17
(A)にはメモリ設定レジスタ17のメモリ設定部分に
対応するレジスタが示されており、左側が表示モード1
に対応した設定、右側が表示モード2に対応した設定で
ある。図17(B)、(C)において、RAMは図1の
RAM21に、G−VRAM(グラフィックVRAM)
とT−VRAM(テキストVRAM)を合わせたものが
VRAM33に、ROMがROM43に相当している。
表示モード1の0H〜A0000HにはRAMがあり、
メモリ設定レジスタにはRAMに対応してC(キャッシ
ュ)、W(ライト)、R(リード)を可能とするフラグ
が立てられる(RAMコントローラ15はW、Rを設定
したメモリアドレス=RAMと判断し自動的にデコード
してRAM21を割り付ける機能も有している)。A0
000〜C0000HとE0000〜E8000HはV
RAMが4プレーン分、割り当てられており、メモリ設
定レジスタ17でPCIバス23へのアクセスを指定す
ることにより、あらかじめ表示モード1のマッピングに
切り替えられたVRAM33にアドレスする。C000
0〜E0000H、E8000〜100000HのRO
Mにもメモリ設定レジスタ17でPCIバス23へのア
クセスが指定され、ROM43がアドレスされる。表示
モード2においても各RAM、VRAM、ROMのアド
レスに対応してメモリ設定レジスタ17の設定を行う。
なおモード2のG−VRAMは高解像度分の容量を確保
するため4プレーンがバンク切り替え方式となっている
が、デコーダと共にバンク切り替え制御手段を設けるこ
とにより、支障なくアクセスが可能である。図16の説
明に戻る。ステップS28でCPU1がPCMCのco
nfigレジスタをOpenし、ステップS29で表示
モード1あるいは表示モード2の状態にセットする(図
では状態A)。ステップS30でconfigレジスタ
をCloseし、ステップS37でRSM命令を発行
し、SMMを抜ける。以上によって、 (1)VRAM切替手段35によってVRAM33のマ
ッピング変更 (2)ROM切替手段45によってROM43のマッピ
ング変更 (3)メモリコントローラ11によって、RAM21の
マッピングの変更と、メモリアドレスに対する設定の変
更が実行され、I/O命令に対して第2のアーキテクチ
ャに対応した結果が得られることになる。
17A to 17C, the memory maps of the display mode 1 and the display mode 2 and the corresponding memory setting register 17 of the memory controller 11 (PCMC) (con for making various settings to PCMC).
(which is a part of the fig register). Second
In the architecture of, the display modes 1 and 2 cause a large change from 0H to 100000H of the memory address as shown in FIGS. 17B and 17C. FIG. 17
(A) shows a register corresponding to the memory setting part of the memory setting register 17, and the left side is display mode 1
The setting corresponding to the display mode 2 is shown on the right side. In FIGS. 17B and 17C, the RAM is a G-VRAM (graphic VRAM) in addition to the RAM 21 of FIG.
And T-VRAM (text VRAM) are equivalent to VRAM 33, and ROM is equivalent to ROM 43.
There is a RAM from 0H to A0000H in display mode 1,
A flag that enables C (cache), W (write), and R (read) is set in the memory setting register corresponding to the RAM (the RAM controller 15 determines that the memory address in which W and R are set = RAM). It also has a function of automatically decoding and allocating the RAM 21). A0
000-C0000H and E0000-E8000H are V
RAM is allocated for four planes, and by specifying access to the PCI bus 23 by the memory setting register 17, the VRAM 33 that has been switched to the display mode 1 mapping in advance is addressed. C000
RO from 0 to E0000H, E8000 to 100000H
Access to the PCI bus 23 is also designated in M by the memory setting register 17, and the ROM 43 is addressed. Also in the display mode 2, the memory setting register 17 is set corresponding to the addresses of the RAM, VRAM, and ROM.
The mode 2 G-VRAM has a bank switching system for 4 planes in order to secure a capacity for high resolution. However, by providing a bank switching control means together with a decoder, it is possible to access without trouble. Returning to the description of FIG. In step S28, CPU1 is co
The nfig register is opened, and the display mode 1 or the display mode 2 is set in step S29 (state A in the figure). The config register is closed in step S30, the RSM instruction is issued in step S37, and the SMM is exited. By the above, (1) VRAM switching means 35 changes VRAM 33 mapping (2) ROM switching means 45 changes ROM 43 mapping (3) Memory controller 11 changes RAM 21 mapping and changes memory address settings The result corresponding to the second architecture is obtained for the I / O instruction.

【0164】5.バスアービタの説明 次に、バスアービタ70について説明する。バスアービ
タ70では、PCIバス23へのアクセス権の決定処理
(アービトレーション)が行われる。この決定処理は、
メモリコントローラ11及びPCI上のバスマスタ(H
DD37)及びブリッジ回路39からのリクエスト信号
であるREQ−CPU、REQ−PCI、REQ−BR
Gを受け取ると共に、許可信号であるGNT−CPU、
GNT−PCI、GNT−BRGをこれらに出力するこ
とにより行われる。SMI処理の際には、CPU1のP
CIバス23へのバスアクセス権の優先順位を高めるこ
とが望ましい。そのようにしないと、例えばSMI処理
の際にHDD37等によりPCIバス23がアクセスさ
れた場合に、バスアクセス権がCPU1からHDD37
等に移行してしまい、エミュレート処理の速度が低下し
てしまうからである。バスアクセス権の優先順位を高め
る手法として例えば次の2つの手法が考えられる。
5. Description of Bus Arbiter Next, the bus arbiter 70 will be described. The bus arbiter 70 performs a process (arbitration) for determining an access right to the PCI bus 23. This decision process is
Memory controller 11 and bus master on PCI (H
DD37) and request signals from the bridge circuit 39: REQ-CPU, REQ-PCI, REQ-BR
G is received, GNT-CPU which is a permission signal,
It is performed by outputting GNT-PCI and GNT-BRG to these. At the time of SMI processing, P of CPU1
It is desirable to increase the priority of the bus access right to the CI bus 23. If this is not done, for example, when the PCI bus 23 is accessed by the HDD 37 or the like during SMI processing, the bus access right is transferred from the CPU 1 to the HDD 37.
This is because the speed of the emulation processing is reduced due to the shift to the like. The following two methods are conceivable as methods for increasing the priority of bus access rights.

【0165】第1の手法は、図18に示すように、バス
アービター70に入力されるREQ−BRG、REQ−
PCIを、論理回路760、762を用いてSMI信号
によりマスクする手法である。これによりREQ−BR
G、REQ−PCIはバスアービタ70により受け付け
られず、CPU1からのREQ−CPUが優先されるこ
とになる。この場合、SMI信号31を直接に論理回路
760、762に入力してもよいし、SMI処理の際に
SMMハンドラ26により所定のレジスタに所定値をセ
ットして、このレジスタの出力を論理回路760、76
2に入力してもよい。このようにすれば、アービトレー
ションの優先順位を変更するタイミングをソフトウェア
により制御できる。
The first method is, as shown in FIG. 18, REQ-BRG and REQ- input to the bus arbiter 70.
This is a method of masking PCI with an SMI signal using the logic circuits 760 and 762. As a result, REQ-BR
G and REQ-PCI are not accepted by the bus arbiter 70, and the REQ-CPU from the CPU 1 has priority. In this case, the SMI signal 31 may be directly input to the logic circuits 760 and 762, or the SMM handler 26 sets a predetermined value in a predetermined register at the time of the SMI processing and outputs the output of this register to the logic circuit 760. , 76
You may enter in 2. In this way, the timing of changing the priority of arbitration can be controlled by software.

【0166】第2の手法によるバスアービタ70は、図
19に示すように論理回路772〜790、DFF79
2〜796を含み、図20にはこの回路の状態遷移図が
示される。この状態遷移図に示すように、この回路には
IDLE、S1、S2、S3の4つの状態がある。ID
LE状態は、PCIRSTによるリセット直後の状態で
あり、REQ−BRG、REQ−PCI、REQ−CP
U、GNT−BRG、GNT−PCI、GNT−CPU
は全て”1”になっている。そして、S1、S2、S3
は、各々、REQ−BRG=0、REQ−PCI=0、
REQ−CPU=0の場合に、GNT−BRG=0、G
NT−PCI=0、GNT−CPU=0を返すという状
態を表す。本実施例では、SMI信号(上記のようにS
MMハンドラ26によりレジスタに所定値をセットして
処理を行ってもよい)により、優先順位を次のように変
化させる。即ち、SMI=1(ディアサート)の場合、
優先順位はREQ−BRG、REQ−PCI、REQ−
CPUの順になり、REQ−BRGの優先順位が一番高
い。これに対して、SMI=0(アサート)になると、
優先順位はREQ−CPU、REQ−BRG、REQ−
PCIの順になり、REQ−CPUの優先順位が一番高
くなる。例えば、図20の#8に示すように、SMI=
0の場合はREQ−CPUが最優先となるため、REQ
−CPU=0であればすぐにS3に状態が遷移する。そ
して、REQ−CPU=0となるとGNT−CPU=0
となり(#12)、CPU1のバスアクセスが許可され
る。そして、REQ−CPU=1となると(#9)、I
DLE状態に戻る。一方、SMI=1の場合(#7)
は、優先順位は通常通りBRG、PCI、CPUの順に
なるので、REQ−BRG=REQ−PCI=1で、か
つ、REQ−CPU=0の場合に限り、S3状態に移行
する。S2状態への以降は次に様になる。即ち、SMI
=0の場合(#6)には、REQ−CPUの優先順位が
最も高くなるため、REQ−PCI=0であっても、R
EQ−CPU及びREQ−BRGが共に1でない限りS
2に移行しない。S2に移行した場合には、GNT−P
CI=0とする。一方、SMI=1の場合(#5)に
は、通常の優先順位となるため、REQ−BRG=1
で、かつ、REQ−PCI=0であれば、REQ−CP
Uの値に無関係にS2状態に移行する。S1状態への移
行も、上記と全く同様になる。
The bus arbiter 70 according to the second method includes logic circuits 772 to 790 and a DFF 79 as shown in FIG.
2-796, the state transition diagram of this circuit is shown in FIG. As shown in this state transition diagram, this circuit has four states, IDLE, S1, S2, and S3. ID
The LE state is a state immediately after reset by PCIRST and includes REQ-BRG, REQ-PCI, and REQ-CP.
U, GNT-BRG, GNT-PCI, GNT-CPU
Are all "1". And S1, S2, S3
Are REQ-BRG = 0, REQ-PCI = 0,
When REQ-CPU = 0, GNT-BRG = 0, G
It represents a state in which NT-PCI = 0 and GNT-CPU = 0 are returned. In the present embodiment, the SMI signal (S
The MM handler 26 may set a predetermined value in the register to perform the processing), and the priority is changed as follows. That is, when SMI = 1 (deassert),
Priority is REQ-BRG, REQ-PCI, REQ-
Priority is given to REQ-BRG in the order of CPU. On the other hand, when SMI = 0 (assert),
The priority is REQ-CPU, REQ-BRG, REQ-
The order is PCI, and the REQ-CPU has the highest priority. For example, as shown in # 8 of FIG. 20, SMI =
When 0, REQ-CPU has the highest priority, so REQ
-If CPU = 0, the state immediately transits to S3. When REQ-CPU = 0, GNT-CPU = 0
Then (# 12), the bus access of the CPU 1 is permitted. When REQ-CPU = 1 (# 9), I
Return to DLE state. On the other hand, when SMI = 1 (# 7)
Since the order of priority is BRG, PCI, and CPU as usual, the state shifts to the S3 state only when REQ-BRG = REQ-PCI = 1 and REQ-CPU = 0. After entering the S2 state, the following occurs. That is, SMI
When = 0 (# 6), the REQ-CPU has the highest priority, so even if REQ-PCI = 0, R is
S unless EQ-CPU and REQ-BRG are both 1
Do not move to 2. If you move to S2, GNT-P
Let CI = 0. On the other hand, in the case of SMI = 1 (# 5), the priority order is normal, so REQ-BRG = 1.
, And if REQ-PCI = 0, then REQ-CP
The S2 state is entered regardless of the value of U. The transition to the S1 state is exactly the same as above.

【0167】なお、バスアービタ70は、ブリッジ回路
39に内蔵させてもよい。
The bus arbiter 70 may be built in the bridge circuit 39.

【0168】6.電源投入又はリセット直後のSMM領
域の変更処理 SMI処理においては、電源投入又はリセット直後、B
IOSにより、SMI処理用プログラムがRAM上のS
MM領域にロードされる。Pentium等では、初期
状態(電源投入又はリセット直後)では、SMI処理プ
ログラムがロードされるSMM領域のアドレスはSMB
ASEのデフォルト値である38000Hに固定されて
いる。この領域は、メインRAM上の領域であるため、
アプリケーションプログラムがロードされない領域にS
MMのアドレス位置を変更する必要がある。但し、別の
メモリデバイスを用意し、38000Hに対応する領域
に裏RAMを設けバンク切替を行えばその必要はない
が、このように別のメモリデバイスを用意することはコ
スト等の面で問題がある。そこで、本実施例では、例え
ばVRAM(AOOOOH〜BFFFFH)領域の中の
64Kバイトの領域にSMMのアドレス位置を変更す
る。このアドレス位置は、通常動作の際には、図21
(A)に示すようにPCIバス23上のVRAMの裏の
領域となって隠れており、従って、アプリケーションプ
ログラムはアクセスすることはできない。これに対し
て、図21(B)に示すように、SMMに移行した際に
は、SMIACT#を受け取ったPCMC11が、VR
AMの領域をRAMの領域に変更する。従って、この領
域(A0000〜B0000)がSMRAMのアドレス
位置になるように設定すれば、アプリケーションプログ
ラムがロードされない領域にSMRAMのアドレス位置
を設定することができ、かつ、RAM上にロードされた
SMI処理用プログラムによりSMI処理を正常に動作
させることが可能となる。このアドレス位置の変更は次
のような手順で行われる。
6. SMM area change processing immediately after power-on or reset In SMI processing, immediately after power-on or reset, B
The SMI processing program is stored in the RAM by the IOS.
It is loaded into the MM area. In Pentium etc., in the initial state (immediately after power-on or reset), the address of the SMM area where the SMI processing program is loaded is SMB.
It is fixed at 38000H which is the default value of ASE. Since this area is on the main RAM,
S in the area where the application program is not loaded
The address location of the MM needs to be changed. However, this is not necessary if another memory device is prepared and a back RAM is provided in the area corresponding to 38000H and bank switching is performed. However, preparing another memory device in this manner causes a problem in terms of cost and the like. is there. Therefore, in this embodiment, for example, the address position of the SMM is changed to a 64 Kbyte area in the VRAM (AOOOOOH to BFFFFH) area. This address position is shown in FIG.
As shown in (A), the area is hidden behind the VRAM on the PCI bus 23, and therefore cannot be accessed by the application program. On the other hand, as shown in FIG. 21B, when transitioning to SMM, the PCMC 11 that receives SMIACT # changes VR
Change the area of AM to the area of RAM. Therefore, if this area (A0000 to B0000) is set so as to be the SMRAM address position, the SMRAM address position can be set in the area where the application program is not loaded, and the SMI processing loaded on the RAM is performed. It becomes possible to operate the SMI process normally by the use program. The change of the address position is performed in the following procedure.

【0169】(1)電源投入又はリセット後、BIOS
がメインRAMの38000HにSMBASEリロケー
ト用のハンドラをロードする。この時、BIOSは、V
RAMをバンク切り替えし、VRAMの裏RAMにSM
Mハンドラをロードする。
(1) BIOS after power-on or reset
Loads the handler for SMBASE relocation to main RAM 38000H. At this time, BIOS is V
Switch the RAM bank, and use SM as the back RAM of VRAM.
Load the M handler.

【0170】(2)次に、ダミーのSMIを発生する。
このダミーのSMIは、SMI発生の要因となる適当な
I/Oライト命令を実行することで発生される。そし
て、このダミーのSMIでは、CPU内のSMBASE
のデフォルト値にしたがって、38000Hにジャンプ
する。そして、上記(1)で38000Hにロードされ
たSMMハンドラによって、SMBASEのリロケーシ
ョン機能を用い、VRAMからSMMが開始されるよう
にSMBASEの設定をRSM時に書き換える。
(2) Next, a dummy SMI is generated.
This dummy SMI is generated by executing an appropriate I / O write instruction that causes SMI to occur. And in this dummy SMI, SMBASE in the CPU
Jump to 38000H according to the default value of. Then, the SMM handler loaded at 38000H in (1) above uses the SMBASE relocation function to rewrite the SMBASE setting at RSM so that the SMM is started from the VRAM.

【0171】(3)その後のSMIは、SMBASEに
設定されたVRAMのアドレスから処理をスタートす
る。VRAM領域には通常VRAMが出ているが、SM
I発生と同時にバンク切り替えが行われ、SMRAMが
現れた状態となる。これによりSMI処理を開始するこ
とが可能となる。
(3) Subsequent SMI starts processing from the VRAM address set in SMBASE. Normally VRAM appears in the VRAM area, but SM
Bank switching is performed at the same time when I occurs, and SMRAM appears. This makes it possible to start the SMI processing.

【0172】上記(2)において、ダミーのSMIを発
生する理由は、SMRAMが設定されるアドレス位置変
更のためには、SMI処理に入り、SMIのSMBAS
Eのリロケーション機能を利用しなければならないから
である。即ち、このアドレス位置変更は、NMIの場合
と異なり、アプリケーションプログラム等がこれを行う
ことはできない。また、アドレス位置変更後は、SMR
AMはVRAMの裏にあるため、SMRAMのデータが
アプリケーションプログラム等により書き換えられるこ
とはない。
In the above (2), the reason why the dummy SMI is generated is that the SMI process is started in order to change the address position where the SMRAM is set, and the SMBAS of the SMI is set.
This is because the relocation function of E must be used. That is, unlike the case of NMI, this address position change cannot be performed by the application program or the like. Also, after changing the address position, SMR
Since the AM is behind the VRAM, the data in the SMRAM will not be rewritten by the application program or the like.

【0173】さて、以上のような手順を踏んだ後、初め
て本来のSMI処理の受付が可能となる。逆に、このよ
うな手順を踏む前に、別のSMI処理が実行されると、
システムが誤動作するおそれがある。そこで、本実施例
では、SMIのマスク機能を持たせ、即ち前述のように
SMIマスク手段29を設けて、このような誤動作が生
じるのを防止している。即ち、電源投入又はリセット
後、本来のSMI処理の正常な受付が可能になるまでの
間、SMIが発生しないように(あるいは要因が設定さ
れないように)、SMIの発生をマスクしている。
The original SMI processing can be accepted only after the above-described steps are taken. On the contrary, if another SMI process is executed before such a procedure is taken,
The system may malfunction. Therefore, in this embodiment, the SMI masking function is provided, that is, the SMI masking means 29 is provided as described above to prevent such malfunction. That is, the generation of SMI is masked so that SMI does not occur (or a factor is not set) after the power is turned on or reset until the normal reception of the original SMI processing becomes possible.

【0174】なお、図21(C)には、NMIによりエ
ミュレート処理を行う場合のメモリマップが示される。
同図に示すようにNMI処理用のプログラムは、BIO
Sの管理下に置かれなければなく、また、アプリケーシ
ョンプログラムがロードされない領域に置かれなければ
ならないため、BIOS領域に格納される。このBIO
S領域は、その領域の大きさも小さく、他のプログラム
が格納されているため、空き領域が少ない。従って、N
MIを使用してエミュレート処理を行おうとすると、そ
れに使用されるプログラムの大きさは限られたものにな
る。これに対して、SMIを使用する場合は、SMI処
理用のプログラムは十分な空き領域を有するSMRAM
上に格納されるため、このような問題は起きず、従って
長いプログラムであっても格納でき、複雑なエミュレー
ト処理も可能となる。また、NMIでは、NMI用の割
り込みベクターが、図21(C)に示すようにメインR
AM上にあり、これがアプリケーションプログラム等に
より自由に書き換えられると、NMI処理開始が不能に
なるという問題がある。これに対して、SMIでは、電
源投入後等には、SMRAMのアドレス位置は3800
0Hに固定されており、また、このアドレス位置を変更
するには、SMI処理に入らなければ不可能である。従
って、アプリケーションプログラム等により、SMRA
M領域のアドレス位置が変更されることもなく、また、
SMRAM領域を図21(A)、(B)に示すようにア
プリケーションプログラム等のアクセスできない領域に
設定できる。この結果、安全性の非常に高いエミュレー
ト処理を実現できる。更に、NMIにおいては、戻りア
ドレスはメインRAM上のスタック領域に置かれ、この
ため、アプリケーションプログラム等によりこの戻りア
ドレスが書き換えられるおそれがある。これに対して、
SMIでは、戻りアドレス及びCPUの内部レジスタの
内容は、SMRAM領域に退避(スタック)され、これ
がアプリケーションプログラム等により書き換えられる
ことがないという利点を持っている。
FIG. 21C shows a memory map when the emulation processing is performed by NMI.
As shown in the figure, the NMI processing program is
It is stored in the BIOS area because it must be placed under the control of S and must be placed in an area where an application program is not loaded. This BIO
The size of the S area is small, and other programs are stored in the S area, so the free area is small. Therefore, N
If an attempt is made to perform emulation processing using MI, the size of the program used for it will be limited. On the other hand, when the SMI is used, the SMI processing program has an SMRAM with sufficient free space.
Since it is stored on the upper side, such a problem does not occur. Therefore, even a long program can be stored and a complicated emulation process can be performed. In the NMI, the interrupt vector for the NMI is the main R as shown in FIG.
If it is on the AM and is freely rewritten by an application program or the like, there is a problem that the NMI processing cannot be started. On the other hand, in SMI, the address position of SMRAM is 3800 after power is turned on.
It is fixed at 0H, and it is impossible to change this address position unless SMI processing is entered. Therefore, depending on the application program etc., SMRA
The address position of the M area is not changed, and
The SMRAM area can be set to an inaccessible area such as an application program as shown in FIGS. As a result, very safe emulation processing can be realized. Further, in the NMI, the return address is placed in the stack area on the main RAM, so that the return address may be rewritten by the application program or the like. On the contrary,
The SMI has an advantage that the return address and the contents of the internal register of the CPU are saved (stacked) in the SMRAM area and are not rewritten by the application program or the like.

【0175】7.その他 PCMC11を第2のコンピュータシステムに混在させ
るにあたり、本実施例のサブコントローラ25は次のよ
うな制御も行っている。例えば、PCMC11はライト
バッファと呼ばれる機能を有している。これは、例えば
CPU1の命令が8ビット幅であり、VRAM33にお
けるデータが32ビット幅であった場合に、このライト
バッファが、CPU1からの命令を例えば4回蓄積し、
この蓄積されたデータを一度にVRAM33に出力する
ための機能である。さて、PCMC11はこのような機
能を有しているが、本実施例では、バスのアービトレー
ションはバスアービタ70により行われている。そし
て、このライトバッファを利用する場合、ライトバッフ
ァに蓄積されたデータが全て排出される前に、バスのア
クセス権が他のデバイスに移行されるのを防止する必要
がある。このため、本実施例では、サブコントローラ2
5により、PCMC11内のライトバッファのデータ排
出を制御し、上記問題を解決している。本実施例では、
この他にも、例えば上限レジスタ、サイドバンド信号等
のPCMC11の機能もサポートし、PCMC11を第
2のコンピュータシステムに混在させた場合の互換性を
維持している。
7. Others When the PCMC 11 is mixed in the second computer system, the sub-controller 25 of this embodiment also performs the following control. For example, the PCMC 11 has a function called a write buffer. This is because, for example, when the instruction of the CPU 1 has an 8-bit width and the data in the VRAM 33 has a 32-bit width, this write buffer accumulates the instruction from the CPU 1 four times,
This is a function for outputting the accumulated data to the VRAM 33 at once. Although the PCMC 11 has such a function, the bus arbitration is performed by the bus arbiter 70 in this embodiment. When using this write buffer, it is necessary to prevent the access right of the bus from being transferred to another device before all the data stored in the write buffer is discharged. Therefore, in this embodiment, the sub controller 2
5, the data discharge of the write buffer in the PCMC 11 is controlled to solve the above problem. In this embodiment,
In addition to this, the functions of the PCMC 11 such as an upper limit register and a sideband signal are also supported, and compatibility is maintained when the PCMC 11 is mixed in the second computer system.

【0176】(第2の実施例)第1の実施例では、第2
のコンピュータシステムに混在させる第1のデバイス制
御手段としてPCMC11を例に取り説明を行った。し
かし、混在させる第1のデバイス制御手段はこれに限ら
れない。例えば、これ以外にも、ブリッジ回路39につ
いても第1のデバイス制御手段、例えばSIO(インテ
ル社製の82378IB)等を使用できる。そして、ブ
リッジ回路39について第1のデバイス制御手段を使用
した場合には、これにともないキーボードコントローラ
48、シリアルコントローラ50等のデバイス制御手段
も、第1のアーキテクチャのものを使用する必要が生じ
る。さて、この第2のコンピュータシステムに第1のデ
バイス制御手段を混在させるエミュレートシステムの考
えを更に発展させるならば、複数互換が可能なハードウ
ェアを実現することが望まれる。複数互換を実現するた
めには、CPUから発行される複数のアーキテクチャの
命令に対して、デバイス制御手段、デバイスが正常に動
作するようにする必要がある。これにより、複数互換の
中の例えばダブル互換を例にとれば、第1のアーキテク
チャに準ずるアプリケーションプログラム及び第2のア
ーキテクチャに準ずるアプリケーションプログラムの双
方を同一のハードウェア上で動作させることが可能とな
る。そして、更に、例えばマイクロソフト社製のMS−
DOS、MS−Windows等のOSについても第
1、第2のアーキテクチャの双方のものを同一のハード
ウェア上で動作させることができる。
(Second Embodiment) In the first embodiment, the second
The PCMC 11 is used as an example of the first device control means to be mixed in the computer system of FIG. However, the first device control unit to be mixed is not limited to this. For example, in addition to this, for the bridge circuit 39, the first device control means, for example, SIO (82378IB manufactured by Intel) can be used. When the first device control means is used for the bridge circuit 39, the device control means such as the keyboard controller 48 and the serial controller 50 need to use the first architecture as well. Now, if the idea of the emulation system in which the first device control means is mixed in the second computer system is further developed, it is desired to realize hardware that is compatible with a plurality of devices. In order to realize multiple compatibility, it is necessary for the device control unit and the device to operate normally in response to instructions of multiple architectures issued from the CPU. Thus, for example, in the case of double compatibility among multiple compatibility, it is possible to operate both the application program conforming to the first architecture and the application program conforming to the second architecture on the same hardware. . Further, for example, MS- manufactured by Microsoft Corporation.
Regarding the OS such as DOS and MS-Windows, both of the first and second architectures can be operated on the same hardware.

【0177】図56(A)〜(C)には、本発明のエミ
ュレートシステムによる複数互換の種々の実現形態が示
される。なお、図56(A)〜(C)では、「第1の
(第2の)アーキテクチャに適合する(適合する)」を
「第1の(第2の)」というように省略して記載してお
り、これにより、「第1のアプリケーションプログラ
ム」という記載は「第1のアーキテクチャに適合するア
プリケーションプログラム」という意味になる。以下の
説明では適宜このような記載の仕方をする。また、図5
6(A)〜(C)には、複数互換の中のダブル互換の例
について示されているが本発明はこれに限られるもので
はなく、本発明によれば3以上のアーキテクチャのアプ
リケーションプログラム、OSを同一のハードウェア上
で動作させることができる。この場合には、図56
(A)における第2のアーキテクチャとは、第1のアー
キテクチャとは異なる複数の第2のアーキテクチャとい
う意味となる。また、図56(B)における第1のアー
キテクチャとは、第2のアーキテクチャとは異なる複数
の第1のアーキテクチャという意味となる。図56
(C)についても同様である。
FIGS. 56 (A) to 56 (C) show various modes of realization that are compatible with each other by the emulation system of the present invention. In FIGS. 56A to 56C, “first (second) architecture compatible” is abbreviated as “first (second)”. Therefore, the description “first application program” means “application program conforming to the first architecture”. In the following description, such a description method is used as appropriate. Also, FIG.
6 (A) to 6 (C) show examples of double compatibility among multiple compatibility, the present invention is not limited to this, and according to the present invention, application programs of three or more architectures, OSes can be operated on the same hardware. In this case, FIG.
The second architecture in (A) means a plurality of second architectures different from the first architecture. Further, the first architecture in FIG. 56B means a plurality of first architectures different from the second architecture. FIG. 56
The same applies to (C).

【0178】例えば、図56(A)は、全ての(あるい
はほとんどの)デバイス制御手段、デバイスが第1のア
ーキテクチャに準ずる場合の例である。この場合に複数
互換を実現するためには、第1のモードの場合、即ち第
1のアプリケーションプログラム、OSにより命令が発
行された場合には、その命令はそのまま第1のデバイス
制御手段、デバイスに伝えられる。一方、第2のモード
の場合、即ち第2のアプリケーションプログラム、OS
により命令が発行された場合には、その命令はエミュレ
ート処理により変換されて第1のデバイス制御手段、デ
バイスに伝えられる。そして、この場合、第1のデバイ
ス制御手段等が市場規模との関係で最新のものが比較的
早期に開発され潤沢に入手できるものであった場合に
は、高性能で安価な情報処理装置を早期に開発すること
が可能となる。また、図56(B)は、全ての(あるい
はほとんどの)デバイス制御手段、デバイスが第2のア
ーキテクチャに準ずる場合の例である。この場合に、複
数互換を実現するためには、図56(A)の場合と逆の
関係になり、第1のモードの時に命令をエミュレート処
理により変換し、第2のモードの時は命令をそのまま第
2のデバイス制御手段、デバイスに伝えればよい。そし
て、この場合は、デバイス制御手段等には第2のアーキ
テクチャのものを用いなければならず、性能、開発期
間、費用等の面で図56(A)の場合に比べて劣る場合
がある。しかし、第2のアプリケーションプログラム、
OSによる命令はエミュレート処理されずにデバイス制
御手段に伝えられるため、第2のアプリケーションプロ
グラム等を中心に動作させる場合には高性能になる場合
も考えられる。従って、例えば第2のアーキテクチャの
ソフトウェア資産をより尊重する立場においては、図5
6(B)に示す構成が望まれる。図56(C)は、第
1、第2のデバイス制御手段、デバイスがハードウェア
上に混在する場合の例である。この場合には、第1のモ
ードの場合は、第1のデバイス制御手段、デバイスには
命令がそのまま伝えられ、第2のデバイス制御手段、デ
バイスにはエミュレートシステムを介して命令が伝えら
れる。そして、第2のモードの場合はこの逆になる。こ
のようなハードウェア構成は、例えば第2の制御手段等
を第1のデバイス制御手段等に置き換える過渡期等にお
いて望ましい形態である。
For example, FIG. 56A shows an example in which all (or most) device control means and devices conform to the first architecture. In this case, in order to realize a plurality of compatibility, in the case of the first mode, that is, when a command is issued by the first application program or OS, the command is directly transmitted to the first device control means or device. Reportedly. On the other hand, in the case of the second mode, that is, the second application program, the OS
When the command is issued by, the command is converted by the emulation process and transmitted to the first device control means and the device. In this case, if the latest device control means and the like were developed relatively early in relation to the market size and were abundantly available, a high-performance and inexpensive information processing device was installed. It becomes possible to develop at an early stage. Further, FIG. 56B is an example of a case where all (or most) device control means and devices conform to the second architecture. In this case, in order to realize multiple compatibility, the relationship is opposite to that in the case of FIG. 56A. In the first mode, the instruction is converted by emulation processing, and in the second mode, the instruction is converted. Should be transmitted to the second device control means and device as it is. In this case, the device control means and the like must use those of the second architecture, which may be inferior to the case of FIG. 56A in terms of performance, development period, cost, and the like. However, the second application program,
Since the instruction by the OS is transmitted to the device control means without being emulated, the performance may be improved when the second application program or the like is mainly operated. Therefore, for example, in the position of more respecting the software assets of the second architecture, as shown in FIG.
The configuration shown in FIG. 6 (B) is desired. FIG. 56C shows an example in which the first and second device control units and devices are mixed on the hardware. In this case, in the case of the first mode, the command is directly transmitted to the first device control unit and the device, and the command is transmitted to the second device control unit and the device via the emulation system. And in the case of the second mode, the opposite is true. Such a hardware configuration is a desirable form, for example, in a transitional period when the second control unit and the like are replaced with the first device control unit and the like.

【0179】以上のように複数互換の実現形態としては
種々の形態が存在するが、以下では、図56(A)の場
合を例にとり説明を行う。また、上記した第1の実施例
では、デバイス制御手段の制御対象がメモリデバイスで
ある場合について主に説明したが、本発明はこれに限ら
ず制御対象がI/Oデバイスである場合にも当然に適用
できる。以下では、デバイス制御手段の制御対象がI/
Oデバイスの場合を中心に説明を行う。さて、前述した
ようにSMIは、本来は、電源制御用の割り込みとして
提供されたものであり、動作スピードの面では問題があ
る。そこで、本実施例では、この動作スピードの問題を
解決すべく、命令の種類に応じて次に述べる4種類の変
換方式を使い分けている。
As described above, there are various modes for realizing a plurality of compatibility, but in the following, the case of FIG. 56 (A) will be described as an example. Further, in the above-described first embodiment, the case where the control target of the device control means is a memory device has been mainly described, but the present invention is not limited to this, and naturally when the control target is an I / O device. Applicable to In the following, the control target of the device control means is I /
The description will be focused on the case of the O device. As described above, the SMI is originally provided as an interrupt for power supply control and has a problem in terms of operation speed. Therefore, in the present embodiment, in order to solve the problem of the operation speed, the following four types of conversion methods are selectively used according to the type of instruction.

【0180】1.第1の変換方式 第1の変換方式は、命令の種類が、I/O書き込み命令
であり処理を高速に行わなければならない命令である場
合に採用される変換方式である。
1. First Conversion Method The first conversion method is a conversion method adopted when the type of instruction is an I / O write instruction and the instruction must be processed at high speed.

【0181】まず、図22のステップA1に示すよう
に、CPUにより第2のアーキテクチャに適合したI/
O書き込み命令が発行されると、ステップA2に示すよ
うにCPUのバスアクセスが終了、禁止される。次に、
ステップA3に示すように本発明の要部であるサブコン
トローラがバスマスターとしてバスを占有する。なお、
この場合のサブコントローラの構成は、上記第1の実施
例におけるサブコントローラと異なるが、その構成の詳
細については後述する。
First, as shown in step A1 of FIG. 22, the I / O adapted to the second architecture is executed by the CPU.
When the O write command is issued, the bus access of the CPU is terminated and prohibited as shown in step A2. next,
As shown in step A3, the sub-controller, which is the main part of the present invention, occupies the bus as the bus master. In addition,
The configuration of the sub-controller in this case is different from that of the sub-controller in the first embodiment, but the details of the configuration will be described later.

【0182】次に、ステップA4に示すように、サブコ
ントローラにより、変換されたI/O書き込み命令が実
行される。この場合のI/O書き込み命令の変換は例え
ばサブコントローラに内蔵された命令変換手段により行
われる。具体的には、この命令変換手段が、CPUによ
り発行されたI/O書き込み命令(I/Oアドレス、デ
ータ、バスイネーブル等)を格納(ラッチ)し、この格
納したI/O書き込み命令を第1のアーキテクチャに適
合するように変換する。そして、この変換されたI/O
書き込み命令が第1のアーキテクチャのデバイス制御手
段、デバイスに発行させることになる。
Next, as shown in step A4, the sub controller executes the converted I / O write command. In this case, the conversion of the I / O write command is performed by, for example, a command conversion unit built in the sub controller. Specifically, the instruction converting means stores (latches) an I / O write instruction (I / O address, data, bus enable, etc.) issued by the CPU, and stores the stored I / O write instruction as a first instruction. Convert to fit the architecture of 1. And this converted I / O
A write command will be issued to the device control means, device of the first architecture.

【0183】なお、第1のアーキテクチャと第2のアー
キテクチャとではI/O命令の形態が異なっており、1
回のI/O命令では、エミュレート処理を完全に終了で
きない場合がある。例えば、第2のアーキテクチャでは
1つのI/O(ポート)アドレスに割り当てられるI/
O命令が、第1のアーキテクチャでは2つのI/Oアド
レスに割り当てられている場合がある。このような場合
には、ステップA4に示すようにして、1又は複数回の
I/O書き込み命令(又はI/O読み出し命令)が実行
されることになる。最後に、ステップA6に示すように
バスが解放され、I/O書き込みが終了する。
The first and second architectures differ in the form of I / O instructions.
The emulation process may not be completed completely with the I / O instruction of the number of times. For example, in the second architecture, I / O assigned to one I / O (port) address
The O instruction may be assigned to two I / O addresses in the first architecture. In such a case, as shown in step A4, the I / O write command (or I / O read command) is executed one or more times. Finally, as shown in step A6, the bus is released and the I / O writing ends.

【0184】このように第1の変換方式によれば、CP
Uから発行された第2のアーキテクチャに適合したI/
O書き込み命令を第1のアーキテクチャに適合するよう
に変換して命令の対象となるデバイス制御手段、デバイ
スに発行することが可能となる。そして、この方式にお
けるエミュレート処理はハードウェア回路により行われ
るため、高速性が要求される処理に最適なものとなる。
As described above, according to the first conversion method, the CP
I / I adapted from the second architecture issued by U
It becomes possible to convert the O write instruction so as to conform to the first architecture and issue it to the device control unit or device which is the object of the instruction. Since the emulation processing in this method is performed by the hardware circuit, it is most suitable for the processing that requires high speed.

【0185】2.第2の変換方式 第2の変換方式は、命令の種類が、I/O書き込み命令
であり、例えばI/O読み出し命令が更に必要である等
の処理が複雑な場合に採用される変換方式である。この
ような場合には、第1の変換方式によるとサブコントロ
ーラ等の回路が大規模化、複雑化してしまうため、図2
3に示すようなSMI処理を用いた第2の変換方式を採
用する。まず、ステップB1に示すように、CPUによ
り第2のアーキテクチャに適合したI/O書き込み命令
が発行されると、ステップB2に示すように、このI/
O書き込み命令(I/Oアドレス、I/Oデータ、バス
イネーブル等)が格納(ラッチ)される。また、ステッ
プB3に示すようにサブコントローラによりSMI信号
が発生され、ステップB5以降のSMI処理が開始され
る。なお、この場合のSMI信号の発生は、CPUが次
のI/O命令サイクルに移行する前に行われる。次に、
ステップB6では、格納されたI/O書き込み命令が解
析される。そして、この解析結果に基づいた所定の処
理、即ち変換されたI/O書き込み命令の実行(ステッ
プB8)、あるいは、場合によってはI/O読み出し命
令の実行(ステップB7)等の処理が行われる。その
後、ステップB9のRSM命令によりSMI処理を終了
する。
2. Second conversion method The second conversion method is a conversion method adopted when the type of the instruction is an I / O write instruction and the processing is complicated, for example, an I / O read instruction is further required. is there. In such a case, according to the first conversion method, the circuit such as the sub-controller becomes large-scaled and complicated.
A second conversion method using SMI processing as shown in 3 is adopted. First, as shown in step B1, when the CPU issues an I / O write instruction conforming to the second architecture, as shown in step B2, this I / O write instruction is issued.
An O write command (I / O address, I / O data, bus enable, etc.) is stored (latched). Further, as shown in step B3, an SMI signal is generated by the sub-controller, and the SMI processing from step B5 is started. The generation of the SMI signal in this case is performed before the CPU shifts to the next I / O instruction cycle. next,
At step B6, the stored I / O write command is analyzed. Then, a predetermined process based on the analysis result, that is, a process of executing the converted I / O write command (step B8) or a process of executing an I / O read command (step B7) is performed. . Then, the SMI processing is ended by the RSM instruction in step B9.

【0186】このように第2の変換方式によれば、I/
O命令に応じた処理が、独自の命令体系で動作するSM
Mハンドラにより実行される。従って、第1、第2のア
ーキテクチャ間でのI/O命令の変換が複雑である場合
等に有効な変換方式となる。 3.第3の変換方式 第3の変換方式は、命令の種類が、I/O読み出し命令
であり処理を高速に行わなければならない命令である場
合に採用される変換方式である。まず、図23のステッ
プC1に示すように、CPUにより第2のアーキテクチ
ャに適合したI/O読み出し命令が発行されると、ステ
ップC2に示すようにCPUのI/O読み出し処理が中
断される。この中断は、例えばバスがPCIバスの場合
にはリトライ処理を行うことにより、また、例えばVL
バスと呼ばれるローカルバスの場合には、CPUのBa
ckoff端子の入力信号をアサートすることにより行
われる。次に、ステップC3に示すようにサブコントロ
ーラがバスを占有する。その後、ステップC4に示すよ
うに、第1のアーキテクチャに適合されるように変換さ
れたI/O読み出し命令が実行され、この命令により読
み出されたデータが所定の格納手段に格納される。この
場合、ステップC5に示すように、場合によっては1又
は複数回のI/O読み出し(又は書き込み)命令が実行
される。なお、ステップC4(又はC5)で実行される
I/O読み出し命令は、CPUにより発行されたI/O
命令(I/Oアドレス、バスイネーブル)を格納(ラッ
チ)し、この格納したI/O読み出し命令を第1のアー
キテクチャに適合するように変換したものである。次
に、ステップC6に示すようにバスが解放された後、ス
テップC7に示すようにCPUのI/O読み出し処理が
再実行される。そして、このCPUの処理の再実行の際
に、ステップC8に示すように、ステップC4にて格納
されたデータがCPU(バス)に出力される。これによ
りCPUは正常に読み出し動作を終了することができ
る。
As described above, according to the second conversion method, I /
SM in which processing according to O command operates with its own command system
It is executed by the M handler. Therefore, the conversion method is effective when the conversion of I / O instructions between the first and second architectures is complicated. 3. Third Conversion Method The third conversion method is a conversion method that is adopted when the type of the instruction is an I / O read instruction and the instruction must be processed at high speed. First, as shown in step C1 of FIG. 23, when the CPU issues an I / O read instruction conforming to the second architecture, the CPU's I / O read processing is interrupted as shown in step C2. This interruption is performed, for example, by performing a retry process when the bus is a PCI bus,
In the case of a local bus called a bus, Ba of the CPU
This is done by asserting the input signal of the ckoff terminal. Next, the sub-controller occupies the bus as shown in step C3. Then, as shown in step C4, the I / O read command converted so as to conform to the first architecture is executed, and the data read by this command is stored in a predetermined storage means. In this case, as shown in step C5, the I / O read (or write) command is executed once or plural times in some cases. The I / O read command executed in step C4 (or C5) is the I / O issued by the CPU.
The instruction (I / O address, bus enable) is stored (latched), and the stored I / O read instruction is converted to conform to the first architecture. Next, after the bus is released as shown in step C6, the CPU I / O read processing is re-executed as shown in step C7. Then, when the processing of the CPU is re-executed, as shown in step C8, the data stored in step C4 is output to the CPU (bus). As a result, the CPU can normally finish the read operation.

【0187】このように第3の変換方式によれば、CP
Uから発行されたI/O読み出し命令を変換して命令の
対象となるデバイス制御手段、デバイスに発行すると共
に、この変換されたI/O命令により読み出されたデー
タをCPUが正常に読み出すことが可能となる。そし
て、この方式におけるエミュレート処理は第1の変換方
式と同様にハードウェア回路により行われるため、高速
性が要求される処理に最適なものとなる。
According to the third conversion method, the CP
The I / O read command issued by the U is converted and issued to the device control unit or device that is the target of the command, and the CPU normally reads the data read by the converted I / O command. Is possible. Since the emulation processing in this method is performed by the hardware circuit as in the first conversion method, it is most suitable for the processing requiring high speed.

【0188】4.第4の変換方式 第4の変換方式は、命令の種類が、I/O読み出し命令
であり、この読み出し命令による処理が大変複雑である
場合に採用される変換方式である。図25のステップD
1〜D3に示すように、第2のアーキテクチャに適合し
たI/O読み出し命令が発行されると、このI/O読み
出し命令(I/Oアドレス、バスイネーブル等)が格納
されると共に、サブコントローラによりSMI信号が発
生される。これによりステップD5以降のSMI処理が
開始される。
4. Fourth Conversion Method The fourth conversion method is the conversion method adopted when the type of instruction is an I / O read instruction and the processing by this read instruction is very complicated. Step D of FIG. 25
1 to D3, when an I / O read command conforming to the second architecture is issued, this I / O read command (I / O address, bus enable, etc.) is stored and the sub-controller Generates an SMI signal. As a result, the SMI processing after step D5 is started.

【0189】次に、ステップD6〜D8に示すように、
格納された命令が解析され、この解析結果に基づいた所
定の処理、即ち変換されたI/O読み出し命令の実行、
あるいは、場合によっては複数回のI/O読み出し命令
の実行が行われる。次に、ステップD9に示すように、
I/O読み出し命令により読み出されたデータが、SM
RAM上のステート・セーブ領域にセーブ(スタック)
される。そして、ステップD10に示すようにRSMが
発行されると、このステート・セーブ領域に格納された
データが、CPUの内部レジスタにリストアされる共
に、SMI処理が終了する。
Next, as shown in steps D6 to D8,
The stored instruction is analyzed, and predetermined processing based on the analysis result, that is, execution of the converted I / O read instruction,
Alternatively, in some cases, the I / O read instruction is executed a plurality of times. Then, as shown in step D9,
The data read by the I / O read command is SM
Save to the state save area in RAM (stack)
To be done. Then, when the RSM is issued as shown in step D10, the data stored in the state save area is restored to the internal register of the CPU, and the SMI processing is completed.

【0190】このように第4の変換方式によれば、I/
O命令に応じた処理がSMMハンドラにより実行される
ため、変換処理が複雑である場合等に有効な変換方式と
なる。更に、第4の変換方式では、読み出されたデータ
をステート・セーブ領域にセーブすることで、読み出さ
れたデータを自動的にCPUの内部レジスタにリストア
することが可能となるため、処理が単純化される。即
ち、第4の変換方式では、ステップD3でSMIが発生
された後、ステップD4でCPUによるI/O読み出し
処理が一応終了する。このことは、CPUが何等かのデ
ータ、例えばバス上の不定のデータを読み込むことを意
味する。そして、SMI処理に入ると、この不定のデー
タが前述のようにSMRAM上のステートセーブ領域に
セーブされる。その後、ステップD5〜D8に示す所定
の処理により正常に読み出されたデータが、ステップD
9に示すようにしてステートセーブ領域にセーブされ
る。これにより、ステートセーブ領域にセーブされてい
た不定のデータが書き換えられ、正常な読み出しデータ
がステートセーブ領域にセーブされることになる。そし
て、ステップD10でRSMが発行されると、ステート
セーブ領域にセーブされた正常な読み出しデータが、前
述のようにCPUの内部レジスタにリストアされる。こ
れにより、CPUに対して、ステップD1〜D4の処理
であたかも正常な読み出し処理を行ったように認識させ
ることが可能となる。
As described above, according to the fourth conversion method, I /
Since the processing corresponding to the O instruction is executed by the SMM handler, the conversion method is effective when the conversion processing is complicated. Further, in the fourth conversion method, the read data can be automatically restored in the internal register of the CPU by saving the read data in the state save area. To be simplified. That is, in the fourth conversion method, after the SMI is generated in step D3, the I / O read processing by the CPU is temporarily ended in step D4. This means that the CPU reads some data, for example, undefined data on the bus. Then, when the SMI process is started, the undefined data is saved in the state save area on the SMRAM as described above. After that, the data normally read by the predetermined processing shown in steps D5 to D8 is
It is saved in the state save area as shown in 9. As a result, the indefinite data saved in the state save area is rewritten, and normal read data is saved in the state save area. When the RSM is issued in step D10, the normal read data saved in the state save area is restored in the internal register of the CPU as described above. This allows the CPU to recognize that the process of steps D1 to D4 is a normal read process.

【0191】図26は、本第2の実施例のハードウェア
を説明するブロック図である。
FIG. 26 is a block diagram for explaining the hardware of the second embodiment.

【0192】本第2の実施例のサブコントローラ100
は、命令変換手段104、バスアービタ970、SMI
発生手段927、SMIステータス928、SMIマス
ク手段929、I/O受付手段930、PCIバスイン
ターフェース971、リセット検出手段973、スピー
ド切替検出手段974、電源断検出手段975、表示切
替検出手段976を含んでおり、命令変換手段104が
設けられた以外は、第1の実施例とほぼ同様の構成とな
っている。
Sub-controller 100 of the second embodiment
Is an instruction conversion unit 104, a bus arbiter 970, an SMI.
Including generation means 927, SMI status 928, SMI mask means 929, I / O reception means 930, PCI bus interface 971, reset detection means 973, speed switching detection means 974, power failure detection means 975, and display switching detection means 976. However, the configuration is almost the same as that of the first embodiment except that the instruction converting means 104 is provided.

【0193】なお、CPU1より発行された命令に対し
て、上記の第1〜4変換方式の中のいずれの変換方式を
採用するか否かの判断は、I/O受付手段930で命令
を受け付け、この受け付けられた命令の種類を判断する
ことにより行われる。また、命令変換手段104では、
CPU1からのI/O命令を第1のアーキテクチャに適
合した命令に変換する等の処理が行われる。更に、バス
アービタ970では、PCIバス23へのアクセス権の
決定処理(アービトレーション)が行われる。PCIバ
ス23上には、AD0〜31、C/BE0〜3、FRA
ME、TRDY、IRDY、STOP、DEVSEL等
の信号が流れる。そして、タイミング回路902を内蔵
するI/O受付手段930は、これらの信号(FRAM
E、TRDY、STOP、DEVSEL信号等)を生成
したり、命令変換手段へのタイミング信号を生成したり
する機能を有する。
It should be noted that the I / O accepting means 930 accepts an instruction to determine which conversion method among the first to fourth conversion methods is to be adopted for the instruction issued by the CPU 1. , By judging the type of the accepted instruction. Further, in the instruction converting means 104,
Processing such as converting an I / O instruction from the CPU 1 into an instruction conforming to the first architecture is performed. Further, in the bus arbiter 970, a process (arbitration) of determining an access right to the PCI bus 23 is performed. On the PCI bus 23, AD0-31, C / BE0-3, FRA
Signals such as ME, TRDY, IRDY, STOP, and DEVSEL flow. Then, the I / O receiving means 930 having the timing circuit 902 built therein receives these signals (FRAM).
E, TRDY, STOP, DEVSEL signals, etc.) and a timing signal to the instruction conversion means.

【0194】次に、これらのPCIバス23上を流れる
信号の意味について説明する。AD0〜31(32ビッ
ト)信号のラインには多重化されたアドレス信号、デー
タ信号が流れ、アドレスフェイズではアドレス信号が、
データフェイズではデータ信号が流れる。PCIバス2
3においては、アドレス信号の転送は、アクセス開始後
の最初のフェイズであるアドレスフェイズにおいて行わ
れる。また、データ信号の転送はこのアドレスフェイズ
に続くデータフェイズにおいて行われる。C/BE0〜
3(4ビット)信号はバスコマンド/バイト・イネーブ
ル信号という意味であり、この信号のラインにはアドレ
スフェーズではバスコマンド信号が、データフェーズで
はバイトイネーブル信号が流れる。ここで、バスコマン
ド信号はAD0〜31に流れるアドレス信号の種類を表
す信号である。即ち、このバスコマンド信号に基づい
て、アドレス信号がI/O書き込み命令(以下I/Oラ
イトと呼ぶ)なのか、I/O読み出し命令(以下I/O
リードと呼ぶ)なのか、メモリリード、メモリライトな
のか等を判断することができる。一方、バイトイネーブ
ル信号は、AD0〜31に流れるデータ信号の中で、ど
のバイト・レーンが有効なデータを運ぶのかを決定する
信号である。FRAME、TRDY、IRDY、STO
P、DEVSELは双方向の信号である。FRAME信
号は、アクセスの開始とその期間とを示す信号である。
また、TRDY信号はターゲットがレディ状態となった
ことを示す信号であり、IRDY信号はバスマスタ(イ
ニシエータ)がレディ状態となったことを示す信号であ
る。なお、PCIバス23上にけるデータ転送では、一
方がバスマスターとなって他方のターゲットとの間でデ
ータ転送を行うことになる。また、STOP信号は、現
在のターゲットがバスマスタに対して現在の処理を停止
することを要求する信号である。更に、DEVSEL信
号は、デバイスが選択されたことを示す信号であり、タ
ーゲットとして選択されたデバイスが、このDEVSE
L信号をアサートする。
Next, the meaning of the signals flowing on the PCI bus 23 will be described. A multiplexed address signal and data signal flow in the AD0-31 (32-bit) signal line, and in the address phase, the address signal
A data signal flows in the data phase. PCI bus 2
In 3, the transfer of the address signal is performed in the address phase, which is the first phase after the start of access. The data signal is transferred in the data phase following the address phase. C / BE0
The 3 (4 bit) signal means a bus command / byte enable signal, and the bus command signal flows in the address phase and the byte enable signal flows in the data phase on the line of this signal. Here, the bus command signal is a signal indicating the type of address signal flowing through AD0-31. That is, based on this bus command signal, whether the address signal is an I / O write command (hereinafter referred to as I / O write) or an I / O read command (hereinafter referred to as I / O write).
It is possible to judge whether it is a read), a memory read, or a memory write. On the other hand, the byte enable signal is a signal that determines which byte lane carries valid data among the data signals flowing to AD0-31. FRAME, TRDY, IRDY, STO
P and DEVSEL are bidirectional signals. The FRAME signal is a signal indicating the start of access and its period.
The TRDY signal is a signal indicating that the target is ready, and the IRDY signal is a signal indicating that the bus master (initiator) is ready. In the data transfer on the PCI bus 23, one becomes the bus master and the data is transferred to the other target. The STOP signal is a signal that the current target requests the bus master to stop the current processing. Further, the DEVSEL signal is a signal indicating that a device has been selected, and the device selected as the target is the DEVSE signal.
Assert the L signal.

【0195】図27には、サブコントローラ100内の
詳細なブロック図が示される。図27において、BEラ
ッチレジスタ(R−Be)128は、C/BE0〜3か
ら入力されるバイトイネーブル信号、バスコマンド信号
をラッチするものである。また、アドレスラッチ13
0、アドレスラッチレジスタ(R−Adr)132は、
AD0〜31から入力されるアドレス信号をラッチする
ものである。ラッチされたアドレス信号はアドレス変換
部124により第1のアーキテクチャに適合するように
変換されて、変換アドレスラッチ134にラッチされ
る。また、同様に、データラッチレジスタ(R−Dat
a)136は、AD0〜31から入力されるデータ信号
をラッチするものである。ラッチされたデータ信号はデ
ータ変換部126により変換されて、変換データラッチ
138にラッチされる。なお、アドレス信号をラッチす
るものとして、アドレスラッチ130とアドレスラッチ
レジスタ132とを2つ設けたのは以下の理由による。
即ち、PCIバス23上では、アドレス信号が有効にな
るのは1クロック期間内だけである。従って、有効とな
ったアドレス信号をアドレスラッチ130により毎回ラ
ッチしておけば、アドレス信号をデコードするのに時間
を要する場合にも、余裕をもってデコード動作を行うこ
とが可能となるからである。
FIG. 27 is a detailed block diagram of the sub controller 100. In FIG. 27, a BE latch register (R-Be) 128 latches a byte enable signal and a bus command signal input from C / BE0-3. In addition, the address latch 13
0, the address latch register (R-Adr) 132,
The address signals input from AD0 to 31 are latched. The latched address signal is converted by the address conversion unit 124 so as to be compatible with the first architecture, and is latched in the converted address latch 134. Similarly, the data latch register (R-Dat
a) 136 is for latching the data signals input from AD0-31. The latched data signal is converted by the data conversion unit 126 and latched by the conversion data latch 138. Two address latches 130 and one address latch register 132 are provided to latch the address signal for the following reason.
That is, on the PCI bus 23, the address signal becomes valid only within one clock period. Therefore, if the valid address signal is latched by the address latch 130 every time, even if it takes time to decode the address signal, the decoding operation can be performed with a margin.

【0196】デコーダ120では、C/BE0〜3(バ
スコマンド)信号とアドレス信号とがデコードされ、入
力されたI/O命令がSMIによる変換方式を用いるも
のか否かが判別される。即ち、CPU1から発行された
I/O命令が、上記第1、第3の変換方式と上記第2、
第4の変換方式のどちらを用いるものかが判別される。
そして、デコーダ120は、この判別結果に基づいて、
I/O命令変換処理等の一連のシーケンスをスタートす
るためのシーケンススタート信号160をI/O受付手
段930に対して出力する。例えば、30HへのI/O
ライト、I/Oリードを変換するためのシーケンススタ
ート信号160として、各々ST30W、ST30R等
の信号がI/O受付手段930に出力される。なお、シ
ーケンススタート信号160等のタイミング形成のため
に、デコーダ120にはFRAME信号も入力されてい
る。また、デコーダ120では、アドレス変換部12
4、データ変換部126をコントロールするためのコン
トロール信号162の生成も行われる。即ち、アドレス
変換部124、データ変換部126は、I/O命令(ア
ドレス)により変換の方法や変換の有無が決まる。そこ
で、デコーダ120では、C/BE0〜3信号とアドレ
ス信号とがデコードされ、これらの変換回路のコントロ
ール信号162が生成される。また、デコーダ120で
は、アドレス信号とC/BE0〜3信号とのデコードに
よりCSX0〜2信号の生成も行われる。これらのCS
X0〜2信号は、各々、BEラッチレジスタ128、ア
ドレスラッチレジスタ132、データラッチレジスタ1
36に対するチップセレクト信号であり、CSX0信号
はOR回路142を介してスリーステートバッファ14
0に、また、CSX1、CSX2信号はスリーステート
バッファ144、148に入力される。そして、CSX
0信号をアサートすることにより、SMI発生時のバイ
トイネーブルとバスコマンドの状態を、BEラッチレジ
スタ128からCPU1が読み出すことが可能となる。
また、同様にCSX1、CSX2信号をアサートするこ
とにより、SMI発生時のアドレス信号、データ信号の
状態を、アドレスラッチレジスタ132、データラッチ
レジスタ136からCPU1が読み出すことが可能とな
る。
The decoder 120 decodes the C / BE0 to 3 (bus command) signals and the address signal, and determines whether or not the input I / O instruction uses the SMI conversion method. That is, the I / O command issued from the CPU 1 is the same as the first and third conversion methods and the second and third conversion methods.
It is determined which of the fourth conversion methods is used.
Then, the decoder 120, based on this determination result,
A sequence start signal 160 for starting a series of sequences such as I / O command conversion processing is output to the I / O receiving means 930. For example, I / O to 30H
As the sequence start signal 160 for converting write and I / O read, signals such as ST30W and ST30R are output to the I / O receiving means 930. The FRAME signal is also input to the decoder 120 to form the timing of the sequence start signal 160 and the like. In the decoder 120, the address conversion unit 12
4. The control signal 162 for controlling the data conversion unit 126 is also generated. That is, in the address conversion unit 124 and the data conversion unit 126, the conversion method and the presence / absence of conversion are determined by the I / O instruction (address). Therefore, the decoder 120 decodes the C / BE0 to 3 signals and the address signal, and generates the control signal 162 of these conversion circuits. The decoder 120 also generates CSX0 to 2 signals by decoding the address signal and the C / BE0 to 3 signals. These CS
Signals X0 to 2 are BE latch register 128, address latch register 132, and data latch register 1 respectively.
The CSX0 signal, which is a chip select signal for 36, is sent to the three-state buffer 14 via the OR circuit 142.
0 and the CSX1 and CSX2 signals are input to the three-state buffers 144 and 148. And CSX
By asserting the 0 signal, the CPU 1 can read the status of the byte enable and the bus command when the SMI occurs from the BE latch register 128.
Similarly, by asserting the CSX1 and CSX2 signals, the CPU 1 can read the states of the address signal and the data signal when the SMI occurs from the address latch register 132 and the data latch register 136.

【0197】出力イネーブル信号164は、サブコント
ローラ100がバスマスターとなってPCIバス23を
駆動するときに、スリーステートバッファ140、14
6、150、152、154をイネーブルするための信
号である。出力イネーブル信号164をアサートするこ
とにより、BEラッチレジスタ128、変換アドレスラ
ッチ134、変換データラッチ138にラッチされたバ
イトイネーブル(バスコマンド)信号、変換後のアドレ
ス信号、データ信号が、PCIバス23上に出力され
る。また、出力イネーブル信号164をアサートするこ
とにより、I/O受付手段930により生成されたC/
BE0〜3信号、FRAME信号等がPCIバス23上
に出力される。
The output enable signal 164 is supplied to the three-state buffers 140 and 14 when the sub controller 100 becomes the bus master and drives the PCI bus 23.
This is a signal for enabling 6, 150, 152, 154. By asserting the output enable signal 164, the byte enable (bus command) signal latched in the BE latch register 128, the conversion address latch 134, and the conversion data latch 138, the converted address signal, and the data signal are transferred to the PCI bus 23. Is output to. Further, by asserting the output enable signal 164, the C / C generated by the I / O reception unit 930 is generated.
The BE0-3 signals, the FRAME signal, etc. are output to the PCI bus 23.

【0198】I/O受付手段930は、内蔵するタイミ
ング回路902により、デコーダ120からのシーケン
ススタート信号160をトリガーにしてTRDY、DE
VSEL、STOP、FRAME等の信号を生成する。
また、CPU1からのI/O命令を受け付け、要因を解
析し、SMIステータス928中の要因レジスタに要因
をセットするとともに、SMI発生手段927によりS
MI信号をCPU1に出力する。これにより、SMMハ
ンドラ(実行手段)26が起動し、所定のSMI処理が
行われる。但し、I/O命令がSMI処理を必要としな
いものである場合には(上記変換方式1、3の場合)、
SMI信号は発生されない。また、I/O受付手段93
0は、信号166を生成しアドレス変換部124に出力
し、これにより、アドレス変換が1つのI/O命令に対
して複数回必要な場合の制御も行っている。更に、I/
O受付手段930は、内蔵するタイミング回路902に
より、変換手段104内の各ラッチのラッチ信号の生成
も行っている。なお、I/O受付手段930(タイミン
グ回路902)における各信号の生成は複雑であるが、
例えばマイクロコード等を利用した論理演算手段により
実現できる。
The I / O receiving means 930 uses the built-in timing circuit 902 to trigger the sequence start signal 160 from the decoder 120 to trigger TRDY, DE.
It generates signals such as VSEL, STOP, and FRAME.
Further, the I / O command from the CPU 1 is accepted, the cause is analyzed, the cause is set in the cause register in the SMI status 928, and the SMI generating means 927 causes the S
The MI signal is output to the CPU 1. As a result, the SMM handler (execution means) 26 is activated, and predetermined SMI processing is performed. However, if the I / O instruction does not require SMI processing (in the case of the above conversion methods 1 and 3),
No SMI signal is generated. Also, the I / O reception means 93
0 generates a signal 166 and outputs it to the address conversion unit 124, which also performs control when address conversion is required a plurality of times for one I / O instruction. Furthermore, I /
The O reception means 930 also generates a latch signal of each latch in the conversion means 104 by the built-in timing circuit 902. Note that the generation of each signal in the I / O reception unit 930 (timing circuit 902) is complicated,
For example, it can be realized by a logical operation means using microcode or the like.

【0199】バスアービタ970の入力であるREQ−
PCI、REQ−BRG、REQ−CPU信号は、各
々、HDD37、I/Oブリッジ39、メモリコントロ
ーラ11(CPU1)がPCIバス23を使用したいこ
とを示す信号である。また、バスアービタ970の出力
であるGNT−PCI、GNT−BRG、GNT−CP
U信号は、各々、PCIバス23上のバスマスタ、I/
Oブリッジ39、メモリコントローラ11(CPU1)
に対してバスへのアクセスが許可されていることを示す
信号である。
REQ- which is an input of the bus arbiter 970
The PCI, REQ-BRG, and REQ-CPU signals are signals indicating that the HDD 37, the I / O bridge 39, and the memory controller 11 (CPU 1) want to use the PCI bus 23, respectively. Also, the output of the bus arbiter 970 is GNT-PCI, GNT-BRG, GNT-CP.
The U signal is a bus master on the PCI bus 23, and I /
O bridge 39, memory controller 11 (CPU1)
Is a signal indicating that access to the bus is permitted.

【0200】図28には、このバスアービタ970の回
路構成の一例が示される。図28において、バスアービ
タ970は、DFF170〜180、AND回路182
〜190、NOR回路192、インバータ回路194〜
197を含んでいる。そして、PCIバス23上のエー
ジェントからのリクエスト信号であるREQ−PCI、
REQ−CPU、REQ−BRG信号は、PCICLK
(PCIバス23上の基準クロック)により駆動される
DFF170〜174に入力され、保持される。また、
PCIバス23上のエージェントへのバスアクセス許可
信号であるGNT−PCI、GNT−CPU、GNT−
BRG信号は、DFF176〜180により保持され
る。そして、論理回路182〜197により、これらの
信号の間での優先順位が決められている。例えば、図2
8に示す例では、REQ−PCIの優先順位が高くRE
Q−BRGの優先順位が低く設定されている。なお、バ
スアービタ970における優先順位は任意に設定でき
る。
FIG. 28 shows an example of the circuit configuration of the bus arbiter 970. 28, the bus arbiter 970 includes DFFs 170 to 180 and an AND circuit 182.
-190, NOR circuit 192, inverter circuit 194-
197 are included. Then, REQ-PCI, which is a request signal from the agent on the PCI bus 23,
REQ-CPU and REQ-BRG signals are PCICLK
It is input to and held by the DFFs 170 to 174 driven by (the reference clock on the PCI bus 23). Also,
GNT-PCI, GNT-CPU, GNT- which are bus access permission signals to agents on the PCI bus 23.
The BRG signal is held by the DFFs 176 to 180. Then, the logic circuits 182 to 197 determine priorities among these signals. For example, in FIG.
In the example shown in FIG. 8, REQ-PCI has a high priority and RE is
The priority of Q-BRG is set low. The priority order in the bus arbiter 970 can be set arbitrarily.

【0201】以上の構成の本第2の実施例により、上記
の第1〜第4の変換方式を実現できる。具体的に各デバ
イス制御手段、デバイスに対して発行された命令に対し
て、どのようにして命令変換を行うかについては以下に
述べる第3〜第5の実施例により説明する。 (第3の実施例)第3の実施例は、I/OデバイスがR
S232Cインターフェイス52(以下、単にRS23
2Cと呼ぶ)でありデバイス制御手段がシリアルコント
ローラ50である場合の実施例である。この場合には、
第1のアーキテクチャで使用されるシリアルコントロー
ラ、例えばナショナルセミコンダクタ社製のNS165
50Aを、第2のアーキテクチャのI/O命令により動
作するようにエミュレーションする必要がある。さて、
第2のアーキテクチャではシリアルコントローラとして
例えばインテル社製の8251Aを使用している。図2
9(A)、(B)には、NS16550Aと8251A
に内蔵されるレジスタの種類と、これらのレジスタのI
/O(ポート)アドレスが示される。図29(A)、
(B)に示すように、NS1650Aと8251Aとで
は、I/Oアドレス及びビットの配置が異なっている。
特に、8251Aでは、コマンドレジスタ(モードレジ
スタ)とステータスレジスタとが1つのI/Oアドレス
32Hに配置されるのに対して、NS16550Aで
は、複数のI/Oアドレス3F9H〜3FEHに配置さ
れている。従って、このように構成の異なるレジスタを
持つ第1のアーキテクチャのシリアルコントローラ(N
S16550A)を、如何にして第2のアーキテクチャ
に適合させるかが課題となる。
According to the second embodiment having the above configuration, the above first to fourth conversion methods can be realized. How to perform the instruction conversion for each device control means and the instruction issued to the device will be described in detail in the third to fifth embodiments described below. (Third Embodiment) In the third embodiment, the I / O device is R
S232C interface 52 (hereinafter, simply RS23
2C) and the device control means is the serial controller 50. In this case,
Serial controller used in the first architecture, eg NS165 from National Semiconductor
50A needs to be emulated to operate with the second architecture I / O instructions. Now,
The second architecture uses, for example, the Intel 8251A as a serial controller. Figure 2
9 (A) and (B) have NS16550A and 8251A
Types of registers that are built in and I of these registers
/ O (port) address is indicated. FIG. 29 (A),
As shown in (B), the NS1650A and the 8251A have different I / O addresses and bit arrangements.
Particularly, in the 8251A, the command register (mode register) and the status register are arranged in one I / O address 32H, whereas in the NS16550A, they are arranged in a plurality of I / O addresses 3F9H to 3FEH. Therefore, the first architecture serial controller (N
The problem is how to adapt S16550A) to the second architecture.

【0202】1.RS232Cへのデータ送信のエミュ
レーション シリアルコントローラ50は、CPU1から入力された
パラレルデータをシリアルデータに変換しRS232C
を介して外部装置にデータ送信を行う、あるいは、RS
232Cにから入力されたシリアルデータをパラレルデ
ータに変換しCPU1へのデータ受信を行うという2つ
の機能を有する。ここでは、上記のデータ送信について
のエミュレーションについて説明する。送信バッファレ
ジスタのI/Oアドレスは、図29(A)、(B)に示
すように、8251Aが30Hであるのに対しNS16
550Aが3F8H(DLAB=0)であり異なってい
る。しかし、送信バッファレジスタの各ビットのもつ意
味(機能)は同じであり、RS232Cは規格化されて
いるため、書き込みI/Oアドレスの変換を行うだけで
よい。また、送信データの書き込み処理は高速に行う必
要があるため、本第3の実施例では図22に示す第1の
変換方式を採用する。
1. Emulation of data transmission to RS232C The serial controller 50 converts parallel data input from the CPU 1 into serial data, and RS232C
Data is transmitted to an external device via the
It has two functions of converting serial data input from the 232C to parallel data and receiving the data to the CPU 1. Here, the emulation for the above data transmission will be described. The I / O address of the transmission buffer register is 30H for the 8251A as shown in FIGS.
550A is 3F8H (DLAB = 0), which is different. However, the meaning (function) of each bit of the transmission buffer register is the same, and since RS232C is standardized, it is only necessary to convert the write I / O address. Further, since the writing process of the transmission data needs to be performed at high speed, the first conversion method shown in FIG. 22 is adopted in the third embodiment.

【0203】図30(A)、(B)には、従来のハード
ウェア及び本実施例におけるデータ送信のフローチャー
トが示される。従来のハードウェアにおいては、第2の
アプリケーションソフトにより送信データがI/Oアド
レス30Hにライトされると(ステップE1)、この送
信データはそのまま8251Aの送信バッファレジスタ
に書き込まれる(ステップE2)。これによりRS23
2Cよりシリアルデータ出力される(ステップE3)。
これに対して、本実施例では、送信データがI/Oアド
レス30Hにライトされると(ステップF1)、サブコ
ントローラ100によりI/Oアドレスが30Hから3
F8Hへと変換される(ステップF2)。そして、次
に、送信データを変換されたI/Oアドレス3F8Hに
書き込むと(ステップF3)、この送信データはNS1
6550Aの送信バッファレジスタに書き込まれ(ステ
ップF4)、RS232Cにシリアルデータが出力され
ることになる(ステップF5)。
FIGS. 30A and 30B show flowcharts of data transmission in the conventional hardware and this embodiment. In the conventional hardware, when the transmission data is written to the I / O address 30H by the second application software (step E1), the transmission data is written as it is in the transmission buffer register of the 8251A (step E2). This makes RS23
Serial data is output from 2C (step E3).
On the other hand, in this embodiment, when the transmission data is written to the I / O address 30H (step F1), the sub controller 100 changes the I / O address from 30H to 3H.
It is converted to F8H (step F2). Then, next, when the transmission data is written in the converted I / O address 3F8H (step F3), the transmission data becomes NS1.
The data is written in the transmission buffer register of 6550A (step F4), and the serial data is output to RS232C (step F5).

【0204】図31(A)には、データ送信のエミュレ
ート処理の更に詳しいフローチャートが示され、図31
(B)には、この場合のPCIバス23上の各信号に対
する信号波形図が示される。ステップG1に示すように
CPU1がI/Oアドレス30Hへの送信データのライ
トを行うと、ステップG2に示すように、送信データ、
バイトイネーブル信号が、図27に示すR−DATA1
36、R−Be128にラッチされる。また、アドレス
変換部124により30Hから3F8Hに変換されたI
/Oアドレスが、変換アドレスラッチ134にラッチさ
れる。次に、ステップG3に示すようにCPU1のライ
ト処理を終了させ、バスへのアクセスが禁止される。具
体的には、図31(B)に示すように、サブコントロー
ラ100内のI/O受付手段930がDEVSELとT
RDYを生成し、バスアービタ970がGNT−CPU
を生成する。そして、DEVSELをアサートすること
により、PCIバス23上の他のエージェント、即ちH
DD37、ブリッジ回路39よりも先に選択されたこと
をCPU1に伝える。また、TRDYをアサートするこ
とにより、CPU1からのアクセスを終了させる。更
に、GNT−CPUをディアサートすることにより、C
PU1が次のI/Oアクセスサイクルに進まないように
し、CPU1のバスアクセスが禁止される。以上より、
ステップG4に示すように、PCIバス23がサブコン
トローラ100により占有されることになる。次に、ス
テップG5に示すように、I/Oアドレス3F8Hに対
してR−Data136にラッチされた送信データがラ
イトされる。この場合、送信データの中のどのバイトレ
ーンを選択するかが、R−Be128にラッチされたバ
イトイネーブル信号により決定される。また、送信デー
タ自体はデータ変換部126を単に素通りし、送信デー
タに対する変換処理は行われない。また、この場合の図
31(B)におけるDEVSEL、TRDYのアサート
は、シリアルコントローラ50が接続されるブリッジ回
路39が行う。
FIG. 31A shows a more detailed flowchart of the emulation processing for data transmission.
FIG. 3B shows a signal waveform diagram for each signal on the PCI bus 23 in this case. When the CPU 1 writes the transmission data to the I / O address 30H as shown in step G1, as shown in step G2, the transmission data,
The byte enable signal is the R-DATA1 shown in FIG.
36, and is latched by R-Be128. Also, the I converted from 30H to 3F8H by the address conversion unit 124
The / O address is latched in the conversion address latch 134. Next, as shown in step G3, the write processing of the CPU 1 is terminated, and access to the bus is prohibited. Specifically, as shown in FIG. 31 (B), the I / O receiving means 930 in the sub-controller 100 has the DEVSEL and T
RDY is generated, and the bus arbiter 970 is the GNT-CPU.
To generate. Then, by asserting DEVSEL, another agent on the PCI bus 23, that is, H
The CPU 1 is notified that the DD 37 and the bridge circuit 39 have been selected before. Also, by asserting TRDY, the access from the CPU 1 is terminated. Furthermore, by deasserting GNT-CPU, C
PU1 is prevented from proceeding to the next I / O access cycle, and bus access of CPU1 is prohibited. From the above,
As shown in step G4, the PCI bus 23 is occupied by the sub controller 100. Next, as shown in step G5, the transmission data latched in the R-Data 136 is written to the I / O address 3F8H. In this case, which byte lane in the transmission data is selected is determined by the byte enable signal latched by the R-Be 128. Further, the transmission data itself simply passes through the data conversion unit 126, and the conversion process for the transmission data is not performed. The assertion of DEVSEL and TRDY in FIG. 31B in this case is performed by the bridge circuit 39 to which the serial controller 50 is connected.

【0205】2.シリアルコントローラへのコマンドラ
イトのエミュレーション 図29(A)、(B)に示すように、8251Aにおけ
るコマンド設定レジスタ(モードレジスタ、コマンドレ
ジスタ)は1つのI/Oアドレス32Hに配置されてい
るのに対して、NS16550におけるコマンド設定レ
ジスタは、4つのI/Oアドレス3F9H〜3FCHに
分かれている。また、図33、図34には、NS165
50Aと8251Aの各レジスタの各ビットに割り当て
られた機能の比較が示されるが、同図から明らかなよう
に、これらの各ビットの機能も大きく異なっている。更
に、8251Aにおけるコマンドは、同一I/Oアドレ
スが8251Aのコマンドモードにより、モードインス
トラクション(モードレジスタ)とコマンドインストラ
クション(コマンドレジスタ)とに分かれている。以上
のように、コマンドライトについての変換処理は非常に
複雑になるため、本実施例では、図23に示す第2の変
換方式でエミュレーションを行う。なお、第2のアーキ
テクチャのハードウェアでは、8251Aの同期モード
は使用していないため、同期モードについてのエミュレ
ーションは行わない。
2. Command Write to Serial Controller Emulation As shown in FIGS. 29A and 29B, the command setting registers (mode register, command register) in the 8251A are arranged at one I / O address 32H. The command setting register in the NS16550 is divided into four I / O addresses 3F9H to 3FCH. 33 and 34, NS165 is shown.
A comparison of the functions assigned to the bits of the 50A and 8251A registers is shown, but as is clear from the figure, the functions of these bits are also significantly different. Further, the command in the 8251A is divided into a mode instruction (mode register) and a command instruction (command register) depending on the command mode in which the same I / O address is 8251A. As described above, the conversion process for the command write becomes very complicated. Therefore, in this embodiment, emulation is performed by the second conversion method shown in FIG. Since the hardware of the second architecture does not use the 8251A synchronous mode, emulation of the synchronous mode is not performed.

【0206】図32(A)〜(C)には、8251Aの
モードレジスタ、コマンドレジスタ、ステータスレジス
タの各ビットに割り当てられた機能が示される。CPU
1により8251Aにセットされたパラレルデータは、
モード命令で指定されるフォーマットのシリアルデータ
に変換され、RS232Cに出力される。例えば、図3
2(A)に示すように、モードレジスタのビット0、1
でボーレート、ビット2、3でキャラクタ長が指定され
る。また、データの転送における制御は、図32(B)
に示すコマンドレジスタにより行う。例えば、コマンド
レジスタのビット0により、送信なのか受信なのかが決
定され、ビット1によりデータターミナルがレディか否
かが設定される。また、ステータスレジスタは、データ
転送時における送信、受信の状態の確認のために使用さ
れる。例えば、ビット0、ビット1により送信バッファ
レジスタ、受信バッファレジスタが空になったか否かを
確認できる。
32A to 32C show the functions assigned to the bits of the mode register, command register and status register of the 8251A. CPU
The parallel data set to 8251A by 1 is
It is converted to serial data in the format specified by the mode command and output to RS232C. For example, in FIG.
2 (A), mode register bits 0, 1
Specifies the baud rate, and bits 2 and 3 specify the character length. Further, the control in the data transfer is shown in FIG.
Use the command register shown in. For example, bit 0 of the command register determines whether it is transmission or reception, and bit 1 sets whether or not the data terminal is ready. The status register is used to confirm the status of transmission and reception during data transfer. For example, it is possible to confirm whether or not the transmission buffer register and the reception buffer register have become empty by using bit 0 and bit 1.

【0207】さて、図35(A)にはコマンドライトの
場合のエミュレート処理のフローチャートが示され、図
35(B)にはこの場合の信号波形図が示される。図3
5(A)に示すように、I/Oアドレス32H(コマン
ドレジスタ、モードレジスタ)へのライトが行われると
(ステップH1)、アドレス、データ、バイトイネーブ
ルがR−Adr132、R−Data136、R−Be
128にラッチされ(ステップH2)、SMI信号が発
生し(ステップH3)、ライト終了後(ステップH
4)、SMI処理が開始される(ステップH5)。この
場合、図35(B)に示すようにSMI信号は、TRD
Yがアサートされるのと同時にあるいはその数クロック
前にアサートされる。これによりCPU1がI/Oアク
セスを終了して次の命令サイクルに入るのが防止され
る。
Now, FIG. 35A shows a flow chart of the emulation processing in the case of command write, and FIG. 35B shows a signal waveform diagram in this case. Figure 3
As shown in FIG. 5 (A), when the I / O address 32H (command register, mode register) is written (step H1), the address, data, and byte enable are R-Adr132, R-Data136, R-. Be
It is latched by 128 (step H2), the SMI signal is generated (step H3), and after the writing is completed (step H).
4), the SMI processing is started (step H5). In this case, the SMI signal is TRD as shown in FIG.
It is asserted at the same time as Y is asserted or a few clocks earlier. This prevents the CPU 1 from ending the I / O access and entering the next instruction cycle.

【0208】図36、図37には、SMI処理の具体例
が示される。SMI処理スタート後(ステップI1)、
まず、SMMハンドラ26によりSMIステータス92
8がリードされる(ステップI2)。そして、SMIス
テータス928にセットされた要因データにより、I/
OエミュレーションによるSMIか否かが判断され(ス
テップI3)、異なる場合には他のSMI処理が実行さ
れる(ステップI4)。
36 and 37 show specific examples of SMI processing. After SMI processing starts (step I1),
First, the SMM handler 26 sends the SMI status 92.
8 is read (step I2). Then, according to the factor data set in the SMI status 928, I / O
It is determined whether or not the SMI is based on O emulation (step I3), and if different, another SMI process is executed (step I4).

【0209】次に、R−Adr132にラッチされたア
ドレスが32Hか否かが判断され(ステップI5)、異
なる場合には他のI/O命令のエミュレート処理が実行
される(ステップI6)。次に、R−Be128にラッ
チされたC/BE0〜3(バスコマンド)をリードし
て、当該命令がI/Oライトか否かが判断され(ステッ
プI7)、異なる場合にはI/Oリード32Hについて
のエミュレート処理が行われる(ステップI8)。次
に、Mode=1か否か、即ち当該I/O命令がモード
インストラクションか否かが判断され(ステップI
9)、Mode=1の場合にはモードインストラクショ
ンについてのエミュレート処理に移行する(ステップI
10、図38参照)。なお、8251Aでは、リセット
直後はMode=1に設定され、モードインストラクシ
ョン処理が終了するとMode=0となる。また、コマ
ンドインストラクションでIR=1とすると再びMod
e=1に設定される。これらのModeについてのフラ
ッグはSMRAMの所定アドレスにストアされることに
なる。次に、図35(A)のステップH2でR−Dat
a136にラッチされたデータ、即ちCPU1により発
行されたI/O命令のデータ(コマンド命令の内容)
が、CPU1の内部レジスタに格納される(ステップI
11)。
Next, it is judged whether or not the address latched in the R-Adr 132 is 32H (step I5), and if different, emulation processing of another I / O instruction is executed (step I6). Next, the C / BE0 to 3 (bus command) latched by the R-Be 128 are read to determine whether or not the instruction is an I / O write (step I7), and if different, I / O read Emulation processing for 32H is performed (step I8). Next, it is determined whether or not Mode = 1, that is, whether or not the relevant I / O instruction is a mode instruction (step I
9), if Mode = 1, the process moves to the emulation process for the mode instruction (step I).
10, FIG. 38). In the 8251A, Mode = 1 is set immediately after reset, and Mode = 0 is set when the mode instruction processing is completed. If IR = 1 in the command instruction, Mod
e is set to 1. Flags for these Modes will be stored at a predetermined address in SMRAM. Next, in step H2 of FIG.
The data latched in a136, that is, the data of the I / O instruction issued by the CPU 1 (contents of the command instruction)
Is stored in the internal register of the CPU 1 (step I
11).

【0210】以上の処理終了後、フロー800、80
2、804、806、808に示す処理が実行される。
これらのフロー800〜808の処理は、各々、図3
3、図34における900〜908に示す処理に対応し
ている。
After the above processing is completed, the flow 800, 80
The processes shown in 2, 804, 806, and 808 are executed.
The process of each of these flows 800 to 808 is shown in FIG.
3, corresponding to the processes 900 to 908 in FIG. 34.

【0211】フロー800の処理(図34の900に対
応)では、まず、ALのビット6が”1”か否かが判断
される(ステップI12)。そして、”1”の場合に
は、コマンド命令にIR=1がセットされたと判断さ
れ、Mode=1に設定される(ステップI13)。次
に、R−DataとOLD−CMDとの排他的論理和
(XOR)がとられ、その結果がALに格納される(ス
テップI14)。ここでOLD−CMDとは前回のコマ
ンドデータの内容を示す。このように排他的論理和をと
ることにより、変化のあったビットのみを書き換えるこ
とができる。フロー802の処理(図34の902に対
応)では、まず、ALのビット3が”1”か否かが判断
される(ステップI15)。そして、”1”の場合に
は、SBRKが発生したと判断され、NS16550A
の3FBHのレジスタ内容をALに格納する(ステップ
I16)。次に、ビット6をR−Dataのビット3に
書き換え(ステップI17)、ALの内容をNS165
50Aの3FBHに書き戻し(ステップI18)、その
後、ステップI19の処理を行う。これによりNS16
550Aの3FBHのレジスタ内容が書き変わる。フロ
ー804の処理(図33の904に対応)では、ALの
ビット0又はビット2が”1”か否かが判断され(ステ
ップI21)、”1”の時はR−Dataのビット2、
0の内容がALのビット0、1に格納される(ステップ
I22)。その後、ALの内容が3F9Hに出力され、
ステップI24の処理を行う。これによりNS1655
0Aの3F9Hのレジスタ内容が書き変わる。フロー8
06の処理(図34の906に対応)は、ビット1又は
ビット5が”1”の場合の処理であり、フロー804と
同様の処理が行われる(ステップI25〜I28)。こ
れによりNS16550Aの3FCHのレジスタ内容が
書き変わる。フロー808の処理(図34の908に対
応)では、ビット4が”1”か否かが判断され(ステッ
プI29)、”1”の場合には3FDHの内容がALに
リードされる(ステップI30)。NS16550Aで
は3FDHをリードすることによりエラーフラグがリセ
ットされるため、上記処理が行われる。最後に、R−D
ataの内容がOLD−CMDに設定され(ステップ1
31)、RSMが発行される(ステップI32)。な
お、コマンドレジスタのビット7については同期モード
の時のみ意味があるため、ここではエミュレート処理を
行わない。
In the process of flow 800 (corresponding to 900 in FIG. 34), it is first determined whether or not bit 6 of AL is "1" (step I12). If "1", it is determined that IR = 1 has been set in the command command, and Mode = 1 is set (step I13). Next, the exclusive OR (XOR) of R-Data and OLD-CMD is taken, and the result is stored in AL (step I14). Here, OLD-CMD indicates the content of the previous command data. By taking the exclusive OR in this way, only the changed bit can be rewritten. In the process of flow 802 (corresponding to 902 in FIG. 34), it is first determined whether or not bit 3 of AL is "1" (step I15). Then, in the case of "1", it is determined that SBRK has occurred, and NS16550A
The contents of the 3FBH register are stored in AL (step I16). Next, bit 6 is rewritten to bit 3 of R-Data (step I17), and the content of AL is NS165.
The data is written back to the 3FBH of 50A (step I18), and then the process of step I19 is performed. This makes NS16
The register contents of 3FBH of 550A are rewritten. In the process of flow 804 (corresponding to 904 in FIG. 33), it is determined whether bit 0 or bit 2 of AL is "1" (step I21). When it is "1", bit 2 of R-Data,
The contents of 0 are stored in bits 0 and 1 of AL (step I22). After that, the contents of AL are output to 3F9H,
The process of step I24 is performed. This makes NS1655
The register contents of 3F9H of 0A are rewritten. Flow 8
The process of 06 (corresponding to 906 of FIG. 34) is a process when bit 1 or bit 5 is “1”, and the same process as the flow 804 is performed (steps I25 to I28). This rewrites the register contents of the 3FCH of NS16550A. In the process of flow 808 (corresponding to 908 in FIG. 34), it is determined whether bit 4 is "1" (step I29), and if it is "1", the content of 3FDH is read to AL (step I30). ). In the NS16550A, the error flag is reset by reading 3FDH, so the above processing is performed. Finally, RD
The contents of data are set in OLD-CMD (step 1
31), RSM is issued (step I32). Since the bit 7 of the command register has meaning only in the synchronous mode, the emulation processing is not performed here.

【0212】次に、モードインストラクションのエミュ
レート処理について図38のフローチャートにより説明
する。モードインストラクションの場合には、図34の
910に示す変換処理を行う必要がある。このため、ス
テップJ2に示すように、R−Dataのビット2、
3、7、4、5の内容がALのビット0、1、2、3、
4に格納され、次に、ALの内容がNS16550Aの
3FBHのレジスタに出力される(ステップJ3)。こ
れによりNS16550Aに所望のモードインストラク
ション処理を行わせることが可能となる。また、ステッ
プJ4では、R−Dataのビット0、1が”0”、”
1”であるか否か、即ちボーレートファクタが16倍で
あるか否かが判断される(図32(A)参照)。そし
て、16倍でないと判断された場合には、DLAB=1
にした後(ステップJ5)、ステップJ6に示すように
設定したいボーレートとクロック倍率が計算され、De
visorラッチ(DLAB=1で書き込み可能)の再
設定が行われる(3F8H、3F9HにI/Oライ
ト)。これは、NS16550Aではクロックに対する
送受信のボーレートが16倍で固定されているため、8
251Aで1倍、64倍に設定された場合には、Dev
isorラッチの内容を変更し、NS16550Aのク
ロックを制御する必要があるからである。そして、De
visorラッチの変更後、ステップJ7、J8の処理
が行われ、Modeを”1”に戻した後(ステップJ
9)、RSMで復帰する(ステップJ10)。
Next, the emulation process of the mode instruction will be described with reference to the flowchart of FIG. In the case of the mode instruction, it is necessary to perform the conversion processing indicated by 910 in FIG. Therefore, as shown in step J2, bit 2 of R-Data,
The contents of 3, 7, 4, 5 are AL bits 0, 1, 2, 3,
4 and then the contents of AL are output to the register of 3FBH of NS16550A (step J3). This enables the NS16550A to perform a desired mode instruction process. In step J4, bits 0 and 1 of R-Data are "0" and "
It is determined whether or not it is 1 ", that is, whether or not the baud rate factor is 16 times (see FIG. 32A). When it is determined that it is not 16 times, DLAB = 1.
After that (step J5), the baud rate and clock ratio to be set are calculated as shown in step J6.
The visor latch (writable when DLAB = 1) is reset (I / O write to 3F8H and 3F9H). This is because the NS16550A has a fixed baud rate of 16 times for transmission and reception with respect to the clock.
If 251A is set to 1x or 64x, Dev
This is because it is necessary to change the contents of the isor latch and control the clock of the NS16550A. And De
After changing the visor latch, the processes of steps J7 and J8 are performed, and the mode is returned to "1" (step J
9), return by RSM (step J10).

【0213】以上の処理により、コマンドライトのエミ
ュレーションが可能となる。
By the above processing, command write emulation can be performed.

【0214】3.RS232Cからのデータ受信のエミ
ュレーション 受信バッファレジスタのI/Oアドレスは、8251A
が30HでありNS16550Aが3F8H(DLAB
=0)である。しかし、受信バッファレジスタの各ビッ
トのもつ意味は同じであるためI/Oアドレスの変換を
行うだけでよい(図33の917参照)。また、受信デ
ータの読み出し処理は高速に行う必要があるため、図2
4に示す第3の変換方式を採用する。
3. Emulation of data reception from RS232C The I / O address of the reception buffer register is 8251A.
Is 30H and NS16550A is 3F8H (DLAB
= 0). However, since each bit of the reception buffer register has the same meaning, it is only necessary to convert the I / O address (see 917 in FIG. 33). In addition, since the read processing of the received data needs to be performed at high speed,
The third conversion method shown in 4 is adopted.

【0215】図39(A)、(B)には、従来のハード
ウェア及び本実施例におけるデータ受信のフローチャー
トが示される。図39(A)と図39(B)とで異なる
のは、第2のアプリケーションソフトにより30Hから
I/Oリードされると、サブコントローラ100がアド
レスを30Hから3F8Hに変換して、変換されたアド
レス3F8Hから受信データがI/Oリードされるとこ
ろである。
FIGS. 39 (A) and 39 (B) show flowcharts of conventional hardware and data reception in this embodiment. The difference between FIG. 39 (A) and FIG. 39 (B) is that when the second application software reads I / O from 30H, the sub controller 100 converts the address from 30H to 3F8H, and the conversion is performed. The received data is read from the address 3F8H by I / O.

【0216】図40には、データ受信のエミュレート処
理の更に詳しいフローチャートが示され、図41にはこ
の場合の各信号の信号波形図が示される。CPU1がI
/Oアドレス30Hから受信データのリードを行うと
(ステップM1)、バイトイネーブル信号及び30Hか
ら3F8Hに変換されたアドレス信号が、各々R−Be
128、変換アドレスラッチ134にラッチされる(ス
テップM2)。次に、ステップM3に示すようにCPU
1のリード処理が一時中断される。具体的には、図41
に示すようにサブコントローラ100がSTOP、DE
VSEL、TRDYをアサートしてリトライ処理を行う
ことによりリード処理が中断される。このリトライ処理
はDEVSELをアサートしたままでSTOPをアサー
トすることによっても行うことができる。なお、PCI
バスではなくVLバスの場合には、Backoffをア
サートしてI/Oリードを見かけ上終了し、CPU1に
再度同じI/Oリードを行わせることでこの中断処理を
実現する。次に、GNT−CPUをディアサートしてサ
ブコントローラ100がバスを占有し(ステップM
4)、NS16550Aの3F8Hのレジスタから受信
データがリードされR−Data136にラッチされる
(ステップM5)。この場合、バイトイネーブルはR−
Be128より、アドレスは変換アドレスラッチ134
より出力される。次にGNT−CPUをアサートしてバ
スを解放し(ステップM6)、CPU1がI/Oリード
を再実行する(ステップM7)。すると、R−Data
136にラッチされたデータは、PCIバス23上に出
力され(ステップM8)、I/Oリードが正常終了する
(ステップM9)。
FIG. 40 shows a more detailed flow chart of the emulation processing of data reception, and FIG. 41 shows the signal waveform diagram of each signal in this case. CPU1 is I
When the received data is read from the / O address 30H (step M1), the byte enable signal and the address signal converted from 30H to 3F8H are respectively R-Be.
128 is latched by the translated address latch 134 (step M2). Then, as shown in step M3, the CPU
The read process 1 is temporarily suspended. Specifically, FIG.
As shown in FIG.
The read process is interrupted by asserting VSEL and TRDY and performing the retry process. This retry process can also be performed by asserting STOP with DEVSEL asserted. In addition, PCI
In the case of the VL bus instead of the bus, Backoff is asserted to apparently end the I / O read, and the CPU 1 performs the same I / O read again to realize this interruption processing. Next, the GNT-CPU is deasserted and the sub controller 100 occupies the bus (step M
4), the received data is read from the register of 3F8H of NS16550A and latched in R-Data 136 (step M5). In this case, the byte enable is R-
From Be128, the address is the conversion address latch 134.
Will be output. Next, GNT-CPU is asserted to release the bus (step M6), and the CPU1 re-executes I / O read (step M7). Then R-Data
The data latched by 136 is output onto the PCI bus 23 (step M8), and the I / O read ends normally (step M9).

【0217】4.シリアルコントローラからのステータ
スリードのエミュレーション 図29(A)、(B)、図33、図34に示すように8
251Aのステータスレジスタの各ビットに対応するも
のがNS16550Aでは2つのアドレス3FDH、3
FEHに別れており、ビットの並びも異なる。しかし、
ステータスレジスタからのリード処理は高速であること
が望ましい。これは、シリアルコントローラ50では、
ステータの変化を随時見ながらデータの送受信を行うた
め、ステータスリードが遅いと、データの抜け等の問題
が生じるからである。そこで、回路は少し複雑になるが
図24に示す第3の変換方式を採用する。
4. Emulation of status read from serial controller 8 as shown in FIGS. 29 (A), (B), 33, and 34.
The one corresponding to each bit of the status register of 251A has two addresses 3FDH and 3 in the NS16550A.
It is divided into FEH and the bit arrangement is also different. But,
It is desirable that the read process from the status register be fast. This is the serial controller 50
This is because data is transmitted and received while observing the change of the stator at any time, so if the status read is slow, a problem such as missing of data will occur. Therefore, although the circuit becomes a little complicated, the third conversion method shown in FIG. 24 is adopted.

【0218】図42にはステータスリードのエミュレー
ト処理のフローチャートが示される。まず、図40に示
すデータ受信の場合と同様にステップN1〜N4の処理
を行う。次に、NS16550Aの3FDHにあるライ
ンステータスレジスタからステータスデータをリード
し、データ交換処理を行ってR−Data136にラッ
チする(ステップN5)。この場合のデータの交換処理
はデータ変換部126により行われ、具体的には図34
の912、914に示すようなデータ交換処理を行う。
次に、3FEHにあるモデムステータスレジスタからリ
ードされたステータスデータに対してデータの交換処理
を行い、ステップN5でR−Data136にラッチさ
れたデータとOR処理を行い1つのデータとし、その結
果を再びR−Data136にラッチする(ステップN
6)。この場合は21の916に示すようなデータの交
換処理を行う。その後、図40の場合と同様にステップ
N7〜N10の処理を行い、ステータスリードを終了す
る。
FIG. 42 shows a flowchart of status read emulation processing. First, the processes of steps N1 to N4 are performed as in the case of data reception shown in FIG. Next, status data is read from the line status register in 3FDH of NS16550A, data exchange processing is performed, and latched in R-Data 136 (step N5). The data exchange processing in this case is performed by the data conversion unit 126. Specifically, FIG.
Data exchange processing as shown in 912 and 914 is performed.
Next, data exchange processing is performed on the status data read from the modem status register in 3FEH, and OR processing is performed with the data latched in the R-Data 136 in step N5 to make one data, and the result is again obtained. Latch in R-Data 136 (step N
6). In this case, the data exchange processing as shown at 916 of 21 is performed. Then, the processes of steps N7 to N10 are performed as in the case of FIG. 40, and the status read is ended.

【0219】以上の(1)〜(4)の処理により、本第
3の実施例では、第1のアーキテクチャで使用されるデ
バイス制御手段(NS16550A)、デバイスを第2
のアーキテクチャのシステムに適合させることが可能と
なる。
According to the above processes (1) to (4), in the third embodiment, the device control means (NS16550A) used in the first architecture and the second device are used.
It becomes possible to adapt to the system of the architecture.

【0220】(第4の実施例)第4の実施例は、I/O
デバイスがキーボード(KB)49でありデバイス制御
手段がキーボードコントローラ48である場合に本発明
を適用した実施例である。第1のアーキテクチャではキ
ーボードコントローラとしてインテル社製の8042が
使用される。また、第2のアーキテクチャではRS23
2Cの場合と同様に例えばインテル社製の8251Aが
使用される。図43、図44には、8042と8251
AのI/Oアドレス及び各ビットの機能の対比が示され
ている。同図に示すように8042と8251Aとでは
I/Oアドレス及び各ビットの配置が異なり、また、キ
ーボードから送られてくるキーボード入力データも異な
っている。従って、エミュレート処理によりこれらのア
ドレス、データを変換する必要がある。
(Fourth Embodiment) The fourth embodiment is an I / O
This is an embodiment to which the present invention is applied when the device is the keyboard (KB) 49 and the device control means is the keyboard controller 48. The first architecture uses Intel 8042 as a keyboard controller. In the second architecture, RS23
As in the case of 2C, for example, 8251A manufactured by Intel is used. 43 and 44, 8042 and 8251 are shown.
A comparison of the I / O address of A and the function of each bit is shown. As shown in the figure, the 8042 and 8251A have different I / O addresses and bit arrangements, and also different keyboard input data sent from the keyboard. Therefore, it is necessary to convert these addresses and data by emulation processing.

【0221】1.キーボードへのコマンド送信のエミュ
レーション。
1. Emulation of sending commands to the keyboard.

【0222】キーボード49へのコマンド送信のエミュ
レーションでは、アドレス、データ共に変換しなければ
ならず、パラメータの区別も必要なため比較的処理が複
雑である。更に、コマンド送信の頻度が低いため、図2
3に示す第2の変換方式を採用する。
In the emulation of the command transmission to the keyboard 49, both the address and the data must be converted, and the parameters must be distinguished, so the processing is relatively complicated. Furthermore, since the frequency of command transmission is low,
The second conversion method shown in 3 is adopted.

【0223】図45(A)、(B)には、従来のハード
ウェア及び本実施例におけるキーボード49へのコマン
ドデータ送信のフローチャートが示される。ここでは、
キーボード49へ送信するコマンドとしてLED ON
/OFFコマンドを例にとり説明するが、これ以外の例
えばリピート間隔の設定等のコマンドも同様の手法によ
りエミュレート処理できる。キーボード上のLEDをO
N/OFFするためには第2のアーキテクチャでは図4
5(A)のステップN1〜N12に示すように以下の処
理が行われる。即ち、まず、データ送信が可能か否かを
確認した後、第2のアプリケーションソフトにより9D
H(キーボードへコマンドを転送するときのキーになる
コード)がI/Oアドレス41HにI/Oライトされ
る。そして、このI/Oライトがアクノリッジされる
と、データ送信が可能か否かを確認した後、第2のアプ
リケーションソフトにより命令実行のためのパラメータ
がI/Oアドレス41HにI/Oライトされる。そし
て、このI/Oライトがアクノリッジされると、LED
がON/OFFされることになる。本第4の実施例で
は、上記の処理を図45(B)に示すようにエミュレー
ト処理している。
FIGS. 45 (A) and 45 (B) show flowcharts of command data transmission to the keyboard 49 in the conventional hardware and this embodiment. here,
LED ON as a command to be sent to the keyboard 49
The / OFF command will be described as an example, but other commands such as the setting of the repeat interval can be emulated by the same method. LED on the keyboard is O
In order to turn it off / on, the second architecture is shown in FIG.
The following processing is performed as shown in steps N1 to N12 of 5 (A). That is, first, after confirming whether the data transmission is possible, the second application software executes 9D
H (code serving as a key when transferring a command to the keyboard) is I / O-written to the I / O address 41H. When this I / O write is acknowledged, it is confirmed whether or not data transmission is possible, and then the second application software writes I / O address 41H with a parameter for instruction execution. . When this I / O light is acknowledged, the LED
Will be turned ON / OFF. In the fourth embodiment, the above process is emulated as shown in FIG.

【0224】図45(B)において、まず、第2のアプ
リケーションソフトで43HがI/Oリードされ(ステ
ップP1)、ビット0又はビット2が”1”か否か、即
ち送信が可能か否かが判断される(ステップP2)。こ
の場合、本第4の実施例では、サブコントローラ100
によりアドレス、データが変換処理され(ステップP
2)、これにより8042の64Hからステータスがリ
ードされる(ステップP3)。これによりTXRDY
(送信レディ)、TXE(送信バッファレジスタが空)
が”1”か否かの判断が可能となる(ステップP4、図
32(C)参照)。そして、送信可能と判断され、第2
のアプリケーションソフトにより9DHが41Hへとラ
イトされると(ステップP5)、図45(A)の従来の
場合と異なり、SMI処理によるアドレス、データの変
換処理が開始される(ステップP6、図46参照)。図
46に示すように、このSMI処理では、まずコマンド
の判別が行われ、この判別結果に応じたアドレス、デー
タの変換処理が行われる(ステップQ3)。そして、9
DHを第1のアーキテクチャに適合するように変換して
得られたEDHの内容が60HへとI/Oライトされる
(ステップQ4)。その後、図45(B)のステップP
7に示すように、キーボード49に内蔵されたキーボー
ドユニットコントローラ55からキーボードコントロー
ラ48へとデータが入力されると、ステップP8でAC
K(アクノリッジ、0F8H)のコードが転送されたか
否かが判断される。そして、転送されなかった場合には
エラーと判断される(ステップP9)。以上により、キ
ーボード49へのコマンド転送処理が行われる。次に、
ステップP1〜P4と同様に、データの送信が可能か否
か判断される(ステップP10〜P13)。そして、可
能と判断されると、ステップP14〜P17に示すよう
に、コマンドを実行するためのパラメータの転送処理が
行われる。このパラメータの転送処理は、ステップP5
〜P8と同様に行われる。但し、この場合にはSMI処
理の際に、パラメータの判別が行われ、この判別結果に
基づいてアドレス、データの変換処理が行われる。
In FIG. 45B, first, 43H is I / O read by the second application software (step P1), and whether bit 0 or bit 2 is "1", that is, whether transmission is possible or not. Is determined (step P2). In this case, in the fourth embodiment, the sub controller 100
Address and data are converted by (step P
2) Thereby, the status is read from 64H of 8042 (step P3). This allows TXRDY
(Transmission ready), TXE (transmission buffer register is empty)
It becomes possible to judge whether or not is "1" (step P4, see FIG. 32 (C)). Then, it is determined that transmission is possible, and the second
When 9DH is written to 41H by the application software (step P5), unlike the conventional case of FIG. 45 (A), the address and data conversion processing by SMI processing is started (step P6, see FIG. 46). ). As shown in FIG. 46, in this SMI processing, the command is first discriminated, and the address and data conversion processing is performed according to the discrimination result (step Q3). And 9
The contents of EDH obtained by converting DH so as to conform to the first architecture are I / O written to 60H (step Q4). After that, step P in FIG.
As shown in FIG. 7, when data is input from the keyboard unit controller 55 built in the keyboard 49 to the keyboard controller 48, AC is input in step P8.
It is determined whether or not the code of K (acknowledge, 0F8H) has been transferred. Then, if it is not transferred, it is determined to be an error (step P9). As described above, the command transfer process to the keyboard 49 is performed. next,
Similar to steps P1 to P4, it is determined whether data can be transmitted (steps P10 to P13). When it is determined that the command is possible, the parameter transfer process for executing the command is performed as shown in steps P14 to P17. The transfer process of this parameter is performed in step P5.
~ It is performed in the same manner as P8. However, in this case, the parameters are discriminated during the SMI processing, and the address and data conversion processing is performed based on the discrimination result.

【0225】以上の処理を行うことにより、キーボード
上のLEDをON、OFFすることが可能となる。
By performing the above processing, the LED on the keyboard can be turned on and off.

【0226】2.キーボードコントローラへのコマンド
ライトのエミュレーション キーボードコントローラ48へのコマンドライトのエミ
ュレーションでは、8251Aへの1回の書き込み動作
に対応して、8042では複数回書き込み動作を行わな
ければならず大変複雑である(図43、図44の92
0、924参照)。更に、コマンドライトについては実
行される頻度も低いため図23に示す第2の変換方式を
採用する。また、本実施例では、8042では存在しな
い8251Aのコマンドビット及び8251Aのモード
インストラクションについてはエミュレート処理を行わ
ないこととする(図43、図44の926、928参
照)。図47(A)、(B)には、従来のハードウェア
及び本実施例におけるコマンドライトのフローチャート
が示される。従来では(ステップR1、R2)、第2の
アプリケーションソフトにより43HへI/Oライトが
行われると、そのまま8251Aにコマンドが書き込ま
れた。これに対して、本実施例(ステップS1〜S3)
では、43HへのI/Oライトが行われると、SMI処
理によりアドレス、データの交換が行われ、8042へ
のコマンドの書き込みが行われる。
2. Emulation of Command Write to Keyboard Controller Emulation of command write to keyboard controller 48 is very complicated because the 8042 must perform multiple write operations in response to one write operation to the 8251A (Fig. 43, 92 in FIG.
0, 924). Furthermore, since the command write is executed less frequently, the second conversion method shown in FIG. 23 is adopted. Further, in this embodiment, the emulation processing is not performed for the command bit of 8251A and the mode instruction of 8251A which do not exist in 8042 (see 926 and 928 in FIGS. 43 and 44). 47A and 47B show flowcharts of conventional hardware and command writing in this embodiment. Conventionally (steps R1 and R2), when the I / O write to 43H is performed by the second application software, the command is directly written to the 8251A. On the other hand, this embodiment (steps S1 to S3)
Then, when the I / O write to 43H is performed, the address and the data are exchanged by the SMI process, and the command is written to the 8042.

【0227】3.キーボードからのデータ入力の受信の
エミュレーション キーボード49からのデータ入力は、I/Oアドレスが
異なるとともに入力されたデータを全て変換しなければ
ならなく大変複雑である。そこで、図25に示す第4の
変換方式を採用する。
3. Emulation of reception of data input from the keyboard Data input from the keyboard 49 is very complicated because I / O addresses are different and all input data must be converted. Therefore, the fourth conversion method shown in FIG. 25 is adopted.

【0228】図48(A)、(B)には、従来のハード
ウェア及び本実施例におけるデータ入力受信のフローチ
ャートが示される。ステップU1〜U4の処理により、
ステータスレジスタのビット1が”1”か否か、即ちデ
ータ受信がレディか否かが判断される(図32(C)参
照)。この場合、図48(A)の従来の場合と異なりス
テップU2の処理によりアドレス、データが変換され
る。データ受信がレディで、第2のアプリケーションソ
フトにより41HがI/Oリードされると(ステップU
5)、SMI処理が開始されアドレス、データが変換さ
れる(ステップU6、図49参照)。これにより、80
42よりキーボード入力データを受信することが可能と
なる(ステップU7)。
48 (A) and 48 (B) show flowcharts of conventional hardware and data input reception in this embodiment. By the processing of steps U1 to U4,
It is determined whether or not bit 1 of the status register is "1", that is, whether or not the data reception is ready (see FIG. 32 (C)). In this case, unlike the conventional case of FIG. 48A, the address and data are converted by the process of step U2. When data reception is ready and 41H is I / O read by the second application software (step U
5), the SMI process is started and the address and data are converted (step U6, see FIG. 49). This gives 80
It is possible to receive keyboard input data from 42 (step U7).

【0229】図49には、この場合のSMI処理の詳細
が示される。このSMI処理により図44の930に示
す変換処理が実行される。ステップV1〜V4によりS
MI処理が開始すると(ステップV5)、RーAdr1
32にラッチされたI/Oアドレスが41Hか否かが判
断され(ステップV6)、41Hではない場合には、他
のI/Oエミュレート処理が実行される(ステップV
7)。次に、I/Oリードか否かがR−Be128にラ
ッチされたバスコマンドにより判断され(ステップV
8)、I/Oリードでない場合には、キーボードのコマ
ンドライトのエミュレート処理が実行される(ステップ
V9)。次に、I/Oアドレス60HからI/Oリード
され(ステップV10)、SMRAMに格納された所定
の変換テーブルにしたがって、読み出されたデータが変
換される(ステップV11)。次に、CPU1の内部レ
ジスタALが格納されるステートセーブ領域に、ステッ
プV11で変換されたデータがセーブされる(ステップ
V12)。その後、RSMが発行され、SMRAMに退
避されたCPU1の内部レジスタの内容が戻される(ス
テップV13)。
FIG. 49 shows the details of the SMI processing in this case. The conversion processing indicated by 930 in FIG. 44 is executed by this SMI processing. S by steps V1 to V4
When MI processing starts (step V5), R-Adr1
It is determined whether or not the I / O address latched by 32 is 41H (step V6), and if it is not 41H, another I / O emulation process is executed (step V6).
7). Next, it is judged whether or not it is an I / O read by the bus command latched by the R-Be 128 (step V
8) If not I / O read, emulation processing of keyboard command write is executed (step V9). Next, I / O read is performed from the I / O address 60H (step V10), and the read data is converted according to a predetermined conversion table stored in the SMRAM (step V11). Next, the data converted in step V11 is saved in the state save area in which the internal register AL of the CPU 1 is stored (step V12). After that, the RSM is issued and the contents of the internal register of the CPU 1 saved in the SMRAM are returned (step V13).

【0230】以上のようにして本第4の実施例では、キ
ーボードからのデータ入力の受信のエミュレート処理が
行われる。そして、この場合、SMI処理により変換さ
れたデータは、RSM命令により自動的にCPU1の内
部レジスタに戻されるため、処理が非常に単純化され
る。
As described above, in the fourth embodiment, the emulation process for receiving the data input from the keyboard is performed. Then, in this case, the data converted by the SMI process is automatically returned to the internal register of the CPU 1 by the RSM instruction, so that the process is greatly simplified.

【0231】4.キーボードコントローラからのステー
タスリードのエミュレーション ステータスリードのエミュレート処理は、図43の93
2に示すように、I/Oアドレスを43Hから64Hに
変換し、データのビット変換を行えばよい。また、図4
4の934に示すように、8251Aの43Hのビット
4、3(FE、OE)は8042にはない機能なのでエ
ミュレート処理は行わない。また、ステータスリードは
高速である必要があるため、図24に示す第3の変換方
式を採用する。
4. Emulation of status read from keyboard controller The emulation process of status read is performed in 93 of FIG.
As shown in FIG. 2, the I / O address may be converted from 43H to 64H, and data bit conversion may be performed. Also, FIG.
As shown in 934 of No. 4, emulation processing is not performed because the bits 4 and 3 (FE, OE) of 43H of 8251A are functions that are not included in 8042. Moreover, since the status read needs to be performed at high speed, the third conversion method shown in FIG. 24 is adopted.

【0232】図50(A)、(B)には、従来のハード
ウェア及び本実施例におけるステータスリードのフロー
チャートが示される。図50(B)に示すように、従来
の場合と異なり、本実施例では、第2のアプリケーショ
ンソフトで43Hがリードされると(ステップX1)、
サブコントローラ100がアドレス、データを変換して
(ステップX2)、変換されたアドレス64Hからビッ
ト変換されたデータがI/Oリードされる(ステップX
3)。これにより、8042からステータスをリードす
ることが可能となる(ステップX4)。
FIGS. 50 (A) and 50 (B) show flowcharts of conventional hardware and status read in this embodiment. As shown in FIG. 50B, unlike the conventional case, in the present embodiment, when 43H is read by the second application software (step X1),
The sub controller 100 converts the address and the data (step X2), and the bit-converted data is read from the converted address 64H by I / O (step X).
3). As a result, the status can be read from the 8042 (step X4).

【0233】以上の(1)〜(4)の処理により、本第
4の実施例では、第1のアーキテクチャで使用されるデ
バイス制御手段(8042)を第2のアーキテクチャの
システムに適合させることが可能となる。
By the processing of (1) to (4) above, in the fourth embodiment, the device control means (8042) used in the first architecture can be adapted to the system of the second architecture. It will be possible.

【0234】(第5の実施例)本第5の実施例は割り込
みベクトルの変換に関する実施例である。互換性を維持
するためには割り込みベクトルについても変換すること
が望ましい。図51に示すように、第1のアーキテクチ
ャと第2のアーキテクチャとでは、各I/Oデバイス
(タイマー、キーボード等)からの割り込みの各割り込
みベクトルに対する割り当てが異なっている。従って、
割り込みコントローラ54に関しては単にそのI/Oア
ドレスを変換するだけでなく、各割り込み線の配置につ
いても変換する必要がある。割り込み線の変換は以下の
手法により簡単に実現できる。例えば図52(B)に示
すように、割り込みコントロール部250の前にセレク
タ252を設ける。そして、モード切り替え信号254
により、第1の(アーキテクチャ)のモードか、第2の
(アーキテクチャ)のモードかで割り込み線を切り替え
る。これにより、IRQ0〜IRQ15からIRQ’0
〜IRQ’15への割り込み線の切り替え可能となる。
しかし、割り込み要因発生部と割り込みコントロール部
とが1つのICの中に共に内蔵されている場合には、上
記の手法を用いることはできない。割り込み要因発生部
と割り込みコントロール部とが1つのICに内蔵されて
いると、外部に割り込み線が出てこなくなり、割り込み
線の交換が不可能となるからである。ところが、第1の
アーキテクチャのハードウェア構成では、割り込み要因
発生部と割り込みコントロール部とは1つのICに内蔵
されている。そこで、本第5の実施例では、割り込みア
クノリッジサイクルでCPU1が割り込みベクトルを取
り込む際に、PCIバス23(又はVLバス等)上で割
り込みベクトルを変換する処理を行う。ここで、PCI
における割り込みアクノリッジサイクルの発生は、C/
BE0〜3とFRAME信号をドライブすることにより
実現される。
(Fifth Embodiment) The fifth embodiment is an embodiment relating to interrupt vector conversion. It is desirable to convert the interrupt vector to maintain compatibility. As shown in FIG. 51, the first architecture and the second architecture differ in the allocation of interrupts from each I / O device (timer, keyboard, etc.) to each interrupt vector. Therefore,
Regarding the interrupt controller 54, it is necessary to convert not only the I / O address thereof but also the arrangement of the interrupt lines. The conversion of the interrupt line can be easily realized by the following method. For example, as shown in FIG. 52B, a selector 252 is provided before the interrupt control unit 250. Then, the mode switching signal 254
Thus, the interrupt line is switched between the first (architecture) mode and the second (architecture) mode. As a result, IRQ0 to IRQ15 to IRQ'0
It becomes possible to switch the interrupt line to IRQ'15.
However, when both the interrupt factor generator and the interrupt controller are built in one IC, the above method cannot be used. This is because if the interrupt factor generation unit and the interrupt control unit are built in one IC, the interrupt line does not come out to the outside, and it becomes impossible to exchange the interrupt line. However, in the hardware configuration of the first architecture, the interrupt factor generator and the interrupt controller are built in one IC. Therefore, in the fifth embodiment, when the CPU 1 fetches the interrupt vector in the interrupt acknowledge cycle, a process of converting the interrupt vector on the PCI bus 23 (or VL bus or the like) is performed. Where PCI
The occurrence of an interrupt acknowledge cycle at
It is realized by driving BE0 to BE3 and the FRAME signal.

【0235】図52(A)には、このエミュレート処理
のフローチャートが示され、図53には各信号の信号波
形図が示される。このエミュレート処理は、図24に示
す第3の変換方式と似た変換方式である。CPU1が割
り込みアクノリッジサイクルを発生すると(ステップY
1)、サブコントローラ100によりアクノリッジサイ
クルが中断される(ステップY2)。これは、図53に
示すように、サブコントローラ100がSTOP、DE
VSEL、TRDYをアサートして、リトライ処理を行
うことにより実現される。次に、GNT−CPUをディ
アサートして、サブコントローラ100がバスを占有す
る(ステップY3)。その後、今度はサブコントローラ
100が割り込みアクノリッジを発生し、割り込みコン
トローラから割り込みベクトルをリードし、これを所定
の割り込みベクトルに変換する(ステップY4)。次
に、バスが解放され(ステップY5)、CPU1が再び
割り込みアクノリッジサイクルを発生する(ステップY
6)。そして、この時にサブコントローラ100が変換
された割り込みベクトルをPCIバス23上に出力する
ことにより(ステップY7)、割り込みアクノリッジサ
イクルが正常に終了する(ステップY8)。
FIG. 52A shows a flow chart of this emulation processing, and FIG. 53 shows a signal waveform diagram of each signal. This emulation processing is a conversion method similar to the third conversion method shown in FIG. When the CPU 1 generates an interrupt acknowledge cycle (step Y
1), the acknowledge cycle is interrupted by the sub-controller 100 (step Y2). As shown in FIG. 53, this is because the sub controller 100 uses STOP, DE
It is realized by asserting VSEL and TRDY and performing a retry process. Next, the GNT-CPU is deasserted and the sub controller 100 occupies the bus (step Y3). Then, this time, the sub controller 100 generates an interrupt acknowledge, reads the interrupt vector from the interrupt controller, and converts this into a predetermined interrupt vector (step Y4). Next, the bus is released (step Y5) and the CPU 1 again generates an interrupt acknowledge cycle (step Y).
6). Then, at this time, the sub-controller 100 outputs the converted interrupt vector onto the PCI bus 23 (step Y7), whereby the interrupt acknowledge cycle ends normally (step Y8).

【0236】以上の処理により、図52(B)に示すよ
うな手法を用いずに、割り込みベクトルの変換が可能と
なる。この場合、例えば、図51のFDDコントローラ
等、第2のアーキテクチャには存在しないものもある。
この場合には、例えば割り込みコントロールするための
専用のハードウェアをサブコントローラ100内に設け
ることで対処できる。
With the above processing, the interrupt vector can be converted without using the technique shown in FIG. 52 (B). In this case, for example, there are some that do not exist in the second architecture, such as the FDD controller of FIG.
In this case, for example, a dedicated hardware for interrupt control can be provided in the sub controller 100.

【0237】(第6の実施例) 1.全体構成の説明 第6の実施例は、第1のアーキテクチャに適合したパー
ソナルコンピュータシステム(例えばIBM社製のPC
/AT、PC/XT)にサブコントローラを内蔵させ、
若干のハードウェアの変更を行うことで複数互換を実現
する実施例である。図57には、第6の実施例の全体構
成が示される。CPUバス302に直接接続されるCP
Uバス上にはPCMC304等が接続される。また、P
CIバス上にはサブコントローラ300、SIO31
0、PCI拡張スロット311、拡張ビデオコントロー
ラ(VGAの機能も有する)314、98用のビデオコ
ントローラ316、HDD320のインターフェースと
なるPCI/IDE318が接続される。また、ISA
バス上にはバッファ322、PCI/ISA拡張スロッ
ト324が接続され、Xバス上にはBIOSROM32
8、RTC330、キーボード・マウスコントローラ3
32等が接続される。第6の実施例では、第1のアーキ
テクチャに準じたパーソナルコンピュータシステム(以
下、AT機又は単にATと呼ぶ)に、サブコントローラ
300、オプションボード312、拡張スロットボック
ス326、ビデオコントローラ316等を付加すること
で、複数互換を実現している。サブコントローラ300
は、SMI発生手段340、SMIステータス342、
SMIマスク手段344、I/O受け付け手段346、
命令変換手段350を含み、CPU302からの命令を
変換する等のエミュレート処理を行っている。図58に
は、命令変換手段350の構成の一例が示される。この
命令変換手段350はマイクロコードメモリ370を含
んでおり、このマイクロコードメモリ370から読み出
したマイクロコード情報に基づいてエミュレート処理を
実現する。
(Sixth Embodiment) 1. Description of Overall Configuration The sixth embodiment is a personal computer system (for example, a PC manufactured by IBM Corp.) adapted to the first architecture.
/ AT, PC / XT) with a built-in sub-controller
This is an embodiment for realizing multiple compatibility by slightly changing the hardware. FIG. 57 shows the overall structure of the sixth embodiment. CP directly connected to the CPU bus 302
A PCMC 304 or the like is connected to the U bus. Also, P
Sub-controller 300, SIO31 on the CI bus
0, a PCI expansion slot 311, an expansion video controller (also having a VGA function) 314, a video controller 316 for 98, and a PCI / IDE 318 as an interface of the HDD 320 are connected. Also, ISA
A buffer 322 and a PCI / ISA expansion slot 324 are connected to the bus, and a BIOSROM 32 is connected to the X bus.
8, RTC330, keyboard / mouse controller 3
32 etc. are connected. In the sixth embodiment, a sub-controller 300, an option board 312, an expansion slot box 326, a video controller 316, etc. are added to a personal computer system (hereinafter referred to as an AT machine or simply AT) conforming to the first architecture. By doing so, multiple compatibility is realized. Sub controller 300
Is an SMI generating unit 340, an SMI status 342,
SMI masking means 344, I / O receiving means 346,
It includes an instruction converting unit 350 and performs emulation processing such as converting an instruction from the CPU 302. FIG. 58 shows an example of the configuration of the instruction converting means 350. The instruction converting means 350 includes a microcode memory 370 and implements emulation processing based on the microcode information read from the microcode memory 370.

【0238】サブコントローラ300は、ブリッジ回路
を含むSIO310に対してFRAME信号をマスクし
た信号であるFRAMES信号を出力する。これによ
り、CPU302から第2のアーキテクチャの命令が発
行された場合に、ISAバス、Xバスに接続されるデバ
イス制御手段(PCI/ISAスロット324、キーボ
ード・マウスコントローラ332等)に命令が伝わるの
を無効にしている。即ち、CPU302が接続されるP
CMC304がPCIバスアクセスの開始信号であるF
RAME信号をアサートした場合に、サブコントローラ
300がこのFRAME信号をマスクし(図60、61
参照)、マスク処理が施されたFRAMS信号がSIO
310に伝えられる。するとSIO310にはFRAM
E信号が伝わらず、従ってSIO310はCPU302
の命令に応答できない。これにより、ISAバス、Xバ
ス上のデバイス制御手段が第2のアーキテクチャの命令
に応答しないことが保証され、複数互換を実現できる。
一方、ビデオコントローラ316は、第2のアーキテク
チャのパーソナルコンピュータ(例えばセイコーエプソ
ン社製のPC386、PC486、NEC社製のPC9
801、PC9821等であり、以下98機又は単に9
8と呼ぶ)に使用されるものである。ビデオコントロー
ラ316は、複雑で高速性な処理が要求されるため、第
6の実施例では命令の変換処理等は行わず、AT用の拡
張ビデオコントローラ314と98用のビデオコントロ
ーラ316の2つを含む構成となっている。従って、第
1のアーキテクチャの命令に対してビデオコントローラ
316が応答するのを防止する必要があり、逆に第2の
アーキテクチャの命令に対しては応答するようにする必
要がある。そこで、本実施例では、サブコントローラ3
00が、98用のビデオコントローラ316に対してF
RAMEV信号を出力している。即ち、エミュレート処
理により変換された第1のアーキテクチャの命令が発行
された場合には、サブコントローラ300がFRAME
信号をマスクし(図60、61参照)、マスク処理が施
されたFRAMEV信号がビデオコントローラ316に
伝えられる。一方、CPU302が第2のアーキテクチ
ャ命令を発行した場合には、マスク処理が施されないF
RAMEV信号がビデオコントローラ316に伝えられ
る。これにより、ビデオコントローラ316に正常な命
令が伝わるのが保証され、複数互換を実現できる。な
お、本実施例では、FRAME信号にマスク処理を施す
ことで命令の伝達を無効にしているが、本発明はこれに
限らず、他のバス制御信号をコントロールして実現して
もかまわない。
The sub-controller 300 outputs the FRAMES signal which is a signal obtained by masking the FRAME signal to the SIO 310 including the bridge circuit. As a result, when the CPU 302 issues an instruction of the second architecture, the instruction is transmitted to the device control unit (PCI / ISA slot 324, keyboard / mouse controller 332, etc.) connected to the ISA bus and the X bus. It is disabled. That is, P to which the CPU 302 is connected
CMC304 is the start signal of PCI bus access, F
When the RAME signal is asserted, the sub controller 300 masks the FRAME signal (see FIGS. 60 and 61).
), The masked FRAMS signal is SIO
It is transmitted to 310. Then SIO310 has FRAM
The E signal is not transmitted, so the SIO 310 is
Cannot respond to the command. This guarantees that the device control means on the ISA bus and the X bus does not respond to the instruction of the second architecture, and multiple compatibility can be realized.
On the other hand, the video controller 316 is a personal computer of the second architecture (for example, PC386, PC486 manufactured by Seiko Epson, PC9 manufactured by NEC).
801, PC9821, etc., and the following 98 machines or simply 9
8)). Since the video controller 316 is required to perform complicated and high-speed processing, in the sixth embodiment, the instruction conversion processing and the like are not performed, and the extended video controller 314 for AT and the video controller 316 for 98 are provided. It is configured to include. Therefore, it is necessary to prevent the video controller 316 from responding to the instruction of the first architecture and, conversely, to respond to the instruction of the second architecture. Therefore, in this embodiment, the sub controller 3
00 to F to the video controller 316 for 98
The RAMEV signal is output. That is, when the instruction of the first architecture converted by the emulation processing is issued, the sub controller 300 causes the FRAME
The signal is masked (see FIGS. 60 and 61) and the masked FRAMEV signal is transmitted to the video controller 316. On the other hand, when the CPU 302 issues the second architecture instruction, the mask processing is not performed F
The RAMEV signal is transmitted to the video controller 316. This ensures that a normal command is transmitted to the video controller 316, and multiple compatibility can be realized. In the present embodiment, the command transmission is invalidated by masking the FRAME signal, but the present invention is not limited to this and may be realized by controlling other bus control signals.

【0239】PCI拡張スロット311はPCIバスに
接続される拡張スロットであり、この拡張スロットには
変換部313を含むオプションボード312を挿入でき
る。変換部313はPCI用のバス信号を98用のバス
信号に変換するものであり、変換されたバス信号はケー
ブル325を介して98用の拡張スロットボックス32
6に伝えられる。即ち、図59に示すように、本体装置
309に設けられたPCI拡張スロット311にオプシ
ョンボード312を挿入し、98用に変換されたバス信
号をケーブル325を介して拡張スロットボックス32
6に伝える。拡張スロットボックス326には、複数の
98用拡張スロット327が設けられている。従って、
98用のオプションボード329を使用したい場合に
は、オプションボード329をこの拡張スロット327
に挿入すればよい。これにより、これまで多くのメーカ
ーにより開発されてきたSCSIボード、メモリボー
ド、LANボード等のオプションボードを有効利用で
き、過去の資産を生かすことができる。一方、AT機で
はPCI拡張スロットは標準で装備される。従って図5
9のような構成とすれば、本体装置309のきょう体
(装置の外装部材)としてAT用のものを使用できるこ
とになり、コストを低減できる。
The PCI expansion slot 311 is an expansion slot connected to the PCI bus, and the option board 312 including the conversion unit 313 can be inserted into this expansion slot. The conversion unit 313 converts a PCI bus signal into a 98 bus signal, and the converted bus signal is transmitted via the cable 325 to the 98 expansion slot box 32.
6. That is, as shown in FIG. 59, the option board 312 is inserted into the PCI expansion slot 311 provided in the main device 309, and the bus signal converted for 98 is expanded via the cable 325 to the expansion slot box 32.
Tell 6. The expansion slot box 326 is provided with a plurality of 98 expansion slots 327. Therefore,
If you want to use the option board 329 for 98, insert the option board 329 into this expansion slot 327.
You can insert it in. As a result, the option boards such as the SCSI board, the memory board, and the LAN board which have been developed by many manufacturers can be effectively used, and the past assets can be utilized. On the other hand, an AT machine is equipped with a PCI expansion slot as standard. Therefore, FIG.
With the configuration as shown in FIG. 9, the AT body can be used as the casing of the main body device 309 (exterior member of the device), and the cost can be reduced.

【0240】なお、第1のアーキテクチャの命令が発行
された場合に、98用オプションボード329上のデバ
イス制御手段、デバイスがこの命令に応答しないように
する必要がある。このため、これらのデバイス制御手段
等が使用できるメモリ空間、I/O空間を、コンフィギ
ュレーションレジスタ等を用いて固定しておくことが望
ましい。また、ここではオプションボード312はPC
I拡張スロット311に挿入したが、変換部313の構
成を変更し、ISAバス上又はXバス上の拡張スロット
にオプションボード312を挿入する構成としてもかま
わない。
When the instruction of the first architecture is issued, it is necessary to prevent the device control means and device on the 98 option board 329 from responding to this instruction. Therefore, it is desirable to fix the memory space and I / O space that can be used by these device control means and the like by using a configuration register or the like. Also, here, the option board 312 is a PC
Although it is inserted into the I expansion slot 311, the configuration of the conversion unit 313 may be changed so that the option board 312 is inserted into the expansion slot on the ISA bus or the X bus.

【0241】2.動作の説明 図60、図61、図62には、ライトサイクル、リード
サイクルにおける第6の実施例の動作を説明するための
信号波形図、フローチャートが示される。次にこれらの
図を用いて本実施例の動作を説明する。なお、図60、
図61で太線で表される部分はサブコントローラ300
が駆動する部分(期間)を表す。
2. Description of Operation FIGS. 60, 61, and 62 are signal waveform diagrams and flowcharts for explaining the operation of the sixth embodiment in the write cycle and the read cycle. Next, the operation of this embodiment will be described with reference to these figures. Note that FIG.
In FIG. 61, the portion indicated by the bold line is the sub controller 300.
Represents the part (period) driven by.

【0242】以下では、本実施例のシステムが98モー
ド(第2のアーキテクチャのアプリケーションプログラ
ム、OSを動作させるモード)に設定されている場合を
例にとり説明する。従って、この場合には、CPU30
2からは第2のアーキテクチャの命令が発行される。サ
ブコントローラ300は、この命令を、第1のアーキテ
クチャの命令に変換して第1のデバイス制御手段に伝え
る。まず、図62のステップS1で、FRAME=Lか
否かが判断され、FRAME=Lの場合は(図60、図
61のA1、A3参照)、発行された命令(図60、図
61のB1、B3参照)が、I/Oリード・I/Oライ
ト・割り込みアクノリッジのいずれのサイクルを要求す
るものであるかが判断される。これらのサイクルが要求
された場合には、FRAMES信号がマスクされる(C
1、C3及びステップS3参照)。これにより、ISA
バス上、Xバス上のデバイス制御手段に命令が伝わるの
が防止される。
In the following, a case where the system of this embodiment is set to the 98 mode (the mode for operating the application program and OS of the second architecture) will be described as an example. Therefore, in this case, the CPU 30
From 2, the instruction of the second architecture is issued. The sub-controller 300 converts this instruction into an instruction of the first architecture and sends it to the first device control means. First, in step S1 of FIG. 62, it is determined whether or not FRAME = L. , B3) which requests I / O read, I / O write, and interrupt acknowledge. When these cycles are requested, the FRAMES signal is masked (C
1, C3 and step S3). This allows ISA
Instructions are prevented from being transmitted to the device control means on the bus or the X bus.

【0243】なお、この時、FRAMEVはマスクされ
ない(D1、D3参照)。従って、第2のアーキテクチ
ャの命令が、ビデオコントローラ316に対するもので
あった場合には、この命令は98用のビデオコントロー
ラ316に伝えられる。また、ATモード(第1のアー
キテクチャのアプリケーションプログラム、OSを動作
させるモード)の時には、逆に、FRAMESはマスク
されず、FRAMEVがマスクされる。
At this time, FRAMEV is not masked (see D1 and D3). Thus, if the second architecture instruction was for the video controller 316, the instruction is conveyed to the video controller 316 for 98. Further, in the AT mode (mode for operating the application program of the first architecture, OS), conversely, FRAMES is not masked and FRAMEV is masked.

【0244】次に、PCIバス上の他のターゲットがD
EVSEL=L(バス制御信号はLレベルでアサート)
とするか否かを監視し(ステップS4)、スローのタイ
ミング(PCIにはファースト、ミディアム、スローの
タイミングがある)までに他のターゲットがアサートし
ない場合には、サブコントローラ300がDEVSEL
=L、REQ=Lとする(E1、E3及びステップS
5)。そして、I/Oライトの場合にはTRDY=Lと
してサイクルを正常終了し(F1及びステップS6、S
7)、DEVSEL=H、TRDY=Hとする(ステッ
プS8)。そして、GNT=Lとなるとエミュレーショ
ンサイクルが起動し(G1及びステップS10)、エミ
ュレーションが終了するとREQ=Hとなる(H1及び
ステップS11)。なお、エミュレーションサイクルに
おいてはFRMAES信号はマスクされず、FRAME
V信号がマスクされる。これにより、ISAバス、Xバ
ス上の第1のデバイス制御手段に対して、エミュレート
処理により変換された第1のアーキテクチャの命令が伝
えられる。一方、98用のビデオコントローラ316に
対してはこの命令は伝えられない。I/Oリードであり
リトライサイクルでない場合には(ステップS6、S1
2)、STOP=Lとなり(F3及びステップS1
6)、その後は、I/Oライトの場合と同様となる(G
3、H3等及びステップS17〜S20)。一方、リト
ライサイクルの場合には、ターゲットであるサブコント
ローラ300がFRAMES信号をマスクしTRDY=
Lとして、CPU302のリード命令に応答する(K
3、L3及びステップS13〜S15)。これにより、
エミュレート処理により得られたデータをCPU302
に伝えることが可能となる。
Next, another target on the PCI bus is D
EVSEL = L (bus control signal is asserted at L level)
(Step S4), and if another target does not assert by the timing of the slow (the PCI has the timing of the fast, medium, and slow), the sub-controller 300 causes the DEVSEL to
= L, REQ = L (E1, E3 and step S
5). Then, in the case of I / O write, TRDY = L is set and the cycle is normally terminated (F1 and steps S6, S
7), DEVSEL = H and TRDY = H are set (step S8). Then, when GNT = L, the emulation cycle starts (G1 and step S10), and when the emulation ends, REQ = H (H1 and step S11). In the emulation cycle, the FRMAES signal is not masked and the FRAME
The V signal is masked. As a result, the instruction of the first architecture converted by the emulation processing is transmitted to the first device control means on the ISA bus and the X bus. On the other hand, this command is not transmitted to the video controller 316 for 98. If it is an I / O read and not a retry cycle (steps S6, S1)
2), STOP = L (F3 and step S1
6) After that, it becomes the same as the case of I / O write (G
3, H3, etc. and steps S17-S20). On the other hand, in the case of the retry cycle, the target sub-controller 300 masks the FRAMES signal and TRDY =
Respond to the read command of the CPU 302 as L (K
3, L3 and steps S13 to S15). This allows
The data obtained by the emulation processing is stored in the CPU 302.
It becomes possible to tell.

【0245】図63は、図62のステップS10、S1
9のエミュレーションサイクルのフロチャート図であ
る。まず、ステップT1でエミュレーション要求がされ
ているか否かを判断する。これは、マイクロコードメモ
リの出力であるコマンド情報(図65(B)参照)の中
の無視ビット(ビット28)・継続ビット(ビット3
0)により判断する。即ち無視ビット=1(エミュレー
ト処理しないことを示す)、継続ビット=0(エミュレ
ート処理を継続しないことを示す)の時はステップT2
以降に移行しない。次に、サブコントローラ300がF
RAME=LにしてエミュレーションアドレスをPCI
バス上に出力する(図60、図61のM1〜M4、N1
〜N4及びステップT3)。そして、I/Oライトの場
合にはFRAMAE=Hにし、書き込むデータをPCI
バス上に出力し、IRDY=Lにする(O1及びステッ
プT4)。そして、PCIバス上のターゲットがDEV
SEL=L、TRDY=Lにするとサブコントローラ3
00によるライト命令は正常終了する(P1及びステッ
プT5、T6)。そしてIRDY=H、データバスをハ
イインピーダンス状態にし、これにより、次のエミュレ
ーションサイクルへの移行が可能になる(ステップT
7、T8)。なお、TRDY=L、STOP=Lの時は
ターゲットアボートとなり、同一のエミュレーションサ
イクルを繰り返すことになる(ステップT9、T1
0)。
FIG. 63 shows steps S10 and S1 of FIG.
It is a flowchart figure of the emulation cycle of 9. First, in step T1, it is determined whether an emulation request has been issued. This is the ignore bit (bit 28) / continuation bit (bit 3) in the command information (see FIG. 65B) output from the microcode memory.
Judge by 0). That is, when the ignore bit = 1 (indicating that the emulation process is not performed) and the continuation bit = 0 (indicating that the emulation process is not continued), step T2.
Do not move to later. Next, the sub-controller 300
Set RAME = L and set the emulation address to PCI
Output on the bus (M1 to M4, N1 in FIGS. 60 and 61)
~ N4 and step T3). Then, in the case of I / O write, FRAMAE = H is set, and the data to be written is set to PCI.
Output to the bus and set IRDY = L (O1 and step T4). And the target on the PCI bus is DEV
When SEL = L and TRDY = L, the sub controller 3
The write command by 00 ends normally (P1 and steps T5 and T6). Then, IRDY = H, the data bus is set to a high impedance state, which enables the transition to the next emulation cycle (step T
7, T8). When TRDY = L and STOP = L, the target abort occurs and the same emulation cycle is repeated (steps T9 and T1).
0).

【0246】ステップT3でI/Oリードと判断された
場合、FRAME=Hにし、アドレスバスをハイインピ
ーダンス状態にし、IRDY=Lとする(O3、O4及
びステップT11)。そして、ターゲットがDEVSE
L=L、TRDY=Lとすると(P3、P4及びステッ
プT12、T13)、正常終了となり、ターゲットから
出力されたデータ(Q3、Q4参照)をサブコントロー
ラ300がラッチする(ステップT14)。CPU30
2は、このラッチされたデータをリトライサイクルの時
に読み出し、これによりエミュレーションにより得られ
たデータがCPU302に伝えられる(R3参照)。そ
の他の処理はI/Oライトの場合と同様である(ステッ
プT15〜T17)。
When it is judged to be I / O read in step T3, FRAME = H, the address bus is set to a high impedance state, and IRDY = L (O3, O4 and step T11). And the target is DEVSE
When L = L and TRDY = L (P3, P4 and steps T12, T13), the process ends normally, and the sub controller 300 latches the data (see Q3, Q4) output from the target (step T14). CPU30
2 reads this latched data during the retry cycle, and the data obtained by emulation by this is transmitted to the CPU 302 (see R3). Other processes are the same as those for I / O write (steps T15 to T17).

【0247】3.命令変換手段の説明 次に、図58を用いて命令変換手段350の構成につい
て説明する。シーケンサ352はタイミング制御のため
の回路であり、アドレスデコーダ360、セレクタ36
4等に制御信号を出力すると共に、PCIバス上のステ
ータス・コマンド信号を受け付けたり出力バッファ35
4を介してこれらの信号を制御する。アドレスラッチ3
56、データラッチ358は、CPU302からの命令
に含まれるアドレス・データをラッチするものである。
アドレスデコーダ360は、ラッチされたアドレスをデ
コード変換し、アドレスデコーダ362は、マイクロコ
ードメモリ370から読み出されたエミュレーションア
ドレスをデコードする。セレクタ364は、アドレスデ
コーダ360、362の出力のいずれかを選択し、これ
をメモリアドレスとしてマイクロコードメモリ370に
出力する。マイクロコードメモリ370は、ROM、R
AM等により構成され、入力されたメモリアドレス位置
にマイクロコード情報を記憶している。このマイクロコ
ード情報は、コマンド・データ生成(ビットデータ、ビ
ット定義)・エミュレーションアドレスの情報を含む。
3. Description of Command Converting Unit Next, the configuration of the command converting unit 350 will be described with reference to FIG. The sequencer 352 is a circuit for timing control, and includes an address decoder 360 and a selector 36.
4 and the like, outputs a control signal, receives a status / command signal on the PCI bus, and outputs the output buffer 35.
Control these signals via 4. Address latch 3
56 and a data latch 358 are for latching address data included in an instruction from the CPU 302.
The address decoder 360 decodes and converts the latched address, and the address decoder 362 decodes the emulation address read from the microcode memory 370. The selector 364 selects one of the outputs of the address decoders 360 and 362 and outputs it as the memory address to the microcode memory 370. The microcode memory 370 is a ROM or R
It is composed of AM and stores microcode information at the input memory address position. This microcode information includes information on command data generation (bit data, bit definition) and emulation address.

【0248】マイクロコードメモリ370から読み出さ
れたマイクロコード情報は、1stサイクルでは第1の
コードラッチ372にラッチされ、2ndサイクルでは
第2のコードラッチ374にラッチされる。第1のコー
ドラッチ372にラッチされたコマンド情報はデコーダ
376を介してシーケンサ352に伝えられ、このコマ
ンド情報に基づき回路全体の動作が決定される。また、
第1のコードラッチ372にラッチされたエミュレーシ
ョンアドレス情報はアドレスデコーダ362に出力さ
れ、これによりマイクロコードメモリ370のメモリア
ドレスが生成される。また、エミュレーションアドレス
情報は、セレクタ386、出力バッファ388を介して
PCIバス上に出力され、これによりエミュレーション
サイクルにおけるアドレスが与えられる。
The microcode information read from the microcode memory 370 is latched in the first code latch 372 in the 1st cycle and latched in the second code latch 374 in the 2nd cycle. The command information latched by the first code latch 372 is transmitted to the sequencer 352 via the decoder 376, and the operation of the entire circuit is determined based on this command information. Also,
The emulation address information latched by the first code latch 372 is output to the address decoder 362, whereby the memory address of the microcode memory 370 is generated. Further, the emulation address information is output on the PCI bus via the selector 386 and the output buffer 388, whereby the address in the emulation cycle is given.

【0249】第1、第2のコードラッチ372、374
にラッチされたデータ生成情報(ビットデータ、ビット
定義)は、ライトデータ生成部378、リードデータ生
成部382に出力される。ライトデータ生成部378
は、ビットデータ情報と、ビット定義情報と、CPUか
らライトデータと、エミュレーションで得られたデータ
とに基づいて、エミュレーションサイクルにおけるライ
トデータを生成する。また、リードデータ生成部382
は、ビットデータ情報と、ビット定義情報と、エミュレ
ーションで得られたデータとに基づいて、エミュレーシ
ョンサイクルにおけるリードデータを生成する。なお、
TMPレジスタ380、384は、データラッチ35
8、入力バッファ390からの入力データを一時的にラ
ッチするものである。
First and second code latches 372, 374
The data generation information (bit data, bit definition) latched by is output to the write data generation unit 378 and the read data generation unit 382. Write data generation unit 378
Generates write data in an emulation cycle based on bit data information, bit definition information, write data from the CPU, and data obtained by emulation. In addition, the read data generation unit 382
Generates read data in the emulation cycle based on the bit data information, the bit definition information, and the data obtained by the emulation. In addition,
The TMP registers 380 and 384 are connected to the data latch 35.
8. It temporarily latches the input data from the input buffer 390.

【0250】次に、命令変換手段350の動作について
図64に示すフロチャート図を用いて説明する。まず、
FRAME=L(図60、図61のA1、A3)か否か
が判断され(ステップU1)、CPUにより発行された
命令(B1、B3参照)が、I/Oリード・I/Oライ
ト・割り込みアクノリッジのいずれのサイクルを要求す
るものであるかが判断される(ステップU2)。これら
のサイクルが要求された場合、マイクロコードメモリ3
70の出力イネーブル信号MOE=Lとし、マイクロコ
ードメモリ370にメモリアドレスを入力し(W1、W
3及びステップU3)、マイクロコードメモリ370の
1stリードサイクルを開始する。この場合のメモリア
ドレスMAは、CPUからのアドレス情報(B1、B
3)をアドレスデコーダ360によりデコードすること
により得られる。1stリードサイクル(X1、X3)
により得られたマイクロコード情報は、第1のコードラ
ッチ372にラッチされる(ステップU4)。そして、
ラッチされたマイクロコード情報に含まれるコマンド情
報はデコーダ376を介してシーケンサ352に入力さ
れ、シーケンサ352は、このコマンド情報に基づいて
2ndリードサイクル(Y1、Y3)が必要か否かを判
断する(ステップU5)。必要と判断されたらメモリア
ドレスMAを変更する処理をシーケンサ352の指示に
基づきセレクタ364が行う(ステップU6)。具体的
には、この変更処理は、1stリードサイクルで使用さ
れたメモリアドレスのサイクルビット(図65(A)の
ビット14)を0から1に変更することで実現される。
2ndリードサイクルで得られたマイクロコード情報は
第2のコードラッチ374にラッチされ、その後MOE
=H、MA=HI−Zにされる(ステップU8)。そし
て、第1、第2のコードラッチ372、374にラッチ
されたマイクロコード情報等に基づいて、エミュレーシ
ョンサイクルにおけるアドレス、データ(N1、N3、
O1、R3)が生成される。
Next, the operation of the instruction converting means 350 will be described with reference to the flowchart shown in FIG. First,
It is determined whether or not FRAME = L (A1, A3 in FIGS. 60 and 61) (step U1), and the instruction issued by the CPU (see B1, B3) is an I / O read / I / O write / interrupt. It is determined which cycle of acknowledge is required (step U2). If these cycles are requested, the microcode memory 3
70 output enable signal MOE = L, and a memory address is input to the microcode memory 370 (W1, W
3 and step U3), the 1st read cycle of the microcode memory 370 is started. The memory address MA in this case is the address information (B1, B
3) is decoded by the address decoder 360. 1st read cycle (X1, X3)
The microcode information obtained by is latched in the first code latch 372 (step U4). And
The command information included in the latched microcode information is input to the sequencer 352 via the decoder 376, and the sequencer 352 determines whether or not the 2nd read cycle (Y1, Y3) is necessary based on this command information ( Step U5). If it is determined to be necessary, the selector 364 performs the process of changing the memory address MA based on the instruction from the sequencer 352 (step U6). Specifically, this change processing is realized by changing the cycle bit (bit 14 in FIG. 65A) of the memory address used in the first read cycle from 0 to 1.
The microcode information obtained in the 2nd read cycle is latched in the second code latch 374 and then MOE.
= H, MA = HI-Z (step U8). Then, based on the microcode information latched by the first and second code latches 372 and 374, the address and data (N1, N3,
O1, R3) is generated.

【0251】エミュレーションサイクルにおいては、第
1のコードラッチ372からアドレスデコーダ362を
介して入力されるエミュレーションアドレス情報がセレ
クタ364により選択され、マイクロコードメモリ37
0のメモリアドレスが生成される。即ち、本実施例で
は、エミュレーションアドレス(N3)が、エミュレー
ションサイクルにおけるマイクロコードメモリ370の
メモリアドレスMA(X4)となる。2回目のエミュレ
ーションサイクルが起動された場合にも、その時のエミ
ュレーションアドレス(N4)がメモリアドレスMA
(X5)となる。命令変換手段350は、エミュレーシ
ョンサイクルが必要なくなるまで以上の動作を繰り返
す。この場合、次のエミュレーションサイクルを起動す
るか否かは後述するようにマイクロコード情報に含まれ
る継続ビット(図65(B)のビット30)で判断す
る。このように本実施例によれば、2回目以降のエミュ
レーションサイクルにおけるメモリのアドレスは、前回
に読み出されたマイクロコード情報に含まれるエミュレ
ーションアドレス情報により決められる。また、次のエ
ミュレーションサイクルを起動するか否かは前回に読み
出されたマイクロコード情報に含まれるコマンド情報
(継続ビット)により決められる。従って、マイクロコ
ードメモリ370に記憶されるエミュレーションアドレ
ス情報及びコマンド情報(継続ビット)を変えるだけ、
エミュレーションアドレスの異なるエミュレーションサ
イクルを任意の回数だけ起動させることができる。これ
により複雑なエミュレーション処理を簡易に実現でき、
複数互換における互換性をより高めることができる。
In the emulation cycle, the emulation address information input from the first code latch 372 via the address decoder 362 is selected by the selector 364, and the microcode memory 37 is selected.
A memory address of 0 is generated. That is, in this embodiment, the emulation address (N3) becomes the memory address MA (X4) of the microcode memory 370 in the emulation cycle. Even when the second emulation cycle is started, the emulation address (N4) at that time is the memory address MA.
(X5). The instruction conversion means 350 repeats the above operation until the emulation cycle is no longer needed. In this case, whether or not to start the next emulation cycle is determined by the continuation bit (bit 30 in FIG. 65B) included in the microcode information as described later. As described above, according to this embodiment, the address of the memory in the second and subsequent emulation cycles is determined by the emulation address information included in the microcode information read last time. Whether or not to start the next emulation cycle is determined by the command information (continuation bit) included in the previously read microcode information. Therefore, only changing the emulation address information and command information (continuation bit) stored in the microcode memory 370,
Emulation cycles with different emulation addresses can be activated any number of times. This makes it possible to easily implement complicated emulation processing,
The compatibility in multiple compatibility can be improved.

【0252】4.マイクロコード情報の説明 次に、図65(A)〜(F)を用いて、マイクロコード
メモリ370に記憶されるマイクロコード情報について
説明する。図65(A)、(C)には、マイクロコード
メモリ370に入力されるメモリアドレスのデータフォ
ーマットが示される。図65(A)は1stサイクル、
図65(C)は2ndサイクルのものであり、両者は、
サイクルビット(ビット14)の値のみが異なる。EA
3〜EA0、A7〜A0は、CPUからの命令に含まれ
るアドレス情報又はエミュレーションアドレス情報をデ
ータ圧縮することで得られるものである。また、オプシ
ョンビットOP0、OP1は、EA3〜EA0、A7〜
A0が同一の時に異なるマイクロコード情報を得たい場
合に使用するものである。即ち、EA3〜EA0、A7
〜A0が同一でも、このオプションビットを異ならせる
ことにより異なるメモリアドレスをマイクロコードメモ
リ370に出力することができ、これにより異なるマイ
クロコード情報を得ることができる。サイクルビット
は、1stサイクルと2ndサイクルを区別するための
ビットであり、R/Wビットは、起動されるサイクルが
リードサイクルか、ライトサイクルかを区別するための
ビットである。
4. Description of Microcode Information Next, the microcode information stored in the microcode memory 370 will be described with reference to FIGS. 65 (A) to (F). FIGS. 65A and 65C show the data format of the memory address input to the microcode memory 370. FIG. 65 (A) shows the 1st cycle,
FIG. 65 (C) is for the 2nd cycle, and both are
Only the value of the cycle bit (bit 14) differs. EA
3 to EA0 and A7 to A0 are obtained by data compression of the address information or the emulation address information included in the instruction from the CPU. The option bits OP0 and OP1 are EA3 to EA0 and A7 to
This is used to obtain different microcode information when A0 is the same. That is, EA3 to EA0, A7
Even if A0 is the same, different memory addresses can be output to the microcode memory 370 by making the option bits different, whereby different microcode information can be obtained. The cycle bit is a bit for distinguishing the 1st cycle and the 2nd cycle, and the R / W bit is a bit for distinguishing whether the activated cycle is a read cycle or a write cycle.

【0253】1stサイクルで出力されるマイクロコー
ド情報は、図65(B)に示すように、コマンド・デー
タ生成(ビットデータ)・エミュレーションアドレスの
情報を含む。エミュレーションアドレス情報A15〜A
0、データ生成情報D7〜D0は、エミュレーションサ
イクルにおけるアドレス、データを得るためのものであ
る。即値ビットは、D7〜D0をエミュレーションデー
タとしてそのまま使用することを指示するビットであ
る。即ち、即値ビット=1となると、ライトデータ生成
部378は第1のコードラッチ372からのビットデー
タD7〜D0を選択する。これにより、セレクタ38
6、出力バッファ388を介してD7〜D0がエミュレ
ーションデータとしてPCIバス上に出力される。AD
ビットは、アドレスのみを変換することを指示するビッ
トであり、ADビット=1となると、エミュレーション
においてアドレス変換のみが行われ、CPUからのデー
タ等がそのままエミュレーションデータとして選択され
る。なお、この時にD7〜D0はCPUからのデータ等
をマスクするデータとして使用される。TMPWビット
は、TMPレジスタ380、384にデータを格納する
ことを指示するビットである。スルービットは、アドレ
ス及びデータを変換しないでそのまま出力することを指
示するビットである。無視ビットは、エミュレーション
サイクル自体を起動しないことを指示するビットであ
る。スルービット=1の場合には、Xバス、ISAバス
上のデバイス制御手段にCPUからの命令がそのまま伝
わる。これに対して、無視ビット=1の場合には、FR
AMESがマスクされているため、これらのデバイス制
御手段にはCPUからの命令が伝わらない。これにより
例えば98用のビデオコントローラ316のみに命令を
伝えることが可能となる。INTAビットは、割り込み
アクノリッジサイクル用の特殊変換(第5の実施例参
照)を指示するビットである。継続ビットは、次のエミ
ュレーションサイクルの起動を指示するビットであり、
継続ビット=1の場合には次のエミュレーションサイク
ルが起動される。この継続ビットを使用すれば所望する
回数だけエミュレーションサイクルを起動することが可
能となる。R/Wビットは、起動するエミュレーション
サイクルがリードサイクルかライトサイクルかを指示す
るビットである。
The microcode information output in the 1st cycle includes command / data generation (bit data) / emulation address information, as shown in FIG. 65 (B). Emulation address information A15 to A
0 and data generation information D7 to D0 are for obtaining addresses and data in the emulation cycle. The immediate bits are bits that instruct to use D7 to D0 as emulation data as they are. That is, when the immediate value bit = 1, the write data generator 378 selects the bit data D7 to D0 from the first code latch 372. As a result, the selector 38
6. D7 to D0 are output on the PCI bus as emulation data via the output buffer 388. AD
The bit is a bit instructing to convert only the address. When AD bit = 1, only the address conversion is performed in the emulation, and the data or the like from the CPU is directly selected as the emulation data. At this time, D7 to D0 are used as data for masking data or the like from the CPU. The TMPW bit is a bit instructing to store data in the TMP registers 380 and 384. The through bit is a bit for instructing to output the address and data without conversion. The ignore bit is a bit indicating that the emulation cycle itself is not activated. When the through bit = 1, the instruction from the CPU is transmitted as it is to the device control means on the X bus and the ISA bus. On the other hand, when the ignore bit = 1, FR
Since the AMES is masked, no command from the CPU is transmitted to these device control means. This makes it possible to transmit the command only to the video controller 316 for 98, for example. The INTA bit is a bit for instructing special conversion for the interrupt acknowledge cycle (see the fifth embodiment). The continuation bit is a bit that instructs the activation of the next emulation cycle,
When the continuation bit = 1, the next emulation cycle is activated. By using this continuation bit, it is possible to activate the emulation cycle as many times as desired. The R / W bit is a bit indicating whether the emulation cycle to be activated is a read cycle or a write cycle.

【0254】図65(D)のビット定義情報は、図65
(B)のビットデータ情報D7〜D0と共にエミュレー
ションデータの生成処理に使用される。このデータ生成
処理は、2nd(メモリーリード)サイクル終了後に行
われる。そして、2ndサイクルを起動するか否かは図
65(B)のコマンド情報の中のビット24、25、2
7、28により判断され、これらの全てのビットが0の
場合に起動される。これは、例えば即値ビット=1の時
はD7〜D0がそのままエミュレーションデータとなる
ため、2ndサイクルを起動する必要が無いからであ
る。このように本実施例では、1stサイクルでリード
されたコマンド情報に基づいて2ndサイクルを起動す
るか否かを判断している。従って無駄なメモリーリード
サイクルの起動が防止される。また、本実施例では、デ
ータ生成情報を、1stサイクルで読み出されるビット
データ情報と2ndサイクルで読み出されるビット定義
情報とに分けている。これにより1st及び2ndサイ
クルのマイクロコード情報を共に32ビットとすること
ができ、マイクロコードメモリ370の出力バスを32
ビットバスとすることができる。これによりメモリ制御
を簡易にでき、ハードウェアを小規模化できる。
The bit definition information of FIG. 65D is as shown in FIG.
It is used in the emulation data generation process together with the bit data information D7 to D0 of (B). This data generation process is performed after the end of the 2nd (memory read) cycle. Whether or not to activate the 2nd cycle is determined by bits 24, 25, and 2 in the command information of FIG.
7 and 28, activated when all these bits are 0. This is because, for example, when the immediate bit = 1, D7 to D0 become the emulation data as they are, and it is not necessary to activate the 2nd cycle. As described above, in this embodiment, it is determined whether or not to activate the second cycle based on the command information read in the first cycle. Therefore, useless activation of the memory read cycle is prevented. Further, in this embodiment, the data generation information is divided into bit data information read in the 1st cycle and bit definition information read in the 2nd cycle. As a result, both the microcode information of the 1st and 2nd cycles can be set to 32 bits, and the output bus of the microcode memory 370 can be 32 bits.
It can be a bit bus. As a result, memory control can be simplified and the hardware can be downsized.

【0255】次に、エミュレーションデータのビット7
を例にとり、データ生成処理を説明する。例えばビット
データD7=1の場合には図65(E)の表が使用され
る。即ち、ビット7の定義情報(図65の(D)のビッ
ト31〜28)が(0000)の場合には、エミュレー
ションデータのビット7にはCPUからのライトデータ
又はエミュレーションのリードデータのビット0が割り
当てられる。同様に定義情報が(0001)の時にはビ
ット1が割り当てられる。また、定義情報が(100
0)の時、即ち反転ビットが1の時には、ビット0を反
転したものがビット7に割り当てられる。なお、CPU
のライトデータを割り当てるかエミュレーションのリー
ドデータを割り当てるかは、ライトサイクルかリードサ
イクルかで判断する。一方、D7=0の場合には図65
(F)が使用され、定義情報が(0000)の時にはビ
ット7は0に固定され(0001)の時には1に固定さ
れる。また、定義情報が(0010)の時には前回に生
成されたエミュレーションデータを割り当てる。定義情
報が(0011)〜(1111)の場合の処理は図65
(F)に示す通りである。なお、図65(F)のデコー
ド展開は、パラレルコントローラにおいてモード設定を
行う場合に使用される。
Next, bit 7 of the emulation data
The data generation process will be described with reference to FIG. For example, when the bit data D7 = 1, the table of FIG. 65 (E) is used. That is, when the definition information of bit 7 (bits 31 to 28 in (D) of FIG. 65) is (0000), bit 7 of emulation data is bit 0 of write data from the CPU or emulation read data. Assigned. Similarly, when the definition information is (0001), bit 1 is assigned. Also, the definition information is (100
0), that is, when the inversion bit is 1, an inverted version of bit 0 is assigned to bit 7. In addition, CPU
Whether to allocate the write data or the emulation read data is determined by the write cycle or the read cycle. On the other hand, when D7 = 0, FIG.
When (F) is used and the definition information is (0000), bit 7 is fixed to 0 and when it is (0001), it is fixed to 1. When the definition information is (0010), the emulation data generated last time is assigned. The processing when the definition information is (0011) to (1111) is shown in FIG.
This is as shown in (F). The decoding expansion of FIG. 65 (F) is used when the mode is set in the parallel controller.

【0256】5.具体例1 次に、第6の実施例でシリアルコントローラについての
エミュレート処理を行う場合の具体例を説明する。第3
の実施例で説明したように、シリアルコントローラとし
て、98機では8251Aを使用しAT機ではNS16
550A(8250A)を使用している。また、これら
のシリアルコントローラのI/O(ポート)アドレス
は、98機では0030h〜0032hでありAT機で
は03F8h〜03FFhである。98機では、シリア
ルコントローラのステータスレジスタのI/Oアドレス
は0032hである。そして、図66に示すように、D
SRは、98機では0032hのビット7に、AT機で
は03FEhのビット5に配置される。また、SYNC
/BRKは98機では0032hのビット6にAT機で
は03FDhのビット7に配置される。従って、003
2hのI/Oポートがリードされた場合、サブコントロ
ーラ300は、03FEhと03FDhの2つのI/O
ポートをリードする必要がある。この時の手順を図6
7、68を用いて説明する。
5. Specific Example 1 Next, a specific example in the case of performing the emulation process for the serial controller in the sixth embodiment will be described. Third
As described in the above embodiment, as the serial controller, 8251A is used for 98 machines and NS16 is used for AT machines.
550A (8250A) is used. The I / O (port) addresses of these serial controllers are 0030h to 0032h for 98 machines and 03F8h to 03FFh for AT machines. In the 98 machine, the I / O address of the status register of the serial controller is 0032h. Then, as shown in FIG.
The SR is arranged in bit 7 of 0032h in the 98 machine and in bit 5 of 03FEh in the AT machine. Also, SYNC
/ BRK is arranged in bit 6 of 0032h in the 98 machine and in bit 7 of 03FDh in the AT machine. Therefore, 003
When the I / O port of 2h is read, the sub-controller 300 detects two I / Os of 03FEh and 03FDh.
Need to read port. The procedure at this time is shown in FIG.
This will be described using 7, 68.

【0257】(1)CPUにより0032hがリードさ
れると(図67のA1参照)、FRAME信号がアサー
トされ、マイクロコードメモリ370の1st(メモリ
リード)サイクルが起動される。リードサイクルの時は
図65(A)のビット15(R/Wビット)=1とな
る。従ってCPUからのアドレス0032hはアドレス
デコーダ360によりデコードされ、メモリアドレスは
8032hとなる(図67のB1参照)。このメモリア
ドレスには、C07F03FDhというマイクロコード
情報が記憶されている(C1参照)。コマンド情報がC
0hであるためビット24、25、27、28(図65
(B)参照)は共に0であり、データ生成が必要である
と判断される。これにより、2ndサイクルが起動され
る。2ndサイクルのメモリアドレスは、1stサイク
ルのメモリアドレス8O32hのビット14(サイクル
ビット)が1となるだけなのでC032hとなる(D1
参照)。このアドレスには07312605hというデ
ータが記憶されている(E1参照)。以上のようにして
得られたデータCO7F03FDh、07312605
hは第1、第2のコードラッチ372、374にラッチ
される。
(1) When 0032h is read by the CPU (see A1 in FIG. 67), the FRAME signal is asserted and the 1st (memory read) cycle of the microcode memory 370 is activated. In the read cycle, bit 15 (R / W bit) = 1 in FIG. 65 (A). Therefore, the address 0032h from the CPU is decoded by the address decoder 360, and the memory address becomes 8032h (see B1 in FIG. 67). Microcode information C07F03FDh is stored in this memory address (see C1). Command information is C
Since it is 0h, bits 24, 25, 27, 28 (Fig. 65)
(See (B)) are both 0, and it is determined that data generation is necessary. This activates the 2nd cycle. The memory address of the 2nd cycle becomes C032h because only the bit 14 (cycle bit) of the memory address 8O32h of the 1st cycle becomes 1. (D1
reference). The data 0731605h is stored at this address (see E1). The data CO7F03FDh, 0731605 obtained as described above
h is latched by the first and second code latches 372 and 374.

【0258】(2)PCIバス上には0032hのI/
Oアドレスを持つターゲットが存在しないため、DEV
SEL信号はアサートされない。この結果、サブコント
ローラ300がサブトラクトのタイミングでDEVSE
L信号及びSTOP信号をアサートすると、CPUによ
り起動されたPCIサイクルはリトライで終了する。
(2) I / O of 0032h on the PCI bus
DEV because there is no target with O address
The SEL signal is not asserted. As a result, the sub-controller 300 is set to DEVSE at the timing of subtraction.
When the L signal and the STOP signal are asserted, the PCI cycle started by the CPU ends with a retry.

【0259】(3)今度は、サブコントローラ300が
マスター、SIO310がターゲットとなってエミュレ
ーションサイクルが開始される(F1参照)。1stサ
イクルでは、第1のコードラッチ372にラッチされて
いるデータC07F03FDh(C1参照)のコマンド
情報から、リードサイクル(図65(B)のビット31
=1)であり、次のエミュレーションサイクルがあり
(ビット30=1)、エミュレーションアドレスは03
FDh(ビット15〜0)であることがわかる。この0
3FDhは、図66に示すように、98機の0032h
に対応するAT機のI/Oアドレスである。エミュレー
ションデータの生成は、lstサイクルでリードされた
ビットデータ情報7Fh(C1参照)、2ndサイクル
でリードされたビット定義情報07312605h(E
1参照)と、3FDhのリード動作により読み出された
エミュレーションリードデータ61h(G1参照)とに
より行われる。即ち、ビットデータ情報、ビット定義情
報は第1、第2のコードラッチ372、374から、エ
ミュレーションリードデータは入力バッファ390から
リードデータ生成部382に入力される。リードデータ
生成部382はこれらの情報からエミュレーションデー
タを生成する。図68にはその生成方法が示される。ビ
ット7は、ビットデータ情報が0でありビット定義情報
が0であるため、図65の(F)の表より0が割り当て
られる。また、ビット6〜0は、ビットデータ情報が1
でありビット定義情報が7、3、1、2、6、0、5で
あるため、図65の(E)の表より、エミュレーション
リードデータ61hのビット7、3、1、2、6、0、
5が割り当てられる。これにより、生成されるエミュレ
ーションデータは07hとなる。この07hはリードデ
ータ生成部382に保持され、次のエミュレーションデ
ータの生成のために使用される。
(3) This time, the sub-controller 300 becomes the master and the SIO 310 becomes the target to start the emulation cycle (see F1). In the 1st cycle, from the command information of the data C07F03FDh (see C1) latched by the first code latch 372, the read cycle (bit 31 in FIG. 65B) is read.
= 1), there is a next emulation cycle (bit 30 = 1), and the emulation address is 03.
It can be seen that it is FDh (bits 15-0). This 0
As shown in FIG. 66, the 3FDh has 98 units of 0032h.
Is the I / O address of the AT machine corresponding to. The emulation data is generated by bit data information 7Fh read in the 1st cycle (see C1) and bit definition information 0731605h (E read in the 2nd cycle).
1)) and emulation read data 61h (see G1) read by the 3FDh read operation. That is, the bit data information and the bit definition information are input from the first and second code latches 372 and 374, and the emulation read data is input from the input buffer 390 to the read data generation unit 382. The read data generation unit 382 generates emulation data from these pieces of information. FIG. 68 shows the generation method. Bit 7 has bit data information of 0 and bit definition information of 0, so 0 is assigned from the table of FIG. 65 (F). Bits 6 to 0 have bit data information of 1
Since the bit definition information is 7, 3, 1, 2, 6, 0, 5, the bits 7, 3, 1, 2, 6, 0 of the emulation read data 61h can be seen from the table of FIG. ,
5 is assigned. As a result, the generated emulation data becomes 07h. This 07h is held in the read data generation unit 382 and used to generate the next emulation data.

【0260】(4)上記の(3)の動作と同時に、次の
エミュレーションサイクルのためのマイクロコードメモ
リのリードサイクルが起動されている。この時のメモリ
アドレス81FDh(H1参照)は、エミュレーション
アドレス03FDh(I1参照)から生成される。この
場合、本実施例ではメモリアドレスを上位8ビットを4
ビット(図65(A)のビットEA3〜EA0)にエン
コードしてマイクロコードメモリの容量を節約してい
る。このため、エミュレーションアドレス03FDhの
上位バイト03hは、1hにエンコードされ、この結
果、メモリアドレスは81FDhになる。このアドレス
には808003FEhというデータが記憶されている
(J1参照)。コマンド情報は80hでありビット2
4、25、27、28が共に0であるため、エミュレー
ションデータの生成が必要であり2ndサイクルが起動
される。この時のメモリアドレスはC1FDhとなる
(K1参照)。このアドレスには52222222hと
いうデータが記憶されている(L1参照)。
(4) Simultaneously with the operation of (3), the read cycle of the microcode memory for the next emulation cycle is activated. The memory address 81FDh (see H1) at this time is generated from the emulation address 03FDh (see I1). In this case, in this embodiment, the upper 8 bits of the memory address are 4
Bits (bits EA3 to EA0 in FIG. 65A) are encoded to save the capacity of the microcode memory. Therefore, the upper byte 03h of the emulation address 03FDh is encoded into 1h, and as a result, the memory address becomes 81FDh. The data 808003FEh is stored at this address (see J1). Command information is 80h and bit 2
Since 4, 25, 27 and 28 are all 0, it is necessary to generate emulation data and the 2nd cycle is activated. The memory address at this time is C1FDh (see K1). Data of 5222222h is stored at this address (see L1).

【0261】(5)次に、サブコントローラ300が2
回目のエミュレーションサイクルを起動する。8080
03FEh(J1参照)のコマンド情報80hから、こ
のサイクルは最後のエミュレーションサイクル(ビット
30=0)であり、I/Oアドレス03FEh(ビット
15〜0)に対するリードサイクル(ビット31=1)
であるとわかる。また、エミュレーションデータは、ビ
ットデータ情報80h(J1参照)と、ビット定義情報
52222222h(L1参照)と、I/Oアドレス0
3FEhからのエミュレーションリードデータ20h
(M1参照)と、前回に生成されたエミュレーションデ
ータ07hとから生成される。図68にはその生成方法
が示される。ビット7は、ビットデータ情報が1でビッ
ト定義情報が5(0101)であるため、図65(E)
の表より、エミュレーションリードデータ20hのビッ
ト5が割り当てられる。また、ビット6〜0は、ビット
データ情報が0でビット定義情報が2(0010)であ
るため、図65(F)の表より、前回に生成されたエミ
ュレーションデータ07hのビット6〜0が割り当てら
れる。この07hは、リードデータ生成部382に保持
されていたものである。これにより、エミュレーション
データ87hが生成される。
(5) Next, the sub controller 300
Start the second emulation cycle. 8080
From the command information 80h of 03FEh (see J1), this cycle is the last emulation cycle (bit 30 = 0), and the read cycle (bit 31 = 1) for the I / O address 03FEh (bit 15-0).
I understand. The emulation data includes bit data information 80h (see J1), bit definition information 5222222h (see L1), and I / O address 0.
Emulation read data 20h from 3FEh
(See M1) and the emulation data 07h generated last time. FIG. 68 shows the generation method. Bit 7 has bit data information of 1 and bit definition information of 5 (0101), so that FIG.
According to the table, bit 5 of the emulation read data 20h is assigned. Since bits 6 to 0 have bit data information of 0 and bit definition information of 2 (0010), bits 6 to 0 of the emulation data 07h generated last time are assigned from the table of FIG. 65 (F). To be This 07h is stored in the read data generation unit 382. As a result, the emulation data 87h is generated.

【0262】(6)上記(5)の2回目のエミュレーシ
ョンサイクルが終了するとサブコントローラ300はR
EQ信号をディアサートし、CPUにバスのアクセス権
が譲られる。これにより、CPUは0032h(N1参
照)のリード命令のリトライを行う。このリード命令に
対し、サブコントローラ300は、上記(5)で得られ
たエミュレーションデータ87h(O1参照)を出力す
る。以上の処理により、CPUはエミュレートされたデ
ータをリードすることが可能となる。
(6) When the second emulation cycle of (5) above is completed, the sub-controller 300 makes R
The EQ signal is deasserted, and the bus access right is given to the CPU. As a result, the CPU retries the read instruction of 0032h (see N1). In response to this read command, the sub controller 300 outputs the emulation data 87h (see O1) obtained in (5) above. Through the above processing, the CPU can read the emulated data.

【0263】6.具体例2 98機では割り込みコントローラとして2個の8259
Aを使用しており、マスターとなる割り込みコントロー
ラのI/Oアドレスは0000h、0002hとなって
いる。一方、AT機でも2個の8259Aを使用してお
り、マスターのI/Oアドレスは0020h、0021
hとなっている。また、図69(A)に示すように、9
8機とAT機とでは割り込み線(割り込みベクトル)に
対する割り込み要因の割り当てが異なっている。そし
て、AT機では図57に示すように割り込みコントロー
ラ305、307はSIO310に内蔵されている。こ
のため、第5の実施例で説明したように、割り込み線に
対する割り込み要因の割り当て変更をハードウェア変更
により実現することはできない。そこで、IRQ2とI
RQ7を交換(スレーブの位置を交換)するエミュレー
ト処理が必要になる。
6. Example 2 Two 8259 interrupt controllers in 98 machines
A is used, and the I / O addresses of the master interrupt controller are 0000h and 0002h. On the other hand, the AT machine also uses two 8259A, and the master I / O addresses are 0020h and 0021.
It is h. In addition, as shown in FIG.
The assignment of the interrupt factor to the interrupt line (interrupt vector) is different between the 8 machine and the AT machine. In the AT machine, the interrupt controllers 305 and 307 are built in the SIO 310 as shown in FIG. Therefore, as described in the fifth embodiment, it is impossible to change the allocation of the interrupt factor to the interrupt line by changing the hardware. So IRQ2 and I
An emulation process for exchanging RQ7 (exchanging the position of the slave) is required.

【0264】図69(B)に示すように、8259Aで
は同じI/Oアドレスであっても、その時の状態により
アクセスされるレジスタ等が異なる。例えば、I/Oア
ドレス0000h(98機の場合)に対してリード動作
を行っても、その時の状態によりIRRレジスタに対す
るアクセスになったりISRに対するアクセスになった
りする。また、リセット直後はイニシャライズシーケン
スを行なう必要があり、この時、4種類のICW(Init
ialization Command Word)1〜4を順番に設定する。
また、図69(B)においてIRR、ISRは現在の割
り込みの状態を知らせるための、IMRは割り込みマス
クを設定するためのレジスタである。また、OCW(Op
eration Command Word)1〜3は、イニシャライズシー
ケンス後に8259Aに対して送ることができるコマン
ドである。割り込み線に対する割り込み要因の割り当て
が98機とAT機とで異なることに起因してIRQ2と
IRQ7の交換処理をしなければならないのは、ICW
3、OCW1、OCW2、IRR、ISR、IMRの6
つである。この時の手順を図70、図71を用いて説明
する。
As shown in FIG. 69B, in the 8259A, even if the I / O address is the same, the accessed register and the like differ depending on the state at that time. For example, even if a read operation is performed on the I / O address 0000h (in the case of 98 machines), access to the IRR register or access to the ISR may occur depending on the state at that time. Also, it is necessary to perform the initialization sequence immediately after reset, and at this time, four types of ICW (Init
ialization Command Word) 1 to 4 are set in order.
Further, in FIG. 69B, IRR and ISR are registers for notifying the current interrupt status, and IMR is a register for setting an interrupt mask. Also, OCW (Op
eration Command Words) 1 to 3 are commands that can be sent to the 8259A after the initialization sequence. The reason why IRQ2 and IRQ7 must be exchanged because the assignment of the interrupt factor to the interrupt line differs between the 98 machine and the AT machine is ICW.
3, OCW1, OCW2, IRR, ISR, IMR 6
Is one. The procedure at this time will be described with reference to FIGS. 70 and 71.

【0265】(1)リセット後は8259AはICW1
を受け付ける状態になっており、このため、アプリケー
ションプログラム(又はOS)はまず0000hにIC
W1をライトする。この時のCPUからのライトデータ
は11hであり、98機でもAT機でも同じである。ま
た、この時の1stサイクルのメモリアドレスは000
0hであり、このアドレスには00FF0020hとい
うデータが記憶されている(図70のP1参照)。この
時、コマンド情報が00hであるため2ndサイクルが
起動され、2ndサイクルのメモリアドレスは4000
hとなる。このメモリアドレスには76543210h
というデータが記憶されている(図70のQ1参照)。
この時のエミュレーションデータの生成は、第1のコー
ドラッチ372からのビットデータ情報FFhと、第2
のコードラッチ374からのビット定義情報76543
210hと、データラッチ358からのCPUライトデ
ータ11hとに基づき、ライトデータ生成部378によ
り行われる。この場合、図71に示すようにビットデー
タ情報は全て1であり、ビット定義情報7、6、5、
4、3、2、1、0である。従って、図71に示すよう
にエミュレーションデータはCPUのライトデータと全
く同一になる。従って、アドレスのみが0020hに変
換され、CPUのライトデータと同一のエミュレーショ
ンデータ11hがライトされる(図70のR1参照)。
即ち、ICW1についてはIRQ2とIRQ7の交換処
理が必要ないためI/Oアドレスのみが変換される。
(1) After reset, the 8259A has ICW1
Therefore, the application program (or OS) first receives an IC at 0000h.
Write W1. The write data from the CPU at this time is 11h, which is the same for both 98 and AT machines. The memory address of the 1st cycle at this time is 000.
It is 0h, and the data 00FF0020h is stored at this address (see P1 in FIG. 70). At this time, since the command information is 00h, the 2nd cycle is started, and the memory address of the 2nd cycle is 4000.
h. 76543210h is set to this memory address
Is stored (see Q1 in FIG. 70).
The generation of the emulation data at this time is performed by using the bit data information FFh from the first code latch 372 and the second bit data information FFh.
Definition information 76543 from the code latch 374 of
Based on 210h and the CPU write data 11h from the data latch 358, it is performed by the write data generation unit 378. In this case, the bit data information is all 1 as shown in FIG. 71, and the bit definition information 7, 6, 5,
4, 3, 2, 1, 0. Therefore, as shown in FIG. 71, the emulation data is exactly the same as the CPU write data. Therefore, only the address is converted into 0020h, and the same emulation data 11h as the write data of the CPU is written (see R1 in FIG. 70).
That is, for ICW1, only the I / O address is converted because the exchange process of IRQ2 and IRQ7 is not required.

【0266】(2)ICW1が設定されると、アプリケ
ーションプログラムは次にICW2の設定を行う。CP
Uのライトアドレスは0002hであり、データは08
hであある。この時のメモリアドレスは0002hで、
得られるデータは02FF0021hである。コマンド
情報は02hでありADビット(図65(B)のビット
25)が1であるため、アドレス変換のみを行う。この
ため2ndサイクルは起動されない。これにより、エミ
ュレーションサイクルでは0021hのI/Oアドレス
に08hのデータがライトされる(図70のS1参
照)。このように、本実施例ではマイクロコードメモリ
のリードのサイクルを2回に分け、1回目に読み出され
たマイクロコード情報に含まれるコマンド情報(AD・
即値・スルー・無視ビット)に基づき2回目のメモリリ
ードサイクルを起動するか否かを判断しているため、無
駄なメモリーリードサイクルの起動が防止される。即ち
上記(1)では、アドレスのみ変更しデータは変更しな
いという処理を行うのに2回のメモリリードサイクルを
必要としたが、(2)ではADビットを用いることでこ
れを1回のメモリリードサイクルで済ましている。
(2) When ICW1 is set, the application program next sets ICW2. CP
The write address of U is 0002h, and the data is 08
h. The memory address at this time is 0002h,
The data obtained is 02FF0021h. Since the command information is 02h and the AD bit (bit 25 in FIG. 65B) is 1, only address conversion is performed. Therefore, the 2nd cycle is not activated. As a result, in the emulation cycle, the data of 08h is written to the I / O address of 0021h (see S1 in FIG. 70). As described above, in this embodiment, the read cycle of the microcode memory is divided into two, and the command information (AD.
Since it is determined whether to activate the second memory read cycle based on the immediate value / through / ignore bit), useless activation of the memory read cycle is prevented. That is, in the above (1), two memory read cycles are required to perform the process of changing only the address and not the data. However, in (2), this is performed once by using the AD bit. It's done in cycles.

【0267】(3)次に、ICW3の設定を行う。IC
W3はスレーブ位置を決めるもので、98用のアプリケ
ーションプログラムは0002hに80hをライトして
くる。これは、図72に示すようにICW3ではビット
7=1(80h)とすることでスレーブの位置をIRQ
7に設定できるからである。しかしながら、前述のよう
にAT機ではスレーブ位置はIRQ2であり(図69
(A)参照)、ハードウェア変更によりこれを変えるこ
とはできない。そこで、ICW3の設定の際に04h
(ビット2=1)をライトするエミュレート処理が必要
になる。この時のメモリアドレスは0002hである。
しかし、上記(2)においてICW2を設定する時のア
ドレスも0002hとなっている。従って、メモリアド
レスを上記(2)と同じ0002hにすると、同じマイ
クロコード情報が読み出されてしまい、ICW2、IC
W3に対するエミュレーション処理を区別できなくな
る。そこで、この場合にオプションビット(図65
(A)のビット12、13)を用いる。具体的には、O
P1=1としメモリアドレスとして2002hを生成
し、このメモリアドレスに01040021hというデ
ータを記憶しておく。するとコマンド情報が01hであ
り即値ビットが1となるため、データ生成情報D7〜D
0がそのままエミュレーションデータとなる。これによ
り、ビットデータ情報の04hがアドレス0021hに
そのままライトされる(図70のT1参照)。また、2
ndサイクルは起動されない。
(3) Next, the ICW3 is set. IC
W3 determines the slave position, and the application program for 98 writes 80h to 0002h. As shown in FIG. 72, this is done by setting bit 7 = 1 (80h) in ICW3 to set the slave position to IRQ.
This is because it can be set to 7. However, as described above, in the AT machine, the slave position is IRQ2 (see FIG. 69).
(See (A)), this cannot be changed by changing the hardware. Therefore, when setting ICW3, 04h
Emulation processing for writing (bit 2 = 1) is required. The memory address at this time is 0002h.
However, the address when setting the ICW2 in the above (2) is also 0002h. Therefore, if the memory address is set to 0002h, which is the same as in (2) above, the same microcode information will be read, and ICW2, IC
The emulation processing for W3 cannot be distinguished. Therefore, in this case, the option bit (see FIG.
Bits 12 and 13 of (A) are used. Specifically, O
With P1 = 1, 2002h is generated as a memory address, and the data 01040021h is stored in this memory address. Then, since the command information is 01h and the immediate value bit is 1, the data generation information D7 to D
0 becomes the emulation data as it is. As a result, 04h of the bit data information is directly written to the address 0021h (see T1 in FIG. 70). Also, 2
The nd cycle is not activated.

【0268】(4)イニシャライズシーケンスの最後は
ICW4の設定である。ICW4のI/Oアドレスは0
002hである。しかし、ライトデータは98機では1
Dhであり、AT機ではビット3=0、ビット2=0と
なる(ノンバッファモードにするため)。また、この場
合のメモリアドレスもICW2、ICW3のエミュレー
ションに使用されるメモリアドレスと区別する必要があ
り、具体的にはOP1=1、OP0=1としメモリアド
レス3002hでリード動作を行う。このメモリアドレ
スには02F30021hというデータが記憶されてい
る。この場合、コマンド情報が02hでありADビット
=1となり、またビットデータ情報D7〜D0はF3h
となる。従って、図71に示すように、ビット7〜4及
びビット1、0がCPUライトデータと同一で、ビット
3、2が0となるエミュレーションデータが生成され
る。これにより、エミュレーションサイクルにおいてI
/Oアドレス0021hにデータ11hがライトされる
ことになる(図70のU1参照)。
(4) The end of the initialization sequence is the setting of ICW4. ICW4 I / O address is 0
It is 002h. However, the write data is 1 for 98 machines.
It is Dh, and bit 3 = 0 and bit 2 = 0 are set in the AT machine (in order to enter the non-buffer mode). The memory address in this case also needs to be distinguished from the memory address used for emulation of ICW2 and ICW3. Specifically, OP1 = 1 and OP0 = 1 are set, and the read operation is performed at the memory address 3002h. The data 02F30021h is stored in this memory address. In this case, the command information is 02h, the AD bit is 1, and the bit data information D7 to D0 is F3h.
Becomes Therefore, as shown in FIG. 71, emulation data in which bits 7 to 4 and bits 1 and 0 are the same as CPU write data and bits 3 and 2 are 0 are generated. This allows the I
The data 11h is written to the / O address 0021h (see U1 in FIG. 70).

【0269】(5)この後、8259Aは通常の動作モ
ードに入る。OCW1は、割り込みのマスクを解除する
コマンドであり、例えばスレーブの割り込みを許可する
には0002hに7Fhをライトする必要がある。この
時はOP0=1とし、メモリアドレスを1002hとす
る。このメモリアドレスには00FF0021hという
データが記憶されている。この場合、コマンド情報が0
0hであるため2ndサイクルが起動される。2ndサ
イクルのメモリアドレスは5002hであり、記憶され
ているデータは26543710hである。ビットデー
タ情報はFFhでありビット定義情報は2654371
0hであるため、図71に示すように、ビット2とビッ
ト7を交換する処理が行われる。これにより0021h
にFBhがライトされる(図70のV1参照)。図73
に示すOCW1では、ビット7=0でIRQ7の割り込
みが許可されビット2=0でIRQ2の割り込みが許可
される。スレーブの割り込みを許可する処理を行う場
合、98用のアプリケーションプログラムは、命令の発
行先は98機であると考えデータ7Fh(ビット7=0
でIRQ7を許可する)をライトする。すると、本実施
例のエミュレートシステムがこの7FhをFBh(ビッ
ト2=0でIRQ2を許可する)に変換しAT機のハー
ドウェアに伝える。これにより、98用のアプリケーシ
ョンプログラムでAT機を動作させることができ、互換
性を維持できる。
(5) After this, the 8259A enters the normal operation mode. OCW1 is a command for canceling the interrupt mask. For example, 7Fh must be written to 0002h to enable the slave interrupt. At this time, OP0 = 1 and the memory address is 1002h. The data 00FF0021h is stored in this memory address. In this case, the command information is 0
Since it is 0h, the 2nd cycle is started. The memory address of the 2nd cycle is 5002h, and the stored data is 26543710h. The bit data information is FFh and the bit definition information is 2654371.
Since it is 0h, a process of exchanging bit 2 and bit 7 is performed as shown in FIG. This makes 0021h
FBh is written to (see V1 in FIG. 70). FIG. 73
In OCW1 shown in (1), the interrupt of IRQ7 is enabled when bit 7 = 0 and the interrupt of IRQ2 is enabled when bit 2 = 0. When performing the process of permitting the slave interrupt, the application program for 98 considers that the instruction is issued to 98 machines, and outputs the data 7Fh (bit 7 = 0).
Write IRQ7). Then, the emulation system of the present embodiment converts this 7Fh into FBh (bit 2 = 0 permits IRQ2) and sends it to the hardware of the AT machine. As a result, the AT machine can be operated by the application program for 98, and compatibility can be maintained.

【0270】(6)OCW2は、割り込み処理の中でE
OI(End Of Interrupt)を発行する場合に使われるコ
マンドである。スレーブに対しEOIを発行するとき、
アプリケーションプログラムはI/Oアドレス0000
hにデータ67hをライトする。これは、IRQ7の割
り込みを終了させる命令となるが、AT機においてはI
RQ2の割り込みを終了させなければならない。従って
データを62hに変更する必要がある。1stサイクル
のメモリアドレスは上記(1)と同じ0000hであ
り、得られるデータは00FF0020hとなる。一
方、2ndサイクルではOP0=1としメモリアドレス
は5000hとなり、得られるデータは76543A1
8hとなる。ビットデータ情報はFFhなので図65
(E)の表を使用する。すると、図71に示すようにエ
ミュレーションデータのビット7〜3、1にはCPUの
ライトデータがそのまま割り当てられる。一方、ビット
2、0には、反転ビット=1となるためCPUのライト
データのビット2、0を反転したデータが割り当てられ
る。以上よりI/Oアドレス0020hに62hがライ
トされる(図70のW1参照)。
(6) OCW2 returns E during interrupt processing.
This is a command used when issuing an OI (End Of Interrupt). When issuing an EOI to a slave,
The application program is I / O address 0000
The data 67h is written in h. This is an instruction to end the interrupt of IRQ7, but I
The RQ2 interrupt must be terminated. Therefore, it is necessary to change the data to 62h. The memory address in the 1st cycle is 0000h, which is the same as in (1) above, and the obtained data is 00FF0020h. On the other hand, in the 2nd cycle, OP0 = 1, the memory address becomes 5000h, and the obtained data is 76543A1.
It will be 8h. Since the bit data information is FFh, FIG.
Use the table in (E). Then, as shown in FIG. 71, bits 7 to 3 and 1 of the emulation data are directly assigned with the CPU write data. On the other hand, since the inversion bit = 1, the bits 2 and 0 are assigned the data obtained by inverting the bits 2 and 0 of the CPU write data. From the above, 62h is written to the I / O address 0020h (see W1 in FIG. 70).

【0271】(7)IMRはOCW1によりライトした
マスク情報をリードするためのポートであり、そのI/
Oアドレスは0002hである。このためメモリアドレ
スは8002hとなり、得られるデータは80FF00
21hとなる。また、2ndサイクルのメモリアドレス
はC002hとなり、得られるデータは2654371
0hとなる。コマンド情報は80hとなるためリードサ
イクルとなり、I/Oアドレス0021hでリードされ
たデータFBh(図70のX1参照)がリードデータ生
成部382に入力される。このリードデータFBhと、
ビットデータ情報FFhと、ビット定義情報26543
710hとによりエミュレーションデータが生成され
る。この場合は、図71に示すようにビット7とビット
2を交換する処理が行われ、エミュレーションデータ7
Fhが得られる。そして、リトライの動作の際にCPU
がこの7Fhをリードすることになる(図70のY1参
照)。 IRR、ISRは割り込みのリクエスト情報、
サービス情報をリードするためのボートで変換処理の方
法はIMRの場合と同様である。以上ようにしてAT機
において98用のアプリケーションプログラムを動作さ
せることが可能になる。(第7の実施例)キーボードか
らの入力データ(以下、キーボードデータと呼ぶ)、マ
ウスからの入力データ(以下、マウスデータと呼ぶ)
を、第1のアーキテクチャに適合するものから第2のア
ーキテクチャに適合するものに変換する処理は大変複雑
である。そこで、この場合にはマイクロコードメモリ等
を用いずに前述の第4の実施例で述べたようにSMI処
理によりエミュレート処理を行う。第7の実施例はこの
変換処理についての実施例である。
(7) IMR is a port for reading the mask information written by OCW1, and its I / O
The O address is 0002h. Therefore, the memory address becomes 8002h, and the obtained data is 80FF00.
21h. Also, the memory address of the 2nd cycle is C002h, and the obtained data is 2654371.
It becomes 0h. Since the command information is 80h, it becomes a read cycle, and the data FBh (see X1 in FIG. 70) read at the I / O address 0021h is input to the read data generation unit 382. This read data FBh,
Bit data information FFh and bit definition information 26543
Emulation data is generated by 710h. In this case, the process of exchanging bit 7 and bit 2 is performed as shown in FIG.
Fh is obtained. Then, during the retry operation, the CPU
Will read this 7Fh (see Y1 in FIG. 70). IRR and ISR are interrupt request information,
The method of conversion processing by the boat for reading the service information is the same as in the case of IMR. As described above, the application program for 98 can be operated in the AT machine. (Seventh embodiment) Input data from a keyboard (hereinafter referred to as keyboard data), input data from a mouse (hereinafter referred to as mouse data)
Is very complicated to convert from the one adapted to the first architecture to the one adapted to the second architecture. Therefore, in this case, the emulation processing is performed by the SMI processing as described in the fourth embodiment without using the microcode memory or the like. The seventh embodiment is an embodiment of this conversion process.

【0272】まず、キーボードデータの読み出しのエミ
ュレート処理について説明する。AT機では、図74
(A)に示すように、キーボード・マウスコントローラ
392として1チップマイコンである8042が使用さ
れており、これとキーボード394内の1チップマイコ
ン395との間でシリアル通信が行われる。CPUとキ
ーボード・マウスコントローラ392との間では2つの
ポートを使用してデータ通信を行っている。これらのポ
ートのI/Oアドレスは0060h、0064hであ
り、0060hのポートはデータポートであり0064
hのポートはコマンド及びステータスレジスタのポート
である。98機では、図74(B)に示すように、キー
ボードコントローラ398としてシリアルコントローラ
である8251Aが使用されており、これとキーボード
400内の1チップマイコン401との間でシリアル通
信が行われる。CPUとキーボードコントローラ398
との間でも2つのI/Oボートを使用してデータ通信を
行っているが、8042のコマンドと8251Aのコマ
ンドとは全く異なっている。AT機でも98機でも共
に、キーボードのキーが押されると割り込みが発生され
CPUにリード命令発行の依頼が通知される。CPUに
よりデータがリードされると割り込みはクリアされる。
First, the emulation processing for reading keyboard data will be described. In the AT machine, Fig. 74
As shown in (A), a one-chip microcomputer 8042 is used as the keyboard / mouse controller 392, and serial communication is performed between this and the one-chip microcomputer 395 in the keyboard 394. Two ports are used for data communication between the CPU and the keyboard / mouse controller 392. The I / O addresses of these ports are 0060h and 0064h, and the port of 0060h is a data port.
The h port is the command and status register port. In the 98 machine, as shown in FIG. 74 (B), the serial controller 8251A is used as the keyboard controller 398, and serial communication is performed between this and the 1-chip microcomputer 401 in the keyboard 400. CPU and keyboard controller 398
Data communication is performed using two I / O boats, but the command of 8042 and the command of 8251A are completely different. In both the AT machine and the 98 machine, when a key on the keyboard is pressed, an interrupt is generated and the CPU is notified of the request to issue the read command. The interrupt is cleared when data is read by the CPU.

【0273】次に、本第7の実施例の構成及び動作につ
いて図75を用いて説明する。ATモードの時にはスイ
ッチ手段410はオンとなっており、KBIRQの割り
込みが発生すると割り込みコントローラ305、307
の制御によりCPU302に対してINTR割り込みが
発生する。一方、98モードの時にはスイッチ手段41
0はオフとなっており、KBIRQ割り込みが発生する
とサブコントローラ300がこれを受け付け、CPU3
02に対してSMI割り込みを発生する。SMIにより
起動されたSMMハンドラ(SMIBIOS)301
は、SMIの要因がキーボードと判断するとキーボード
・マウスコントローラ392からキーボードデータをリ
ードする。これによりキーボード・マウスコントローラ
392からの割り込みKBIRQはクリアーされる。A
T機と98機とでは、キーボードデータ(メイクデー
タ、ブレークデータ、キーコードテーブル等)のフォー
マットが全く異なっている。このため、SMMハンドラ
301は、キーボード・マウスコントローラ392から
リードしたデータを所定の変換テーブルを用いて変換す
る。次に、SMMハンドラ301は、変換したデータを
サブコントローラ300内の第1のレジスタ414にラ
イトする。第1のレジスタ414にデータがライトされ
ると、サブコントローラ300はSIO310に対して
割り込みKBIRQ’を発生する。これによりSIO3
10内の割り込みコントローラがINTR割り込みを発
生しCPU302に対してリード命令発行の依頼を通知
する。この時、SMI処理は終了している。CPU30
2(98用のアプリケーションプログラム)は、INT
R割り込みが発生したため、キーボード・マウスコント
ローラ392のデータレジスタをリードしにゆく。この
データレジスタのI/Oアドレスはサブコントローラ3
00により第1のレジスタ414のI/Oアドレスに変
換されている。これにより、98用に変換されたキーボ
ードデータがCPU302によりリードされる。第1の
レジスタ414がリードされると割り込みKBIRQ’
はクリアーされる。
Next, the configuration and operation of the seventh embodiment will be described with reference to FIG. In the AT mode, the switch means 410 is on, and when a KBIRQ interrupt occurs, the interrupt controllers 305 and 307.
An INTR interrupt is generated for the CPU 302 under the control of. On the other hand, in the 98 mode, the switch means 41
0 is off, and when the KBIRQ interrupt occurs, the sub controller 300 accepts it and the CPU 3
SMI interrupt to 02. SMM handler (SMBIOS) 301 activated by SMI
Reads the keyboard data from the keyboard / mouse controller 392 when it judges that the cause of the SMI is the keyboard. As a result, the interrupt KBIRQ from the keyboard / mouse controller 392 is cleared. A
The formats of keyboard data (make data, break data, key code table, etc.) are completely different between the T machine and the 98 machine. Therefore, the SMM handler 301 converts the data read from the keyboard / mouse controller 392 using a predetermined conversion table. Next, the SMM handler 301 writes the converted data to the first register 414 in the sub controller 300. When the data is written in the first register 414, the sub controller 300 issues an interrupt KBIRQ ′ to the SIO 310. This allows SIO3
The interrupt controller in 10 generates an INTR interrupt and notifies the CPU 302 of a request to issue a read command. At this time, the SMI processing is completed. CPU30
2 (application program for 98) is INT
Since the R interrupt has occurred, the data register of the keyboard / mouse controller 392 is read. The I / O address of this data register is the sub controller 3
00 has been converted into the I / O address of the first register 414. As a result, the keyboard data converted for 98 is read by the CPU 302. When the first register 414 is read, the interrupt KBIRQ '
Is cleared.

【0274】以上のようにして、AT機のデバイス制御
手段であるキーボード・マウスコントローラ392か
ら、98用に変換されたキーボードデータを読み出され
る。
As described above, the keyboard data converted for 98 is read from the keyboard / mouse controller 392 which is the device control means of the AT machine.

【0275】次にマウスデータの読み出しに関するエミ
ュレート処理について説明する。AT機では、図74
(A)に示すように、キーボード・マウスコントローラ
392とマウス396側の1チップマイコン397との
間でシリアル通信が行われる。そして、操作者がマウス
を動かすとマウスIRQの割り込みが発生する。98機
では、マウス(バスマウス)408は移動量カウンタ4
02に接続され、移動量カウンタ402で移動量がカウ
ントされ、そのカウント値がマウスインターフェース
(8255A)406を介してCPU302に伝えられ
る。また、タイマ404は所定間隔(8msec〜64
msec)でマウスIRQの割り込みを発生する。する
と、CPU302は、割り込みが発生する毎に上記所定
間隔内に移動量カウンタ402でカウントされたカウン
ト数を読みにゆく。これによりマウスの移動量がCPU
302に伝えられる。
[0275] Next, the emulation processing related to the reading of mouse data will be described. In the AT machine, Fig. 74
As shown in (A), serial communication is performed between the keyboard / mouse controller 392 and the one-chip microcomputer 397 on the mouse 396 side. Then, when the operator moves the mouse, a mouse IRQ interrupt occurs. On the 98 machines, the mouse (bus mouse) 408 is the movement amount counter 4
02, the movement amount counter 402 counts the movement amount, and the count value is transmitted to the CPU 302 via the mouse interface (8255A) 406. Further, the timer 404 has a predetermined interval (8 msec-64
msec) generates a mouse IRQ interrupt. Then, the CPU 302 reads the count number counted by the movement amount counter 402 within the predetermined interval each time an interrupt occurs. As a result, the amount of mouse movement is
It is transmitted to 302.

【0276】次に、マウスデータ変換を行う場合の本実
施例の動作を説明する。スイッチ手段412は、ATモ
ードの時はオンしているが98モードの時はオフしてい
る。そして、マウス396が移動しキーボード・マウス
コントローラ392からマウスIRQの割り込みが発生
すると、サブコントローラ300がこれを受け付けCP
U302に対してSMI割り込みを発生する。SMIに
より起動されたSMMハンドラ301は、SMIの要因
がマウスと判断するとキーボード・マウスコントローラ
392からマウスデータをリードする。これによりマウ
スIRQの割り込みはクリアーされる。次に、SMMハ
ンドラ301は、マウスデータを98用にデータ変換す
る。即ち、図76(A)に示すようにAT機におけるマ
ウスデータは、各々8ビットのX情報・Y情報・ボタン
情報から構成されている。これに対して98機では、図
76(B)に示すように、4ビットを1組としたデータ
フォーマットとなっている。従って、98用のアプリケ
ーションプログラムがリードできるようにフォーマット
に変換する処理が必要になる。この他、マウスの感度に
関する変換処理も必要である。次に、SMMハンドラ3
01は、変換したデータをサブコントローラ300内の
第2のレジスタ416にライトする。また、サブコント
ローラ300内にはタイマ417が内蔵されており、こ
のタイマ417により所定間隔毎にマウスIRQ’の割
り込みが発生される。この割り込みによりCPU302
(98用のアプリケーションプログラム)は、マウスの
移動量をリードしにゆくが、I/Oアドレスが変換され
ているため第2のレジスタ416に格納されているデー
タがリードされる。これにより98用に変換されたマウ
スデータがCPU302によりリードされることにな
る。
Next, the operation of this embodiment when mouse data conversion is performed will be described. The switch means 412 is ON in the AT mode, but OFF in the 98 mode. When the mouse 396 moves and the keyboard / mouse controller 392 causes a mouse IRQ interrupt, the sub-controller 300 accepts the interrupt and the CP
Generate an SMI interrupt to U302. The SMM handler 301 activated by the SMI reads mouse data from the keyboard / mouse controller 392 when it determines that the cause of the SMI is a mouse. This clears the mouse IRQ interrupt. Next, the SMM handler 301 converts mouse data for 98. That is, as shown in FIG. 76A, the mouse data in the AT machine is composed of 8-bit X information, Y information, and button information. On the other hand, in the 98 machine, as shown in FIG. 76 (B), the data format has a set of 4 bits. Therefore, it is necessary to perform processing for converting the format so that the application program for 98 can read it. In addition to this, conversion processing regarding mouse sensitivity is also required. Next, SMM handler 3
01 writes the converted data to the second register 416 in the sub controller 300. Further, a timer 417 is built in the sub controller 300, and the timer 417 generates an interrupt of the mouse IRQ 'at predetermined intervals. This interrupt causes the CPU 302
The application program for 98 reads the amount of movement of the mouse, but since the I / O address has been converted, the data stored in the second register 416 is read. As a result, the mouse data converted for 98 is read by the CPU 302.

【0277】(第8の実施例)第8の実施例は、CPU
バス上にサブコントローラを設けるエミュレートシステ
ムに関する実施例である。このようなエミュレートシス
テムが必要な理由は以下の通りである。
(Eighth Embodiment) An eighth embodiment is a CPU.
It is an example concerning an emulation system in which a sub-controller is provided on a bus. The reason why such an emulation system is necessary is as follows.

【0278】(1)エミュレートシステムの商品価値を
より高めるためには、サブコントローラが配置されたオ
プションボードを本体装置に装着するだけで複数互換を
実現できるシステムが望まれる。しかしながら、このよ
うなエミュレートシステムを実現するにあたっては、以
下の問題がある。即ち、第6の実施例で述べたように、
PCIバス上にサブコントローラ300を設けるエミュ
レートシステムではISAバス・Xバス上のデバイス制
御手段に対してCPUからの命令が伝わらないようにF
RAME信号をマスクする必要があった。ところが、A
T機の本体装置を変更せず本体装置にオプションボード
を装着するだけで複数互換を実現するエミュレートシス
テムでは、FRAME信号をマスクすることはできな
い。更に、SMI処理によるエミュレーションを行うた
めにはSMI信号が必要だが、PCI拡張スロットには
SMI信号を取り出すための端子が無いという問題があ
る。
(1) In order to further enhance the commercial value of the emulation system, it is desired to have a system which can realize a plurality of compatibility only by mounting an option board in which a sub controller is arranged on the main body device. However, there are the following problems in realizing such an emulation system. That is, as described in the sixth embodiment,
In the emulation system in which the sub-controller 300 is provided on the PCI bus, F is set so that the command from the CPU is not transmitted to the device control means on the ISA bus / X bus.
It was necessary to mask the RAME signal. However, A
The FRAME signal cannot be masked in an emulation system that realizes multiple compatibility simply by mounting an option board on the main unit without changing the main unit of the T machine. Furthermore, an SMI signal is required for emulation by SMI processing, but there is a problem that the PCI expansion slot does not have a terminal for extracting the SMI signal.

【0279】(2)486用のチップセットやPent
ium用のチップセットにおいても、低価格を目指した
ものやノートパソコン用に開発されたものでは、PCI
上でのエミュレーションが不可能なものが多い。まず第
1に、図77(A)に示すようにPCIバス自体がない
ものである(例えばインテル社製のACC2056)。
第2に、図77(B)に示すように、PCIバスはある
が、CPU302からの命令が必ずしもPCIバスを経
由しないものである。即ち、図77(B)の構成では、
ISAバス上のデバイス制御手段にCPU302から命
令が発行された場合に、この命令はPCIバスを経由せ
ずにISAバス上のデバイス制御手段に伝わる。従っ
て、この場合にはPCIバス上のサブコントローラによ
り、ISAバス上のデバイス制御手段に対してCPU3
02からの命令が伝わらないようにすることはできな
い。特に、今後、システムのコストダウン化に伴い、図
77(A)、(B)のような構成のシステムが主流とな
る可能性がある。このため、これらの場合にも、CPU
バス上にサブコントローラを設ける構成が有効である。
(2) 486 chip set or Pent
For the ium chipset, the ones aimed at low prices and those developed for notebook PCs are PCI
Many things cannot be emulated above. First, as shown in FIG. 77A, there is no PCI bus itself (for example, ACC2056 manufactured by Intel).
Secondly, as shown in FIG. 77 (B), although there is a PCI bus, instructions from the CPU 302 do not necessarily pass through the PCI bus. That is, in the configuration of FIG. 77 (B),
When an instruction is issued from the CPU 302 to the device control means on the ISA bus, this instruction is transmitted to the device control means on the ISA bus without passing through the PCI bus. Therefore, in this case, the sub controller on the PCI bus sends the CPU 3 to the device control means on the ISA bus.
It is impossible to prevent the command from 02 from being transmitted. Particularly, in the future, as the cost of the system is reduced, the system having the configuration shown in FIGS. 77A and 77B may become mainstream. Therefore, even in these cases, the CPU
A configuration in which a sub controller is provided on the bus is effective.

【0280】CPUバス上にサブコントローラを設ける
エミュレートシステムによれば以上の(1)、(2)の
問題を解決できる。図78(A)には、このようなエミ
ュレートシステムの構成の一例が示される。なお、図7
8(B)には、PCIバス上にのみサブコントローラ3
00を設けたエミュレートシステムの構成が示される。
図78(A)では、第1のサブコントローラ424がC
PUバス上に設けられ、この第1のサブコントローラ4
24と共にエミュレート処理を行う第2のサブコントロ
ーラ431がPCIバス上に設けられる。ここで第1の
サブコントローラ424はCPU302からの信号を制
御等し、また、第2のサブコントローラ431は98用
のビデオコントローラ等を含むものである。この第1の
サブコントローラ424を第1のオプションボード42
0上に配置し、第2のサブコントローラ431を第2の
オプションボード430上に配置すれば、オプションボ
ードを本体装置に装着するだけで複数互換を実現でき
る。
According to the emulation system in which the sub controller is provided on the CPU bus, the above problems (1) and (2) can be solved. FIG. 78 (A) shows an example of the configuration of such an emulation system. Note that FIG.
8 (B), the sub-controller 3 only on the PCI bus
The configuration of the emulation system with 00 is shown.
In FIG. 78 (A), the first sub-controller 424 is C
This first sub-controller 4 provided on the PU bus
A second sub-controller 431 that performs emulation processing together with 24 is provided on the PCI bus. Here, the first sub-controller 424 controls the signal from the CPU 302, and the second sub-controller 431 includes a video controller for 98 and the like. This first sub-controller 424 is connected to the first option board 42
0 and the second sub-controller 431 is arranged on the second option board 430, a plurality of compatibility can be realized only by mounting the option board on the main unit.

【0281】図79(A)には、この場合のオプション
ボードの装着手法の一例が示される。まず、CPU30
2が装着可能な第1のソケット(PGAソケット等)4
22と、第1のサブコントローラ424とを含む第1の
オプションボード420を用意する。また、第2のサブ
コントローラ431を含む第2のオプションボード43
0を用意する。この第2のサブコントローラ431は、
BIOSROM432、98用のビデオコントローラ4
34、FMサウンドコントローラ436、RTC438
等から構成される。これらはAT機を用いて98用のア
プリケーションプログラムを動作させるために必要なも
のである。第2のオプションボード430はメインボー
ド426上に設けられるPCI拡張スロット429と接
続可能になっている。また、メインボード426上には
CPU302が装着可能な第2のソケット428が設け
られている。第1のオプションボード420は以下のよ
うにして装着する。即ち、まずメインボード426上の
第2のソケット428からCPU302を引く抜く。次
に、第1のオプションボード420の下部にある複数の
ピン425を第2のソケット428のピン穴429に差
し込む。そして、第1のソケット422のピン穴423
にCPU302の端子である複数のピン427を差し込
む。ピン穴423を構成する第1のピン穴群からの信号
はピン425を構成する第1のピン群に伝わるようにな
っている。一方、ピン穴423を構成する第2のピン穴
群からの信号は第1のサブコントローラ424介してピ
ン425を構成する第2のピン群に伝わるようになって
いる。これによりCPU302からの第1の信号群につ
いてはメインボード426に伝え、CPU302からの
第2の信号群(例えばADS信号等)については第1の
サブコントローラ424の制御によりメインボード42
6に伝わるのを無効にすることができる。
FIG. 79A shows an example of an option board mounting method in this case. First, the CPU 30
1st socket (PGA socket etc.) 4 to which 2 can be attached 4
22 and a first option board 420 including a first sub-controller 424 is prepared. In addition, the second option board 43 including the second sub-controller 431
Prepare 0. This second sub-controller 431
Video controller 4 for BIOS ROM 432,98
34, FM sound controller 436, RTC438
Etc. These are necessary for operating the application program for 98 using the AT machine. The second option board 430 can be connected to a PCI expansion slot 429 provided on the main board 426. Further, a second socket 428 to which the CPU 302 can be attached is provided on the main board 426. The first option board 420 is mounted as follows. That is, first, the CPU 302 is pulled out from the second socket 428 on the main board 426. Next, the plurality of pins 425 on the lower portion of the first option board 420 are inserted into the pin holes 429 of the second socket 428. Then, the pin hole 423 of the first socket 422
A plurality of pins 427, which are terminals of the CPU 302, are inserted into. A signal from the first pin hole group forming the pin hole 423 is transmitted to the first pin group forming the pin 425. On the other hand, the signal from the second pin hole group forming the pin hole 423 is transmitted to the second pin group forming the pin 425 via the first sub-controller 424. Thereby, the first signal group from the CPU 302 is transmitted to the main board 426, and the second signal group from the CPU 302 (for example, ADS signal etc.) is controlled by the first sub-controller 424.
You can turn off the transmission to 6.

【0282】以上のようにして第1のオプションボード
420を装着し、更にPCI拡張スロット429に第2
のオプションボード430を装着することでエミュレー
トシステムが実現される。
As described above, the first option board 420 is mounted, and the PCI expansion slot 429 is secondly mounted.
The emulation system is realized by mounting the option board 430 of.

【0283】図79(B)には第1のサブコントローラ
424の構成の一例が示される。第1のサブコントロー
ラ424はCPUバスインターフェース手段440、命
令変換手段442、SMIコントロール手段446を含
む。CPUインターフェース手段440はCPUバスの
制御等を行うものであり詳細については後述する。命令
変換手段442は命令の変換をハードウェア回路により
行うものであり例えばマイクロコードメモリ等を含む。
SMIコントロール手段446は、SMI処理を行うた
めの回路であり、SMI発生手段、SMIステータス等
を含む。
FIG. 79B shows an example of the structure of the first sub controller 424. The first sub controller 424 includes a CPU bus interface unit 440, an instruction conversion unit 442, and an SMI control unit 446. The CPU interface means 440 controls the CPU bus and the like, and the details will be described later. The instruction converting means 442 converts an instruction by a hardware circuit and includes, for example, a microcode memory.
The SMI control means 446 is a circuit for performing SMI processing, and includes SMI generation means, SMI status and the like.

【0284】次に、RS(リセット)直後(又は電源投
入直後)の本第8の実施例の動作について図80、図8
1(A)〜(C)を用いて説明する。図80のフローチ
ャートに示されるように、本実施例では、RS後は、第
2のオプションボード430上のBIOSROM432
に記憶される98−BIOSからスタートする(ステッ
プV1、V2)。AT機のBIOSであるAT−BIO
SはXバス(又はISAバス)上にある。従って、第2
のサブコントローラ431がSIO310よりも早くD
EVSEL信号をアサートすれば、98−BIOSを優
先させることができる。但し、AT−BIOSと98−
BIOSを格納するROMが同じバス上にある場合、例
えば共にISAバス上又はCPUバス上にある場合に
は、上記の手法では98−BIOSを優先させることは
できない。従って、この場合には次のような手法で98
−BIOSを優先させる。図81(A)はこの手法の動
作を説明するためのフローチャートである。まず、RS
直後はCPUはFFFFFFF0h(図81(B)のA
1参照)をアクセスする(ステップW2)。次に、CP
Uインターフェース手段440がADS信号をマスク
し、マスクした信号であるLADSがデバイス制御手段
に伝えられる。図81(C)に示すように、このマスク
処理は、RS=LでセットされBRDY=Lでリセット
されるマスク信号に基づき行われる。なお、ADS信号
とは、アドレスとバス・サイクル定義信号(M/IO、
D/C、W/R)が有効であることを示す信号であり、
CPUがバスサイクルを開始させたことを示す信号であ
る。従って、ADS信号がマスクされるとCPUバス上
の他の回路は1回目のCPUの命令には応答しない。次
に第1のサブコントローラ424が(JMP 1FFF
F0h)の命令を発行し(図81(C)のB1参照)、
BRDY(レディ信号)をイネーブルする。すると、図
81(B)に示すように1FFFF0hへのジャンプが
行われ、98−BIOSが実行される。また、AT−B
IOSがディスエーブルされ、98−BIOSがE80
00〜FFFFFhに移動される。これによりその後の
正常な動作が保証される。次に、E8000〜FFFF
Fhに移動された98−BIOSが実行される(ステッ
プW5)。以上により98−BIOSが優先されて実行
されることになる。
Next, the operation of the eighth embodiment immediately after RS (reset) (or immediately after power-on) will be described with reference to FIGS.
This will be described using 1 (A) to (C). As shown in the flowchart of FIG. 80, in this embodiment, after RS, the BIOS ROM 432 on the second option board 430 is used.
Start from 98-BIOS stored in (steps V1, V2). AT-BIO which is the BIOS of the AT machine
S is on the X bus (or ISA bus). Therefore, the second
Sub-controller 431 is faster than SIO310
98-BIOS can be prioritized by asserting the EVSEL signal. However, AT-BIOS and 98-
When the ROMs storing the BIOS are on the same bus, for example, both are on the ISA bus or the CPU bus, 98-BIOS cannot be prioritized by the above method. Therefore, in this case, 98
-Priority is given to BIOS. FIG. 81A is a flowchart for explaining the operation of this method. First, RS
Immediately after that, the CPU is FFFFFFF0h (A in FIG. 81B).
1) is accessed (step W2). Next, CP
The U interface unit 440 masks the ADS signal, and the masked signal LADS is transmitted to the device control unit. As shown in FIG. 81 (C), this mask processing is performed based on a mask signal that is set when RS = L and reset when BRDY = L. The ADS signal is an address and a bus cycle definition signal (M / IO,
D / C, W / R) is a valid signal,
This signal indicates that the CPU has started the bus cycle. Therefore, when the ADS signal is masked, other circuits on the CPU bus do not respond to the first CPU command. Next, the first sub-controller 424 (JMP 1FFF
F0h) command is issued (see B1 in FIG. 81C),
BRDY (ready signal) is enabled. Then, as shown in FIG. 81 (B), a jump to 1FFFF0h is performed and 98-BIOS is executed. Also, AT-B
IOS is disabled, 98-BIOS is E80
Moved from 00 to FFFFFh. This guarantees normal operation thereafter. Next, E8000-FFFF
The 98-BIOS moved to Fh is executed (step W5). As described above, 98-BIOS is prioritized and executed.

【0285】図80の説明に戻る。98−BIOSから
のスタート後、初期設定処理が行われる(ステップV
3)。次に、特殊キーが入力されたか否かが判断され
(ステップV4)、入力された場合にはメニュー画面が
表示される(ステップV5)。このメニュー画面により
ATモードか98モードかの選択が可能になる(ステッ
プV6)。なお、特殊キーが入力されたか否かは、例え
ば所定のキーの組み合わせ(キーコンビネーション)が
入力されたか否かで判断する。また、特殊キーが入力さ
れない場合にはステップV7に移行し、前回の設定が有
効となる。これにより、電源オンやハードリセット後も
前回に設定されたモードで動作することになり、モード
選択の手間を省ける。ATモードが選択された場合には
AT−BIOSにジャンプし(ステップV8)、98が
選択された場合には98−BIOSが引き続き実行され
る(ステップV9)。AT機のハードウェアを使用して
エミュレートシステムを実現する場合、きょう体(装置
の外装部材)についてもAT機のものを使用することが
望ましい。ところがAT機のきょう体を使用した場合に
は、装置を操作するユーザーの正面近くにモード選択ス
イッチを設けることができないという問題が生じる。そ
こで、本実施例では特殊キーによるモード選択を可能に
し、この問題を解決している。
Returning to the description of FIG. After the start from 98-BIOS, initial setting processing is performed (step V
3). Next, it is determined whether or not the special key is input (step V4), and if it is input, the menu screen is displayed (step V5). This menu screen enables selection of AT mode or 98 mode (step V6). Whether or not the special key is input is determined by, for example, whether or not a predetermined key combination (key combination) is input. If the special key is not input, the process proceeds to step V7 and the previous setting becomes valid. As a result, even after the power is turned on or the hardware is reset, the operation is performed in the previously set mode, and the trouble of mode selection can be saved. When the AT mode is selected, the CPU jumps to AT-BIOS (step V8), and when 98 is selected, 98-BIOS is continuously executed (step V9). When the emulation system is realized by using the hardware of the AT machine, it is desirable to use that of the AT machine as the casing (exterior member of the device). However, when the casing of the AT machine is used, there arises a problem that the mode selection switch cannot be provided near the front of the user who operates the apparatus. Therefore, this embodiment solves this problem by enabling mode selection by a special key.

【0286】次にソフトウェアリセットを行った場合の
処理について説明する。AT機によってはハードウェア
リセットのスイッチがない場合もあり、この場合には装
置のリセットはソフトウェアリセットで行う必要があ
る。エミュレーション用のBIOSが動作している間
は、モード切り替えのためのキーコンビネーションを用
意して、これによりモード切り替えのメニューを表示さ
せることもできる。ところがAT機においてはソフトウ
ェアリセットを行うためのキーコンビネーションは1種
類しか用意されていない。従ってAT−BIOSが実行
されている間は、98モードへの切り替えができないと
いう問題が生じる。そこで、本実施例では、これを解決
するために、AT−BIOSの中のソフトウェアリセッ
トのルーチンの中に、SMIを発生させるルーチンを含
ませる。BIOSROMはフラッシュメモリとなってい
る場合がほとんどなので、このような書き換えは容易で
ある。そしてSMIにより起動されたSMMの中で、ソ
フトウェアリセットなのか、98モードへの変更なのか
を選択するためのメニューを表示する。なお、ハードウ
ェアリセット及び電源投入時のモード選択についてもS
MI処理より行わせることが可能である。更に、SMI
を発生させるためのI/Oポートを、AT上で動作する
DOS(OS)の中でアクセス可能なI/Oアドレスの
位置に用意することもできる。このようにすればDOS
コマンドで例えば「CG98」等と入力することで、特
定のI/Oポートにアクセスし、SMIが発生する。こ
れにより98モードに移行することができる。この場
合、SMIを発生するI/Oポートを複数用意すること
もできる。これによりモード切り替えのみならず切り替
えた後に複数の処理を行わせることもできる。この切り
替え後の処理としては特定のプログラム(ワープロ等)
を動作させる処理が考えられる。例えば98用プログラ
ムの起動コマンドを用意しAT機上でこのコマンドを実
行すると、そのコマンドにより指定されるI/Oポート
がアクセスされSMIが発生する。次に、SMMは98
用の自動起動ファイルにそのプログラム名を書き込む。
すると、98モードへ切り替わった直後に所望のプログ
ラムが起動することになる。
Next, the processing when software reset is performed will be described. Some AT machines may not have a hardware reset switch. In this case, the device must be reset by software. While the BIOS for emulation is operating, a key combination for mode switching can be prepared to display a mode switching menu. However, the AT machine has only one type of key combination for software reset. Therefore, there is a problem that the 98 mode cannot be switched while the AT-BIOS is being executed. Therefore, in the present embodiment, in order to solve this, a routine for generating an SMI is included in the software reset routine in the AT-BIOS. Since the BIOSROM is almost always a flash memory, such rewriting is easy. Then, in the SMM activated by the SMI, a menu for selecting the software reset or the change to the 98 mode is displayed. For hardware reset and mode selection at power-on, S
It can be performed by MI processing. Furthermore, SMI
It is also possible to prepare an I / O port for generating the I / O address at a position of an accessible I / O address in the DOS (OS) operating on the AT. In this way DOS
By inputting "CG98" or the like with a command, a specific I / O port is accessed and an SMI occurs. This makes it possible to shift to the 98 mode. In this case, a plurality of I / O ports that generate SMI can be prepared. This allows not only mode switching but also a plurality of processes to be performed after switching. As the processing after this switching, a specific program (word processor, etc.)
It is conceivable to perform a process for operating. For example, if a 98 program activation command is prepared and this command is executed on the AT machine, the I / O port designated by the command is accessed and an SMI occurs. Then the SMM is 98
Write the program name in the autostart file for.
Then, the desired program is started immediately after switching to the 98 mode.

【0287】更に98モードの時に特定のキーコンビネ
ーションを入力すると、SMIによるエミュレーション
によりハードウェアリセットが実行されるようにしても
よい。これはハードウェアスイッチがないAT機を用い
てエミュレートシステムを実現する場合に有効である。
Furthermore, when a specific key combination is input in the 98 mode, hardware reset may be executed by emulation by SMI. This is effective when emulating an emulation system using an AT machine without a hardware switch.

【0288】図82には、CPUインターフェース手段
440の回路図の一例が示される。また、図83、図8
4には本実施例の動作を表すフローチャートが示され、
図85には信号波形図が示される。以下、これらの図面
を用いて本実施例の構成及び動作について詳細に説明す
る。
FIG. 82 shows an example of a circuit diagram of the CPU interface means 440. Also, FIG. 83 and FIG.
4 shows a flowchart showing the operation of this embodiment,
FIG. 85 shows a signal waveform diagram. Hereinafter, the configuration and operation of the present embodiment will be described in detail with reference to these drawings.

【0289】まず、ATモードの時には信号EN98=
Hとし、図82に示す高速スイッチ471をオンにす
る。これによりCPU302からのADS信号はデバイ
ス制御手段に対してそのまま伝わり、AT機を高速に動
作させることができる。一方、98モードの時にはEN
98=Lとなり高速スイッチ471はオフする。次に、
HADS(ホストのADS信号)=Lか否かが判断され
る(図83のステップW1)。その後、M/IO=Lか
否かが判断され、M/IO=Hの時(メモリアクセスの
場合)には、DADS信号、即ちADSを1クロック遅
らせた信号(図85のA1参照)がLADS信号として
CPUの命令先であるデバイス制御手段に伝えられる
(ステップW8)。これによりメモリアクセスについて
は1クロック分の遅れだけで済むことが保証され、シス
テムを高速に動作させることができる。一方、M/IO
=Lの場合、即ちCPUの命令がI/O命令である場合
にはDADS信号をマスクする。これにより、デバイス
制御手段にはDADS(LADS)信号が伝わらないこ
とになり、CPUからの命令がデバイス制御手段に対し
て伝わるのが無効にされる。このように命令を無効にす
る方法としては、この他にDADS信号はマスクせずに
そのまま伝え、CPUのバス制御信号(M/IO、D/
C、W/R)を変換する方法も考えられる。例えばM/
IO=H、D/C=H、W/R=Hとしバスサイクルを
スペシャルサイクルに設定しBE7〜BE0=(111
11011)とすれば、デバイス制御手段は、CPUが
HALT命令を実行したとみなし誤動作を引き起こす余
分な動作をせずにCPUからのアクセスを終了する。こ
れにより、CPUの命令を無効にできる。ただし、BE
7〜0を上記の値に確定しなくても、バスサイクルをス
ペシャルサイクルに設定するだけでも、CPUの命令に
デバイス制御手段を応答させないという目的は達成でき
る。
First, in the AT mode, the signal EN98 =
Then, the high speed switch 471 shown in FIG. 82 is turned on. As a result, the ADS signal from the CPU 302 is directly transmitted to the device control means, and the AT machine can be operated at high speed. On the other hand, in 98 mode, EN
98 = L, and the high speed switch 471 is turned off. next,
It is determined whether HADS (host ADS signal) = L (step W1 in FIG. 83). Thereafter, it is determined whether or not M / IO = L, and when M / IO = H (in the case of memory access), the DADS signal, that is, the signal obtained by delaying ADS by one clock (see A1 in FIG. 85) is LADS. The signal is transmitted to the device control means, which is the command destination of the CPU (step W8). This guarantees that the memory access is delayed by only one clock, and the system can operate at high speed. On the other hand, M / IO
= L, that is, when the CPU instruction is an I / O instruction, the DADS signal is masked. As a result, the DADS (LADS) signal is not transmitted to the device control means, and the transmission of the command from the CPU to the device control means is invalidated. As another method of invalidating the instruction in this way, the DADS signal is transmitted as it is without being masked, and the bus control signal (M / IO, D /
A method of converting C, W / R) is also conceivable. For example M /
With IO = H, D / C = H, W / R = H, the bus cycle is set to a special cycle, and BE7 to BE0 = (111
11011), the device control unit considers that the CPU has executed the HALT instruction and terminates the access from the CPU without performing an extra operation that causes a malfunction. This makes it possible to invalidate the instruction of the CPU. However, BE
Even if the bus cycle is set to the special cycle without fixing 7 to 0 to the above value, the purpose of not allowing the device control means to respond to the instruction of the CPU can be achieved.

【0290】次に、ステップW4に示すように命令変換
手段442による変換処理が必要か否かが判断される。
そして、変換処理が必要ないと判断されるとDADSを
更に1クロック遅らせた信号であるDDADS信号がデ
バイス制御手段に伝えられる(ステップW9)。ここで
1クロック遅らせるのは変換が必要か否かを判断するた
めの時間が必要だからである。従って、場合によっては
2クロック以上遅らせてもかまわない。その後、SMI
による変換が必要か否かが判断され、必要であればSM
Iが発生され、SMI処理が行われる(ステップW10
〜W12)。これらの処理はSMIコントロール手段4
46において行われる。SMI処理ではソフトウェアに
よる命令の変換処理が行われる。一方、命令変換手段4
42による変換処理が必要である場合には、HBOFF
(バックオフ信号)=Lにする(図85のB1)。これ
によりCPUはバスの制御を解放する。そして、CPU
はHBOFF=Hとなるまでバス・ホールド状態に留ま
る。その後、I/O命令が解析されI/O命令の変換処
理が行われ、変換されたI/O命令が実行される(図8
3のステップW6、W7)。
Then, as shown in step W4, it is determined whether or not the conversion processing by the instruction converting means 442 is necessary.
When it is determined that the conversion processing is not necessary, the DDADS signal which is a signal obtained by delaying DADS by one clock is transmitted to the device control means (step W9). One clock is delayed here because it takes time to determine whether conversion is necessary. Therefore, in some cases, it may be delayed by two clocks or more. Then SMI
It is judged whether or not conversion by
I is generated and SMI processing is performed (step W10).
~ W12). These processes are performed by the SMI control means 4
At 46. In the SMI processing, instruction conversion processing by software is performed. On the other hand, the instruction conversion means 4
HBOFF when conversion processing by 42 is required
(Back-off signal) = L (B1 in FIG. 85). This causes the CPU to release control of the bus. And CPU
Remains in the bus hold state until HBOFF = H. After that, the I / O instruction is analyzed, the conversion processing of the I / O instruction is performed, and the converted I / O instruction is executed (FIG. 8).
3 steps W6, W7).

【0291】次に、以上説明した動作を図82の回路図
を用いて説明する。EN98=Lとなると、DFF47
2のセット端子=Hとなる。従って、HADS(AD
S)信号がDFF472によりサンプルされ、DFF4
72からはHADSを1クロック遅らせた信号DADS
が出力される。そして、M/IO=Hの場合(メモリア
クセスの場合)には、論理回路476の一方の入力がL
となりEMSTART=Lとなるためエミュレーション
はスタートしない。また、DADS信号は論理回路47
8、480、482を介して伝えられ、この結果、HA
DSを1クロック遅らせた信号であるDADSがデバイ
ス制御手段に伝えられる。これにより高速なメモリアク
セスが可能になる。一方、M/IO=Lの場合(I/O
命令の場合)、DADS信号は、EMSTART信号と
して論理回路476を介して命令変換手段442に伝え
られる。これにより命令変換処理が開始される。一方、
論理回路478の出力はLに固定されるためDADSは
デバイス制御手段に伝えられない。命令変換処理が開始
されると、命令変換手段442は、まず、CBOFF=
Lとする。これにより高速スイッチ497、498はオ
フになり、CPU302への信号入力が遮断される。ま
た、CBOFF信号はトライステートバッファ486を
介してCPU302に伝えられ、これによりCPU30
2はバックオフ動作に入りバスアクセスを停止する。す
ると、今度は命令変換手段442がバスアクセスを行
う。そして、I/O命令の解析を行い、必要ならばI/
O命令に含まれるアドレス、データの変換処理を行う。
更に命令変換手段442はCPUの代わりにCPUバス
のマスターとして動作して、バッファ492〜495を
介して、HA0〜15、HBE0〜7等を駆動する。ま
たライトサイクルの時はHD0〜31も駆動する。この
ようにして命令変換手段442は、変換されたI/O命
令を実行する。
Next, the operation described above will be described with reference to the circuit diagram of FIG. When EN98 = L, DFF47
The set terminal of 2 = H. Therefore, HADS (AD
S) signal is sampled by DFF 472 and DFF4
From 72, the signal DADS which is a delay of HADS by one clock
Is output. When M / IO = H (for memory access), one input of the logic circuit 476 is L
Since EMSTART = L, emulation does not start. Further, the DADS signal is sent to the logic circuit 47.
8,480,482, resulting in HA
DADS, which is a signal obtained by delaying DS by one clock, is transmitted to the device control means. This enables high-speed memory access. On the other hand, when M / IO = L (I / O
In the case of an instruction), the DADS signal is transmitted as an EMSTART signal to the instruction converting means 442 via the logic circuit 476. This starts the instruction conversion process. on the other hand,
Since the output of the logic circuit 478 is fixed to L, DADS is not transmitted to the device control means. When the instruction conversion process is started, the instruction conversion unit 442 firstly outputs CBOFF =
Let L. As a result, the high speed switches 497 and 498 are turned off, and the signal input to the CPU 302 is cut off. Further, the CBOFF signal is transmitted to the CPU 302 via the tri-state buffer 486, whereby the CPU 30
2 enters a back-off operation and stops bus access. Then, the instruction conversion means 442 makes a bus access this time. Then, I / O instruction is analyzed, and if necessary, I / O
The address and data included in the O instruction are converted.
Further, the instruction converting means 442 operates as a master of the CPU bus instead of the CPU and drives HA0 to 15 and HBE0 to 7 through the buffers 492 to 495. In the write cycle, HD0 to 31 are also driven. In this way, the instruction conversion unit 442 executes the converted I / O instruction.

【0292】図84には、命令解析・変換及命令実行
(図83のステップW6、W7)の際の動作を表す詳細
なフローチャートが示される。まず、ステップX1で命
令変換手段442はHA0〜15等を駆動し、またLA
DS=Lとする(図85のD1)。そして、I/Oリー
ドの場合にはLBRDY=Lとなったかを監視し(ステ
ップX3)、LBRDY=L(図85のE1)となると
HD(ホストデータバス、CPUバス)に出力されたデ
ータをR−RG(命令変換手段内の退避レジスタ)に格
納し、データ変換処理を行う(ステップX4)。その
後、命令先のデバイス制御手段がバスを解放するのを待
ち、HBOFF=Hとする(ステップX5、X6及び図
85のC1)。これによりCPUは無効とされたバスサ
イクルを再度実行する。この動作は、PCIバスにおけ
るリトライと同一の動作である。そして、CPUが再ア
クセスした時にR−RGのデータをHDに出力する(ス
テップX7、X8及び図85のF1)。その後、HBR
DY=Lにする(ステップX9)。また、I/Oライト
の場合、変換されたデータをHDに出力することでこの
データをデバイス制御手段に与え、デバイス制御手段が
LBRDY=Lとした段階でHDをハイインピーダンス
にする(ステップX10〜X12)。そして、その後に
HBOFF=Hとして、CPUに再アクセスさせている
(ステップX13、X14)。このように本実施例で
は、I/Oライトの場合もCPUのHBOFF(バック
オフ)信号をアサートしている。これは、幾つかのI/
Oポートでは、少なくともLBRDY=LとなるまでC
PUを停止させておく必要があるからである。但し、L
BRDY=LとなるまでCPUを停止させる他の方法と
してHOLD信号を用いる方法も考えられる。しかしな
がら、HOLD信号を用いる方法によると、リード時と
ライト時で異なる信号を制御する必要が生じ、回路が複
雑化・大規模化してしまう。そこで、本実施例ではHB
OFF信号を用いてCPUを停止させている。そして、
CPUが再アクセスをした時にHBRDY=Lとするこ
とで、現在のサイクルを終了させている。このようにす
ることでHOLD信号を用いなくてもCPUの動作を停
止させておくことができる。
FIG. 84 is a detailed flowchart showing the operation at the time of instruction analysis / conversion and instruction execution (steps W6 and W7 in FIG. 83). First, in step X1, the instruction conversion means 442 drives HA0 to 15 etc.
Set DS = L (D1 in FIG. 85). Then, in the case of I / O read, it is monitored whether LBRDY = L (step X3), and when LBRDY = L (E1 in FIG. 85), the data output to the HD (host data bus, CPU bus) is checked. The data is stored in R-RG (a save register in the instruction conversion means) and data conversion processing is performed (step X4). After that, it waits until the device control means of the command destination releases the bus, and sets HBOFF = H (steps X5, X6 and C1 in FIG. 85). As a result, the CPU executes the invalidated bus cycle again. This operation is the same as the retry on the PCI bus. Then, when the CPU re-accesses, the R-RG data is output to the HD (steps X7, X8 and F1 in FIG. 85). Then HBR
Set DY = L (step X9). Further, in the case of I / O write, by outputting the converted data to the HD, this data is given to the device control means, and when the device control means sets LBRDY = L, the HD is set to high impedance (step X10-X10). X12). Then, after that, HBOFF = H is set and the CPU is re-accessed (steps X13 and X14). As described above, in this embodiment, the HBOFF (back off) signal of the CPU is asserted even in the case of I / O write. This is some I /
At O port, C at least until LBRDY = L
This is because it is necessary to stop the PU. However, L
As another method of stopping the CPU until BRDY = L, a method of using the HOLD signal can be considered. However, according to the method using the HOLD signal, it is necessary to control different signals at the time of reading and at the time of writing, and the circuit becomes complicated and large-scaled. Therefore, in this embodiment, HB
The CPU is stopped using the OFF signal. And
The current cycle is ended by setting HBRDY = L when the CPU re-accesses. By doing so, the operation of the CPU can be stopped without using the HOLD signal.

【0293】なお、前述の第6の実施例等ではリードサ
イクルの場合のみPCIのリトライを利用していた。し
かし、上記と同様にライトサイクルの場合にもリトライ
を利用することができる。この場合にも、変換データを
与えたデバイス制御手段が少なくともTRDY=Lとす
るまでCPUを停止させる。そして、CPUの再アクセ
スの際にTRDY=LとすることでCPUのバスサイク
ルを終了させればよい。また、HBOFF信号について
は、第1のサブコントローラ424以外の他のデバイス
制御手段が使用している場合も多い。従って、第1のサ
ブコントローラ424及び他のデバイス制御手段により
同時にHBOFF信号がアサートされた場合の対策が必
要になる。このため、本実施例では、図82に示すよう
にLBOFF=Lとなった場合には、トライステートバ
ッファ482、491〜495の出力がハイインピーダ
ンス状態になるようにしている。更に、論理回路496
によりICLKをLに固定する。これにより、第1のサ
ブコントローラ452はCPU302と一体となって、
CPU302がバックオフ状態になった場合と同じ動作
をすることになり、互換性が維持される。
In the sixth embodiment and the like, the PCI retry is used only in the read cycle. However, the retry can be used also in the case of the write cycle as described above. Also in this case, the CPU is stopped until at least TRDY = L is set by the device control means which has provided the converted data. Then, when the CPU is re-accessed, the bus cycle of the CPU may be ended by setting TRDY = L. Further, the HBOFF signal is often used by device control means other than the first sub-controller 424. Therefore, it is necessary to take measures when the HBOFF signal is asserted simultaneously by the first sub-controller 424 and other device control means. Therefore, in this embodiment, when LBOFF = L as shown in FIG. 82, the outputs of the tri-state buffers 482 and 491 to 495 are set to the high impedance state. Further, the logic circuit 496
Fixes ICLK to L. As a result, the first sub-controller 452 is integrated with the CPU 302,
The CPU 302 performs the same operation as when the CPU 302 is in the back-off state, and the compatibility is maintained.

【0294】(第9の実施例)図86には本発明の第9
の実施例の構成の一例が示される。第8の実施例と異な
るのは、第1のサブコントローラ452が命令変換手
段、SMIコントロール手段を含まず、これらが第2の
サブコントローラ462に含まれる点である。更に、第
1、第2のオプションボード450、460にはコネク
タ456、459が設けられ、ケーブル458を介して
SMI信号・EMIO信号が伝えられる点も異なる。ま
た、CPUインターフェース手段454の回路構成は図
87に示すようになっており、第8の実施例の命令変換
手段とは異なる回路構成となっている。
(Ninth Embodiment) FIG. 86 shows a ninth embodiment of the present invention.
An example of the configuration of the embodiment is shown. The difference from the eighth embodiment is that the first sub-controller 452 does not include the instruction conversion means and the SMI control means, and these are included in the second sub-controller 462. Further, the first and second option boards 450 and 460 are provided with connectors 456 and 459, respectively, and the SMI signal and the EMIO signal are transmitted via the cable 458, which is also different. The circuit configuration of the CPU interface unit 454 is as shown in FIG. 87, which is a circuit configuration different from that of the instruction conversion unit of the eighth embodiment.

【0295】第1のサブコントローラ452内のCPU
インターフェース手段454は、CPUからの命令がI
/O命令の場合には、それを他のデバイス制御手段等が
受け付けられない命令、つまり通常アクセスされないア
ドレスの命令に変換する。具体的には、M/IO=H、
A31=Hに設定する変換を行う。そして、第2のサブ
コントローラ462内の命令変換手段464は、A31
信号、ケーブルを介して伝えられるEMIO信号等によ
り、エミュレート処理が必要なI/O命令か否かを判断
する。ただし、この判断は例えばA31だけで行うこと
も可能であり(この場合はEMIO信号は必要ない)、
またA30等で判断することも可能である。エミュレー
ト処理が必要なI/O命令と判断されると、命令変換手
段464、SMIコントロール手段466等によりエミ
ュレート処理が行われる。なお、オプションボード46
0内にSMIコントロール手段466を設ける構成とし
た場合には、SMI信号を伝えるための手段、例えばケ
ーブル458等が必要になる。
CPU in first sub-controller 452
The interface unit 454 receives an instruction from the CPU I
In the case of the / O instruction, it is converted into an instruction that cannot be accepted by other device control means, that is, an instruction of an address that is not normally accessed. Specifically, M / IO = H,
The conversion for setting A31 = H is performed. Then, the instruction converting means 464 in the second sub-controller 462 is A31
A signal, an EMIO signal transmitted via a cable, or the like is used to determine whether or not the I / O instruction requires emulation processing. However, it is also possible to make this determination only with A31 (in this case, the EMIO signal is not necessary),
It is also possible to make a determination based on A30 or the like. When it is determined that the I / O instruction requires emulation processing, the instruction conversion means 464, the SMI control means 466, etc. perform emulation processing. The option board 46
When the SMI control means 466 is provided in the 0, means for transmitting the SMI signal, for example, the cable 458 or the like is required.

【0296】第9の実施例が第8の実施例に比べ有利な
点は、第1のオプションボード450に設けられる回路
を小規模化できる点である。例えば図87に示す規模の
回路であれば1チップのPAL(プログラマブル・ロジ
ック・アレイ)で第1のサブコントローラ452を構成
することも可能である。このように回路を小規模化でき
ると、第1のオプションボード450も小さくすること
ができ、第1のオプションボード450の周りのスペー
スが狭い場合等に有利となる。また、第6の実施例では
PCIバス上にサブコントローラ300が設けられる
が、第9の実施例の構成によると、このサブコントロー
ラ300と第2のサブコントローラ448との間で回路
を共通化できる。これにより開発期間を短縮できる。
The advantage of the ninth embodiment over the eighth embodiment is that the circuit provided on the first option board 450 can be downsized. For example, in the case of a circuit of the scale shown in FIG. 87, it is possible to configure the first sub-controller 452 with a one-chip PAL (programmable logic array). If the circuit can be downsized in this way, the first option board 450 can also be made smaller, which is advantageous when the space around the first option board 450 is narrow. Further, although the sub-controller 300 is provided on the PCI bus in the sixth embodiment, the circuit of the sub-controller 300 and the second sub-controller 448 can be shared by the configuration of the ninth embodiment. . This can shorten the development period.

【0297】次に、図87、88を用いてCPUインタ
ーフェース手段454の構成及び動作について詳細に説
明する。まず、EN98=Hの時には第8の実施例と同
様に通常のAT機とほとんど変わらずに動作する。一
方、EN98=Lとなると、HADSを1クロック遅ら
せた信号DADSがDFF562から出力される。そし
て、M/IO=Hの時(メモリアクセスの時)には論理
回路566の出力はLに固定される。また、論理回路5
68、580、582を介してDADS信号がデバイス
制御手段に伝えられ、メモリアクセスの高速動作を維持
できる。一方、M/IO=Lの時(I/Oアクセスの
時)には、論理回路566、DFF585、586、論
理回路580、582を介してHADSを3クロック遅
らせた信号がデバイス制御手段に伝えられる(図88の
H1)。また、EN98=Lの時には、高速スイッチ5
97はオフであり高速スイッチ598はオンなる。従っ
て、LM/IOは常にHレベルになる。そして、DAD
S=Lとなると、論理回路587〜590等によりEM
IO=Lとなり(図88のI1)、高速スイッチ593
はオフとなり高速スイッチ594はオンとなる。従っ
て、A31=Hとなる(図88のJ1)。また、LBR
DYがLになると、DFF591等により、EMIO=
Hとなり、A31はHレベルに固定ではなくなる(図8
8のK1参照)。このように本実施例によれば小規模の
CPUインターフェース手段を用いて、エミュレート処
理を実現することが可能となる。
Next, the configuration and operation of the CPU interface means 454 will be described in detail with reference to FIGS. First, when EN98 = H, the operation is almost the same as a normal AT machine as in the eighth embodiment. On the other hand, when EN98 = L, the signal DADS obtained by delaying HADS by 1 clock is output from the DFF 562. When M / IO = H (memory access), the output of the logic circuit 566 is fixed at L. Also, the logic circuit 5
The DADS signal is transmitted to the device control means via 68, 580 and 582, and the high speed operation of memory access can be maintained. On the other hand, when M / IO = L (for I / O access), a signal obtained by delaying HADS by 3 clocks is transmitted to the device control means via the logic circuits 566, DFFs 585 and 586, and logic circuits 580 and 582. (H1 in FIG. 88). When EN98 = L, the high speed switch 5
97 is off and the high speed switch 598 is on. Therefore, LM / IO is always at H level. And DAD
When S = L, EM is generated by the logic circuits 587 to 590.
IO = L (I1 in FIG. 88), high-speed switch 593
Turns off and the high speed switch 594 turns on. Therefore, A31 = H (J1 in FIG. 88). Also, LBR
When DY becomes L, DFF591 etc. cause EMIO =
It becomes H and A31 is not fixed at H level (Fig. 8).
8 K1). As described above, according to this embodiment, the emulation processing can be realized by using the small-scale CPU interface means.

【0298】なお、本発明は上記実施例に限定されるも
のではなく、本発明の要旨の範囲内で種々の変形実施が
可能である。
The present invention is not limited to the above embodiment, and various modifications can be made within the scope of the gist of the present invention.

【0299】例えば、上記実施例では、第1のコンピュ
ータアーキテクチャとしてハードウェア、ソフトウェア
の占める市場規模が世界的に非常に大きいものを考え、
第2のコンピュータアーキテクチャとしてこれらの市場
規模が比較的中規模だがソフトウェアの資産を尊重した
いものを考えた。しかし、本発明における第1、第2の
コンピュータアーキテクチャはこれらに限らず、上記と
逆の関係にある場合であっても本発明を当然に適用でき
る。この場合には、例えばシリアルインターフェイスの
エミュレート処理については、8251A上で所定のア
プリケーションが実行できるようにエミュレート処理を
行えばよい。また、キーボードについてのエミュレート
処理についても、8251A上で所定のアプリケーショ
ンが実行できるようにエミュレート処理を行えばよい。
そして、この場合のエミュレート処理は上記実施例で説
明したのと同様の手法により行えることは明らかであ
る。また、本発明における第2のコンピュータアーキテ
クチャとは、第1のコンピュータアーキテクチャとは異
なる1又は複数のコンピュータアーキテクチャという意
味である。同様に、第1のコンピュータアーキテクチャ
とは、第2のコンピュータアーキテクチャとは異なる1
又は複数のコンピュータアーキテクチャという意味であ
る。
For example, in the above embodiment, considering that the market size occupied by hardware and software is very large worldwide as the first computer architecture,
As the second computer architecture, we thought of ones in which these markets are relatively medium in size but want to respect software assets. However, the first and second computer architectures of the present invention are not limited to these, and the present invention can be naturally applied even in the case of a relationship opposite to the above. In this case, for example, the emulation processing of the serial interface may be performed so that a predetermined application can be executed on the 8251A. Further, the emulation process for the keyboard may be performed so that a predetermined application can be executed on the 8251A.
It is obvious that the emulation processing in this case can be performed by the same method as described in the above embodiment. Further, the second computer architecture in the present invention means one or a plurality of computer architectures different from the first computer architecture. Similarly, the first computer architecture differs from the second computer architecture 1
Or, it means multiple computer architectures.

【0300】また、AT機又は98機を用いて例えばア
ップル社製のマッキントッシュコンピュータ用のプログ
ラムを動作させる場合、又は逆にマッキントッシュコン
ピュータを用いてAT用、98用のプログラムを動作さ
せる場合にも、本発明の原理は適用できる。更に、1つ
のアーキテクチャのコンピュータ、例えばAT機を用い
て、AT用、98用、マッキントッシュ用のプログラム
を全て動作させる場合にも本発明の原理は適用できる。
Also, when operating a program for an Apple Macintosh computer using an AT machine or 98 machine, or conversely, when operating a program for AT or 98 using a Macintosh computer, The principles of the present invention are applicable. Furthermore, the principle of the present invention can be applied to the case where all the programs for AT, 98, and Macintosh are operated using a computer of one architecture, for example, an AT machine.

【0301】また、本発明における命令の解析、要因デ
ータの設定の手法は、上記実施例に限られず、あらゆる
種類のものを考えることができる。
Further, the method of analyzing the instruction and setting the factor data in the present invention is not limited to the above-mentioned embodiment, and any kind of method can be considered.

【0302】また、上記実施例では、バスアービタはサ
ブコントローラに内蔵されていたが、本発明はこれに限
らず、サブコントローラの外部にバスアービタを配置し
ても構わない。
Further, in the above embodiment, the bus arbiter was built in the sub-controller, but the present invention is not limited to this, and the bus arbiter may be arranged outside the sub-controller.

【0303】また、オプションボード上にサブコントロ
ーラ等を配置する構成とした場合、SMMハンドラ等の
プログラムを、例えばフロッピーディスク、CDROM
等の外部記憶装置に格納しておき、これをパーソナルコ
ンピュータシステムのRAM上にロードしてSMMハン
ドラによる所定の処理を実行してもよい。また、SMR
AMについては、第1のアーキテクチャのパーソナルコ
ンピュータシステムのRAMを転用する、あるいは、ボ
ード上に独自の記憶装置を設け、これをSMRAMとし
て使用すればよい。
In the case where the sub-controller or the like is arranged on the option board, the program such as the SMM handler is loaded on the floppy disk or the CDROM, for example.
It may be stored in an external storage device such as the above and loaded into the RAM of the personal computer system to execute a predetermined process by the SMM handler. Also, SMR
For the AM, the RAM of the personal computer system of the first architecture may be diverted, or a unique storage device may be provided on the board and used as the SMRAM.

【0304】また、上記実施例では、CPUとしてパイ
プライン処理の機能を備えたPentiumを使用して
いるが、これ以外のCPU(例えば、インテル社製のS
LEnhanced486、モトローラ・IBM社製の
POWER PC等)も当然用いることができる。ま
た、このPentiumでは、SMIが発生した際に、
パイプライン等でCPUの処理が次命令に進んでいると
いう可能性がある。このような場合には、CPUにリト
ライさせ、SMIが所望の命令の次に発生するようにす
ればよい。
In the above embodiment, the Pentium having the pipeline processing function is used as the CPU, but any other CPU (for example, S manufactured by Intel Corporation) is used.
LEnhanced486, POWER PC manufactured by Motorola / IBM, etc.) can of course be used. Also, in this Pentium, when SMI occurs,
There is a possibility that CPU processing is proceeding to the next instruction due to a pipeline or the like. In such a case, the CPU may be retried so that the SMI is generated after the desired instruction.

【0305】またメモリコントローラ11等の第1のア
ーキテクチャの制御デバイスは、その仕様によってRA
M等の外部接続デバイスのアドレス設定を、第2のアー
キテクチャの使用アドレスに合致させられない場合も想
定されるが、適切なデコーダ回路を挿入すれば十分に対
応は可能である。
The control device of the first architecture, such as the memory controller 11, is RA-dependent according to its specifications.
Although it is assumed that the address setting of the externally connected device such as M cannot match the address used by the second architecture, it is possible to sufficiently cope with it by inserting an appropriate decoder circuit.

【0306】また、本発明では、選択するアーキテクチ
ャによっては処理が非常に複雑で高速性の要求からエミ
ュレート処理することが困難である場合がある。このよ
うな場合では、情報処理装置内に最低限必要なハードウ
ェアを複数設ければよい。例えば、ビデオコントロー
ラ、FDDコントローラ等については、複数のアーキテ
クチャのものを情報処理装置内に内蔵すればよい。
Further, in the present invention, depending on the architecture to be selected, the processing may be very complicated, and it may be difficult to perform emulation processing due to the demand for high speed. In such a case, a plurality of minimum required hardware may be provided in the information processing device. For example, the video controller, the FDD controller, and the like may have a plurality of architectures built in the information processing apparatus.

【0307】また上記実施例では割り込み手段としてS
MIを用いたが、今後開発される割り込み手段であって
も、前述で説明したSMIの特徴と同様の特徴を備える
ものであれば、同じ様に用いることが可能である。
Further, in the above embodiment, S is used as the interrupting means.
Although the MI is used, the interrupting means to be developed in the future can be used in the same manner as long as it has the same characteristics as the SMI described above.

【0308】また、マイクロコードを用いた本発明の構
成は複数互換のみならず種々のエミュレートシステムに
適用できる。
The configuration of the present invention using the microcode can be applied not only to a plurality of compatibility but also to various emulation systems.

【0309】また、CPUバス上にサブコントローラを
設ける構成は図78(A)、図86に示すものに限らな
い。例えば図78(A)において第2のサブコントロー
ラ431に含まれるものを全て第1のサブコントローラ
424に含ませ、第2のサブコントローラ431を設け
ない構成としてもよい。あるいはこれらの一部、例えば
RTC等のみを第1のサブコントローラ424に含ませ
ることも可能である。また、第1のボードの構成も図7
9(A)に示すものに限らず、CPUの端子とメインボ
ード上の第2のソケットの端子とを接続する手段と、C
PUの端子と第2のソケットの端子とを第1のサブコン
トローラを介して接続する手段があればよい。例えば図
89(A)では第1のオプションボード1000上に、
CPU1002が装着可能な第1のソケット1004と
第1のサブコントローラ1006を設けている。また、
第1のオプションボード1000の裏面には接続コネク
タ1008を設け、この接続コネクタ1008をメイン
ボード上の第2のソケット1010に装着する。第1の
ソケット1004、第1のサブコントローラ1000
6、接続コネクタ1008は所定の配線ラインにより接
続される。また、図89(B)では第1のオプションボ
ード1012を多層配線板構造とし、その上に第1のソ
ケット1004と第1のサブコントローラ1006を設
け、また、第1のオプションボード1012の裏面に接
続コネクタ1014を設ける。図89(C)にはその断
面図が示される。この構成によればオプションボードを
小さくできる。また、図89(D)では、TCP(テー
プ・キャリア・パッケージ)等でCPU1022を第1
のオプションボード1020に実装したものである。こ
の構成ではCPU1022は常に第1のオプションボー
ド1020に装着されるため、メーカー側はCPU10
22についても供給する必要がある。しかしこの構成に
よれば実装面積を小さくできる。また、図89(E)
は、ODP(オーバードライブプロセッサ)1028が
装着されるODPソケット1026を第2のソケットと
する例である。この場合にはODPソケット1026か
らODP1028を取り外しODPソケット1026に
本発明の第1のオプションボードを装着する。そして、
取り外したODP1028を第1のオプションボード上
に装着する。従って、この場合には、ODP1028が
本発明における中央制御手段に相当することになる。な
お、ODP1028を図89(D)のようにTCP等に
より実装してもよい。
The structure in which the sub controller is provided on the CPU bus is not limited to those shown in FIGS. 78 (A) and 86. For example, in FIG. 78A, all the components included in the second sub-controller 431 may be included in the first sub-controller 424, and the second sub-controller 431 may not be provided. Alternatively, it is possible to include only a part of them, such as the RTC, in the first sub-controller 424. The configuration of the first board is also shown in FIG.
9A is not limited to that shown in FIG. 9A, means for connecting the terminals of the CPU and the terminals of the second socket on the main board, and C
It is sufficient that there is a means for connecting the terminal of the PU and the terminal of the second socket via the first sub-controller. For example, in FIG. 89 (A), on the first option board 1000,
A first socket 1004 to which the CPU 1002 can be attached and a first sub controller 1006 are provided. Also,
A connection connector 1008 is provided on the back surface of the first option board 1000, and the connection connector 1008 is attached to the second socket 1010 on the main board. First socket 1004, first sub-controller 1000
6. The connector 1008 is connected by a predetermined wiring line. Further, in FIG. 89B, the first option board 1012 has a multilayer wiring board structure, the first socket 1004 and the first sub-controller 1006 are provided thereon, and the back surface of the first option board 1012 is provided. A connection connector 1014 is provided. The cross-sectional view is shown in FIG. 89 (C). With this configuration, the option board can be made smaller. Further, in FIG. 89 (D), the CPU 1022 is a first device such as a TCP (tape carrier package)
It is mounted on the option board 1020. With this configuration, the CPU 1022 is always mounted on the first option board 1020, so the manufacturer side
It is necessary to supply 22 as well. However, with this configuration, the mounting area can be reduced. In addition, FIG. 89 (E)
Is an example in which the ODP socket 1026 in which the ODP (overdrive processor) 1028 is mounted is the second socket. In this case, the ODP 1028 is removed from the ODP socket 1026, and the first option board of the present invention is attached to the ODP socket 1026. And
The removed ODP1028 is mounted on the first option board. Therefore, in this case, the ODP 1028 corresponds to the central control means in the present invention. The ODP 1028 may be mounted by TCP or the like as shown in FIG. 89 (D).

【0310】更に本発明における第1、第2のボードは
オプションのボードである必要はない。また、第3のボ
ードはメインボードとは限らずCPUボードと呼ばれる
ものであってもかまわない。
Furthermore, the first and second boards of the present invention need not be optional boards. Further, the third board is not limited to the main board and may be a board called a CPU board.

【0311】[0311]

【発明の効果】以上述べたように本発明によれば、第1
のアーキテクチャ用に開発されたアプリケーションプロ
グラム、OS等の互換性を維持することが可能となり、
複数互換の実現が可能となる。また、独自の制御モード
でメモリ管理を行うことが可能となり、変換テーブルを
用いなければならないような複雑な処理を簡易に実現で
きる。
As described above, according to the present invention, the first
It is possible to maintain compatibility of application programs, OS, etc. developed for the
Multiple compatibility can be realized. In addition, it becomes possible to perform memory management in a unique control mode, and it is possible to easily realize complicated processing that requires the use of a conversion table.

【0312】また、本発明によれば、所定の処理に必要
なデータが格納されるアドレス位置がアプリケーション
プログラム等により書き換えられ、該所定の処理の実行
が不可能となるという事態を有効に防止できる。
Further, according to the present invention, it is possible to effectively prevent a situation in which the address position where the data necessary for the predetermined processing is stored is rewritten by the application program or the like and the predetermined processing cannot be executed. .

【0313】また、本発明によれば、例えば、エミュレ
ート処理により変換された命令により読み出されたデー
タ等を自動的に中央制御手段の内部レジスタにリストア
することが可能となり、処理が単純化される。
Further, according to the present invention, for example, the data read by the instruction converted by the emulation processing can be automatically restored in the internal register of the central control means, and the processing is simplified. To be done.

【0314】また、本発明によれば、誤動作が生じにく
く互換性の高いエミュレートシステムを実現でき、シス
テムの信頼性を高めることができる。
Further, according to the present invention, it is possible to realize an emulation system which is highly compatible and hardly malfunctions, and the reliability of the system can be improved.

【0315】また、本発明によれば、プログラムの開発
を容易にすることができ、プログラムの開発コスト、開
発期間を少なくすることができる。
Further, according to the present invention, the program development can be facilitated, and the program development cost and the development period can be reduced.

【0316】また、本発明によれば、NMIやINTを
使用する必要がなくなり、互換性が高く信頼性の高いシ
ステムを提供できる。
Further, according to the present invention, there is no need to use NMI or INT, and a system having high compatibility and high reliability can be provided.

【0317】また、本発明によれば、表示モードが標準
解像度モードと高解像度モードというように複数種類あ
った場合にも、これらのモード間の切り替えについても
容易に行うことができる。
Further, according to the present invention, even when there are a plurality of display modes such as a standard resolution mode and a high resolution mode, switching between these modes can be easily performed.

【0318】また、本発明によれば、命令の種類により
エミュレート処理の方式を変えているため、ソフトウェ
アのエミュレーションでの処理の低速化の問題、ハード
ウェアのエミュレーションでの互換性の低下の問題を解
決できる。
Further, according to the present invention, since the method of emulation processing is changed depending on the type of instruction, the problem of slowing down the processing in software emulation and the problem of deterioration of compatibility in hardware emulation. Can be solved.

【0319】また、本発明によれば、リトライ、バック
オフ等の機能を利用してデータを適正に中央制御手段に
伝えることができる。
Further, according to the present invention, the data can be properly transmitted to the central control means by utilizing the functions such as retry and back-off.

【0320】また、本発明によれば、エミュレート処理
後に得られたデータを自動的に伝えることができ、処理
の簡易化が図れる。
Further, according to the present invention, the data obtained after the emulation processing can be automatically transmitted, and the processing can be simplified.

【0321】また、本発明によれば、命令の変換をマイ
クロコードメモリ等を用いて高速に行うことができるた
め、データの欠落等が生じるのを防止できる。
Further, according to the present invention, conversion of instructions can be performed at high speed by using a microcode memory or the like, so that it is possible to prevent loss of data or the like.

【0322】また、本発明によれば、単なるビットの並
び替え処理では命令変換できないようエミュレート処
理、あるいは、例えばコマンドインストラクションとモ
ードインストラクションというように、処理を2つに分
けなければならないような複雑なエミュレート処理につ
いても実現可能となる。
Further, according to the present invention, emulation processing is performed so that instructions cannot be converted by mere bit rearrangement processing, or processing such as command instruction and mode instruction has to be divided into two. It is also possible to realize various emulation processing.

【0323】また、本発明によれば、例えば第1のデバ
イス制御手段でボーレートが1つに固定されている場合
でも、他の種類のボーレートを使用することが可能とな
る。また、本発明によれば、例えばコマンド、パラメー
タを判別して、この判別結果に基づいてエミュレート処
理を行う、あるいは所定の変換テーブルに基づいてデー
タ変換しなければならないような複雑なエミュレート処
理についても実現可能となる。
Further, according to the present invention, for example, even when the baud rate is fixed to one by the first device control means, another type of baud rate can be used. Further, according to the present invention, for example, a complicated emulation process in which a command or a parameter is discriminated and the emulation process is performed based on the discrimination result, or the data conversion is performed based on a predetermined conversion table. Will also be feasible.

【0324】また、本発明によれば、命令の変換をマイ
クロコードメモリ等を用いて高速に行うことができる。
Further, according to the present invention, instruction conversion can be performed at high speed using a microcode memory or the like.

【0325】また、本発明によれば、例えば割り込み要
因発生部と割り込みコントローラ部が1つのICの中に
内蔵されている場合等、割り込み線の交換が不可能であ
る場合にも、割り込みに関するエミュレート処理が可能
となる。
Further, according to the present invention, even when the interrupt line cannot be exchanged, for example, when the interrupt factor generating unit and the interrupt controller unit are built in one IC, it is possible to emulate the interrupt. Rate processing is possible.

【0326】また、本発明によれば、中央制御手段の処
理の中断、再実行を利用して、変換された割り込みベク
トルを中央制御手段に伝えることができる。
Also, according to the present invention, the interrupt vector converted can be transmitted to the central control means by utilizing the interruption and re-execution of the processing of the central control means.

【0327】また、本発明によれば、バスのコントロー
ル信号を制御するという簡易な手法で第2のコンピュー
タアーキテクチャの命令が第1のデバイス制御手段等に
伝わるのを防止できる。
Further, according to the present invention, it is possible to prevent the instruction of the second computer architecture from being transmitted to the first device control means or the like by a simple method of controlling the control signal of the bus.

【0328】また、本発明によれば、例えばビデオコン
トローラ等、エミュレート処理が困難なデバイス制御手
段が存在する場合も、複数互換の実現が可能になる。
Further, according to the present invention, even if there is a device control means such as a video controller which is difficult to emulate, a plurality of compatibility can be realized.

【0329】また、本発明によれば、例えば本体装置の
きょう体(外装部材)として第1のアーキテクチャのも
のを利用することが可能となり、装置の低コスト化が図
れると共に、過去の資産の有効利用も図れる。
Further, according to the present invention, it is possible to use, for example, the case of the first architecture as the casing (exterior member) of the main body device, which makes it possible to reduce the cost of the device and the effectiveness of past assets. It can be used.

【0330】また、本発明によれば、例えばリードサイ
クルとライトサイクルとを複数回繰り返す必要がある等
の複雑なエミュレート処理も実現できる。
Further, according to the present invention, it is possible to realize a complicated emulation process such that it is necessary to repeat the read cycle and the write cycle a plurality of times.

【0331】また、本発明によれば、種々のパターンの
複雑なエミュレーションデータを生成できる。
Further, according to the present invention, complicated emulation data of various patterns can be generated.

【0332】また、本発明によれば、無駄なメモリの読
み出しサイクルが生じるのを防止でき、エミュレート処
理を高速化できる。
Further, according to the present invention, it is possible to prevent useless memory read cycles from occurring, and speed up the emulation processing.

【0333】また、本発明によれば、ビット定義情報を
用いて例えばビットの交換処理、データの固定値化、デ
コード展開等の種々のデータ変換が可能になる。
Also, according to the present invention, various data conversions such as bit exchange processing, data fixed value conversion, and decoding expansion can be performed using the bit definition information.

【0334】また、本発明によれば、所望のデータをマ
イクロコードメモリに記憶させるだけで、そのデータを
そのままエミュレーションデータとして使用できる。
Further, according to the present invention, by simply storing desired data in the microcode memory, the data can be used as it is as emulation data.

【0335】また、本発明によれば、アドレス変換のみ
のエミュレート処理を高速に実現できる。
Further, according to the present invention, emulation processing only by address conversion can be realized at high speed.

【0336】また、本発明によれば、例えば1つのI/
Oポートが状況によって異なるデータを読み出せたり書
き込めたりするポートであった場合にも、該I/Oポー
トに対するI/O命令のエミュレート処理を実現でき
る。
Further, according to the present invention, for example, one I /
Even when the O port is a port that can read or write different data depending on the situation, the emulation processing of the I / O instruction for the I / O port can be realized.

【0337】また、本発明によれば、例えばキーボード
入力データ、マウス入力データ等の複雑なデータ変換処
理が必要なエミュレート処理も簡易に実現できる。
Further, according to the present invention, emulation processing which requires complicated data conversion processing such as keyboard input data and mouse input data can be easily realized.

【0338】また、本発明によれば複雑な処理が必要な
キーボード入力データの変換処理を変換テーブルを用い
て簡易に実現できる。
Further, according to the present invention, the keyboard input data conversion processing which requires complicated processing can be easily realized by using the conversion table.

【0339】また、本発明によれば、第1、第2のコン
ピュータアーキテクチャの間でマウスからの入力データ
のフォーマットが大幅に異なっている場合でも、簡易に
変換処理を実現できる。
Further, according to the present invention, even if the format of the input data from the mouse is significantly different between the first and second computer architectures, the conversion processing can be easily realized.

【0340】また、本発明によれば、オプションボード
等を装着するだけで実現するエミュレートシステムを提
供でき、商品価値を高めることができる。更に、ノート
パソコン等のバス構成が簡易な低価格の情報処理装置に
最適なエミュレートシステムを提供できる。
Further, according to the present invention, it is possible to provide an emulation system which is realized only by mounting an option board or the like, and it is possible to enhance the commercial value. Further, it is possible to provide an optimum emulation system for a low-priced information processing device such as a laptop computer having a simple bus configuration.

【0341】また、本発明によれば、例えば中央制御手
段のバックオフ機能等を用いてエミュレーションデータ
等を中央制御手段に伝えることが可能となる。
Further, according to the present invention, it becomes possible to transmit emulation data and the like to the central control means by using, for example, the back-off function of the central control means.

【0342】また、本発明によれば、例えばビデオコン
トローラ、FMサウンドコントローラ等の第1のコンピ
ュータアーキテクチャではサポートされていないデバイ
ス制御手段を有効利用できる。
Further, according to the present invention, it is possible to effectively use the device control means such as the video controller and the FM sound controller which are not supported by the first computer architecture.

【0343】また、本発明によれば、第1のボードに設
けられる回路を小規模化でき、例えば1チップのPAL
等で第1のサブコントローラを構成でき、スペースの問
題で第1のボードを小さくしなければならないような情
報処理装置に最適のエミュレートシステムを提供でき
る。
Further, according to the present invention, the circuit provided on the first board can be miniaturized, and for example, one chip PAL can be used.
It is possible to provide the emulation system most suitable for the information processing apparatus in which the first board has to be made small due to the space problem.

【0344】また、本発明によれば簡易な方法で第1の
デバイス制御手段等が受け付けられない命令への変換が
可能となる。
Further, according to the present invention, it is possible to convert into a command which the first device control means or the like cannot accept, by a simple method.

【0345】また、本発明によれば、リトライ機能等を
用いてエミュレーションデータ等を中央制御手段に伝え
ることが可能となる。
Further, according to the present invention, it is possible to transmit the emulation data and the like to the central control means by using the retry function and the like.

【0346】また、本発明によれば、例えばビデオコン
トローラ、FMサウンドコントローラ等を有効利用でき
る。
Further, according to the present invention, for example, a video controller, an FM sound controller, etc. can be effectively used.

【0347】また、本発明によれば、拡張スロットに割
り込み信号の端子が存在しないような場合にも、該割り
込みを利用したエミュレートシステムを実現できる。
Further, according to the present invention, it is possible to realize an emulation system utilizing the interrupt even when there is no interrupt signal terminal in the expansion slot.

【0348】また、本発明によれば、命令が第1のコン
ピュータアーキテクチャに適合するものであった場合に
処理の高速化が図れる。
Further, according to the present invention, the processing speed can be increased when the instruction is compatible with the first computer architecture.

【0349】また、本発明によれば、メモリへのアクセ
ス速度の低下を最小限に抑えるとができる。
Further, according to the present invention, it is possible to minimize the decrease in access speed to the memory.

【0350】また、本発明によれば、より互換性の高い
エミュレートシステムを実現できると共に、装置の低コ
スト化を図れる。
Further, according to the present invention, a more compatible emulation system can be realized and the cost of the device can be reduced.

【0351】また、本発明によれば、第1のボードを装
着するだけで実現できるエミュレートシステムを提供で
きる。
Further, according to the present invention, it is possible to provide an emulation system which can be realized only by mounting the first board.

【0352】また、本発明によれば、簡易な装着手法で
エミュレートシステムを実現できる。
Also, according to the present invention, an emulation system can be realized by a simple mounting method.

【0353】また、本発明によれば、例えばTCP等で
中央制御手段が実装された第1のボードを用いてエミュ
レートシステムを実現できる。
Further, according to the present invention, the emulation system can be realized by using the first board on which the central control means is mounted by TCP or the like.

【0354】また、本発明によれば、2つのサブコント
ローラを用意することでより互換性が高くバラエティに
富んだエミュレートシステムを提供できる。
Further, according to the present invention, by providing two sub-controllers, it is possible to provide an emulation system which is more compatible and rich in variety.

【0355】また、本発明によれば、拡張スロットに割
り込み信号の端子が存在しないような場合にも、該割り
込みを利用したエミュレートシステムを実現できる。
Further, according to the present invention, it is possible to realize an emulation system utilizing the interrupt even when there is no interrupt signal terminal in the expansion slot.

【0356】[0356]

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の第1の実施例のハードウェアを説明す
るブロック図である。
FIG. 1 is a block diagram illustrating hardware of a first exemplary embodiment of the present invention.

【図2】メモリマッピングを切り替えるためのハードウ
ェア構成を説明する図である。
FIG. 2 is a diagram illustrating a hardware configuration for switching memory mapping.

【図3】本発明の概念を説明する図である。FIG. 3 is a diagram illustrating the concept of the present invention.

【図4】図4(A)は、リアルモード時におけるNMI
処理の動作を示す図であり、図4(B)は、そのフロー
チャートである。
FIG. 4A is an NMI in real mode.
It is a figure which shows operation | movement of a process, FIG.4 (B) is the flowchart.

【図5】図5(A)は、プロテクトモード時におけるN
MI処理の動作を示す図であり、図5(B)は、そのフ
ローチャートである。また、図5(C)はスタック領域
について説明する図である。
FIG. 5A is a diagram illustrating N in a protect mode.
It is a figure which shows operation | movement of MI processing, and FIG.5 (B) is the flowchart. Further, FIG. 5C is a diagram illustrating a stack area.

【図6】SMI処理の動作原理を説明するフローチャー
トである。
FIG. 6 is a flowchart illustrating the operating principle of SMI processing.

【図7】サブコントローラ内のI/O受付手段、SMI
マスク手段、SMIステータス、SMI発生手段の回路
構成の一例である。
FIG. 7: I / O reception means in sub-controller, SMI
It is an example of a circuit configuration of a mask means, an SMI status, and an SMI generating means.

【図8】図8(A)、(B)は、要因レジスタ、マスク
レジスタの階層構造を説明するための図である。
8A and 8B are diagrams for explaining a hierarchical structure of a factor register and a mask register.

【図9】要因レジスタ、マスクレジスタを階層構造とし
た場合の回路構成の一例である。
FIG. 9 is an example of a circuit configuration when the factor register and the mask register have a hierarchical structure.

【図10】要因レジスタ、マスクレジスタを階層構造と
した場合の回路構成の一例である。
FIG. 10 is an example of a circuit configuration when the factor register and the mask register have a hierarchical structure.

【図11】図11(A)〜(C)は、リセット検出手
段、スピード切替検出手段、電源断検出手段の回路構成
の一例である。
11A to 11C are examples of circuit configurations of a reset detection unit, a speed switching detection unit, and a power interruption detection unit.

【図12】図12(A)、(B)は、階層構造となった
サブコントローラの動作を示すフローチャートである。
12A and 12B are flowcharts showing the operation of a sub-controller having a hierarchical structure.

【図13】要因データの設定についての信号波形図の一
例である。
FIG. 13 is an example of a signal waveform diagram for setting factor data.

【図14】SMMモードに入った後の本実施例の動作に
ついて示すフローチャートである。
FIG. 14 is a flowchart showing the operation of this embodiment after entering the SMM mode.

【図15】リセット処理についてのフローチャートであ
る。
FIG. 15 is a flowchart of reset processing.

【図16】I/Oライトのエミュレート処理の動作につ
いて示すフローチャートである。
FIG. 16 is a flowchart showing an operation of I / O write emulation processing.

【図17】2つに表示モードに対応するメモリマップ及
びメモリ設定レジスタの設定状態の一部を示す図であ
る。
FIG. 17 is a diagram showing a part of setting states of a memory map and a memory setting register corresponding to two display modes.

【図18】バスアービタの構成の一例を示す図である。FIG. 18 is a diagram showing an example of a configuration of a bus arbiter.

【図19】バスアービタの構成の一例を示す図である。FIG. 19 is a diagram showing an example of a configuration of a bus arbiter.

【図20】バスアービタの動作を示す状態遷移図であ
る。
FIG. 20 is a state transition diagram showing the operation of the bus arbiter.

【図21】図21(A)〜(C)は、SMI処理及びN
MI処理について説明するためのメモリマップ図であ
る。
21A to 21C show SMI processing and N.
It is a memory map figure for demonstrating MI processing.

【図22】第1の変換方式のフローチャートである。FIG. 22 is a flowchart of a first conversion method.

【図23】第2の変換方式のフローチャートである。FIG. 23 is a flowchart of a second conversion method.

【図24】第3の変換方式のフローチャートである。FIG. 24 is a flowchart of a third conversion method.

【図25】第4の変換方式のフローチャートである。FIG. 25 is a flowchart of a fourth conversion method.

【図26】第2の実施例のブロック図である。FIG. 26 is a block diagram of a second embodiment.

【図27】サブコントローラの詳細なブロック図であ
る。
FIG. 27 is a detailed block diagram of a sub controller.

【図28】バスアービタの回路構成の一例である。FIG. 28 is an example of a circuit configuration of a bus arbiter.

【図29】図29(A)、(B)は、シリアルコントロ
ーラに内蔵されるレジスタの種類とI/Oポートアドレ
スを示す図である。
29 (A) and 29 (B) are diagrams showing types of registers incorporated in the serial controller and I / O port addresses.

【図30】図30(A)、(B)は、従来のハードウェ
ア及び第3の実施例におけるデータ送信のフローチャー
トである。
30 (A) and 30 (B) are flowcharts of data transmission in the conventional hardware and the third embodiment.

【図31】図31(A)は、データ送信のエミュレート
処理のフローチャートであり、図31(B)は、この場
合の各信号の信号波形図である。
31A is a flowchart of emulation processing for data transmission, and FIG. 31B is a signal waveform diagram of each signal in this case.

【図32】図32(A)〜(C)は、モードレジスタ、
コマンドレジスタ、ステータスレジスタの内容を示す図
である。
32A to 32C are mode registers,
It is a figure which shows the content of a command register and a status register.

【図33】2つのシリアルコントローラの各レジスタの
配置及び内容を表す図である。
FIG. 33 is a diagram showing the arrangement and contents of each register of two serial controllers.

【図34】2つのシリアルコントローラの各レジスタの
配置及び内容を表す図である。
FIG. 34 is a diagram showing the arrangement and contents of each register of two serial controllers.

【図35】図35(A)はコマンドライトのエミュレー
ト処理のフローチャートであり、図35(B)はこの場
合の各信号の信号波形図である。
FIG. 35 (A) is a flow chart of command write emulation processing, and FIG. 35 (B) is a signal waveform diagram of each signal in this case.

【図36】コマンドライトのエミュレート処理の詳細な
フロチャートである。
FIG. 36 is a detailed flowchart of the command write emulation processing.

【図37】コマンドライトのエミュレート処理の詳細な
フロチャートである。
FIG. 37 is a detailed flowchart of command write emulation processing.

【図38】モードインストラクションのエミュレート処
理の詳細なフロチャートである。
FIG. 38 is a detailed flowchart of emulation processing of mode instructions.

【図39】図39(A)、(B)は、従来のハードウェ
ア及び第3の実施例におけるデータ受信のフローチャー
トである。
39A and 39B are flowcharts of data reception in the conventional hardware and the third embodiment.

【図40】データ受信のエミュレート処理の詳細なフロ
ーチャートである。
FIG. 40 is a detailed flowchart of emulation processing for data reception.

【図41】データ受信のエミュレート処理の各信号の信
号波形図である。
FIG. 41 is a signal waveform diagram of each signal for emulation processing of data reception.

【図42】ステータスリードのエミュレート処理のフロ
ーチャートである。
FIG. 42 is a flowchart of status read emulation processing.

【図43】8042、8251Aの各レジスタの配置及
び内容を表す図である。
FIG. 43 is a diagram showing the arrangement and contents of each register of 8042 and 8251A.

【図44】8042、8251Aの各レジスタの配置及
び内容を表す図である。
FIG. 44 is a diagram showing the arrangement and contents of the registers 8042 and 8251A.

【図45】図45(A)、(B)は、従来のハードウェ
ア及び第4の実施例におけるキーボードへのコマンド送
信のフローチャートである。
45 (A) and 45 (B) are flowcharts of command transmission to the keyboard in the conventional hardware and the fourth embodiment.

【図46】コマンド送信のエミュレート処理の詳細なフ
ロチャートである。
FIG. 46 is a detailed flowchart of emulation processing for command transmission.

【図47】図47(A)、(B)は、従来のハードウェ
ア及び第4の実施例におけるコマンドライトのフローチ
ャートである。
47 (A) and 47 (B) are flowcharts of command writing in conventional hardware and the fourth embodiment.

【図48】図48(A)、(B)は、従来のハードウェ
ア及び第4の実施例におけるデータ受信のフローチャー
トである。
48 (A) and 48 (B) are flowcharts of data reception in the conventional hardware and the fourth embodiment.

【図49】データ受信のエミュレート処理の詳細なフロ
チャートである。
FIG. 49 is a detailed flowchart of emulation processing for data reception.

【図50】図50(A)、(B)は、従来のハードウェ
ア及び第4の実施例におけるステータスリードのフロー
チャートである。
50A and 50B are flowcharts of status read in conventional hardware and the fourth embodiment.

【図51】第1のアーキテクチャと第2のアーキテクチ
ャとの割り込みベクトルの比較を示す図である。
FIG. 51 is a diagram showing a comparison of interrupt vectors between the first architecture and the second architecture.

【図52】図52(A)は、割り込みベクトル変換のエ
ミュレート処理のフロチャートであり、図52(B)
は、モード切り替えにより割り込みベクトルの切り替え
を行う場合の手法を説明するための図である。
52A is a flowchart of emulation processing for interrupt vector conversion, and FIG.
FIG. 6 is a diagram for explaining a method for switching interrupt vectors by mode switching.

【図53】割り込みベクトル変換のエミュレート処理に
おける各信号の信号波形図である。
FIG. 53 is a signal waveform diagram of each signal in emulation processing of interrupt vector conversion.

【図54】従来のハードウェアの構成を示す図である。FIG. 54 is a diagram showing a configuration of conventional hardware.

【図55】従来のハードウェアにおいて2つの表示モー
ドを切り替える動作を示すフローチャートである。
FIG. 55 is a flowchart showing an operation of switching between two display modes in conventional hardware.

【図56】図56(A)〜(C)は複数互換の実現形態
について示す図である。
56 (A) to (C) are diagrams showing a plurality of compatible implementation modes.

【図57】第6の実施例の全体構成を示す図である。FIG. 57 is a diagram showing an overall configuration of a sixth embodiment.

【図58】命令変換手段の回路構成の一例を示す図であ
る。
FIG. 58 is a diagram showing an example of a circuit configuration of instruction converting means.

【図59】本体装置と拡張スロットボックスとの関係に
ついて示す図である。
FIG. 59 is a diagram showing a relationship between a main body device and an expansion slot box.

【図60】ライトサイクルでの第6の実施例の動作を説
明するための信号波形図である。
FIG. 60 is a signal waveform diagram for explaining the operation of the sixth example in the write cycle.

【図61】リードサイクルでの第6の実施例の動作を説
明するための信号波形図である。
FIG. 61 is a signal waveform diagram for explaining the operation of the sixth example in the read cycle.

【図62】第6の実施例の動作を示すフローチャートで
ある。
FIG. 62 is a flowchart showing the operation of the sixth embodiment.

【図63】エミュレーションサイクルでの第6の実施例
の動作を示すフローチャートである。
FIG. 63 is a flowchart showing an operation of the sixth example in the emulation cycle.

【図64】命令変換手段の動作を示すフローチャートで
ある。
FIG. 64 is a flowchart showing the operation of the instruction converting means.

【図65】図65(A)〜(F)はマイクロコード情報
を説明するための図である。
65 (A) to (F) are diagrams for explaining microcode information.

【図66】シリアルコントローラのステータスレジスタ
の内容を示す図である。
FIG. 66 is a diagram showing the contents of the status register of the serial controller.

【図67】第6の実施例のエミュレート処理の具体例1
を説明するための図である。
FIG. 67 is a specific example 1 of the emulation processing according to the sixth embodiment.
It is a figure for explaining.

【図68】命令変換の手法について説明するための図で
ある。
FIG. 68 is a diagram for explaining a method of instruction conversion.

【図69】図69(A)は割り込み線に対する割り込み
要因の割り当てを示す図であり、図69(B)は825
9AのI/Oポートについて説明するための図である。
69 (A) is a diagram showing assignment of interrupt factors to interrupt lines, and FIG. 69 (B) shows 825.
It is a figure for demonstrating the I / O port of 9A.

【図70】第6の実施例のエミュレート処理の具体例2
を説明するための図である。
FIG. 70 is a specific example 2 of the emulation processing according to the sixth embodiment.
It is a figure for explaining.

【図71】命令変換の手法について説明するための図で
ある。
FIG. 71 is a diagram for explaining a method of instruction conversion.

【図72】ICW1〜4について説明するための図であ
る。
FIG. 72 is a diagram for explaining ICW1 to ICW4.

【図73】OCW1〜3について説明するための図であ
る。
FIG. 73 is a diagram for explaining OCW1 to OCW3.

【図74】図74(A)、(B)は、キーボードコント
ローラ、マウスコントローラについて説明するための図
である。
74 (A) and (B) are diagrams for explaining a keyboard controller and a mouse controller.

【図75】第7の実施例の構成を示す図である。FIG. 75 is a diagram showing the configuration of the seventh exemplary embodiment.

【図76】図76(A)、(B)はマウスデータのデー
タフォーマットを示す図である。
76 (A) and (B) are diagrams showing a data format of mouse data.

【図77】図77(A)、(B)はCPUとバスとブリ
ッジ回路の関係について説明するための図である。
77A and 77B are diagrams for explaining the relationship between the CPU, the bus, and the bridge circuit.

【図78】図78(A)は、CPUバス上にサブコント
ローラを設けた場合の構成を示す図であり、図78
(B)は、PCIバス上にのみサブコントローラを設け
た場合の構成を示す図である。
78A is a diagram showing a configuration in the case where a sub controller is provided over the CPU bus, and FIG.
(B) is a diagram showing a configuration in the case where a sub-controller is provided only on the PCI bus.

【図79】図79(A)は、オプションボードの装着手
法を示す図であり、図79(B)は第1のサブコントロ
ーラの構成の一例を示す図である。
79 (A) is a diagram showing a mounting method of an option board, and FIG. 79 (B) is a diagram showing an example of a configuration of a first sub-controller.

【図80】リセット直後の第8の実施例の動作を示すフ
ローチャートである。
FIG. 80 is a flowchart showing the operation of the eighth embodiment immediately after reset.

【図81】図81(A)〜(C)はリセット直後の第8
の実施例の動作を説明するための詳細なフローチャー
ト、メモリマップ、信号波形図である。
81 (A) to (C) are the eighth diagrams immediately after resetting.
6 is a detailed flowchart, a memory map, and a signal waveform diagram for explaining the operation of the embodiment of FIG.

【図82】CPUインターフェース手段の回路構成の一
例を示す図である。
FIG. 82 is a diagram showing an example of a circuit configuration of CPU interface means.

【図83】第8の実施例の動作を示すフローチャートで
ある。
FIG. 83 is a flowchart showing the operation of the eighth embodiment.

【図84】第8の実施例の動作を示すフローチャートで
ある。
FIG. 84 is a flow chart showing the operation of the eighth embodiment.

【図85】第8の実施例の動作を示す信号波形図であ
る。
FIG. 85 is a signal waveform diagram representing an operation of the eighth embodiment.

【図86】第9の実施例の構成の一例を示す図である。FIG. 86 is a diagram showing an example of the configuration of the ninth embodiment.

【図87】CPUインターフェース手段の構成の一例を
示す図である。
FIG. 87 is a diagram showing an example of a configuration of CPU interface means.

【図88】第9の実施例の動作を示す信号波形図であ
る。
88 is a signal waveform diagram showing an operation of the ninth embodiment. FIG.

【図89】図89(A)〜(E)は第1のオプションボ
ードの種々の構成を示す図である。
89 (A) to (E) are diagrams showing various configurations of the first option board.

【符号の説明】[Explanation of symbols]

1 CPU 3 キャッシュメモリ 5 CPUバス 7 HOLD信号 8 RESET信号 9 INIT信号 11 メモリコントローラ 12 ホールドウェイト制御 13 キャッシュコントローラ 14 リセットレジスタ 15 RAMコントローラ 17 メモリ設定レジスタ 19 PCIバスインターフェース 21 RAM 23 PCIバス 25 サブコントローラ 26 SMMハンドラ 27 SMI発生手段 28 SMIステータス 29 マスクレジスタ 30 I/O受付手段 31 SMI信号 33 VRAM 35 VRAM切替手段 37 HDD 39 ブリッジ回路 41 従来バス 43 ROM 45 ROM切替手段 47 FDD 48 キーボードコントローラ 49 キーボード 50 シリアルコントローラ 52 RS232Cインターフェイス 54 割り込みコントローラ 55 キーボードユニットコントローラ 60 スイッチ手段 62 デコーダ1 64 デコーダ2 66 ROM本体 70 バスアービタ 71 PCIバスインターフェース 73 リセット検出手段 74 スピード切替手段 75 電源断検出手段 76 表示切替検出手段 80 アプリケーションプログラム 82 OS 84 ハードウェア 86 エミュレート手段 88 ハード変更部分 100 サブコントローラ 104 命令変換手段 120 デコーダ 124 アドレス変換部 126 データ変換部 128 BEラッチレジスタ(R−Be) 130 アドレスラッチ 132 アドレスラッチレジスタ(R−Adr) 134 変換アドレスラッチ 136 データラッチレジスタ(R−Data) 138 変換データラッチ 300 サブコントローラ 326 拡張スロットボックス 310 SIO 350 命令変換手段 370 マイクロコードメモリ 392 キーボード・マウスコントローラ 414 第1のレジスタ 416 第2のレジスタ 417 タイマ 420 第1のオプションボード 422 第1のソケット 424 第1のサブコントローラ 426 メインボード 428 第2のソケット 430 第2のオプションボード 431 第2のサブコントローラ 440 CPUバスインターフェース手段 442 命令変換手段 450 第1のオプションボード 452 第1のサブコントローラ 454 CPUインターフェース手段 460 第2のオプションボード 462 第2のサブコントローラ 464 命令変換手段 902 タイミング回路 927 SMI発生手段 928 SMIステータス 929 SMIマスク手段 930 I/O受付手段 970 バスアービタ 971 PCIバスインターフェース 973 リセット検出手段 974 スピード切替手段 975 電源断検出手段 976 表示切替検出手段 1 CPU 3 cache memory 5 CPU bus 7 HOLD signal 8 RESET signal 9 INIT signal 11 memory controller 12 hold weight control 13 cache controller 14 reset register 15 RAM controller 17 memory setting register 19 PCI bus interface 21 RAM 23 PCI bus 25 sub-controller 26 SMM handler 27 SMI generating means 28 SMI status 29 Mask register 30 I / O receiving means 31 SMI signal 33 VRAM 35 VRAM switching means 37 HDD 39 Bridge circuit 41 Conventional bus 43 ROM 45 ROM switching means 47 FDD 48 Keyboard controller 49 Keyboard 50 Serial Controller 52 RS232C interface 54 Interrupt controller 55 keyboard unit controller 60 switch means 62 decoder 1 64 decoder 2 66 ROM body 70 bus arbiter 71 PCI bus interface 73 reset detection means 74 speed switching means 75 power failure detection means 76 display switching detection means 80 application program 82 OS 84 hardware 86 emulation means 88 hardware change part 100 sub controller 104 instruction conversion means 120 decoder 124 address conversion part 126 data conversion part 128 BE latch register (R-Be) 130 address latch 132 address latch register (R-Adr) 134 conversion address latch 136 Data Latch Register (R-Data) 138 Conversion Data Latch 300 Sub Controller 326 Extended Slot To box 310 SIO 350 instruction conversion means 370 microcode memory 392 keyboard / mouse controller 414 first register 416 second register 417 timer 420 first option board 422 first socket 424 first sub-controller 426 main board 428 second 2 socket 430 2nd option board 431 2nd sub-controller 440 CPU bus interface means 442 Command conversion means 450 1st option board 452 1st sub-controller 454 CPU interface means 460 2nd option board 462 2nd Sub-controller 464 Command conversion means 902 Timing circuit 927 SMI generation means 928 SMI status 929 SMI mask means 930 I / O reception means 970 Bus arbiter 971 PCI bus interface 973 Reset detection means 974 Speed switching means 975 Power interruption detection means 976 Display switching detection means

Claims (54)

【特許請求の範囲】[Claims] 【請求項1】 中央制御手段が第1のコンピュータアー
キテクチャに適合した命令体系によって命令を発行した
場合に、該命令を、該第1のコンピュータアーキテクチ
ャに適合した命令体系により制御される第1のデバイス
制御手段又はその制御対象に対して伝える手段と、 前記中央制御手段が前記第1のコンピュータアーキテク
チャとは異なる第2のコンピュータアーキテクチャに適
合した命令体系によって命令を発行した場合に、該命令
を受け取ると共に該命令を解析する手段と、 命令の種類を示す要因データを設定すると共に前記中央
制御手段に対して割り込みを発生する手段と、 前記割り込みによって起動され、前記要因に対応した所
定の処理を、少なくとも前記第1のデバイス制御手段又
はその制御対象に対して実行する手段とを含み、 前記割り込みにより前記中央制御手段の制御モードが所
定システムにより管理される制御モードに移行され、該
制御モード専用のメモリ領域に前記所定の処理のために
必要なデータが格納されることを特徴とするエミュレー
トシステム。
1. A first device in which, when the central control means issues an instruction by an instruction system adapted to the first computer architecture, the instruction is controlled by the instruction system adapted to the first computer architecture. Control means or means for transmitting the control target, and when the central control means issues an instruction according to an instruction system adapted to a second computer architecture different from the first computer architecture, the central control means receives the instruction At least means for analyzing the instruction, means for setting factor data indicating the type of the instruction and generating an interrupt to the central control means, and a predetermined process activated by the interrupt and corresponding to the factor, The first device control means or means for executing the control target The control mode of the central control means is shifted to a control mode managed by a predetermined system by the interrupt, and data necessary for the predetermined processing is stored in a memory area dedicated to the control mode. And emulation system.
【請求項2】 請求項1において、 前記メモリ領域において前記所定の処理のために必要な
データが格納されるアドレスの位置が、前記制御モード
においてのみ変更可能であることを特徴とするエミュレ
ートシステム。
2. The emulation system according to claim 1, wherein a position of an address in the memory area where data necessary for the predetermined processing is stored can be changed only in the control mode. .
【請求項3】 中央制御手段が第1のコンピュータアー
キテクチャに適合した命令体系によって命令を発行した
場合に、該命令を、該第1のコンピュータアーキテクチ
ャに適合した命令体系により制御される第1のデバイス
制御手段又はその制御対象に対して伝える手段と、 前記中央制御手段が前記第1のコンピュータアーキテク
チャとは異なる第2のコンピュータアーキテクチャに適
合した命令体系によって命令を発行した場合に、該命令
を受け取ると共に該命令を解析する手段と、 命令の種類を示す要因データを設定すると共に前記中央
制御手段に対して割り込みを発生する手段と、 前記割り込みによって起動され、前記要因に対応した所
定の処理を、少なくとも前記第1のデバイス制御手段又
はその制御対象に対して実行する手段とを含み、 前記割り込みにより前記中央制御手段の制御モードが所
定システムにより管理される制御モードに移行され、該
制御モード専用のメモリ領域に前記中央制御手段の内部
レジスタの内容が格納されるとともに、前記制御モード
の終了の際に、格納された内部レジスタの内容が前記中
央制御手段に戻されることを特徴とするエミュレートシ
ステム。
3. A first device controlled by the instruction system adapted to the first computer architecture, when the central control means issues the instruction according to the instruction system adapted to the first computer architecture. Control means or means for transmitting the control target, and when the central control means issues an instruction according to an instruction system adapted to a second computer architecture different from the first computer architecture, the central control means receives the instruction At least means for analyzing the instruction, means for setting factor data indicating the type of the instruction and generating an interrupt to the central control means, and a predetermined process activated by the interrupt and corresponding to the factor, The first device control means or means for executing the control target The control mode of the central control means is shifted to a control mode managed by a predetermined system by the interrupt, the content of the internal register of the central control means is stored in a memory area dedicated to the control mode, and the control is performed. An emulation system, characterized in that upon termination of the mode, the contents of the stored internal register are returned to said central control means.
【請求項4】 請求項3において、 前記メモリ領域において前記内部レジスタの内容が格納
されるアドレスの位置が、前記制御モードにおいてのみ
変更可能であることを特徴とするエミュレートシステ
ム。
4. The emulation system according to claim 3, wherein a position of an address where the contents of the internal register are stored in the memory area can be changed only in the control mode.
【請求項5】 中央制御手段が第1のコンピュータアー
キテクチャに適合した命令体系によって命令を発行した
場合に、該命令を、該第1のコンピュータアーキテクチ
ャに適合した命令体系により制御される第1のデバイス
制御手段又はその制御対象に対して伝える手段と、 前記中央制御手段が前記第1のコンピュータアーキテク
チャとは異なる第2のコンピュータアーキテクチャに適
合した命令体系によって命令を発行した場合に、該命令
を受け取ると共に該命令を解析する手段と、 命令の種類を示す要因データを設定すると共に前記中央
制御手段に対して割り込みを発生する手段と、 前記割り込みによって起動され、前記要因に対応した所
定の処理を、少なくとも前記第1のデバイス制御手段又
はその制御対象に対して実行する手段とを含み、 前記割り込みにより前記中央制御手段の制御モードが所
定システムにより管理される制御モードに移行され、割
り込み前の中央制御手段の制御モードに依存しない命令
体系により前記実行手段による前記所定の処理が行われ
ることを特徴とするエミュレートシステム。
5. When the central control means issues an instruction by an instruction system compatible with the first computer architecture, the first device is controlled by the instruction system compatible with the first computer architecture. Control means or means for transmitting the control target, and when the central control means issues an instruction according to an instruction system adapted to a second computer architecture different from the first computer architecture, the central control means receives the instruction At least means for analyzing the instruction, means for setting factor data indicating the type of the instruction and generating an interrupt to the central control means, and a predetermined process activated by the interrupt and corresponding to the factor, The first device control means or means for executing the control target The control mode of the central control means is shifted to a control mode managed by a predetermined system by the interrupt, and the predetermined processing by the execution means is performed by an instruction system that does not depend on the control mode of the central control means before the interruption. An emulation system characterized by being exposed.
【請求項6】 中央制御手段が第1のコンピュータアー
キテクチャに適合した命令体系によって命令を発行した
場合に、該命令を、該第1のコンピュータアーキテクチ
ャに適合した命令体系により制御される第1のデバイス
制御手段又はその制御対象に対して伝える手段と、 前記中央制御手段が前記第1のコンピュータアーキテク
チャとは異なる第2のコンピュータアーキテクチャに適
合した命令体系によって命令を発行した場合に、該命令
を受け取ると共に該命令を解析する手段と、 命令の種類を示す要因データを設定すると共に前記中央
制御手段に対して割り込みを発生する手段と、 前記割り込みによって起動され、前記要因に対応した所
定の処理を、少なくとも前記第1のデバイス制御手段又
はその制御対象に対して実行する手段とを含み、 前記割り込みが、前記中央制御手段をSMMモードに移
行させるためのSMI割り込みであることを特徴とする
エミュレートシステム。
6. A first device controlled by the instruction system adapted to the first computer architecture, when the central control means issues the instruction according to the instruction system adapted to the first computer architecture. Control means or means for transmitting the control target, and when the central control means issues an instruction according to an instruction system adapted to a second computer architecture different from the first computer architecture, the central control means receives the instruction At least means for analyzing the instruction, means for setting factor data indicating the type of the instruction and generating an interrupt to the central control means, and a predetermined process activated by the interrupt and corresponding to the factor, The first device control means or means for executing the control target An emulation system, characterized in that the interrupt is an SMI interrupt for shifting the central control means to an SMM mode.
【請求項7】 請求項1乃至6のいずれかにおいて、 前記第1のデバイス制御手段としてメモリデバイスを制
御する手段を含み、該メモリデバイスのメモリマップを
前記第2のコンピュータアーキテクチャに適合したメモ
リマップに変換する手段を含むことを特徴とするエミュ
レートシステム。
7. The memory map according to claim 1, further comprising means for controlling a memory device as the first device control means, the memory map of the memory device being adapted to the second computer architecture. An emulation system including means for converting to.
【請求項8】 中央制御手段が第1のコンピュータアー
キテクチャに適合した命令体系によって命令を発行した
場合に、該命令を、該第1のコンピュータアーキテクチ
ャに適合した命令体系により制御される第1のデバイス
制御手段又はその制御対象に対して伝える手段と、 前記中央制御手段が前記第1のコンピュータアーキテク
チャとは異なる第2のコンピュータアーキテクチャに適
合した命令体系によって命令を発行した場合に、該命令
を受け取ると共に該命令を解析する手段と、 命令が第1の種類の命令であると解析された場合に命令
の種類を示す要因データを設定すると共に前記中央制御
手段に対して割り込みを発生する手段と、 前記割り込みによって起動され、前記要因に対応した所
定の処理を、少なくとも前記第1のデバイス制御手段又
はその制御対象に対して実行する手段と、 命令が第2の種類の命令であると解析された場合に前記
第1のコンピュータアーキテクチャに適合するように該
命令を変換し、中央制御手段のバスアクセスを禁止する
と共に変換された命令を該中央制御手段に代わって発行
する手段とを含むことを特徴とするエミュレートシステ
ム。
8. When the central control means issues an instruction by an instruction system compatible with the first computer architecture, the first device is controlled by the instruction system compatible with the first computer architecture. Control means or means for transmitting the control target, and when the central control means issues an instruction according to an instruction system adapted to a second computer architecture different from the first computer architecture, the central control means receives the instruction A means for analyzing the instruction; a means for setting factor data indicating the type of the instruction when the instruction is analyzed as a first type instruction and generating an interrupt for the central control means; A predetermined process corresponding to the factor is activated by an interrupt, and at least the first device control is performed. Control means or means for executing the controlled object, and if the instruction is analyzed as the second type instruction, the instruction is converted so as to be compatible with the first computer architecture, and the central control means And a means for issuing a converted command instead of the central control means.
【請求項9】 請求項8において、 命令が前記第2の種類の読み出し命令であった場合に、
中央制御手段の処理を中断し中央制御手段のバスアクセ
スを禁止すると共に変換された命令を該中央制御手段に
代わって発行し、得られたデータを中央制御手段による
処理の再実行の際に中央制御手段に伝える手段を含むこ
とを特徴とするエミュレートシステム。
9. The method according to claim 8, wherein the instruction is the read instruction of the second type,
The processing of the central control means is interrupted to prohibit the bus access of the central control means, the converted instruction is issued on behalf of the central control means, and the obtained data is centralized when the processing is re-executed by the central control means. An emulation system comprising means for transmitting to a control means.
【請求項10】 請求項8において、 命令が前記第1の種類の読み出し命令であった場合に、
所定のメモリ領域に格納される前記中央制御手段の内部
レジスタの内容を前記所定の処理で得られたデータに基
づいて変更する手段と、前記割り込みにより前記中央制
御手段が移行した制御モードの終了の際に、変更された
内部レジスタの内容を前記中央制御手段に戻す手段とを
含むことを特徴とするエミュレートシステム。
10. The method according to claim 8, wherein the instruction is the read instruction of the first type,
A means for changing the contents of the internal register of the central control means stored in a predetermined memory area based on the data obtained by the predetermined processing; and an end of the control mode transferred to the central control means by the interrupt. And a means for returning the changed contents of the internal register to the central control means.
【請求項11】 請求項8又は9のいずれかにおいて、 前記第1のデバイス制御手段としてデータ送受信のため
のインターフェイスを制御する手段を含み、前記中央制
御手段により発行された命令がデータの送受信命令又は
ステータス読み出し命令であった場合に該命令を前記第
2の種類の命令であると解析し該命令の変換処理を行う
ことを特徴とするエミュレートシステム。
11. The instruction according to claim 8 or 9, further comprising means for controlling an interface for data transmission / reception as the first device control means, and the instruction issued by the central control means is a data transmission / reception instruction. Alternatively, when it is a status read command, the emulation system is characterized in that the command is analyzed as the second type command and conversion processing of the command is performed.
【請求項12】 請求項8において、 前記第1のデバイス制御手段としてデータ送受信のため
のインターフェイスを制御する手段を含み、前記中央制
御手段により発行された命令がコマンド書き込み命令で
あった場合に該命令を前記第1の種類の命令であると解
析し、前記実行手段の前記所定の処理により該命令の変
換処理を行うことを特徴とするエミュレートシステム。
12. The device according to claim 8, further comprising means for controlling an interface for data transmission / reception as the first device control means, wherein when the instruction issued by the central control means is a command write instruction. An emulation system characterized in that an instruction is analyzed as the first type instruction, and the conversion processing of the instruction is performed by the predetermined processing of the execution means.
【請求項13】 請求項8において、 前記第1のデバイス制御手段としてデータ送受信のため
のインターフェイスを制御する手段を含み、前記中央制
御手段により発行された命令がデータ転送のためのボー
レートを設定する命令であった場合に該命令を前記第1
の種類の命令であると解析し、前記実行手段の前記所定
の処理により前記ボーレートの演算を行うことを特徴と
するエミュレートシステム。
13. The device according to claim 8, further comprising means for controlling an interface for data transmission / reception as the first device control means, and the instruction issued by the central control means sets a baud rate for data transfer. If the command is the command, the command is issued as the first command.
The emulation system is characterized in that it is analyzed as an instruction of the type, and the baud rate is calculated by the predetermined processing of the execution means.
【請求項14】 請求項8又は10のいずれかにおい
て、 前記第1のデバイス制御手段としてデータ入力手段を制
御する手段を含み、前記中央制御手段により発行された
命令がコマンド送信命令又はコマンド書き込み命令又は
データ受信命令であった場合に該命令を前記第1の種類
の命令であると解析し、前記実行手段の前記所定の処理
により該命令の変換処理を行うことを特徴とするエミュ
レートシステム。
14. The method according to claim 8, further comprising a means for controlling a data input means as the first device control means, and the instruction issued by the central control means is a command transmission instruction or a command write instruction. Alternatively, when it is a data reception command, the command is analyzed as the command of the first type, and the conversion process of the command is performed by the predetermined process of the execution means.
【請求項15】 請求項8又は9のいずれかにおいて、 前記第1のデバイス制御手段としてデータ入力手段を制
御する手段を含み、前記中央制御手段により発行された
命令がステータス読み出し命令であった場合に該命令を
前記第2の種類の命令であると解析し該命令の変換処理
を行うことを特徴とするエミュレートシステム。
15. The method according to claim 8 or 9, further comprising means for controlling a data input means as the first device control means, and the instruction issued by the central control means is a status read instruction. The emulation system characterized in that the instruction is analyzed as the second type instruction and conversion processing of the instruction is performed.
【請求項16】 請求項8乃至15のいずれかにおい
て、 前記第1のデバイス制御手段として割り込みを制御する
手段を含み、前記中央制御手段に対して発行された割り
込みベクトルを変換するベクトル変換手段を含むことを
特徴とするエミュレートシステム。
16. The vector conversion unit according to claim 8, further comprising a unit for controlling an interrupt as the first device control unit, for converting an interrupt vector issued to the central control unit. An emulation system characterized by including.
【請求項17】 請求項8乃至16のいずれかにおい
て、 前記第1のデバイス制御手段として割り込みを制御する
手段を含み、前記中央制御手段により割り込みアクノリ
ッジ命令が発行された場合に、中央制御手段の処理を中
断し中央制御手段のバスアクセスを禁止すると共に割り
込みアクノリッジサイクルを新たに発生し、変換された
割り込みベクトルを中央制御手段による処理の再実行の
際に中央制御手段に伝える手段を含むことを特徴とする
エミュレートシステム。
17. The central control means according to claim 8, further comprising means for controlling an interrupt as the first device control means, wherein the central control means is operable to issue an interrupt acknowledge command when the central control means issues an interrupt acknowledge command. It includes means for interrupting the processing, prohibiting the bus access of the central control means, newly generating an interrupt acknowledge cycle, and transmitting the converted interrupt vector to the central control means when the central control means re-executes the processing. Characterized emulation system.
【請求項18】 第1のバスに接続され、中央制御手段
から発行された第2のコンピュータアーキテクチャに適
合した命令を第1のコンピュータアーキテクチャに適合
した命令に変換する手段を含むサブコントローラと、 前記第1のバスと第2のバスとを接続するためのブリッ
ジ回路とを含み、 前記サブコントローラが、前記ブリッジ回路に入力され
る前記第1のバスのコントロール信号を制御すること
で、前記第2のコンピュータアーキテクチャに適合した
命令が発行された場合に前記第2のバスに接続される第
1のデバイス制御手段又はその制御対象に対して該命令
が伝わるのを無効にする手段を含むことを特徴とするエ
ミュレートシステム。
18. A sub-controller connected to the first bus and including means for converting instructions issued by the central control means adapted to the second computer architecture into instructions adapted to the first computer architecture, A bridge circuit for connecting the first bus and the second bus, wherein the sub-controller controls a control signal of the first bus input to the bridge circuit, whereby the second bus When a command adapted to the computer architecture is issued, the device further includes means for invalidating the transmission of the command to the first device control means connected to the second bus or its control target. And emulation system.
【請求項19】 第1のバスに接続され、中央制御手段
から発行された第2のコンピュータアーキテクチャに適
合した命令を第1のコンピュータアーキテクチャに適合
した命令に変換する手段を含むサブコントローラと、 前記第1のバスに接続され、前記第2のコンピュータア
ーキテクチャに適合した命令体系により制御される第2
のデバイス制御手段とを含み、 前記サブコントローラが、前記第2のデバイス制御手段
に入力される前記第1のバスのコントロール信号を制御
することで、前記第1のコンピュータアーキテクチャに
適合した命令が発行された場合に前記第2のデバイス制
御手段又はその制御対象に対して該命令が伝わるのを無
効にすると共に、前記第2のコンピュータアーキテクチ
ャに適合した命令が発行された場合に前記第2のデバイ
ス制御手段又はその制御対象に対して該命令を伝える手
段を含むことを特徴とするエミュレートシステム。
19. A sub-controller connected to the first bus and including means for converting instructions issued by the central control means adapted to the second computer architecture into instructions adapted to the first computer architecture; A second bus connected to the first bus and controlled by an instruction system adapted to the second computer architecture;
The sub-controller controls a control signal of the first bus input to the second device control means, so that an instruction conforming to the first computer architecture is issued. If the instruction is transmitted, the transmission of the instruction to the second device control unit or its control target is disabled, and the second device is issued when the instruction conforming to the second computer architecture is issued. An emulation system comprising a control means or means for transmitting the command to a control target thereof.
【請求項20】 第1のバスに接続され、中央制御手段
から発行された第2のコンピュータアーキテクチャに適
合した命令を第1のコンピュータアーキテクチャに適合
した命令に変換する手段を含むサブコントローラと、 前記第1のバスに接続可能な第1の拡張スロットと、 該第1の拡張スロットに挿入可能であり、前記第1のバ
スの信号を、第2のコンピュータアーキテクチャに適合
する命令により制御される第2のバスの信号に変換する
手段を有するボードと、 前記第2のバスに接続可能な1又は複数の第2の拡張ス
ロットを含み前記ボードとケーブルを介して接続される
拡張スロットボックスとを含むことを特徴とするエミュ
レートシステム。
20. A sub-controller connected to the first bus and including means for converting instructions issued by the central control means adapted to the second computer architecture into instructions adapted to the first computer architecture; A first expansion slot connectable to the first bus, and a first expansion slot insertable into the first expansion slot for controlling signals on the first bus controlled by instructions compatible with a second computer architecture; A board having means for converting into a signal of two buses, and an expansion slot box including one or a plurality of second expansion slots connectable to the second bus and connected to the board via a cable. An emulation system characterized by that.
【請求項21】 中央制御手段が第2のコンピュータア
ーキテクチャに適合した命令体系によって命令を発行し
た場合に、該命令を第1のコンピュータアーキテクチャ
に適合した命令に変換するエミュレートシステムであっ
て、 入力されるメモリアドレスの位置に少なくともコマンド
情報、エミュレーションアドレス情報を含むマイクロコ
ード情報を記憶するマイクロコードメモリと、 前記中央制御手段により発行された命令に含まれるアド
レス情報と前記マイクロコードメモリに含まれる前記エ
ミュレーションアドレス情報のいずれかを選択し前記メ
モリアドレスを生成するセレクタ手段とを含み、 前記セレクタ手段が、前記コマンド情報に含まれるエミ
ュレーション継続情報に基づいてエミュレーションの継
続を指示された場合には前記エミュレーションアドレス
情報を選択し前記メモリアドレスを生成することを特徴
とするエミュレートシステム。
21. An emulation system for converting an instruction into an instruction conforming to a first computer architecture when the central control means issues an instruction by an instruction system conforming to a second computer architecture, the emulation system comprising: A microcode memory that stores at least the command information and microcode information including emulation address information at the position of the memory address, address information included in the instruction issued by the central control means, and the microcode memory included in the microcode memory. Selector means for selecting any one of the emulation address information and generating the memory address, wherein when the selector means is instructed to continue the emulation based on the emulation continuation information included in the command information, An emulation system which selects emulation address information and generates the memory address.
【請求項22】 請求項21において、 前記マイクロコードメモリからのマイクロコード情報に
基づいてエミュレーションデータの生成処理を行うデー
タ生成手段を含み、 該データ生成手段が、前記エミュレーション継続情報に
基づいてエミュレーションの継続が指示された場合に、
中央制御手段からの書き込みデータ又はn番目(nは1
以上の整数)のエミュレーションにより生成されたエミ
ュレーションデータに基づいてn+1番目のエミュレー
ションにおけるエミュレーションデータの生成処理を行
うことを特徴とするエミュレートシステム。
22. A data generating means for generating emulation data based on microcode information from the microcode memory according to claim 21, wherein the data generating means generates emulation data based on the emulation continuation information. If you are instructed to continue,
Write data from the central control means or nth (n is 1)
An emulation system characterized by performing emulation data generation processing in the (n + 1) th emulation based on the emulation data generated by the above (integer) emulation.
【請求項23】 中央制御手段が第2のコンピュータア
ーキテクチャに適合した命令体系によって命令を発行し
た場合に、該命令を第1のコンピュータアーキテクチャ
に適合した命令に変換するエミュレートシステムであっ
て、 命令変換のためのマイクロコード情報を所定のメモリア
ドレスの位置に記憶するマイクロコードメモリと、 前記マイクロコードメモリから前記マイクロコード情報
を読み出す手段と、 読み出されたマイクロコード情報に基づいてエミュレー
ションデータの生成処理を行うデータ生成手段とを含
み、 前記マイクロコードメモリは、第1のメモリアドレスの
位置に少なくともコマンド情報、エミュレーションアド
レス情報を含む第1のマイクロコード情報を記憶し、該
第1のメモリアドレスを変換することで得られる第2の
メモリアドレスの位置に少なくともデータ生成情報の一
部又は全部を含む第2のマイクロコード情報を記憶し、 前記読み出し手段が、第1のメモリ読み出しサイクルに
より前記第1のメモリアドレスの位置に記憶される前記
コマンド情報を読み出し、前記データ生成手段によるデ
ータ生成処理が必要であると該コマンド情報に基づいて
判断された場合には第2のメモリ読み出しサイクルを起
動して前記第2のメモリアドレスの位置に記憶される前
記データ生成情報を読み出し、 前記データ生成手段が、前記第1のメモリ読み出しサイ
クルで読み出された第1のマイクロコード情報と、前記
第2のメモリ読み出しサイクルで読み出された第2のマ
イクロコード情報とに基づいて前記データ生成処理を行
うことを特徴とするエミュレートシステム。
23. An emulation system for converting an instruction into an instruction conforming to a first computer architecture when the central control means issues the instruction by an instruction system conforming to a second computer architecture, the emulation system comprising: A microcode memory for storing microcode information for conversion at a predetermined memory address position, a unit for reading the microcode information from the microcode memory, and generation of emulation data based on the read microcode information Data generating means for performing processing, wherein the microcode memory stores first microcode information including at least command information and emulation address information at a position of the first memory address, and stores the first memory address. Obtained by converting The second microcode information including at least a part or all of the data generation information is stored at the position of the second memory address, and the read means stores at the position of the first memory address by the first memory read cycle. When the command information is read out and it is determined based on the command information that the data generating process by the data generating means is necessary, the second memory read cycle is activated to save the second memory address of the second memory address. The data generation information stored in a position is read, and the data generation means reads the first microcode information read in the first memory read cycle and the second microcode read information in the second memory read cycle. An emulation system characterized by performing the data generation process based on second microcode information. Temu.
【請求項24】 請求項23において、 前記データ生成情報がビット定義情報を含み、前記デー
タ生成手段が、該ビット定義情報に基づいてエミュレー
ションデータの各ビットの値を定義し前記データ生成処
理を行うことを特徴とするエミュレートシステム。
24. The data generation information according to claim 23, including bit definition information, and the data generation means defines a value of each bit of emulation data based on the bit definition information and performs the data generation process. An emulation system characterized by that.
【請求項25】 請求項23又は24のいずれかにおい
て、 前記第1のマイクロコード情報が所定ビット数のデータ
を含み、前記コマンド情報が、該所定ビット数のデータ
をエミュレーションデータとして出力することを指示す
る情報を含むことを特徴とするエミュレートシステム。
25. The method according to claim 23, wherein the first microcode information includes a predetermined number of bits of data, and the command information outputs the predetermined number of bits of data as emulation data. An emulation system characterized by including instructing information.
【請求項26】 請求項23乃至25のいずれかにおい
て、 前記コマンド情報が、アドレス変換処理のみを行いデー
タの変換は行わないことを指示する情報を含むことを特
徴とするエミュレートシステム。
26. The emulation system according to any one of claims 23 to 25, wherein the command information includes information indicating that only an address conversion process is performed and data conversion is not performed.
【請求項27】 請求項21乃至26のいずれかにおい
て、 前記中央制御手段により発行された命令に含まれるアド
レス情報をデコードして前記メモリアドレスを得るアド
レスデコード手段を含み、 該アドレスデコード手段が、中央制御手段により発行さ
れた命令に含まれるアドレス情報が同一である場合に、
該同一のアドレス情報から異なるメモリアドレスを得る
手段を含むことを特徴とするエミュレートシステム。
27. The address decoding unit according to claim 21, further comprising an address decoding unit that decodes address information included in an instruction issued by the central control unit to obtain the memory address. When the address information included in the instruction issued by the central control means is the same,
An emulation system including means for obtaining a different memory address from the same address information.
【請求項28】 中央制御手段が第2のコンピュータア
ーキテクチャに適合した命令体系によって命令を発行し
た場合に、該命令を第1のコンピュータアーキテクチャ
に適合した命令に変換して、前記第1のコンピュータア
ーキテクチャに適合した命令体系により制御される第1
のデバイス制御手段又はその制御対象に対して伝えるエ
ミュレートシステムであって、 前記第1のデバイス制御手段が第1の割り込みを発生す
ることで命令発行の依頼を前記中央制御手段に対して通
知する場合において、該第1の割り込みが発生された場
合に該割り込みを受け取ると共に命令の種類を示す要因
データを設定し、中央制御手段に対して第2の割り込み
を発生する手段と、 前記第2の割り込みによって起動され前記要因に対応し
た所定の処理を実行し、前記第1のデバイス制御手段又
はその制御対象に対する前記第2のコンピュータアーキ
テクチャに適合した命令の発行が可能な状態に設定する
実行手段と、 前記中央制御手段に対して前記第1の割り込みを発生し
命令発行の依頼を通知する手段とを含むことを特徴とす
るエミュレートシステム。
28. When the central control means issues an instruction according to an instruction system adapted to the second computer architecture, the instruction is converted into an instruction adapted to the first computer architecture, and the first computer architecture. Controlled by a command system adapted to
Of the device control means or its control target, wherein the first device control means generates a first interrupt to notify the central control means of a command issuance request. In this case, when the first interrupt is generated, it receives the interrupt, sets factor data indicating the type of instruction, and generates a second interrupt to the central control means, Execution means that is activated by an interrupt, executes a predetermined process corresponding to the factor, and sets a state in which an instruction suitable for the first device control means or the control target thereof can be issued in accordance with the second computer architecture; A means for generating the first interrupt and notifying a request for issuing an instruction to the central control means. Rate system.
【請求項29】 請求項28において、 前記第1のデバイス制御手段としてキーボードコントロ
ーラを含み、 前記実行手段による前記所定の処理が、キーボードから
の入力データをデータ変換テーブルを用いて変換し、前
記中央制御手段が読み出し可能な格納手段に変換された
データを格納する処理であることを特徴とするエミュレ
ートシステム。
29. The keyboard controller as the first device control means according to claim 28, wherein the predetermined processing by the execution means converts input data from the keyboard using a data conversion table, An emulation system, characterized in that the control means stores the converted data in a readable storage means.
【請求項30】 請求項28又は29において、 前記第1のデバイス制御手段としてマウスコントローラ
を含み、 前記実行手段による前記所定の処理が、マウスからの入
力データを、第2のコンピュータアーキテクチャに適合
した命令により読み出し可能なデータに変換し、前記中
央制御手段が読み出し可能な格納手段に変換されたデー
タを格納する処理であることを特徴とするエミュレート
システム。
30. The mouse controller according to claim 28, further comprising a mouse controller as the first device control means, wherein the predetermined processing by the execution means adapts input data from a mouse to a second computer architecture. An emulation system, which is a process of converting the data into readable data by an instruction and storing the converted data in a readable storage unit by the central control unit.
【請求項31】 中央制御手段が直接接続される第1の
バスに接続される第1のサブコントローラを含み、 前記第1のサブコントローラが、 第2のコンピュータアーキテクチャに適合した命令体系
により中央制御手段が命令を発行した場合に、第1のコ
ンピュータアーキテクチャに適合した命令体系により制
御される第1のデバイス制御手段又はその制御対象に対
して該命令が伝わるのを無効にする手段と、 中央制御手段から発行された該命令を前記第1のコンピ
ュータアーキテクチャに適合する命令に変換し、前記第
1のデバイス制御手段又はその制御対象に対して該変換
された命令を伝える手段とを含むことを特徴とするエミ
ュレートシステム。
31. A central control means includes a first sub-controller connected to a first bus to which the central control means is directly connected, said first sub-controller being centrally controlled by an instruction system adapted to a second computer architecture. A central control unit for invalidating the transmission of the command to the first device control unit controlled by the command system adapted to the first computer architecture or its control target when the unit issues the command; Means for converting the instruction issued from the means into an instruction compatible with the first computer architecture, and transmitting the converted instruction to the first device control means or its control target. And emulation system.
【請求項32】 請求項31において、 前記命令を伝える手段が、前記中央制御手段の入力信号
を制御することで中央制御手段の処理を中断させた後に
再実行させ、変換された命令により得られたデータ又は
前記第1のデバイス制御手段からの制御信号を前記再実
行の際に伝える手段を含むことを特徴とするエミュレー
トシステム。
32. The means for transmitting an instruction according to claim 31, wherein the processing of the central control means is interrupted by controlling the input signal of the central control means and then re-executed, and the converted instruction is obtained. An emulation system including means for transmitting data or a control signal from the first device control means during the re-execution.
【請求項33】 請求項31又は32のいずれかにおい
て、 前記第1のバスとは異なる第2のバスに接続される第2
のサブコントローラを含み、 前記第2のサブコントローラが、前記第2のコンピュー
タアーキテクチャに適合した命令体系により制御される
第2のデバイス制御手段を含むことを特徴とするエミュ
レートシステム。
33. The second bus according to claim 31, which is connected to a second bus different from the first bus.
An emulation system, wherein the second sub-controller includes second device control means controlled by an instruction system adapted to the second computer architecture.
【請求項34】 中央制御手段が直接接続される第1の
バスに接続される第1のサブコントローラと、該第1の
バスとは異なる第2のバスに接続される第2のサブコン
トローラを含み、 前記第1のサブコントローラが、第2のコンピュータア
ーキテクチャに適合した命令体系により中央制御手段が
命令を発行した場合に、該命令を、第1のコンピュータ
アーキテクチャに適合した命令体系により制御される第
1のデバイス制御手段又はその制御対象が受け付けられ
ない命令に変換する手段を含み、 前記第2のサブコントローラが、中央制御手段から発行
された前記命令を前記第1のコンピュータアーキテクチ
ャに適合する命令に変換し、前記第1のデバイス制御手
段又はその制御対象に対して変換された該命令を伝える
手段を含むことを特徴とするエミュレートシステム。
34. A first sub-controller connected to a first bus to which the central control means is directly connected, and a second sub-controller connected to a second bus different from the first bus. And the first sub-controller is controlled by the instruction system adapted to the first computer architecture when the central control means issues the instruction by the instruction system adapted to the second computer architecture. An instruction that includes a first device control unit or a unit that converts the control target into an instruction that cannot be accepted, wherein the second sub-controller issues the instruction issued from the central control unit to the first computer architecture. And means for transmitting the converted command to the first device control means or its control target. Emulate a system that.
【請求項35】 請求項34において、 前記第1のデバイス制御手段又はその制御対象が受け付
けられない命令への変換処理が、前記中央制御手段から
の命令に含まれるアドレスの情報を前記第1のデバイス
制御手段又はその制御対象が使用していないアドレスへ
と変換する処理であることを特徴とするエミュレートシ
ステム。
35. The conversion processing to an instruction in which the first device control means or its control target is not accepted according to claim 34, wherein information of an address included in the instruction from the central control means is changed to the first information. An emulation system characterized by a process of converting to an address which is not used by a device control means or its control target.
【請求項36】 請求項34又は35のいずれかにおい
て、 前記命令を伝える手段が、前記第2のバスの信号を制御
することで中央制御手段の処理を中断させた後に再実行
させ、変換された命令により得られたデータ又は前記第
1のデバイス制御手段からの制御信号を前記再実行の際
に伝える手段を含むことを特徴とするエミュレートシス
テム。
36. The means for transmitting the command according to claim 34 or 35, wherein the processing of the central control means is interrupted by controlling the signal of the second bus and then re-executed to be converted. An emulation system including means for transmitting data obtained by the command or a control signal from the first device control means at the time of the re-execution.
【請求項37】 請求項34乃至36のいずれかにおい
て、 前記第2のサブコントローラが、前記第2のコンピュー
タアーキテクチャに適合した命令体系により制御される
第2のデバイス制御手段を含むことを特徴とするエミュ
レートシステム。
37. The device according to any one of claims 34 to 36, wherein the second sub-controller includes second device control means controlled by an instruction system adapted to the second computer architecture. Emulation system to do.
【請求項38】 請求項34乃至37のいずれかにおい
て、 前記第2のサブコントローラからの割り込み信号を前記
中央制御手段に対して伝える手段を含むことを特徴とす
るエミュレートシステム。
38. The emulation system according to claim 34, further comprising means for transmitting an interrupt signal from the second sub-controller to the central control means.
【請求項39】 請求項31乃至38のいずれかにおい
て、 前記第1のサブコントローラが、中央制御手段から発行
された前記命令が第1のコンピュータアーキテクチャに
適合するものであった場合には、前記第1のデバイス制
御手段又はその制御対象に該命令を伝える手段を含むこ
とを特徴とするエミュレートシステム。
39. The method according to any one of claims 31 to 38, wherein when the first sub-controller has the instruction issued from the central control means that conforms to the first computer architecture. An emulation system comprising a first device control means or means for transmitting the command to a control target thereof.
【請求項40】 請求項31乃至39のいずれかにおい
て、 前記第1のサブコントローラが、中央制御手段から発行
された前記命令がメモリデバイスを制御する手段又はそ
の制御対象に対するものであるか否かの判断を行うため
に、中央制御手段が発生する前記第1のバスの制御開始
信号を遅らせる手段を含むことを特徴とするエミュレー
トシステム。
40. The method according to any one of claims 31 to 39, wherein the first sub-controller is a means for controlling a memory device or a control target of the instruction issued from the central control means. The emulation system includes means for delaying the control start signal of the first bus generated by the central control means for making the above judgment.
【請求項41】 請求項31乃至40のいずれかにおい
て、 リセット後又は電源投入後に、第2のコンピュータアー
キテクチャに適合するBIOSを第1のコンピュータア
ーキテクチャに適合するBIOSに優先して起動する手
段と、 中央制御手段から発行された命令を変換せずに伝えるか
第1のコンピュータアーキテクチャに適合する命令に変
換して伝えるかのモード選択をデータ入力手段からの指
示に基づいて切り換える手段とを含むことを特徴とする
エミュレートシステム。
41. The means according to any one of claims 31 to 40, which, after resetting or power-on, boots a BIOS compatible with the second computer architecture with priority over a BIOS compatible with the first computer architecture. Means for switching the mode selection of whether the instruction issued from the central control means is transmitted without conversion or converted into an instruction compatible with the first computer architecture and transmitted, based on an instruction from the data input means. Characterized emulation system.
【請求項42】 中央制御手段から発行された命令をエ
ミュレート処理するための第1のサブコントローラを少
なくとも有する第1のボードを含み、 該第1のボードが、 中央制御手段の第1の端子群と、中央制御手段が装着可
能な第2のソケットを少なくとも有する第3のボードの
該第2のソケットの第1の端子群とを接続するための第
1の接続手段と、 中央制御手段の第2の端子群と前記第2のソケットの第
2の端子群とを、前記第1のサブコントローラを介して
接続するための第2の接続手段とを含むことを特徴とす
るエミュレートシステム。
42. A first board having at least a first sub-controller for emulating an instruction issued by the central control means, the first board comprising: a first terminal of the central control means. First connecting means for connecting the group to a first terminal group of the second socket of a third board having at least a second socket to which the central control means can be attached; An emulation system comprising: a second connection group for connecting a second terminal group and a second terminal group of the second socket via the first sub-controller.
【請求項43】 請求項42において、 前記第1のボードが、 前記中央制御手段が装着可能な第1のソケットと、前記
第2のソケットに設けられる複数のピン穴に挿入可能な
複数のピンを有する接続コネクタと、前記第1のソケッ
トの端子と前記サブコントローラの端子と前記接続コネ
クタの端子とを接続するための配線手段とを含むことを
特徴とするエミュレートシステム。
43. The plurality of pins according to claim 42, wherein the first board is insertable into a plurality of pin holes provided in the first socket to which the central control means can be mounted and the second socket. An emulation system, comprising: a connection connector having a connector; and a wiring means for connecting the terminal of the first socket, the terminal of the sub-controller, and the terminal of the connection connector.
【請求項44】 請求項42において、 前記第1のボードが、 前記中央制御手段と、前記第2のソケットに設けられる
複数のピン穴に挿入可能な複数のピンを有する接続コネ
クタと、前記中央制御手段の端子と前記サブコントロー
ラの端子と前記接続コネクタの端子とを接続するための
配線手段とを含むことを特徴とするエミュレートシステ
ム。
44. The first board according to claim 42, wherein the first control means, a connection connector having a plurality of pins insertable into a plurality of pin holes provided in the second socket, and the center. An emulation system comprising: wiring means for connecting the terminals of the control means, the terminals of the sub-controller, and the terminals of the connection connector.
【請求項45】 請求項42乃至44のいずれかにおい
て、 前記第1のサブコントローラと共に前記エミュレート処
理を行うための第2のサブコントローラを少なくとも有
し、前記第3のボード上の前記第2のソケットの端子と
の間で信号の伝達が可能な拡張スロットに対して装着可
能な第2のボードを含むことを特徴とするエミュレート
システム。
45. The second sub-controller according to claim 42, further comprising at least a second sub-controller for performing the emulation processing together with the first sub-controller. An emulation system including a second board attachable to an expansion slot capable of transmitting a signal to and from a terminal of the socket.
【請求項46】 請求項45において、 前記第1のボードと前記第2のボードとの間で信号の伝
達を行うための信号ラインを含み、 前記信号が、前記第2のボード上の前記第2のサブコン
トローラから前記第1のボード上の前記中央制御手段に
対して発生する割り込み信号を含むことを特徴とするエ
ミュレートシステム。
46. The signal line of claim 45, further comprising a signal line for transmitting a signal between the first board and the second board, wherein the signal is the second line on the second board. An emulation system including an interrupt signal generated from two sub-controllers to the central control means on the first board.
【請求項47】(A)中央制御手段が第1のコンピュー
タアーキテクチャに適合した命令体系によって命令を発
行した場合に、該命令を、該第1のコンピュータアーキ
テクチャに適合した命令体系により制御される第1のデ
バイス制御手段又はその制御対象に対して伝えるステッ
プと、(B)前記中央制御手段が前記第1のコンピュー
タアーキテクチャとは異なる第2のコンピュータアーキ
テクチャに適合した命令体系によって命令を発行した場
合に、該命令を受け取ると共に該命令を解析するステッ
プと、(C)命令の種類を示す要因データを設定すると
共に前記中央制御手段に対して割り込みを発生するステ
ップと、(D)前記割り込みによって起動され、前記要
因に対応した所定の処理を、少なくとも前記第1のデバ
イス制御手段又はその制御対象に対して実行するステッ
プとを含み、 前記ステップ(D)で起動された前記割り込みにより前
記中央制御手段の制御モードが所定システムにより管理
される制御モードに移行され、該制御モード専用のメモ
リ領域に前記所定の処理のために必要なデータが格納さ
れることを特徴とするエミュレート方法。
47. (A) When the central control means issues an instruction by an instruction system adapted to the first computer architecture, the instruction is controlled by the instruction system adapted to the first computer architecture. A step of transmitting the instruction to one device control means or its control target; and (B) when the central control means issues an instruction by an instruction system adapted to a second computer architecture different from the first computer architecture. Receiving the instruction and analyzing the instruction, (C) setting factor data indicating the type of the instruction and generating an interrupt to the central control means, (D) activated by the interrupt A predetermined process corresponding to the factor, at least the first device control means or Of the control target of the central control means is transferred to the control mode managed by a predetermined system by the interrupt activated in step (D). An emulation method characterized in that data necessary for the predetermined processing is stored in a memory area.
【請求項48】(A)中央制御手段が第1のコンピュー
タアーキテクチャに適合した命令体系によって命令を発
行した場合に、該命令を、該第1のコンピュータアーキ
テクチャに適合した命令体系により制御される第1のデ
バイス制御手段又はその制御対象に対して伝えるステッ
プと、(B)前記中央制御手段が前記第1のコンピュー
タアーキテクチャとは異なる第2のコンピュータアーキ
テクチャに適合した命令体系によって命令を発行した場
合に、該命令を受け取ると共に該命令を解析するステッ
プと、(C)命令の種類を示す要因データを設定すると
共に前記中央制御手段に対して割り込みを発生するステ
ップと、(D)前記割り込みによって起動され、前記要
因に対応した所定の処理を、少なくとも前記第1のデバ
イス制御手段又はその制御対象に対して実行するステッ
プとを含み、 前記ステップ(D)で起動された割り込みにより前記中
央制御手段の制御モードが所定システムにより管理され
る制御モードに移行され、該制御モード専用のメモリ領
域に前記中央制御手段の内部レジスタの内容が格納され
るとともに、前記制御モードの終了の際に、格納された
内部レジスタの内容が前記中央制御手段に戻されること
を特徴とするエミュレート方法。
(A) When the central control means issues an instruction by an instruction system adapted to the first computer architecture, the instruction is controlled by the instruction system adapted to the first computer architecture. A step of transmitting the instruction to one device control means or its control target; and (B) when the central control means issues an instruction by an instruction system adapted to a second computer architecture different from the first computer architecture. Receiving the instruction and analyzing the instruction, (C) setting factor data indicating the type of the instruction and generating an interrupt to the central control means, (D) activated by the interrupt A predetermined process corresponding to the factor, at least the first device control means or And a step of executing the control target of the central control means by the interrupt activated in step (D), and the control mode of the central control means is shifted to a control mode managed by a predetermined system. The emulation method is characterized in that the content of the internal register of the central control means is stored in the area, and the stored content of the internal register is returned to the central control means when the control mode ends.
【請求項49】(A)中央制御手段が第1のコンピュー
タアーキテクチャに適合した命令体系によって命令を発
行した場合に、該命令を、該第1のコンピュータアーキ
テクチャに適合した命令体系により制御される第1のデ
バイス制御手段又はその制御対象に対して伝えるステッ
プと、(B)前記中央制御手段が前記第1のコンピュー
タアーキテクチャとは異なる第2のコンピュータアーキ
テクチャに適合した命令体系によって命令を発行した場
合に、該命令を受け取ると共に該命令を解析するステッ
プと、(C)命令が第1の種類の命令であると解析され
た場合に命令の種類を示す要因データを設定すると共に
前記中央制御手段に対して割り込みを発生するステップ
と、(D)前記割り込みによって起動され、前記要因に
対応した所定の処理を、少なくとも前記第1のデバイス
制御手段又はその制御対象に対して実行するステップ
と、(E)命令が第2の種類の命令であると解析された
場合に前記第1のコンピュータアーキテクチャに適合す
るように該命令を変換し、中央制御手段のバスアクセス
を禁止すると共に変換された命令を該中央制御手段に代
わって発行するステップとを含むことを特徴とするエミ
ュレート方法。
(A) When the central control means issues an instruction by an instruction system adapted to the first computer architecture, the instruction is controlled by the instruction system adapted to the first computer architecture. A step of transmitting the instruction to one device control means or its control target; and (B) when the central control means issues an instruction by an instruction system adapted to a second computer architecture different from the first computer architecture. Receiving the instruction and analyzing the instruction, and (C) setting factor data indicating the type of the instruction when the instruction is analyzed as the first type instruction, and for the central control means. Generating an interrupt, and (D) a predetermined process that is activated by the interrupt and corresponds to the cause. To at least the first device control means or its controlled object, and (E) conforms to the first computer architecture when the instruction is analyzed as a second type instruction. And converting the instruction to prohibit bus access of the central control unit and issuing the converted instruction on behalf of the central control unit.
【請求項50】 中央制御手段が第2のコンピュータア
ーキテクチャに適合した命令体系によって命令を発行し
た場合に、該命令を第1のコンピュータアーキテクチャ
に適合した命令に変換するエミュレート方法であって、
(A)入力されるメモリアドレスの位置に少なくともコ
マンド情報、エミュレーションアドレス情報を含むマイ
クロコード情報を記憶するマイクロコードメモリから、
該マイクロコード情報を読み出すステップと、(B)前
記中央制御手段により発行された命令に含まれるアドレ
ス情報と前記マイクロコードメモリから読み出された前
記エミュレーションアドレス情報のいずれかを選択し前
記メモリアドレスを生成するステップとを含み、 前記ステップ(B)において、前記コマンド情報に含ま
れるエミュレーション継続情報に基づいてエミュレーシ
ョンの継続を指示された場合には前記エミュレーション
アドレス情報を選択し前記メモリアドレスを生成するこ
とを特徴とするエミュレート方法。
50. An emulation method for converting an instruction into an instruction compatible with a first computer architecture when the central control means issues the instruction by an instruction system compatible with the second computer architecture,
(A) From a microcode memory storing microcode information including at least command information and emulation address information at a position of an input memory address,
Reading the microcode information, and (B) selecting one of the address information included in the instruction issued by the central control means and the emulation address information read from the microcode memory to select the memory address. Generating the memory address by selecting the emulation address information when the continuation of the emulation is instructed based on the emulation continuation information included in the command information in the step (B). Emulation method characterized by.
【請求項51】 中央制御手段が第2のコンピュータア
ーキテクチャに適合した命令体系によって命令を発行し
た場合に、該命令を第1のコンピュータアーキテクチャ
に適合した命令に変換するエミュレート方法であって、
(A)マイクロコードメモリの第1のメモリアドレスの
位置に記憶され少なくともコマンド情報、エミュレーシ
ョンアドレス情報を含む第1のマイクロコード情報を、
第1のメモリ読み出しサイクルを起動することで読み出
すステップと、(B)エミュレーションデータの生成処
理が必要であると前記コマンド情報に基づいて判断され
た場合には第2のメモリ読み出しサイクルを起動し、前
記第1のメモリアドレスを変換することで得られる第2
のメモリアドレスの位置に記憶されデータ生成情報の一
部又は全部を含む第2のマイクロコード情報を読み出す
ステップと、(C)前記第1のメモリ読み出しサイクル
で読み出された第1のマイクロコード情報と、前記第2
のメモリ読み出しサイクルで読み出された第2のマイク
ロコード情報とに基づいてエミュレーションデータの生
成処理を行うことを特徴とするエミュレート方法。
51. An emulation method for converting an instruction into an instruction compatible with a first computer architecture when the central control means issues the instruction by an instruction system compatible with the second computer architecture,
(A) First microcode information stored at a first memory address position of the microcode memory and including at least command information and emulation address information,
A step of reading by activating a first memory read cycle; and (B) activating a second memory read cycle if it is determined based on the command information that generation processing of emulation data is necessary, A second obtained by converting the first memory address
Reading the second microcode information stored at the memory address position and including a part or all of the data generation information; and (C) the first microcode information read in the first memory read cycle. And the second
Emulation data generation processing is performed based on the second microcode information read in the memory read cycle of.
【請求項52】 中央制御手段が第2のコンピュータア
ーキテクチャに適合した命令体系によって命令を発行し
た場合に、該命令を第1のコンピュータアーキテクチャ
に適合した命令に変換して、前記第1のコンピュータア
ーキテクチャに適合した命令体系により制御される第1
のデバイス制御手段又はその制御対象に対して伝えるエ
ミュレート方法であって、(A)前記第1のデバイス制
御手段が第1の割り込みを発生することで命令発行の依
頼を前記中央制御手段に対して通知する場合において、
該第1の割り込みが発生された場合に該割り込みを受け
取ると共に命令の種類を示す要因データを設定し、中央
制御手段に対して第2の割り込みを発生するステップ
と、(B)前記第2の割り込みによって起動され前記要
因に対応した所定の処理を実行し、前記第1のデバイス
制御手段又はその制御対象に対する前記第2のコンピュ
ータアーキテクチャに適合した命令の発行が可能な状態
に設定するステップと、(C)前記中央制御手段に対し
て前記第1の割り込みを発生し命令発行の依頼を通知す
るステップとを含むことを特徴とするエミュレート方
法。
52. When the central control means issues an instruction by an instruction system adapted to the second computer architecture, the instruction is converted into an instruction adapted to the first computer architecture, and the first computer architecture. Controlled by a command system adapted to
(A) The first device control means generates a first interrupt to send an instruction issuance request to the central control means. In case of notification
Receiving the interrupt when the first interrupt is generated, setting factor data indicating the type of instruction, and generating a second interrupt to the central control means, and (B) the second interrupt A step of being activated by an interrupt, executing a predetermined process corresponding to the factor, and setting a state in which an instruction conforming to the second computer architecture can be issued to the first device control unit or its control target; (C) a step of generating the first interrupt and notifying a request to issue an instruction to the central control means.
【請求項53】 中央制御手段が直接接続される第1の
バスに接続される第1のサブコントローラを含む情報処
理装置に使用されるエミュレート方法であって、(A)
第2のコンピュータアーキテクチャに適合した命令体系
により中央制御手段が命令を発行した場合に、第1のコ
ンピュータアーキテクチャに適合した命令体系により制
御される第1のデバイス制御手段又はその制御対象に対
して該命令が伝わるのを無効にするステップと、(B)
中央制御手段から発行された該命令を前記第1のコンピ
ュータアーキテクチャに適合する命令に変換し、前記第
1のデバイス制御手段又はその制御対象に対して該変換
された命令を伝えるステップとを含むことを特徴とする
エミュレート方法。
53. An emulation method used in an information processing apparatus including a first sub-controller connected to a first bus to which a central control means is directly connected, comprising: (A)
When the central control means issues an instruction by the instruction system adapted to the second computer architecture, the first device control means controlled by the instruction system adapted to the first computer architecture or its control target Disabling the transmission of commands, (B)
Converting the instruction issued from the central control means into an instruction compatible with the first computer architecture, and transmitting the converted instruction to the first device control means or its control target. Emulation method characterized by.
【請求項54】 中央制御手段が直接接続される第1の
バスに接続される第1のサブコントローラと、該第1の
バスとは異なる第2のバスに接続される第2のサブコン
トローラを含む情報処理装置に使用されるエミュレート
方法であって、(A)第2のコンピュータアーキテクチ
ャに適合した命令体系により中央制御手段が命令を発行
した場合に、該命令を、第1のコンピュータアーキテク
チャに適合した命令体系により制御される第1のデバイ
ス制御手段又はその制御対象が受け付けられない命令に
変換するステップと、(B)中央制御手段から発行され
た前記命令を前記第1のコンピュータアーキテクチャに
適合する命令に変換し、前記第1のデバイス制御手段又
はその制御対象に対して変換された該命令を伝えるステ
ップとを含むことを特徴とするエミュレート方法。
54. A first sub-controller connected to a first bus to which the central control means is directly connected, and a second sub-controller connected to a second bus different from the first bus. An emulation method used in an information processing apparatus including: (A) when a central control means issues an instruction by an instruction system adapted to the second computer architecture, the instruction is transmitted to the first computer architecture. A step of converting the first device control means controlled by an adapted instruction system or a control target thereof into an instruction that cannot be accepted; and (B) adapting the instruction issued from the central control means to the first computer architecture. And converting the converted instruction to the first device control means or its control target. Characterized emulation method.
JP6335921A 1993-12-24 1994-12-22 System and method for emulation Withdrawn JPH07334373A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6335921A JPH07334373A (en) 1993-12-24 1994-12-22 System and method for emulation

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP32858893 1993-12-24
JP5-328588 1994-04-11
JP6-97991 1994-04-11
JP9799194 1994-04-11
JP6335921A JPH07334373A (en) 1993-12-24 1994-12-22 System and method for emulation

Publications (1)

Publication Number Publication Date
JPH07334373A true JPH07334373A (en) 1995-12-22

Family

ID=27308538

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6335921A Withdrawn JPH07334373A (en) 1993-12-24 1994-12-22 System and method for emulation

Country Status (1)

Country Link
JP (1) JPH07334373A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6675275B2 (en) 2001-06-06 2004-01-06 Fujitsu Limited Computer system controlling memory allocation
WO2010058525A1 (en) * 2008-11-18 2010-05-27 パナソニック株式会社 Semiconductor integrated circuit and register address control device
JP5794390B2 (en) * 2012-07-31 2015-10-14 富士通株式会社 Information processing apparatus, input processing method, input processing program, and computer-readable recording medium recording the input processing program
CN110580157A (en) * 2019-09-12 2019-12-17 广东鑫光智能系统有限公司 Data acquisition interface based on software definition

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6675275B2 (en) 2001-06-06 2004-01-06 Fujitsu Limited Computer system controlling memory allocation
WO2010058525A1 (en) * 2008-11-18 2010-05-27 パナソニック株式会社 Semiconductor integrated circuit and register address control device
JP2010122787A (en) * 2008-11-18 2010-06-03 Panasonic Corp Semiconductor integrated circuit and register address control device
JP5794390B2 (en) * 2012-07-31 2015-10-14 富士通株式会社 Information processing apparatus, input processing method, input processing program, and computer-readable recording medium recording the input processing program
CN110580157A (en) * 2019-09-12 2019-12-17 广东鑫光智能系统有限公司 Data acquisition interface based on software definition

Similar Documents

Publication Publication Date Title
US5737579A (en) System and method for emulating computer architectures
US6952749B2 (en) Multiprocessor interrupt handling system and method
US9262236B2 (en) Warning track interruption facility
US6457069B1 (en) Method and apparatus for providing support for dynamic resource assignment and configuration of peripheral devices when enabling or disabling plug-and-play aware operating systems
US6154838A (en) Flash ROM sharing between processor and microcontroller during booting and handling warm-booting events
EP0794492B1 (en) Distributed execution of mode mismatched commands in multiprocessor computer systems
JP3364495B2 (en) Additional board
US9940291B2 (en) Assigning processors to memory mapped configuration
US20030101440A1 (en) Multiple virtual machine environment management system
JPH06250871A (en) Cpu core, asic having the cpu core and emulation system provided with the asic
WO2000019292A2 (en) Upgrade card for a computer system
CA2130977A1 (en) Configuration and ram/rom control of pci extension card residing on mca adapter card
WO1996000940A1 (en) Pci to isa interrupt protocol converter and selection mechanism
EP2805236B1 (en) Use of a warning track interruption facility by a program
US5864688A (en) Apparatus and method for positively and subtractively decoding addresses on a bus
US5781748A (en) Computer system utilizing two ISA busses coupled to a mezzanine bus
US9104509B2 (en) Providing by one program to another program access to a warning track facility
US6490638B1 (en) General purpose bus with programmable timing
WO1998043173A1 (en) Emulation system and information processor
US20090254680A1 (en) I/O hub-supported atomic I/O operations
JPH07334373A (en) System and method for emulation
JPH0836485A (en) Information processor and method for controlling information processor
CN112181879B (en) APB interface module for DMA controller, DMA controller and chip
JP2011138401A (en) Processor system, method of controlling the same, and control circuit
Banik et al. Knowing Your Hardware

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20020305