JPH11249961A - Data transfer device and data transfer control method therefor - Google Patents

Data transfer device and data transfer control method therefor

Info

Publication number
JPH11249961A
JPH11249961A JP10048130A JP4813098A JPH11249961A JP H11249961 A JPH11249961 A JP H11249961A JP 10048130 A JP10048130 A JP 10048130A JP 4813098 A JP4813098 A JP 4813098A JP H11249961 A JPH11249961 A JP H11249961A
Authority
JP
Japan
Prior art keywords
data
data transfer
cache memory
dma controller
transfer device
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
JP10048130A
Other languages
Japanese (ja)
Inventor
Atsuya Yamashita
敦也 山下
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.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP10048130A priority Critical patent/JPH11249961A/en
Publication of JPH11249961A publication Critical patent/JPH11249961A/en
Pending legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a data transfer device which increases the data transfer speed in a DMA controller by simplifying not only the constitution but also an access from the DMA controller to a bus, and a data transfer control method for the above data transfer device. SOLUTION: A data transfer device 100 comprises a CPU 110, a main memory 120, an I/O interface 130, a DMA controller 140, a bus line 150 to which these components are connected and through which a control signal, a data signal, an address signal, etc., are inputted and outputted, and a cache memory 160 which is set between the DMA controller 140 and the bus line 150 and interferes in input/output data processing of the DMA controller 140.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、データ転送装置に
関し、特に、DMAコントローラを効率的に制御するデ
ータ転送装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data transfer device, and more particularly, to a data transfer device for efficiently controlling a DMA controller.

【0002】[0002]

【従来の技術】従来、この種のデータ転送装置において
は、特に、高速な演算・処理およびデータ転送を実現す
るために、主記憶装置と高速演算を実現するCPUとか
ら構成されている。また、上記主記憶装置と上記CPU
を接続するバス線において、PCIバス仕様として開示
されているように、バス線における高速なバースト転送
機能を実現するとともに、上記主記憶装置にバースト転
送機能を追加することにより上記データ転送装置におけ
るデータ転送の高速化を実施している。
2. Description of the Related Art Conventionally, this type of data transfer apparatus is composed of a main storage device and a CPU for realizing high-speed operation, particularly for realizing high-speed operation / processing and data transfer. Also, the main storage device and the CPU
As described in the PCI bus specification, a bus line connecting the buses realizes a high-speed burst transfer function on the bus line and adds a burst transfer function to the main storage device, thereby enabling data transfer in the data transfer device. The transfer speed has been increased.

【0003】また、上記特開平4−365157号公報
に開示されたデータ転送装置においては、DMAコント
ローラにキャッシュメモリおよびデータバッファを設置
するとともに、このDMAコントローラのデータ転送要
求に対して上記キャッシュメモリまたは上記データバッ
ファからデータを取り出すことによりデータ転送の高速
化を実現していた。
In the data transfer device disclosed in Japanese Patent Application Laid-Open No. 4-365157, a cache memory and a data buffer are provided in a DMA controller, and the cache memory or the data buffer is provided in response to a data transfer request from the DMA controller. The speed of data transfer has been increased by extracting data from the data buffer.

【0004】[0004]

【発明が解決しようとする課題】上述した従来のデータ
転送装置においては、いずれも、DMAコントローラと
各構成機器におけるバースト転送が何ら考慮されていな
いため、DMAコントローラからバス上に、単バイトデ
ータのアクセスが発生するとバスの使用効率が上昇する
とともに、データ転送装置全体の動作が遅くなってしま
うという課題があった。
In any of the above-mentioned conventional data transfer apparatuses, since no consideration is given to the burst transfer between the DMA controller and each component device, single-byte data is transferred from the DMA controller to the bus. When the access occurs, there is a problem that the bus use efficiency is increased and the operation of the entire data transfer device is delayed.

【0005】本発明は、上記課題にかんがみてなされた
もので、簡易に構成とともに、DMAコントローラから
バスに対するアクセスを簡素化することにより、DMA
コントローラにおけるデータ転送を高速化することが可
能なデータ転送装置およびデータ転送装置のデータ転送
制御方法の提供を目的とする。
SUMMARY OF THE INVENTION The present invention has been made in view of the above problems, and has a simple configuration and a simplified DMA access by a DMA controller.
It is an object of the present invention to provide a data transfer device capable of speeding up data transfer in a controller and a data transfer control method of the data transfer device.

【0006】[0006]

【課題を解決するための手段】上記目的を達成するため
に、請求項1にかかる発明は、複数のRAMチップによ
って構成され処理の結果等を一時的に記憶する主メモリ
と、上記主メモリのメモリコントローラに対してリード
・ライトの実行要求を出力するCPUと、上記CPUの
介在を受けないで上記主メモリとデータの転送を実行す
るDMAコントローラと、同DMAコントローラと上記
主メモリと上記CPUとを接続するバス線と、上記DM
Aコントローラと同バス線の間に設置されたキャッシュ
メモリとを具備する構成としてある。
According to a first aspect of the present invention, there is provided a main memory comprising a plurality of RAM chips for temporarily storing processing results and the like; A CPU for outputting a read / write execution request to a memory controller; a DMA controller for executing data transfer with the main memory without intervention of the CPU; a DMA controller for executing the transfer of data with the main memory; And the above-mentioned DM
The configuration includes an A controller and a cache memory installed between the bus lines.

