JPH09128324A - Device and method for controlling data transfer - Google Patents

Device and method for controlling data transfer

Info

Publication number
JPH09128324A
JPH09128324A JP7283178A JP28317895A JPH09128324A JP H09128324 A JPH09128324 A JP H09128324A JP 7283178 A JP7283178 A JP 7283178A JP 28317895 A JP28317895 A JP 28317895A JP H09128324 A JPH09128324 A JP H09128324A
Authority
JP
Japan
Prior art keywords
data
address
cache line
external device
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP7283178A
Other languages
Japanese (ja)
Inventor
Hirosuke Omori
啓輔 大森
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP7283178A priority Critical patent/JPH09128324A/en
Publication of JPH09128324A publication Critical patent/JPH09128324A/en
Withdrawn legal-status Critical Current

Links

Landscapes

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

Abstract

PROBLEM TO BE SOLVED: To prevent an arbitration and to prevent the deterioration of processing efficiency by providing a converting means, receiving a main storage address being the address of a main storage device where data to be transferred are stored from an external device and converting it into a cache line boundary address based on the cache line size of a cache memory. SOLUTION: An address converting part 8 receives the address of a main memory 4 where data to be transferred is stored, which is transmitted from the external device 11, and converts the address into the cache line boundary address based on the cache line size of the cache memory 3. Moreover, an address converting part 8 calculates difference between the address from the external device 11 and the cach line boundary address, supplies a value corresponding to it to an address offset counter 7 as an address offset and permits the counter 7 to store it.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、データ転送制御装
置およびデータ転送制御方法に関する。特に、キャッシ
ュメモリを有する情報処理装置から外部デバイスに、デ
ータを転送する場合などに用いて好適なデータ転送制御
装置およびデータ転送制御方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data transfer control device and a data transfer control method. In particular, the present invention relates to a data transfer control device and a data transfer control method suitable for use when transferring data from an information processing device having a cache memory to an external device.

【0002】[0002]

【従来の技術】最近のコンピュータ(情報処理装置)に
は、メモリとして、メインメモリ(主記憶装置)の他
に、高速なキャッシュメモリ(cache memory)が備えら
れており、メインメモリの記憶内容を、キャッシュメモ
リにコピーし、CPU(中央演算処理装置)がメモリに
対するアクセスが必要なときに、メインメモリではな
く、キャッシュメモリにアクセスするようにすること
で、処理の高速化が図られている。
2. Description of the Related Art Recent computers (information processing devices) have a high-speed cache memory as a memory in addition to a main memory (main storage device). In order to speed up the process, the data is copied to the cache memory, and when the CPU (central processing unit) needs to access the memory, the cache memory is accessed instead of the main memory.

【0003】図5は、そのような従来のコンピュータシ
ステムの一例の構成を示している。ROM1には、シス
テムプログラム(マイクロプログラムを含む)などが記
憶されている。CPU2は、ROM1に記憶されている
システムプログラムの制御の下、必要に応じて、キャッ
シュメモリ3またはメインメモリ4にアクセスしながら
所定の処理を実行するようになされている。キャッシュ
メモリ3は、CPU2からのアクセス頻度が高いデータ
を、メインメモリ4から読み出して記憶するようになさ
れている。メインメモリ4は、CPU2の動作上必要な
データやCPU2が実行すべきプログラムその他を記憶
するようになされている。
FIG. 5 shows the configuration of an example of such a conventional computer system. The ROM 1 stores system programs (including microprograms) and the like. The CPU 2 is configured to execute a predetermined process while accessing the cache memory 3 or the main memory 4 as necessary under the control of the system program stored in the ROM 1. The cache memory 3 is configured to read data that is frequently accessed by the CPU 2 from the main memory 4 and store the data. The main memory 4 stores data necessary for the operation of the CPU 2, programs to be executed by the CPU 2, and the like.

【0004】DMAバスコントローラ5は、外部デバイ
ス11から、I/O(Input/Output)バスを介して、D
MAの要求があった場合に、バスの使用権(制御権)の
調整を、CPU2との間で行い、バスの使用権を獲得す
ると(アービトレーションがとれると)、DMAによる
データ転送、即ち、CPU2を介さずに、外部デバイス
11から送信されてくるデータを、キャッシュメモリ3
に書き込み、またはキャッシュメモリ3に記憶されたデ
ータを読み出して、外部デバイス11に転送するように
なされている。
The DMA bus controller 5 receives a D signal from an external device 11 via an I / O (Input / Output) bus.
When there is a request from the MA, the bus use right (control right) is adjusted with the CPU 2, and when the bus use right is acquired (arbitration can be taken), data transfer by DMA, that is, the CPU 2 Data sent from the external device 11 without passing through the cache memory 3
Is written in or read out from the data stored in the cache memory 3 and transferred to the external device 11.

【0005】以上のROM1,CPU2、キャッシュメ
モリ3、メインメモリ4、およびDMAバスコントロー
ラ5と、I/0バスとで、コンピュータ本体が構成され
ている。
The above-mentioned ROM 1, CPU 2, cache memory 3, main memory 4, DMA bus controller 5, and I / 0 bus constitute a computer main body.

【0006】外部デバイス11は、例えば画像や音声を
処理するためのボードその他のデバイスで、I/Oバス
を介して、DMAバスコントローラ5に接続されてい
る。そして、外部デバイス11は、コンピュータ本体と
の間で、必要に応じて、データのやりとりをしながら、
所定の処理を行うようになされている。
The external device 11 is, for example, a board or other device for processing images and sounds, and is connected to the DMA bus controller 5 via the I / O bus. Then, the external device 11 exchanges data with the computer main body as necessary,
It is designed to perform a predetermined process.

【0007】なお、DMAバスコントローラ5と外部デ
バイス11との間では、転送すべきデータの他、次のよ
うな信号がやりとりされるようになされている。
In addition to the data to be transferred, the following signals are exchanged between the DMA bus controller 5 and the external device 11.

【0008】即ち、外部デバイス11からDMAバスコ
ントローラ5に対しては、DMAによるデータの転送を
要求するDMA要求信号が送信されるようになされてい
る。このDMA要求信号には、メインメモリ4に記憶さ
れたデータを読み出して外部デバイス11に転送するこ
とを要求するDMAリード(DMA read)要求信号と、外
部デバイス11が出力するデータをメインメモリ4に書
き込むことを要求するDMAライト(DMA write)要求
信号とがある。
That is, the external device 11 sends to the DMA bus controller 5 a DMA request signal for requesting data transfer by DMA. The DMA request signal includes a DMA read request signal for requesting that the data stored in the main memory 4 be read and transferred to the external device 11, and data output by the external device 11 to be transferred to the main memory 4. There is a DMA write request signal for requesting writing.

【0009】DMAバスコントローラ5から外部デバイ
ス11に対しては、アービトレーションがとれた場合
に、DMAが可能なことを示すDMA許可信号、および
DMA読み出し要求があった場合に、外部デバイス11
に、データを受信すべき区間を知らせるためのデータ有
効信号が送信されるようになされている。
When the DMA bus controller 5 issues a DMA enable signal indicating that DMA is possible and a DMA read request to the external device 11 when arbitration is performed, the external device 11 is sent.
In addition, a data valid signal for notifying a section in which data should be received is transmitted.

【0010】以上のように構成されるコンピュータで
は、例えば、図示せぬ操作部が操作されることにより、
所定のアプリケーションプログラムを実行するように指
示がなされると、CPU2は、そのアプリケーションプ
ログラムをメインメモリ4に展開して実行する。この
際、CPU2は、データを保持しておく必要があると
き、そのデータを、キャッシュメモリ3に書き込む。さ
らに、このデータは、キャッシュメモリ3に書き込まれ
るのと同時に、あるいは、その後、メインメモリ4に書
き込まれる。
In the computer configured as described above, for example, by operating an operation unit (not shown),
When an instruction is given to execute a predetermined application program, the CPU 2 expands the application program in the main memory 4 and executes it. At this time, when it is necessary to hold the data, the CPU 2 writes the data in the cache memory 3. Further, this data is written in the main memory 4 at the same time as it is written in the cache memory 3 or thereafter.

【0011】また、CPU2は、メインメモリ4に記憶
されたデータを読み出すとき、まずキャッシュメモリ3
にアクセスする。そして、CPU2は、キャッシュメモ
リ3に、そのデータが記憶されている場合には、キャッ
シュメモリ3からデータを読み出し、キャッシュメモリ
3にデータが記憶されていなければ、メインメモリ4に
アクセスしてデータを読み出すとともに、そのデータ
を、キャッシュメモリ3に記憶させる。
When the CPU 2 reads the data stored in the main memory 4, it first reads the cache memory 3.
To access. If the data is stored in the cache memory 3, the CPU 2 reads the data from the cache memory 3, and if the data is not stored in the cache memory 3, the CPU 2 accesses the main memory 4 to store the data. The data is read and the data is stored in the cache memory 3.

【0012】従って、CPU2は、基本的には、高速な
キャッシュメモリ3にアクセスし、キャッシュメモリ4
に必要なデータがなければメインメモリ4にアクセスす
るので、メインメモリ4だけしか設けられていない場合
に比較して、データのやりとりを高速に行うことができ
る。
Therefore, the CPU 2 basically accesses the high speed cache memory 3 and
Since the main memory 4 is accessed if there is no data required for the data, the data can be exchanged at a higher speed than in the case where only the main memory 4 is provided.

【0013】次に、本体と外部デバイス11との間での
データのやりとりについて説明する。外部デバイス11
は、データを、コンピュータ本体に転送する必要がある
とき、DMAライト要求信号を、DMAバスコントロー
ラ5に出力する。DMAバスコントローラ5は、DMA
ライト要求信号を受信すると、CPU2との間で、バス
の使用権の調整が行われ、その使用権を獲得すると、D
MA許可信号を外部デバイス11に出力する。
Data exchange between the main body and the external device 11 will be described below. External device 11
Outputs a DMA write request signal to the DMA bus controller 5 when it is necessary to transfer data to the computer main body. The DMA bus controller 5 is a DMA
When the write request signal is received, the bus usage right is adjusted with the CPU 2, and when the usage right is acquired, D
The MA permission signal is output to the external device 11.

【0014】外部デバイス11は、DMA許可信号を受
信すると、本体に転送すべきデータを、DMAバスコン
トローラ5に送信する。DMAバスコントローラ5は、
外部デバイス11からのデータを、CPU2を介さず
に、キャッシュメモリ3に転送して記憶させる。なお、
このデータは、キャッシュメモリ3に書き込まれるのと
同時に、あるいは、その後、メインメモリ4に書き込ま
れる。
Upon receiving the DMA permission signal, the external device 11 sends the data to be transferred to the main body to the DMA bus controller 5. The DMA bus controller 5 is
Data from the external device 11 is transferred to and stored in the cache memory 3 without going through the CPU 2. In addition,
This data is written to the main memory 4 at the same time as it is written to the cache memory 3 or thereafter.

