JPH0926855A - Data transfer system, data transfer method, interface circuit and data processor - Google Patents

Data transfer system, data transfer method, interface circuit and data processor

Info

Publication number
JPH0926855A
JPH0926855A JP13567996A JP13567996A JPH0926855A JP H0926855 A JPH0926855 A JP H0926855A JP 13567996 A JP13567996 A JP 13567996A JP 13567996 A JP13567996 A JP 13567996A JP H0926855 A JPH0926855 A JP H0926855A
Authority
JP
Japan
Prior art keywords
data
memory
transfer
storage device
external storage
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
JP13567996A
Other languages
Japanese (ja)
Inventor
Daisuke Tabuchi
大介 田渕
Wataru Shoji
渉 庄司
Ichiro Nakajima
一郎 中島
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.)
SOFUMATSUPU FUTURE DESIGN KK
Original Assignee
SOFUMATSUPU FUTURE DESIGN KK
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 SOFUMATSUPU FUTURE DESIGN KK filed Critical SOFUMATSUPU FUTURE DESIGN KK
Priority to JP13567996A priority Critical patent/JPH0926855A/en
Publication of JPH0926855A publication Critical patent/JPH0926855A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide a data transfer system, a data transfer method, an interface circuit and a data processor capable of performing high-speed data transfer between a CPU and an external memory device. SOLUTION: Prescribed quantity of data desired to process by the CPU 11 are read out from a hardware disk sequentially, and transferred to first and second memory 24, 25 alternately. The CPU 11 makes access the first and second memory 24, 25 alternately, and processes the data read out previously.

Description

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

【0001】[0001]

【発明の属する技術分野】この発明は、外部記憶装置と
CPU(処理装置)との間の高速データ転送を可能とす
るインターフェース回路に関する。また、この発明は、
外部記憶装置を高速にアクセスすることができるデータ
転送システム及びデータ転送方法及びデータ処理装置に
関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an interface circuit that enables high-speed data transfer between an external storage device and a CPU (processor). In addition, the present invention
The present invention relates to a data transfer system, a data transfer method, and a data processing device capable of accessing an external storage device at high speed.

【0002】[0002]

【従来の技術及び発明が解決しようとする課題】通常の
データ処理装置は、ハードディスク装置、CD−ROM
装置等の外部記憶装置を備え、内部メモリと外部記憶装
置との間でデータ転送を行って、データ処理を進行す
る。しかし、外部記憶装置のアクセスタイムはCPUの
動作速度と比較して非常に遅く、データ処理のスループ
ットを低下させる原因となっていた。特に、大量のビッ
トマップ画像データ等を処理するアプリケーションの場
合、外部データ転送に時間がかかりすぎるため、操作者
の思考を妨げる等の問題があった。
2. Description of the Related Art Ordinary data processing devices include hard disk devices and CD-ROMs.
An external storage device such as a device is provided, data is transferred between the internal memory and the external storage device, and data processing proceeds. However, the access time of the external storage device is very slow as compared with the operating speed of the CPU, which causes a decrease in the throughput of data processing. In particular, in the case of an application that processes a large amount of bitmap image data or the like, there is a problem that the external data transfer takes too much time, which hinders the operator's thinking.

【0003】この発明は上記実情に鑑みてなされたもの
で、CPUと外部記憶装置との間の高速データ転送を可
能とするインターフェース回路を提供することを目的と
する。また、この発明は、外部記憶装置を高速にアクセ
スすることができるデータ転送システム及びデータ転送
方法及びデータ処理装置を提供することを他の目的とす
る。
The present invention has been made in view of the above circumstances, and an object thereof is to provide an interface circuit that enables high-speed data transfer between a CPU and an external storage device. Another object of the present invention is to provide a data transfer system, a data transfer method, and a data processing device capable of accessing an external storage device at high speed.

【0004】[0004]

【課題を解決するための手段】上記目的を達成するた
め、この発明の第1の観点にかかるデータ処理装置は、
外部記憶装置と、第1と第2のメモリと、前記第1と第
2のメモリを交互にアクセスしてデータを処理するデー
タ処理手段と、前記第1と第2のメモリと前記外部記憶
装置に接続され、前記データ処理手段の指示に従って、
前記第1と第2のメモリのうち、前記データ処理手段が
アクセスしていない方のメモリと前記外部記憶装置との
間でデータを転送するデータ転送手段と、を備えること
を特徴とする。
In order to achieve the above object, a data processing apparatus according to a first aspect of the present invention is
An external storage device, first and second memories, data processing means for alternately accessing the first and second memories to process data, the first and second memories, and the external storage device Connected to, and according to the instructions of the data processing means,
Data transfer means for transferring data between the external storage device and one of the first and second memories which is not accessed by the data processing means.

【0005】このような構成によれば、データ処理手段
がメモリを交互にアクセスしてデータ処理を実行し、そ
の間に、転送手段は、処理に必要なデータを非アクセス
中のメモリに外部記憶装置から転送し、或いは、処理済
みのデータを外部記憶装置に転送する。従って、データ
処理手段は、外部記憶装置との間のデータの転送に煩わ
されることなく、メモリに対してデータ処理を行うこと
ができる。従って、データ処理を実質的に高速化するこ
とができる。従って、データ処理手段は外部記憶装置を
内部メモリのように扱ってデータ処理を行うことができ
る。
According to such a configuration, the data processing means alternately accesses the memory to execute the data processing, while the transfer means transfers the data required for the processing to the non-accessed memory in the external storage device. From the external storage device or the processed data to the external storage device. Therefore, the data processing means can perform data processing on the memory without being bothered by data transfer to and from the external storage device. Therefore, the data processing can be substantially speeded up. Therefore, the data processing means can process the data by treating the external storage device like an internal memory.

【0006】外部記憶装置は、例えば、データをシーケ
ンシャルに格納したハードディスク、CD−ROM等か
ら構成され、データ処理手段は、CPU等から構成され
る。また、第1と第2のメモリは、例えば、SRAM等
の比較的高速なメモリ素子から構成される。
The external storage device is composed of, for example, a hard disk in which data is sequentially stored, a CD-ROM or the like, and the data processing means is composed of a CPU or the like. The first and second memories are composed of relatively high-speed memory elements such as SRAM.

【0007】前記データ転送手段は、例えば、前記外部
記憶装置との間でデータを転送する第1の転送手段と、
前記メモリとの間でデータを転送する第2の転送手段
と、を備え、前記第1と第2の転送手段の間のデータ転
送を行うバッファメモリ、又は、前記第1と第2の転送
手段の間の転送率を調整するタイミング調整回路を備え
てもよい。
The data transfer means includes, for example, first transfer means for transferring data to and from the external storage device,
A second transfer means for transferring data to and from the memory, and a buffer memory for transferring data between the first and second transfer means, or the first and second transfer means A timing adjustment circuit for adjusting the transfer rate between the two may be provided.

【0008】このような構成とすることにより、外部記
憶装置側の転送速度とデータ処理装置内部側のデータ転
送速度が異なる場合で、バッファメモリ、又は、タイミ
ング調整回路によりその差が緩衝され、適切なデータ転
送が可能となる。なお、第1と第2のデータ転送手段
は、例えば、DMA回路から構成され、バッファメモリ
はFIFOメモリから構成される。
With such a configuration, when the transfer speed on the external storage device side and the data transfer speed on the internal side of the data processing device are different, the difference is buffered by the buffer memory or the timing adjustment circuit, and the difference is appropriate. Data transfer is possible. The first and second data transfer means are, for example, DMA circuits, and the buffer memory is a FIFO memory.

【0009】また、この発明の第2の観点にかかるイン
ターフェース回路は、外部記憶装置に接続されるポート
と、第1と第2のメモリと、前記第1と第2のメモリを
交互にアクセスしてデータを処理するデータ処理手段に
接続されるポートと、前記第1と第2のメモリと前記外
部記憶装置に接続され、前記データ処理手段の指示に従
って、前記第1と第2のメモリのうち、前記データ処理
手段がアクセスしていない方のメモリと前記外部記憶装
置との間でデータを転送するデータ転送手段と、を備え
ることを特徴とする。
The interface circuit according to the second aspect of the present invention alternately accesses the port connected to the external storage device, the first and second memories, and the first and second memories. Of the first and second memories connected to the data processing means for processing the data, the first and second memories and the external storage device, and in accordance with the instruction of the data processing means. Data transfer means for transferring data between the memory not accessed by the data processing means and the external storage device.

【0010】また、この発明の第3の観点にかかるデー
タ転送システムは、CPUと、外部記憶装置と、内部メ
モリとを備えるコンピュータシステムにおいて、第1の
メモリと、第2のメモリと、前記第1のメモリに記憶さ
れたデータの量を判定するために前記第1のメモリに接
続された第1のカウンタと、前記第2のメモリに記憶さ
れたデータの量を判定するために前記第2のメモリに接
続された第2のカウンタと、前記第1のメモリに記憶さ
れたデータの量が所定値を越えたとき第1の信号を生成
する第1の手段と、前記第2のメモリに記憶されたデー
タの量が所定値を越えたとき第2の信号を生成する第2
の手段と、前記外部記憶装置とデータを通信するための
第1の回路と、前記内部メモリとデータを通信するため
の第2の回路と、前記第1の信号に反応して、前記第1
のメモリと、前記第1と第2の回路のいずれか一方とを
択一的に接続し、前記第2の信号に反応して、前記第2
のメモリと、前記第1と第2の回路のいずれか一方とを
択一的に接続するデータ切替回路と、を備えることを特
徴とする。
A data transfer system according to a third aspect of the present invention is a computer system including a CPU, an external storage device, and an internal memory, the first memory, the second memory, and the first memory. A first counter connected to the first memory to determine the amount of data stored in one memory; and the second counter to determine the amount of data stored in the second memory. A second counter connected to the first memory, first means for generating a first signal when the amount of data stored in the first memory exceeds a predetermined value, and the second memory A second signal generating a second signal when the amount of stored data exceeds a predetermined value
Means, a first circuit for communicating data with the external storage device, a second circuit for communicating data with the internal memory, and the first circuit in response to the first signal.
Selectively connects the memory of any one of the first and second circuits, and reacts to the second signal to generate the second signal.
And a data switching circuit that selectively connects one of the first and second circuits.

【0011】前記外部記憶装置は、例えば、ハードディ
スクであり、前記第1の回路は前記ハードディスクの動
作を制御する制御装置をさらに備えてもよい。
The external storage device may be, for example, a hard disk, and the first circuit may further include a control device for controlling the operation of the hard disk.

【0012】前記ハードディスクと、前記第1と第2の
メモリと、の間の転送率の相違を調整するために、前記
第1の回路と前記データ切替回路との間に接続されたタ
イミング調整回路を更に備えてもよい。
A timing adjusting circuit connected between the first circuit and the data switching circuit for adjusting a difference in transfer rate between the hard disk and the first and second memories. May be further provided.

【0013】前記第2の回路は前記内部メモリと、前記
第1と第2のメモリと、の間でCPUにデータを転送さ
せる転送手段を備えてもよい。
The second circuit may include transfer means for causing a CPU to transfer data between the internal memory and the first and second memories.

【0014】前記転送手段は制御信号を生成する手段を
備えてもよく、前記制御信号に反応し、前記内部メモリ
と、前記第1と第2のメモリと、の間でデータを転送す
るためのソフトウェアルーチンをさらに備えてもよい。
The transfer means may comprise means for generating a control signal for reacting to the control signal to transfer data between the internal memory and the first and second memories. Software routines may also be included.

【0015】前記第1と第2のメモリは、例えば、スタ
ティックランダムアクセスメモリである。
The first and second memories are, for example, static random access memories.

【0016】このような構成によれば、外部記憶装置か
ら内部メモリへデータを転送する場合、外部記憶装置か
らのデータが第1のメモリに所定量記憶されると、第2
のメモリへ記憶するように切り換えられ、第1のメモリ
に記憶されたデータは内部メモリへ転送される。このよ
うな処理を交互に繰り返すことにより、外部記憶装置か
らのデータ転送と、内部メモリへのデータ転送とを並行
して行うことができるため、転送時間を実質的に高速化
することができる。
According to such a configuration, when data is transferred from the external storage device to the internal memory, if a predetermined amount of data from the external storage device is stored in the first memory,
Data to be stored in the first memory, and the data stored in the first memory is transferred to the internal memory. By repeating such processing alternately, data transfer from the external storage device and data transfer to the internal memory can be performed in parallel, so that the transfer time can be substantially shortened.

【0017】また、この発明の第4の観点にかかる発明
は、外部記憶装置と内部メモリとの間でデータを転送す
るために、CPUと、前記CPUにおいて動作する少な
くとも1つのアプリケーションプログラムと、を備える
データ転送システムであり、第1のメモリと、第2のメ
モリと、前記外部記憶装置とデータを通信するための第
1の回路と、前記第1と第2のメモリと前記第1の回路
の稼働状態に応答して状態信号を生成する状態信号回路
と、前記第1のメモリを、前記第1の回路と前記内部メ
モリとのいずれか一方に択一的に接続し、前記第2のメ
モリを、前記第1の回路と前記内部メモリとのいずれか
一方に択一的に接続するデータ切替回路と、前記外部記
憶装置と、前記第1と第2のメモリとのいずれか一方
と、の間でデータが転送されている期間において、複数
の前記状態信号のうち、前記CPUに前記アプリケーシ
ョンプログラムの少なくとも1つの実行を指示する第1
の状態信号に反応するソフトウェアルーチンと、を備え
ることを特徴とする。
Further, according to a fourth aspect of the present invention, in order to transfer data between an external storage device and an internal memory, a CPU and at least one application program operating in the CPU are provided. A data transfer system comprising: a first memory, a second memory, a first circuit for communicating data with the external storage device, the first and second memories, and the first circuit. A state signal circuit that generates a state signal in response to the operating state of the second memory, and the first memory, are selectively connected to either one of the first circuit and the internal memory, A data switching circuit that selectively connects a memory to one of the first circuit and the internal memory; the external storage device; and one of the first and second memories; Data between In feeding the specified period of, among the plurality of status signals, the indicating at least one execution of the application program to the CPU 1
And a software routine that responds to the status signal of.

【0018】前記ソフトウェアルーチンは、前記外部記
憶装置と前記第2のメモリとの間でデータが転送されて
いる期間において、複数の前記状態信号のうち、前記内
部メモリと前記第1のメモリとの間でデータを転送する
ように指示する第2の状態信号に反応してもよい。
In the software routine, during the period in which data is transferred between the external storage device and the second memory, among the plurality of status signals, the internal memory and the first memory It may be responsive to a second status signal instructing to transfer data between.

【0019】前記ソフトウェアルーチンは、前記CPU
が前記内部メモリと前記第1のメモリとの間のデータ転
送に使用可能か否かを判定する手段と、前記CPUが使
用可能な場合、データを転送させる手段と、をさらに備
えてもよい。
The software routine is the CPU
May further include means for determining whether or not the data can be used for data transfer between the internal memory and the first memory, and means for transferring data when the CPU is available.

【0020】前記第1のメモリに記憶されたデータの量
を判定するために前記第1のメモリに接続された第1の
カウンタと、前記第2のメモリに記憶されたデータの量
を判定するために前記第2のメモリに接続された第2の
カウンタと、をさらに備えてもよく、前記状態信号回路
は、前記第1のメモリに記憶されたデータの量が第1の
所定値を越えたときと、前記第2のメモリに記憶された
データの量が第2の所定値を越えたときに状態信号を生
成してもよい。
A first counter connected to the first memory to determine the amount of data stored in the first memory, and an amount of data stored in the second memory. A second counter connected to the second memory for the purpose of: the status signal circuit is configured such that the amount of data stored in the first memory exceeds a first predetermined value. And the state signal may be generated when the amount of data stored in the second memory exceeds a second predetermined value.

【0021】前記外部記憶装置は、例えば、ハードディ
スクであり、前記第1の回路は前記ハードディスクの動
作を制御する制御装置をさらに備えてもよい。
The external storage device may be, for example, a hard disk, and the first circuit may further include a control device for controlling the operation of the hard disk.

【0022】前記ハードディスクと、前記第1と第2の
メモリと、の間の転送率の相違を調整するために、前記
第1の回路と前記データ切替回路との間に接続されたタ
イミング調整回路を更に備えてもよい。
A timing adjusting circuit connected between the first circuit and the data switching circuit for adjusting a difference in transfer rate between the hard disk and the first and second memories. May be further provided.

【0023】このような構成によれば、外部記憶装置か
ら内部メモリへデータを転送する場合、外部記憶装置か
らのデータが第1のメモリに所定量記憶されると、第2
のメモリへ記憶するように切り換えられ、第1のメモリ
に記憶されたデータは内部メモリへ転送される。このよ
うな処理を交互に繰り返すことにより、外部記憶装置か
らのデータ転送と、内部メモリへのデータ転送とを並行
して行うことができるため、転送時間を実質的に高速化
することができる。また、外部記憶装置から第1又は第
2のメモリへデータを転送している期間において、CP
Uがデータ転送処理をしていない期間、他の処理をする
ことができる。従って、CPUの空き時間を有効活用す
ることができる。
According to such a configuration, when data is transferred from the external storage device to the internal memory, if the predetermined amount of data from the external storage device is stored in the first memory,
Data to be stored in the first memory, and the data stored in the first memory is transferred to the internal memory. By repeating such processing alternately, data transfer from the external storage device and data transfer to the internal memory can be performed in parallel, so that the transfer time can be substantially shortened. Also, during the period in which data is transferred from the external storage device to the first or second memory, CP
Other processing can be performed while U is not performing data transfer processing. Therefore, the idle time of the CPU can be effectively utilized.

