JPH01276338A - Input/output emulating mechanism - Google Patents

Input/output emulating mechanism

Info

Publication number
JPH01276338A
JPH01276338A JP10626088A JP10626088A JPH01276338A JP H01276338 A JPH01276338 A JP H01276338A JP 10626088 A JP10626088 A JP 10626088A JP 10626088 A JP10626088 A JP 10626088A JP H01276338 A JPH01276338 A JP H01276338A
Authority
JP
Japan
Prior art keywords
data
buffer
input
cpu
address
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.)
Pending
Application number
JP10626088A
Other languages
Japanese (ja)
Inventor
Minoru Kishi
貴志 稔
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP10626088A priority Critical patent/JPH01276338A/en
Priority to US07/344,603 priority patent/US5155838A/en
Publication of JPH01276338A publication Critical patent/JPH01276338A/en
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
(57) [Summary] This bulletin contains application data before electronic filing, so abstract data is not recorded.

Description

【発明の詳細な説明】 「発明の目的」 (産業上の利用分野) 本発明は、入出カニミーレート機構に関する。[Detailed description of the invention] "Purpose of invention" (Industrial application field) The present invention relates to an input/output crabmeat rate mechanism.

(従来の技術) 近年、半導体技術の進歩により、マイクロプロセッサ、
周辺制御用LSI、メモIJ LSIが比較的安価に供
給される様になった。これらLSIを適宜組合せること
により比較的高性能なコンピュータシステムを提供出来
る。一方、ソフトウェアにおいても標準OSが出現し、
かなりの数の流通ソフトウェアパッケージが欧州できる
環境が供給された。
(Conventional technology) In recent years, due to advances in semiconductor technology, microprocessors,
Peripheral control LSIs and memory IJ LSIs have become available at relatively low prices. By appropriately combining these LSIs, a computer system with relatively high performance can be provided. On the other hand, standard OS has appeared in software as well.
This provided an environment in which a considerable number of distributed software packages could be distributed in Europe.

(発明が解決しようとする課題点) ところで、上述したコンピータシステムにおいて、機能
拡張のために入出力レジスタ(パラメータ)の内容を変
更し対応することがある。このために、拡張前のハード
ウェアで動作していたソフトウェアが正常動作できなく
なることがある。
(Problems to be Solved by the Invention) Incidentally, in the above-mentioned computer system, the contents of input/output registers (parameters) may be changed to accommodate functional expansion. For this reason, software that was running on the hardware before expansion may no longer work properly.

これを解決するために変更された入出力レジスタのプロ
グラムによるエミュレーションが行われる。
To solve this problem, programmatic emulation of modified input/output registers is performed.

特定の入出力レジスタがIOライトされると、ハードウ
ェアロジック部によって、CPUに対し割シ込みをかけ
る。割り込みによって動き出したエミュレートプログラ
ムがCPUのレジスタなどから、IOライトされたレジ
スタのアドレスとガータを知り、正しい値に変換する。
When a specific input/output register is IO-written, the hardware logic section issues an interrupt to the CPU. The emulation program started by the interrupt learns the address and gutter of the IO-written register from the CPU's registers, etc., and converts it to the correct value.

そして再度IOライトを行い、拡張機能の誤った欧州に
よる誤動作を防ぎ、機能拡張による従来のハードウェア
との互換性を保つ。
Then, the IO write is performed again to prevent malfunctions due to European extensions, and to maintain compatibility with conventional hardware due to function extensions.

ところが、上述したエミュレーションに従えば、CPU
なとの性能の向上、高速化が行われると、特定の工0レ
ソスタへのIOライトが行われてからCPUに対して割
シ込みが発生し、エミュレートプログラムが動作するま
でに重ねてIOライトが行われてしまい、最初のIOラ
イトの情報が失われてしまうという問題が生じる。
However, if you follow the emulation described above, the CPU
When performance is improved and speed is increased, an interrupt is generated to the CPU after IO write to a specific processor, and IO is repeated until the emulation program starts running. A problem arises in that the write is performed and the information of the first IO write is lost.

本発明は上記事情に基づきなされたものであシ、高速化
されたCPU等によシ、エミュレートゾログラム開始ま
でに行われた複数回の工0ライトの情報をその順序をく
ずすこと々く記憶し、従来とは一部互換を持たないIO
レジスタへのライトをソフトウェアによるエミュレーシ
ョンで互換性を持たせる入出力エミュレート機構を提供
することを目的とする。
The present invention has been made based on the above-mentioned circumstances, and uses a high-speed CPU, etc., to disturb the order of the information of multiple process zero writes performed before starting the emulated zologram. IO that remembers and is partially incompatible with the previous version
The purpose of this invention is to provide an input/output emulation mechanism that makes register writes compatible with software emulation.

