JPS58142446A - Data processor - Google Patents

Data processor

Info

Publication number
JPS58142446A
JPS58142446A JP2355882A JP2355882A JPS58142446A JP S58142446 A JPS58142446 A JP S58142446A JP 2355882 A JP2355882 A JP 2355882A JP 2355882 A JP2355882 A JP 2355882A JP S58142446 A JPS58142446 A JP S58142446A
Authority
JP
Japan
Prior art keywords
address
register
bus
information
base register
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2355882A
Other languages
Japanese (ja)
Inventor
Akira Sakauchi
坂内 明
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
Tokyo Shibaura 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 Toshiba Corp, Tokyo Shibaura Electric Co Ltd filed Critical Toshiba Corp
Priority to JP2355882A priority Critical patent/JPS58142446A/en
Publication of JPS58142446A publication Critical patent/JPS58142446A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/355Indexed addressing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

PURPOSE:To attain high speed data processing, by summing the content of a register selected at the 1st and 2nd address modification designating sections and avoiding the next step from being starting in using the result as an operand address. CONSTITUTION:In the internal designation of an index register group 301 and a base register group 302, a desired content is read out from each register by the address designation with X and B parts of an instruction word. The base register modification only is designated at the part B, and in the operation of address production when the part A is ''0'', the selected base register information is outputted to a bus 421 via a gate 412 and a displacement section 303 is outputted to a bus 422 via a gate 413. This address is taken as the final address and the next step is omitted.

Description

【発明の詳細な説明】 [発明の技術分野] 本発明は、データ処理装置のアドレス生成に関するもの
である。
DETAILED DESCRIPTION OF THE INVENTION [Technical Field of the Invention] The present invention relates to address generation for a data processing device.

