JPH0234059B2 - - Google Patents
Info
- Publication number
- JPH0234059B2 JPH0234059B2 JP60123922A JP12392285A JPH0234059B2 JP H0234059 B2 JPH0234059 B2 JP H0234059B2 JP 60123922 A JP60123922 A JP 60123922A JP 12392285 A JP12392285 A JP 12392285A JP H0234059 B2 JPH0234059 B2 JP H0234059B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- page
- bit position
- register
- tlb
- 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.)
- Expired - Lifetime
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Description
【発明の詳細な説明】
本発明はデータ処理装置、特にTLBが記憶装
置内にもうけられ又は記憶装置自体と略同一速度
で動作する素子で構成され上記記憶装置とは別個
にもうけられるデータ処理システムにおいて、与
えられた論理アドレスに対するアドレス更新処理
の際ページ・クロスが現実に発生した場合にのみ
TLB索引処理を行うようにすると共にシステム
がリアル・モードで動作中の場合においても、ア
ドレス更新処理が正しく行い得るようにしたデー
タ処理装置に関するものである。DETAILED DESCRIPTION OF THE INVENTION The present invention relates to a data processing device, particularly a data processing system in which a TLB is provided within a storage device or is comprised of elements that operate at substantially the same speed as the storage device itself and is provided separately from the storage device. , only if a page cross actually occurs during address update processing for a given logical address.
The present invention relates to a data processing device that performs TLB index processing and also allows address update processing to be performed correctly even when the system is operating in real mode.
仮想記憶方式をとるデータ処理システムにおい
ては、記憶装置とは別個に動作速度が比較的速い
素子で構成されるTLB(Translation Lookahead
Buffer)をもうけ、例えば条件分岐が成立して
新たな論理アドレスが与えられるようになつた場
合や論理アドレス中のページ内アドレスを更新処
理している間にページ・クロスが生じた場合など
に上記TLBに対し索引処理を行い、論理ペー
ジ・アドレスを実ページ・アドレスに変換せしめ
るようにする。 In a data processing system that uses a virtual memory method, TLB (Translation Lookahead
For example, when a conditional branch is established and a new logical address is given, or when a page cross occurs while updating an address in a page in a logical address, etc. Index processing is performed on the TLB to convert logical page addresses to real page addresses.
従来、この種のデータ処理システムにおいて
は、上述のページ・クロスの発生を判断するに当
たつて、アドレス更新処理における被演算数即ち
ページ内アドレスとそれに加算又は減算される数
とにもとづいて判断するようにしていた。例え
ば、上記被演算数が+1ないし+2である如く比
較的小さな数である場合にはページ・クロスの発
生を常時チエツクしチエツク結果にもとづいて
TLBを索引するか否かを決定し、他方上記被演
算数が+8である如く比較的大きな数である場合
には予めページ・クロスが発生するものとみなし
ておきTLB索引処理を必ず行うようにしていた。 Conventionally, in this type of data processing system, when determining the occurrence of the above-mentioned page cross, the determination is made based on the operand in address update processing, that is, the address within the page and the number to be added to or subtracted from it. I was trying to do that. For example, if the above operand is a relatively small number such as +1 or +2, the occurrence of page crosses is constantly checked and based on the check results,
Decide whether or not to index the TLB, and on the other hand, if the operand above is a relatively large number such as +8, assume in advance that a page cross will occur and be sure to perform TLB index processing. was.
しかし、TLBの動作速度が記憶装置のそれと
略同一である如き場合に上述した如き方式を採用
すると、被演算数が比較的大きな場合には常時
TLB索引処理を行わなければならない結果、ペ
ージ・クロスが現実に発生しなかつた場合におい
ても非所望なTLB索引処理を行わなければなら
ず、このためメモリ・アクセスを要する時間が全
体として長くならざるを得なかつた。このことは
TLBが記憶装置の一部に配設されている場合に
おいても同様である。 However, if the above method is adopted when the operating speed of the TLB is approximately the same as that of the storage device, if the operand is relatively large, the
As a result of having to perform TLB index processing, undesired TLB index processing must be performed even if a page cross does not actually occur, which increases the overall time required for memory access. I didn't get it. This thing is
The same applies when the TLB is provided as part of the storage device.
本発明は仮想記憶方式のみを採るシステムに限
定されることはなく実記憶方式を併用するシステ
ムにおいても適用することができるが、上記の点
を解決することを目的とし、連続アクセスの際の
TLBに対する索引処理をページ・クロスが現に
発生した場合にのみ行うようにせしめ、アドレス
変換処理を効率よく行い得るようにすることを目
的としている。更に本発明はシステムがリアル・
モードで動作している場合において、誤つたアク
セス・アドレスが生成されたことを検出し、当該
検出がなされた場合には生成されたアクセス・ア
ドレスを訂正するようにして正しいアクセス・ア
ドレスを得るようにすること及びアドレス更新の
演算時間の短縮を目的としている。そしてそのた
め本発明のデータ処理装置は与えられた論理アド
レスに対するアドレス更新処理の際ページ・クロ
スが発生した場合にTLBを索引するデータ処理
装置において、上記論理アドレスを、ページ・ア
ドレスの一部の構成ビツトとページ内アドレスの
構成ビツトとで構成される第1アドレス部と、そ
の他の構成ビツトからなる第2アドレス部とに予
め分割しておき、連続したアクセスを行うに際し
て、上記第1アドレス部については該第1アドレ
ス部の構成ビツトと同一の演算ビツト幅をもつ演
算器によりアドレスの更新を行いページ内アドレ
ス部分のみをメモリ・アクセス・アドレスとし、
その他のページ・アドレス部分は既にセツトされ
ている値を利用すると同時にページ・クロスのチ
エツクを上記演算器の演算結果にもとづいて行
い、ページ・クロスが発生したときは第2アドレ
ス部へのキヤリまたはボローを伝搬して得た論理
アドレスをメモリ・アクセス・アドレスとするべ
くページ・クロスのチエツク条件として少なくと
もページ・アドレスへのキヤリをチエツク信号と
し、システムの動作モードが仮想アドレス、実ア
ドレスどちらのモードであつても、同じページ・
クロス・チエツクを行うことができることを特徴
としている。以下図面を参照しつつ本発明を説明
する。 The present invention is not limited to systems that use only virtual storage, but can also be applied to systems that also use real storage.
The purpose is to perform index processing for the TLB only when a page cross actually occurs, and to perform address translation processing efficiently. Furthermore, the present invention allows the system to be
mode, it detects that an incorrect access address has been generated, and if this detection is made, the generated access address is corrected to obtain the correct access address. The purpose is to reduce the address update calculation time. Therefore, the data processing device of the present invention indexes the TLB when a page cross occurs during address update processing for a given logical address. It is divided in advance into a first address part consisting of bits and constituent bits of the address within the page, and a second address part consisting of other constituent bits, and when performing consecutive accesses, the first address part is updates the address using an arithmetic unit having the same arithmetic bit width as the constituent bits of the first address part, and makes only the in-page address part a memory access address,
For other page address parts, the values that have already been set are used, and at the same time, a page cross check is performed based on the calculation result of the above-mentioned arithmetic unit, and when a page cross occurs, a carry or In order to use the logical address obtained by propagating the borrow as the memory access address, at least a carry to the page address is used as a check signal as a check condition for a page cross, and the system operation mode is set to either virtual address or real address mode. Even if the same page/
It is characterized by the ability to perform cross checks. The present invention will be described below with reference to the drawings.
図は本発明によるデータ処理装置の一実施例構
成を示している。 The figure shows the configuration of an embodiment of a data processing device according to the present invention.
図において、1は中央処理装置、2は記憶装
置、3は論理アドレス・レジスタであり与えられ
た論理アドレスがセツトされるもの、3−1は本
発明にいう第1アドレス部であり論理アドレス中
のページ・アドレスの一部の構成ビツト(図の場
合第8ビツト位置から第14ビツト位置までのビツ
ト)と論理アドレスのページ内アドレスの構成ビ
ツト(図の場合第15ビツト位置から第23ビツト位
置までのビツト)とで構成されるもの、3−2は
本発明にいう第2アドレス部であり論理アドレス
のその他の構成ビツト(図の場合第0ビツト位置
から第7ビツト位置までのビツト)で構成される
もの、4は被演算数レジスタであり上記論理アド
レス中の第1アドレス部3−1に対し加算又は減
算される被演算数がセツトされるもの、5は演算
器であり上記論理アドレス中の第1アドレス部3
−1と上記被演算数レジスタ4内の被演算数とを
加算処理又は減算処理するもの、6はTLB
(Translation Lookahead Buffer)であり記憶
装置2の動作速度と同一若しくは近接した動作速
度をもつ構成素子により構成されるもの(記憶装
置2内に配設されていてもよい)、7はチエツク
回路でありページ・クロスの発生を検出するも
の、8はアクセス・アドレス・レジスタでありア
ドレス変換処理を行う際の論理アドレスあるいは
アドレス変換処理結果即ちメモリ・アクセス・ア
ドレスがセツトされるもの、9ないし10は夫々
ノツト・ゲート、11ないし12は夫々アンド・
ゲート、13はオア・ゲート、14は論理アドレ
ス中の第15ビツト位置のビツト信号、15は演算
器5による演算結果中の第8ビツト位置からのキ
ヤリ又はボローの信号、16は演算器5による演
算結果中の第0ビツト位置からのキヤリ又はボロ
ーの信号を夫々表している。以下システムが仮想
アドレス・モードで動作している場合と実アドレ
ス・モードで動作している場合とに分類し各場合
における処理動作を説明する。この場合、演算器
5は加算処理を行い、アクセスは連続して行われ
るものとする。 In the figure, 1 is a central processing unit, 2 is a storage device, 3 is a logical address register to which a given logical address is set, and 3-1 is the first address part according to the present invention, which is a part of the logical address. Some constituent bits of the page address (in the figure, the bits from the 8th bit position to the 14th bit position) and constituent bits of the internal page address of the logical address (in the figure, the bits from the 15th bit position to the 23rd bit position) 3-2 is the second address part according to the present invention, and the other constituent bits of the logical address (in the case of the figure, the bits from the 0th bit position to the 7th bit position) 4 is an operand register in which the operand to be added or subtracted from the first address part 3-1 in the above logical address is set; 5 is an arithmetic unit which registers the above logical address. First address part 3 inside
-1 and the operand in the operand register 4 are added or subtracted, 6 is TLB
(Translation Lookahead Buffer), which is composed of components whose operating speed is the same as or close to that of the storage device 2 (it may be disposed within the storage device 2); 7 is a check circuit; 8 is an access address register for detecting the occurrence of a page cross; 8 is an access address register in which a logical address or address translation processing result, that is, a memory access address, is set; 9 to 10 are respective access address registers; Not Gate, 11 and 12 are respectively and.
13 is an OR gate, 14 is a bit signal at the 15th bit position in the logical address, 15 is a carry or borrow signal from the 8th bit position in the calculation result by the arithmetic unit 5, and 16 is a signal from the arithmetic unit 5. They respectively represent a carry or borrow signal from the 0th bit position in the calculation result. The processing operations in each case will be explained below by classifying the system into cases in which it operates in virtual address mode and cases in which it operates in real address mode. In this case, it is assumed that the arithmetic unit 5 performs addition processing and accesses are performed continuously.
〔〕 システム系が仮想アドレス・モードである
場合。[] When the system is in virtual address mode.
(1) 連続したアクセスを行う際のアドレス更新
処理時にページ・クロスが発生しない場合即
ち(イ)信号14が論理「0」でありかつ信号15が
論理「0」若しくは論理「1」となる場合又
は(ロ)信号14が論理「1」でありかつ信号15が
論理「0」となる場合、チエツク回路7の出
力は論理「0」となりTLB6に対する索引
処理は行われない。そして演算器5の加算結
果はアクセス・アドレス・レジスタ8の第15
ビツト位置から第23ビツト位置までのビツト
領域にセツトされるようにする。この場合論
理アドレスは既にアドレス変換され、所望の
アクセス・アドレスのうちの実ページ部分は
レジスタ8の第0ビツト位置から第14ビツト
位置にセツトされているものとする。 (1) When a page cross does not occur during address update processing during continuous access, that is, (a) When signal 14 is logic "0" and signal 15 is logic "0" or logic "1". Or (b) When the signal 14 is a logic "1" and the signal 15 is a logic "0", the output of the check circuit 7 becomes a logic "0" and no index processing is performed on the TLB 6. The addition result of arithmetic unit 5 is the 15th address register of access address register 8.
It is set in the bit area from the bit position to the 23rd bit position. In this case, it is assumed that the logical address has already been converted and the real page portion of the desired access address has been set in the 0th bit position to the 14th bit position of register 8.
(2) 一方アドレス更新処理時にページ・クロス
が発生した場合即ち信号14および信号15
がともに論理「1」となる場合、チエツク回
路7の出力は論理「1」となり、TLB6に
対する索引処理が行われる。まず演算器5の
加算結果はレジスタ8の第8ビツト位置から
第23ビツト位置までの領域にセツトされ、さ
らに第2アドレス部3−2はレジスタ8の第
0ビツト位置から第7ビツト位置までのビツ
ト領域にセツトされる。この際信号16が論理
「1」であると第2アドレス部3−2の領域
内の情報に対して+1処理が行われてからレ
ジスタ8にセツトされる。従つて更新された
論理アドレスがレジスタ8に得られる。 (2) On the other hand, if a page cross occurs during address update processing, that is, signals 14 and 15
When both are logic "1", the output of the check circuit 7 becomes logic "1", and index processing for TLB 6 is performed. First, the addition result of the arithmetic unit 5 is set in the area from the 8th bit position to the 23rd bit position of the register 8, and the second address part 3-2 is set to the area from the 0th bit position to the 7th bit position of the register 8. Set in bit area. At this time, if the signal 16 is logic "1", the information in the area of the second address section 3-2 is subjected to +1 processing and then set in the register 8. An updated logical address is therefore obtained in register 8.
次にレジスタ8の第0ビツト位置から第14
ビツト位置のページ・アドレスによりTLB
6が索引され、索引結果即ちページ・アドレ
スをレジスタ8の第0ビツト位置から第14ビ
ツト位置までのビツト領域にセツトせしめ
る。即ちレジスタ8にTLB索引による、実
ページ・アドレスとアドレス更新処理後のペ
ージ内アドレスとからなる所望のアクセス・
アドレスが得られることとなる。 Next, from the 0th bit position of register 8 to the 14th bit position
TLB by page address at bit position
6 is indexed, and the index result, ie, the page address, is set in the bit area from the 0th bit position to the 14th bit position of register 8. That is, the desired access address consisting of the real page address and the in-page address after address update processing is stored in register 8 according to the TLB index.
An address will be obtained.
〔〕 システム系が実アドレス・モードである場
合。[] When the system system is in real address mode.
(1) ページ・クロスのチエツク回路7の出力が
論理「0」となる場合、連続アクセスの最初
に論理アドレス中の第2アドレス部3−2は
レジスタ8の第0ビツト位置から第7ビツト
位置までのビツト領域にセツトされ、第1ア
ドレス部3−1の第8ビツト位置から第14ビ
ツト位置まではレジスタ8の第8ビツト位置
から第14ビツト位置までにセツトされてい
る。演算器5による加算結果はレジスタ8の
第15ビツト位置から第23ビツト位置までのビ
ツト領域にセツトされる。即ち論理アドレス
中のページ・アドレスに同一の実ページ・ア
ドレスと、論理アドレス中のページ内アドレ
スが更新処理された結果のページ内アドレス
とからなる所望にアクセス・アドレスが生成
される。 (1) When the output of the page cross check circuit 7 becomes logic "0", the second address part 3-2 in the logical address at the beginning of continuous access is from the 0th bit position to the 7th bit position of the register 8. The 8th bit position to the 14th bit position of the first address section 3-1 is set to the 8th bit position to the 14th bit position of the register 8. The result of addition by the arithmetic unit 5 is set in the bit area from the 15th bit position to the 23rd bit position of the register 8. That is, an access address is generated as desired, consisting of a real page address that is the same as the page address in the logical address, and an in-page address that is the result of updating the in-page address in the logical address.
(2) 一方、ページ・クロスのチエツク回路7の
出力が論理「1」となる場合、アクセス・ア
ドレス・レジスタ8のページ・アドレス部の
更新も行われる。 (2) On the other hand, when the output of the page cross check circuit 7 becomes logic "1", the page address section of the access address register 8 is also updated.
演算器5の加算結果はレジスタ8の第8ビ
ツト位置から第23ビツト位置までのビツト領
域にセツトされ、さらに第2アドレス部3−
2はレジスタ8の第0ビツト位置から第7ビ
ツト位置までのビツト領域にセツトされる。
この際、信号16が論理「1」であると第2ア
ドレス部3−2の領域内の情報に対して+1
処理が行われてからレジスタ8にセツトされ
る。従つて更新された論理アドレス即ち所望
のアクセス・アドレスがレジスタ8に得られ
る。 The addition result of the arithmetic unit 5 is set in the bit area from the 8th bit position to the 23rd bit position of the register 8, and is further stored in the second address section 3-2.
2 is set in the bit area from the 0th bit position to the 7th bit position of the register 8.
At this time, if the signal 16 is logic "1", the information in the area of the second address section 3-2 is +1.
It is set in register 8 after processing. An updated logical address, ie the desired access address, is thus obtained in register 8.
上述の処理動作の説明は演算器5が加算処理
を行う場合についてのものであるが、減算処理
を行う場合についても同様の処理が行われる。
従つて、ページ・クロス検出信号であるオア・
ゲート13の出力がオフである場合には連続ア
クセス時において演算は第1アドレス部に対す
る演算のみで済む。 The above description of the processing operation is for the case where the arithmetic unit 5 performs the addition process, but the same process is performed when the arithmetic unit 5 performs the subtraction process.
Therefore, the page crossing detection signal, OR
When the output of the gate 13 is off, only the calculation for the first address part is required during continuous access.
以上の説明から明らかな如く、本発明によれ
ば、被演算数が比較的大きなものである場合にお
いても現実にページ・クロスが生じたか否かを判
断しページ・クロス発生の場合のみ第2アドレス
部の演算及びTLB索引処理を行うようにしたた
め、TLBに対して従来なされていた不必要な第
2アドレス部の演算および索引処理を行うことを
省略することができメモリ・アクセスに要する時
間を全体として短縮することができ、さらに仮想
アドレス、実アドレスどちらのモードであつても
共通な制御が可能になる。 As is clear from the above description, according to the present invention, even when the operand is relatively large, it is determined whether or not a page cross actually occurs, and only when a page cross occurs, the second address is Since calculations for the second address part and index processing for the TLB are performed, unnecessary calculations and index processing for the second address part, which were conventionally performed for the TLB, can be omitted, reducing the overall time required for memory access. Furthermore, common control is possible in both virtual address and real address modes.
図は本発明によるデータ処理装置の一実施例構
成を示し、図中、2は記憶装置、3は論理アドレ
ス・レジスタ、3−1は第1アドレス部、3−2
は第2アドレス部、4は被演算数レジスタ、5は
演算器、6はTLB、7はチエツク回路、8はア
クセス・アドレス・レジスタを夫々表す。
The figure shows the configuration of an embodiment of a data processing device according to the present invention, in which 2 is a storage device, 3 is a logical address register, 3-1 is a first address section, and 3-2
4 represents the second address part, 4 represents the operand register, 5 represents the arithmetic unit, 6 represents the TLB, 7 represents the check circuit, and 8 represents the access address register.
Claims (1)
新処理の際ページ・クロスが発生した場合に
TLBを索引するデータ処理装置において、上記
論理アドレスを、ページ・アドレスの一部の構成
ビツトとページ内アドレスの構成ビツトとで構成
される第1アドレス部と、その他の構成ビツトか
らなる第2アドレス部とに予め分割しておき、連
続したアクセスを行うに際して、上記第1アドレ
ス部については該第1アドレス部の構成ビツトと
同一の演算ビツト幅をもつ演算器によりアドレス
の更新を行いページ内アドレス部分のみをメモ
リ・アクセス・アドレスとし、その他のページ・
アドレス部分は既にセツトされている値を利用す
ると同時にページ・クロスのチエツクを上記演算
器の演算結果にもとづいて行い、ページ・クロス
が発生したときは第2アドレス部へのキヤリまた
はボローを伝搬して得た論理アドレスをメモリ・
アクセス・アドレスとするべくページ・クロスの
チエツク条件として少なくともページ・アドレス
へのキヤリをチエツク信号とし、システムの動作
モードが仮想アドレス、実アドレスどちらのモー
ドであつても、同じページ・クロス・チエツクを
行うことができることを特徴とするデータ処理装
置。1 If a page cross occurs during address update processing for a given logical address,
In a data processing device that indexes a TLB, the logical address is divided into a first address part consisting of some constituent bits of a page address and constituent bits of an intra-page address, and a second address part consisting of other constituent bits. When performing consecutive accesses, the address of the first address part is updated by an arithmetic unit having the same operation bit width as the constituent bits of the first address part, and the addresses within the page are updated. only part is the memory access address, and the other page/
The address part uses the value that has already been set, and at the same time checks for page crosses based on the calculation results of the above arithmetic unit. When a page cross occurs, a carry or borrow is propagated to the second address part. The logical address obtained by
As a check condition for page crosses to be used as access addresses, at least a carry to a page address is used as a check signal, and the same page cross check is performed regardless of whether the system operation mode is virtual address or real address mode. A data processing device characterized by being able to perform the following operations.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP60123922A JPS61117636A (en) | 1985-06-07 | 1985-06-07 | Data processor |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP60123922A JPS61117636A (en) | 1985-06-07 | 1985-06-07 | Data processor |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS61117636A JPS61117636A (en) | 1986-06-05 |
| JPH0234059B2 true JPH0234059B2 (en) | 1990-08-01 |
Family
ID=14872658
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP60123922A Granted JPS61117636A (en) | 1985-06-07 | 1985-06-07 | Data processor |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS61117636A (en) |
-
1985
- 1985-06-07 JP JP60123922A patent/JPS61117636A/en active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS61117636A (en) | 1986-06-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4961161A (en) | Arithmetic processor performing mask and trap operations for exceptions | |
| JPS6215896B2 (en) | ||
| US5757685A (en) | Data processing system capable of processing long word data | |
| JPH0234059B2 (en) | ||
| KR960012354B1 (en) | Microprocessor | |
| JPH0552539B2 (en) | ||
| JPH0285960A (en) | Information processing system | |
| JPH0248733A (en) | information processing equipment | |
| KR930005840B1 (en) | How processors are distinguished | |
| JPH03109656A (en) | Multiplex virtual space address system and data processor | |
| JP2928566B2 (en) | Operand reading device | |
| JPH0156429B2 (en) | ||
| JPH03119424A (en) | Information processing system and its device | |
| JP2843428B2 (en) | Information processing device | |
| JPS5946074B2 (en) | Address translation buffer control method | |
| JPS6161142B2 (en) | ||
| JPS63120336A (en) | Switching system for memory access mode | |
| JPS61296448A (en) | Data writing control system for electronic computer | |
| JPH0439099B2 (en) | ||
| JPH0812602B2 (en) | Information processing device | |
| JPS63223833A (en) | arithmetic device | |
| JPS63752A (en) | Memory protection system | |
| JPH05108542A (en) | Data processor | |
| JPH03119425A (en) | Information processing system and its device | |
| JPS6259341B2 (en) |