[発明の構成] (課題点を解決するための手段) 本発明は、ある特定のレジスタに対する入出力ライト時
のデータバスとアドレスバスの内容ヲ保持スるデータ・
アドレスバッファと、CPUからIOレジスタへのIO
ライトを常に監視し、ある特定のIOレジスタへのIO
ライトであることを検知し、CPUに対し割込みを発し
、エミュレーションプログラムの実行を促すと共にバッ
ファカウンタの操作を行う・・−ドウエアロシック部と
、この・・−ドウエアロシック部から更新の操作をうけ
、バッファ上の次にデータ・アドレスバスの内容全格納
すべき場所を指示するバッファカウンタとを具備し、あ
る特定の従来のユーザプログラムから機能拡張の入出力
レジスタに対しデータセットが行われた場合に、ライト
された順序に従って入出力アドレス、データを記憶し、
プログラムによるエミュレーションを行うことを特徴と
するものである。
[Structure of the Invention] (Means for Solving the Problems) The present invention provides a data bus and an address bus that retain the contents of a data bus and an address bus during input/output write to a specific register.
Address buffer and IO from CPU to IO register
Constantly monitors writes and writes IOs to certain IO registers
It detects that it is a write, issues an interrupt to the CPU, prompts the execution of the emulation program, and operates the buffer counter. In response to this, it is equipped with a buffer counter that indicates the next location on the buffer where all the contents of the data address bus should be stored, and data was set from a certain conventional user program to the input/output register of the function expansion. In this case, input/output addresses and data are memorized according to the order in which they were written.
The feature is that emulation is performed by a program.

(作用) 上記構成によシ、ある特定のIOレソスタヘデータセッ
トされ庭場合に、その時のアドレスバスとデータバス上
にあるレジスタのアドレス値。
(Function) According to the above configuration, when data is set to a specific IO register, the address value of the register on the address bus and data bus at that time.

データ値をデータアドレス・々ツファへ格納し、ここで
のデータ・アドレスバッファ上の格納すべき場所はバッ
ファカウンタにより指示される。ハードウェアロジック
部はCPUからIOレジスタに対するIOライトを常時
監視し続け、ある特定のレジスタへのIOライトがない
か判断し、あった場合に、データ・アドレスバッファに
対してその時のアドレスバス、データバスの内容を送り
、バッファカウンタに対して更新を行い、CPUに対し
て割シ込みの信号を送る。これにより、ある特定のIO
レジスタへのIOシライト時そのアドレスとデータをラ
イトされた順序に従って記憶する。
A data value is stored in a data address buffer, where the location on the data address buffer is indicated by a buffer counter. The hardware logic section constantly monitors IO writes from the CPU to IO registers, determines whether there is any IO write to a specific register, and if there is, writes the current address bus and data to the data address buffer. It sends the contents of the bus, updates the buffer counter, and sends an interrupt signal to the CPU. This allows certain IO
When writing IO to a register, the address and data are stored in the order in which they were written.

このことにより、従来の方法で対処できなかった最初の
I’Oライトから、エミュレートプログラムの開始まで
に行われた複数回のIOレジスタへの工0ライトをトレ
ースすることができる。
As a result, it is possible to trace the multiple 0 writes to the IO registers performed from the first I'O write to the start of the emulation program, which could not be handled by conventional methods.