【0015】次に、外部デバイス11は、本体から読み
出すべきデータがあるとき、DMAリード要求信号を、
DMAバスコントローラ5に出力する。DMAバスコン
トローラ5は、DMAリード要求信号を受信すると、上
述のDMAライト要求信号を受信した場合と同様にし
て、バスの使用権を獲得し、DMA許可信号を外部デバ
イス11に出力する。外部デバイス11は、DMA許可
信号を受信すると、データを受信する準備をし、データ
有効信号が送信されてくるのを待つ。
Next, the external device 11 sends a DMA read request signal when there is data to be read from the main body.
Output to the DMA bus controller 5. Upon receiving the DMA read request signal, the DMA bus controller 5 acquires the right to use the bus and outputs the DMA permission signal to the external device 11 in the same manner as when the DMA write request signal is received. Upon receiving the DMA permission signal, the external device 11 prepares to receive data and waits for the data valid signal to be transmitted.

【0016】一方、DMAバスコントローラ5は、DM
A許可信号を出力した後、外部デバイス11からDMA
要求のあったデータを、キャッシュメモリ3から読み出
す。なお、そのデータがキャッシュメモリ3に記憶され
ていない場合には、DMAバスコントローラ5は、その
データを、メインメモリ4からキャッシュメモリ3に転
送させて記憶させるようになされている。
On the other hand, the DMA bus controller 5 is a DM
DMA is output from the external device 11 after the A permission signal is output.
The requested data is read from the cache memory 3. When the data is not stored in the cache memory 3, the DMA bus controller 5 transfers the data from the main memory 4 to the cache memory 3 and stores it.

【0017】DMAバスコントローラ5は、キャッシュ
メモリ3からデータを読み出すと、そのデータを、デー
タ有効信号とともに、外部デバイス11に出力する。そ
して、DMAバスコントローラ5は、データの転送(出
力)が終了すると、データ有効信号の出力も停止する。
外部デバイス11では、データ有効信号が、DMAバス
コントローラ5から出力されている間、同じくDMAバ
スコントローラ5から出力されているデータが受信され
る。
Upon reading the data from the cache memory 3, the DMA bus controller 5 outputs the data to the external device 11 together with the data valid signal. Then, when the transfer (output) of data is completed, the DMA bus controller 5 also stops outputting the data valid signal.
The external device 11 receives the data output from the DMA bus controller 5 while the data valid signal is output from the DMA bus controller 5.

【0018】以上のように、本体と外部デバイス11と
の間でのデータのやりとりが行われる場合においても、
基本的には、高速なキャッシュメモリ3に対してアクセ
スが行われるので、データのやりとりを高速に行うこと
ができる。
As described above, even when data is exchanged between the main unit and the external device 11,
Basically, since the high speed cache memory 3 is accessed, data can be exchanged at high speed.

【0019】なお、コンピュータ本体においては、外部
デバイス11に送信するデータは、上述したように、キ
ャッシュメモリ3から読み出されるが、外部デバイス1
1からは、キャッシュメモリ3は見えず、従って、外部
デバイス11では、読み出すべきデータは、そのデータ
が記憶されているメインメモリ4のアドレスによって指
定される。さらに、外部デバイス11では、そのアドレ
スを先頭アドレスとして、本体から読み出すべきデータ
のサイズ(大きさ)も指定されるようになされており、
これらのアドレスおよびサイズは、例えばDMAリード
要求信号とともに出力されるようになされている。この
ことは、外部デバイス11から本体に、データを書き込
む場合も同様である。
In the computer itself, the data to be transmitted to the external device 11 is read from the cache memory 3 as described above, but the external device 1
The cache memory 3 cannot be seen from 1 and therefore, in the external device 11, the data to be read is specified by the address of the main memory 4 in which the data is stored. Further, in the external device 11, the size (size) of the data to be read from the main body is specified by using that address as the start address.
These addresses and sizes are output together with the DMA read request signal, for example. This also applies when writing data from the external device 11 to the main body.

【0020】[0020]

【発明が解決しようとする課題】ところで、キャッシュ
メモリ3は、通常、キャッシュライン(cache line)と
呼ばれる単位に分割されており、その単位を最大のデー
タ量として、データの読み書きを行う必要がある。ここ
で、このキャッシュラインの容量(サイズ)を、以下、
適宜、キャッシュラインサイズ(cache line size)と
いう。
By the way, the cache memory 3 is usually divided into units called cache lines, and it is necessary to read and write data with this unit as the maximum amount of data. . Here, the capacity (size) of this cache line is
It is called the cache line size as appropriate.

【0021】そして、キャッシュラインに対するアクセ
スは、一般的に、アドレスの整合がとれるように行われ
るため、アクセスを開始するアドレスと、そのアドレス
から、一度にアクセスすることのできるデータ量とが制
限される。
Since the access to the cache line is generally performed so that the addresses can be matched, the address to start the access and the amount of data that can be accessed at one time from the address are limited. It

【0022】この制限は、機種やメーカによって様々で
あるが、例えば次のようなものがある。即ち、例えば、
キャッシュラインから、X(Xは、通常、1,4,8,
16,32,・・・とされる)だけのデータ量の、連続
しているデータを読み出すときに、読み出しを開始する
データの、メインメモリ4におけるアドレスの下位lo
2Xビットが0に整合していることが必要とされる場
合がある。
This limitation varies depending on the model and manufacturer, but there are the following, for example. That is, for example,
From the cache line, X (X is usually 1, 4, 8,
(16, 32, ...) When reading continuous data of a data amount only, the lower lo of the address in the main memory 4 of the data to start reading.
It may be required that the g 2 X bits match zero.

【0023】この場合、例えば、いま、キャッシュライ
ンサイズを16ワードとし(但し、1ワードは、例えば
4バイトとし、各アドレスには、例えば1バイト単位で
データが記憶されるものとする)、そのキャッシュライ
ンに、図6(A)に示すように、メインメモリ4におけ
るアドレスが0x00乃至0x3fの16ワードのデー
タが記憶されているとき(0xは、それに続く数値が1
6進数であることを表す)、キャッシュラインから1度
のアクセスで読み出すことのできるデータの範囲と、そ
の先頭アドレスとは、同図(B)乃至(E)に示すよう
になる。
In this case, for example, assume that the cache line size is 16 words (where 1 word is, for example, 4 bytes, and each address stores data, for example, in 1-byte units). As shown in FIG. 6 (A), when 16 words of data at addresses 0x00 to 0x3f in the main memory 4 are stored in the cache line (0x indicates that the value following it is 1).
A hexadecimal number), a range of data that can be read from the cache line with one access, and the start address thereof are as shown in FIGS.

【0024】即ち、アドレス0x00を先頭アドレスと
してデータを読み出す場合は、図(B)乃至(E)にそ
れぞれ示したように、16,8,4、または1ワードの
データを読み出すことができる。また、アドレス0x2
0を先頭アドレスとしてデータを読み出す場合は、図
(C)乃至(E)それぞれに示したように、8,4、ま
たは1ワードのデータを読み出すことができる。さら
に、アドレス0x10または0x30を先頭アドレスと
してデータを読み出す場合は、図(D)または(E)そ
れぞれに示したように、4または1ワードのデータを読
み出すことができる。そして、上述したアドレス以外を
先頭アドレスとしてデータを読み出す場合には、図
(E)に示したように、1ワードのデータを読み出すこ
とができる。
That is, when the data is read using the address 0x00 as the start address, data of 16, 8, 4, or 1 word can be read as shown in FIGS. Also, the address 0x2
When data is read with 0 as the start address, data of 8, 4 or 1 word can be read as shown in each of FIGS. Furthermore, when data is read using the address 0x10 or 0x30 as the start address, data of 4 or 1 word can be read as shown in FIG. Then, when data is read using a head address other than the above-mentioned addresses, one word of data can be read as shown in FIG.

【0025】このため、外部デバイス11は、例えば、
図6(F)に示すように、アドレス0x08乃至0x3
7に記憶された12ワードのデータC乃至Nを本体から
読み出そうとするとき、同図(G)に示すように、少な
くとも、アドレス0x08,0x0aそれぞれから1ワ
ードのデータのDMAを順次要求し、その後、アドレス
0x10,0x20それぞれから4ワードのデータのD
MAを順次要求し、さらに、アドレス0x30,0x3
4それぞれから1ワードのデータのDMAを順次要求す
る必要がある。
Therefore, the external device 11 is, for example,
As shown in FIG. 6F, addresses 0x08 to 0x3
When attempting to read the 12-word data C to N stored in 7 from the main body, as shown in FIG. 7G, at least a DMA of 1-word data is sequentially requested from addresses 0x08 and 0x0a, respectively. , And then D of 4-word data from addresses 0x10 and 0x20
MAs are sequentially requested, and addresses 0x30 and 0x3 are further requested.
4 It is necessary to sequentially request the DMA of 1-word data from each of them.

【0026】即ち、アドレス0x08乃至0x37に連
続して記憶された12ワードのデータを読み出すのに、
外部デバイス11は、図7に示すように、DMAを、少
なくとも6回に分割して要求する必要がある。
That is, in order to read 12-word data continuously stored at addresses 0x08 to 0x37,
As shown in FIG. 7, the external device 11 needs to request the DMA by dividing it into at least 6 times.

【0027】ここで、図8に、アドレス0x08乃至0
x37に連続して記憶された12ワードのデータを読み
出す場合のタイミングチャートを示す。なお、同図にお
いては(後述する図4においても同様)、アクティブロ
ー(active low)で、各信号を図示してある。
Here, in FIG. 8, addresses 0x08 to 0
The timing chart at the time of reading the data of 12 words memorize | stored continuously at x37 is shown. In addition, in the same figure (similarly also in FIG. 4 which will be described later), each signal is shown as active low.

【0028】まず、外部デバイス11において、アドレ
ス0x08から1ワードのデータの読み出しを要求する
ために、DMAリード要求信号がHレベルからLレベル
にされ(図8(A))、これにより、DMAバスコント
ローラ5において、アービトレーション(CPU2との
バスの使用権の調整)が行われる。そして、アービトレ
ーションがとれると、DMAバスコントローラ5は、D
MA許可信号を所定の期間だけLレベルにし(図8
(B))、これが、外部デバイス11で受信されると、
DMAリード要求信号がLレベルからHレベルにされる
(図8(A))。
First, in the external device 11, the DMA read request signal is changed from the H level to the L level in order to request the reading of 1-word data from the address 0x08 (FIG. 8 (A)). Arbitration (adjustment of the right to use the bus with the CPU 2) is performed in the controller 5. When the arbitration is completed, the DMA bus controller 5
The MA permission signal is set to L level for a predetermined period (see FIG. 8).
(B)), when this is received by the external device 11,
The DMA read request signal is changed from L level to H level (FIG. 8A).