【0024】また、この発明の第5の観点にかかる発明
は、コンピュータシステムにおいて動作する少なくとも
1つのアプリケーションプログラムと、CPUと、第1
のメモリと、第2のメモリと、を備えるコンピュータシ
ステムにおいて、外部記憶装置と内部メモリとの間でデ
ータを転送するデータ転送方法であり、第1のメモリと
前記外部記憶装置との間に切替可能な第1のデータ転送
路を設け、第2のメモリと前記外部記憶装置との間に切
替可能な第2のデータ転送路を設けるステップと、前記
第1のデータ転送路を用いて、前記外部記憶装置を前記
第1のメモリに接続するステップと、前記第1のメモリ
内のデータの量が第1の所定値を越えるとき、前記外部
記憶装置と前記第2のメモリとの間でデータを転送する
ために前記第2のデータ転送路に切り換えるステップ
と、前記第2のメモリ内のデータの量が第2の所定値を
越えるとき、前記外部記憶装置と前記第1のメモリとの
間でデータを転送するために前記第1のデータ転送路に
切り換えるステップと、前記外部記憶装置と、前記第1
と第2のメモリのいずれか一方と、の間でデータが送信
されている期間の一部で、前記アプリケーションプログ
ラムを実行するステップと、を備えることを特徴とす
る。
According to a fifth aspect of the present invention, at least one application program which operates in a computer system, a CPU, and a first
Is a data transfer method for transferring data between an external storage device and an internal memory in a computer system including the first memory and the second storage device, and switching between the first memory and the external storage device. Providing a possible first data transfer path and providing a switchable second data transfer path between a second memory and the external storage device; and using the first data transfer path, Connecting an external storage device to the first memory; and, when the amount of data in the first memory exceeds a first predetermined value, data is transferred between the external storage device and the second memory. Switching to the second data transfer path for transferring data between the external storage device and the first memory when the amount of data in the second memory exceeds a second predetermined value. To transfer data A step of switching to the first data transfer channel for, said external storage device, the first
And one of the second memories, and a step of executing the application program for a part of a period during which data is transmitted between the memory and the second memory.

【0025】第1のメモリと前記内部メモリとの間に切
替可能な第3のデータ転送路を設け、第2のメモリと前
記内部メモリとの間に切替可能な第4のデータ転送路を
設けるステップと、前記外部記憶装置が前記第2のデー
タ転送路を介して前記第2のメモリと接続された後で、
前記第3のデータ転送路を用いて前記内部メモリと前記
第1のメモリとの間でデータを転送するデータ転送ステ
ップと、前記外部記憶装置が前記第1のデータ転送路を
介して前記第1のメモリと接続された後で、前記第4の
データ転送路を用いて前記内部メモリと前記第2のメモ
リとの間でデータを転送するデータ転送ステップと、を
さらに備えてもよい。
A switchable third data transfer path is provided between the first memory and the internal memory, and a switchable fourth data transfer path is provided between the second memory and the internal memory. And, after the external storage device is connected to the second memory via the second data transfer path,
A data transfer step of transferring data between the internal memory and the first memory using the third data transfer path, and the external storage device having the first data transfer path via the first data transfer path. Data transfer step of transferring data between the internal memory and the second memory by using the fourth data transfer path after being connected to the second memory.

【0026】前記内部メモリと、前記第1と第2のメモ
リのいずれか1つと、の間でデータを転送する前記デー
タ転送ステップは、前記外部記憶装置と、前記第1と第
2のメモリの1つと、の間でデータが転送されるために
必要な時間の一部で実行されてもよい。
The data transfer step of transferring data between the internal memory and any one of the first and second memories includes the external storage device and the first and second memories. May be performed for a portion of the time required for data to be transferred between one and the other.

【0027】このような構成によれば、外部記憶装置か
ら内部メモリへデータを転送する場合、外部記憶装置か
らのデータが第1の転送路を介して第1のメモリに所定
量記憶されると、第2の転送路を介して第2のメモリへ
記憶するように切り換えられ、第1のメモリに記憶され
たデータは第3の転送路を介して内部メモリへ転送され
る。このような処理を交互に繰り返すことにより、外部
記憶装置からのデータ転送と、内部メモリへのデータ転
送とを並行して行うことができるため、転送時間を実質
的に高速化することができる。また、外部記憶装置から
第1又は第2のメモリへデータを転送している期間にお
いて、CPUがデータ転送処理をしていない期間、他の
アプリケーションを実行することができる。従って、C
PUの空き時間を有効活用することができる。
According to this structure, when data is transferred from the external storage device to the internal memory, if a predetermined amount of data from the external storage device is stored in the first memory via the first transfer path. , And is switched to be stored in the second memory via the second transfer path, and the data stored in the first memory is transferred to the internal memory via the third transfer path. By repeating such processing alternately, data transfer from the external storage device and data transfer to the internal memory can be performed in parallel, so that the transfer time can be substantially shortened. Further, another application can be executed while the CPU is not performing the data transfer process while the data is being transferred from the external storage device to the first or second memory. Therefore, C
It is possible to effectively utilize the free time of the PU.

【0028】[0028]

【発明の実施の形態】以下、この発明の実施の形態にか
かるデータ転送システム及びデータ転送方法及びインタ
ーフェース回路及びデータ処理装置について説明する。 (第1の実施の形態)図1は、この発明の第1の実施の
形態のデータ処理装置の構成を示す。図示するように、
この装置は、CPU(中央処理装置、Central Processo
r Unit)11と、CPU11に第1のバス12を介して
接続されたROM13及びビデオRAM(VRAM)1
4と、VRAM14の内容を表示する表示装置15を備
える。CPU11は、データ処理、特に、データの加工
及びシステム全体の制御を司る。第1のバス12は、例
えばEISA規格準拠のバスであり、データバス、アド
レスバス、制御バス等を備える。ROM13は、CPU
11の実行する制御プログラム、固定データ等を記憶す
る。VRAM14は、表示画像を定義するビットマップ
データを記憶する。表示装置15は、CRT、液晶表示
素子等から構成される。
BEST MODE FOR CARRYING OUT THE INVENTION A data transfer system, a data transfer method, an interface circuit and a data processing device according to embodiments of the present invention will be described below. (First Embodiment) FIG. 1 shows the arrangement of a data processing apparatus according to the first embodiment of the present invention. As shown
This device is a CPU (Central Processing Unit).
r Unit) 11, a ROM 13 and a video RAM (VRAM) 1 connected to the CPU 11 via the first bus 12.
4 and a display device 15 for displaying the contents of the VRAM 14. The CPU 11 controls data processing, particularly data processing and control of the entire system. The first bus 12 is, for example, an EISA standard-compliant bus, and includes a data bus, an address bus, a control bus, and the like. ROM 13 is a CPU
The control program executed by 11, the fixed data, etc. are stored. The VRAM 14 stores bitmap data that defines a display image. The display device 15 includes a CRT, a liquid crystal display element, and the like.

【0029】さらに、このデータ処理装置は、ハードデ
ィスク装置、CD−ROM装置等の外部記憶装置(補助
記憶装置)21を備える。この実施の形態では、外部記
憶装置21はハードディスク装置であるとする。ハード
ディスク装置21は、SCSI(Small Computer Syste
m Interface)規格に準拠したものであり、パラレルラ
インを介してSCSIインターフェース22に接続され
ている。また、この実施の形態では、高速アクセスを可
能とするため、ハードディスク装置21には、ラスタ方
式(ビットマップ方式)の画像データがシリアルに格納
されている。SCSIインターフェース22は、転送イ
ンターフェース23に接続されている。転送インターフ
ェース23は、CPU11のアクセスの対象となる第1
のメモリ24と第2のメモリ25と転送コントローラ2
6を備える。
Further, the data processing device comprises an external storage device (auxiliary storage device) 21 such as a hard disk device or a CD-ROM device. In this embodiment, the external storage device 21 is a hard disk device. The hard disk device 21 is a SCSI (Small Computer Syste
m Interface) standard, and is connected to the SCSI interface 22 via a parallel line. Further, in this embodiment, in order to enable high speed access, image data of a raster system (bitmap system) is serially stored in the hard disk device 21. The SCSI interface 22 is connected to the transfer interface 23. The transfer interface 23 is a first access target of the CPU 11.
Memory 24, second memory 25, and transfer controller 2
6 is provided.

【0030】第1と第2のメモリ24、25は、デュア
ルポート高速メモリ、例えば、2ポートSRAMメモリ
から構成され、それらの第1ポートは第2のバス27を
介してCPU11に接続され、CPU11によりリード
ライトされる。第2のバスも、例えば、EISA規格準
拠のバスである。
The first and second memories 24 and 25 are composed of dual-port high-speed memories, for example, 2-port SRAM memories, the first ports of which are connected to the CPU 11 via the second bus 27, and the CPU 11 Read / write by. The second bus is also a bus compliant with the EISA standard, for example.

【0031】転送コントローラ26は、第1と第2のメ
モリ24、25の第2ポート、SCSIインターフェー
ス22及び第2のバス27に接続され、CPU11の制
御下で、ハードディスク装置21と第1と第2のメモリ
24、25間のデータ転送を制御する。
The transfer controller 26 is connected to the second ports of the first and second memories 24 and 25, the SCSI interface 22 and the second bus 27, and under the control of the CPU 11, the hard disk device 21 and the first and second hard disks 21. The data transfer between the two memories 24 and 25 is controlled.

【0032】転送コントローラ26は、図2に示すよう
に、SCSIポート31、CPUポート32、第1のポ
ート33、第2のポート34、レジスタ群35、第1の
転送回路36、FIFO(先入れ先出しメモリ)37、
第2の転送回路38、第1のアドレスカウンタ39、第
2のアドレスカウンタ40、コントローラ41を備え
る。
As shown in FIG. 2, the transfer controller 26 includes a SCSI port 31, a CPU port 32, a first port 33, a second port 34, a register group 35, a first transfer circuit 36, a FIFO (first-in first-out memory). ) 37,
A second transfer circuit 38, a first address counter 39, a second address counter 40, and a controller 41 are provided.

【0033】SCSIポート31はSCSIインターフ
ェース22に専用ラインを介して接続されている。CP
Uポート32は第2のバス27に接続されている。第1
のポート33は、専用ラインを介して第1のメモリ24
の第2ポートに接続されている。第2のポート34は、
専用ラインを介して第2のメモリ25の第2ポートに接
続されている。レジスタ群35は、CPU11により設
定されたフラグ、データ、例えば、書き込みと読み出し
の別を示すデータ、先頭アドレス等がセットされる。
The SCSI port 31 is connected to the SCSI interface 22 via a dedicated line. CP
The U port 32 is connected to the second bus 27. First
Port 33 of the first memory 24 via a dedicated line
Connected to the second port of the. The second port 34 is
It is connected to the second port of the second memory 25 via a dedicated line. In the register group 35, flags and data set by the CPU 11, for example, data indicating whether writing and reading are performed, head address and the like are set.

【0034】第1の転送回路36は、FIFO37とS
CSIインターフェース回路22(ハードディスク装置
21)との間でデータを転送する。第2の転送回路38
は、FIFO37と第1のメモリ24又は第2のメモリ
25との間でデータを転送する。第1の転送回路36と
第2の転送回路38は、例えば、DMA(ダイレクトメ
モリアクセス)回路より構成される。また、例えば、第
1の転送回路は20MHzの動作クロックに従って動作
し、第2の転送回路は40MHzの動作クロックに従っ
て動作する。
The first transfer circuit 36 includes a FIFO 37 and an S.
Data is transferred to and from the CSI interface circuit 22 (hard disk device 21). Second transfer circuit 38
Transfers data between the FIFO 37 and the first memory 24 or the second memory 25. The first transfer circuit 36 and the second transfer circuit 38 are, for example, DMA (Direct Memory Access) circuits. Further, for example, the first transfer circuit operates according to the operation clock of 20 MHz, and the second transfer circuit operates according to the operation clock of 40 MHz.

【0035】FIFO37は第1の転送回路36のデー
タ転送速度と第2の転送回路38のデータ転送速度の差
を緩衝すると共に第1と第2の転送回路36と38との
間のデータの授受を仲介する。第1のアドレスカウンタ
39は、第1のメモリ24のアドレスをカウントする。
第2のアドレスカウンタ40は、第2のメモリ25のア
ドレスをカウントする。コントローラ41は、転送コン
トローラ26の内部回路の各部の動作を制御する。
The FIFO 37 buffers the difference between the data transfer rate of the first transfer circuit 36 and the data transfer rate of the second transfer circuit 38, and transfers data between the first and second transfer circuits 36 and 38. Mediate. The first address counter 39 counts the address of the first memory 24.
The second address counter 40 counts the address of the second memory 25. The controller 41 controls the operation of each part of the internal circuit of the transfer controller 26.

【0036】次に、転送インターフェース23の基本動
作を説明する。先ず、ハードディスク装置21から大量
のデータを読み出し、CPU11で加工する場合を例に
説明する。CPU11は、データの読み出しであること
を示すデータ、ハードディスク装置21上の読み出し対
象データが格納されている領域の先頭アドレス、第1と
第2のメモリ24、25のいずれにデータを先に格納す
るか等を示す転送リクエスト信号(DMAリクエスト)
を第2のバス27を介して転送コントローラ26に提供
する。
Next, the basic operation of the transfer interface 23 will be described. First, a case where a large amount of data is read from the hard disk device 21 and processed by the CPU 11 will be described as an example. The CPU 11 first stores the data indicating that the data is to be read, the start address of the area on the hard disk device 21 in which the read target data is stored, and the first or second memory 24 or 25 to store the data first. Transfer request signal indicating whether or not (DMA request)
Are provided to the transfer controller 26 via the second bus 27.

【0037】コントローラ41は転送リクエスト信号に
含まれる、データ、対応するフラグ等をレジスタ群35
にセットし、さらに、各部を対応する動作モードに設定
する。また、コントローラ41は、第1と第2のアドレ
スカウンタ39、40を初期化する。転送リクエスト信
号は、SCSIインターフェース22にも通知される。
The controller 41 stores data, corresponding flags, etc., contained in the transfer request signal in the register group 35.
And set each unit to the corresponding operation mode. The controller 41 also initializes the first and second address counters 39 and 40. The transfer request signal is also notified to the SCSI interface 22.

【0038】コントローラ41は設定が終了すると、C
PU11にアクノレッジ信号ACKを出力する。このA
CK信号により、CPU11はデータ転送動作から開放
され、他の処理を実行する。
When the controller 41 finishes the setting, C
It outputs an acknowledge signal ACK to PU11. This A
By the CK signal, the CPU 11 is released from the data transfer operation and executes other processing.

【0039】CPU11からの転送リクエストに応じ
て、SCSIインターフェース回路22はハードディス
ク装置21にデータの読み出しを指示する。この指示に
応答し、ハードディスク装置21は、CPUから与えら
れる先頭位置よりデータを順次読み出し、専用ラインを
介してSCSIインターフェース22に提供する。
In response to the transfer request from the CPU 11, the SCSI interface circuit 22 instructs the hard disk device 21 to read data. In response to this instruction, the hard disk device 21 sequentially reads the data from the head position given from the CPU and provides it to the SCSI interface 22 via a dedicated line.

【0040】第1の転送回路36は、SCSIインター
フェース22からデータが提供される度に、これをFI
FO37に入力する。第2の転送回路38は、FIFO
37に入力されたデータを順次取り出し、CPU11に
より指示されたメモリ、例えば、第1のメモリ24に提
供する。第1のメモリ24は、提供されたデータを第1
のアドレスカウンタ39が指示する位置に格納する。第
2の転送回路38がデータを1回転送するたびに第1の
アドレスカウンタ39はカウント値(アドレス値)を更
新する。更新値は1回の転送処理で転送されるデータの
バイト数に対応する。以後、順次、ハードディスク装置
21よりデータが読み出され、第1のメモリ24に格納
される。
Each time the first transfer circuit 36 receives data from the SCSI interface 22, the first transfer circuit 36 sends it to the FI.
Input to FO37. The second transfer circuit 38 is a FIFO.
The data input to 37 is sequentially taken out and provided to the memory instructed by the CPU 11, for example, the first memory 24. The first memory 24 stores the provided data in the first
The address is stored in the position indicated by the address counter 39. Each time the second transfer circuit 38 transfers data once, the first address counter 39 updates the count value (address value). The updated value corresponds to the number of bytes of data transferred in one transfer process. After that, the data is sequentially read from the hard disk device 21 and stored in the first memory 24.

【0041】データの転送が進み、予め定められた所定
量、例えば、64Kバイトのデータの転送が終了する
と、転送コントローラ26は第2のバス27を介してC
PU11に転送終了割り込み信号INTを出力する。割
り込み信号INTに応答した割り込み処理において、C
PU11は次に読み出すべき領域の先頭位置等の情報を
含む転送リクエストを出力し、再起動をかける。この起
動により、データが再び転送される。
When the data transfer progresses and the transfer of the predetermined amount of data, for example, 64 Kbytes of data is completed, the transfer controller 26 transfers the C data via the second bus 27.
The transfer end interrupt signal INT is output to the PU 11. In the interrupt processing in response to the interrupt signal INT, C
The PU 11 outputs a transfer request including information such as the head position of the area to be read next, and restarts. This activation causes the data to be transferred again.

【0042】データ転送が進み、第1のメモリ24が転
送データで満たされると、転送コントローラ26は、C
PU11に割り込み信号INTを供給する。この割り込
み信号INTに応答した割り込み処理により、CPU1
1は転送対象メモリを第2のメモリ25とする転送リク
エスト信号を転送コントローラ26に出力する。コント
ローラ41は、第2のアドレスカウンタ40のカウント
値を初期化する。以後は前述と同様にして、ハードディ
スク装置21から読み出されたデータが第2のメモリ2
5に順次転送される。
When the data transfer progresses and the first memory 24 is filled with the transfer data, the transfer controller 26 causes the C
An interrupt signal INT is supplied to PU11. By the interrupt processing in response to this interrupt signal INT, the CPU 1
1 outputs a transfer request signal to the transfer controller 26 in which the transfer target memory is the second memory 25. The controller 41 initializes the count value of the second address counter 40. After that, the data read from the hard disk device 21 is stored in the second memory 2 in the same manner as described above.
5 are sequentially transferred.

【0043】第2のメモリ25にデータが格納されてい
る期間に、CPU11は、第1のメモリ24に格納され
ているデータを読み出して処理する。第2のメモリ25
へのデータの転送及び第1のメモリ24に格納されたデ
ータの処理が共に終了すると、CPU11は転送コント
ローラ26に第1のメモリ24へのデータの転送、読み
出し位置等を指示する転送リクエスト信号を出力する。
この信号に従って、コントローラ41は第1のアドレス
カウンタ39を初期化する。これにより、ハードディス
ク装置21から読み出されたデータが第1のメモリ24
に順次格納される。この間に、CPU11は第2のメモ
リ25に格納されたデータを処理する。
While the data is stored in the second memory 25, the CPU 11 reads and processes the data stored in the first memory 24. Second memory 25
When the data transfer to the first memory 24 and the processing of the data stored in the first memory 24 are completed, the CPU 11 sends a transfer request signal for instructing the transfer controller 26 to transfer the data to the first memory 24, a read position, and the like. Output.
According to this signal, the controller 41 initializes the first address counter 39. As a result, the data read from the hard disk device 21 is stored in the first memory 24.
Are sequentially stored in. During this time, the CPU 11 processes the data stored in the second memory 25.

