JPH0588983A - Method for dynamic address conversion of channel equipment - Google Patents
Method for dynamic address conversion of channel equipmentInfo
- Publication number
- JPH0588983A JPH0588983A JP3250821A JP25082191A JPH0588983A JP H0588983 A JPH0588983 A JP H0588983A JP 3250821 A JP3250821 A JP 3250821A JP 25082191 A JP25082191 A JP 25082191A JP H0588983 A JPH0588983 A JP H0588983A
- Authority
- JP
- Japan
- Prior art keywords
- page table
- page
- address
- table entry
- fetch
- 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
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
【0001】[0001]
【産業上の利用分野】本発明は、チャネル装置のデータ
転送において、論理アドレスから実アドレスへ動的にア
ドレスを変換する際の、その変換方式に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a conversion system for dynamically converting an address from a logical address to a real address in data transfer of a channel device.
【0002】近年の大型・中型計算機システムにおいて
は、外部記憶装置にディスクアレイ装置を設けて、高速
かつ大量のデータ通信を行なうなどしている。そのた
め、一回あたりの入出力のデータ量が増大しており、チ
ャネル装置と主記憶装置との間のデータ転送には高速化
が要求されている。現在では、バス幅の拡張やストアノ
フェッチ要求の並列化などが行なわれており、データ転
送の高速化が進んでいる。In recent large- and medium-sized computer systems, a disk array device is provided in an external storage device for high-speed and large-volume data communication. Therefore, the amount of input / output data at one time is increasing, and high-speed data transfer between the channel device and the main storage device is required. At present, the bus width is being expanded and store-no-fetch requests are being parallelized, and the speed of data transfer is increasing.
【0003】一方、データ転送中のチャネルにおける動
的アドレス変換処理は、従来との互換性やCPUにおけ
る動的アドレス変換機構との整合性を保つため、数KB
といった非常に小さなページの境界到達毎に実行する必
要がある。しかも、アドレス変換処理は入出力データの
転送に伴って逐次的に行なう必要がある。以上の理由に
より、チャネル装置の動的アドレス変換機構によるアド
レス変換処理のオーバヘッドが相対的に大きくなってお
り、計算機システムの性能の低下を招いている。On the other hand, the dynamic address translation process in the channel during data transfer is in the order of several KB in order to maintain compatibility with the conventional system and consistency with the dynamic address translation mechanism in the CPU.
It needs to be executed every time the boundary of a very small page is reached. In addition, the address conversion process needs to be performed sequentially as the input / output data is transferred. Due to the above reasons, the overhead of the address translation processing by the dynamic address translation mechanism of the channel device is relatively large, and the performance of the computer system is degraded.
【0004】[0004]
【従来の技術】図4は、チャネル装置のデータ転送処理
を示す図である。図4において、主記憶装置40は入出
力データを保持する。転送制御部41は、主記憶装置4
0へのデータ転送を制御する。チャネル装置42は、入
出力データのデータ転送処理を行なう。ディスクアレイ
装置43は、入出力データを保存する。データ転送に先
立ち、チャネル装置42はアドレス変換処理を行なう。
このアドレス変換処理は、図に示すように、小さなペー
ジの境界到達のたびに行なう必要がある。2. Description of the Related Art FIG. 4 is a diagram showing a data transfer process of a channel device. In FIG. 4, the main storage device 40 holds input / output data. The transfer control unit 41 uses the main storage device 4
Controls data transfer to 0. The channel device 42 performs a data transfer process of input / output data. The disk array device 43 stores input / output data. Prior to data transfer, the channel device 42 performs address conversion processing.
This address conversion process needs to be performed every time a small page boundary is reached, as shown in the figure.
【0005】従来のチャネル装置における論理アドレス
から実アドレスへの動的アドレス変換処理は、次のよう
に行なわれていた。まず、データアドレスがページ境界
に到達したことを検出すると、セグメント番号とセグメ
ントテーブル起点を使用して主記憶装置に記憶されてい
るセグメントテーブルエントリーをフェッチする。次
に、ページ番号とセグメントテーブルエントリーにある
ページテーブル起点を使用して主記憶装置に記憶されて
いるページテーブルエントリーをフェッチする。ページ
テーブルエントリーにはページアドレスがあるので、こ
れにページ内変位を付加することにより実アドレスが得
られる。The dynamic address conversion processing from the logical address to the real address in the conventional channel device has been performed as follows. First, when it is detected that the data address reaches the page boundary, the segment table entry stored in the main memory is fetched using the segment number and the segment table starting point. Next, the page table entry stored in the main memory is fetched using the page number and the page table starting point in the segment table entry. Since the page table entry has a page address, a real address can be obtained by adding an in-page displacement to this.
【0006】[0006]
【発明が解決しようとする課題】このように、従来のチ
ャネル装置における動的アドレス変換処理は、ページ境
界に到達する都度、二回に及ぶ主記憶装置へのアクセス
を必要としていた。そして、この連続するアクセスは入
出力データの転送に伴って逐次的に行なわれるため、そ
のオーバヘッドが非常に大きいという問題点があった。As described above, the dynamic address translation process in the conventional channel device requires access to the main memory device twice each time the page boundary is reached. Further, since this continuous access is sequentially performed with the transfer of input / output data, there is a problem that the overhead is very large.
【0007】本発明は、このような従来の問題点に鑑
み、チャネル装置のデータ転送において、ページ境界に
到達した時の動的アドレス変換処理における主記憶装置
へのアクセスをなくすことによって、チャネル装置にお
ける動的アドレス変換処理を高速化することを目的とす
る。In view of the above conventional problems, the present invention eliminates access to the main storage device in the dynamic address translation process when a page boundary is reached in the data transfer of the channel device, thereby eliminating the problem of the channel device. The purpose is to speed up the dynamic address translation process in.
【0008】[0008]
【課題を解決するための手段】本発明によれば、上述の
目的は、前記特許請求の範囲に記載した手段により達成
される。すなわち、本発明は、論理アドレスから実アド
レスへの動的アドレス変換機構を擁して主記憶装置との
間で入出力データの転送を行なうチャネル装置におい
て、複数のページテーブルエントリーを格納するページ
テーブル記憶部を設けると共に、ページアドレスを得る
場合に該ページテーブル記憶部に存在するページテーブ
ルエントリーを参照するステップと、該ステップによっ
ても目的のページアドレスを得られないときに主記憶装
置から複数のページテーブルエントリーをフェッチする
ステップと、フェッチした複数のページテーブルエント
リーを前記ページテーブル記憶部に格納するステップと
を含むチャネル装置の動的アドレス変換方法である。According to the invention, the above mentioned objects are achieved by the means recited in the patent claims. That is, the present invention provides a page table storage for storing a plurality of page table entries in a channel device which has a dynamic address translation mechanism from a logical address to a real address and transfers input / output data to / from a main storage device. And a step of referring to a page table entry existing in the page table storage unit when a page address is obtained, and a plurality of page tables from the main storage device when the target page address cannot be obtained even by the step. A dynamic address translation method for a channel device, comprising: fetching an entry; and storing a plurality of fetched page table entries in the page table storage unit.
【0009】[0009]
【作用】図1は、本発明の原理説明図である。図1にお
いて、主記憶装置1はセグメントテーブル4およびペー
ジテーブル5とを有している。転送制御装置2は、チャ
ネル装置3からフェッチ要求を受けると、主記憶装置1
からセグメントテーブルエントリーおよびページテーブ
ルエントリーのフェッチをして、転送制御を行なう。フ
ェッチ制御部6は、フェッチ判定回路12がセグメント
テーブルエントリーおよびページテーブルエントリーの
フェッチを必要と判定した場合に、転送制御部2へ向け
てフェッチ要求を発行する。ページテーブル記憶部7
は、複数のページテーブルエントリーを記憶しておく容
量があり、転送制御装置2が送出する複数のページテー
ブルエントリーを格納する。FIG. 1 is a diagram for explaining the principle of the present invention. In FIG. 1, the main storage device 1 has a segment table 4 and a page table 5. Upon receiving the fetch request from the channel device 3, the transfer control device 2 receives the main storage device 1
The segment table entry and the page table entry are fetched from and the transfer is controlled. The fetch control unit 6 issues a fetch request to the transfer control unit 2 when the fetch determination circuit 12 determines that the fetch of the segment table entry and the page table entry is necessary. Page table storage unit 7
Has a capacity for storing a plurality of page table entries, and stores a plurality of page table entries sent by the transfer control device 2.
【0010】ポインタ8は、ページテーブル記憶部7が
保持するある一つのページテーブルエントリーを指し示
しており、その指示値はNOT回路11およびAND回
路10の論理に基づいて動作する加算器9によってイン
クリメントされていく。境界到達判定回路13は、デー
タアドレスがページ境界に到達したか否かを判定する。
レジスタ16が格納するDAT制御ビットは、チャネル
装置3が実アドレスモードで動作するのか、論理アドレ
スモードで動作するのかを示す。ポインタ8が指し示す
ページテーブル記憶部7内のページテーブルエントリー
にあるページアドレスとレジスタ15が格納する論理ア
ドレスにあるページ内変位とからレジスタ14に実アド
レスが生成される。The pointer 8 points to a certain page table entry held by the page table storage unit 7, and the indicated value is incremented by an adder 9 which operates based on the logics of the NOT circuit 11 and the AND circuit 10. To go. The boundary arrival determination circuit 13 determines whether or not the data address reaches the page boundary.
The DAT control bit stored in the register 16 indicates whether the channel device 3 operates in the real address mode or the logical address mode. A real address is generated in the register 14 from the page address in the page table entry in the page table storage unit 7 pointed to by the pointer 8 and the in-page displacement at the logical address stored in the register 15.
【0011】論理アドレスにあるページ番号のページテ
ーブルエントリーがページテーブル記憶部7にない場合
には、ポインタ8をリセットすると共に、新たに複数の
ページテーブルエントリーをフェッチして、これをペー
ジテーブル記憶部7に格納する。一方、目的のページテ
ーブルエントリーがページテーブル記憶部7にある場合
には、主記憶装置1へアクセスする必要がないので高速
に実アドレスを生成することができる。When the page table entry of the page number at the logical address is not in the page table storage unit 7, the pointer 8 is reset and a plurality of new page table entries are fetched, and the page table storage unit 7 fetches them. Store in 7. On the other hand, when the target page table entry is in the page table storage unit 7, it is not necessary to access the main storage device 1, so that the real address can be generated at high speed.
【0012】[0012]
【実施例】図2は、境界到達判定回路の構成例を示す図
である。図2において、境界到達判定回路20はレジス
タ21から論理アドレスモードを示すDAT制御ビット
を、またレジスタ22から論理アドレスのページ内変位
をそれぞれ読み出す。動作指示回路23は、DAT制御
ビットが論理アドレスモードを示していた時に、境界到
達判定回路20の各部に対して動作指示を行なう。FIG. 2 is a diagram showing a configuration example of a boundary arrival determination circuit. In FIG. 2, the boundary arrival determination circuit 20 reads the DAT control bit indicating the logical address mode from the register 21 and the in-page displacement of the logical address from the register 22, respectively. The operation instruction circuit 23 gives an operation instruction to each part of the boundary arrival determination circuit 20 when the DAT control bit indicates the logical address mode.
【0013】レジスタ24は、ページの大きさを記憶し
ておりこれは加算器25の一方の入力となる。加算器2
5の他方の入力は論理アドレスにあるページ内変位の補
数である。従って、加算器25の加算結果を格納するレ
ジスタ26には、ページ境界までの値が設定される。比
較器28は、このページ境界までの値と、転送データ数
を計数するカウンタ27の値とを比較する。比較結果が
一致した場合がページ境界到達時となる。Register 24 stores the page size, which is one input to adder 25. Adder 2
The other input of 5 is the complement of the intra-page displacement at the logical address. Therefore, the value up to the page boundary is set in the register 26 that stores the addition result of the adder 25. The comparator 28 compares the value up to the page boundary with the value of the counter 27 that counts the number of transfer data. When the comparison results match, the page boundary is reached.
【0014】図3は、本発明の実施例を示す図である。
図3において、チャネル装置32はデータ転送に先立っ
てアドレス変換処理を行なう。その変換処理では、まず
データアドレスが論理アドレスで表わされているもので
あるのか、あるいは実アドレスで表わされているもので
あるかの判断をする。実アドレスの場合には変換処理を
する必要はなくそのまま変換処理を終了する。この場合
のDAT制御ビットはオフを示している。FIG. 3 is a diagram showing an embodiment of the present invention.
In FIG. 3, the channel device 32 performs address conversion processing prior to data transfer. In the conversion processing, it is first determined whether the data address is represented by a logical address or a real address. In the case of a real address, it is not necessary to perform the conversion process, and the conversion process is ended as it is. In this case, the DAT control bit indicates off.
【0015】DAT制御ビットがオンを示して、データ
アドレスが論理アドレスの場合には、続くステップでそ
の論理アドレスにあるページ番号のページテーブルエン
トリーがページテーブル記憶部36にあるか否かを判断
する。ページテーブルエントリーがないことと判断した
場合にはセグメントテーブルおよびページテーブルのフ
ェッチを行なう。この時、フェッチ制御部35が転送制
御装置31に対してフェッチ要求を発行する。When the DAT control bit is turned on and the data address is a logical address, it is determined in the next step whether or not the page table entry of the page number of the logical address is in the page table storage unit 36. .. If it is determined that there is no page table entry, the segment table and page table are fetched. At this time, the fetch control unit 35 issues a fetch request to the transfer control device 31.
【0016】転送制御装置31は、主記憶装置30のセ
グメントテーブル33およびページテーブル34からフ
ェッチ要求で示されたセグメントテーブルエントリー並
びに複数のページテーブルエントリーを得て、これらを
チャネル装置32へ送出する。フェッチ要求では、例え
ばページ番号{m×2n }〜{(m+1)2n −1}ま
での2n 個の複数のページテーブルエントリーの要求を
行なう。The transfer control device 31 obtains the segment table entry and the plurality of page table entries indicated by the fetch request from the segment table 33 and the page table 34 of the main memory device 30, and sends them to the channel device 32. In the fetch request, for example, a request for a plurality of 2 n page table entries from page numbers {m × 2 n } to {(m + 1) 2 n −1} is made.
【0017】転送制御装置31から受け取る複数のペー
ジテーブルエントリーはページテーブル記憶部36に格
納する。このとき、ポインタ37をリセットしておく。
一方、論理アドレスにあるページ番号のページテーブル
エントリーが既にページテーブル記憶部36にあること
と判断した場合には、先のアドレス変換に係るページテ
ーブルエントリーの次のページテーブルエントリーを指
し示すようにポインタ37を進める。A plurality of page table entries received from the transfer control device 31 are stored in the page table storage section 36. At this time, the pointer 37 is reset.
On the other hand, when it is determined that the page table entry of the page number at the logical address is already in the page table storage unit 36, the pointer 37 is set to point to the page table entry next to the page table entry related to the previous address conversion. Proceed.
【0018】最後に、ポインタ37が指し示しているペ
ージテーブルエントリーにあるページアドレスと、論理
アドレスにあるページ内変位とから実アドレスを生成す
る。なお、上述した2n 個のページテーブルエントリー
のフェッチ要求をする場合において、必要なページテー
ブルエントリーがページテーブル記憶部36にあるか否
かの判断では、論理アドレスにあるページ番号が2n の
倍数であるか否かをみればよい。この時、2n の倍数で
なければページテーブル記憶部36にあることとなり、
2n の倍数であればフェッチを行なう必要がある。Finally, the real address is generated from the page address in the page table entry pointed to by the pointer 37 and the in-page displacement at the logical address. When requesting fetch of 2 n page table entries as described above, the page number in the logical address is a multiple of 2 n when determining whether the required page table entry exists in the page table storage unit 36. You can check whether or not At this time, if it is not a multiple of 2 n , it is stored in the page table storage unit 36,
If it is a multiple of 2 n , it is necessary to fetch.
【0019】[0019]
【発明の効果】以上説明したように、本発明によれば、
とりわけ大量データ転送におけるチャネル装置による動
的アドレス変換処理において、主記憶装置からセグメン
トテーブルおよびページテーブルをフェッチする回数を
大きく減少させることができるので、データ転送速度の
向上に寄与するところが大きいという利点がある。As described above, according to the present invention,
In particular, in the dynamic address translation process by the channel device in a large amount of data transfer, the number of times the segment table and the page table are fetched from the main storage device can be greatly reduced, which has the advantage of greatly contributing to the improvement of the data transfer rate. is there.
【図1】本発明の原理説明図である。FIG. 1 is a diagram illustrating the principle of the present invention.
【図2】境界到達判定回路の構成例を示す図である。FIG. 2 is a diagram illustrating a configuration example of a boundary arrival determination circuit.
【図3】本発明の実施例を示す図である。FIG. 3 is a diagram showing an embodiment of the present invention.
【図4】チャネル装置のデータ転送処理を示す図であ
る。FIG. 4 is a diagram showing a data transfer process of a channel device.
1,30,40 主記憶装置 2,31,41 転送制御装置 3,32,42 チャネル装置 4,33 セグメントテーブル 5,34 ページテーブル 6,35 フェッチ制御部 7,36 ページテーブル記憶部 8,37 ポインタ 9,25 加算器 10 AND回路 11 NOT回路 12 フェッチ判定回路 13,20 境界到達判定回路 14〜16,21,22,24,26 レジスタ 23 動作指示回路 27 カウンタ 28 比較器 43 ディスクアレイ装置 1, 30, 40 Main storage device 2, 31, 41 Transfer control device 3, 32, 42 Channel device 4, 33 Segment table 5, 34 Page table 6, 35 Fetch control unit 7, 36 Page table storage unit 8, 37 Pointer 9, 25 Adder 10 AND circuit 11 NOT circuit 12 Fetch determination circuit 13, 20 Boundary arrival determination circuit 14-16, 21, 22, 24, 26 Register 23 Operation instruction circuit 27 Counter 28 Comparator 43 Disk array device
Claims (1)
ドレス変換機構を擁して主記憶装置との間で入出力デー
タの転送を行なうチャネル装置において、 複数のページテーブルエントリーを格納するページテー
ブル記憶部を設けると共に、 ページアドレスを得る場合に該ページテーブル記憶部に
存在するページテーブルエントリーを参照するステップ
と、 該ステップによっても目的のページアドレスを得られな
いときに主記憶装置から複数のページテーブルエントリ
ーをフェッチするステップと、 フェッチした複数のページテーブルエントリーを前記ペ
ージテーブル記憶部に格納するステップとを含むことを
特徴とするチャネル装置の動的アドレス変換方法。1. A page table storage unit for storing a plurality of page table entries in a channel device having a dynamic address translation mechanism from a logical address to a real address for transferring input / output data to / from a main storage device. And a step of referring to the page table entry existing in the page table storage unit when obtaining the page address, and a plurality of page table entries from the main storage device when the target page address cannot be obtained even by the step. And a step of storing the plurality of fetched page table entries in the page table storage unit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3250821A JPH0588983A (en) | 1991-09-30 | 1991-09-30 | Method for dynamic address conversion of channel equipment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3250821A JPH0588983A (en) | 1991-09-30 | 1991-09-30 | Method for dynamic address conversion of channel equipment |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0588983A true JPH0588983A (en) | 1993-04-09 |
Family
ID=17213538
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3250821A Pending JPH0588983A (en) | 1991-09-30 | 1991-09-30 | Method for dynamic address conversion of channel equipment |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0588983A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7136933B2 (en) | 2001-06-06 | 2006-11-14 | Nec Corporation | Inter-processor communication systems and methods allowing for advance translation of logical addresses |
JP2012533135A (en) * | 2009-07-13 | 2012-12-20 | アップル インコーポレイテッド | TLB prefetching |
-
1991
- 1991-09-30 JP JP3250821A patent/JPH0588983A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7136933B2 (en) | 2001-06-06 | 2006-11-14 | Nec Corporation | Inter-processor communication systems and methods allowing for advance translation of logical addresses |
JP2012533135A (en) * | 2009-07-13 | 2012-12-20 | アップル インコーポレイテッド | TLB prefetching |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2665111B2 (en) | Vector processing equipment | |
US11294675B2 (en) | Writing prefetched data into intra-core caches of cores identified by prefetching instructions | |
US6205531B1 (en) | Method and apparatus for virtual address translation | |
US7844752B2 (en) | Method, apparatus and program storage device for enabling multiple asynchronous direct memory access task executions | |
US5805930A (en) | System for FIFO informing the availability of stages to store commands which include data and virtual address sent directly from application programs | |
JP2001060169A (en) | Cache controller and computer system | |
JPH0588983A (en) | Method for dynamic address conversion of channel equipment | |
US7382970B2 (en) | Process control manager for audio/video file system | |
JPH03147157A (en) | Information processor | |
JPS5858752B2 (en) | address translation device | |
JP3447820B2 (en) | Bus controller | |
JP2778623B2 (en) | Prefetch control device | |
JPH10111798A (en) | Information processor | |
JPH04348442A (en) | Address converter | |
US5524221A (en) | Next instruction pointer calculation system for a microcomputer | |
JP2895892B2 (en) | Data processing device | |
JP2743604B2 (en) | Data transfer device | |
JP2805786B2 (en) | Information processing device | |
JPS6058500B2 (en) | Access control method | |
JPS63208144A (en) | Cache memory controller | |
JPS61128371A (en) | Vector processor | |
JPS59132483A (en) | Address converting device | |
JPH07114507A (en) | Indirect data address word control circuit | |
JPH04273347A (en) | Information processor provided with setting mechanism for optimum cache capacity | |
JPH04277846A (en) | High-speed address converting system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20010424 |