【0029】さらに、DMAバスコントローラ5は、D
MA許可信号をLレベルにした後、キャッシュメモリ3
より、アドレス0x08から1ワードのデータ、即ち、
データCを読み出し、データ有効信号をLレベルにし
て、データCを、外部デバイス11に転送する。そし
て、DMAバスコントローラ5は、外部デバイス11へ
のデータCの転送を終了すると、データ有効信号をHレ
ベルにする。
Further, the DMA bus controller 5 is
After setting the MA permission signal to the L level, the cache memory 3
From the address 0x08, 1 word of data, that is,
The data C is read, the data valid signal is set to the L level, and the data C is transferred to the external device 11. Then, when the DMA bus controller 5 finishes the transfer of the data C to the external device 11, it sets the data valid signal to the H level.

【0030】以下、同様にして、アドレス0x0aから
1ワードのデータD、アドレス0x10から4ワードの
データE乃至H、アドレス0x20から4ワードのデー
タI乃至L、アドレス0x30から1ワードのデータ
M、アドレス0x34から1ワードのデータNが、外部
デバイス11に転送される。
In the same manner, address 0x0a to 1-word data D, address 0x10 to 4-word data E to H, address 0x20 to 4-word data I to L, address 0x30 to 1-word data M, address One word of data N from 0x34 is transferred to the external device 11.

【0031】以上のように、DMAの要求があると、そ
のたびにアービトレーションが生じるため、DMAが頻
繁に要求されると、アービトレーションも頻繁に生じ、
これにより、コンピュータの処理の効率が悪化する課題
があった。
As described above, when there is a request for DMA, arbitration occurs each time. Therefore, when DMA is requested frequently, arbitration also occurs frequently.
As a result, there has been a problem that the processing efficiency of the computer deteriorates.

【0032】本発明は、このような状況に鑑みてなされ
たものであり、処理効率の悪化を防止することができる
ようにするものである。
The present invention has been made in view of such a situation, and makes it possible to prevent deterioration of processing efficiency.

【0033】[0033]

【課題を解決するための手段】請求項1に記載のデータ
転送制御装置は、外部デバイスから、転送すべきデータ
が記憶された主記憶装置のアドレスである主記憶アドレ
スを受信し、その主記憶アドレスを、キャッシュメモリ
のキャッシュラインサイズに基づいて、キャッシュライ
ンバウンダリアドレスに変換する変換手段と、情報処理
装置に対し、キャッシュラインバウンダリアドレスか
ら、キャッシュラインサイズ分のデータの転送を要求す
る要求手段と、要求手段の要求に対応して、情報処理装
置から転送されてくるキャッシュラインサイズ分のデー
タを記憶する記憶手段と、主記憶アドレスとキャッシュ
ラインバウンダリアドレスとの差に対応して、記憶手段
に記憶されたキャッシュラインサイズ分のデータのう
ち、主記憶アドレスからのデータを、外部デバイスに報
知する報知手段とを備えることを特徴とする。
A data transfer control device according to claim 1 receives a main memory address, which is an address of a main memory device in which data to be transferred is stored, from an external device, and the main memory is received. Conversion means for converting the address into a cache line boundary address based on the cache line size of the cache memory; and request means for requesting the information processing device to transfer the data of the cache line size from the cache line boundary address. In response to the request of the requesting means, the storing means for storing the data of the cache line size transferred from the information processing device, and the storing means for the difference between the main memory address and the cache line boundary address Of the stored cache line size data, is it the main memory address? The data, characterized in that it comprises a notifying means for informing an external device.

【0034】請求項3に記載のデータ転送制御方法は、
外部デバイスから、転送すべきデータが記憶された主記
憶装置のアドレスである主記憶アドレスを受信し、その
主記憶アドレスを、キャッシュメモリのキャッシュライ
ンサイズに基づいて、キャッシュラインバウンダリアド
レスに変換し、情報処理装置に対し、キャッシュライン
バウンダリアドレスから、キャッシュラインサイズ分の
データの転送を要求し、その要求に対応して、情報処理
装置から転送されてくるキャッシュラインサイズ分のデ
ータを記憶し、主記憶アドレスとキャッシュラインバウ
ンダリアドレスとの差に対応して、記憶されたキャッシ
ュラインサイズ分のデータのうち、主記憶アドレスから
のデータを、外部デバイスに報知することを特徴とす
る。
A data transfer control method according to claim 3 is
From the external device, receives a main memory address that is the address of the main memory device in which the data to be transferred is stored, and converts the main memory address to a cache line boundary address based on the cache line size of the cache memory, The information processing device is requested to transfer the data of the cache line size from the cache line boundary address, and the data of the cache line size transferred from the information processing device is stored in response to the request. The data from the main memory address among the stored data of the cache line size is notified to the external device in correspondence with the difference between the memory address and the cache line boundary address.

【0035】請求項4に記載のデータ転送制御装置は、
外部デバイスから、転送すべきデータが記憶された主記
憶装置のアドレスである主記憶アドレスを受信し、その
主記憶アドレスを、キャッシュメモリのキャッシュライ
ンサイズに基づいて、キャッシュラインバウンダリアド
レスに変換する変換手段と、情報処理装置に対し、キャ
ッシュラインバウンダリアドレスから、キャッシュライ
ンサイズ分のデータの転送を要求する要求手段と、要求
手段の要求に対応して、情報処理装置から転送されてく
るキャッシュラインサイズ分のデータを記憶する記憶手
段と、主記憶アドレスとキャッシュラインバウンダリア
ドレスとの差に対応して、記憶手段に記憶されたキャッ
シュラインサイズ分のデータのうち、主記憶アドレスか
らのデータを、外部デバイスに出力する出力手段とを備
えることを特徴とする。
A data transfer control device according to a fourth aspect is
A conversion that receives a main memory address, which is the address of the main memory device in which the data to be transferred is stored, from the external device, and converts the main memory address into a cache line boundary address based on the cache line size of the cache memory And a requesting means for requesting the information processing apparatus to transfer data of a cache line size from the cache line boundary address, and a cache line size transferred from the information processing apparatus in response to the request of the requesting means. Data corresponding to the cache line size stored in the storage means corresponding to the difference between the main storage address and the cache line boundary address. An output means for outputting to the device, That.

【0036】請求項1に記載のデータ転送制御装置にお
いては、変換手段は、外部デバイスから、転送すべきデ
ータが記憶された主記憶装置のアドレスである主記憶ア
ドレスを受信し、その主記憶アドレスを、キャッシュメ
モリのキャッシュラインサイズに基づいて、キャッシュ
ラインバウンダリアドレスに変換するようになされてい
る。要求手段は、情報処理装置に対し、キャッシュライ
ンバウンダリアドレスから、キャッシュラインサイズ分
のデータの転送を要求し、記憶手段は、要求手段の要求
に対応して、情報処理装置から転送されてくるキャッシ
ュラインサイズ分のデータを記憶するようになされてい
る。報知手段は、主記憶アドレスとキャッシュラインバ
ウンダリアドレスとの差に対応して、記憶手段に記憶さ
れたキャッシュラインサイズ分のデータのうち、主記憶
アドレスからのデータを、外部デバイスに報知するよう
になされている。
In the data transfer control device according to the first aspect, the converting means receives from the external device a main memory address which is an address of the main memory device in which the data to be transferred is stored, and the main memory address. Is converted into a cache line boundary address based on the cache line size of the cache memory. The requesting means requests the information processing apparatus to transfer the data of the cache line size from the cache line boundary address, and the storing means responds to the request of the requesting means and the cache transferred from the information processing apparatus. The line size data is stored. The notifying means notifies the external device of the data from the main memory address among the data of the cache line size stored in the memory means, corresponding to the difference between the main memory address and the cache line boundary address. Has been done.

【0037】請求項3に記載のデータ転送制御方法にお
いては、外部デバイスから、転送すべきデータが記憶さ
れた主記憶装置のアドレスである主記憶アドレスを受信
し、その主記憶アドレスを、キャッシュメモリのキャッ
シュラインサイズに基づいて、キャッシュラインバウン
ダリアドレスに変換し、情報処理装置に対し、キャッシ
ュラインバウンダリアドレスから、キャッシュラインサ
イズ分のデータの転送を要求し、その要求に対応して、
情報処理装置から転送されてくるキャッシュラインサイ
ズ分のデータを記憶し、主記憶アドレスとキャッシュラ
インバウンダリアドレスとの差に対応して、記憶された
キャッシュラインサイズ分のデータのうち、主記憶アド
レスからのデータを、外部デバイスに報知するようにな
されている。
In the data transfer control method according to the third aspect, a main memory address, which is an address of a main memory device in which data to be transferred is stored, is received from an external device, and the main memory address is used as a cache memory. Based on the cache line size of, the cache line boundary address is converted, the information processing device is requested to transfer the data of the cache line size from the cache line boundary address, and in response to the request,
Stores data of the cache line size transferred from the information processing device, and stores the data of the cache line size from the main memory address corresponding to the difference between the main memory address and the cache line boundary address. The above data is notified to an external device.

【0038】請求項4に記載のデータ転送制御装置にお
いては、変換手段は、外部デバイスから、転送すべきデ
ータが記憶された主記憶装置のアドレスである主記憶ア
ドレスを受信し、その主記憶アドレスを、キャッシュメ
モリのキャッシュラインサイズに基づいて、キャッシュ
ラインバウンダリアドレスに変換するようになされてい
る。要求手段は、情報処理装置に対し、キャッシュライ
ンバウンダリアドレスから、キャッシュラインサイズ分
のデータの転送を要求し、記憶手段は、要求手段の要求
に対応して、情報処理装置から転送されてくるキャッシ
ュラインサイズ分のデータを記憶するようになされてい
る。出力手段は、主記憶アドレスとキャッシュラインバ
ウンダリアドレスとの差に対応して、記憶手段に記憶さ
れたキャッシュラインサイズ分のデータのうち、主記憶
アドレスからのデータを、外部デバイスに出力するよう
になされている。
According to another aspect of the data transfer control device of the present invention, the converting means receives from the external device a main memory address which is an address of a main memory device in which data to be transferred is stored, and the main memory address is received. Is converted into a cache line boundary address based on the cache line size of the cache memory. The requesting means requests the information processing apparatus to transfer the data of the cache line size from the cache line boundary address, and the storing means responds to the request of the requesting means and the cache transferred from the information processing apparatus. The line size data is stored. The output means outputs the data from the main storage address, out of the data of the cache line size stored in the storage means, to the external device in correspondence with the difference between the main storage address and the cache line boundary address. Has been done.

【0039】[0039]

【発明の実施の形態】以下に、本発明の実施例を説明す
るが、その前に、特許請求の範囲に記載の発明の各手段
と以下の実施例との対応関係を明らかにするために、各
手段の後の括弧内に、対応する実施例(但し、一例)を
付加して、本発明の特徴を記述すると、次のようにな
る。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Embodiments of the present invention will be described below, but before that, in order to clarify the correspondence between each means of the invention described in the claims and the following embodiments. The features of the present invention are described as follows by adding a corresponding embodiment (however, an example) in parentheses after each means.