【0007】上記のように構成した請求項1にかかる発
明において、上記DMAコントローラは、上記主メモリ
とのデータのリード・ライトについて上記CPUから要
求があった場合は、同CPUの介在を受けないでデータ
の転送を実行する。このとき、同データ転送を同DMA
コントローラと上記バス線の間に設置されたキャッシュ
メモリを介して実行する。
In the invention according to claim 1, the DMA controller does not receive the intervention of the CPU when there is a request from the CPU to read / write data from / to the main memory. Execute data transfer with. At this time, the same data transfer is performed with the same DMA.
This is executed via a cache memory provided between the controller and the bus line.

【0008】また、請求項2にかかる発明は、請求項1
に記載のデータ転送装置において、上記キャッシュメモ
リは、上記DMAコントローラが上記主メモリに対して
データの読み出しを行うときに同読み出しを実行するデ
ータが同キャッシュメモリに存在するときは、同キャッ
シュメモリのデータを上記DMAコントローラに出力す
るキャッシュメモリ制御手段を有する構成としてある。
[0008] The invention according to claim 2 is based on claim 1.
In the data transfer device described in the above, when the DMA controller reads data from the main memory, when the data to be read is present in the cache memory, the cache memory stores the data in the cache memory. The configuration includes a cache memory control unit that outputs data to the DMA controller.

【0009】上記のように構成した請求項2にかかる発
明において、上記キャッシュメモリ制御手段は、上記D
MAコントローラが上記主メモリに対してデータの読み
出しを行うときに、同読み出しデータが上記キャッシュ
メモリに存在するときは、同キャッシュメモリのデータ
を上記DMAコントローラに出力する。
[0009] In the invention according to claim 2 configured as described above, the cache memory control means includes the D memory.
When the MA controller reads data from the main memory, if the read data exists in the cache memory, the MA controller outputs the data in the cache memory to the DMA controller.

【0010】さらに、請求項3にかかる発明は、請求項
1または請求項2のいずれかに記載のデータ転送装置に
おいて、上記キャッシュメモリ制御手段は、上記DMA
コントローラが上記バス線に対してデータを出力する場
合に同データを上記キャッシュメモリに書き込む構成と
してある。
Further, according to a third aspect of the present invention, in the data transfer device according to any one of the first and second aspects, the cache memory control means includes the DMA controller.
When the controller outputs data to the bus line, the controller writes the data to the cache memory.

【0011】上記のように構成した請求項3にかかる発
明において、上記キャッシュメモリ制御手段は、上記D
MAコントローラが上記バス線に対してデータを出力す
る場合に同データを上記キャッシュメモリに書き込む。
[0011] In the invention according to claim 3 configured as described above, the cache memory control means includes the D memory.
When the MA controller outputs data to the bus line, the data is written to the cache memory.

【0012】さらに、請求項4にかかる発明は、請求項
1〜請求項3のいずれかに記載のデータ転送装置におい
て、上記キャッシュメモリ制御手段は、上記DMAコン
トローラの動作が終了した場合に上記キャッシュメモリ
内部のデータを全て上記バス線に出力する構成としてあ
る。
Further, according to a fourth aspect of the present invention, in the data transfer device according to any one of the first to third aspects, the cache memory control means is configured to execute the cache control when the operation of the DMA controller is completed. All data in the memory is output to the bus line.

【0013】上記のように構成した請求項4にかかる発
明において、上記キャッシュメモリ制御手段は、上記D
MAコントローラの動作が終了した場合に上記キャッシ
ュメモリ内部のデータを全て上記バス線に出力する。
[0013] In the invention according to claim 4 configured as described above, the cache memory control means includes the D memory.
When the operation of the MA controller is completed, all data in the cache memory is output to the bus line.

【0014】さらに、請求項5にかかる発明は、請求項
1〜請求項4のいずれかに記載のデータ転送装置におい
て、上記キャッシュメモリ制御手段は、上記DMAコン
トローラからデータの出力要求を受信して、同データが
上記キャッシュメモリの記憶領域に存在する存在する場
合は、同データを上記バス線に出力しない構成としてあ
る。
According to a fifth aspect of the present invention, in the data transfer apparatus according to any one of the first to fourth aspects, the cache memory control means receives a data output request from the DMA controller. When the data exists in the storage area of the cache memory, the data is not output to the bus line.

【0015】上記のように構成した請求項5にかかる発
明において、上記DMAコントローラからデータの出力
要求を受信した上記キャッシュメモリ制御手段は、同デ
ータが上記キャッシュメモリの記憶領域に存在する場合
は、同データを上記バス線に出力しない。
[0015] In the invention according to claim 5 configured as described above, the cache memory control means, having received the data output request from the DMA controller, determines whether the data exists in the storage area of the cache memory. The same data is not output to the bus line.

【0016】さらに、請求項6にかかる発明は、請求項
1〜請求項5のいずれかに記載のデータ転送装置におい
て、上記キャッシュメモリ制御手段は、上記DMAコン
トローラに設定されたデータ転送に関する設定データで
ある先頭アドレス番号を上記キャッシュメモリが有する
記憶領域のアドレス番号に書き換えるアドレス編集手段
を有する構成としてある。
Further, according to a sixth aspect of the present invention, in the data transfer device according to any one of the first to fifth aspects, the cache memory control means includes setting data relating to data transfer set in the DMA controller. Address editing means for rewriting the starting address number of the storage area with the address number of the storage area of the cache memory.