【0044】以後、同様の動作が繰り返される。即ち、
CPU11が一方のメモリに格納されたデータを処理
し、その間に、転送コントローラ26が次に処理すべき
データを他方のメモリに予め読み出しておく動作が、メ
モリを切り替えながら繰り返される。転送対象データの
最終ブロックの転送が終了したことを示す割り込み信号
INTがCPU11に出力されると、データ転送が終了
する。
Thereafter, the same operation is repeated. That is,
The operation in which the CPU 11 processes the data stored in one memory and the transfer controller 26 reads the data to be processed next in the other memory in advance while the memory is switched is repeated. When the interrupt signal INT indicating that the transfer of the final block of the transfer target data is completed is output to the CPU 11, the data transfer is completed.

【0045】以上の動作の処理タイミングを図3に示
す。この図から明らかなように、ハードディスク装置2
1上のデータを処理(加工)する要求が発生してから、
CPU11がデータの転送を待機する期間は、第1のメ
モリ24が最初に満たされるまでの期間のみである。以
後は、処理対象のデータが予めメモリに用意されてい
る。このため、データ転送速度に制限されず、高速なデ
ータ処理が可能である。
The processing timing of the above operation is shown in FIG. As is clear from this figure, the hard disk drive 2
After the request to process (process) the data on 1 occurred,
The period in which the CPU 11 waits for data transfer is only the period until the first memory 24 is first filled. After that, the data to be processed is prepared in the memory in advance. Therefore, the data transfer speed is not limited, and high-speed data processing is possible.

【0046】なお、処理対象のデータの転送完了前にC
PU11の処理が終了した場合には、CPU11は他の
処理を実行し、転送終了を示す割り込み信号INTに応
じてこのデータ処理に復帰する。また、CPU11の処
理終了前に次の処理対処のデータの転送が完了した場合
には、転送コントローラ26はCPU11からの次の指
示を待つ。一般的には、ハードディスク21の動作速度
が遅いため、データ転送終了前に、CPU11の処理が
終了する。
Before the transfer of the data to be processed is completed, C
When the processing of the PU 11 is completed, the CPU 11 executes other processing and returns to this data processing in response to the interrupt signal INT indicating the end of transfer. Further, when the transfer of the data for the next process is completed before the process of the CPU 11 is completed, the transfer controller 26 waits for the next instruction from the CPU 11. Generally, since the operation speed of the hard disk 21 is slow, the processing of the CPU 11 ends before the data transfer ends.

【0047】次に、CPU11の処理により生成された
大量のデータを順次ハードディスク装置21に転送して
格納する場合を説明する。まず、CPU11は、データ
処理を実行し、第1又は第2のメモリ24、25にデー
タを格納する。所定量のデータを生成すると、CPU1
1は、第2のバス27を介して転送コントローラ26に
書き込みであることを示すデータ、第1のメモリ24の
データを先に転送すること、書き込み先の領域の先頭ア
ドレス等を含む転送リクエスト信号を転送コントローラ
26に出力する。コントローラ41は、各部を対応する
モードに設定する。CPU11はSCSIインターフェ
ース22にもデータ書き込みであること及びハードディ
スク装置21の書き込み対象領域の先頭アドレスを通知
する。設定が終了すると、コントローラ41はアクノリ
ッジ信号ACKをCPU11に出力する。このACK信
号により、CPU11はデータ転送動作から開放され、
データ処理を継続し、処理結果としてのデータを第2の
メモリ25に書き込む。
Next, a case where a large amount of data generated by the processing of the CPU 11 is sequentially transferred to and stored in the hard disk device 21 will be described. First, the CPU 11 executes data processing and stores data in the first or second memory 24, 25. When a predetermined amount of data is generated, the CPU 1
1 is a transfer request signal including data indicating that the data is to be written to the transfer controller 26 via the second bus 27, the data in the first memory 24 is transferred first, and the start address of the write destination area and the like. Is output to the transfer controller 26. The controller 41 sets each unit to a corresponding mode. The CPU 11 also notifies the SCSI interface 22 that data is being written and the start address of the write target area of the hard disk device 21. When the setting is completed, the controller 41 outputs an acknowledge signal ACK to the CPU 11. By this ACK signal, the CPU 11 is released from the data transfer operation,
The data processing is continued and the data as the processing result is written in the second memory 25.

【0048】転送リクエスト信号に従って、第2の転送
回路38は、第1のメモリ24のアドレスカウンタ39
が指示する位置から順次データを読み出し、FIFO3
7に格納する。第1の転送回路36は、FIFO37か
らデータを取り出し、SCSIインターフェース22に
提供する。SCSIインターフェース22は提供された
データを指示された先頭アドレスから順次書き込む。以
後、同様の動作が繰り返されて、1ブロック分のデータ
が転送される度にCPU11に割り込み信号INTが出
力され、CPU11により再要求が行われてデータ転送
が継続される。
According to the transfer request signal, the second transfer circuit 38 causes the address counter 39 of the first memory 24.
Sequentially reads the data from the position designated by
Store in 7. The first transfer circuit 36 takes out the data from the FIFO 37 and provides it to the SCSI interface 22. The SCSI interface 22 sequentially writes the provided data from the designated start address. After that, the same operation is repeated and an interrupt signal INT is output to the CPU 11 every time one block of data is transferred, and the CPU 11 makes a request again to continue the data transfer.

【0049】第1のメモリ24の記憶データの転送が完
了し、且つ、第2のメモリ25へのデータの書き込みが
完了すると、CPU11は、転送対象のメモリを第2の
メモリ25に、書き込み対象のメモリを第1のメモリ2
4に切り換える。第2の転送回路38は第2のアドレス
カウンタ40が指示する位置から順次データを読み出
し、FIFO37に入力する。一方、第1の転送回路3
6はFIFO37から順次データを読み出し、SCSI
インターフェース22に供給する。SCSIインターフ
ェース22は提供されたデータをハードディスク装置2
1に供給して書き込む。以後、同様の動作を繰り返す。
When the transfer of the storage data of the first memory 24 is completed and the writing of the data to the second memory 25 is completed, the CPU 11 sets the transfer target memory to the second memory 25 and the write target. Memory of the first memory 2
Switch to 4. The second transfer circuit 38 sequentially reads the data from the position indicated by the second address counter 40 and inputs the data to the FIFO 37. On the other hand, the first transfer circuit 3
6 sequentially reads data from the FIFO 37, and the SCSI
Supply to the interface 22. The SCSI interface 22 transfers the provided data to the hard disk device 2
Supply to 1 and write. After that, the same operation is repeated.

【0050】この様にして、データ書き込みの場合に
は、CPU11が一方のメモリ24又は25にアクセス
して、作成したデータを書き込んでいる間に、他方のメ
モリ25又は24に既に作成済みのデータを読み出し
て、ハードディスク装置21に転送する。従って、CP
U11はハードディスク装置21とのデータ転送に要す
る時間に煩わされることなく、データ処理を実行でき
る。このため、画像データの処理等のように、大量のデ
ータを処理する場合に、高速なデータ処理が可能とな
る。
Thus, in the case of data writing, while the CPU 11 accesses one memory 24 or 25 to write the created data, the data already created in the other memory 25 or 24 is written. Is read out and transferred to the hard disk device 21. Therefore, CP
U11 can execute data processing without being bothered by the time required for data transfer with the hard disk device 21. Therefore, when processing a large amount of data such as image data processing, high-speed data processing is possible.

【0051】また、ディスクキャッシュ等と異なり、デ
ータのヒット/アンヒットの判別、アンヒットの場合の
リプレース等の処理が不要であり、制御系の構成が容易
になるとともに動作速度も速くなる。
Further, unlike the disk cache and the like, it is not necessary to perform processing such as data hit / unhit discrimination and replacement in the case of unhit, so that the control system can be easily constructed and the operation speed can be increased.

【0052】続いて、地図等の画像上にウインドウを開
き、この地図上でウインドウを移動しつつ表示する場合
を例に、データ処理装置全体の動作を具体的に説明す
る。
Next, the operation of the entire data processing apparatus will be specifically described by taking a case where a window is opened on an image such as a map and the window is displayed while moving on the map as an example.

【0053】この実施の形態では、ハードディスク装置
21に、ラスタ形式(ビットマップ形式)の地図データ
がシーケンシャルに格納されているものとする。地図デ
ータは、図4に示すように、縦横512×512ビット
の複数のブロックに分割されているものとする。また、
各データの深さ(ビット数)は8ビットであるとする。
In this embodiment, it is assumed that the hard disk device 21 sequentially stores map data in raster format (bitmap format). As shown in FIG. 4, the map data is divided into a plurality of blocks of 512 × 512 bits in length and width. Also,
The depth (bit number) of each data is assumed to be 8 bits.

【0054】CPU11は、ROM13に格納された制
御プログラムに従って、図5に示すように、地図データ
で定義される仮想的な大きな地図51の上にウインドウ
52を形成し、ウインドウ52を介して地図51の一部
を表示する。ウインドウ52及びウインドウ52内の地
図51はVRAM14にビットマップ形式で展開され、
表示装置15に表示される。
According to the control program stored in the ROM 13, the CPU 11 forms a window 52 on the virtual large map 51 defined by the map data, as shown in FIG. To display a part of. The window 52 and the map 51 in the window 52 are expanded in the VRAM 14 in the bitmap format,
It is displayed on the display device 15.

【0055】この状態において、使用者が右上スクロー
ル(ウインドウが右上に移動し、見かけ上地図が左下に
移動する)を指示すると、CPU11は、一定期間毎に
地図51上でウインドウ52を図6に示すように所定量
移動する。地図51上のウインドウ52のX方向及びY
方向の移動量をΔx、Δyとする。
In this state, when the user instructs the upper right scroll (the window moves to the upper right and the map apparently moves to the lower left), the CPU 11 causes the window 52 to be displayed on the map 51 at regular intervals in FIG. Move a predetermined amount as shown. X direction and Y of window 52 on map 51
The movement amounts in the directions are Δx and Δy.

【0056】CPU11は、ウインドウ52の移動によ
り、地図51を表示するために新たに必要となるデータ
ブロックを求める。即ち、ブロックB1〜B16のデー
タが必要であることを検出する。
The CPU 11 obtains a data block newly required for displaying the map 51 by moving the window 52. That is, it is detected that the data of the blocks B1 to B16 is necessary.

【0057】CPU11は、ハードディスク装置21か
らこれらのデータを読み出すため、第2のバス27を介
して、データの読み出しであること、ブロックB1の先
頭アドレス、第1のメモリ24に先に読み出しデータを
書き込むこと等を含む転送リクエスト信号を転送コント
ローラ26及びSCSIインターフェース22に通知す
る。この通知に応答し、ハードディスク装置21はブロ
ックB1のデータを順次シーケンシャルに読み出してS
CSIインターフェース22を介して転送コントローラ
26に供給する。転送コントローラ26内の第1の転送
回路36は、SCSIインターフェース22から順次供
給される地図データをFIFO37に順次格納する。ま
た、第2の転送回路38は、FIFO37から順次デー
タを読み出し、第1のメモリ24の第1のアドレスカウ
ンタ39が指示する位置に格納する。
Since the CPU 11 reads these data from the hard disk device 21, it must read the data via the second bus 27, the head address of the block B1, and the read data in the first memory 24 first. The transfer controller 26 and the SCSI interface 22 are notified of a transfer request signal including writing. In response to this notification, the hard disk device 21 sequentially reads out the data of the block B1 and sequentially reads S
It is supplied to the transfer controller 26 via the CSI interface 22. The first transfer circuit 36 in the transfer controller 26 sequentially stores the map data sequentially supplied from the SCSI interface 22 in the FIFO 37. Further, the second transfer circuit 38 sequentially reads out the data from the FIFO 37 and stores the data in the position designated by the first address counter 39 of the first memory 24.

【0058】ハードディスク装置21から第1のメモリ
24にブロックB1のデータが転送されている間、CP
U11はデータ転送処理から解放され、VRAM14上
で地図データをシフトする処理を行う。
While the data of the block B1 is being transferred from the hard disk device 21 to the first memory 24, the CP
U11 is released from the data transfer process and performs a process of shifting the map data on the VRAM 14.

【0059】即ち、図7に示すように、VRAM14の
ウインドウ52内の各ビットの地図データをXアドレス
を−Δx,Yアドレスを−Δyした位置に順次シフトし
て書き込み、図8(A)に示す状態から図8(B)に示
す状態にシフトする。
That is, as shown in FIG. 7, the map data of each bit in the window 52 of the VRAM 14 is sequentially shifted and written in a position where the X address is -Δx and the Y address is -Δy, and is written in FIG. 8 (A). The state shown in FIG. 8 shifts to the state shown in FIG.

【0060】このシフト処理を実行している間に、転送
コントローラ26からブロックB1の転送が終了したこ
とを示す割り込み信号が入力されると、CPU11は割
り込み処理を実行し、次のブロックB2を読み出すため
の転送リクエスト信号を発行する。この転送リクエスト
信号に従って、転送コントローラ26及びSCSIイン
ターフェース22は、ハードディスク装置21からブロ
ックB2のデータを順次読み出して第1のメモリ24の
空き領域に書き込む。
When the interrupt signal indicating that the transfer of the block B1 is completed is input from the transfer controller 26 during the execution of the shift process, the CPU 11 executes the interrupt process and reads the next block B2. Issue a transfer request signal for In accordance with this transfer request signal, the transfer controller 26 and the SCSI interface 22 sequentially read the data of the block B2 from the hard disk device 21 and write it in the empty area of the first memory 24.

【0061】VRAM14上のウインドウ52内で、地
図データのシフトが完了し、且つ、転送コントローラ2
6からの転送完了の割り込み信号INTが供給される
と、CPU11は、次のブロックB3を読み出すための
転送リクエスト信号を出力する。この転送リクエスト信
号に従って、転送コントローラ26及びSCSIインタ
ーフェース22は、ハードディスク装置21からブロッ
クB3のデータを順次読み出して第2のメモリ25の先
頭位置から順に書き込む。
The shift of the map data is completed in the window 52 on the VRAM 14, and the transfer controller 2
When the transfer completion interrupt signal INT from 6 is supplied, the CPU 11 outputs a transfer request signal for reading the next block B3. According to the transfer request signal, the transfer controller 26 and the SCSI interface 22 sequentially read the data of the block B3 from the hard disk device 21 and sequentially write the data from the head position of the second memory 25.

【0062】転送コントローラ26がデータの読み出し
を行っている間に、CPU11は、第1のメモリ24に
読み出されたブロックB1の地図データのうちから、必
要な部分(ウインドウ52内に表示されるべき部分)を
切り出してVRAM14の対応部分に書き込む。ブロッ
クB2についても同様に、表示対象部分をVRAM14
の対応箇所に書き込む。
While the transfer controller 26 is reading the data, the CPU 11 reads a necessary portion (displayed in the window 52) from the map data of the block B1 read in the first memory 24. The power portion) is cut out and written in the corresponding portion of the VRAM 14. Similarly for the block B2, the display target portion is set to the VRAM 14
Write in the corresponding part of.

【0063】以後、同様にして、一方のメモリに次に処
理すべきブロックを予め読み出しておき、他方のメモリ
に読み出されたデータのうち必要部分をVRAM14に
書き込む処理を並列的に且つ交互に行う。必要な地図デ
ータが全て第1及び第2のメモリ24、25に読み出さ
れると転送動作が終了し、VRAM14上のウインドウ
52内に必要なデータを書き込み終えると、1回分のシ
フト処理が完了する。上述のシフト処理は、地図51上
でウインドウ52の移動が指示され続けている間、所定
期間毎に、繰り返して実行される。
Thereafter, similarly, a block to be processed next is read in advance in one memory, and a necessary portion of the data read in the other memory is written in the VRAM 14 in parallel and alternately. To do. The transfer operation ends when all the necessary map data are read to the first and second memories 24 and 25, and when the necessary data is written in the window 52 on the VRAM 14, the shift process for one time is completed. The shift process described above is repeatedly executed at predetermined time intervals while the movement of the window 52 is continuously instructed on the map 51.

【0064】なお、ブロックB1〜B16のうち、ブロ
ックB11〜B16は先の位置のウインドウ52を表示
する際にも使用したデータであるので、第1と第2のメ
モリ24又は25に記憶されている場合には、ハードデ
ィスク21から再読み込みを行わず、残っているデータ
を用いて処理を行う。
Of the blocks B1 to B16, the blocks B11 to B16 are the data used also when displaying the window 52 at the previous position, and therefore are stored in the first and second memories 24 or 25. If there is, the hard disk 21 is not reread and the remaining data is used for processing.

【0065】次に、ハードディスク装置21からラスタ
データを読み出して、これとベクタ画像を合成して、新
たなラスタ画像とし、得られたラスタ画像をハードディ
スク装置21に再び書き込む場合を例に説明する。
Next, a case will be described as an example where the raster data is read from the hard disk device 21, the vector image is combined with the raster data to form a new raster image, and the obtained raster image is written again to the hard disk device 21.

【0066】この場合、例えば、第1のメモリ24にラ
スタ画像を読み出し、続いて第2のメモリ25にラスタ
画像を読み出す。第2のメモリ25上にラスタ画像を読
み出している間に、ベクタデータを展開し、第1のメモ
リ24に予め読み出されていたラスタデータと合成す
る。続いて、第2のメモリ25上のラスタデータと新た
に展開されたベクタ画像を合成する間に、合成済みの第
1のメモリ24のデータをハードディスク装置21に転
送し、さらに、次に処理すべきデータをハードディスク
装置21より読み出しておく。
In this case, for example, the raster image is read to the first memory 24 and then the raster image is read to the second memory 25. While the raster image is being read onto the second memory 25, the vector data is expanded and combined with the raster data that has been read beforehand into the first memory 24. Subsequently, while the raster data on the second memory 25 and the newly developed vector image are being combined, the combined data of the first memory 24 is transferred to the hard disk device 21, and further processed. Data to be read from the hard disk device 21.