【0040】即ち、請求項1に記載のデータ転送制御装
置は、少なくとも主記憶装置(例えば、図1に示すメイ
ンメモリ4など)およびキャッシュメモリ(例えば、図
1に示すキャッシュメモリ3など)を有する情報処理装
置(例えば、図1に示すコンピュータ本体など)におい
て、外部デバイス(例えば、図1に示す外部デバイス1
1など)へ転送するデータの読み出しが、キャッシュメ
モリから行われるときに、そのデータの転送を制御する
データ転送制御装置であって、外部デバイスから、転送
すべきデータが記憶された主記憶装置のアドレスである
主記憶アドレスを受信し、その主記憶アドレスを、キャ
ッシュメモリのキャッシュラインサイズに基づいて、キ
ャッシュラインバウンダリアドレスに変換する変換手段
(例えば、図1に示すアドレス変換部8など)と、情報
処理装置に対し、キャッシュラインバウンダリアドレス
から、キャッシュラインサイズ分のデータの転送を要求
する要求手段(例えば、図1に示すアドレス変換部8な
ど)と、要求手段の要求に対応して、情報処理装置から
転送されてくるキャッシュラインサイズ分のデータを記
憶する記憶手段(例えば、図1に示すFIFO(First
In First Out)メモリ10など)と、主記憶アドレスと
キャッシュラインバウンダリアドレスとの差に対応し
て、記憶手段に記憶されたキャッシュラインサイズ分の
データのうち、主記憶アドレスからのデータを、外部デ
バイスに報知する報知手段(例えば、図1に示すFIF
O制御部9など)とを備えることを特徴とする。
That is, the data transfer control device according to claim 1 has at least a main storage device (for example, the main memory 4 shown in FIG. 1) and a cache memory (for example, cache memory 3 shown in FIG. 1). In an information processing apparatus (for example, the computer main body shown in FIG. 1), an external device (for example, external device 1 shown in FIG. 1)
(1 etc.) is a data transfer control device that controls the transfer of data when the data to be transferred to the main memory device is stored from a cache memory. Translating means for receiving a main memory address which is an address and translating the main memory address into a cache line boundary address based on the cache line size of the cache memory (for example, the address translating unit 8 shown in FIG. 1), Requesting means (for example, the address converting unit 8 shown in FIG. 1) for requesting the information processing device to transfer the data of the cache line size from the cache line boundary address, and information corresponding to the request of the requesting means. Storage means for storing the data of the cache line size transferred from the processing device ( In example, FIFO shown in Figure 1 (First
(In First Out) the memory 10 or the like) and the data from the main storage address among the data of the cache line size stored in the storage means corresponding to the difference between the main storage address and the cache line boundary address. Informing means for informing the device (for example, the FIF shown in FIG.
O control unit 9 and the like).

【0041】請求項2に記載のデータ転送制御装置は、
情報処理装置が、要求手段によるデータの転送の要求が
あったときに、DMA(Direct Memory Access)によっ
て、データを、キャッシュメモリから転送するDMAコ
ントローラ(例えば、図1に示すDMAバスコントロー
ラ5など)をさらに有することを特徴とする。
The data transfer control device according to claim 2 is
A DMA controller that transfers data from a cache memory by DMA (Direct Memory Access) when the information processing device requests data transfer by the requesting means (for example, the DMA bus controller 5 shown in FIG. 1). Is further included.

【0042】請求項4に記載のデータ転送制御装置は、
少なくとも主記憶装置(例えば、図1に示すメインメモ
リ4など)およびキャッシュメモリ(例えば、図1に示
すキャッシュメモリ3など)を有する情報処理装置(例
えば、図1に示すコンピュータ本体など)において、外
部デバイス(例えば、図1に示す外部デバイス11な
ど)へ転送するデータの読み出しが、キャッシュメモリ
から行われるときに、そのデータの転送を制御するデー
タ転送制御装置であって、外部デバイスから、転送すべ
きデータが記憶された主記憶装置のアドレスである主記
憶アドレスを受信し、その主記憶アドレスを、キャッシ
ュメモリのキャッシュラインサイズに基づいて、キャッ
シュラインバウンダリアドレスに変換する変換手段(例
えば、図1に示すアドレス変換部8など)と、情報処理
装置に対し、キャッシュラインバウンダリアドレスか
ら、キャッシュラインサイズ分のデータの転送を要求す
る要求手段(例えば、図1に示すアドレス変換部8な
ど)と、要求手段の要求に対応して、情報処理装置から
転送されてくるキャッシュラインサイズ分のデータを記
憶する記憶手段(例えば、図1に示すFIFOメモリ1
0など)と、主記憶アドレスとキャッシュラインバウン
ダリアドレスとの差に対応して、記憶手段に記憶された
キャッシュラインサイズ分のデータのうち、主記憶アド
レスからのデータを、外部デバイスに出力する出力手段
(例えば、FIFO制御部9など)とを備えることを特
徴とする。
The data transfer control device according to claim 4 is
In an information processing device (for example, a computer main body shown in FIG. 1) having at least a main storage device (for example, main memory 4 shown in FIG. 1) and a cache memory (for example, cache memory 3 shown in FIG. 1), A data transfer control device that controls the transfer of data when the data to be transferred to a device (for example, the external device 11 shown in FIG. 1) is read from the cache memory. To receive a main memory address which is an address of a main memory device in which data to be stored is stored, and to convert the main memory address into a cache line boundary address based on the cache line size of the cache memory (for example, FIG. 1). Address translation unit 8) and the information processing device. From the boundary boundary address, a requesting unit (for example, the address converting unit 8 shown in FIG. 1) for requesting the transfer of the data of the cache line size, and the information processing device in response to the request of the requesting unit are transferred. Storage means for storing data for the incoming cache line size (for example, the FIFO memory 1 shown in FIG.
0 or the like) and the output from the main storage address of the data of the cache line size stored in the storage means corresponding to the difference between the main storage address and the cache line boundary address to the external device. Means (for example, the FIFO control unit 9) are provided.

【0043】なお、勿論この記載は、各手段を上記した
ものに限定することを意味するものではない。
Of course, this description does not mean that each means is limited to the above.

【0044】図1は、本発明を適用したコンピュータシ
ステムの一実施例の構成を示している。なお、図中、図
5における場合と対応する部分については、同一の符号
を付してあり、以下では、その説明は、適宜省略する。
即ち、このコンピュータシステムは、データ転送制御部
6が新たに設けられ、コンピュータ本体と、外部デバイ
ス11とが、このデータ転送制御部6を介して接続され
ている他は、図5のコンピュータシステムと同様に構成
されている。
FIG. 1 shows the configuration of an embodiment of a computer system to which the present invention is applied. In the figure, portions corresponding to those in FIG. 5 are denoted by the same reference numerals, and a description thereof will be omitted as appropriate below.
That is, in this computer system, the data transfer control unit 6 is newly provided, and the computer main body and the external device 11 are connected via the data transfer control unit 6 and the computer system of FIG. It is similarly configured.

【0045】データ転送制御部6は、アドレスオフセッ
トカウンタ7、アドレス変換部8、FIFO制御部9、
およびFIFOメモリ10で構成されている。アドレス
オフセットカウンタ7は、アドレス変換部8から供給さ
れる、後述するアドレスオフセットを記憶するようにな
されている。そして、アドレスオフセットカウンタ7
は、FIFO制御部9の制御にしたがって、その記憶値
を1ずつデインクリメントするようになされている。
The data transfer control unit 6 includes an address offset counter 7, an address conversion unit 8, a FIFO control unit 9,
And a FIFO memory 10. The address offset counter 7 is configured to store an address offset, which will be described later, supplied from the address conversion unit 8. Then, the address offset counter 7
Under the control of the FIFO control unit 9, the storage value is decremented by one.

【0046】アドレス変換部8は、外部デバイス11か
ら送信されてくる、転送すべきデータが記憶されたメイ
ンメモリ4のアドレス(主記憶アドレス)を受信し、そ
のアドレスを、キャッシュメモリ3のキャッシュライン
サイズに基づいて、後述するようなキャッシュラインバ
ウンダリアドレス(cache line boundary addrress)に
変換するようになされている。なお、キャッシュライン
サイズは、コンピュータ本体からアドレス変換部8に報
知されるようになされている。
The address conversion unit 8 receives the address (main memory address) of the main memory 4 in which the data to be transferred is stored, which is transmitted from the external device 11, and uses that address as the cache line of the cache memory 3. Based on the size, it is adapted to be converted into a cache line boundary address (cache line boundary addrress) as described later. The cache line size is notified from the computer body to the address conversion unit 8.

【0047】さらに、アドレス変換部8は、外部デバイ
ス11からのアドレスとキャッシュラインバウンダリア
ドレスとの差を計算し、これに対応する値をアドレスオ
フセットとして、アドレスオフセットカウンタ7に供給
して記憶されるようになされている。また、アドレス変
換部8は、DMAバスコントローラ5(コンピュータ本
体)に対し、キャッシュラインバウンダリアドレスか
ら、キャッシュラインサイズ分のデータのDMAによる
転送を要求するようにもなされている。
Further, the address conversion unit 8 calculates the difference between the address from the external device 11 and the cache line boundary address, and supplies the value corresponding to this difference to the address offset counter 7 for storage therein. It is done like this. The address conversion unit 8 is also configured to request the DMA bus controller 5 (computer main body) to transfer the data of the cache line size by DMA from the cache line boundary address.

【0048】FIFO制御部9は、FIFOメモリ10
を制御する他、DMAバスコントローラ5から送信され
てくるデータ有効信号を受信するようになされている。
さらに、FIFO制御部9は、FIFOメモリ10に、
DMAバスコントローラ5から送信されてきたデータが
記憶された後、そこからデータが1ワード読み出される
ごとに、アドレスオフセットカウンタ7の記憶値を1ず
つデクリメントするようになされている。そして、FI
FO制御部9は、アドレス変換部8を介して、アドレス
オフセットカウンタ7の記憶値を参照し、その値に基づ
いて、外部デバイス11に対し、外部デバイス11が受
信すべきデータを報知するようになされている。
The FIFO control unit 9 includes a FIFO memory 10
In addition to controlling, the data valid signal transmitted from the DMA bus controller 5 is received.
Further, the FIFO control unit 9 causes the FIFO memory 10 to
After the data transmitted from the DMA bus controller 5 is stored, the stored value of the address offset counter 7 is decremented by 1 each time one word of data is read from the data. And FI
The FO control unit 9 refers to the stored value of the address offset counter 7 via the address conversion unit 8 and notifies the external device 11 of the data to be received by the external device 11 based on the value. Has been done.