(実施例) 以下、図面を庚用して本発明実施例について詳細に説明
する。第1図は本発明の実施例を示すブロック図である
。図において、lはCPUであり、IOレジスタに対し
てそのプログラムに従い、データをIOライトする。後
述するハードウェアロジック部より割り込み(矢印)を
受ける。2はIOレジスタであり、CPU Iとアドレ
スバス(点線)データバス(実線)を介して接続される
。3はハードウェアロジック部である。ハードウェアロ
ジック部3は、CPU IからIOレジスタ2へのIO
ライトを監視し、特定IOレジスタへのIOライトが発
生した場合は、バッファにデータ、アドレスバスの内容
を送り、バッファカウンタを更新する。4はバッファカ
ウンタであシ、ハードウェアロジック部3からの更新制
御をうけて、データ・アドレス両バッファへの格納アド
レスを変化させる。5はアドレスバッファであり、ノぐ
ッファカウンタで指示された場所にハードウェアロジッ
ク部3よシ送られてきたアドレスバス上の値を格納する
。またはCPUからの読み出しを受ける。6はデータバ
ッファであシ、バッファカウンタで指示された場所にハ
ードウェアロジック部3よシ送られてきたデータバス上
の値を格納する。またはCPUからの読み出しを受ける
(Example) Hereinafter, examples of the present invention will be described in detail with reference to the drawings. FIG. 1 is a block diagram showing an embodiment of the present invention. In the figure, l is a CPU, which writes data into an IO register according to its program. Receives an interrupt (arrow) from the hardware logic section, which will be described later. 2 is an IO register, which is connected to CPU I via an address bus (dotted line) and a data bus (solid line). 3 is a hardware logic section. The hardware logic unit 3 performs IO from the CPU I to the IO register 2.
It monitors writes, and when an IO write to a specific IO register occurs, it sends the data and the contents of the address bus to the buffer and updates the buffer counter. A buffer counter 4 changes the storage address in both the data and address buffers under update control from the hardware logic section 3. Reference numeral 5 denotes an address buffer, which stores the value on the address bus sent from the hardware logic section 3 at the location indicated by the buffer counter. Or receive reading from the CPU. Reference numeral 6 is a data buffer, which stores the value on the data bus sent from the hardware logic unit 3 to the location indicated by the buffer counter. Or receive reading from the CPU.

以下、本発明実施例の動作について詳細に説明する。図
におけるCPU 1がユーザプログラム等によってIO
レソスタ2に対するデータセット(■0ライト)を行う
。そのレジスタがエミュレーションを行うレジスタであ
るとハードウェアロジック部3が判断する。ハードウェ
アロジック部3は以下の動作を行なう。つまシ、CPU
 fとIOレジスタ2間のアドレスバス、データバスの
内容をアドレスバッファ5.データバッファ6に送す、
バッファカウンタ4の指す場所に格納させる。又、バッ
ファカウンタ4を次回のIOライトに備えて更新する。
Hereinafter, the operation of the embodiment of the present invention will be explained in detail. CPU 1 in the figure performs IO by user program etc.
Data is set (■0 write) for the resoster 2. The hardware logic unit 3 determines that the register is a register that performs emulation. The hardware logic unit 3 performs the following operations. Tsumushi, CPU
The contents of the address bus and data bus between IO register 2 and IO register 2 are transferred to address buffer 5. Send to data buffer 6,
It is stored in the location indicated by the buffer counter 4. Also, the buffer counter 4 is updated in preparation for the next IO write.

更に上記動作と同時にCPU 7に対して割り込みを発
する。
Further, at the same time as the above operation, an interrupt is issued to the CPU 7.

アドレスバッファ5.データバッファ6へのデータの格
納ハエミュレーションプログラムによって本発明機構が
ディスエーブルされるまで継続される。CPU 1はハ
ードウェアロジック部3からの割シ込みによシエミーレ
ートプログラムに制御を移す。CPU Iはエミュレー
トプログラムにより、アドレスパ、ファ5.データバッ
ファ6、に格納された工0ライト時のレジスタアドレス
、データを読み出し、そのレジスタへの再設定を行う。
Address buffer 5. The storage of data in data buffer 6 continues until the inventive mechanism is disabled by the emulation program. The CPU 1 transfers control to the Chemie rate program in response to an interrupt from the hardware logic section 3. The CPU I uses an emulation program to control the address spacer, 5. The register address and data stored in the data buffer 6 at the time of writing 0 are read out and re-set to the register.

バッファカウンタ4により全てのIOライトされたレジ
スタのエミュレートを終了したと判断すれば、エミュレ
ートプログラムを終了し、ユーザプログラムの実行を継
続する。
If it is determined by the buffer counter 4 that emulation of all IO-written registers has been completed, the emulation program is terminated and execution of the user program is continued.

「発明の効果」 以上説明の様に本発明に従えば、従来の方法で対処でき
なかった最初のIOライトからエミュレートプログラム
の開始までに行われた複数回のIOレジスタへのIOラ
イトをトレースするととができる。
"Effects of the Invention" As explained above, according to the present invention, it is possible to trace IO writes to the IO register performed multiple times from the first IO write to the start of the emulation program, which could not be handled by conventional methods. Then a tortoise is formed.