【0017】上記のように構成した請求項6にかかる発
明において、上記アドレス編集手段は、上記DMAコン
トローラに設定されたデータ転送に関する設定データで
ある先頭アドレス番号を上記キャッシュメモリが有する
記憶領域のアドレス番号に書き換えることができる。
[0017] In the invention according to claim 6, the address editing means stores a start address number, which is setting data relating to data transfer set in the DMA controller, in an address of a storage area of the cache memory. Can be rewritten into numbers.

【0018】さらに、請求項7にかかる発明は、キャッ
シュメモリをDMAコントローラとバス線の間に設置し
て、同DMAコントローラから上記バス線に接続された
他のメモリに対してデータ出力が有る場合には、同デー
タを上記キャッシュメモリに格納するとともに、上記D
MAコントローラへのデータ入力がある場合には、上記
キャッシュメモリ上のデータを検索するとともに、上記
データ入力と同一のデータが同キャッシュメモリに有る
場合は同データを上記DMAコントローラに出力する構
成としてある。すなわち、必ずしも実体のある装置であ
ることに限られず、その方法としても有効である。
Further, according to the present invention, a cache memory is provided between a DMA controller and a bus line, and data is output from the DMA controller to another memory connected to the bus line. Stores the same data in the cache memory,
When there is data input to the MA controller, the data in the cache memory is searched, and when the same data as the data input exists in the cache memory, the same data is output to the DMA controller. . That is, the present invention is not necessarily limited to a physical device, and is also effective as a method.

【0019】[0019]

【発明の実施の形態】以下、図面にもとづいて本発明の
実施形態を説明する。図1は、本発明の第一の実施形態
にかかるデータ転送装置をブロック図により示してい
る。同図において、データ転送装置100は、メモリに
記憶されたプログラムデータを読み込み,演算,データの
入出力を実行するとともにその他の構成要素を制御する
CPU110と、内部にデータを記憶する記憶回路を有
するとともに外部回路からアドレスで指定された内部デ
ータの入出力および入力データを同記憶回路に保存する
主メモリ120と、本データ転送装置100の外部機器
とのデータの入出力を行ったり、上記CPU110に対
して外部機器からのデータが存在することを通知するI
/Oインターフェース130と、上記CPU110の指
示データによって上記主メモリ120や上記I/Oイン
ターフェース130からデータを読み出すとともに上記
主メモリ120や上記I/Oインターフェース130へ
データを書き込むDMAコントローラ140と、上記構
成要素が接続されるとともに制御信号,データ信号,アド
レス信号等を相互に入出力するバス線150と、上記D
MAコントローラ140と上記バス線150の間に設置
されるとともに同DMAコントローラ140の入出力デ
ータ処理に介入するキャッシュメモリ160とから構成
されている。
Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 is a block diagram showing a data transfer device according to a first embodiment of the present invention. In FIG. 1, a data transfer device 100 has a CPU 110 that reads program data stored in a memory, executes calculations, inputs and outputs data, and controls other components, and a storage circuit that stores data therein. The main memory 120 stores input / output of internal data designated by an address from an external circuit and input data in the same storage circuit, and inputs / outputs data to / from an external device of the data transfer apparatus 100. I to notify that there is data from the external device
An I / O interface 130; a DMA controller 140 that reads data from the main memory 120 and the I / O interface 130 according to instruction data from the CPU 110 and writes data to the main memory 120 and the I / O interface 130; A bus line 150 to which elements are connected and for mutually inputting and outputting control signals, data signals, address signals, etc .;
A cache memory 160 is provided between the MA controller 140 and the bus line 150 and intervenes in input / output data processing of the DMA controller 140.

【0020】図2は、上記キャッシュメモリ160をブ
ロック図により示している。 同図において、上記キャ
ッシュメモリ160は、上記CPU110および上記主
メモリ120において取り扱う単位データの複数分から
なる記憶ブロック161を記憶単位とする記憶回路16
2と、同記憶回路162および上記DMAコントローラ
140と接続するとともに、同記憶ブロック161へ書
き込まれたデータのアドレスと上記DMAコントローラ
140から出力されるアドレスを比較するアドレス比較
回路163と、上記アドレス比較回路163と接続する
とともに上記キャッシュメモリ160におけるデータ転
送を制御するデータ転送制御回路164とから構成され
ている。
FIG. 2 is a block diagram showing the cache memory 160. In the figure, the cache memory 160 is a storage circuit 16 having a storage block 161 composed of a plurality of unit data handled by the CPU 110 and the main memory 120 as a storage unit.
An address comparison circuit 163 connected to the storage circuit 162 and the DMA controller 140 and comparing the address of the data written in the storage block 161 with the address output from the DMA controller 140; The data transfer control circuit 164 is connected to the circuit 163 and controls data transfer in the cache memory 160.