【0067】このようにして、この実施の形態によれ
ば、2つのメモリを用意し、CPUが一方のメモリをア
クセスしている間に他方のメモリとハードディスクとの
間でデータを転送し、データの処理と転送を並列的に且
つ各メモリについて交互に行う。従って、CPUは高速
メモリをアクセスするのに近いアクセス速度でハードデ
ィスク上のデータにアクセスすることができる。特に、
大量の画像データなどを高速に処理する場合等に効果的
である。
In this way, according to this embodiment, two memories are prepared, and while the CPU is accessing one memory, the data is transferred between the other memory and the hard disk, Processing and transfer are performed in parallel and alternately for each memory. Therefore, the CPU can access the data on the hard disk at an access speed close to that of accessing a high speed memory. Especially,
This is effective when processing a large amount of image data at high speed.

【0068】また、メモリの数は任意であり、第3、第
4・・・・・・のメモリを配置してもよい。メモリの数はデー
タ転送速度に対して、CPU11の速度が遅い程多く
し、各システムの仕様に応じて最適化された数を使用す
る。各メモリの容量も同様である。
Further, the number of memories is arbitrary, and the third, fourth, ... Memorys may be arranged. The number of memories is increased as the speed of the CPU 11 is slower than the data transfer speed, and the number optimized according to the specifications of each system is used. The capacity of each memory is also the same.

【0069】上記実施の形態では、高速動作のために、
第1のバス12と第2のバス27を分離したが、図9に
示すように、両バスを共通化してもよい。
In the above embodiment, in order to operate at high speed,
Although the first bus 12 and the second bus 27 are separated, both buses may be shared as shown in FIG.

【0070】(第2の実施の形態)第1の実施の形態で
は、第1と第2のメモリと外部記憶装置との間にFIF
O(先入れ先出しメモリ)を設けてデータを転送する場
合のデータ処理装置及びインターフェース回路について
説明した。次に、第1と第2のメモリと外部記憶装置と
の間にタイミング調整回路を設けて、データを転送する
データ転送装置について以下説明する。
(Second Embodiment) In the first embodiment, an FIF is provided between the first and second memories and the external storage device.
The data processing device and the interface circuit when the data is transferred by providing the O (first-in first-out memory) has been described. Next, a data transfer device that transfers data by providing a timing adjustment circuit between the first and second memories and the external storage device will be described below.

【0071】この発明の第2の実施の形態にかかるデー
タ転送装置を組み込んだコンピュータシステム100を
図10に示す。コンピュータシステム100は、CPU
(中央処理装置)102と、内部メモリ104と、デー
タ転送装置110と、バス108と、を備える。この発
明において、バス108は、コンピュータシステムにお
いて一般的に用いられるものであり、システムバス、周
辺装置用バス(例えば、IBM互換パーソナルコンピュ
ータにおいて一般的用いられるPCI、ローカルバス、
ISA、EISA等のバス)等がある。この発明では、
内部メモリは、バス108を介してアドレス指定可能な
メモリでもよい。例えば、内部メモリ104は、システ
ムメモリ(一般的にシステムバスに接続される)、又は
ビデオメモリ(一般的に周辺装置用バスに接続される)
である。データ転送装置110は、周辺装置ボード又は
半導体チップに集積され、形成される。この第2の実施
の形態では、内部メモリ104及びCPU102はシス
テムバスに接続され、一方、データ転送装置110はI
SAバスに接続された周辺装置ボードである。
FIG. 10 shows a computer system 100 incorporating a data transfer apparatus according to the second embodiment of the present invention. The computer system 100 is a CPU
A central processing unit 102, an internal memory 104, a data transfer device 110, and a bus 108 are provided. In the present invention, the bus 108 is generally used in a computer system, and includes a system bus, a bus for peripheral devices (for example, a PCI generally used in an IBM compatible personal computer, a local bus,
Buses such as ISA and EISA). In the present invention,
The internal memory may be a memory addressable via the bus 108. For example, internal memory 104 may be system memory (typically connected to the system bus) or video memory (typically connected to a peripheral bus).
It is. The data transfer device 110 is integrated and formed on a peripheral device board or a semiconductor chip. In the second embodiment, the internal memory 104 and the CPU 102 are connected to the system bus, while the data transfer device 110 is I.
It is a peripheral board connected to the SA bus.

【0072】コンピュータシステム100は、データを
記憶するハードディスク112を備え、ハードディスク
112と内部メモリ104との間で高速にデータを転送
することを可能とする。以下に示すように、データ転送
装置110内の一組のランダムアクセスメモリ(RA
M)であるRAMA及びRAMBは、ハードディスク1
12と内部メモリ104との間で転送されるデータを一
時的に記憶するために用いられる。
The computer system 100 has a hard disk 112 for storing data, and enables high-speed data transfer between the hard disk 112 and the internal memory 104. As shown below, a set of random access memories (RA
RAMA and RAMB which are M) are the hard disk 1
It is used to temporarily store data transferred between 12 and the internal memory 104.

【0073】データ転送装置110の構造について以下
説明する。データ転送装置110は、データ転送装置1
10内の回路をバス108に接続するためのバスインタ
ーフェース106を備える。バスインターフェース10
6は、データ転送装置110内の回路と、内部メモリ1
04及びCPU102との間でデータ及び制御信号を通
信させる。
The structure of the data transfer device 110 will be described below. The data transfer device 110 is the data transfer device 1.
A bus interface 106 for connecting the circuits in 10 to the bus 108 is provided. Bus interface 10
Reference numeral 6 denotes a circuit in the data transfer device 110 and the internal memory 1.
04 and CPU 102 to communicate data and control signals.

【0074】データ転送装置110は、標準SCSI
(Small Computer System Interface)プロトコルに従
って、ハードディスク112との間でデータ及び制御情
報を通信するSCSIコントローラ122を備える。コ
ントローラの構造に関してはこの技術分野で周知のた
め、詳細については省略する。SCSIコントローラ1
22は、半導体チップであることが望ましい。
The data transfer device 110 is a standard SCSI device.
A SCSI controller 122 for communicating data and control information with the hard disk 112 is provided according to the (Small Computer System Interface) protocol. Since the structure of the controller is well known in this technical field, detailed description thereof will be omitted. SCSI controller 1
22 is preferably a semiconductor chip.

【0075】SCSIコントローラ122は、SCSI
処理回路124に接続されている。SCSI処理回路1
24は、バスインターフェース106及びタイミング調
整回路130に接続されている。SCSI処理回路12
4は、次に示すように動作する。(1)バスインターフ
ェース106を介してCPU102からコマンド及び状
態情報を受信する。(2)これらのコマンド及び状態情
報に従い(SCSIコントローラ122を通して)ハー
ドディスク112を制御する。(3)タイミング調整回
路130と共に動作して、RAM処理回路132との間
でデータを転送する。(4)バスインターフェース10
6を介してCPU102に状態情報を送信する。例え
ば、SCSI処理回路124は、ハードディスク112
との間のデータ転送を稼働(アクティブ)状態又は非稼
働(デアクティブ)状態に設定可能である。SCSI処
理回路124により生成された状態信号は、データ転送
装置110と共に動作するソフトウェアドライバにより
使用され得る。このソフトウェアドライバの動作の詳細
については、図11及び図12を参照して後述する。
The SCSI controller 122 uses the SCSI
It is connected to the processing circuit 124. SCSI processing circuit 1
24 is connected to the bus interface 106 and the timing adjustment circuit 130. SCSI processing circuit 12
4 operates as follows. (1) Receive commands and status information from the CPU 102 via the bus interface 106. (2) The hard disk 112 is controlled (via the SCSI controller 122) according to these commands and status information. (3) Operates together with the timing adjustment circuit 130 to transfer data to and from the RAM processing circuit 132. (4) Bus interface 10
The state information is transmitted to the CPU 102 via the control unit 6. For example, the SCSI processing circuit 124 uses the hard disk 112.
Data transfer between and can be set to an active state or an inactive state. The status signal generated by the SCSI processing circuit 124 may be used by a software driver operating with the data transfer device 110. Details of the operation of this software driver will be described later with reference to FIGS. 11 and 12.

【0076】この実施の形態において、ハードディスク
112はSCSI規格に準拠する。しかし、この発明
は、他の規格(例えば、IDE(Integrated Drive Ele
ctronics)又はEIDE(Enhanced Integrated Drive
Electronics))に準拠するハードディスクに対しても
同等に応用可能である。
In this embodiment, the hard disk 112 complies with the SCSI standard. However, the present invention is not limited to other standards (for example, IDE (Integrated Drive Ele
ctronics) or EIDE (Enhanced Integrated Drive)
It is equally applicable to hard disks that comply with Electronics)).

【0077】この発明では、データは、ハードディスク
112とコンピュータシステム100の内部RAM10
4との間において、直接転送されない。データは、デー
タ転送装置110内の一対の(RAMA、RAMBで示
される)ランダムアクセスメモリに一時的に記憶され
る。RAMA及びRAMBによるデータ転送は高速であ
る。一方、ハードディスク112によるデータ転送は一
般的に遅く、RAMA及びRAMBによるデータ転送と
は転送速度が異なる。タイミング調整回路130は、ハ
ードディスク112によるデータ転送と、RAMA及び
RAMBによるデータ転送と、の速度差を調整し、これ
らの転送処理を平行して行わせる。
In the present invention, the data is the hard disk 112 and the internal RAM 10 of the computer system 100.
No direct transfer between 4 and 4. The data is temporarily stored in a pair of random access memories (denoted by RAMA and RAMB) in the data transfer device 110. Data transfer by RAMA and RAMB is fast. On the other hand, the data transfer by the hard disk 112 is generally slow, and the transfer speed is different from the data transfer by the RAMA and RAMB. The timing adjustment circuit 130 adjusts the speed difference between the data transfer by the hard disk 112 and the data transfer by the RAMA and the RAMB, and performs these transfer processes in parallel.

【0078】上記機能を実行するために、SCSI処理
回路124は、状態信号の受信、処理、生成を行う状態
処理回路146と、ハードディスク112との間のデー
タ転送を制御するデータフロー回路148とを備える。
これらの回路の設計は、回路設計技術において当事者の
能力の範囲内にある。
In order to execute the above functions, the SCSI processing circuit 124 includes a status processing circuit 146 for receiving, processing, and generating status signals and a data flow circuit 148 for controlling data transfer with the hard disk 112. Prepare
The design of these circuits is within the capabilities of the parties involved in circuit design technology.

【0079】タイミング調整回路130はRAM処理回
路132に接続されている。RAM処理回路132は、
バスインターフェース106を介してCPU102及び
内部RAM104に接続されている。また、RAM処理
回路132は、データ転送装置110内でRAMA及び
RAMBに接続されている。
The timing adjusting circuit 130 is connected to the RAM processing circuit 132. The RAM processing circuit 132 is
It is connected to the CPU 102 and the internal RAM 104 via the bus interface 106. Further, the RAM processing circuit 132 is connected to the RAMA and the RAMB in the data transfer device 110.

【0080】RAM処理回路132は、RAMA及びR
AMBと、タイミング調整回路130及びバスインター
フェース106とを接続するためのスイッチ134を備
える。特に、SCSI処理回路124と、RAMA又は
RAMBのどちらか一方との間でデータを転送したい場
合、スイッチ134はタイミング調整回路130を適当
な一方のメモリに接続させる。同様に、内部RAM10
4と、RAMA又はRAMBのどちらか一方との間でデ
ータを転送したい場合、スイッチ134はバスインター
フェース106を適当な一方のメモリに接続させる。R
AMAは、タイミング調整回路130とバスインターフ
ェース106のどちらか一方と任意のタイミングで接続
され得るが、タイミング調整回路130とバスインター
フェース106の双方に同時に接続されない。同様に、
RAMBは、タイミング調整回路130とバスインター
フェース106のどちらか一方と任意のタイミングで接
続され得るが、タイミング調整回路130とバスインタ
ーフェース106の双方と同時に接続されない。また、
タイミング調整回路130とバスインターフェース10
6との間で、データを直接送信することはできない。デ
ータ転送に関するスイッチ134の動作の詳細につい
て、以下に説明する。
The RAM processing circuit 132 includes RAMs A and R.
A switch 134 for connecting the AMB to the timing adjustment circuit 130 and the bus interface 106 is provided. In particular, if it is desired to transfer data between the SCSI processing circuit 124 and either RAMA or RAMB, the switch 134 connects the timing adjustment circuit 130 to the appropriate one of the memories. Similarly, the internal RAM 10
4 wants to transfer data between 4 and either RAMA or RAMB, switch 134 connects bus interface 106 to the appropriate memory. R
The AMA can be connected to either the timing adjustment circuit 130 or the bus interface 106 at an arbitrary timing, but is not connected to both the timing adjustment circuit 130 and the bus interface 106 at the same time. Similarly,
The RAMB can be connected to either one of the timing adjustment circuit 130 and the bus interface 106 at an arbitrary timing, but is not connected to both the timing adjustment circuit 130 and the bus interface 106 at the same time. Also,
Timing adjustment circuit 130 and bus interface 10
Data cannot be directly transmitted to or from the mobile terminal 6. Details of the operation of the switch 134 regarding data transfer will be described below.

【0081】RAMA及びRAMBのデータ量を監視す
るため、RAM処理回路132は2つのバイト処理ユニ
ットを備える。ユニットは、RAMA及びRAMBとR
AM処理回路132との間の電気信号をマッチングする
手段を備えるカウンタ136、138である。RAM処
理回路132は、RAMA及びRAMBからの、又はR
AMA及びRAMBへのデータ転送と、カウンタ13
6、138の値の増加又は減少とを、監視する。カウン
タ136、138が表す値はRAMA及びRAMBに記
憶されているデータ量である。
In order to monitor the amount of data in RAMA and RAMB, the RAM processing circuit 132 has two byte processing units. Units are RAMA and RAMB and R
Counters 136 and 138 provided with means for matching electrical signals with the AM processing circuit 132. The RAM processing circuit 132 is from RAMA and RAMB, or R
Data transfer to AMA and RAMB and counter 13
The increase or decrease of the values 6, 138 are monitored. The value represented by the counters 136 and 138 is the amount of data stored in the RAMA and RAMB.

【0082】また、RAM処理回路132は、バスイン
ターフェース106を介してCPU102からコマンド
及び状態情報を受信する状態処理回路152を備える。
RAM処理回路132は、状態処理回路152が受信し
たコマンド及び状態情報に従い、内部RAM104と、
RAMA及びRAMBとの間のデータ転送を制御する。
状態処理回路152は、CPU102に状態信号を送信
してもよい。これらの信号はデータ転送装置110を使
用するように設計されたソフトウェアモジュールにより
使用される。
The RAM processing circuit 132 also includes a state processing circuit 152 that receives commands and state information from the CPU 102 via the bus interface 106.
The RAM processing circuit 132, in accordance with the command and the status information received by the status processing circuit 152, and the internal RAM 104,
Controls data transfer between RAMA and RAMB.
The state processing circuit 152 may send a state signal to the CPU 102. These signals are used by software modules designed to use the data transfer device 110.

【0083】RAMA及びRAMBのアクセス時間を最
適化するために、スタティックRAMが使用されること
が望ましい。しかし、他のタイプのRAM(ダイナミッ
クRAM等)が使用されてもよく、この発明は特定のタ
イプのRAMに限定されない。
To optimize the access time of RAMA and RAMB, it is desirable to use static RAM. However, other types of RAM (such as dynamic RAM) may be used and the invention is not limited to a particular type of RAM.

【0084】内部RAM104とRAMA及びRAMB
との間のデータ転送は、直接(例えば、データ転送命令
をCPUへ発信することにより)CPU102によっ
て、又は、従来のダイレクトメモリアクセス(DMA)
を介して処理される。強力なデータ転送命令を持たない
プロセッサでは、転送はDMAによって効果的に処理さ
れる。強力なデータ転送命令(例えば、バーストモード
転送命令、ストリング転送命令、等)を備えるプロセッ
サでは、転送はCPU自身によって効果的に処理され
る。
Internal RAM 104 and RAMA and RAMB
Data transfer to and from the CPU 102 directly (eg, by issuing a data transfer instruction to the CPU) or by conventional direct memory access (DMA).
Is processed via In processors that do not have strong data transfer instructions, the transfers are effectively handled by DMA. In processors with powerful data transfer instructions (eg, burst mode transfer instructions, string transfer instructions, etc.), the transfers are effectively handled by the CPU itself.

【0085】SCSI処理回路124と、RAM処理回
路132と、タイミング調整回路130と、バスインタ
ーフェース106とは、例えば、単一の半導体チップ1
40内に組み込まれる。
The SCSI processing circuit 124, the RAM processing circuit 132, the timing adjusting circuit 130, and the bus interface 106 are, for example, a single semiconductor chip 1.
Incorporated within 40.

【0086】ハードディスク112は、CPU102上
で動作するアプリケーションプログラム又はオペレーテ
ィングシステムにより使用されるデータ及び/又はプロ
グラムを記憶する。ハードディスク112とアプリケー
ションプログラム(又は、オペレーティングシステム)
が動作するCPU102との間のデータ転送においてデ
ータ転送装置110を有効に活用するために、ソフトウ
ェアドライバはそれらの間の動作を調整するために用い
られるのが望ましい。ソフトウェアドライバは、データ
転送装置110により生成された状態信号に応答し、コ
マンドを発行する。また、ソフトウェアドライバは、ア
プリケーションソフトウェア又はオペレーティングシス
テムにメッセージを送信する。
The hard disk 112 stores data and / or programs used by application programs or operating systems operating on the CPU 102. Hard disk 112 and application program (or operating system)
In order to make effective use of the data transfer device 110 in the data transfer with the CPU 102 that operates, the software driver is preferably used to coordinate the operation between them. The software driver issues a command in response to the status signal generated by the data transfer device 110. The software driver also sends a message to the application software or operating system.

