JPH053019B2 - - Google Patents

Info

Publication number
JPH053019B2
JPH053019B2 JP1182069A JP18206989A JPH053019B2 JP H053019 B2 JPH053019 B2 JP H053019B2 JP 1182069 A JP1182069 A JP 1182069A JP 18206989 A JP18206989 A JP 18206989A JP H053019 B2 JPH053019 B2 JP H053019B2
Authority
JP
Japan
Prior art keywords
address
unit
instruction
data
storage means
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
Application number
JP1182069A
Other languages
Japanese (ja)
Other versions
JPH0285944A (en
Inventor
Masahito Saito
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
Nippon Electric Co Ltd
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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP1182069A priority Critical patent/JPH0285944A/en
Publication of JPH0285944A publication Critical patent/JPH0285944A/en
Publication of JPH053019B2 publication Critical patent/JPH053019B2/ja
Granted legal-status Critical Current

Links

Landscapes

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はデータ処理装置に関する。[Detailed description of the invention] [Industrial application field] The present invention relates to a data processing device.

〔従来の技術〕[Conventional technology]

高処理能力を実現する大型中央処理装置におい
ては、論理アドレスを主記憶装置の実アドレスに
変換するアドレス変換ユニツトと主記憶装置内の
一部情報を格納しているバツフアユニツトとを備
えている。
A large central processing unit that achieves high processing capacity is equipped with an address conversion unit that converts logical addresses into real addresses in the main memory, and a buffer unit that stores some information in the main memory.

〔発明が解決しようとする課題〕[Problem to be solved by the invention]

しかし、従来、中央処理装置の制御のパイプラ
イン化が進むにつれ、命令とオペランドデータと
の読出し要求がアドレス変換ユニツトとバツフア
ユニツトとにおいて競合をおこし中央処理装置の
性能向上の障害となつている。
Conventionally, however, as the control of the central processing unit becomes more pipelined, read requests for instructions and operand data cause competition between the address conversion unit and the buffer unit, which becomes an obstacle to improving the performance of the central processing unit.

本発明の目的はこれを廃しバツフアユニツトの
適度なミスヒツト率を実現して中央処理装置の性
能向上を達成できるデータ処理装置を提供するこ
とにある。
An object of the present invention is to provide a data processing apparatus that eliminates this problem, achieves an appropriate mishit rate of the buffer unit, and improves the performance of the central processing unit.

〔課題を解決するための手段〕[Means to solve the problem]

本発明の装置は、命令およびデータを記憶する
記憶手段と、 この記憶手段の記憶内容を読み出す複数の読出
し手段と、 前記記憶手段に記憶された命令の一部の写しを
格納する命令格納手段と、 この命令格納手段の格納容量と同一の格納容量
を有し前記記憶手段に記憶されたデータの一部の
写しを格納するデータ格納手段と、 前記複数の読出し手段のうちの1つの読出し手
段から与えられる命令の論理アドレスがセグメン
ト/ページ境界を越えるか否かを検出し越えなけ
れば該論理アドレスの少なくとも一部を前記命令
格納手段に直接与える命令論理アドレス検出手段
と、 この命令論理アドレス検出手段で前記論理アド
レスがセグメント/ページ境界を越えると検出し
たとき前記論理アドレスを前記記憶手段の実アド
レスに変換し変換結果を前記命令格納手段に与え
るアドレス変換手段とを備え、前記複数の読出し
手段のうちの1つの読出し手段から与えられるデ
ータの論理アドレスを前記アドレス変換手段によ
り前記記憶手段の実アドレスに変換し変換結果を
前記データ格納手段に与えることを特徴とする。
The apparatus of the present invention includes a storage means for storing instructions and data, a plurality of reading means for reading out the contents of the storage means, and an instruction storage means for storing a copy of a part of the instructions stored in the storage means. , a data storage means that has the same storage capacity as the storage capacity of the instruction storage means and stores a copy of a part of the data stored in the storage means, and one reading means of the plurality of reading means. an instruction logical address detection means for detecting whether a logical address of a given instruction exceeds a segment/page boundary and, if the logical address does not exceed a segment/page boundary, directly providing at least a part of the logical address to the instruction storage means; and address converting means that converts the logical address into a real address of the storage means when it is detected that the logical address exceeds a segment/page boundary, and provides the conversion result to the instruction storage means, It is characterized in that the logical address of data given from one of the reading means is converted into a real address of the storage means by the address conversion means, and the conversion result is provided to the data storage means.

〔実施例〕〔Example〕

第1図は、従来のデータ処理装置の一例を示す
図である。命令読出し制御ユニツト1利用ユニツ
トは、命令の主記憶上の格納アドレスを論理アド
レス(以下命令論理アドレス)の形で信号線14
を介してアドレス変換ユニツト4に送出する。該
ユニツト4は命令論理アドレスを主記憶ユニツト
6上の実際のアドレス(以下命令アドレス)に変
換したあとで、このアドレスをバツフアユニツト
5に信号線45を介して送出する。もし、アドレ
ス変換のために必要な情報が前記ユニツト4に存
在しなれば信号線46を介して前記ユニツト6か
ら前記必要な情報の読出しが要求され、該要求に
応答して信号線64を介して前記ユニツト4に前
記必要な情報が与えられ、この結果、アドレス変
換が行なわれる。これとともにアドレス変換に必
要な情報はアドレス変換ユニツト4に格納され
る。
FIG. 1 is a diagram showing an example of a conventional data processing device. The unit using the instruction read control unit 1 sends the instruction storage address on the main memory to the signal line 14 in the form of a logical address (hereinafter referred to as an instruction logical address).
It is sent to the address translation unit 4 via the address conversion unit 4. After converting the instruction logical address into an actual address (hereinafter referred to as instruction address) on main memory unit 6, unit 4 sends this address to buffer unit 5 via signal line 45. If the information necessary for address conversion does not exist in the unit 4, a request is made to read out the necessary information from the unit 6 via the signal line 46, and in response to the request, the information is read out via the signal line 64. The necessary information is given to the unit 4, and as a result, address translation is performed. Along with this, information necessary for address translation is stored in the address translation unit 4.

バツフアユニツト5には、主記憶ユニツト6内
にある情報の一部の写しが該情報の格納されてい
る主記憶上の実アドレスがわかる形で格納されて
いる。該ユニツト5は信号線45を介して送られ
てきた命令実アドレスに対応する情報が前記ユニ
ツト5にあれば(ヒツト)これを読出し、信号線
52を介して命令解読オペランドアドレス生成ユ
ニツト2利用ユニツトに送る。対応する情報がな
ければ(ミスヒツト)前記ユニツト5は、信号線
56を介して主記憶ユニツト6に命令実アドレス
を送り、主記憶ユニツト6は当該アドレスの情報
を含む一連の情報を読出して信号線65を介して
バツフアユニツト5に送出すると同時に信号線6
2を介して前記ユニツト2に当該アドレスの情報
を転送する。前記ユニツト5には前記ユニツト6
から転送された一連の情報をそれらの主記憶上の
アドレスがわかる形で格納される。前記ユニツト
5の情報格納容量は前記ユニツト6のそれよりも
小さく、前記ユニツト5に格納されている情報は
前記ユニツト6の一部分の写しとなる。前記ユニ
ツト5に格納されている情報は、前記ユニツト6
から新しく情報が転送されてきたが、既に前記ユ
ニツト5に情報が満杯になつているとき、また
は、既に格納されている前記ユニツト5情報の一
部または全部を無効にする必要があるとき(バツ
フアユニツトクリアまたはキヤツシユクリア)、
システムで個別に規定された法則で前記ユニツト
5の情報の一部または全部が前記ユニツト5から
消される。前記命令解読オペランドアドレス生成
ユニツト2は、信号線52または62を介して与
えられた命令を解読し、命令で指定されたオペラ
ンドアドレス(以下データ論理アドレス)を生成
し、生成されたアドレスを信号線24を介して前
記ユニツト4に送る。命令の場合と同様に前記ユ
ニツト4はデータ論理アドレスを主記憶上の実ア
ドレス(以下データ実アドレス)に変換し信号線
45を介して前記ユニツト5に送り、前記ユニツ
ト5は該当情報が前記ユニツト5内にあればそれ
を信号線53を介して演算制御ユニツト3(利用
ユニツト)に送り、なければ前記ユニツト6に信
号線56を介してデータ実アドレスを送り、前記
ユニツト6は該当情報を含む一連の情報を読み出
し信号線65を介して前記ユニツト5に送ると同
時に信号線63を介して当該情報を演算制御ユニ
ツト3に送る。該ユニツト3は、信号線23を介
して前記ユニツト2から送られてきた命令情報と
信号線53または63から送られてきた情報をも
とに演算を行う。前記ユニツト3でさらに主記憶
内の情報が必要になつたとき、信号線34を介し
てデータ論理アドレスを前記ユニツト4に送り、
前記と同一の過程をへて、信号線53または63
を介して前記ユニツト5または6からの情報を入
手する。
In the buffer unit 5, a copy of a part of the information in the main memory unit 6 is stored in such a form that the actual address on the main memory where the information is stored can be identified. If the unit 5 has information corresponding to the actual address of the instruction sent via the signal line 45, it reads this information and sends it to the instruction decoding operand address generation unit 2 via the signal line 52. send to If there is no corresponding information (mishit), the unit 5 sends the command real address to the main memory unit 6 via the signal line 56, and the main memory unit 6 reads out a series of information including the information at the address and sends it to the signal line 56. 65 to the buffer unit 5, and at the same time the signal line 6
The information on the address is transferred to the unit 2 via 2. The unit 5 includes the unit 6.
A series of information transferred from the main memory is stored in a form whose address on main memory is known. The information storage capacity of the unit 5 is smaller than that of the unit 6, and the information stored in the unit 5 is a partial copy of the unit 6. The information stored in the unit 5 is stored in the unit 6.
When new information has been transferred from the unit 5, but the information is already full in the unit 5, or when it is necessary to invalidate some or all of the information already stored in the unit 5 ( clear fan unit or clear cache),
Part or all of the information of the unit 5 is erased from the unit 5 according to rules individually defined in the system. The instruction decoding operand address generation unit 2 decodes the instruction given via the signal line 52 or 62, generates an operand address (hereinafter referred to as data logical address) specified by the instruction, and transfers the generated address to the signal line. 24 to the unit 4. As in the case of instructions, the unit 4 converts the data logical address into a real address on the main memory (hereinafter referred to as a data real address) and sends it to the unit 5 via the signal line 45, and the unit 5 converts the data logical address into a real address on the main memory (hereinafter referred to as a data real address) and sends it to the unit 5. 5, it is sent to the arithmetic and control unit 3 (utilizing unit) via the signal line 53, and if not, the actual data address is sent to the unit 6 via the signal line 56, and the unit 6 contains the corresponding information. A series of information is read out and sent to the unit 5 via the signal line 65, and at the same time, the information is sent to the arithmetic control unit 3 via the signal line 63. The unit 3 performs calculations based on command information sent from the unit 2 via the signal line 23 and information sent from the signal line 53 or 63. When the unit 3 further requires information in the main memory, it sends a data logical address to the unit 4 via the signal line 34;
After going through the same process as above, the signal line 53 or 63
The information from the unit 5 or 6 is obtained through the unit 5 or 6.

第2図は、従来技術の一例を示す第1図の構成
をさらに詳細にした一例を示す図である。二重線
でかこまれた箱はレジスタを意味しこれらはクロ
ツクパルスに同期して動作する。点線の箱は第1
図の各ユニツト1,2,3,4,5および6に相
当する。
FIG. 2 is a diagram showing a more detailed example of the configuration of FIG. 1, which shows an example of the prior art. The double-lined boxes represent registers, which operate in synchronization with clock pulses. The dotted box is the first
This corresponds to units 1, 2, 3, 4, 5 and 6 in the figure.

命令読出制御ユニツト1は、命令論理アドレス
を収容する命令アドレスレジスタ101を有し、
命令解読オペランドアドレス生成ユニツトは命令
を収容する命令レジスタ201と、該命令を解読
する命令解読手段202と、命令で指定されたイ
ンデツクスを格納しているインデツクスメモリ2
03と、ベースアドレス修飾のための修飾情報を
格納しているベースアドレスメモリ204と、キ
ヤリセイブアダー等を中心とした第1のオペラン
ド生成手段205と、その結果を一時蓄積するレ
ジスタ206と、データ論理アドレスを最終的に
生成するアダーを中心とした第2のオペランド生
成手段207とを有する。また、アドレス変換ユ
ニツト4は命令とデータの論理アドレスとを一時
蓄積する論理アドレスレジスタ401と、実効的
にアソシアテイブメモリの機能を実現したアドレ
ス変換手段402とを有し、バツフアユニツト5
は命令とデータの実アドレスとを一時蓄積する実
アドレスレジスタ501と、実効的にアソシアテ
イブメモリの機能を実現したバツフアメモリ50
2と、その出力レジスタであるローカルレジスタ
503とを有する。情報の流れは命令アドレスレ
ジスタ101→論理アドレスレジスタ401→実
アドレスレジスタ501→ローカルレジスタ50
3→命令レジスタ201→レジスタ206→論理
アドレスレジスタ401→……となり、この情報
の流れが1クロツクパルス毎に進むと論理アドレ
スレジスタ401に対する信号線14と24とを
介して与えられる信号の競合が生ずるため、この
情報の流れを1クロツクパルス毎に進ませるパイ
プライン制御ができない。そこで本発明の第1の
特徴は、第3図に示すように、第2図におけるア
ドレス変換ユニツト4とバツフアユニツト5とを
命令用とデータ用とに分割することにより、信号
線14および24を介して与えられる情報の競合
を排除し、パイプライン制御による情報の流れが
1クロツクパルス毎に進むことを可能にしたこと
にある。更に本発明の第2の特徴は命令用とデー
タ用のバツフアユニツトを等容量にすることにあ
る。すなわち、第1の実施例に用いた第3図の命
令アドレス変換手段4021、データアドレス変
換手段4022は、それぞれ、命令とオペランド
の論理アドレスとを実アドレスに変換する回路
(図示せず)と変換情報がないときは、信号線4
62および461のそれぞれを介して主記憶ユニ
ツト6にアクセスし、信号線642および641
を介して変換に必要な情報をうる回路(図示せ
ず)とを有する。第3図で4011,4012,
5011,5012はそれぞれ命令用論理アドレ
スレジスタ、データ用論理アドレスレジスタ、命
令用実アドレスレジスタ、データ用実アドレスレ
ジスタである。
The instruction read control unit 1 has an instruction address register 101 that stores instruction logical addresses,
The instruction decoding operand address generation unit includes an instruction register 201 that stores instructions, an instruction decoding means 202 that decodes the instructions, and an index memory 2 that stores the index specified by the instruction.
03, a base address memory 204 that stores modification information for base address modification, a first operand generation means 205 mainly including a carry save adder, a register 206 that temporarily stores the result, and a data A second operand generating means 207 mainly includes an adder that ultimately generates a logical address. Further, the address translation unit 4 includes a logical address register 401 that temporarily stores logical addresses of instructions and data, and address translation means 402 that effectively realizes the function of an associative memory.
A real address register 501 that temporarily stores real addresses of instructions and data, and a buffer memory 50 that effectively realizes the function of an associative memory.
2 and a local register 503 which is its output register. The flow of information is instruction address register 101 → logical address register 401 → real address register 501 → local register 50
3→instruction register 201→register 206→logical address register 401→..., and when this information flow advances every clock pulse, a competition occurs between the signals applied to the logical address register 401 via signal lines 14 and 24. Therefore, pipeline control that advances the flow of this information every clock pulse cannot be performed. Therefore, the first feature of the present invention is that, as shown in FIG. 3, the address translation unit 4 and buffer unit 5 in FIG. The purpose of this invention is to eliminate contention of information given by the clock pulses, and to enable the flow of information by pipeline control to proceed for each clock pulse. A second feature of the present invention is that the buffer units for instructions and data have the same capacity. That is, the instruction address conversion means 4021 and data address conversion means 4022 in FIG. 3 used in the first embodiment are a circuit (not shown) that converts the logical addresses of instructions and operands into real addresses, respectively. When there is no information, signal line 4
The main storage unit 6 is accessed through the signal lines 642 and 641, respectively.
It has a circuit (not shown) that obtains the information necessary for conversion via the circuit. 4011, 4012 in Figure 3,
5011 and 5012 are a logical address register for instructions, a logical address register for data, a real address register for instructions, and a real address register for data, respectively.

命令バツフア5021は命令を格納しているた
め、信号線14を介して命令論理アドレスが与え
られると、命令バツフア5021に当該情報があ
れば、命令ローカルレジスタ5031にその情報
を格納することができる。また、データバツフア
5022は命令バツフア5021と等容量で、か
つオペランド情報を格納しているため信号線24
を介してオペランドの論理アドレスが与えられる
と、データバツフア5022に当該情報があれば
データローカルレジスタ5032にその情報を格
納することができる。命令バツフア5021また
はデータバツフア5022に当該情報がなけれ
ば、信号線562または561を介して主記憶ユ
ニツト6に各実アドレスを送り、該当情報または
それを含む一連の情報を信号線652または65
1から得る。このとき、第2図に示すように、主
記憶ユニツト6から信号線652または651以
外の情報転送路を介して前記ユニツト2および3
に該当情報が送られてもよい。さらに、信号線5
61および562、信号線651および652は
同一情報転送路であつてもよい。一般に信号線1
4から与えられる論理アドレスは命令語を示す
が、信号線24から与えられる論理アドレスはデ
ータ語のみならず命令語を指す場合がある。例え
ば、ブランチ命令でのオペランドアドレスがその
例である。このように、オペランドアドレスであ
つてもそれが命令語を示していることがわかつて
いるときには、第4図に例示するように判別手段
403により信号線24からの情報を論理命令ア
ドレスレジスタ4011に送ることもできる。但
し、この場合、信号線14からの情報と競合を生
ずるが毎クロツクパルスの度ではなく頻度は少な
い。ここで、信号線561,562,651,6
52,461,462,641および642に接
続されている記憶手段は主記憶である必要はな
い。例えば、第5図に示すようにバツフアユニツ
ト5と主記憶ユニツト6との間におかれた2次バ
ツフアユニツト7であつてもよい。
Since the instruction buffer 5021 stores instructions, when an instruction logical address is given via the signal line 14, if the instruction buffer 5021 has the relevant information, the information can be stored in the instruction local register 5031. Furthermore, since the data buffer 5022 has the same capacity as the instruction buffer 5021 and stores operand information, the signal line 24
When the logical address of the operand is given via the , the information can be stored in the data local register 5032 if the data buffer 5022 has the information. If the relevant information does not exist in the instruction buffer 5021 or data buffer 5022, each real address is sent to the main memory unit 6 via the signal line 562 or 561, and the relevant information or a series of information including it is sent to the signal line 652 or 65.
Obtain from 1. At this time, as shown in FIG.
The relevant information may be sent to. Furthermore, signal line 5
The signal lines 61 and 562 and the signal lines 651 and 652 may be the same information transfer path. Generally signal line 1
The logical address given from signal line 24 indicates a command word, but the logical address given from signal line 24 may indicate not only a data word but also a command word. For example, an operand address in a branch instruction is an example. In this way, even if it is an operand address, when it is known that it indicates an instruction word, the information from the signal line 24 is transferred to the logical instruction address register 4011 by the determining means 403 as illustrated in FIG. You can also send it. However, in this case, contention with the information from the signal line 14 occurs, but not every clock pulse, but only infrequently. Here, signal lines 561, 562, 651, 6
The storage means connected to 52, 461, 462, 641 and 642 need not be main storage. For example, as shown in FIG. 5, it may be a secondary buffer unit 7 placed between the buffer unit 5 and the main memory unit 6.

一般に、アドレス変換ユニツト4は、第3図の
命令用で例示すると第6図のように、セグメント
またはページの先頭論理アドレスフイールド40
11Aを402により主記憶上の実アドレスに変
換し、レジスタ5011の5011Aフイールド
に移されそのセグメントまたはページ内の一つの
特定アドレスは、この先頭アドレスからの偏差
(以下デイスプレースメント)を示すフイールド
4011Bで指定されこのフイールドは無変換で
レジスタ5011のフイールド5011Bに移送
される。命令群およびデータ群はセグメント化ま
たはページ化されている。従つて、セグメントま
たはページが切換つたとき論理アドレスから実ア
ドレスへの変換を行い、この実アドレスを記憶し
ておけば、次にセグメントまたはページが切換る
までデイスプレースメント4012を与えるだけ
で実アドレスを知ることができる。従つて、第7
図に示す本発明の第2の実施例のように、論理ア
ドレスレジスタ401およびアドレス変換手段4
02は一組であるが、実アドレスレジスタ、50
11および5012、バツフア5021および5
022およびローカルレジスタ5031および5
032は、命令用とデータ用とのそれぞれを有す
る。命令とデータとのそれぞれの論理アドレスが
セグメントまたはページの切換えが行われたか否
かを知るセグメント/ページ切換え検出手段40
7と406とに応答して信号線14および24の
情報をセレクタ405および404で切換える。
セグメントまたはページ切換えがないときは、信
号線142と242のそれぞれを介して命令実ア
ドレスレジスタ5011とデータ実アドレスレジ
スタ5012とにデイスプレースメントを送り、
セグメントまたはページが切換えられたときは信
号線141および241のそれぞれを介して命令
又はデータの論理セグメント/ページアドレスが
論理アドレスレジスタ401に送られたあとで変
換手段402を介して実セグメント/ページアド
レスに変換された命令又はデータの実アドレスが
実アドレスレジスタ5011又は5012に収容
される。これと同時に信号線142又は242の
それぞれからデイスプレースメントが送られる。
この場合信号線14および24から同時に情報が
転送されてくると競合が生ずるが、その頻度はご
く少ない。
In general, the address translation unit 4 converts the first logical address field 40 of a segment or page as shown in FIG. 6 for the instruction shown in FIG.
11A is converted into a real address on the main memory by 402 and moved to the 5011A field of the register 5011. One specific address within that segment or page is a field 4011B that indicates the deviation from this starting address (hereinafter referred to as displacement). This field is transferred to field 5011B of register 5011 without conversion. Instructions and data are segmented or paged. Therefore, if a logical address is converted to a real address when a segment or page switches, and this real address is memorized, the real address can be converted by just giving the displacement 4012 until the next segment or page switches. can be known. Therefore, the seventh
As in the second embodiment of the present invention shown in the figure, a logical address register 401 and an address translation means 4
02 is a set of real address registers, 50
11 and 5012, Batsuhua 5021 and 5
022 and local registers 5031 and 5
032 has one for instructions and one for data. Segment/page change detection means 40 for detecting whether or not a segment or page change has occurred based on the respective logical addresses of instructions and data.
7 and 406, the information on signal lines 14 and 24 is switched by selectors 405 and 404.
When there is no segment or page switching, a displacement is sent to the instruction real address register 5011 and the data real address register 5012 via signal lines 142 and 242, respectively;
When a segment or page is switched, the logical segment/page address of the instruction or data is sent to the logical address register 401 via signal lines 141 and 241, respectively, and then the real segment/page address is sent to the logical address register 401 via the conversion means 402. The real address of the instruction or data converted into is stored in the real address register 5011 or 5012. At the same time, displacement is sent from each of the signal lines 142 or 242.
In this case, if information is simultaneously transferred from the signal lines 14 and 24, contention will occur, but this will occur very rarely.

第7図の場合、信号線24からの情報であつて
も命令語の読出しとして扱うときは、第8図のよ
うに、第1図および第2の分配手段5041およ
び5042で、アドレス変換手段402から信号
線45を介して与えられる出力を信号線452を
介して、信号線242を介して与えられる信号を
信号線243を介して、それぞれ命令実アドレス
レジスタに与えることができる。この場合と第4
図の手段をもつた第3図の動作ではオペランドア
ドレスが命令を指していたので命令バツフア50
21にアクセスしたが、読み出された情報を演算
制御ユニツト3でデータとして扱つたときには命
令ローカルレジスタ5031の出力53を第9図
のように、第3の分配手段5042で前記ユニツ
ト3に送ることができる。
In the case of FIG. 7, when handling even the information from the signal line 24 as reading a command word, as shown in FIG. An output provided via signal line 45 can be provided to the instruction real address register via signal line 452, and a signal provided via signal line 242 may be provided via signal line 243, respectively. In this case and the fourth
In the operation shown in FIG. 3 with the means shown in the figure, since the operand address pointed to an instruction, the instruction buffer 50
21, but when the read information is treated as data in the arithmetic control unit 3, the output 53 of the instruction local register 5031 is sent to the unit 3 by the third distribution means 5042 as shown in FIG. I can do it.

前記ユニツト3からアドレス変換ユニツト4、
バツフアユニツト5へのアクセスにおいても前記
命令読出制御ユニツト1と命令解読オペランドア
ドレス生成ユニツト2とでの競合と同じように、
前記ユニツト1および2からのアクセスと競合す
るが、前記ユニツト3からの主記憶読出しは、10
進系命令が主で頻度からみて前記ユニツト1およ
び2のアクセスによる競合程深刻ではない。前記
ユニツト3からのアクセスは本発明によるユニツ
ト2からのアクセスと同じ扱いでよい。
from the unit 3 to an address translation unit 4;
In accessing the buffer unit 5, in the same way as the conflict between the instruction read control unit 1 and the instruction decoding operand address generation unit 2,
Although it competes with accesses from units 1 and 2, the main memory read from unit 3 is 10
The main instructions are advance-based instructions, and in terms of frequency, they are not as serious as the contention caused by the accesses of units 1 and 2. Access from unit 3 may be handled in the same way as access from unit 2 according to the present invention.

〔発明の効果〕〔Effect of the invention〕

命令バツフア5021およびデータバツフア5
022の有効性は、それの容量、制御方法に依存
する他、プログラムの特性(動的アドレスの変化
等)にも左右される。バツフアユニツト5021
に1968年IBM社から発行された刊行物「IBM・
システム・ジヤーナル(IBM Systems Journal)
Vol.7NO.1」の第15頁から第21頁のJ.S.Liptayに
よる論文「ストラクチユアル・アスペクト・オ
ブ・ザ・システム360・モデル85・・ザ・キヤ
ツシユ(Structual aspects of the System/
360Model 85 The cache)」記載のIBMシ
ステム360のキヤツシユの使用を想定して但し完
全アソシアテイブ方式で命令とデータとを同一キ
ヤツシユに収容する場合(以下共用型キヤツシ
ユ)および命令用とデータ用とを分けたキヤツシ
ユ(以下分割型キヤツシユ)のミスヒツト率を解
析すると、共用型キヤツシユは命令用とデータ用
とに等分割したときプログラム特性の広汎な変化
に対して最適である。キヤツシユのミスヒツト率
の増加が中央処理装置の平均命令実行時間の増大
に寄与する割合は(キヤツシユのミスヒツト率の
増加)×(平均命令実行時間に占める実効メモリア
クセス時間の比率)でありミスヒツト率の若干の
増加は、平均命令実行時間にすると数パーセント
の増加に縮少される。一方、キヤツシユは16キロ
バイトの容量程度でも一般に中央処理装置のクロ
ツクパルス間隔を決めるクロツクパルス間論理遅
延時間の最も長いところであり、キヤツシユの容
量が増加すると益々その傾向が強くなる。これ
は、キヤツシユのメモリアレーの物理的拡がりに
よる信号伝播体での信号遅延と、メモリアレーを
駆動するドライバの数の増大による駆動ゲートの
増大による信号遅延と、メモリアレーの出力を集
め選択するゲート回路の増大による信号遅延が主
たるものである。従つて、一つのキヤツシユを2
等分割すると、キヤツシユでのクロツクパルス間
論理遅延時間は短縮されるが等容量に分割しない
とその効果が最大にならない。このことから、分
割型キヤツシユでのミスヒツト率増加により平均
命令実行時間が数パーセント増加してもキヤツシ
ユを当分割することによるクロツクパルス時間の
短縮で充分補いうる。
Instruction buffer 5021 and data buffer 5
The effectiveness of 022 depends not only on its capacity and control method, but also on the characteristics of the program (dynamic address changes, etc.). Buffer unit 5021
In 1968, the publication “IBM・
IBM Systems Journal
Vol.7NO.1, pages 15 to 21 of JSLiptay's paper "Structural aspects of the System 360 Model 85...the cache"
Assuming the use of the IBM System 360 cache described in ``360Model 85 The cache'', however, if instructions and data are stored in the same cache in a fully associative manner (hereinafter referred to as a shared cache), and instructions and data are separated. An analysis of the miss rate of a shared cache (hereinafter referred to as a divided cache) shows that a shared cache is optimal for wide variations in program characteristics when it is divided equally into instructions and data. The rate at which an increase in cache miss rate contributes to an increase in the average instruction execution time of the central processing unit is (increase in cache miss rate) x (ratio of effective memory access time to average instruction execution time), which is The small increase is reduced to a few percent increase in average instruction execution time. On the other hand, even if the cache has a capacity of 16 kilobytes, it generally has the longest logical delay time between clock pulses, which determines the clock pulse interval of the central processing unit, and this tendency becomes stronger as the cache capacity increases. This is due to the signal delay in the signal propagation body due to the physical expansion of the memory array in the cache, the signal delay due to the increase in the number of drive gates due to the increase in the number of drivers driving the memory array, and the gate that collects and selects the output of the memory array. The main problem is signal delay due to increased circuitry. Therefore, one cash is 2
If the cache is divided equally, the logic delay time between clock pulses in the cache will be shortened, but the effect will not be maximized unless the cache is divided into equal capacities. From this, even if the average instruction execution time increases by several percent due to an increase in the miss rate in a partitioned cache, this can be sufficiently compensated for by shortening the clock pulse time by partitioning the cache.

すなわち、本発明の特徴は、高度にパイプライ
ン制御化された中央処理装置での命令とデータと
の読出しがアドレス変換ユニツト4またはバツフ
アユニツト5で競合を生ずるためアドレス変換ユ
ニツト4またはバツフアユニツト5を命令用とデ
ータ用とに等容量に分割することにある。したが
つて、この本発明の特徴に関係しない本実施例の
構成要素の採用は本発明の範囲をとくに限定する
ものではない。
That is, the feature of the present invention is that reading of instructions and data in a highly pipeline-controlled central processing unit causes contention in the address translation unit 4 or buffer unit 5, so that the address translation unit 4 or buffer unit 5 is not used for instructions. The purpose is to divide the capacity into equal capacity for data and data. Therefore, the adoption of components of this embodiment that are not related to the characteristics of the present invention does not particularly limit the scope of the present invention.

バツフアユニツトは、最近の超大型機では64キ
ロバイト〜128キロバイトの容量をもち、メモリ
素子の技術の発展に伴い主記憶容量の増大にとも
ない益々増大する傾向にある。
The buffer unit has a capacity of 64 kilobytes to 128 kilobytes in recent ultra-large machines, and the capacity of the buffer unit is increasing as the main memory capacity increases with the development of memory element technology.

一方アドレス変換ユニツトは100〜500ワード程
度の容量でバツフアユニツトの容量に較べ2桁小
さい。従つて、命令とデータのアドレス変換ユニ
ツトを分割したとき、分割しない場合の2倍の容
量をもつてもバツフアユニツトを2倍もつ場合と
較べてコスト的に比較にならない。
On the other hand, the address conversion unit has a capacity of about 100 to 500 words, which is two orders of magnitude smaller than the capacity of the buffer unit. Therefore, when the address translation unit for instructions and data is divided, even if it has twice the capacity as when it is not divided, it is not comparable in terms of cost compared to having twice as many buffer units.

本発明を用いると、中央処理装置のパイプライ
ン制御を深くでき、プログラムの広汎な特性に対
してよいバツフアメモリミスヒツト率を与え、ク
ロツク間隔の短縮が出来、結果として中央処理装
置の性能の向上を達成できる。
By using the present invention, pipeline control of the central processing unit can be deeply controlled, a good buffer memory miss rate can be provided for a wide range of program characteristics, and the clock interval can be shortened, resulting in improved performance of the central processing unit. improvement can be achieved.

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

第1図は、従来方式によるデータ処理装置を示
す図、第2図は第1図の詳細な構成を示す図、第
3図は本発明の第1の実施例を示す図、第4図は
第3図の装置の部分的な変形例を示す図、第5図
は、本発明を適用した一例を示す図、第6図は論
理アドレスから実アドレスに変換する論理プロセ
スを示す図、第7図は本発明の第2の実施例を示
す図、第8図は第7図の装置の部分的な変形例を
示す図および第9図は第3図および第7図の部分
的な変形例を示す図である。 第1図から第9図において、1……命令読出・
制御ユニツト、2……命令解読・オペランドアド
レス生成ユニツト、3……演算制御ユニツト、4
……アドレス変換ユニツト、5……バツフアユニ
ツト、6……主記憶ユニツト、7……2次バツフ
アユニツト、14,23,24,34,45,4
6,52,53,56,62,63,64,65
……信号線、101……命令アドレスレジスタ、
201……命令レジスタ、202……命令解読手
段、203……インデツクスメモリ、204……
ベースアドレスメモリ、205,207……オペ
ランドアドレス生成手段、206……レジスタ、
401……論理アドレスレジスタ、402……ア
ドレス変換手段、403……判別手段、406,
405……セレクタ、406,407……セグメ
ント/ページ切換え検出手段、501……実アド
レスレジスタ、502……バツフアメモリ、50
3……ローカルレジスタ。
FIG. 1 is a diagram showing a conventional data processing device, FIG. 2 is a diagram showing the detailed configuration of FIG. 1, FIG. 3 is a diagram showing a first embodiment of the present invention, and FIG. FIG. 5 is a diagram showing an example of applying the present invention; FIG. 6 is a diagram showing a logical process of converting a logical address into a real address; FIG. The figure shows a second embodiment of the present invention, FIG. 8 shows a partial modification of the device in FIG. 7, and FIG. 9 shows a partial modification of FIGS. 3 and 7. FIG. In FIGS. 1 to 9, 1...instruction read/
Control unit, 2...Instruction decoding/operand address generation unit, 3...Arithmetic control unit, 4
...Address translation unit, 5...Buffer unit, 6...Main memory unit, 7...Secondary buffer unit, 14, 23, 24, 34, 45, 4
6, 52, 53, 56, 62, 63, 64, 65
...Signal line, 101...Instruction address register,
201...Instruction register, 202...Instruction decoding means, 203...Index memory, 204...
Base address memory, 205, 207... operand address generation means, 206... register,
401...Logical address register, 402...Address conversion means, 403...Discrimination means, 406,
405... Selector, 406, 407... Segment/page switching detection means, 501... Real address register, 502... Buffer memory, 50
3...Local register.

Claims (1)

【特許請求の範囲】 1 命令およびデータを記憶する記憶手段と、こ
の記憶手段の記憶内容を読み出す複数の読出し手
段と、 前記記憶手段に記憶された命令の一部の写しを
格納する命令格納手段と、 この命令格納手段の格納容量と同一の格納容量
を有し前記記憶手段に記憶されたデータの一部の
写しを格納するデータ格納手段と、 前記複数の読出し手段のうちの1つの読出し手
段から与えられる命令の論理アドレスがセグメン
ト/ページ境界を越えるか否かを検出し越えなけ
れば該理論アドレスの少なくとも一部を前記命令
格納手段に直接与える命令論理アドレス検出手段
と、 この命令論理アドレス検出手段で前記論理アド
レスがセグメント/ページ境界を越えると検出し
たとき前記論理アドレスを前記記憶手段の実アド
レスに変換し変換結果を前記命令格納手段に与え
るアドレス変換手段とを備え、 前記複数の読出し手段のうちの1つの読出し手
段から与えられるデータの論理アドレスを前記ア
ドレス変換手段により前記記憶手段の実アドレス
に変換し変換結果を前記データ格納手段に与える
ことを特徴とするデータ処理装置。
[Scope of Claims] 1. A storage means for storing instructions and data, a plurality of reading means for reading out the contents of the storage means, and an instruction storage means for storing a copy of a part of the instructions stored in the storage means. and a data storage means that has the same storage capacity as the storage capacity of the instruction storage means and stores a copy of a part of the data stored in the storage means, and one reading means of the plurality of reading means. an instruction logical address detection means for detecting whether or not a logical address of an instruction given from a segment/page boundary exceeds a segment/page boundary, and if the logical address does not exceed a segment/page boundary, directly providing at least a part of the logical address to the instruction storage means; address conversion means for converting the logical address into a real address of the storage means when the means detects that the logical address crosses a segment/page boundary, and providing the conversion result to the instruction storage means, and the plurality of reading means A data processing device characterized in that the logical address of data given from one of the reading means is converted into a real address of the storage means by the address conversion means, and the conversion result is provided to the data storage means.
JP1182069A 1989-07-14 1989-07-14 Data processor Granted JPH0285944A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1182069A JPH0285944A (en) 1989-07-14 1989-07-14 Data processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1182069A JPH0285944A (en) 1989-07-14 1989-07-14 Data processor

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP59147772A Division JPS6068442A (en) 1984-07-17 1984-07-17 Data processor

Publications (2)

Publication Number Publication Date
JPH0285944A JPH0285944A (en) 1990-03-27
JPH053019B2 true JPH053019B2 (en) 1993-01-13

Family

ID=16111809

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1182069A Granted JPH0285944A (en) 1989-07-14 1989-07-14 Data processor

Country Status (1)

Country Link
JP (1) JPH0285944A (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5169333A (en) * 1974-12-13 1976-06-15 Fujitsu Ltd Peeji adoresuseigyohoshiki
JPS5280747A (en) * 1975-12-27 1977-07-06 Fujitsu Ltd Buffer memory control system
JPS54109332A (en) * 1978-02-15 1979-08-27 Hitachi Ltd Access-exception detection system of data processor
JPS54148328A (en) * 1978-05-12 1979-11-20 Hitachi Ltd Buffer memory control system

Also Published As

Publication number Publication date
JPH0285944A (en) 1990-03-27

Similar Documents

Publication Publication Date Title
US4493026A (en) Set associative sector cache
EP0072179B1 (en) Clearing invalid addresses in cache memory
EP0019358B1 (en) Hierarchical data storage system
EP0580943B1 (en) Cache miss prediction method and apparatus for use with a paged main memory in a data processing system
US4942521A (en) Microprocessor with a cache memory in which validity flags for first and second data areas are simultaneously readable
US5161219A (en) Computer system with input/output cache
US5341485A (en) Multiple virtual address translation per computer cycle
JPH0447344B2 (en)
JPH053019B2 (en)
JPH0247774B2 (en)
JPS644214B2 (en)
JPH0916468A (en) Memory access system
JP2000148589A (en) Memory management device, its method and storage medium storing program
JPH0552539B2 (en)
JP2778623B2 (en) Prefetch control device
JPS6027967A (en) Block transfer control method for buffer storage device
EP0377969A2 (en) I/O cached computer systems
JPS63240651A (en) Cache memory
JPH04291642A (en) Cache control system
JPS6349257B2 (en)
JPS55117780A (en) Buffer memory unit
JPH057740B2 (en)
JPH03218546A (en) Address conversion mechanism
JPH041373B2 (en)
JPH05143445A (en) Memory accelerating mechanism for virtual memory computer