【0021】次に、図3において、上記DMAコントロ
ーラ140と上記キャッシュメモリ160におけるデー
タ転送の動作をフローチャートにより説明する。まず、
上記CPU110は、上記DMAコントローラ140に
対して、各種所定の設定を行う。同設定は、データ転送
元のアドレスであるアドレスADR1と、データ転送先
のアドレスであるアドレスADR2と、データ転送バイ
ト数であるカウンタCOの三つのレジスタに行う(ステ
ップS200)。この設定が終了すると、上記CPU1
10は、上記DMAコントローラ140に対して転送開
始の指令を出力する(ステップS205)。ここで、上
記CPU110は、上記バス線150のアクセス権も保
有するという観点から、他のバスマスタであってもよい
ことはいうまでもない。
Next, the operation of data transfer between the DMA controller 140 and the cache memory 160 will be described with reference to a flowchart in FIG. First,
The CPU 110 makes various predetermined settings for the DMA controller 140. The same setting is performed in three registers of an address ADR1 which is a data transfer source address, an address ADR2 which is a data transfer destination address, and a counter CO which is a data transfer byte number (step S200). When this setting is completed, the CPU 1
10 outputs a transfer start command to the DMA controller 140 (step S205). Here, it goes without saying that the CPU 110 may be another bus master from the viewpoint that the CPU 110 also has an access right to the bus line 150.

【0022】そして、上記DMAコントローラ140
は、上記CPU110からの同転送開始の指令を受け
て、上記キャッシュメモリ160の内容の初期化を実行
する(ステップS206)。同初期化とは、同キャッシ
ュメモリ160の内部の上記記憶ブロック161の状態
を全て、INVALID状態にすることである。なお、
INVALID状態とは、同記憶ブロック161に格納
されているデータを無効にすることで、同記憶ブロック
161にデータを書き込み可能にすることである。
The DMA controller 140
Receives the transfer start command from the CPU 110, and initializes the contents of the cache memory 160 (step S206). The initialization means that all the states of the storage blocks 161 in the cache memory 160 are set to the INVALID state. In addition,
The INVALID state means that data can be written to the storage block 161 by invalidating the data stored in the storage block 161.

【0023】次に、同データ転送処理がリードアクセス
処理であるか判別して(ステップS207)、リードア
クセスであるならば、リードアクセスデータ転送処理を
実行する(ステップS300)。また、上記データ転送
処理がライトアクセスならば、ライトアクセスデータ転
送処理を実行する(ステップS400)。
Next, it is determined whether the data transfer process is a read access process (step S207). If the data transfer process is a read access, a read access data transfer process is executed (step S300). If the data transfer process is a write access, a write access data transfer process is executed (step S400).

【0024】これらのデータ転送処理が終了すると、上
記キャッシュメモリ160の上記記憶ブロック161の
状態を確認して、DIRTY状態の記憶ブロック161
は、上記バス線150に対してバーストライトする(ス
テップS210)。ここで、上記DIRTY状態とは、
上記DMAコントローラ140から上記記憶ブロック1
61にデータが書き込まれたことを示すとともに、ライ
トバックされていないことを示すものである。以上よ
り、DMAコントローラ140におけるデータ転送処理
は終了する(ステップS211)。
When these data transfer processes are completed, the state of the storage block 161 of the cache memory 160 is confirmed, and the storage block 161 in the DIRTY state is checked.
Performs a burst write on the bus line 150 (step S210). Here, the DIRTY state is
From the DMA controller 140 to the storage block 1
61 indicates that data has been written, and indicates that data has not been written back. As described above, the data transfer processing in the DMA controller 140 ends (step S211).

【0025】次に、図4において、上記図3のステップ
S300のリードアクセスデータ転送処理について、上
記キャッシュメモリ160が実行するデータ転送制御の
処理内容をフローチャートにより示す。上記アドレス比
較回路163は、上記DMAコントローラ140から出
力されたリードアクセスに関するデータを取得するとと
もに、その内容を確認する(ステップS305)。この
データのうちアクセスの対象になるアドレスが上記主メ
モリ120に対するものか判断する(ステップS31
0)。このアドレスが上記主メモリ120に対するもの
であれば、ループ360の処理を実行する。
Next, FIG. 4 is a flowchart showing the contents of the data transfer control executed by the cache memory 160 for the read access data transfer processing in step S300 in FIG. The address comparison circuit 163 acquires the data related to the read access output from the DMA controller 140 and confirms the content (step S305). It is determined whether the address to be accessed in this data is for the main memory 120 (step S31).
0). If this address is for the main memory 120, the process of the loop 360 is executed.

【0026】この処理では、最初に、上記記憶ブロック
161の状態を取得するとともに、上記アドレスと同記
憶ブロック161上のアドレスを比較する。ここで、上
記アドレスと一致するアドレスが上記記憶ブロック16
1に存在しないとともに、同記憶ブロック161がIN
VALID状態であるか、CLEAN状態である場合は
(ステップS315)、上記アドレスを含むリードアク
セスを上記バス線150上に出力する(ステップS32
0)。ここで、このCLEAN状態とは、上記DMAコ
ントローラ140からのアクセスデータをライトバック
した状態をいう。
In this process, first, the state of the storage block 161 is obtained, and the address is compared with the address on the storage block 161. Here, an address that matches the above address is stored in the storage block 16.
1 and the same storage block 161
If it is in the VALID state or the CLEAN state (step S315), a read access including the address is output on the bus line 150 (step S32).
0). Here, the CLEAN state refers to a state in which the access data from the DMA controller 140 has been written back.