【0087】ハードディスク112から内部メモリ10
4へデータ転送する場合における、コンピュータシステ
ム100の動作について、図11に示すフローチャート
S180を参照して説明する。アプリケーションソフト
ウェアは、一定量のデータをハードディスク112から
読み出させ、内部メモリ104に転送させる命令をソフ
トウェアドライバに対して発行する。ソフトウェアドラ
イバはSCSI処理回路124及びRAM処理回路13
2に対して、初期化コマンドを発行する(ステップS1
82)。SCSI処理回路124は、(SCSIコント
ローラ122を介して)ハードディスク112を初期化
する。ハードディスク112は、データの読み出し及び
転送の準備をする。RAM処理回路132は、カウンタ
136、138の値を0に設定し、タイミング調整回路
130がRAMAに接続するようにスイッチ134を設
定する。(タイミング調整回路130による処理の後)
RAM処理回路132は、SCSI処理回路124から
データを取り出し、そのデータをRAMAに転送する。
結果として、データはハードディスク112から読み出
され、RAMAにロードされる(ステップS184)。
From the hard disk 112 to the internal memory 10
The operation of the computer system 100 in the case of data transfer to No. 4 will be described with reference to the flowchart S180 shown in FIG. The application software issues a command to the software driver to read a certain amount of data from the hard disk 112 and transfer it to the internal memory 104. The software driver is a SCSI processing circuit 124 and a RAM processing circuit 13.
2 to issue an initialization command (step S1)
82). The SCSI processing circuit 124 initializes the hard disk 112 (via the SCSI controller 122). The hard disk 112 prepares for reading and transferring data. The RAM processing circuit 132 sets the values of the counters 136 and 138 to 0, and sets the switch 134 so that the timing adjustment circuit 130 connects to RAMA. (After processing by the timing adjustment circuit 130)
The RAM processing circuit 132 takes out data from the SCSI processing circuit 124 and transfers the data to RAMA.
As a result, the data is read from the hard disk 112 and loaded into RAMA (step S184).

【0088】ステップS184の実行中、CPU102
はこの処理に無関係である。よって、この間、CPU1
02は、Windows又は他のソフトウェアモジュー
ルを実行することができる。
During execution of step S184, the CPU 102
Is irrelevant to this process. Therefore, during this period, the CPU1
02 can run Windows or other software modules.

【0089】RAM処理回路132は、カウンタ136
用いてRAMA内のデータの量が所定値に達した否かを
判定する(ステップS186)。所定値に達しない場合
(即ち、RAMAにデータを記憶する領域が残っている
場合)、SCSI処理回路124(及びハードディスク
112)からのデータは、タイミング調整回路130に
おける処理の後にRAMAにロードされ続ける(ステッ
プS188)。RAMAがデータを受信できなくなった
とき、RAM処理回路132は、タイミング調整回路1
30をRAMBに接続するようにスイッチ134を設定
する。結果として、データは、ハードディスク112か
ら読み出され、RAMBにロードされる(ステップS1
90)。
The RAM processing circuit 132 has a counter 136.
It is used to determine whether the amount of data in RAMA has reached a predetermined value (step S186). When the predetermined value is not reached (that is, when the area for storing data remains in RAMA), the data from the SCSI processing circuit 124 (and the hard disk 112) continues to be loaded in RAMA after the processing in the timing adjustment circuit 130. (Step S188). When the RAM A cannot receive data, the RAM processing circuit 132 causes the timing adjustment circuit 1
Switch 134 is set to connect 30 to RAMB. As a result, the data is read from the hard disk 112 and loaded into RAMB (step S1).
90).

【0090】RAM処理回路132は、RAMA内のデ
ータが内部メモリ104へ転送可能であることを通知す
る状態信号(即ち、割り込み信号)をソフトウェアドラ
イバへ送信する(ステップS192)。このとき、ステ
ップS194において、ソフトウェアドライバはCPU
102がビジー(即ち、データを転送する準備ができて
いない)か否かを判定する。CPU102が他のタスク
を処理しているためビジーならば、ソフトウェアドライ
バはCPU102がデータ処理可能になるまで待つ。C
PU102がデータを処理できるならば、ソフトウェア
ドライバは、RAM処理回路132へ、バスインターフ
ェース106をRAMAに接続するようにスイッチ13
4を設定するコマンドを送信する(ステップS19
6)。このとき、データはRAMAから内部メモリ10
4へ転送される(ステップS198)。
The RAM processing circuit 132 transmits a status signal (that is, an interrupt signal) notifying that the data in the RAM A can be transferred to the internal memory 104 to the software driver (step S192). At this time, in step S194, the software driver is the CPU
It is determined whether 102 is busy (ie, not ready to transfer data). If the CPU 102 is busy processing other tasks, the software driver waits until the CPU 102 is ready to process data. C
If the PU 102 can process the data, the software driver directs the RAM processing circuit 132 to the switch 13 to connect the bus interface 106 to RAMA.
A command for setting 4 is transmitted (step S19
6). At this time, data is transferred from RAMA to the internal memory 10.
4 is transferred (step S198).

【0091】上記ステップS190(即ち、ハードディ
スク112からRAMBへのデータ転送処理)が、ステ
ップS192〜S198と同時に実行される。一般的
に、ステップS190の実行時間の方がステップS19
2〜S198の実行時間よりも長い。RAM処理回路1
32は、ステップS198(即ち、データをRAMAか
ら内部RAMへ転送する処理)の実行が完了するとき、
ソフトウェアドライバへ状態信号を送信する(ステップ
S199)。ソフトウェアドライバは、他の処理(タス
ク)が実行可能となる(又は、他のソフトウェアモジュ
ールに対して処理を実行可能とする)。
The above step S190 (that is, the data transfer process from the hard disk 112 to the RAMB) is executed simultaneously with steps S192 to S198. Generally, the execution time of step S190 is shorter than that of step S19.
2 is longer than the execution time of S198. RAM processing circuit 1
32, when the execution of step S198 (that is, the process of transferring data from RAMA to the internal RAM) is completed,
A status signal is transmitted to the software driver (step S199). The software driver can execute another process (task) (or can execute a process for another software module).

【0092】RAM処理回路132は、カウンタ138
を用いてRAMB内のデータ量が所定値に達したか否か
を判定する(ステップS200)。所定値に達しない場
合(即ち、RAMBにデータを記憶する領域が残ってい
る場合)、ハードディスク112からのデータは、RA
MBにロードされ続ける(ステップS204)。RAM
Bがデータを受信できなくなったとき、RAM処理回路
132は、タイミング調整回路130をRAMAに再び
接続するようにスイッチ134を設定する。フローチャ
ートS180は、パスS206を通って、ステップS1
84に戻り、上記RAMAへのデータ転送に関するステ
ップが実行される。
The RAM processing circuit 132 has a counter 138.
Is used to determine whether the amount of data in RAMB has reached a predetermined value (step S200). If the predetermined value is not reached (that is, if there is an area for storing data in RAMB), the data from the hard disk 112 is RA
The MB continues to be loaded (step S204). RAM
When B becomes unable to receive data, RAM processing circuit 132 sets switch 134 to reconnect timing adjustment circuit 130 to RAMA. Flow chart S180 follows step S206 through step S206.
Returning to 84, the steps for transferring data to RAMA are performed.

【0093】これと同時に、RAM処理回路132は、
RAMB内のデータが内部メモリ104へ転送されるこ
とが可能であることを通知する状態信号をソフトウェア
ドライバへ送信する(ステップS210)。ステップS
212において、ソフトウェアドライバがCPU102
がビジー(即ち、RAMBからデータ転送ができない)
か否かを判定する。CPU102が他のタスクを処理し
ているためビジーならば、ソフトウェアドライバは、C
PU102がデータ処理可能になるまで待つ。CPU1
02がデータを処理できるならば、ソフトウェアドライ
バは、RAM処理回路132へ、バスインターフェース
106をRAMBに接続するようにスイッチ134を設
定するコマンドを送信する(ステップS214)。結果
として、RAMBに記憶されたデータは内部メモリ10
4へ転送される(ステップS216)。
At the same time, the RAM processing circuit 132
A status signal notifying that the data in the RAMB can be transferred to the internal memory 104 is transmitted to the software driver (step S210). Step S
At 212, the software driver is the CPU 102.
Is busy (that is, data cannot be transferred from RAMB)
It is determined whether or not. If the CPU 102 is busy processing another task, the software driver
Wait until the PU 102 can process data. CPU1
If 02 can process the data, the software driver sends to the RAM processing circuit 132 a command to set the switch 134 to connect the bus interface 106 to the RAMB (step S214). As a result, the data stored in RAMB is stored in the internal memory 10
4 is transferred (step S216).

【0094】上述したように、ステップS210〜S2
16は、ハードディスク112からRAMAへのデータ
転送と同時に実行可能である。一般に、ハードディスク
112からRAMAへのデータ転送時間の方がステップ
S210〜S216の実行時間よりも長い。ステップS
216の実行が完了すると、RAM処理回路132はソ
フトウェアドライバへ状態信号を送信する(ステップS
217)。ソフトウェアドライバは、他の処理(タス
ク)が実行可能となる(又は、他のソフトウェアモジュ
ールに対して処理を実行可能とする)。
As described above, steps S210 to S2
16 can be executed simultaneously with the data transfer from the hard disk 112 to the RAMA. In general, the data transfer time from the hard disk 112 to the RAMA is longer than the execution time of steps S210 to S216. Step S
When the execution of 216 is completed, the RAM processing circuit 132 transmits a status signal to the software driver (step S).
217). The software driver can execute another process (task) (or can execute a process for another software module).

【0095】(ソフトウェアドライバを介した)アプリ
ケーションソフトウェアはハードディスク112から内
部メモリ104へ転送されるデータ量を決定する。上記
処理サイクルは全ての必要なデータが内部メモリ104
へ転送されるまで続く。
The application software (via the software driver) determines the amount of data transferred from the hard disk 112 to the internal memory 104. In the above processing cycle, all necessary data are stored in the internal memory 104.
Continue until transferred to.

【0096】一般的に、RAMA及びRAMBに記憶さ
れたデータを内部メモリ104に転送する時間は、ディ
スクデータを転送する時間と比較して非常に短い。よっ
て、ディスクデータの転送中に、RAMA及びRAMB
に記憶されていたデータは内部メモリ104へ既に転送
されているため、RAMA及びRAMBはディスクデー
タの転送のために常に使用可能となる。RAMA及びR
AMBの双方がディスクデータの転送のために使用可能
でないならば、ソフトウェアドライバは、RAMA及び
RAMBの一方が使用可能となるまでディスク転送を遅
延させる。
Generally, the time for transferring the data stored in RAMA and RAMB to the internal memory 104 is very short compared with the time for transferring the disk data. Therefore, during transfer of the disk data, RAMA and RAMB
Since the data stored in the RAM has already been transferred to the internal memory 104, RAMA and RAMB are always available for transferring the disk data. RAMA and R
If both AMBs are not available for transfer of disk data, the software driver delays disk transfers until either RAMA or RAMB is available.

【0097】次に、内部メモリ104からハードディス
クへデータ転送する場合について、図12に示すフロー
チャートS230を参照して説明する。アプリケーショ
ンソフトウェアは、データを内部メモリ104から読み
出させ、ハードディスク112に転送させる命令をソフ
トウェアドライバに対して発行する。ソフトウェアドラ
イバはSCSI処理回路124及びRAM処理回路13
2に対して、初期化コマンドを発行する(ステップS2
32)。SCSI処理回路124は(SCSIコントロ
ーラ122を介して)ハードディスク112を初期化
し、データの読み出し及び転送の準備をする。RAM処
理回路132は、カウンタ136、138の値を0に設
定し、バスインターフェース106をRAMAに接続す
るようにスイッチ134を設定する。データは内部メモ
リ104からRAMAへ転送される(ステップS23
4)。
Next, the case of transferring data from the internal memory 104 to the hard disk will be described with reference to the flowchart S230 shown in FIG. The application software issues a command to the software driver to read the data from the internal memory 104 and transfer the data to the hard disk 112. The software driver is a SCSI processing circuit 124 and a RAM processing circuit 13.
2 to issue an initialization command (step S2
32). The SCSI processing circuit 124 initializes the hard disk 112 (via the SCSI controller 122) and prepares for reading and transferring data. The RAM processing circuit 132 sets the values of the counters 136 and 138 to 0, and sets the switch 134 to connect the bus interface 106 to RAMA. The data is transferred from the internal memory 104 to the RAMA (step S23).
4).

【0098】RAM処理回路132は、カウンタ136
を用いてRAMA内のデータ量が所定値に達したか否か
を判定する(ステップS236)。RAMAがデータを
更に受信できるならば、データは内部メモリ104から
読み出され続け、RAMAに記憶され続ける(ステップ
S238)。RAMAがデータを受信できなくなったと
き、RAM処理回路132は、RAMAをタイミング調
整回路130に接続するようにスイッチ134を設定す
る。SCSI処理回路124は、タイミング調整回路1
30の制御下において、RAM処理回路132からのデ
ータをハードディスク112へ転送する(ステップS2
40)。
The RAM processing circuit 132 has a counter 136.
Is used to determine whether or not the amount of data in RAMA has reached a predetermined value (step S236). If RAMA can receive more data, the data continues to be read from internal memory 104 and stored in RAMA (step S238). When RAMA can no longer receive data, RAM processing circuit 132 sets switch 134 to connect RAMA to timing adjustment circuit 130. The SCSI processing circuit 124 is the timing adjustment circuit 1
Under the control of 30, the data from the RAM processing circuit 132 is transferred to the hard disk 112 (step S2).
40).

【0099】このとき、RAM処理回路132は、RA
MBがデータを記憶できるか否かを判定する(ステップ
S242)。データ転送処理開始後、RAMBが最初に
アクセスされるとき、RAMBは内部メモリ104から
のデータを記憶できる。しかしそれ以降は、RAMBに
記憶されていたデータのハードディスク112への転送
(比較的遅い処理)が、(半導体から半導体への高速な
転送処理により)RAMAが一杯になる前に完了するた
めの十分な時間がない可能性があるため、RAMBが記
憶できなくなる可能性がある。RAMBが使用(記憶)
できないならば、RAM処理回路132は、ソフトウェ
アドライバへ非有用性(使用不可)を示す状態信号を送
信する(ステップS244)。ソフトウェアドライバ
は、状態信号を受信すると、アプリケーションソフトウ
ェア(又は、オペレーティングシステム)へ、他のタス
クを実行するように通知する(ステップS246)。R
AMBが使用(記憶)可能ならば、RAM処理回路13
2は、ソフトウェアドライバへ有用性(使用可)に関す
る状態信号を送信する(ステップS250)。
At this time, the RAM processing circuit 132 determines that the RA
It is determined whether the MB can store data (step S242). RAMB can store data from internal memory 104 when RAMB is first accessed after the start of the data transfer process. However, after that, the transfer of the data stored in the RAMB to the hard disk 112 (relatively slow processing) is sufficient to be completed before the RAMA is full (due to the high-speed semiconductor-to-semiconductor transfer processing). RAMB may not be able to be stored because there may not be enough time. Used by RAMB (memory)
If not possible, the RAM processing circuit 132 transmits a status signal indicating non-usefulness (unusable) to the software driver (step S244). Upon receiving the status signal, the software driver notifies the application software (or the operating system) to perform another task (step S246). R
If the AMB can be used (stored), the RAM processing circuit 13
2 transmits a status signal regarding usefulness (usable) to the software driver (step S250).

【0100】ステップS252において、ソフトウェア
ドライバはCPU102がビジー(即ち、データ転送が
不可能である)か否かを判定する。CPU102が転送
不可能であれば、ソフトウェアドライバはCPU102
が転送可能になるまで待つ。CPU102が転送可能で
あれば、ソフトウェアドライバは、RAM処理回路13
2へ、バスインターフェース106をRAMBに接続す
るようにスイッチ134を設定するコマンドを送信す
る。それにより、データは内部メモリ104からRAM
Bへ転送される(ステップS254)。
In step S252, the software driver determines whether the CPU 102 is busy (that is, data transfer is impossible). If the CPU 102 cannot transfer, the software driver
Wait until can be transferred. If the CPU 102 can transfer, the software driver is the RAM processing circuit 13
2, to send a command to set switch 134 to connect bus interface 106 to RAMB. As a result, the data is transferred from the internal memory 104 to the RAM.
It is transferred to B (step S254).

【0101】RAM処理回路132は、カウンタ138
を用いてRAMB内のデータ量が所定値に達したか否か
を判定する(ステップS256)。所定値に達していな
いとき(即ち、RAMBがデータを更に受信できると
き)、ステップS254は繰り返され、データは内部メ
モリ104から読み出され続け、RAMBに記憶され続
ける(ステップS260)。RAMBがデータを受信で
きなくなったとき、RAM処理回路132は、RAMB
をタイミング調整回路130に接続するようにスイッチ
134を設定する。SCSI処理回路124は、タイミ
ング調整回路130の制御下において、データをハード
ディスク112へ転送する(ステップS262)。
The RAM processing circuit 132 has a counter 138.
Is used to determine whether the amount of data in RAMB has reached a predetermined value (step S256). When the predetermined value has not been reached (that is, when RAMB can further receive the data), step S254 is repeated, and the data continues to be read from the internal memory 104 and stored in the RAMB (step S260). When the RAMB cannot receive data, the RAM processing circuit 132
The switch 134 is set so as to connect to the timing adjustment circuit 130. The SCSI processing circuit 124 transfers the data to the hard disk 112 under the control of the timing adjustment circuit 130 (step S262).

【0102】このとき、RAM処理回路132は、RA
MAがデータを記憶できるかどうかを判定する(ステッ
プS264)。RAMAが使用(記憶)できないならば
(例えば、比較的遅い転送率(転送速度)のため、ハー
ドディスク112へのデータの転送がまだ完了していな
い場合)、RAM処理回路132はソフトウェアドライ
バへ、内部メモリ104からのデータ転送を一時的に中
断する状態信号を送信する(ステップS266)。ソフ
トウェアドライバは、状態信号を受信すると、アプリケ
ーションソフトウェア(又は、オペレーティングシステ
ム)へ通知する(ステップS268)。アプリケーショ
ンソフトウェア(又は、オペレーティングシステム)は
データの転送をする必要がないため、他のタスクを実行
することができる。
At this time, the RAM processing circuit 132 causes the RA
It is determined whether the MA can store the data (step S264). If the RAMA cannot be used (stored) (for example, if the data transfer to the hard disk 112 is not completed yet due to a relatively low transfer rate (transfer speed)), the RAM processing circuit 132 is internally transferred to the software driver. A status signal for temporarily interrupting the data transfer from the memory 104 is transmitted (step S266). Upon receiving the status signal, the software driver notifies the application software (or operating system) (step S268). The application software (or operating system) does not need to transfer data, so it can perform other tasks.