[発明の技術的背景] データ処理装纜が、命令を実行する際に、(のオペラン
ドが主記憶に含まれる場合が多々あり。
[Technical Background of the Invention] When data processing equipment executes an instruction, operands of () are often included in main memory.

その主記憶内のアドレス(仮想記憶システムでは仮想記
憶内のアドレス)生成情報は一般に命令ahに与えられ
る。第1図は、従来の命令語の―成を示す。01部はオ
ペレーションコード部で、実行。
The address (address in virtual memory in a virtual memory system) generation information in the main memory is generally given to the instruction ah. FIG. 1 shows the structure of a conventional command word. Part 01 is the operation code part and is executed.

される命令の内容を指定する。R1部は、命令の実9に
関わる第1のオペランドを保持するレジスタを指定する
。X、B、Dの各部は、命令の実行に関わる。第2のオ
ペランドを含む主記憶内のノ′ドレスを生、成する情報
を与える部分である。7−タ処理装置には一群のベース
・レジスタと、 群のインデックス・レジスタとよばれ
るレジスタ群をもち、アドレス生成に使用されている。
Specify the contents of the command to be executed. The R1 section specifies a register that holds the first operand related to the actual instruction. The units X, B, and D are involved in the execution of instructions. This is the part that provides the information that creates and addresses the node in main memory that contains the second operand. The 7-data processor has a group of base registers and a group of registers called group index registers, which are used for address generation.

命令語のX部は、そのピット内容がゼロでないとき、1
つのインデックス・レジスタを選択し、該選択されたイ
ンデックス・レジスタの内容が、アドレス生成に使用さ
れる。同様に、命令語の8部は、そのピット内容がゼロ
でないとき1つのベース・レジスタを選択し、該選択さ
れたベース・レジスタの内容がアドレス生成に使用され
る。他のデータ処理装置では、B部、X部ともに、一群
の汎用レジスタ群から、各々レジスタを選択して、ベー
ス・レジスタ、インデックス・レジスタとして使用する
こともある。D部はディスプレースメント部で、そこに
与えられた内容が直接アドレス生成に使用される。
The X part of the instruction word is 1 when its pit content is not zero.
one index register is selected, and the contents of the selected index register are used for address generation. Similarly, part 8 of the instruction word selects one base register when its pit contents are non-zero, and the contents of the selected base register are used for address generation. In other data processing devices, both the B section and the X section may select registers from a group of general-purpose registers and use them as base registers and index registers. Part D is a displacement part, and the contents given there are directly used for address generation.

12図はアドレス生成の概念図であり、ベース・レジス
タとインデックス・レジスタはいずれも24ビツト、D
sは12ピツトと仮定している。D部の上位にゼロを仮
定し、各選択されたベース・レジスタとインデックス・
レジスタと、D部を24ビのオペランドのアドレスを得
る。(キャリイは無視することとする。)もし、X部や
B部がゼロのときは、インデックス・レジスタ又はベー
ス・レジスタは使用されず、等価的にOが加えられるも
のとする。このようなアドレス生成方式をもつデータ処
理装置においては、そのアドレス生成の実現のために、
大きくわけて2つの論理が考えられる。第1の方法は、
1つのステップにおいて、インデックス・レジスタの内
容、ベース・レジスタの内容、そしてディスブレースメ
ンi・D PAの3つを加算してしまう3人力の加算器
をもつ方法である。そして、第2の方法は、2人力の加
算器を2つのステップで使用することにより、まず第1
のステップで3つのうらの2つの部分和をとり、第2の
ステップ°でその部分和に残りの1つのデータ302は
、それぞれインデックス・レジスタ群及びベース・レジ
スタ群である。各レジスタ群の内部指定は命令語のX部
、B部によってアドレス指定されることにより各レジス
タから所望の内容が読み出される。323は加算器であ
り321は加算器323の片方の入力バスである。イン
デックス・レジスタM301とバス321と間に設番ブ
られたゲート 311が開けば選択されたインデックス
・レジスタの内容が、またベース・レジスタ群302と
バス301との閤に設けられたゲート312が開けば蓮
択されたベース・レジスタの内容がバス321上に出力
される。ゲート311.312の双方が閉じられている
とバス321から加算器323に供給されるデータはゼ
ロとなるものとする。バス322は、加算@ 323の
他方の入力バスである。このバス322にはレジスタ 
303.304がゲート313.314を介して接続さ
れている。
Figure 12 is a conceptual diagram of address generation, where both the base register and index register are 24 bits, D
It is assumed that s is 12 pits. Assuming zeros in the high order of part D, each selected base register and index
Obtain the address of the register and the 24-bit operand in the D section. (Carries are ignored.) If the X part or the B part is zero, the index register or base register is not used, and O is equivalently added. In a data processing device with such an address generation method, in order to realize address generation,
There are two main theories that can be considered. The first method is
The method has a three-man adder that adds the contents of the index register, the contents of the base register, and the displacement i.D.PA in one step. Then, the second method uses a two-man adder in two steps to first add the first
In the step , two partial sums of the three bottoms are taken, and in the second step, the remaining data 302 in the partial sum are the index register group and the base register group, respectively. The internal designation of each register group is addressed by the X and B parts of the instruction word, so that desired contents are read from each register. 323 is an adder, and 321 is one input bus of the adder 323. When the gate 311 provided between the index register M301 and the bus 321 is opened, the contents of the selected index register are read, and the gate 312 provided between the base register group 302 and the bus 301 is opened. The contents of the selected base register are output onto bus 321. It is assumed that when both gates 311 and 312 are closed, the data supplied from bus 321 to adder 323 is zero. Bus 322 is the other input bus of add@323. This bus 322 has registers.
303.304 are connected through gates 313.314.

上記構成の従来動作を説明する。アドレス生成の第1ス
テツプでは、ゲート312と313のMllをする。ま
ず、ゲート313を開き、バス322の下位12ピット
部へ、ディスブースメント部を保持するレジスタ 30
3の情報を供給する。この時バス322の上位12ビツ
トは“OI“となるものとづる。−hゲート312は命
令語のB部が°“0″でないときに開き、B部をアドレ
スとして選択されIJベース・レジスタ群302から読
み出されるベース・レジスタ情報をバス321へ供給す
る。B部が0°′のときは、ゲート312は閉じたまま
とし、バス32↑の情報はOとなる。加算器323はバ
ス321と322から入力された情報を加算し、その結
果得られるディスプレースメント部とベース・レジスタ
の部分和がデータ線324を介してレジスタ304に保
持される。
The conventional operation of the above configuration will be explained. In the first step of address generation, gates 312 and 313 are Mll. First, the gate 313 is opened and the register 30 holding the disboostment section is transferred to the lower 12 pits of the bus 322.
3 information is provided. At this time, the upper 12 bits of the bus 322 are assumed to be "OI". The -h gate 312 opens when the B part of the instruction word is not "0", selects the B part as an address, and supplies the base register information read from the IJ base register group 302 to the bus 321. When part B is 0°', the gate 312 remains closed and the information on the bus 32↑ becomes O. Adder 323 adds the information input from buses 321 and 322, and the resulting partial sum of the displacement part and base register is held in register 304 via data line 324.

同面に、命令語のX部がテストされる。もし、X部が“
0°′すなわち、インデックス・レジスタl1tsが指
定されていない場合には、この第1ステツプで得られた
部分和を生成されたオペランド・アドレスとし、アドレ
ス生成動作は終了する。もし、xsIが0”でないとき
は、アドレス生成の第2ステツプが起動される。この第
2ステツプでは、ゲート314とゲート311が開かれ
る。1なわちゲート314が開いて、部分和がレジスタ
 304J。
On the same side, the X part of the instruction word is tested. If the X department “
0°', that is, if the index register l1ts is not designated, the partial sum obtained in the first step is used as the generated operand address, and the address generation operation ends. If xsI is not 0'', a second step of address generation is activated. In this second step, gates 314 and 311 are opened. .

リバス322へ供給され、ゲート311が開いてX部を
7ドレスとして選択されたインデックス・レジスタ群3
01から読み出されるインデックス・レジスタ情報が、
バス321へ供給される。加算器323は、バス321
.322より入力される情報を加え、その出力324が
生成された最終オペランド・アドレスとなる。
The index register group 3 is supplied to the rebus 322, the gate 311 is opened, and the X part is selected as 7 addresses.
The index register information read from 01 is
It is supplied to bus 321. The adder 323 is connected to the bus 321
.. 322 and its output 324 becomes the final operand address generated.

[背景技術の問題点1 ところで、このようなアドレッシング方式は、配列の7
ドレツシングなどに有効に使われる。すなわち、ベース
・レジスタには、配列の先頭アドレスを入れておき、イ
ンデックス・レジスタに該先頭からのオフセット値を入
れることにより配列の要素へのアクセスが行なわれる。
[Problem 1 in the background art: By the way, such addressing method is limited to 7 in the array.
Effectively used for dressing etc. That is, an element of the array is accessed by storing the start address of the array in the base register and storing an offset value from the start in the index register.

このような場合、特にディスプレースメント部のビット
長が小さい場合、往々にしてディスプレースメント部は
値が0°′となりベース・レジスタとインデックス・レ
ジスタによるアドレッシングが行なわれる。
In such a case, especially when the bit length of the displacement section is small, the displacement section often has a value of 0°' and addressing is performed using a base register and an index register.

そのとき、前述の従来方法では、ベース・レジスタ修飾
及びインデックス・レジスタ修飾が存在するため必ず2
つのステップを経て、アドレスが1成される欠点がある
In this case, in the conventional method described above, there are base register modifications and index register modifications, so there are always two
The drawback is that one address is created through two steps.

[発明の目的及び概要] 本発明は、上記欠点に鑑みなされたもので、ベース・レ
ジスタ及びインデックス・レジスタの両修飾が指定され
ている場合、もしディスプレースメント部が゛0°′な
ら、まず第1のステップで、−インデックス・レジスタ
とベース・レジスタとの内容による部分和を作り、この
部分和を最終アドレスとして使用できるようにしたデー
タ処jl装置を提供することを目的とする。
[Objective and Summary of the Invention] The present invention has been made in view of the above-mentioned drawbacks. When both base register and index register modifications are specified, if the displacement part is ``0°'', the first It is an object of the present invention to provide a data processing device in which, in step 1, a partial sum is created based on the contents of an index register and a base register, and this partial sum can be used as a final address.

[発明の実施例] 以下、図面を参照して本発明を説明づる。[Embodiments of the invention] The present invention will be explained below with reference to the drawings.

第4図で本発明の一実施例の構成を示す70ツク図であ
る。第4図において、第3図と同じものは同一符号を付
与し、説明を省略する。バス420:は、ゲート411
,412を介して、インデックス・レジスタ群301及
びベース・レジスタ群302から情     賑報が出
力される。バス422にはゲーi−413,414,4
15を介して、それぞれディプレースメント部303、
レジスタ 304、ベース・レジスタ群302からの情
報が出力される。430は、ディスプレースメント部3
03がゼロかどうかのゼロ検出器である。
FIG. 4 is a 70 block diagram showing the configuration of an embodiment of the present invention. In FIG. 4, the same parts as in FIG. 3 are given the same reference numerals, and their explanation will be omitted. Bus 420: Gate 411
, 412, information is output from the index register group 301 and the base register group 302. Bus 422 has game i-413, 414, 4
15, displacement units 303,
Information from register 304 and base register group 302 is output. 430 is the displacement section 3
03 is a zero detector to determine whether or not it is zero.

次に本発明の詳細な説明する。Next, the present invention will be explained in detail.

第4図において、B部によってベース・レジスタ修飾の
み指定され、X部がOIIの場合のアドレス生成の動作
は、第3図において示したのと全く同様に行なわれる。
In FIG. 4, when only the base register modification is designated by part B and part X is OII, the address generation operation is performed in exactly the same way as shown in FIG.

すなわち、アドレス生成の第1のステップでは、選択さ
れたベース・レジスタ情報が、ゲート412を介してバ
ス421へ出力され、ディスプレースメント部303が
、ゲート413ヲ介してバス422へ出力され、この第
1のステップで生成されたアドレスが最終アドレスとな
り、第2のステップは省略される。c表1・・・(2)
]下表1に種々のケースでの第1のステップと第2のス
テップでバス421,422へ開かれるゲート番号を示
す。
That is, in the first step of address generation, the selected base register information is output to the bus 421 via the gate 412, and the displacement section 303 outputs the selected base register information to the bus 422 via the gate 413. The address generated in the first step becomes the final address, and the second step is omitted. cTable 1...(2)
] Table 1 below shows the gate numbers opened to buses 421, 422 in the first step and second step in various cases.

以下余白 表  1 ((1)、どのゲートも開かない。Margin below Table 1 ((1), none of the gates open.

(X 2) 、第2のステップは起動されない。(X2), the second step is not activated.

(13>、 don ’ t care次に命令語のX
部も8部もゼロでない、すなわらインデックス・レジス
タ修飾、ベース・レジスタ修飾共に指定された場合につ
いて動作を説明りる。
(13>, don't care, then the command word X
The operation will be explained in the case where both the part and the 8th part are not zero, that is, both the index register modification and the base register modification are specified.

この場合、ゼロ検出器430の結果がテストされる。も
し、ディスプレースメント部が0″ならば表1のケース
(4)に示すように第1のステップにおいて、ゲート4
11と415を開き、加算器323においてインデック
ス・レジスタ情報と、ベース・レジスタ情報の和を作り
、これが最終アドレスとなるので第2ステツプは起動し
ないように制御する。もし、ディスプレースメント部り
が“OIIでなければ表1のケース(5)に示すように
第1のステップにおいてゲート411と413を開き、
加算器323においてインデックス・レジスタ情報とデ
ィスプレースメント情報の和を作り、レジスタ304に
入力する。次に第2のステップで、ゲート412と41
4を開き、レジスタ304中の部分和とベース・レジス
タ情報を加算器323で加算し、最終アドレスを得る。
In this case, the result of zero detector 430 is tested. If the displacement part is 0'', as shown in case (4) of Table 1, in the first step, the gate 4
11 and 415 are opened, the adder 323 adds the index register information and the base register information, and since this becomes the final address, the second step is controlled not to be activated. If the displacement part is not "OII", the gates 411 and 413 are opened in the first step as shown in case (5) of Table 1,
An adder 323 adds the index register information and displacement information, and inputs the sum to the register 304. Next, in a second step, gates 412 and 41
4 is opened, the partial sum in register 304 and base register information are added by adder 323, and the final address is obtained.

このように、ディスプレースメント部りのゼO検出回路
、及びベース・レジスタをバス422へ供給する手段を
与えることで、表1のケース(5)を除き、全て第1の
ステップのみで最終アドレスを生成することが可能とな
る。本実施例−(I」、ベース・レジスタの出力が、2
つの加算器パノノバス421.422へ出力されるよう
に記述しでいるが、加算の組合せは他の方法も可能であ
る。
In this way, by providing a means for supplying the zero detection circuit for the displacement part and the base register to the bus 422, the final address can be determined only in the first step in all cases except for case (5) in Table 1. It becomes possible to generate. This example - (I'', the output of the base register is 2
Although the description has been made so that the sums are output to two adders Panonova 421 and 422, other combinations of additions are also possible.

[発明の効果] 以上の説明から明らかなように、本発明によれば従来2
ステツプの加締処理によりアドレス生成されていたのが
、表のケース(5)を除き全て1ステツプでアドレスを
生成することが可能となり、データ処理が高速に実行す
ることができる優れた効果を有する。
[Effect of the invention] As is clear from the above explanation, according to the present invention, the conventional 2
Addresses used to be generated by step tightening processing, but except for case (5) in the table, addresses can now be generated in one step in all cases, which has the excellent effect of speeding up data processing. .

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

第1図は一般的な命令語の構成を示す図、第2図は従来
のアドレス生成の概要を示す図、第3図は従来のアドレ
ス生成回路の構成を示づブロック図、第4図は本発明の
データ処理4A置に適用され十 301・・・・・・インデックス・レジスタ群302・
・・・・・ベース・レジスタ群303.304・・・・
・・レジスタ 411.415・・・・・・ゲート 421.422・・・・・・バス 323・・・・・・加算器 (7317)代理人弁理士 則近憲佑(Gよh% 1名
)第    1    図 第    2    図
Figure 1 is a diagram showing the structure of a general instruction word, Figure 2 is a diagram showing an overview of conventional address generation, Figure 3 is a block diagram showing the configuration of a conventional address generation circuit, and Figure 4 is a diagram showing the configuration of a conventional address generation circuit. Applied to data processing 4A of the present invention, 1301... Index register group 302.
...Base register group 303,304...
...Register 411.415...Gate 421.422...Bus 323...Adder (7317) Representative patent attorney Norichika Kensuke (Gyoh% 1 person) )Figure 1Figure 2

Claims (1)

【特許請求の範囲】[Claims] 命令語の中のオペランド部に、2つのレジスタ修飾指定
部とディスプレースメント部を有し、第1および第2の
レジスタ修飾指定部の情報により第1および第2のレジ
スタ群のら得られる−2つのアドレス修飾情報と前記デ
ィスプレースメント部の値の3つの情報を2人力の加鋒
器によって2ステツプの演算によりオペランドアドレス
を生成するデータ処理装置において、前記命令語のディ
スプレースメント部がゼロであることを検出するゼロ検
出手段と、前記第1および第2のアドレス修飾指定部に
よってアドレス修飾を指定しているとき、前記ゼロ検出
一段に、よりディスプレースメント部のゼロが検出され
たならば前記オペランド・アドレス生成の第1のステッ
プにおいて′#j記第1および第2アドレス修飾指定部
で各々選択されるレジスタの内容を側御する手段と、こ
の加算結果をオペランド・アドレスとし、前記第2のス
テップを起動させないように制御する手段とを具備する
データ処理装置。
The operand part of the instruction word has two register modification specification parts and a displacement part, and -2 is obtained from the first and second register groups based on the information in the first and second register modification specification parts. In a data processing device that generates an operand address by a two-step operation using three pieces of information: one address modification information and the value of the displacement part using a two-man power adder, the displacement part of the instruction word is zero. and the first and second address modification specifying sections specify address modification, and if a zero in the displacement section is detected in the first stage of zero detection, the operand means for controlling the contents of the registers respectively selected by the first and second address modification specification parts in the first step of address generation; 1. A data processing device comprising: a control means for preventing activation of the data processing apparatus.
JP2355882A 1982-02-18 1982-02-18 Data processor Pending JPS58142446A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2355882A JPS58142446A (en) 1982-02-18 1982-02-18 Data processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2355882A JPS58142446A (en) 1982-02-18 1982-02-18 Data processor

Publications (1)

Publication Number Publication Date
JPS58142446A true JPS58142446A (en) 1983-08-24

Family

ID=12113835

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2355882A Pending JPS58142446A (en) 1982-02-18 1982-02-18 Data processor

Country Status (1)

Country Link
JP (1) JPS58142446A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60176152A (en) * 1984-02-23 1985-09-10 Fujitsu Ltd Prefix area access control system
JPS61165148A (en) * 1984-12-14 1986-07-25 Fujitsu Ltd Table access instructing system
JPH01269132A (en) * 1988-04-21 1989-10-26 Matsushita Electric Ind Co Ltd Microcomputer

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60176152A (en) * 1984-02-23 1985-09-10 Fujitsu Ltd Prefix area access control system
JPS61165148A (en) * 1984-12-14 1986-07-25 Fujitsu Ltd Table access instructing system
JPH01269132A (en) * 1988-04-21 1989-10-26 Matsushita Electric Ind Co Ltd Microcomputer

Similar Documents

Publication Publication Date Title
JPS6141026B2 (en)
US4876646A (en) Data processor having multilevel address translation tables
JPH0241053B2 (en)
JPH0248931B2 (en)
KR19990008025A (en) Arithmetic operation system with single or double precision
US4336599A (en) Circuit for performing a square root calculation
JPS58142446A (en) Data processor
JPS5826584B2 (en) data processing equipment
JPS6120889B2 (en)
JPS6266330A (en) Loading device for instruction counter
JPS59178544A (en) Memory access circuit
JPS63111535A (en) Data processor
JPS6260755B2 (en)
JPS6148174B2 (en)
JPS59208663A (en) Method and apparatus for expanding number of addresses of read-only memory
JPS59184944A (en) Rounding arithmetic system
JPS59188900A (en) Data processor
JP2624738B2 (en) Rounding method
JPS60124730A (en) Digital operation circuit
JPS6151268A (en) Data processing device
JPS62251930A (en) Information processor
JPS62257536A (en) Data flow processor
JPS6168636A (en) Data processor
JPS60241135A (en) Address producing system
JPS6313212B2 (en)