【0049】FIFOメモリ10は、FIFO制御部9
の制御の下、アドレス変換部8によるDMA要求によ
り、DMAバスコントローラ5から転送されてくるキャ
ッシュラインサイズ分のデータを一時記憶し、外部デバ
イス11に出力するようになされている。
The FIFO memory 10 includes a FIFO control unit 9
Under the control of 1, the data of the cache line size transferred from the DMA bus controller 5 is temporarily stored and output to the external device 11 by a DMA request from the address conversion unit 8.

【0050】次に、その動作について説明する。まず、
外部デバイス11からコンピュータ本体へのDMAによ
るデータ転送は、図5における場合と同様に行われる。
即ち、この場合、外部デバイス11からの出力信号は、
データ転送制御部6をバイパスして、DMAバスコント
ローラ5に送信され、また、DMAバスコントローラ5
からの出力信号も、同じくデータ転送制御部6をバイパ
スして、外部デバイス11に送信される。
Next, the operation will be described. First,
Data transfer by DMA from the external device 11 to the computer body is performed in the same manner as in FIG.
That is, in this case, the output signal from the external device 11 is
The data transfer control unit 6 is bypassed and transmitted to the DMA bus controller 5.
Similarly, the output signal from is also transmitted to the external device 11 by bypassing the data transfer control unit 6.

【0051】一方、外部デバイス11がコンピュータ本
体からDMAによりデータを読み出す場合には、図2の
フローチャートにしたがった処理が行われる。即ち、こ
の場合、外部デバイス11からは、DMAリード要求と
ともに、その要求するデータの、メインメモリ4におけ
る先頭アドレス(以下、適宜、リード要求アドレスとい
う)とデータ量(サイズ)が出力される。このDMAリ
ード要求は、リード要求アドレスおよびデータ量ととも
に、データ転送制御部6に供給され、アドレス変換部8
において受信される。アドレス変換部8では、DMAリ
ード要求とともに、リード要求アドレスおよびデータ量
が受信され、ステップS1において、そのリード要求ア
ドレスが、キャッシュラインバウンダリアドレスと一致
するか否かが判定される。
On the other hand, when the external device 11 reads the data from the computer main body by DMA, the processing according to the flowchart of FIG. 2 is performed. That is, in this case, the external device 11 outputs the DMA read request, the start address of the requested data in the main memory 4 (hereinafter appropriately referred to as a read request address), and the data amount (size). This DMA read request is supplied to the data transfer control unit 6 together with the read request address and the data amount, and the address conversion unit 8
Is received at The address conversion unit 8 receives the read request address and the data amount together with the DMA read request, and in step S1, it is determined whether or not the read request address matches the cache line boundary address.

【0052】ここで、キャッシュラインバウンダリアド
レスについて説明する。キャッシュメモリ3には、通
常、例えばメインメモリ4のアドレス0x0000から
キャッシュラインサイズ分の範囲ごとのデータが記憶さ
れる。即ち、キャッシュラインサイズが、前述したよう
に、例えば16ワードである場合、キャッシュラインに
は、メインメモリ4のアドレス0x0000乃至0x0
03fに記憶された16ワードのデータ、0x0040
乃至0x007fに記憶された16ワードのデータ、0
x0080乃至0x00cfに記憶された16ワードの
データ、・・・という単位で、データが記憶される。こ
のような場合において、キャッシュラインの先頭に記憶
されるデータのメインメモリ4におけるアドレスがキャ
ッシュラインバウンダリアドレスである。従って、この
場合、キャッシュラインバウンダリアドレスは、0x0
000,0x0040,0x0080,0x00c0,
・・・となる。
Now, the cache line boundary address will be described. The cache memory 3 normally stores data for each range from the address 0x0000 of the main memory 4 to the cache line size. That is, when the cache line size is, for example, 16 words as described above, the cache line has addresses 0x0000 to 0x0 of the main memory 4.
16-word data stored in 03f, 0x0040
Through 16x data stored in 0x007f, 0
Data is stored in units of 16-word data stored in x0080 to 0x00cf. In such a case, the address of the data stored at the head of the cache line in the main memory 4 is the cache line boundary address. Therefore, in this case, the cache line boundary address is 0x0.
000, 0x0040, 0x0080, 0x00c0,
...

【0053】ステップS1において、リード要求アドレ
スが、キャッシュラインバウンダリアドレスと一致しな
いと判定された場合、ステップS2に進み、アドレス変
換部8において、リード要求アドレスが、それより小さ
い値の、そのリード要求アドレスとの差が最も小さいキ
ャッシュラインバウンダリアドレス(以下、適宜、変換
バウンダリアドレスという)に変換される。さらに、ス
テップS3では、リード要求アドレスと変換バウンダリ
アドレスとの差((リード要求アドレス)−(変換バウ
ンダリアドレス))が計算され、さらに、その差分値
が、1ワードを構成するバイト数(ここでは、前述した
ように4バイトとする)で除算される。そして、その除
算の結果得られた商が、アドレスオフセットとされる。
従って、アドレスオフセットは、リード要求アドレスと
変換バウンダリアドレスとの差を、ワード数で表したも
のということができる。即ち、変換バウンダリアドレス
からアドレスオフセットに対応するワード数のデータが
読み出された後に読み出されるデータが、リード要求ア
ドレスからのデータということになる。
If it is determined in step S1 that the read request address does not match the cache line boundary address, the process proceeds to step S2, and the address conversion unit 8 reads the read request address having a smaller value. It is converted into a cache line boundary address having the smallest difference from the address (hereinafter, appropriately referred to as a conversion boundary address). Further, in step S3, the difference between the read request address and the conversion boundary address ((read request address)-(conversion boundary address)) is calculated, and the difference value is the number of bytes forming one word (here, , 4 bytes as described above). Then, the quotient obtained as a result of the division is used as the address offset.
Therefore, the address offset can be said to represent the difference between the read request address and the conversion boundary address in terms of the number of words. That is, the data read after the word number of data corresponding to the address offset is read from the conversion boundary address is the data from the read request address.

【0054】ここで、キャッシュラインサイズが、上述
したように16ワードである場合、アドレスオフセット
は、0乃至15のいずれかの値となる。
Here, when the cache line size is 16 words as described above, the address offset is any value from 0 to 15.

【0055】アドレス変換部8は、以上のようにして変
換バウンダリアドレスと、アドレスオフセットを求めた
後、アドレスオフセットを、アドレスオフセットカウン
タ7にセットし、ステップS3に進む。
The address translation unit 8 obtains the translation boundary address and the address offset as described above, sets the address offset in the address offset counter 7, and proceeds to step S3.

【0056】一方、ステップS1において、リード要求
アドレスが、キャッシュラインバウンダリアドレスと一
致すると判定された場合、アドレス変換部8は、そのリ
ード要求アドレスを変換バウンダリアドレスとするとと
もに、アドレスオフセットとして0を、アドレスオフセ
ットカウンタ7にセットし、ステップS3に進む。ステ
ップS3では、変換バウンダリアドレスを先頭アドレス
とするキャッシュラインサイズ分のデータ(変換バウン
ダリアドレスからキャッシュラインサイズ分のデータ)
のDMAリード要求が、アドレス変換部8からDMAバ
スコントローラ5に出力される。
On the other hand, when it is determined in step S1 that the read request address matches the cache line boundary address, the address conversion unit 8 sets the read request address as the conversion boundary address and 0 as the address offset. The address offset counter 7 is set, and the process proceeds to step S3. In step S3, data for the cache line size having the conversion boundary address as the start address (data for the cache line size from the conversion boundary address)
The DMA read request is output from the address conversion unit 8 to the DMA bus controller 5.

【0057】その後、データ転送制御部6では、ステッ
プS4において、DMAバスコントローラ5によってア
ービトレーションがとられるのを待って(DMAバスコ
ントローラ5からDMA許可が出力されるのを待っ
て)、ステップS5に進む。
Thereafter, the data transfer control unit 6 waits for the arbitration to be taken by the DMA bus controller 5 (waits for the DMA permission from the DMA bus controller 5) in step S4, and then proceeds to step S5. move on.