【0103】RAMAがデータを受信可能ならば、RA
M処理回路132は、ソフトウェアドライバへ状態信号
を送信する(ステップS270)。ソフトウェアドライ
バはCPU102がビジーかどうかを判定する(ステッ
プS272)。ビジーならば(即ち、転送不可能)、ソ
フトウェアドライバは、CPUがビジーの間待つ。CP
U102がビジーでないならば、RAM処理回路132
は、バスインターフェース106をRAMAに再び接続
するようにスイッチ134を設定する。データは内部メ
モリ104からRAMAへ転送され得る。フローチャー
ト230は、ステップS234に戻り、アルゴリズム全
体が再び繰り返される。内部メモリからRAMAへのデ
ータ転送は、RAMBからハードディスク112へのデ
ータ転送と同時に処理される。
If RAMA can receive the data, RA
The M processing circuit 132 transmits a status signal to the software driver (step S270). The software driver determines whether the CPU 102 is busy (step S272). If it is busy (ie, not transferable), the software driver waits while the CPU is busy. CP
If U102 is not busy, RAM processing circuit 132
Sets switch 134 to reconnect bus interface 106 to RAMA. Data may be transferred from internal memory 104 to RAMA. The flowchart 230 returns to step S234 and the entire algorithm is repeated again. The data transfer from the internal memory to RAMA is processed simultaneously with the data transfer from RAMB to the hard disk 112.

【0104】(ソフトウェアドライバを介した)アプリ
ケーションソフトウェアはハードディスク112から内
部メモリ104へ転送されるべきデータ量を決定する。
上記処理サイクルは全ての必要なデータがハードディス
ク112へ転送されるまで続く。
The application software (via the software driver) determines the amount of data to be transferred from hard disk 112 to internal memory 104.
The above processing cycle continues until all necessary data has been transferred to the hard disk 112.

【0105】この発明の特徴は、ハードディスク112
との間のデータ転送がCPU102の代わりにデータ転
送装置110により処理されることである。CPU10
2は、ハイレベルコマンド(例えば、転送処理の開始及
び終了)をデータ転送装置110に対して発行すればよ
い。CPU102は、データ転送の詳細を監視するだけ
でよく、実際に処理をする必要はない。結果として、ハ
ードディスク112とRAMA又はRAMBとの間でデ
ータを転送している間、CPU102は他のタスクを実
行できる。
The feature of the present invention is that the hard disk 112 is
The data transfer between and is processed by the data transfer device 110 instead of the CPU 102. CPU10
2 may issue a high level command (for example, start and end of transfer processing) to the data transfer device 110. The CPU 102 only needs to monitor the details of the data transfer and does not have to actually process it. As a result, the CPU 102 can perform other tasks while transferring data between the hard disk 112 and RAMA or RAMB.

【0106】図10に示すコンピュータシステム100
のSCSIサイクルと内部メモリサイクルとの間のタイ
ミング関係を図13に示す。タイミング図280は、ハ
ードディスク112とRAMA/RAMBとの間のデー
タ転送を示す。図13において、参照符号282、28
3は、ハードディスク112及びRAMA間のデータの
転送期間に対応し、参照符号286、287は、ハード
ディスク112とRAMBとの間のデータの転送期間に
対応する。RAMA及びRAMB間におけるスイッチの
切替期間は、参照符号285に示すように、データの転
送期間よりも非常に短い。これは、切替がRAM処理回
路132の半導体素子を用いて電気的に処理されるから
である。
Computer system 100 shown in FIG.
13 shows the timing relationship between the SCSI cycle and the internal memory cycle. Timing diagram 280 illustrates data transfer between hard disk 112 and RAMA / RAMB. In FIG. 13, reference numerals 282 and 28
Reference numeral 3 corresponds to a data transfer period between the hard disk 112 and RAMA, and reference numerals 286 and 287 correspond to a data transfer period between the hard disk 112 and RAMB. The switching period of the switch between RAMA and RAMB is much shorter than the data transfer period, as indicated by reference numeral 285. This is because the switching is electrically processed using the semiconductor elements of the RAM processing circuit 132.

【0107】タイミング図270は、内部メモリ104
とRAMA/RAMBとの間のデータ転送を示す。図1
3において、参照符号272、273は、内部メモリ1
04とRAMAとの間のデータの転送期間に対応し、参
照符号276、277は、内部メモリ104とRAMB
との間のデータの転送期間に対応する。内部メモリへの
転送期間272、273、276、277は、ハードデ
ィスクからの転送期間282、283、286、287
よりも非常に短い。上述したように、ハードディスクの
転送期間282、283、286、287の間、コンピ
ュータシステム100は他の機能(例えば、オペレーテ
ィングシステム又はアプリケーションプログラムの実
行)を実行できる。結果として、コンピュータシステム
のスループットは従来のシステムよりも向上する。
Timing diagram 270 shows internal memory 104.
Shows the data transfer between and RAMA / RAMB. FIG.
3, reference numerals 272 and 273 denote internal memory 1
04 and RAMA, the reference numerals 276 and 277 correspond to the data transfer period between the internal memory 104 and the RAMB.
Corresponds to the data transfer period between and. The transfer periods 272, 273, 276, 277 to the internal memory are the transfer periods 282, 283, 286, 287 from the hard disk.
Much shorter than. As mentioned above, during the hard disk transfer periods 282, 283, 286, 287, the computer system 100 may perform other functions (eg, operating system or application program execution). As a result, the throughput of computer systems is improved over conventional systems.

【0108】RAMA及びRAMBのサイズは、性能と
コストの関数である。例えば、RAMA及びRAMBの
サイズが128キロバイトならば、適当なコストで適当
な性能が得られる。RAMA及びRAMBのサイズは異
なってもよく、また、RAMA及びRAMBのフルサイ
ズを使用する必要はない。例えば、図11に示すステッ
プS186、S200と図12に示すステップS236
及びS256の所定値は、RAMA及びRAMBのフル
サイズ(例えば、128キロバイト)より小さくてもよ
い。
The size of RAMA and RAMB is a function of performance and cost. For example, if the size of RAMA and RAMB is 128 kilobytes, then appropriate performance can be obtained at an appropriate cost. RAMA and RAMB may be of different sizes, and it is not necessary to use the full size of RAMA and RAMB. For example, steps S186 and S200 shown in FIG. 11 and step S236 shown in FIG.
And the predetermined value of S256 may be smaller than the full size of RAMA and RAMB (eg, 128 kilobytes).

【0109】RAMA及びRAMBはキャッシュメモリ
ではない。よって、ヒット及びミスを検出し、頻繁なヒ
ットに対応してメモリの再配置を行うための回路を備え
る必要がない。この発明の回路は単純で実行速度が速
い。
RAMA and RAMB are not cache memories. Therefore, it is not necessary to provide a circuit for detecting hits and misses and rearranging the memory in response to frequent hits. The circuit of the invention is simple and fast to execute.

【0110】従来、ディスク転送のスピードアップの目
的でバッファを使用するシステムは存在する。例えば、
スループットを向上するために、多数のハードディスク
が半導体メモリを使用するシステム、コンピュータシス
テムがシステムメモリの一部をバッファとして使用する
システム等が存在する。しかし、これらのシステムはR
AMA/RAMBアーキテクチャ及びこれらに関連する
ソフトウェアを使用していない。それら従来のシステム
の性能は、この発明のシステムの性能よりも劣る。
Conventionally, there are systems that use buffers for the purpose of speeding up disk transfer. For example,
In order to improve the throughput, there are a system in which a large number of hard disks use semiconductor memory, a system in which a computer system uses a part of the system memory as a buffer, and the like. However, these systems
It does not use the AMA / RAMB architecture and related software. The performance of these conventional systems is inferior to that of the system of the present invention.

【0111】この発明のアプリケーションの1つとし
て、ハードディスクに記憶された図形ファイルの高速な
読み出し処理をする、マイクロソフト社の”MS”Wi
ndowsを基にしたソフトウェアアプリケーションが
ある。多くの最新のコンピュータの設計では、ディスプ
レイメモリ(ビデオRAM、即ち”VRAM”)は、ア
ナログ信号に変換されるデジタル画像情報及び表示装置
(コンピュータモニタ)に表示されるデジタル画像情報
を記憶するために用いられる。MSWindows下で
は、アプリケーションはコンピュータ画面上でウインド
ウとして表示される。ウインドウのサイズは、モニタの
フルサイズから、モニタの表示領域の小部分まで多様で
ある。よって、表示メモリの全領域又は一部分はデジタ
ル画像情報を記憶するために使用される。
As one of the applications of the present invention, "MS" Wi of Microsoft Corp., which performs high-speed reading processing of graphic files stored in a hard disk.
There are software applications based on Windows. In many modern computer designs, a display memory (video RAM or "VRAM") is used to store digital image information that is converted to analog signals and displayed on a display device (computer monitor). Used. Under MS Windows, applications are displayed as windows on the computer screen. The window size can vary from the full size of the monitor to a small portion of the monitor's display area. Thus, all or part of the display memory is used to store digital image information.

【0112】一般的なコンピュータシステムにおけるV
RAMのサイズは約1メガバイトである。画像が表示さ
れる表示ウインドウが小さいならば、VRAMにおいて
デジタル画像情報が占める量は1メガバイトよりも少な
い。しかし、ハードディスクに記憶される図形ファイル
は何メガバイトもの図形データを備える大きなファイル
である。よって、表示ウインドウの大きさに関わらず、
ハードディスク内の図形ファイルのサイズはVRAMに
おけるデジタル画像情報のサイズよりも非常に大きい。
V in a general computer system
The size of RAM is about 1 megabyte. If the display window in which the image is displayed is small, then the amount of digital image information in the VRAM will be less than 1 megabyte. However, the graphics file stored on the hard disk is a large file with many megabytes of graphics data. Therefore, regardless of the size of the display window
The size of the graphic file in the hard disk is much larger than the size of the digital image information in the VRAM.

【0113】ウインドウ上で画像をスクロールしたいな
らば、ハードディスクに記憶された図形ファイルのデー
タが表示メモリ(VRAM)にダウンロードされる必要
がある。スクロールのスピードは、図形データをダウン
ロードするスピードにより制限される。よって、ハード
ディスクと表示メモリとの間で高速にデータ転送するシ
ステムが望ましい。
If it is desired to scroll the image on the window, the graphic file data stored in the hard disk must be downloaded to the display memory (VRAM). The scrolling speed is limited by the speed of downloading the graphic data. Therefore, a system that transfers data at high speed between the hard disk and the display memory is desirable.

【0114】上記実施の形態の変形例として、システム
RAMの使用可能サイズがVRAMのサイズよりも大き
くできることより(MSWindowsが動作するコン
ピュータにおいて最低4メガバイト)、システムRAM
を中間記憶領域として使用してもよい。ハードディスク
から読み出され、システムRAMにロードされた図形デ
ータの量は、VRAMのサイズを上回る。次に表示され
る図形データの一部が、表示ウインドウに表示されてい
る図形データと少しだけ異なるとき、図形データは、シ
ステムRAMからVRAMへ転送可能である。結果とし
て、この状況では、ディスクデータ転送を始める必要は
ない。RAM対VRAMの転送に関するハードウェア及
びソフトウェアにおけるオーバーヘッドは低いため、シ
ステムRAMとVRAMとの間の図形データの転送は速
い。よって、スループットが向上する。しかし、スクロ
ールのスピードが速いため、システムRAMにまだロー
ドされていない図形データが必要ならば、ディスクデー
タ転送をしなければならない。
As a modification of the above-described embodiment, since the usable size of the system RAM can be made larger than the size of VRAM (at least 4 megabytes in a computer running MS Windows), the system RAM
May be used as an intermediate storage area. The amount of graphic data read from the hard disk and loaded into the system RAM exceeds the size of the VRAM. When a part of the graphic data displayed next is slightly different from the graphic data displayed in the display window, the graphic data can be transferred from the system RAM to the VRAM. As a result, there is no need to initiate a disk data transfer in this situation. Transferring graphics data between system RAM and VRAM is fast due to the low hardware and software overhead associated with RAM to VRAM transfers. Therefore, the throughput is improved. However, since the scrolling speed is high, if graphic data not yet loaded in the system RAM is required, disk data transfer must be performed.

【0115】IBM互換パーソナルコンピュータにおい
て、ハードディスクは、ROMに格納されたデバイスサ
ービスルーチン(DSR)から操作される。このルーチ
ンは、オペレーティングシステム、デバイスドライバ、
シェルを構成するBIOSの一部分である。ハードディ
スクDSRは、INT13の起動によりアクセスされ
る。DSRは、個々の標準ハードディスクコントローラ
と通信し、それらを制御する。DSRは、アプリケーシ
ョンプログラムのハードディスクに対する、読み込み、
書き込み、初期設定、テスト、フォーマット等の多数の
動作を可能とする。DSRは、アプリケーションプログ
ラムに状態情報(例えば、エラーコード)を返す。
In the IBM compatible personal computer, the hard disk is operated by the device service routine (DSR) stored in the ROM. This routine calls the operating system, device driver,
It is a part of the BIOS that constitutes the shell. The hard disk DSR is accessed by starting the INT 13. The DSR communicates with and controls the individual standard hard disk controllers. DSR reads the application program from the hard disk,
It enables many operations such as writing, initial setting, testing, and formatting. The DSR returns status information (eg error code) to the application program.

【0116】MSWindowsのいくつかのバージョ
ンで上記動作を実行する多数のソフトウェアアプリケー
ションが、ハードディスクとシステムRAMとの間でデ
ータを転送するためにINT13を使用する。しかし、
この方法によるデータ転送は遅い。なぜなら、CPUは
MSWindowsのコードの実行において多くのサイ
クルを費やす必要があり、ハードディスクを最大限に活
用することができない。よってハードディスクは、デー
タ転送中、度々休止し、CPUサイクルを待たなければ
ならない。また、他の理由としては、INT13及び従
来のハードディスクインターフェースはデータ転送を処
理するための多くのCPUサイクルを必要とし、それに
より、CPU資源が基本操作のために使用される。結果
として、アプリケーションプログラムは、CPU資源に
関して従来のDSRと競合するため、実行速度は遅くな
る。よって、この発明のデータ転送装置は、ハードディ
スクとシステムRAM(又は、VRAM)との間のデー
タ転送を改良するために有益なものとなり得る。
Many software applications that perform the above operations on some versions of MS Windows use INT 13 to transfer data between the hard disk and system RAM. But,
Data transfer by this method is slow. This is because the CPU has to spend a lot of cycles in executing MS Windows code and cannot make full use of the hard disk. Therefore, the hard disk often has to pause and wait for CPU cycles during data transfer. Also, for another reason, the INT 13 and conventional hard disk interfaces require many CPU cycles to process the data transfer, thereby using CPU resources for basic operations. As a result, application programs compete with conventional DSR for CPU resources, resulting in slower execution speed. Thus, the data transfer device of the present invention can be useful for improving data transfer between a hard disk and system RAM (or VRAM).