【0027】また、上述した、上記記憶ブロック161
の状態の取得と、上記アドレスと同記憶ブロック161
上のアドレスの比較において、上記アドレスと一致する
アドレスが上記記憶ブロック161に存在しないととも
に、同記憶ブロック161がDIRTY状態である場合
は(ステップS325)、上記アドレスを含むライトア
クセスを上記バス線150上に出力して(ステップS3
30)、このライトアクセス終了後に、同アドレスを含
むリードアクセスを上記バス線150上に出力する(ス
テップS335)。上記ステップS320および上記ス
テップS335が完了すると、これらのステップにおけ
るリードアクセスにより上記バス線150から入力した
データを上記記憶ブロック161に格納するとともに、
同記憶ブロック161の状態をCLEAN状態にする
(ステップS340)。
The above-mentioned storage block 161
Of the address and the above-mentioned address and the same storage block 161
In the comparison of the above addresses, if an address that matches the above address does not exist in the storage block 161, and the storage block 161 is in the DIRTY state (step S325), the write access including the address is performed by the bus line 150. (Step S3)
30) After the end of the write access, a read access including the same address is output onto the bus line 150 (step S335). When step S320 and step S335 are completed, the data input from the bus line 150 by the read access in these steps is stored in the storage block 161.
The state of the storage block 161 is set to the CLEAN state (step S340).

【0028】さらに、上述した、上記記憶ブロック16
1の状態の取得と、上記アドレスと同記憶ブロック16
1上のアドレスの比較において、上記アドレスと一致す
るアドレスが上記記憶ブロック161に存在するととも
に、同記憶ブロック161がDIRTY状態またはCL
EAN状態である場合と(ステップS345)、上記ス
テップS340が終了した場合は、上記記憶ブロック1
61上に存在する、上記DMAコントローラ140から
のリードアクセスに関するアドレスに該当するアドレス
のデータを同DMAコントローラ140に出力する(ス
テップS346)。
Further, the above-mentioned storage block 16
1 and the address and the same storage block 16
In the comparison of the addresses on the first and second addresses, an address that matches the above address exists in the storage block 161, and the storage block 161 is in the DIRTY state or the CL state.
When the EAN state is set (step S345) and when the step S340 is completed, the storage block 1
The data at the address corresponding to the address related to the read access from the DMA controller 140 existing on the memory controller 61 is output to the DMA controller 140 (step S346).

【0029】以上の処理によって、上記DMAコントロ
ーラ140が処理するリードアクセスの単位データ転送
が終了する。この処理は、データ転送バイト数であるカ
ウンタCOに設定されたバイト数回実行されるため、こ
のカウンタCOをデクリメントする(ステップS35
0)とともに、次の設定アドレスを指定するため上記ア
ドレスADR1およびアドレスADR2をインクリメン
トする(ステップS355)。また、上記ループ360
は、このカウンタCOが0より小さくなるまでループ処
理が実行される。
With the above processing, the unit data transfer of the read access processed by the DMA controller 140 is completed. Since this process is performed the number of bytes set in the counter CO, which is the number of data transfer bytes, the counter CO is decremented (step S35).
At the same time as 0), the address ADR1 and the address ADR2 are incremented to specify the next set address (step S355). In addition, the loop 360
Executes a loop process until the counter CO becomes smaller than 0.

【0030】次に、図5において、上記図3のステップ
S400のライトアクセスデータ転送処理について、上
記キャッシュメモリ160が実行するデータ転送制御の
処理内容をフローチャートにより示す。上記アドレス比
較回路163は、上記DMAコントローラ140から出
力されたライトアクセスに関するデータを取得するとと
もに、その内容を確認する(ステップS405)。この
データのうち、アクセスの対象になるアドレスが上記主
メモリ120に対するものか判断する(ステップS41
0)。このアドレスが上記主メモリ120に対するもの
であれば、ループ460の処理を実行する。
Next, FIG. 5 is a flowchart showing the contents of the data transfer control executed by the cache memory 160 for the write access data transfer processing in step S400 in FIG. The address comparison circuit 163 acquires the data relating to the write access output from the DMA controller 140 and confirms the contents (step S405). In this data, it is determined whether the address to be accessed is for the main memory 120 (step S41).
0). If this address is for the main memory 120, the process of the loop 460 is executed.

【0031】この処理では、最初に、上記記憶ブロック
161の状態を取得するとともに、上記アドレスと同記
憶ブロック161上のアドレスを比較する。ここで、上
記アドレスと一致するアドレスが上記記憶ブロック16
1に存在しないとともに、同記憶ブロック161がIN
VALID状態であるか、CLEAN状態である場合は
(ステップS415)、上記アドレスを含むリードアク
セスを上記バス線150上に出力する(ステップS42
0)。
In this process, first, the state of the storage block 161 is obtained, and the address is compared with the address on the storage block 161. Here, an address that matches the above address is stored in the storage block 16.
1 and the same storage block 161
If it is in the VALID state or the CLEAN state (step S415), a read access including the address is output on the bus line 150 (step S42).
0).