又、従前のものとは一部互換を持たないIIOレジスタ
へのデータセットをソフトウェアによるエミュレーショ
ンで互換を持たせるのに必要な・・−ドウエアが提供出
来る。
In addition, it is possible to provide software necessary for making data sets to IIO registers, which are partially incompatible with previous ones, compatible with software emulation.

【図面の簡単な説明】 第1図は本発明の実施例を示すブロック図である。 l・・・CPU、2・・・入出力レジスタ、3・・・ノ
・−ドウエアロシック部、4・・・バッファカウンタ、
5・・・アドレスバッファ、6・・・データバッファ。
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a block diagram showing an embodiment of the present invention. 1...CPU, 2...I/O register, 3...No-doware logic section, 4...Buffer counter,
5...Address buffer, 6...Data buffer.

Claims (1)

【特許請求の範囲】[Claims] ある特定のレジスタに対する入出力ライト時のデータバ
スとアドレスバスの内容を保持するデータ・アドレスバ
ッファと、CPUからIOレジスタへのIOライトを常
に監視し、ある特定のIOレジスタへのIOライトであ
ることを検知し、CPUに対し割込みを発し、エミュレ
ーションプログラムの実行を促すと共にバッファカウン
タの操作を行うハードウェアロジック部と、このハード
ウェアロジック部から更新を操作をうけ、バッファ上の
次にデータ・アドレスバスの内容を格納すべき場所を指
示するバッファカウンタとを具備し、ある特定の従来の
ユーザプログラムから機能拡張の入出力レジスタに対し
データセットが行われた場合に、ライトされた順序に従
って入出力アドレス・データを記憶し、プログラムによ
るエミュレーションを行うことを特徴とする入出力エミ
ュレート機構。
A data/address buffer that holds the contents of the data bus and address bus during input/output writes to a specific register, and a data/address buffer that constantly monitors IO writes from the CPU to IO registers. A hardware logic section detects this, issues an interrupt to the CPU, prompts the execution of the emulation program, and operates the buffer counter.The hardware logic section receives update operations from this hardware logic section, and updates the next data on the buffer. It is equipped with a buffer counter that indicates the location where the contents of the address bus should be stored, and when data is set from a certain conventional user program to the input/output register of the function expansion, data is input according to the written order. An input/output emulation mechanism that stores output addresses and data and performs emulation using a program.
JP10626088A 1988-04-28 1988-04-28 Input/output emulating mechanism Pending JPH01276338A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP10626088A JPH01276338A (en) 1988-04-28 1988-04-28 Input/output emulating mechanism
US07/344,603 US5155838A (en) 1988-04-28 1989-04-28 Computer system with emulation mechanism

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10626088A JPH01276338A (en) 1988-04-28 1988-04-28 Input/output emulating mechanism

Publications (1)

Publication Number Publication Date
JPH01276338A true JPH01276338A (en) 1989-11-06

Family

ID=14429129

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10626088A Pending JPH01276338A (en) 1988-04-28 1988-04-28 Input/output emulating mechanism

Country Status (1)

Country Link
JP (1) JPH01276338A (en)

Similar Documents

Publication Publication Date Title
EP0712084B1 (en) Emulation of direct memory access
JPH045216B2 (en)
JP2822782B2 (en) Single chip microcomputer
JPH1078889A (en) Microcomputer
JPS63279328A (en) Control system for guest execution of virtual computer system
US4985826A (en) Method and device to execute two instruction sequences in an order determined in advance
JPS6049352B2 (en) data processing equipment
JPH03656B2 (en)
JPS61184643A (en) Starting control system for virtual computer
JPS6225334A (en) Instruction processing system
JPH10312307A (en) Emulator applied to computer system
JP3130798B2 (en) Bus transfer device
JP3299147B2 (en) Cache control circuit
JP3209191B2 (en) Emulating apparatus and method
JPS6212555B2 (en)
JPH0333934A (en) Register saving/recovering system
JP2569801B2 (en) Information processing device
JP2876488B2 (en) Semiconductor file memory device
JP3517884B2 (en) Data processing device
JP3009168B2 (en) Data processing device
JP2581144B2 (en) Bus control device
JPS6349935A (en) Central controller
JPH0443307B2 (en)
JPH0355642A (en) Memory control system
JPH0795288B2 (en) Microcomputer