【0117】この発明を用いてMSWindows環境
において図形データを転送するよう設計されたコンピュ
ータシステム340を図14に示す。コンピュータシス
テム340は、マザーボード(図示せず)と、モニタ
(図示せず)と、キーボード(図示せず)とを備えるパ
ーソナルコンピュータ356を備える。コンピュータシ
ステム340は、オペレーティングシステム354(例
えば、コンピュータの基本入出力システム(BIOS)
と共に動作するマイクロソフト社のMS−DOS等)上
で動作するMSWindows342を備える。オペレ
ーティングシステム354は、パーソナルコンピュータ
356の資源を監視及び制御する。MSWindows
は、図14において破線344〜347として示される
多数のプログラムモジュール及び手続きコールのレイヤ
を備える複雑なソフトウェアである。
A computer system 340 designed to transfer graphical data in an MS Windows environment using the present invention is shown in FIG. The computer system 340 includes a personal computer 356 that includes a motherboard (not shown), a monitor (not shown), and a keyboard (not shown). The computer system 340 is an operating system 354 (eg, a computer's basic input / output system (BIOS)).
MS Windows 342 that operates on Microsoft's MS-DOS etc.) The operating system 354 monitors and controls the resources of the personal computer 356. MS Windows
Is complex software with a number of program modules and layers of procedure calls shown as dashed lines 344-347 in FIG.

【0118】コンピュータシステム340は、従来のハ
ードディスクインターフェース364に接続された従来
のハードディスク360を備える。このインターフェー
スはパーソナルコンピュータ356において周辺装置用
バス(例えば、ISAバス、PCIバス)に挿入(接
続)されたプリント回路ボードでもよい。その回路ボー
ドはパーソナルコンピュータ356がハードディスク3
60を制御及びアクセス可能とする電気素子(例えば、
ハードディスク制御チップ)を備える。ハードディスク
ドライバと呼称される従来のソフトウェアプログラム3
66は、ハードディスク360及びハードディスクコン
トローラの構成及び構造の詳細を知ることなく、アプリ
ケーションプログラムがハードディスク360を制御及
びアクセス可能とする。上述のように、ハードディスク
ドライバはコンピュータ356のBIOS内に組み込ま
れ得る。しかし、オペレーティングシステムから離れて
動作するセパレートハードディスクドライバを持つこと
も可能である。
Computer system 340 includes a conventional hard disk 360 connected to a conventional hard disk interface 364. This interface may be a printed circuit board inserted (connected) to a peripheral device bus (eg, ISA bus, PCI bus) in the personal computer 356. As for the circuit board, the personal computer 356 is the hard disk 3
Electrical elements that allow 60 to be controlled and accessed (eg,
Hard disk control chip). Conventional software program 3 called hard disk driver
66 enables an application program to control and access the hard disk 360 without knowing the details of the configurations and structures of the hard disk 360 and the hard disk controller. As mentioned above, the hard disk driver may be incorporated into the BIOS of computer 356. However, it is possible to have a separate hard disk driver that works separately from the operating system.

【0119】アプリケーション380、381のような
アプリケーションは、MSWindows342上で動
作する。アプリケーション380は、MSWindow
s342及びオペレーティングシステム354における
プログラムモジュールの長いチェーンを通して、ハード
ディスクドライバ366と通信する。図14において、
ハードディスクドライバ366は、破線344〜347
及びオペレーティングシステム354の一部の下に位置
するものとして示される。上述したように、従来のハー
ドディスクドライバ366はハードディスク360との
間のデータ転送において効果的ではない。更に、アプリ
ケーション380とハードディスクドライバ366との
間の通信は、MSWindowsモジュールと、オペレ
ーティングシステム354の少なくとも一部とを通らな
ければならない。結果として、データ転送は非常に遅く
なる。
Applications such as applications 380 and 381 run on MSWindows 342. Application 380 is MS Windows
Communicates with the hard disk driver 366 through a long chain of program modules in s342 and operating system 354. In FIG.
The hard disk driver 366 has broken lines 344 to 347.
And underneath a portion of operating system 354. As mentioned above, the conventional hard disk driver 366 is not effective in transferring data to and from the hard disk 360. Moreover, communication between the application 380 and the hard disk driver 366 must go through the MSWindows module and at least a portion of the operating system 354. As a result, data transfer is very slow.

【0120】この発明に従うディスク処理システムは、
ハードディスク370と、データ転送インターフェース
372と、データ転送ドライバ(ソフトウェア)374
とを備える。データ転送インターフェース372は、図
10に示すデータ転送装置110に対応する。この発明
において、データ転送ドライバ374と、MSWind
ows342及びオペレーティングシステム354との
間の相互作用は最小限にするのが望ましい。これにより
必要なオーバーヘッドが少なくなるため、実行スピード
は上がる。図14において、データ転送ドライバ374
は、破線344だけの下に配置されるように示される。
よって、アプリケーション380は、MSWindow
sモジュールの長いチェーンを通ることなく、データ転
送ドライバ374にアクセスできる。
The disk processing system according to the present invention comprises:
Hard disk 370, data transfer interface 372, data transfer driver (software) 374
And The data transfer interface 372 corresponds to the data transfer device 110 shown in FIG. In the present invention, the data transfer driver 374 and the MSWind
It is desirable to minimize the interaction between ows 342 and operating system 354. This reduces the overhead required and speeds up execution. In FIG. 14, a data transfer driver 374
Are shown to be located below dashed line 344 only.
Therefore, the application 380 is
The data transfer driver 374 can be accessed without going through a long chain of s-modules.

【0121】このシステムにおいて、データ転送ドライ
バ374は、FGB.DLL及びMDC.DRVという
2つのプログラムモジュールを備える。MDC.DRV
は、ハードディスク370を直接的に制御するドライバ
プログラムである。FGB.DLLは、アプリケーショ
ン380とMDC.DRVとの間のインターフェースを
供給するWindowsダイナミックリンクライブラリ
である。このシステムにおいて、MDC.DRVは、従
来のハードディスクドライバ及びオペレーティングシス
テム354に組み込まれているディスク関連ルーチンに
対応する。MDC.DRVは、図11、12に示すフロ
ーチャートに従いデータ転送インターフェース372と
相互作用する。
In this system, the data transfer driver 374 is the FGB. DLL and MDC. It has two program modules called DRV. MDC. DRV
Is a driver program that directly controls the hard disk 370. FGB. DLL includes application 380 and MDC. A Windows dynamic link library that provides the interface to DRV. In this system, MDC. DRV corresponds to conventional hard disk drivers and disk-related routines built into operating system 354. MDC. The DRV interacts with the data transfer interface 372 according to the flowcharts shown in FIGS.

【0122】この発明に従うアプリケーション380と
ハードディスク370との間の相互作用を示すフローチ
ャートS400を図15に示す。この実施の形態におい
て、図11及び図12に示される”所定値”は、RAM
A及びRAMBのフルサイズ(即ち、128キロバイ
ト)が設定されていると仮定する。また、図形データ
は、システムRAMのような中間的な記憶媒体を用いる
代わりに、直接的にVRAMに書き込まれると仮定す
る。アプリケーション380は、MSWindows下
の表示ウインドウのサイズと、ハードディスク370に
おける関連した図形データファイルの位置(例えば、デ
ィレクトリ名とファイル名)を決定する。アプリケーシ
ョン380はFGB.DLLをコールし、適当なパラメ
ータを送信する(ステップS404)。パラメータの例
としては、ディレクトリ名とファイル名、図形データの
サイズ、ウインドウの位置、等がある。FGB.DLL
はMDC.DRVをコールする(ステップS406)。
上述したように、MDC.DRVはオペレーティングシ
ステムをコールすることなく、データ転送インターフェ
ース372を直接的に制御する。
FIG. 15 shows a flowchart S400 showing the interaction between the application 380 and the hard disk 370 according to the present invention. In this embodiment, the "predetermined value" shown in FIGS. 11 and 12 is the RAM
Assume that the full size of A and RAMB (ie 128 kilobytes) is set. It is also assumed that the graphic data is written directly to VRAM instead of using an intermediate storage medium such as system RAM. The application 380 determines the size of the display window under MS Windows and the location (eg, directory name and file name) of the associated graphic data file on the hard disk 370. The application 380 is FGB. The DLL is called and appropriate parameters are transmitted (step S404). Examples of parameters include a directory name and a file name, the size of graphic data, the position of a window, and the like. FGB. DLL
Is MDC. Call DRV (step S406).
As described above, MDC. DRV directly controls data transfer interface 372 without calling the operating system.

【0123】MDC.DRVはデータ転送インターフェ
ース372へ、ヘッダ情報をハードディスク370に要
求するコマンドを送信する(ステップS408)。ヘッ
ダ情報は、一般的にハードディスク370の所定の位置
にあり、ディレクトリ名、ファイル名、各ファイルのサ
イズ、各ファイルの開始アドレス等の情報を備える。ヘ
ッダ情報は、MDC.DRVを介してFGB.DLLへ
送信される(ステップS412)。
MDC. The DRV transmits a command requesting header information to the hard disk 370 to the data transfer interface 372 (step S408). The header information is generally located at a predetermined position on the hard disk 370 and includes information such as a directory name, a file name, the size of each file, and the start address of each file. The header information is MDC. FGB. It is transmitted to the DLL (step S412).

【0124】ヘッダ情報を受信すると、FGB.DLL
はVRAMへ送信される図形データの位置及びサイズを
判定する。ステップS416において、FGB.DLL
はMDC.DRVへ、ハードディスク370の指定され
た位置から必要量の図形データを要求するコマンドを送
信する。RAMA及びRAMBは双方とも128キロバ
イトのため、MDC.DRVは、ハードディスク370
から128キロバイトのデータを読み出すためにデータ
転送インターフェース372を制御する(ステップS4
18)。データ転送は多くのCPUサイクルを必要とす
るため、ハードディスクからデータを読み出す間、MD
C.DRVはFGB.DLL又はMSWindowsに
他のタスクを実行するよう通知する(ステップS42
0)。結果として、データの読み出しは他のアプリケー
ションのMSWindowsモジュールと同時に実行可
能となる。
When the header information is received, FGB. DLL
Determines the position and size of the graphic data transmitted to the VRAM. In step S416, the FGB. DLL
Is MDC. A command for requesting the required amount of graphic data is transmitted from the designated position on the hard disk 370 to the DRV. Since both RAMA and RAMB are 128 kilobytes, MDC. DRV is a hard disk 370
The data transfer interface 372 is controlled to read 128 kilobytes of data from (step S4
18). Data transfer requires many CPU cycles, so while reading data from the hard disk, MD
C. DRV is FGB. Notify the DLL or MS Windows to execute another task (step S42).
0). As a result, reading of data can be performed simultaneously with the MSWindows module of another application.

【0125】データ転送インターフェース372は、
(カウンタを通して)RAMA又はRAMBが一杯(フ
ル)か否かを監視し続ける(ステップS422)。12
8キロバイトのデータの読み出しがまだ完了していない
ならば、CPU資源は他のソフトウェアプログラムによ
り使用可能となる。128キロバイトのデータが読み出
されたとき、データ転送インターフェース372はMD
C.DRVに通知する(ステップS424)。MDC.
DRVは、ハードディスク370からデータを更に読み
出す必要があるか否か判定する(ステップS426)。
更にデータを読み出す必要があれば、MDC.DRVは
データ転送インターフェース372に、ハードディスク
370から128キロバイトのデータを読み出し、RA
MA/RAMBのうち前回と異なる方へ転送することを
要求するコマンドを送信する(ステップS428)。M
DC.DRVは先に読み出された(RAMA又はRAM
Bに記憶された)128キロバイトのデータをFGB.
DLLに送信する(ステップS430)。次に、FG
B.DLLはそのデータをVRAMに転送する(ステッ
プS432)。フローチャートS400はステップS4
20へ戻る(即ち、他のソフトウェアを実行可能とす
る)。
The data transfer interface 372 is
It continues to monitor whether RAMA or RAMB is full (through the counter) (step S422). 12
CPU resources are made available to other software programs if the 8 kilobytes of data have not yet been read. When the data of 128 kilobytes is read, the data transfer interface 372 sends the MD
C. The DRV is notified (step S424). MDC.
The DRV determines whether more data needs to be read from the hard disk 370 (step S426).
If more data needs to be read, MDC. The DRV reads 128 kilobytes of data from the hard disk 370 to the data transfer interface 372, and RA
A command requesting transfer to one of MA / RAMB different from the previous one is transmitted (step S428). M
DC. DRV was previously read (RAMA or RAM
128 kilobytes of data (stored in B) in FGB.
It is transmitted to the DLL (step S430). Next, FG
B. The DLL transfers the data to the VRAM (step S432). Flow chart S400 is step S4
Return to 20 (ie, allow other software to run).

【0126】ハードディスク370から更にデータを読
み出す必要がない場合、MDC.DRVは先に読み出さ
れた(RAMA又はRAMBに記憶された)128キロ
バイトのデータをFGB.DLLに送信する(ステップ
S436)。次に、FGB.DLLはそのデータをVR
AMに送信する(ステップS438)。FGB.DLL
はアプリケーション380に戻る(ステップS44
0)。
If it is not necessary to read further data from the hard disk 370, MDC. The DRV transfers the previously read 128 kilobytes of data (stored in RAMA or RAMB) to FGB. The data is transmitted to the DLL (step S436). Next, FGB. DLL sends the data to VR
It transmits to AM (step S438). FGB. DLL
Returns to application 380 (step S44)
0).

【0127】FGB.DLLとMDC.DRVとの間の
作業分担については、上述のフローチャートにおいて説
明されたものに限定されず変更可能である。この実施の
形態において、FGB.DLLは、必要なデータ量をM
DC.DRVに通知し、MDC.DRVに必要量が読み
出されるとき、データ転送を終了させるよう判定する。
この判定はFGB.DLLによって実行されてもよい。
ここに示した変更及び他の変更はこの技術分野の専門家
により容易になされるため、ここでの更なる記述は省略
する。
FGB. DLL and MDC. The work sharing with the DRV is not limited to the one described in the above-mentioned flowchart and can be changed. In this embodiment, FGB. The DLL uses the required amount of data M
DC. DRV is notified and MDC. When the required amount is read to the DRV, it is determined to end the data transfer.
This determination is FGB. It may be executed by DLL.
Modifications shown and others are readily made by one of ordinary skill in the art and will not be described further herein.

【0128】MDC.DRVは、VRAM又はシステム
RAMからハードディスク370へのデータ転送を処理
することも可能である。この場合のフローチャートは図
15のフローチャートS400及び図12のフローチャ
ートS230に示される情報を用いて、この技術分野の
専門家によって容易に作成可能であるため、このフロー
チャートは省略する。
MDC. DRV can also handle data transfer from VRAM or system RAM to hard disk 370. The flowchart in this case can be easily created by an expert in this technical field by using the information shown in the flowchart S400 of FIG. 15 and the flowchart S230 of FIG. 12, and therefore this flowchart is omitted.

【0129】上記説明により、データ転送インターフェ
ース372(ハードウェア)と関連したデータ転送ドラ
イバ374(ソフトウェア)は、ハードディスク370
とVRAM(又はシステムRAM)との間のデータ転送
のスループットを向上させるため、共同して動作する。
スタンドアロン型のハードウェアはスループットを上げ
ることができる。ソフトウェアドライバは、他のアプリ
ケーション及びオペレーティングシステムにコンピュー
タの資源を有効活用させる。
As described above, the data transfer driver 374 (software) associated with the data transfer interface 372 (hardware) is the hard disk 370.
And VRAM (or system RAM) work together to improve throughput of data transfers.
Stand-alone hardware can increase throughput. Software drivers allow other applications and operating systems to make efficient use of computer resources.

【0130】この発明は、アップル社のコンピュータ及
びマイクロソフト社のWindowsの異なるバージョ
ン(例えば、バージョン3.1、NT、Winodow
s95)のような、既存及び将来開発される種々のコン
ピュータにおいて使用可能である。
The present invention is directed to different versions of Apple Computer and Microsoft Windows (eg, version 3.1, NT, Windows).
s95), and can be used in various existing and future computers.

【0131】[0131]

【発明の効果】この発明によれば外部記憶装置とCPU
との間での高速データ転送が可能となり、高速データ処
理が可能となる。
According to the present invention, an external storage device and a CPU
It becomes possible to perform high-speed data transfer between them and high-speed data processing.

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

【図1】この発明の第1の実施の形態に係るデータ処理
装置の構成を示すブロック図である。
FIG. 1 is a block diagram showing a configuration of a data processing device according to a first embodiment of the present invention.

【図2】図1に示す転送コントローラの構成を示すブロ
ック図である。
FIG. 2 is a block diagram showing a configuration of a transfer controller shown in FIG.

【図3】ハードディスクからのデータの読み出しと、読
み出したデータの処理のタイミング関係を示すタイミン
グチャートである。
FIG. 3 is a timing chart showing the timing relationship between the reading of data from the hard disk and the processing of the read data.

【図4】地図データを構成する複数のブロックを説明す
る図である。
FIG. 4 is a diagram illustrating a plurality of blocks forming map data.

【図5】地図データで定義される地図の上にウインドウ
を開いた状態を示す図である。
FIG. 5 is a diagram showing a state in which a window is opened on a map defined by map data.

【図6】地図上でのウインドウの動きを示す図である。FIG. 6 is a diagram showing movement of windows on a map.

【図7】ウインドウ内の画像のシフト動作を示す図であ
る。
FIG. 7 is a diagram showing a shift operation of an image in a window.

【図8】ウインドウ内の画像のシフト動作を示す図であ
り、(A)はシフト前の画像を示し、(B)はシフト後
の画像を示す。
FIG. 8 is a diagram showing a shift operation of an image in a window, (A) shows an image before shift, and (B) shows an image after shift.

【図9】データ処理装置の変形例を示すブロック図であ
る。
FIG. 9 is a block diagram showing a modification of the data processing device.

【図10】この発明の第2の実施の形態に係るデータ転
送装置を組み込んだコンピュータシステムのブロック図
である。
FIG. 10 is a block diagram of a computer system incorporating a data transfer device according to a second embodiment of the present invention.

【図11】データ転送装置の動作を示すフローチャート
である。
FIG. 11 is a flowchart showing an operation of the data transfer device.

【図12】データ転送装置の動作の他のモードを示すフ
ローチャートである。
FIG. 12 is a flowchart showing another mode of operation of the data transfer device.

【図13】データ転送装置の動作中における種々のサイ
クル間のタイミングの関係を示す図である。
FIG. 13 is a diagram showing a timing relationship between various cycles during the operation of the data transfer device.

【図14】この発明のデータ転送インターフェースとソ
フトウェアドライバとを備え、Windowsに基づく
環境において動作するコンピュータシステムのブロック
図である。
FIG. 14 is a block diagram of a computer system that includes a data transfer interface of the present invention and a software driver and operates in a Windows-based environment.

【図15】図14に示すシステムの動作を示すフローチ
ャートである。
15 is a flowchart showing the operation of the system shown in FIG.

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

11・・・CPU、12・・・第1のバス、13・・・ROM、
14・・・VRAM(ビデオRAM)、15・・・表示装置、
21・・・ハードディスク装置、22・・・SCSIインター
フェース、23・・・転送インターフェース、24・・・第1
のメモリ、25・・・第2のメモリ、26・・・転送コントロ
ーラ、27・・・第2のバス、31・・・SCSIポート、3
2・・・CPUポート、33・・・第1のポート、34・・・第
2のポート、35・・・レジスタ群、36・・・第1の転送回
路、37・・・FIFO(先入れ先出しメモリ)、38・・・
第2の転送回路、39・・・第1のアドレスカウンタ、4
0・・・第2のアドレスカウンタ、41・・・コントローラ、
102・・・CPU、104・・・内部メモリ、106・・・バ
スインターフェース、108・・・バス、112・・・ハード
ディスク、122・・・SCSIコントローラ、124・・・
SCSI処理回路、130・・・タイミング調整回路、1
32・・・RAM処理回路、134・・・スイッチ、136、
138・・・カウンタ、146、152・・・状態処理回路、
370・・・ハードディスク、372・・・データ転送インタ
ーフェース、374・・・データ転送ドライバ
11 ... CPU, 12 ... First bus, 13 ... ROM,
14 ... VRAM (video RAM), 15 ... display device,
21 ... Hard disk device, 22 ... SCSI interface, 23 ... Transfer interface, 24 ... First
Memory, 25 ... second memory, 26 ... transfer controller, 27 ... second bus, 31 ... SCSI port, 3
2 ... CPU port, 33 ... First port, 34 ... Second port, 35 ... Register group, 36 ... First transfer circuit, 37 ... FIFO (first-in first-out memory) ), 38 ...
Second transfer circuit, 39 ... First address counter, 4
0 ... second address counter, 41 ... controller,
102 ... CPU, 104 ... Internal memory, 106 ... Bus interface, 108 ... Bus, 112 ... Hard disk, 122 ... SCSI controller, 124 ...
SCSI processing circuit, 130 ... Timing adjusting circuit, 1
32 ... RAM processing circuit, 134 ... Switch, 136,
138 ... Counter, 146, 152 ... State processing circuit,
370 ... Hard disk, 372 ... Data transfer interface, 374 ... Data transfer driver

Claims (20)