【0032】また、上述した、上記記憶ブロック161
の状態の取得と、上記アドレスと同記憶ブロック161
上のアドレスの比較において、上記アドレスと一致する
アドレスが上記記憶ブロック161に存在しないととも
に、同記憶ブロック161がDIRTY状態である場合
は(ステップS425)、上記アドレスを含むライトア
クセスを上記バス線150上に出力して(ステップS4
30)、このライトアクセス終了後に、同アドレスを含
むリードアクセスを上記バス線150上に出力する(ス
テップS435)。
The above-mentioned storage block 161
Of the address and the above-mentioned address and the same storage block 161
In the comparison of the above addresses, if an address that matches the above address does not exist in the storage block 161 and the storage block 161 is in the DIRTY state (step S425), the write access including the address is performed by the bus line 150. Output above (step S4
30) After the end of the write access, a read access including the same address is output onto the bus line 150 (step S435).

【0033】上記ステップS420および上記ステップ
S435が完了すると、これらのステップにおけるリー
ドアクセスにより上記バス線150から入力したデータ
を上記記憶ブロック161に格納するとともに、同記憶
ブロック161の状態をCLEAN状態にする(ステッ
プS440)。
When the steps S420 and S435 are completed, the data input from the bus line 150 by the read access in these steps is stored in the storage block 161, and the state of the storage block 161 is set to the CLEAN state. (Step S440).

【0034】さらに、上述した、上記記憶ブロック16
1の状態の取得と、上記アドレスと同記憶ブロック16
1上のアドレスの比較において、上記アドレスと一致す
るアドレスが上記記憶ブロック161に存在するととも
に、同記憶ブロック161がDIRTY状態またはCL
EAN状態である場合と(ステップS445)、上記ス
テップS440が終了した場合は、上記記憶ブロック1
61上に存在する、上記DMAコントローラ140から
のライトアクセスに関するアドレスに該当するアドレス
に同DMAコントローラ140が出力したデータを書き
込む(ステップS446)。
Further, the above-mentioned storage block 16
1 and the address and the same storage block 16
In the comparison of the addresses on the first and second addresses, an address that matches the above address exists in the storage block 161, and the storage block 161 is in the DIRTY state or the CL state.
When the EAN state is set (step S445) and when the step S440 ends, the storage block 1
The data output by the DMA controller 140 is written to an address corresponding to the address related to the write access from the DMA controller 140 existing on the memory 61 (step S446).

【0035】以上の処理によって、上記DMAコントロ
ーラ140が処理するライトアクセスの単位データ転送
が終了する。この処理は、データ転送バイト数であるカ
ウンタCOに設定されたバイト数回実行されるため、こ
のカウンタCOをデクリメントする(ステップS45
0)とともに、次の設定アドレスを指定するため上記ア
ドレスADR1およびアドレスADR2をインクリメン
トする(ステップS455)。また、上記ループ460
は、このカウンタCOが0より小さくなるまでループ処
理が実行される。
With the above processing, the unit data transfer of the write access processed by the DMA controller 140 is completed. Since this process is executed the number of times set in the counter CO which is the number of data transfer bytes, the counter CO is decremented (step S45).
Along with 0), the address ADR1 and the address ADR2 are incremented to specify the next set address (step S455). Also, the loop 460
Executes a loop process until the counter CO becomes smaller than 0.

【0036】このように、上記DMAコントローラ14
0と上記主メモリ120を接続するバス線150上に上
記キャッシュメモリ160を設置すると、同DMAコン
トローラ140から出力されるデータ転送アクセスにお
いて行われるアクセスは、全て上記キャッシュメモリを
介することになるとともに、そのアクセスは全てバース
トアクセスによるデータ転送により実現される。従っ
て、上記DMAコントローラ140のデータ転送処理の
高速化が可能になる。
As described above, the DMA controller 14
When the cache memory 160 is provided on the bus line 150 connecting the main memory 120 to the main memory 120, all accesses performed in the data transfer access output from the DMA controller 140 are performed via the cache memory. All the accesses are realized by data transfer by burst access. Therefore, the speed of the data transfer process of the DMA controller 140 can be increased.

【0037】また、本実施例においては、上記アドレス
ADR1へのリードアクセスが常に上記キャッシュメモ
リ160の記憶ブロック161上に存在するので、同リ
ードアクセスが上記バス線150に出力されないため、
さらに、上記DMAコントローラ140のデータ転送処
理の高速化が可能になる。
In this embodiment, since the read access to the address ADR1 always exists on the storage block 161 of the cache memory 160, the read access is not output to the bus line 150.
Further, the speed of the data transfer process of the DMA controller 140 can be increased.

【0038】[0038]

【発明の効果】以上説明したように本発明は、DMAコ
ントローラからバスに対するアクセスを簡素化するとと
もに、キャッシュメモリに格納されたデータをバス上に
バースト転送することができるため、DMAコントロー
ラにおけるデータ転送を高速化することが可能なデータ
転送装置を提供することができる。
As described above, the present invention simplifies the access to the bus from the DMA controller and burst-transfers the data stored in the cache memory onto the bus. Can be provided.

【0039】また、請求項2にかかる発明によれば、D
MAコントローラがアクセスしたデータがキャッシュメ
モリ上に存在する場合は、同キャッシュメモリのデータ
を上記DMAコントローラに出力することにより、バス
上にデータが流れないため、よりDMAコントローラに
おけるデータ転送を高速化することが可能になる。
According to the second aspect of the present invention, D
When the data accessed by the MA controller exists in the cache memory, the data in the cache memory is output to the DMA controller, so that the data does not flow on the bus, so that the data transfer in the DMA controller is further speeded up. It becomes possible.