【0058】ここで、DMAバスコントローラ5は、ア
ドレス変換部8からDMAリード要求を受信すると、前
述したようにアービトレーションをとって、キャッシュ
メモリ3からデータを読み出す。但し、図1のコンピュ
ータシステムでは、外部デバイス11が、どのようなデ
ータ量のDMAリード要求をした場合であっても(極端
には、例えば1ワードのデータのDMAリード要求をし
た場合であっても)(但し、キャッシュラインサイズの
範囲内とする)、キャッシュメモリ3からは、変換バウ
ンダリアドレスからキャッシュラインサイズ分のデータ
が読み出される。
When the DMA bus controller 5 receives the DMA read request from the address conversion unit 8, the arbitration is performed as described above and the data is read from the cache memory 3. However, in the computer system of FIG. 1, even if the external device 11 makes a DMA read request of any data amount (extremely, for example, when a DMA read request of 1-word data is made, (However, within the range of the cache line size), data of the cache line size is read from the cache memory 3 from the conversion boundary address.

【0059】DMAバスコントローラ5は、キャッシュ
メモリ3より、変換バウンダリアドレスからキャッシュ
ラインサイズ分のデータを読み出すと、前述したよう
に、データ有効信号とともに、I/Oバスを介して出力
する。
When the DMA bus controller 5 reads the data of the cache line size from the conversion boundary address from the cache memory 3, it outputs the data along with the data valid signal via the I / O bus as described above.

【0060】ステップS5では、以上のようにして、D
MAバスコントローラ5から出力される、変換バウンダ
リアドレスからキャッシュラインサイズ分のデータが、
FIFOメモリ10で受信されて記憶される。
In step S5, as described above, D
Data output from the MA bus controller 5 for the cache line size from the conversion boundary address is
It is received and stored in the FIFO memory 10.

【0061】そして、ステップS6に進み、FIFO制
御部9において、アドレス変換部8を介して、アドレス
オフセットカウンタ7が参照され、アドレスオフセット
が0以下であるかどうかが判定される。ステップS6に
おいて、アドレスオフセットが0以下でないと判定され
た場合、ステップS7に進み、FIFO制御部9によっ
て、FIFOメモリ10が制御され、これにより、FI
FOメモリ10から、1ワード分のデータが読み出さ
れ、外部デバイス11に出力される。なお、この場合、
FIFO制御部9から外部デバイス11に供給されてい
るデータ有効信号はアクティブ(ON)(本実施例で
は、前述したようにアクティブローであるから、Lレベ
ル)にされておらず、従って、ステップS7でFIFO
メモリ10から読み出された1ワードのデータは、外部
デバイス11で受信されない。
Then, in step S6, the FIFO control unit 9 refers to the address offset counter 7 via the address conversion unit 8 and determines whether the address offset is 0 or less. If it is determined in step S6 that the address offset is not equal to or less than 0, the process proceeds to step S7, in which the FIFO memory 10 is controlled by the FIFO control unit 9, whereby the FI
One word of data is read from the FO memory 10 and output to the external device 11. In this case,
The data valid signal supplied from the FIFO control unit 9 to the external device 11 is not made active (ON) (in this embodiment, because it is active low as described above, it is not at the L level). Therefore, step S7 FIFO
The 1-word data read from the memory 10 is not received by the external device 11.

【0062】ステップS7では、FIFOメモリ10か
ら1ワード分のデータが読み出された後、さらに、FI
FO制御部9によって、アドレス変換部8を介して、ア
ドレスオフセットカウンタ7に記憶されているアドレス
オフセットが1だけデクリメントされ、ステップS6に
戻る。
In step S7, one word of data is read from the FIFO memory 10 and then FI
The FO control unit 9 decrements the address offset stored in the address offset counter 7 by 1 via the address conversion unit 8 and returns to step S6.

【0063】一方、ステップS7において、アドレスオ
フセットが0以下であると判定された場合、ステップS
8に進み、FIFO制御部9から外部デバイス11に供
給されているデータ有効信号がアクティブ(ON)にさ
れる。
On the other hand, if it is determined in step S7 that the address offset is 0 or less, step S7.
8, the data valid signal supplied from the FIFO control unit 9 to the external device 11 is activated (ON).

【0064】そして、ステップS9に進み、FIFOメ
モリ10から1ワードのデータが読み出され、ステップ
S10に進み、データ要求信号がアクティブ(ON)
(有効)(Lレベル)であるかどうかが判定される。ス
テップS10において、データ要求信号がアクティブで
あると判定された場合、ステップS9に戻り、次の1ワ
ードのデータが、FIFOメモリ10から読み出され、
以下、同様の処理が繰り返される。
Then, in step S9, one word of data is read from the FIFO memory 10, and in step S10, the data request signal is active (ON).
It is determined whether (valid) (L level). When it is determined in step S10 that the data request signal is active, the process returns to step S9, the next 1-word data is read from the FIFO memory 10,
Hereinafter, the same processing is repeated.

【0065】ここで、外部デバイス11では、DMAリ
ード要求がなされるのと同時に、FIFO制御部9に対
して供給しているデータ要求信号(データを要求中であ
ることを示す信号)をアクティブにするようになされて
いる。そして、外部デバイス11は、このデータ要求信
号と、FIFO制御部9からのデータ有効信号のいずれ
もがアクティブの場合のみ、FIFOメモリ10から読
み出されたデータを受信するようになされている。そし
て、外部デバイス11では、自身が要求したデータ量の
データを受信すると、データ有効信号をOFF(Hレベ
ル)にするようになされている。
At the same time as the DMA read request is made, the external device 11 activates the data request signal (signal indicating that data is being requested) supplied to the FIFO control section 9 at the same time. It is designed to do. Then, the external device 11 receives the data read from the FIFO memory 10 only when both the data request signal and the data valid signal from the FIFO control unit 9 are active. Then, when the external device 11 receives the data of the data amount requested by itself, the external device 11 turns off the data valid signal (H level).

【0066】従って、ステップS9でFIFOメモリ1
0から読み出されたデータは、データ要求信号がOFF
にされるまで、外部デバイス11で受信されることにな
る。
Therefore, in step S9, the FIFO memory 1
For data read from 0, the data request signal is OFF
Until it is set, it is received by the external device 11.

【0067】その後、外部デバイス11で、自身が要求
したデータ量のデータが受信されると、データ有効信号
がOFFにされる。従って、この場合、ステップS10
からステップS11に進み、FIFO制御部9によっ
て、データ有効信号がOFFにされ、ステップS12に
進む。ステップS12では、FIFO制御部9の制御の
下、FIFOメモリ10に残っているデータがすべて読
み出され(この場合、データ要求信号とデータ有効信号
とはいずれもOFFであるから、ステップS12で読み
出されるデータは、外部デバイス11では受信されな
い)、処理を終了する。
After that, when the external device 11 receives the data of the data amount requested by itself, the data valid signal is turned off. Therefore, in this case, step S10
From step S11, the FIFO control unit 9 turns off the data valid signal, and the process goes to step S12. In step S12, all the data remaining in the FIFO memory 10 is read out under the control of the FIFO control unit 9 (in this case, since the data request signal and the data valid signal are both OFF, the data is read out in step S12). Data is not received by the external device 11), the process ends.

【0068】以上の処理によれば、例えば、前述の図6
(F)に示したようなDMAリード要求があった場合、
即ち、図3に示すように、外部デバイス11から、DM
Aリード要求が、リード要求アドレスを0x08とする
とともに、データ量を12ワードとしてなされた場合
(アドレス0x08乃至0x37に記憶されている12
ワードのデータC乃至NのDMAリード要求があった場
合)には、リード要求アドレス0x08は、キャッシュ
ラインバウンダリアドレス0x0000,0x004
0,0x0080,・・・のうちのいずれとも一致しな
いから、ステップS2において、そのリード要求アドレ
スより小さい値の、そのリード要求アドレスとの差が最
も小さいキャッシュラインバウンダリアドレス0x00
00に変換される。そして、ステップS3において、こ
の変換バウンダリアドレス0x0000を、データの読
み出しの先頭アドレスとするキャッシュライン分(16
ワード)のDMAリード要求がなされる。
According to the above processing, for example, the above-mentioned FIG.
If there is a DMA read request as shown in (F),
That is, as shown in FIG.
When the A read request is made with a read request address of 0x08 and a data amount of 12 words (12 stored in addresses 0x08 to 0x37)
When there is a DMA read request for word data C to N), the read request address 0x08 is the cache line boundary address 0x0000, 0x004.
0, 0x0080, ... Does not match any of 0, 0x0080, ..., Therefore, in step S2, the cache line boundary address 0x00 having a value smaller than the read request address and having the smallest difference from the read request address.
Is converted to 00. Then, in step S3, the conversion boundary address 0x0000 corresponds to the cache line (16
(Word) DMA read request is made.

【0069】従って、この場合、FIFOメモリ10に
は、ステップS5において、図3に示すように、アドレ
ス0x00乃至0x3fに記憶されたA乃至Pの16ワ
ードのデータが記憶されることになる。このようにデー
タがFIFOメモリ10に記憶された場合、そこから最
初に読み出される2ワードのデータAとBは、外部デバ
イス11が要求したデータではない(このようなデータ
を、以下、適宜、非要求データという)。
Therefore, in this case, the FIFO memory 10 stores the 16-word data of A to P stored in the addresses 0x00 to 0x3f in step S5 as shown in FIG. When the data is stored in the FIFO memory 10 in this way, the two-word data A and B first read from the FIFO memory 10 are not the data requested by the external device 11 (such data will be referred to as non-data Request data).

【0070】一方、リード要求アドレスと変換バウンダ
リアドレスとの差は、0x08(=0x08−0x0
0)であるから、アドレスオフセットは、0x08を、
1ワードを構成するバイト数である4バイトで除算した
2とされる。従って、アドレスオフセットは、非要求デ
ータのワード数と一致する。このアドレスオフセット
は、ステップS7において、FIFOメモリ10から1
ワードのデータが読み出されるごとに1ずつデクリメン
トされるから、このアドレスオフセットが0になった後
にFIFOメモリ10から読み出しの開始されるデータ
が、外部デバイス11が受信すべき、リード要求アドレ
スに記憶されたデータということになる。
On the other hand, the difference between the read request address and the conversion boundary address is 0x08 (= 0x08-0x0
0), the address offset is 0x08,
It is divided by 4 bytes, which is the number of bytes forming one word, to be 2. Therefore, the address offset matches the number of words of unrequested data. This address offset is 1 from the FIFO memory 10 in step S7.
Since the word data is decremented by 1 every time it is read, the data whose reading is started from the FIFO memory 10 after the address offset becomes 0 is stored in the read request address which the external device 11 should receive. It will be the data.

【0071】従って、外部デバイス11には、アドレス
オフセットが0になった後に、FIFOメモリ10から
読み出されるデータを受信させるようにすれば良い。そ
こで、アドレスオフセットが0になると、ステップS8
において、データ有効信号をアクティブにし、これによ
り、それ以後に、FIFOメモリ10から読み出される
データを、外部デバイス11に受信させるようになされ
ている。
Therefore, the external device 11 may be made to receive the data read from the FIFO memory 10 after the address offset becomes zero. Therefore, when the address offset becomes 0, step S8
In, the data valid signal is activated so that the external device 11 receives the data read from the FIFO memory 10 thereafter.

【0072】なお、この場合、外部デバイス11が要求
したのは、アドレス0x08乃至0x37に記憶されて
いる12ワードのデータC乃至Nであるから、図3に示
したアドレス0x38,0x3cにそれぞれ記憶された
1ワードのデータO,Pも、上述のデータA,Bと同様
に、非要求データである。従って、外部デバイス11に
は、このデータO,Pも受信させないようにする必要が
ある。これは、次のようにして行われるようになされて
いる。
In this case, since the external device 11 requests the data C to N of 12 words stored in the addresses 0x08 to 0x37, the data is stored in the addresses 0x38 and 0x3c shown in FIG. 3, respectively. The one-word data O and P are also unrequested data, like the above-mentioned data A and B. Therefore, it is necessary to prevent the external device 11 from receiving the data O and P as well. This is done as follows.

【0073】即ち、外部デバイス11は、自身が要求し
たデータ量が12ワードであることを認識しているか
ら、その要求した分のデータを受信すると、データ要求
信号をOFF(Hレベル)にし、これにより、データ
O,Pを受信しない。
That is, since the external device 11 recognizes that the amount of data requested by itself is 12 words, when it receives the requested amount of data, it turns off the data request signal (H level), As a result, the data O and P are not received.

【0074】その結果、外部デバイス11では、1度の
DMA要求で、アドレス0x08乃至0x37に記憶さ
れている12ワードのデータC乃至Nのみが受信され
る。
As a result, the external device 11 receives only the 12-word data C to N stored in the addresses 0x08 to 0x37 by one DMA request.

【0075】次に、図4を参照して、外部デバイス11
が、例えば図3で説明したようなDMAリード要求をし
た場合の信号のやりとりについて説明する。外部デバイ
ス11は、DMAによるデータの転送を要求するとき、
アドレス変換部8に供給しているDMAリード要求信号
をHレベルからLレベルにする(図4(A))。さら
に、外部デバイス11は、FIFO制御部9に供給して
いるデータ要求信号もHレベルからLレベルにする(図
4(F))。
Next, referring to FIG. 4, the external device 11
However, the exchange of signals when a DMA read request as described with reference to FIG. 3 is made will be described. When the external device 11 requests data transfer by DMA,
The DMA read request signal supplied to the address conversion unit 8 is changed from H level to L level (FIG. 4 (A)). Further, the external device 11 also changes the data request signal supplied to the FIFO control unit 9 from H level to L level (FIG. 4 (F)).

【0076】DMAリード要求信号は、アドレス変換部
8からDMAバスコントローラ5に供給され、DMAバ
スコントローラ5では、バスのアービトレーションがと
られる。そして、アービトレーションがとられると、D
MAバスコントローラ5は、アドレス変換部8を介して
外部デバイス11に供給しているDMA許可信号を、所
定の期間だけHレベルからLレベルにする(図4
(B))。外部デバイス11は、LレベルのDMA許可
信号を受信すると、アービトレーションがとられたこと
を認識し、DMAリード要求信号をLレベルからHレベ
ルにする(図4(A))。
The DMA read request signal is supplied from the address conversion unit 8 to the DMA bus controller 5, and the DMA bus controller 5 arbitrates the bus. And when arbitration is done, D
The MA bus controller 5 changes the DMA permission signal supplied to the external device 11 via the address conversion unit 8 from H level to L level for a predetermined period (FIG. 4).
(B)). Upon receiving the L level DMA permission signal, the external device 11 recognizes that arbitration has been taken, and changes the DMA read request signal from the L level to the H level (FIG. 4 (A)).