【特許請求の範囲】[Claims] 【請求項1】外部記憶装置と、 第1と第2のメモリと、 前記第1と第2のメモリを交互にアクセスしてデータを
処理するデータ処理手段と、 前記第1と第2のメモリと前記外部記憶装置に接続さ
れ、前記データ処理手段の指示に従って、前記第1と第
2のメモリのうち、前記データ処理手段がアクセスして
いない方のメモリと前記外部記憶装置との間でデータを
転送するデータ転送手段と、を備えることを特徴とする
データ処理装置。
1. An external storage device, first and second memories, data processing means for alternately accessing the first and second memories to process data, and the first and second memories. And a data stored between the external storage device and a memory which is not accessed by the data processing device of the first and second memories according to an instruction of the data processing device. And a data transfer unit for transferring the data.
【請求項2】前記データ処理手段が前記外部記憶装置か
らのデータの読み出しを指示した際に、前記データ転送
手段は、前記データ処理手段からの指示に従って、前記
外部記憶装置から前記データ処理手段による処理対象の
データを読み出して、前記第1と第2のメモリのうち、
前記データ処理手段がアクセス中でない方のメモリに予
め格納しておく、ことを特徴とする請求項1に記載のデ
ータ処理装置。
2. When the data processing means gives an instruction to read data from the external storage device, the data transfer means operates from the external storage device to the data processing means according to an instruction from the data processing means. Data to be processed is read out, and one of the first and second memories is read.
The data processing apparatus according to claim 1, wherein the data processing unit stores the data in a memory which is not being accessed in advance.
【請求項3】前記データ処理手段が前記外部記憶装置へ
のデータの書き込みを指示した際に、前記データ転送手
段は、前記データ処理手段からの指示に従って、前記デ
ータ処理手段がアクセス中でない方のメモリから処理済
みのデータを読み出して、前記外部記憶装置に転送し、
前記データ処理手段によるデータ書き込み可能領域を予
め形成しておく、ことを特徴とする請求項1又は2に記
載のデータ処理装置。
3. When the data processing means gives an instruction to write data to the external storage device, the data transfer means follows the instruction from the data processing means and is not being accessed by the data processing means. Read the processed data from the memory and transfer it to the external storage device,
3. The data processing device according to claim 1, wherein a data writable area by the data processing unit is formed in advance.
【請求項4】前記データ転送手段は、 前記外部記憶装置との間でデータを転送する第1の転送
手段と、 前記第1と第2のメモリとの間でデータを転送する第2
の転送手段と、 前記第1と第2の転送手段の間のデータ転送を行うバッ
ファメモリと、 より構成されることを特徴とする請求項1乃至3のいず
れか1つに記載のデータ処理装置。
4. The data transfer means comprises first transfer means for transferring data to and from the external storage device, and second transfer means for transferring data between the first and second memories.
4. The data processing device according to claim 1, further comprising: a transfer unit for transmitting data, and a buffer memory for transferring data between the first and second transfer units. .
【請求項5】前記データ転送手段は、 前記外部記憶装置との間でデータを転送する第1の転送
手段と、 前記第1と第2のメモリとの間でデータを転送する第2
の転送手段と、 前記第1の転送手段と前記第2の転送手段との間の転送
率の相違を調整するタイミング調整回路と、 より構成されることを特徴とする請求項1乃至3のいず
れか1つに記載のデータ処理装置。
5. The data transfer means comprises first transfer means for transferring data to and from the external storage device, and second transfer means for transferring data between the first and second memories.
4. The transfer means according to claim 1, and a timing adjustment circuit for adjusting a difference in transfer rate between the first transfer means and the second transfer means. The data processing device according to one.
【請求項6】外部記憶装置に接続されるポートと、 第1と第2のメモリと、 前記第1と第2のメモリを交互にアクセスしてデータを
処理するデータ処理手段に接続されるポートと、 前記第1と第2のメモリと前記外部記憶装置に接続さ
れ、前記データ処理手段の指示に従って、前記第1と第
2のメモリのうち、前記データ処理手段がアクセスして
いない方のメモリと前記外部記憶装置との間でデータを
転送するデータ転送手段と、を備えることを特徴とする
インターフェース回路。
6. A port connected to an external storage device, a first memory and a second memory, and a port connected to a data processing means for alternately accessing the first memory and the second memory to process data. A memory which is connected to the first and second memories and the external storage device, and which of the first and second memories is not accessed by the data processing means in accordance with an instruction from the data processing means. And a data transfer means for transferring data between the external storage device and the external storage device.
【請求項7】CPUと、外部記憶装置と、内部メモリと
を備えるコンピュータシステムにおいて、 第1のメモリと、 第2のメモリと、 前記第1のメモリに記憶されたデータの量を判定するた
めに前記第1のメモリに接続された第1のカウンタと、 前記第2のメモリに記憶されたデータの量を判定するた
めに前記第2のメモリに接続された第2のカウンタと、 前記第1のメモリに記憶されたデータの量が所定値を越
えたとき第1の信号を生成する第1の手段と、 前記第2のメモリに記憶されたデータの量が所定値を越
えたとき第2の信号を生成する第2の手段と、 前記外部記憶装置とデータを通信するための第1の回路
と、 前記内部メモリとデータを通信するための第2の回路
と、 前記第1の信号に反応して前記第1のメモリと、前記第
1と第2の回路のいずれか一方とを択一的に接続し、前
記第2の信号に反応して前記第2のメモリと、前記第1
と第2の回路のいずれか一方とを択一的に接続するデー
タ切替回路と、 を備えることを特徴とするデータ転送システム。
7. A computer system including a CPU, an external storage device, and an internal memory, for determining the amount of data stored in a first memory, a second memory, and the first memory. A first counter connected to the first memory; a second counter connected to the second memory for determining the amount of data stored in the second memory; A first means for generating a first signal when the amount of data stored in the first memory exceeds a predetermined value; and a first means for generating a first signal when the amount of data stored in the second memory exceeds a predetermined value. Second means for generating a second signal, a first circuit for communicating data with the external storage device, a second circuit for communicating data with the internal memory, and the first signal In response to the first memory and the first memory When the one of the second circuit is selectively connected, and the second memory in response to said second signal, said first
And a data switching circuit that selectively connects one of the second circuit and one of the second circuits, and a data transfer system.
【請求項8】前記外部記憶装置はハードディスクであ
り、前記第1の回路は前記ハードディスクの動作を制御
する制御装置をさらに備えることを特徴とする請求項7
に記載のデータ転送システム。
8. The external storage device is a hard disk, and the first circuit further comprises a control device for controlling the operation of the hard disk.
Data transfer system described in.
【請求項9】前記ハードディスクと、前記第1と第2の
メモリと、の間の転送率の相違を調整するために、前記
第1の回路と前記データ切替回路との間に接続されたタ
イミング調整回路を更に備えることを特徴とする請求項
8に記載のデータ転送システム。
9. A timing connected between the first circuit and the data switching circuit for adjusting a difference in transfer rate between the hard disk and the first and second memories. 9. The data transfer system according to claim 8, further comprising an adjusting circuit.
【請求項10】前記第2の回路は前記内部メモリと、前
記第1と第2のメモリと、の間でCPUにデータを転送
させる転送手段を備える、ことを特徴とする請求項9に
記載のデータ転送システム。
10. The second circuit according to claim 9, further comprising transfer means for causing a CPU to transfer data between the internal memory and the first and second memories. Data transfer system.
【請求項11】前記転送手段は制御信号を生成する手段
を備え、 前記制御信号に反応し、前記内部メモリと、前記第1と
第2のメモリと、の間でデータを転送するためのソフト
ウェアルーチンをさらに備えることを特徴とする請求項
10に記載のデータ転送システム。
11. Software for transferring data between the internal memory and the first and second memories in response to the control signal, the transfer means including means for generating a control signal. The data transfer system according to claim 10, further comprising a routine.
【請求項12】外部記憶装置と内部メモリとの間でデー
タを転送するために、CPUと、該CPUにおいて動作
する少なくとも1つのアプリケーションプログラムと、
を備えるデータ転送システムであり、 第1のメモリと、 第2のメモリと、 前記外部記憶装置とデータを通信するための第1の回路
と、 前記第1と第2のメモリと前記第1の回路の稼働状態に
応答して状態信号を生成する状態信号回路と、 前記第1のメモリを、前記第1の回路と前記内部メモリ
とのいずれか一方に択一的に接続し、前記第2のメモリ
を、前記第1の回路と前記内部メモリとのいずれか一方
に択一的に接続するデータ切替回路と、 前記外部記憶装置と、前記第1と第2のメモリと、のい
ずれか一方との間でデータが転送されている期間におい
て、複数の前記状態信号のうち、前記CPUに前記アプ
リケーションプログラムの少なくとも1つの実行を指示
する第1の状態信号に反応するソフトウェアルーチン
と、 を備えることを特徴とするデータ転送システム。
12. A CPU and at least one application program running on the CPU for transferring data between an external storage device and an internal memory,
A data transfer system comprising: a first memory, a second memory, a first circuit for communicating data with the external storage device, the first and second memories, and the first memory. A state signal circuit that generates a state signal in response to an operating state of a circuit, and the first memory are selectively connected to either one of the first circuit and the internal memory, and the second memory Data switching circuit that selectively connects the memory of FIG. 1 to either one of the first circuit and the internal memory, the external storage device, and one of the first and second memories. A software routine responsive to a first status signal instructing the CPU to execute at least one of the application programs among the plurality of status signals during a period in which data is transferred between A data transfer system characterized by.
【請求項13】前記ソフトウェアルーチンは、前記外部
記憶装置と前記第2のメモリとの間でデータが転送され
ている期間において、複数の前記状態信号のうち、前記
内部メモリと前記第1のメモリとの間でデータを転送す
るように指示する第2の状態信号に反応することを特徴
とする請求項12に記載のデータ転送システム。
13. The software routine may be configured such that, during a period in which data is being transferred between the external storage device and the second memory, the internal routine and the first memory among a plurality of the status signals. 13. The data transfer system of claim 12, responsive to a second status signal instructing to transfer data to and from.
【請求項14】前記ソフトウェアルーチンは、前記CP
Uが前記内部メモリと前記第1のメモリとの間のデータ
転送に使用可能か否かを判定する手段と、前記CPUが
使用可能な場合、データを転送させる手段と、をさらに
備えることを特徴とする請求項12に記載のデータ転送
システム。
14. The software routine is the CP.
U further comprises means for determining whether or not U can be used for data transfer between the internal memory and the first memory, and means for transferring data when the CPU is available. The data transfer system according to claim 12.
【請求項15】前記第1のメモリに記憶されたデータの
量を判定するために前記第1のメモリに接続された第1
のカウンタと、 前記第2のメモリに記憶されたデータの量を判定するた
めに前記第2のメモリに接続された第2のカウンタと、
をさらに備え、 前記状態信号回路は、前記第1のメモリに記憶されたデ
ータの量が第1の所定値を越えたときと、前記第2のメ
モリに記憶されたデータの量が第2の所定値を越えたと
きに状態信号を生成する、 ことを特徴とする請求項12に記載のデータ転送システ
ム。
15. A first memory connected to the first memory to determine an amount of data stored in the first memory.
And a second counter connected to the second memory to determine the amount of data stored in the second memory,
The state signal circuit may further include: when the amount of data stored in the first memory exceeds a first predetermined value, and when the amount of data stored in the second memory is second. The data transfer system according to claim 12, wherein a status signal is generated when a predetermined value is exceeded.
【請求項16】前記外部記憶装置はハードディスクであ
り、前記第1の回路は前記ハードディスクの動作を制御
する制御装置をさらに備えることを特徴とする請求項1
2に記載のデータ転送システム。
16. The external storage device is a hard disk, and the first circuit further comprises a control device for controlling the operation of the hard disk.
2. The data transfer system according to 2.
【請求項17】前記ハードディスクと、前記第1と第2
のメモリと、の間の転送率の相違を調整するために、前
記第1の回路と前記データ切替回路との間に接続された
タイミング調整回路を更に備えることを特徴とする請求
項16に記載のデータ転送システム。
17. The hard disk and the first and second hard disks.
17. The timing adjusting circuit connected between the first circuit and the data switching circuit for adjusting a difference in transfer rate between the memory of FIG. Data transfer system.
【請求項18】コンピュータシステムにおいて動作する
少なくとも1つのアプリケーションプログラムと、CP
Uと、第1のメモリと、第2のメモリと、を備えるコン
ピュータシステムにおいて、外部記憶装置と内部メモリ
との間でデータを転送するデータ転送方法であり、 第1のメモリと前記外部記憶装置との間に切替可能な第
1のデータ転送路を設け、第2のメモリと前記外部記憶
装置との間に切替可能な第2のデータ転送路を設けるス
テップと、 前記第1のデータ転送路を用いて、前記外部記憶装置を
前記第1のメモリに接続するステップと、 前記第1のメモリ内のデータの量が第1の所定値を越え
るとき、前記外部記憶装置と前記第2のメモリとの間で
データを転送するために前記第2のデータ転送路に切り
換えるステップと、 前記第2のメモリ内のデータの量が第2の所定値を越え
るとき、前記外部記憶装置と前記第1のメモリとの間で
データを転送するために前記第1のデータ転送路に切り
換えるステップと、 前記外部記憶装置と、前記第1と第2のメモリのいずれ
か一方と、の間でデータが送信されている期間の一部
で、前記アプリケーションプログラムを実行するステッ
プと、 を備えることを特徴とするデータ転送方法。
18. At least one application program operating in a computer system, and a CP
A data transfer method for transferring data between an external storage device and an internal memory in a computer system comprising U, a first memory, and a second memory, the first memory and the external storage device A switchable first data transfer path between the second memory and the external storage device, and a switchable second data transfer path between the second memory and the external storage device; A step of connecting the external storage device to the first memory using, and the external storage device and the second memory when the amount of data in the first memory exceeds a first predetermined value. Switching to the second data transfer path to transfer data between the external storage device and the first storage device when the amount of data in the second memory exceeds a second predetermined value. Memory to and from A step of switching to the first data transfer path for transferring data, a period during which data is being transmitted between the external storage device and one of the first and second memories. And a step of executing the application program.
【請求項19】第1のメモリと前記内部メモリとの間に
切替可能な第3のデータ転送路を設け、第2のメモリと
前記内部メモリとの間に切替可能な第4のデータ転送路
を設けるステップと、 前記外部記憶装置が前記第2のデータ転送路を介して前
記第2のメモリと接続された後で、前記第3のデータ転
送路を用いて前記内部メモリと前記第1のメモリとの間
でデータを転送するデータ転送ステップと、 前記外部記憶装置が前記第1のデータ転送路を介して前
記第1のメモリと接続された後で、前記第4のデータ転
送路を用いて前記内部メモリと前記第2のメモリとの間
でデータを転送するデータ転送ステップと、 をさらに備えることを特徴とする請求項18に記載のデ
ータ転送方法。
19. A switchable third data transfer path is provided between a first memory and the internal memory, and a switchable fourth data transfer path is provided between the second memory and the internal memory. And a step of providing the internal memory and the first memory using the third data transfer path after the external storage device is connected to the second memory via the second data transfer path. A data transfer step of transferring data to and from a memory; and using the fourth data transfer path after the external storage device is connected to the first memory via the first data transfer path. 19. The data transfer method according to claim 18, further comprising a data transfer step of transferring data between the internal memory and the second memory.
【請求項20】前記内部メモリと、前記第1と第2のメ
モリのいずれか1つと、の間でデータを転送する前記デ
ータ転送ステップは、前記外部記憶装置と、前記第2と
第1のメモリの1つとの間でデータが転送されるために
必要な時間の一部で実行されることを特徴とする請求項
18に記載のデータ転送方法。
20. The data transfer step of transferring data between the internal memory and any one of the first and second memories comprises the external storage device and the second and first memories. The data transfer method according to claim 18, wherein the data transfer method is executed for a part of a time required for transferring data to and from one of the memories.
JP13567996A 1995-05-09 1996-05-07 Data transfer system, data transfer method, interface circuit and data processor Pending JPH0926855A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13567996A JPH0926855A (en) 1995-05-09 1996-05-07 Data transfer system, data transfer method, interface circuit and data processor

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP7-134683 1995-05-09
JP13468395 1995-05-09
JP13567996A JPH0926855A (en) 1995-05-09 1996-05-07 Data transfer system, data transfer method, interface circuit and data processor

Publications (1)

Publication Number Publication Date
JPH0926855A true JPH0926855A (en) 1997-01-28

Family

ID=26468717

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13567996A Pending JPH0926855A (en) 1995-05-09 1996-05-07 Data transfer system, data transfer method, interface circuit and data processor

Country Status (1)

Country Link
JP (1) JPH0926855A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008192209A (en) * 2007-02-01 2008-08-21 Marvell World Trade Ltd Magnetic disk controller and method
JP2008192210A (en) * 2007-02-01 2008-08-21 Marvell World Trade Ltd Magnetic disk controller and method
JP2008192211A (en) * 2007-02-01 2008-08-21 Marvell World Trade Ltd Magnetic disk controller and method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008192209A (en) * 2007-02-01 2008-08-21 Marvell World Trade Ltd Magnetic disk controller and method
JP2008192210A (en) * 2007-02-01 2008-08-21 Marvell World Trade Ltd Magnetic disk controller and method
JP2008192211A (en) * 2007-02-01 2008-08-21 Marvell World Trade Ltd Magnetic disk controller and method

Similar Documents

Publication Publication Date Title
US5796413A (en) Graphics controller utilizing video memory to provide macro command capability and enhanched command buffering
EP1134645B1 (en) Power saving method and device for display
JP3273202B2 (en) Method of transferring data through a plurality of data channels and circuit architecture thereof
US6028585A (en) Screen display control method and a screen display control apparatus
US5894579A (en) Power management system and method
EP0772119A2 (en) Automatic graphics operation
KR19990008415A (en) Data transmission system and method
JPH0827707B2 (en) Control device and control method for FIFO buffer and device for controlling data transfer
US6336153B1 (en) High-speed hybernation
JP4028064B2 (en) Display device
US6678755B1 (en) Method and apparatus for appending memory commands during a direct memory access operation
US5757381A (en) Methods for fast scrolling of images
JP3685401B2 (en) CPU control method, computer apparatus and CPU using the same, and program
EP0712073B1 (en) System and method for processing commands without polling of the hardware by the software
US5878251A (en) Computer system and stop clock signal control method for use in the system
US5471672A (en) Method for implementing a high speed computer graphics bus
JPH0926855A (en) Data transfer system, data transfer method, interface circuit and data processor
JPH07210693A (en) Video subsystem and data compression method
WO1996031819A2 (en) Data processing device and scrolling method
JP2003122335A (en) Display controller
JP3826942B2 (en) Image transfer using drawing command hook
JPH02171843A (en) Interface device
JPS59178487A (en) Display unit
JP3204297B2 (en) DMA transfer control device
JPH03111961A (en) Program loading system for multi-cpu