【0040】さらに、請求項3にかかる発明によれば、
DMAコントローラが使用したデータをキャッシュメモ
リに書き込むことにより、同一データを再利用するとき
にヒット率が向上することが可能になる。
Further, according to the invention of claim 3,
By writing the data used by the DMA controller to the cache memory, the hit rate can be improved when the same data is reused.

【0041】さらに、請求項4にかかる発明によれば、
DMAコントローラにおけるバス線へのアクセスが終了
するとともに、同キャッシュメモリのデータを出力する
ことにより同キャッシュメモリの内部データと外部デー
タの整合性を取ることが可能になる。
Further, according to the invention of claim 4,
When the access to the bus line in the DMA controller is completed, the data in the cache memory is output, so that the consistency between the internal data and the external data in the cache memory can be maintained.

【0042】さらに、請求項5にかかる発明によれば、
DMAコントローラによって既にキャッシュメモリに書
込が行われたデータと同一のデータが再度DMAコント
ローラから出力された場合は、外部と整合性がとれてい
ると判断して、このデータをバス線上に出力しないこと
により、バス上にデータが流れないため、よりDMAコ
ントローラにおけるデータ転送を高速化することが可能
になる。
Further, according to the invention of claim 5,
If the same data as the data that has already been written to the cache memory by the DMA controller is output from the DMA controller again, it is determined that there is consistency with the outside, and this data is not output on the bus line. As a result, since data does not flow on the bus, it is possible to further speed up data transfer in the DMA controller.

【0043】さらに、請求項6にかかる発明によれば、
直接、キャッシュメモリの記憶領域を指定できるため、
DMAコントローラからデータ転送要求のあったデータ
のアドレスの同キャッシュメモリ上での有無を判断する
必要がないため、よりDMAコントローラにおけるデー
タ転送を高速化することが可能になる。
Further, according to the invention of claim 6,
Because you can directly specify the storage area of the cache memory,
Since it is not necessary to determine the presence or absence of the address of the data requested to be transferred from the DMA controller in the same cache memory, it is possible to further speed up the data transfer in the DMA controller.

【0044】さらに、請求項7にかかる発明によれば、
簡易に構成とともに、DMAコントローラからバスに対
するアクセスを簡素化することにより、DMAコントロ
ーラにおけるデータ転送を高速化することが可能なデー
タ転送装置の制御方法の提供することができる。
Further, according to the seventh aspect of the present invention,
By simplifying the configuration and simplifying the access from the DMA controller to the bus, it is possible to provide a control method of a data transfer device that can speed up data transfer in the DMA controller.

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

【図1】本実施形態の一実施形態にかかるデータ転送装
置の構成を示すブロック図である。
FIG. 1 is a block diagram illustrating a configuration of a data transfer device according to an embodiment of the present invention.

【図2】同データ転送装置が備えるキャッシュメモリの
構成を示すブロック図である。
FIG. 2 is a block diagram showing a configuration of a cache memory included in the data transfer device.

【図3】同キャッシュメモリが実行するデータ転送制御
の処理内容を示すフローチャートである。
FIG. 3 is a flowchart showing processing contents of data transfer control executed by the cache memory.

【図4】同データ転送制御であるリードアクセスデータ
転送の処理内容を示すフローチャートである。
FIG. 4 is a flowchart showing processing contents of read access data transfer as the data transfer control.

【図5】同データ転送制御であるライトアクセスデータ
転送の処理内容を示すフローチャートである。
FIG. 5 is a flowchart showing processing contents of write access data transfer as the data transfer control.

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

100 データ転送装置 120 CPU 130 I/Oインターフェース 140 DMAコントローラ 150 バス線 160 キャッシュメモリ Reference Signs List 100 data transfer device 120 CPU 130 I / O interface 140 DMA controller 150 bus line 160 cache memory

Claims (7)