【0077】その後、DMAバスコントローラ5から
は、上述したようにアドレス0x00乃至0x3fに記
憶されたキャッシュラインサイズ分のデータA乃至Pが
転送され(図4(C))、FIFOメモリ10に記憶さ
れる。そして、このデータA乃至Pは、FIFOメモリ
10から順次読み出され(図4(D))、外部デバイス
11に供給される。
Thereafter, the data A to P corresponding to the cache line size stored at the addresses 0x00 to 0x3f as described above are transferred from the DMA bus controller 5 (FIG. 4C) and stored in the FIFO memory 10. It Then, the data A to P are sequentially read from the FIFO memory 10 (FIG. 4D) and supplied to the external device 11.

【0078】FIFOメモリ10からデータの読み出し
が開始されると、そこからのデータの読み出しが1ワー
ドされるごとに、アドレスオフセットは1だけデクリメ
ントされる(図4(G))。そして、このアドレスオフ
セットが0となると、FIFO制御部9から外部デバイ
ス11に供給されているデータ有効信号がHレベルから
Lレベルにされ(図4(E))、これにより、データ有
効信号(図4(E))およびデータ要求信号がともにL
レベルとなるので、外部デバイス11において、FIF
Oメモリ10から読み出されるデータの受信が開始され
る。
When data reading from the FIFO memory 10 is started, the address offset is decremented by 1 each time data reading from the FIFO memory 10 is performed one word (FIG. 4 (G)). When the address offset becomes 0, the data valid signal supplied from the FIFO control unit 9 to the external device 11 is changed from the H level to the L level (FIG. 4 (E)), whereby the data valid signal (FIG. 4 (E)) and the data request signal are both L
Since it becomes the level, in the external device 11, the FIF
Reception of data read from the O memory 10 is started.

【0079】そして、外部デバイス11は、要求したデ
ータ量である12ワードのデータを受信すると、データ
要求信号をLレベルからHレベルにする(図4
(F))。これにより、FIFOメモリ10から読み出
されたデータの、外部デバイス11での受信が停止され
る。さらに、データ要求信号がLレベルからHレベルに
されると、FIFO制御部9は、外部デバイス11に供
給しているデータ有効信号をLレベルからHレベルにす
る(図4(E))。
When the external device 11 receives the requested data amount of 12 words, it changes the data request signal from the L level to the H level (FIG. 4).
(F)). As a result, the reception of the data read from the FIFO memory 10 at the external device 11 is stopped. Further, when the data request signal is changed from L level to H level, the FIFO control unit 9 changes the data valid signal supplied to the external device 11 from L level to H level (FIG. 4 (E)).

【0080】以上のように、外部デバイス11から要求
されたDMAリード要求アドレスおよびデータ量に拘ら
ず、常に、キャッシュラインバウンダリアドレスから、
キャッシュラインサイズ分のデータのDMAを要求する
ようにしたので、DMAの要求が1回で済むようにな
る。従って、アービトレーションが頻繁に生じることを
防止することができるので、コンピュータ本体に対する
負荷を軽減することができ、さらにその処理効率の悪化
を防止することができる。
As described above, regardless of the DMA read request address and the data amount requested by the external device 11, the cache line boundary address is
Since the DMA of the data for the cache line size is requested, the DMA request can be made only once. Therefore, it is possible to prevent frequent occurrence of arbitration, so that it is possible to reduce the load on the computer main body and prevent deterioration of its processing efficiency.

【0081】また、外部デバイス11は、キャッシュラ
インサイズに対応するアドレスの整合を意識して、DM
Aを、複数回に分けて要求する必要がないので、外部デ
バイス11に対するプログラミングの簡素化(簡単化)
を図ることができる。
Further, the external device 11 considers the matching of the addresses corresponding to the cache line size, and
Simplification of programming for the external device 11 (Simplification) since it is not necessary to request A in multiple times.
Can be achieved.

【0082】さらに、本実施例では、FIFOメモリ1
0に、DMAバスコントローラ5から転送されてきたデ
ータを記憶させるようにしたので、外部デバイス11の
データ受信速度に対して、柔軟に対応することができ
る。
Further, in this embodiment, the FIFO memory 1
Since the data transferred from the DMA bus controller 5 is stored in 0, the data reception speed of the external device 11 can be flexibly dealt with.

【0083】なお、本実施例では、データの読み出し
を、DMAにより行うようにしたが、本発明は、DMA
により行うのではないデータの読み出しについても適用
可能である。
In this embodiment, the data reading is performed by the DMA, but the present invention uses the DMA.
The present invention can also be applied to the reading of data that is not performed by.

【0084】また、本実施例では、外部デバイス11に
対し、データ有効信号によって、FIFOメモリ10か
ら読み出されたデータが、受信すべきデータかどうかを
報知するようにしたが、その他、例えば、FIFO制御
部9に、アドレスオフセットを参照させ、その値が0以
下になった場合に、FIFOメモリ10から読み出され
たデータを、外部デバイス11に出力させるようにする
ことも可能である。
In the present embodiment, the external device 11 is notified by the data valid signal whether or not the data read from the FIFO memory 10 is the data to be received. It is also possible to cause the FIFO control unit 9 to refer to the address offset and cause the external device 11 to output the data read from the FIFO memory 10 when the value becomes 0 or less.

【0085】さらに、本実施例においては、連続するア
ドレスに記憶されているデータを1回で読み出す場合に
ついて説明したが、この他、例えば不連続なアドレスに
記憶されているデータを1回で転送するようにすること
も可能である。即ち、読み出すべきデータが、あるキャ
ッシュラインバウンダリアドレスから、キャッシュライ
ンサイズの範囲内に記憶されていれば、そのデータのア
ドレスが、連続していても、また不連続であっても、1
回で読み出すことができる。
Further, in the present embodiment, the case where the data stored at the consecutive addresses is read at one time has been described. However, in addition to this, for example, the data stored at the discontinuous addresses is transferred at one time. It is also possible to do so. That is, if the data to be read is stored within a range of the cache line size from a certain cache line boundary address, whether the address of the data is continuous or discontinuous is 1
It can be read in times.

【0086】なお、本実施例によれば、例えば1ワード
や2ワードなどの少ないデータ量のデータのDMAリー
ド要求が、外部デバイス11からあった場合でも、キャ
ッシュラインサイズ分のデータのDMAが要求される。
従って、複数のキャッシュラインそれぞれから、少ない
データ量のデータを読み出す場合には、そのキャッシュ
ラインの数だけ、キャッシュラインサイズ分のデータが
読み出されることとなり、却って処理の効率が悪化する
こととなる。しかしながら、通常のアプリケーションで
は、複数のキャッシュラインそれぞれから、少ないデー
タ量のデータを読み出すことが行われるのは非常に少な
いので、実際には、そのようなことが問題となることは
ほとんどない。
According to the present embodiment, even if a DMA read request for a small amount of data such as 1 word or 2 words is issued from the external device 11, the DMA for the data of the cache line size is requested. To be done.
Therefore, when reading a small amount of data from each of the plurality of cache lines, the data of the cache line size is read by the number of the cache lines, which rather deteriorates the processing efficiency. However, in a normal application, reading a small amount of data from each of a plurality of cache lines is very rare, so such a problem hardly occurs in practice.

【0087】[0087]

【発明の効果】請求項1に記載のデータ転送制御装置お
よび請求項3に記載のデータ転送制御方法によれば、外
部デバイスから、転送すべきデータが記憶された主記憶
装置のアドレスである主記憶アドレスが受信され、その
主記憶アドレスが、キャッシュメモリのキャッシュライ
ンサイズに基づいて、キャッシュラインバウンダリアド
レスに変換される。そして、情報処理装置に対し、キャ
ッシュラインバウンダリアドレスから、キャッシュライ
ンサイズ分のデータの転送が要求され、その要求に対応
して、情報処理装置から転送されてくるキャッシュライ
ンサイズ分のデータが記憶される。その後、主記憶アド
レスとキャッシュラインバウンダリアドレスとの差に対
応して、記憶されたキャッシュラインサイズ分のデータ
のうち、主記憶アドレスからのデータが、外部デバイス
に報知される。
According to the data transfer control device of the first aspect and the data transfer control method of the third aspect, the main address which is the address of the main storage device in which the data to be transferred is stored from the external device. The storage address is received, and the main storage address is converted into a cache line boundary address based on the cache line size of the cache memory. Then, the information processing apparatus is requested to transfer the data of the cache line size from the cache line boundary address, and the data of the cache line size transferred from the information processing apparatus is stored in response to the request. It Then, the data from the main memory address of the stored data of the cache line size is notified to the external device in correspondence with the difference between the main memory address and the cache line boundary address.

【0088】また、請求項4に記載のデータ転送制御装
置によれば、主記憶アドレスとキャッシュラインバウン
ダリアドレスとの差に対応して、上述したようにして記
憶されたキャッシュラインサイズ分のデータのうち、主
記憶アドレスからのデータが、外部デバイスに出力され
る。
According to another aspect of the data transfer control device of the present invention, the cache line size of data stored as described above is stored in correspondence with the difference between the main memory address and the cache line boundary address. Of these, the data from the main memory address is output to the external device.

【0089】従って、外部デバイスが必要とするデータ
を、少ない回数で転送することが可能となる。
Therefore, the data required by the external device can be transferred a small number of times.

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

【図1】本発明を適用したコンピュータシステムの一実
施例の構成を示すブロック図である。
FIG. 1 is a block diagram showing the configuration of an embodiment of a computer system to which the present invention is applied.

【図2】図1のデータ転送制御部6を動作を説明するた
めのフローチャートである。
FIG. 2 is a flowchart for explaining the operation of the data transfer control unit 6 of FIG.

【図3】図1のコンピュータシステムにおいて、外部デ
バイス11にデータが転送される場合の動作を説明する
ための図である。
FIG. 3 is a diagram for explaining an operation when data is transferred to an external device 11 in the computer system of FIG.

【図4】図1のコンピュータシステムの動作を説明する
ためのタイミングチャートである。
FIG. 4 is a timing chart for explaining the operation of the computer system of FIG.

【図5】従来のコンピュータシステムの一例の構成を示
すブロック図である。
FIG. 5 is a block diagram showing a configuration of an example of a conventional computer system.

【図6】キャッシュラインに対するアクセスの制限を説
明するための図である。
FIG. 6 is a diagram for explaining restrictions on access to a cache line.

【図7】図5のコンピュータシステムにおいて、外部デ
バイス11にデータが転送される場合の動作を説明する
ための図である。
FIG. 7 is a diagram for explaining an operation when data is transferred to the external device 11 in the computer system of FIG.

【図8】図5のコンピュータシステムの動作を説明する
ためのタイミングチャートである。
8 is a timing chart for explaining the operation of the computer system of FIG.

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

1 ROM 2 CPU 3 キャッシュメモリ 4 メインメモリ 5 DMAバスコントローラ 6 データ転送制御部 7 アドレスオフセットカウンタ 8 アドレス変換部 9 FIFO制御部 10 FIFOメモリ 11 外部デバイス 1 ROM 2 CPU 3 cache memory 4 main memory 5 DMA bus controller 6 data transfer control unit 7 address offset counter 8 address conversion unit 9 FIFO control unit 10 FIFO memory 11 external device

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】 少なくとも主記憶装置およびキャッシュ
メモリを有する情報処理装置において、外部デバイスへ
転送するデータの読み出しが、前記キャッシュメモリか
ら行われるときに、そのデータの転送を制御するデータ
転送制御装置であって、 前記外部デバイスから、転送すべきデータが記憶された
前記主記憶装置のアドレスである主記憶アドレスを受信
し、その主記憶アドレスを、前記キャッシュメモリのキ
ャッシュラインサイズに基づいて、キャッシュラインバ
ウンダリアドレスに変換する変換手段と、 前記情報処理装置に対し、前記キャッシュラインバウン
ダリアドレスから、前記キャッシュラインサイズ分のデ
ータの転送を要求する要求手段と、 前記要求手段の要求に対応して、前記情報処理装置から
転送されてくる前記キャッシュラインサイズ分のデータ
を記憶する記憶手段と、 前記主記憶アドレスとキャッシュラインバウンダリアド
レスとの差に対応して、前記記憶手段に記憶された前記
キャッシュラインサイズ分のデータのうち、前記主記憶
アドレスからの前記データを、前記外部デバイスに報知
する報知手段とを備えることを特徴とするデータ転送制
御装置。
1. An information processing apparatus having at least a main storage device and a cache memory, comprising: a data transfer control device that controls the transfer of data when the data to be transferred to an external device is read from the cache memory. Receiving a main memory address, which is an address of the main memory device in which data to be transferred is stored, from the external device, and based on the cache line size of the cache memory, the main memory address Conversion means for converting to a boundary address; request means for requesting the information processing device to transfer data of the cache line size from the cache line boundary address; and, in response to a request from the request means, The cap transferred from the information processing device A storage unit for storing data of a shrine size; and a main memory of the cache line size data stored in the storage unit corresponding to a difference between the main storage address and a cache line boundary address. A data transfer control device comprising: a notification unit that notifies the external device of the data from an address.
【請求項2】 前記情報処理装置は、前記要求手段によ
る前記データの転送の要求があったときに、DMA(Di
rect Memory Access)によって、前記データを、前記キ
ャッシュメモリから転送するDMAコントローラをさら
に有することを特徴とする請求項1に記載のデータ転送
制御装置。
2. The information processing apparatus, when a request for transfer of the data is made by the requesting means, DMA (Di
The data transfer control device according to claim 1, further comprising a DMA controller that transfers the data from the cache memory by rect memory access.
【請求項3】 少なくとも主記憶装置およびキャッシュ
メモリを有する情報処理装置において、外部デバイスへ
転送するデータの読み出しが、前記キャッシュメモリか
ら行われるときに、そのデータの転送を制御するデータ
転送制御方法であって、 前記外部デバイスから、転送すべきデータが記憶された
前記主記憶装置のアドレスである主記憶アドレスを受信
し、その主記憶アドレスを、前記キャッシュメモリのキ
ャッシュラインサイズに基づいて、キャッシュラインバ
ウンダリアドレスに変換し、 前記情報処理装置に対し、前記キャッシュラインバウン
ダリアドレスから、前記キャッシュラインサイズ分のデ
ータの転送を要求し、 その要求に対応して、前記情報処理装置から転送されて
くる前記キャッシュラインサイズ分のデータを記憶し、 前記主記憶アドレスとキャッシュラインバウンダリアド
レスとの差に対応して、記憶された前記キャッシュライ
ンサイズ分のデータのうち、前記主記憶アドレスからの
前記データを、前記外部デバイスに報知することを特徴
とするデータ転送制御方法。
3. A data transfer control method for controlling the transfer of data when the data to be transferred to an external device is read from the cache memory in an information processing device having at least a main storage device and a cache memory. Receiving a main memory address, which is an address of the main memory device in which data to be transferred is stored, from the external device, and based on the cache line size of the cache memory, the main memory address Converting to a boundary address, requesting the information processing device to transfer the data of the cache line size from the cache line boundary address, and responding to the request, the data is transferred from the information processing device. Stores data for the cache line size The data from the main memory address among the stored data of the cache line size is notified to the external device in correspondence with the difference between the main memory address and the cache line boundary address. And data transfer control method.
【請求項4】 少なくとも主記憶装置およびキャッシュ
メモリを有する情報処理装置において、外部デバイスへ
転送するデータの読み出しが、前記キャッシュメモリか
ら行われるときに、そのデータの転送を制御するデータ
転送制御装置であって、 前記外部デバイスから、転送すべきデータが記憶された
前記主記憶装置のアドレスである主記憶アドレスを受信
し、その主記憶アドレスを、前記キャッシュメモリのキ
ャッシュラインサイズに基づいて、キャッシュラインバ
ウンダリアドレスに変換する変換手段と、 前記情報処理装置に対し、前記キャッシュラインバウン
ダリアドレスから、前記キャッシュラインサイズ分のデ
ータの転送を要求する要求手段と、 前記要求手段の要求に対応して、前記情報処理装置から
転送されてくる前記キャッシュラインサイズ分のデータ
を記憶する記憶手段と、 前記主記憶アドレスとキャッシュラインバウンダリアド
レスとの差に対応して、前記記憶手段に記憶された前記
キャッシュラインサイズ分のデータのうち、前記主記憶
アドレスからの前記データを、前記外部デバイスに出力
する出力手段とを備えることを特徴とするデータ転送制
御装置。
4. An information processing apparatus having at least a main storage device and a cache memory, wherein the data transfer control device controls the transfer of data when the data to be transferred to an external device is read from the cache memory. Receiving a main memory address, which is an address of the main memory device in which data to be transferred is stored, from the external device, and based on the cache line size of the cache memory, the main memory address Conversion means for converting to a boundary address; request means for requesting the information processing device to transfer data of the cache line size from the cache line boundary address; and, in response to a request from the request means, The cap transferred from the information processing device A storage unit for storing data of a shrine size; and a main memory of the cache line size data stored in the storage unit corresponding to a difference between the main storage address and a cache line boundary address. An output unit for outputting the data from an address to the external device, the data transfer control device.
JP7283178A 1995-10-31 1995-10-31 Device and method for controlling data transfer Withdrawn JPH09128324A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7283178A JPH09128324A (en) 1995-10-31 1995-10-31 Device and method for controlling data transfer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7283178A JPH09128324A (en) 1995-10-31 1995-10-31 Device and method for controlling data transfer

Publications (1)

Publication Number Publication Date
JPH09128324A true JPH09128324A (en) 1997-05-16

Family

ID=17662166

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7283178A Withdrawn JPH09128324A (en) 1995-10-31 1995-10-31 Device and method for controlling data transfer

Country Status (1)

Country Link
JP (1) JPH09128324A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004057481A1 (en) * 2002-12-20 2004-07-08 Fujitsu Limited Dma controller, dma control method, dma control program
WO2014038070A1 (en) 2012-09-07 2014-03-13 富士通株式会社 Information processing device, parallel computer system and information processing device control method
CN114879584A (en) * 2022-07-05 2022-08-09 成都智明达电子股份有限公司 DMA controller boundary alignment method based on FPGA and circuit thereof

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004057481A1 (en) * 2002-12-20 2004-07-08 Fujitsu Limited Dma controller, dma control method, dma control program
US7330914B2 (en) 2002-12-20 2008-02-12 Fujitsu Limited DMA controller, DMA control method and DMA control program
WO2014038070A1 (en) 2012-09-07 2014-03-13 富士通株式会社 Information processing device, parallel computer system and information processing device control method
US10002078B2 (en) 2012-09-07 2018-06-19 Fujitsu Limited Information processing apparatus, parallel computer system, and control method for controlling information processing apparatus
CN114879584A (en) * 2022-07-05 2022-08-09 成都智明达电子股份有限公司 DMA controller boundary alignment method based on FPGA and circuit thereof
CN114879584B (en) * 2022-07-05 2022-10-28 成都智明达电子股份有限公司 DMA controller boundary alignment method based on FPGA and circuit thereof

Similar Documents

Publication Publication Date Title
US20040107265A1 (en) Shared memory data transfer apparatus
EP1012734B1 (en) Address translation in computer bus bridge devices
US6907514B2 (en) Microcomputer and microcomputer system
US20050253858A1 (en) Memory control system and method in which prefetch buffers are assigned uniquely to multiple burst streams
JPH1091572A (en) Data transfer method and data transfer device using the method
US5749093A (en) Enhanced information processing system using cache memory indication during DMA accessing
US5978879A (en) Bus bridge apparatus
KR100708096B1 (en) Bus system and execution scheduling method for access commands thereof
US5915126A (en) Computer system memory controller and method of burst data ordering translation
JP2001333137A (en) Self-operating communication controller and self- operating communication control method
JPH09128324A (en) Device and method for controlling data transfer
US20030236941A1 (en) Data processor
US5517669A (en) Cyclic data communication system
JP3990569B2 (en) Data memory control device
KR20040045446A (en) Interfacing processors with external memory supporting burst mode
JP2599184B2 (en) DMAC read transfer controller
JP2000215154A (en) Dma controller
JP2000047930A (en) Data processor
JP2594611B2 (en) DMA transfer control device
JP2006195810A (en) High-speed data transfer method
JPH05189311A (en) Cache memory system
JP3270149B2 (en) Data transfer device
JPH05225147A (en) Multiprocessor type data processing system
JPH1040213A (en) Method for transferring dma data of information processor
JPH04330541A (en) Common data transfer system

Legal Events

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

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20030107