【特許請求の範囲】[Claims] 【請求項1】 複数のRAMチップによって構成され処
理の結果等を一時的に記憶する主メモリと、 上記主メモリのメモリコントローラに対してリード・ラ
イトの実行要求を出力するCPUと、 上記CPUの介在を受けないで上記主メモリとデータの
転送を実行するDMAコントローラと、 同DMAコントローラと上記主メモリと上記CPUとを
接続するバス線と、 上記DMAコントローラと同バス線の間に設置されたキ
ャッシュメモリとを具備することを特徴とするデータ転
送装置。
1. A main memory constituted by a plurality of RAM chips and temporarily storing processing results and the like; a CPU for outputting a read / write execution request to a memory controller of the main memory; A DMA controller for executing data transfer with the main memory without intervention, a bus line connecting the DMA controller, the main memory, and the CPU, and a DMA line between the DMA controller and the bus line; A data transfer device comprising a cache memory.
【請求項2】 上記請求項1に記載のデータ転送装置に
おいて、 上記キャッシュメモリは、上記DMAコントローラが上
記主メモリに対してデータの読み出しを行うときに、同
読み出しを実行するデータが同キャッシュメモリに存在
するときは、同キャッシュメモリのデータを上記DMA
コントローラに出力するキャッシュメモリ制御手段を有
することを特徴とするデータ転送装置。
2. The data transfer device according to claim 1, wherein when the DMA controller reads data from the main memory, the data to be read is the same as the cache memory. When the data exists in the cache memory,
A data transfer device comprising a cache memory control means for outputting to a controller.
【請求項3】 上記請求項1または請求項2のいずれか
に記載のデータ転送装置において、 上記キャッシュメモリ制御手段は、上記DMAコントロ
ーラが上記バス線に対してデータを出力する場合に、同
データを上記キャッシュメモリに書き込むことを特徴と
するデータ転送装置。
3. The data transfer device according to claim 1, wherein said cache memory control means is configured to output said data when said DMA controller outputs data to said bus line. A data transfer device for writing the data to the cache memory.
【請求項4】 上記請求項1〜請求項3のいずれかに記
載のデータ転送装置において、 上記キャッシュメモリ制御手段は、上記DMAコントロ
ーラの動作が終了した場合に、上記キャッシュメモリ内
部のデータを全て上記バス線に出力することを特徴とす
るデータ転送装置。
4. The data transfer device according to claim 1, wherein the cache memory control means deletes all data in the cache memory when the operation of the DMA controller ends. A data transfer device for outputting to the bus line.
【請求項5】 上記請求項1〜請求項4のいずれかに記
載のデータ転送装置において、 上記キャッシュメモリ制御手段は、上記DMAコントロ
ーラからデータの出力要求を受信して、同データが上記
キャッシュメモリの記憶領域に存在する場合は、同デー
タを上記バス線に出力しないことを特徴とするデータ転
送装置。
5. The data transfer device according to claim 1, wherein said cache memory control means receives a data output request from said DMA controller and stores said data in said cache memory. A data transfer device that does not output the same data to the bus line when the data transfer device exists in the storage area.
【請求項6】 上記請求項1〜請求項5のいずれかに記
載のデータ転送装置において、 上記キャッシュメモリ制御手段は、上記DMAコントロ
ーラに設定されたデータ転送に関する設定データである
先頭アドレス番号を、上記キャッシュメモリが有する記
憶領域のアドレス番号に書き換えるアドレス編集手段を
有することを特徴とするデータ転送装置。
6. The data transfer device according to claim 1, wherein said cache memory control means includes: a first address number which is setting data relating to data transfer set in said DMA controller; A data transfer device comprising an address editing means for rewriting an address number of a storage area of the cache memory.
【請求項7】 キャッシュメモリをDMAコントローラ
とバス線の間に設置して、同DMAコントローラから上
記バス線に接続された他のメモリに対してデータ出力が
有る場合には、同データを上記キャッシュメモリに格納
するとともに、上記DMAコントローラへのデータ入力
がある場合には、上記キャッシュメモリ上のデータを検
索するとともに、上記データ入力と同一のデータが同キ
ャッシュメモリに有る場合は同データを上記DMAコン
トローラに出力することを特徴とするデータ転送装置の
データ転送制御方法。
7. A cache memory is provided between a DMA controller and a bus line. When data is output from the DMA controller to another memory connected to the bus line, the data is transferred to the cache memory. The data is stored in the memory, and when there is a data input to the DMA controller, the data in the cache memory is searched. When the same data as the data input exists in the same cache memory, the data is transferred to the DMA controller. A data transfer control method for a data transfer device, characterized by outputting to a controller.
JP10048130A 1998-02-27 1998-02-27 Data transfer device and data transfer control method therefor Pending JPH11249961A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10048130A JPH11249961A (en) 1998-02-27 1998-02-27 Data transfer device and data transfer control method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10048130A JPH11249961A (en) 1998-02-27 1998-02-27 Data transfer device and data transfer control method therefor

Publications (1)

Publication Number Publication Date
JPH11249961A true JPH11249961A (en) 1999-09-17

Family

ID=12794758

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10048130A Pending JPH11249961A (en) 1998-02-27 1998-02-27 Data transfer device and data transfer control method therefor

Country Status (1)

Country Link
JP (1) JPH11249961A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1323529C (en) * 2003-04-28 2007-06-27 华为技术有限公司 A method of inner data transmission for digital signal processor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1323529C (en) * 2003-04-28 2007-06-27 华为技术有限公司 A method of inner data transmission for digital signal processor

Similar Documents

Publication Publication Date Title
JP2001229115A (en) Atapi command processing system
JPH11249961A (en) Data transfer device and data transfer control method therefor
US6718405B2 (en) Hardware chain pull
JP2005267148A (en) Memory controller
JP3705354B2 (en) IO access control method and program for information processing system
JP4431492B2 (en) Data transfer unit that supports multiple coherency granules
JPS6022376B2 (en) Cache memory control device
JP3039391B2 (en) Memory system
JPH1063574A (en) Processor with cache memory
JP3052460B2 (en) Cooperative processing type information processing device
JP2621793B2 (en) Multiplex method of bus cycle
JPH0447350A (en) Main storage read/response control
JPH11338774A (en) Information processor, its system bus optimizing method and recording medium recording control program therefor
JPH03137736A (en) Operation tracing system for micro processor
JP2021152811A (en) Memory control device
JP2802109B2 (en) Memory access control method
JPH07210454A (en) High-speed processor
JP3299147B2 (en) Cache control circuit
JP2001229074A (en) Memory controller and information processor and memory control chip
JP2002182901A (en) Coprocessor data access controller, its method and its instruction format
JPH08123725A (en) Write-back type cache system
JP2002259209A (en) Arithmetic processing system
JPH04291642A (en) Cache control system
JP2964504B2 (en) Document processing device
JPH08272411A (en) Ladder instruction processor