JPS61147341A - Branch control system - Google Patents

Branch control system

Info

Publication number
JPS61147341A
JPS61147341A JP26925884A JP26925884A JPS61147341A JP S61147341 A JPS61147341 A JP S61147341A JP 26925884 A JP26925884 A JP 26925884A JP 26925884 A JP26925884 A JP 26925884A JP S61147341 A JPS61147341 A JP S61147341A
Authority
JP
Japan
Prior art keywords
instruction
address
branch
register
operand
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
JP26925884A
Other languages
Japanese (ja)
Inventor
Takahito Noda
野田 敬人
Takeshi Murata
雄志 村田
Hiroyuki Kaneda
裕之 金田
Yuji Kamisaka
神阪 裕士
Masayoshi Takei
武居 正善
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP26925884A priority Critical patent/JPS61147341A/en
Publication of JPS61147341A publication Critical patent/JPS61147341A/en
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

PURPOSE:To attain high speed processing with simple control by setting a branch destination address of a branch instruction to an address register for the 2nd operand. CONSTITUTION:In executing a normal instruction, the 1st operand address register 2 and the 2nd operand address register 3 are used together, and in case of a branch instruction, since the 2nd operand address register 3 is not used, the branch destination address is set to the register 3. In branching the instruction, the instruction is branched by using the content of the 2nd operand address register 3 so as to fetch the instruction. In this case, the address of the instruction to be executed next after branching is produced by adding 1 to the content of the 2nd operand address register 3, and it is stored to an instruction fetch address register 1 via a multiplexer 4.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は命令体系中に条件分岐命令や無条件分岐命令を
有する情報処理装置においての、これら分岐命令の実行
に際する制御方式に関するものである。
[Detailed Description of the Invention] [Field of Industrial Application] The present invention relates to a control method for executing conditional branch instructions and unconditional branch instructions in an information processing device having conditional branch instructions and unconditional branch instructions in the instruction system. be.

〔従来の技術〕[Conventional technology]

情報処理装置の演算部において命令の実行をする際、通
常の命令においては、現在実行中の命令の次に実行すべ
き命令のアドレスは現在実行中の命令もドレスに該命令
の命令長を加えたものとして容易に求まるから、そのア
ドレス値を計算して命令フェッチアドレスレジスタにセ
ットすることによ、り制御することが出来る。−方、条
件分岐命令においては、分岐すべき条件が整わないとき
には上述のような制御によって、次に実行すべき命令を
読み出すが、分岐すべき条件が整ったときには、該条件
分岐命令のオペランドで指定されるアドレスに分岐しな
ければならない。また、これらのアドレスは通常直接ア
ドレス値が指定されるものではなく、指定されたレジス
タの内容等の値を加算して実際に用いるアドレス値を導
出する必要がある。
When executing an instruction in the arithmetic unit of an information processing device, the address of the instruction to be executed next to the currently executing instruction is determined by adding the instruction length of the instruction to the address of the currently executing instruction. Since the address value can be easily determined as the address value, it can be controlled by calculating the address value and setting it in the instruction fetch address register. - On the other hand, with a conditional branch instruction, when the condition for branching is not met, the next instruction to be executed is read using the control described above, but when the condition for branching is met, the operand of the conditional branch instruction is read. Must branch to the specified address. Furthermore, these addresses are usually not directly designated as address values, and it is necessary to derive the address value actually used by adding values such as the contents of designated registers.

従来、このような条件分岐命令の実行に係る分岐の場合
の制御方式として、分岐条件が整ったことが確認されて
から該条件分岐命令のオペランドで指定されるアドレス
を計算の上、これを命令フェッチアドレスレジスタにセ
ットシて、これKよシ次に実行すべき命令の読み出しを
行なうと言う方式が採られるのが普通であった。
Conventionally, as a control method for a branch related to the execution of such a conditional branch instruction, after confirming that the branch condition has been met, the address specified by the operand of the conditional branch instruction is calculated, and this is then executed by the instruction. It was common practice to set the fetch address register and read out the next instruction to be executed.

一方、処理の高速化を目的として予め命令をフェッチし
ておいて、該命令の実行に必要表置源を準備して置くと
言うような先行制御方式を採る情報処理装置においては
、分岐する場合に備えて予め分岐先アドレスを格納して
卦〈ための特別なレジスタを設け、これに予め分岐先ア
ドレスを格納しておいて、当該する分岐命令の実行に際
し、分岐する場合は該レジスタの内容を用いて命令をフ
ェッチする方式が採られていた。
On the other hand, in an information processing device that adopts a proactive control method in which an instruction is fetched in advance for the purpose of speeding up processing, and a table source necessary for executing the instruction is prepared, when branching In preparation for this, a special register is provided to store the branch destination address in advance.The branch destination address is stored in this register in advance, and when the branch instruction is executed, the contents of the register are A method was adopted in which instructions were fetched using .

更にこれらの情報処理装置が論理アドレスを扱うもので
あって、論理アドレスから実アドレスへの変換機構を有
するものである場合は、上述のいずれの方式の場合も、
命令フェッチアドレス(論理アドレス)を生成した後、
これをアドレス変換機構により変換して実アドレスを得
、該実アドレスにより命令をフェッチすると言う方式が
採られていた。
Furthermore, if these information processing devices handle logical addresses and have a conversion mechanism from logical addresses to real addresses, in any of the above methods,
After generating the instruction fetch address (logical address),
A method has been adopted in which this is translated by an address translation mechanism to obtain a real address, and an instruction is fetched using the real address.

〔発明が解決しようとする問題点〕[Problem that the invention seeks to solve]

上述した従来の各方式において、分岐条件が整ったこと
が確認されてから分岐先のアドレスを計算する方式を採
るものにおいては、処理速度が遅いと言う問題点があり
、一方、その高速化を計るため予め分岐先アドレスを格
納しておく特別のレジスタを設けたものにおいては、該
レジスタやその周辺の回路K13するハードウェア量が
大であると云う問題点があった。
In each of the conventional methods mentioned above, the method that calculates the branch destination address after confirming that the branch conditions are met has the problem of slow processing speed. In the case where a special register is provided to store the branch destination address in advance for the purpose of timing, there is a problem in that the amount of hardware required for the register and its peripheral circuit K13 is large.

また、命令フェッチアドレスを論理アドレスから実アト
t/スに変換する機構を有するものについては、やはり
処理速度が遅いと言う問題点があった。
Further, those having a mechanism for converting an instruction fetch address from a logical address to a real address have the problem of slow processing speed.

更に、分岐命令が無条件分岐命令である場合は、条件分
岐命令と異なり、分岐先アドレスは当初から一意的に定
まっているので、高速化のため無条件分岐命令を実行す
るための制御と条件分岐命令を実行するための制御を別
個に行なう如く構成された情報処理装置もあるが、この
ような場合はハードウェア量が増加したり、制御が複雑
になったシすると言う問題点があった。
Furthermore, if the branch instruction is an unconditional branch instruction, unlike a conditional branch instruction, the branch destination address is uniquely determined from the beginning, so the control and conditions for executing the unconditional branch instruction are Some information processing devices are configured to separately control the execution of branch instructions, but in such cases there are problems in that the amount of hardware increases and the control becomes complicated. .

本発明は上記従来の問題点に鑑み、ハードウェア量の増
大を来すことなく、簡潔な制御で高速表処理の期待出来
る分岐命令の実行に係る制御方式を提供することを目的
としている。
SUMMARY OF THE INVENTION In view of the above conventional problems, it is an object of the present invention to provide a control system for executing branch instructions that allows for simple control and high-speed table processing without increasing the amount of hardware.

〔問題点を解決するための手段〕[Means for solving problems]

そして、この目的は本発明によれば、命令体系中に分岐
命令を有する情報処理装ftにおいて、分岐命令の実行
に際し、通常の命令の実行に使用するために設けられて
いるレジスタの内分岐命令においては使用しないレジス
タに分岐先アドレスを格納して、分岐するとき該レジス
タの内容を用いて命令をフェッチすると共に該レジスタ
の内容に1アドレス単位を加えた値を命令フェッチ用ア
ドレスレジスタに格納することを特徴とする分岐制御方
式、あるいは、分岐先アドレスが論理アドレスであって
、該分岐先アドレスをレジスタに格納したとき同時に該
分岐先アドレスを実アドレスに変換して、その結果の情
報を保持しておいて、分岐するとき該情報と前記レジス
タの内容とを用いて命令フェッチすると共に該レジスタ
の内容に1アドレス単位を加えた値を命令7エツテ用ア
ドレスレジスタに格納したとき同時にその値を実アドレ
スに変換して、その結果の情報を通常の命令フェッチ用
に用いられる資源に保持する上述の分岐制御方弐によシ
達成される。
According to the present invention, when executing a branch instruction in an information processing device FT having a branch instruction in its instruction system, the branch instruction is In this case, the branch destination address is stored in a register that is not used, and when branching, the contents of this register are used to fetch the instruction, and the value obtained by adding one address unit to the contents of this register is stored in the instruction fetch address register. A branch control method characterized in that the branch destination address is a logical address, and when the branch destination address is stored in a register, the branch destination address is simultaneously converted to a real address and the resulting information is retained. When branching, fetch the instruction using this information and the contents of the register, and at the same time store the value obtained by adding one address unit to the contents of the register in the address register for instruction 7. This is achieved by the branch control method described above, which converts to a real address and holds the resulting information in the resources used for normal instruction fetches.

〔実施例〕〔Example〕

第1図は本発明の1実施例のプロ、り図であって、1は
命令フェッチ用アドレスレジスタ(IA)、2は第1オ
ペランド用のアドレスレジスタ、3は第2オペランド用
のアドレスレジスタ、4.7はマルチプレクサ、5はア
ドレス更新/計算プロ、り、6は命令先取部、13は+
1回路を表わしている。
FIG. 1 is a schematic diagram of one embodiment of the present invention, in which 1 is an address register (IA) for fetching instructions, 2 is an address register for the first operand, 3 is an address register for the second operand, 4.7 is a multiplexer, 5 is an address update/calculation processor, 6 is an instruction prefetch unit, 13 is +
It represents one circuit.

第1図において、アドレス更新/計算ブロック5は命令
フェッチ用、第1オペランド用、および第2オペランド
用の各アドレスの更新やアドレスの計算を行なう機能を
有しており、また命令フェッチ用アドレスレジスタ1は
、この回路が命令先取部6によって命令の先取りを行な
っているものであるため、現在実行中の命令より先の命
令のアドレスを示している。通常の命令の実行に際して
は、第1オペランド用のアドレスレジスタ2と第2オペ
ランド用のアドレスレジスタ3が共に使用されるが、分
岐命令の場合には第2オペランド用のアドレスレジスタ
3が使用されないので本実施例の場合においては、分岐
命令の分岐先アドレスを、この第2オペランド用のアド
レスレジスタにセットしておいて、分岐に際し、この第
2オペランド用のアドレスレジスタ3の内容を用いて命
令をフェッチすることにより分岐している。そして、こ
のとき、該第2オペランド用のアドレスレジスタ3の内
容(分岐先アドレス)Klを加えることによって、分岐
抜法に実行すべき命令のアドレスを生成し、これを命令
フェッチ用アドレスレジスタIKマルチプレクサ4を経
由して格納している。
In FIG. 1, the address update/calculation block 5 has the function of updating and calculating addresses for instruction fetch, first operand, and second operand, and also has an address register for instruction fetch. Since this circuit prefetches instructions by the instruction prefetch unit 6, 1 indicates the address of the instruction that precedes the currently executed instruction. When executing a normal instruction, address register 2 for the first operand and address register 3 for the second operand are both used, but in the case of a branch instruction, address register 3 for the second operand is not used. In the case of this embodiment, the branch destination address of the branch instruction is set in the address register for this second operand, and when branching, the instruction is executed using the contents of address register 3 for the second operand. Branching by fetching. At this time, by adding the content (branch destination address) Kl of the address register 3 for the second operand, the address of the instruction to be executed in the branching method is generated, and this is sent to the instruction fetch address register IK multiplexer. It is stored via 4.

第1図に示す実施例について、以下、その動作をタイム
チャートを用いて詳しく説明する。
The operation of the embodiment shown in FIG. 1 will be explained in detail below using a time chart.

第2図は通常の命令の実行の場合のタイムチャートであ
る。すなわち、第2図において、サイクルb−dの間に
おいてはnの命令を実行しておシ、該命令の実行中でメ
モリにアクセスしないサイクルCのとき、命令先取部曵
+2にアクセスしている。この図では第2オペランド用
のアドレスレジスタ3で示されるアドレスの内容を加工
して第1オペランド用のアドレスレジスタ2で示される
アドレスに格納する場合を示しているう 第3図は条件分岐命令の実行に際し分岐条件が成立しな
い場合のタイムチャートセある。この場合は第1オペラ
ンドが無い分岐命令で、実行サイクルに入ると同時に分
岐先アドレスが第2オペランド用アドレスレジスタ3に
格納される。サイクルCにおける判定結果が分岐条件不
成立なので第2オペランド用アドレスレジスタ3に格納
されているデータは使わず、通常の命令実行時同様次の
命令(n+1命令)の実行に入っている。
FIG. 2 is a time chart for normal instruction execution. That is, in FIG. 2, during cycles b-d, instruction n is executed, and in cycle C, when the memory is not accessed during the execution of the instruction, the instruction prefetch section +2 is accessed. . This figure shows a case where the contents of the address indicated by address register 3 for the second operand are processed and stored at the address indicated by address register 2 for the first operand. There is a time chart set when the branch condition is not satisfied during execution. In this case, the branch instruction has no first operand, and the branch destination address is stored in the second operand address register 3 at the same time as the execution cycle begins. Since the judgment result in cycle C is that the branch condition is not satisfied, the data stored in the second operand address register 3 is not used, and the next instruction (n+1 instruction) is executed as in normal instruction execution.

第4図は条件分岐命令あるいは無条件分岐命令の実行に
際し分岐を行なう場合のタイムチャートである。同図に
おいて、サイクルCにおいて、分岐条件の成立が判明し
たことによシ、先に第2オペランド用のアドレスレジス
タに格納しておいた分岐先アドレスを用いてX命令を7
エ、チしている。そして、このとき該分岐先アドレスに
+1した値を命令フェッチ用アドレスレジスタに格納し
サイクルdで%x+1’  命令のフェッチを行なって
いる。
FIG. 4 is a time chart when branching is performed upon execution of a conditional branch instruction or an unconditional branch instruction. In the same figure, in cycle C, since it was found that the branch condition was established, the X instruction was executed 7 times using the branch destination address previously stored in the address register for the second operand.
Eh, I'm doing it. At this time, the value of the branch destination address +1 is stored in the instruction fetch address register, and %x+1' instructions are fetched in cycle d.

無条件分岐の場合には分岐条件が成立したか否かを認識
する必要が無いから、一意的に先に第2オペランド用の
アドレスレジスタに格納しておいた分岐先アドレスを用
いて命令をフェッチする。
In the case of an unconditional branch, there is no need to recognize whether the branch condition has been met or not, so the instruction is fetched using the branch destination address uniquely stored in the address register for the second operand. do.

第5図は本発明の他の実施例のブロック図であって、命
令のフェッチに際しアドレス変換(論理アドレスから実
アドレスへの変換)を必要とする場合の実施態様の例を
示すものである。
FIG. 5 is a block diagram of another embodiment of the present invention, showing an example of an implementation in which address translation (conversion from a logical address to a real address) is required when fetching an instruction.

第5図において1′〜7′は第1図の1〜7と同様であ
り、8はマルチプレクサ、9はアドレス変換プロ、り、
10〜12はレジスタ、13′は+1回路を表わしてい
る。本実施例の場合においては、命令フェッチ用アドレ
スレジスタ1′、第1オペランド用アドレスレジスタ2
′および第2オペランド用アドレスレジスタ3′に格納
されるアドレス値は論理アドレスである。そしてこれら
のレジスタに格納される論理アドレスは、レジスタへの
格納と同時にその論理ページ部がマルチプレクサ8によ
って選択され、アドレス変換ブロック9によって物理ペ
ージ値に変換されてレジスタ10〜12のいずれかに格
納される。
In FIG. 5, 1' to 7' are the same as 1 to 7 in FIG. 1, 8 is a multiplexer, 9 is an address conversion processor,
10 to 12 represent registers, and 13' represents a +1 circuit. In the case of this embodiment, address register 1' for instruction fetch, address register 2 for first operand
' and the address value stored in the second operand address register 3' are logical addresses. At the same time as the logical address stored in these registers is stored in the register, the logical page portion thereof is selected by the multiplexer 8, converted to a physical page value by the address conversion block 9, and stored in one of the registers 10 to 12. be done.

そして、該物理ページ値と論理アドレス値の下位の値と
でメモリアドレスが生成される。
Then, a memory address is generated from the physical page value and the lower value of the logical address value.

レジスタ10に表示されているFなる記号は命令フェッ
チに関するアドレス変換のデータを表わすものでTLB
フォルトやアドレスオーバーおよびプロテクション等の
情報を含んでいる。
The symbol F displayed in register 10 represents address translation data related to instruction fetch, and TLB
Contains information such as faults, address overs, and protection.

PIFなる記号はそれが命令フェッチ用のアドレスの物
理ページ部が保持されることを表わしている。
The symbol PIF indicates that it holds the physical page portion of the address for fetching instructions.

レジスタ11に表示されているDなる記号は第1オペラ
ンドに関するアドレス変換のデータ、レジスタ12に表
示されている8なる記号は第2オペランドに関するアド
レス変換のデータを表わすものでそれぞれ、TLB7オ
ルトやアドレスオーバーおよびプロテクションの情報を
含むものである。また、レジスタ11あるいはレジスタ
12に表示しであるPOI、PO2の表示はそれぞれ第
1オペランド用アドレスの物理ページ部あるいは第2オ
ペランド用アドレスの物理ペジ部が保持されるものであ
ることを表わしている。
The symbol D displayed in register 11 represents address translation data regarding the first operand, and the symbol 8 displayed in register 12 represents address translation data regarding the second operand, respectively. and protection information. Furthermore, the display of POI and PO2 displayed in register 11 or register 12 indicates that the physical page part of the address for the first operand or the physical page part of the address for the second operand is held, respectively. .

第5図において、分岐命令の実行を行なう場合には、第
2オペランド用のアドレスレジスタ3′に分岐先アドレ
ス(論理アドレス)がセットされるが、このとき同時に
分岐先アドレスの論理ページ部がアドレス変換プロ、り
9によって物理ページ値に変換されてレジスタ12に保
持される。そして、第2オペランド用アドレスレジスタ
3′の内容の下位とレジスタ12のPO2とによってメ
モリアドレスが生成されこれによって分岐が行なわれる
。このとき更に第2オペランド用アドレスレジスタ3′
の内容は+1回路13′により+1されて、マルチプレ
クサ4′を経由して命令フェッチ用アドレスレジスタ1
′にセットされると共に1その+1された値がアドレス
変換プロ、り9によって物理ページ値に変換されてレジ
スタ10に保持される。
In FIG. 5, when a branch instruction is executed, the branch destination address (logical address) is set in the address register 3' for the second operand, but at the same time, the logical page part of the branch destination address is set to the address register 3'. It is converted into a physical page value by the conversion processor 9 and held in the register 12. Then, a memory address is generated from the lower contents of the address register 3' for the second operand and PO2 of the register 12, and a branch is performed based on this. At this time, the second operand address register 3'
The contents of are incremented by +1 by the +1 circuit 13' and sent to the instruction fetch address register 1 via the multiplexer 4'.
', and the value incremented by 1 is converted to a physical page value by the address conversion processor 9 and held in the register 10.

以下、本実施例の動作についてタイムチャートを用いて
説明する。
The operation of this embodiment will be explained below using a time chart.

第6図は通常の命令の実行の場合のタイムチャートであ
って、第2オペランドのデータを加工して第1オペラン
ドに格納する場合を示している。
FIG. 6 is a time chart for normal instruction execution, and shows a case where data of the second operand is processed and stored in the first operand.

第6図Kf、−いて、n命令はサイクルb〜dが実行サ
イクルになる。n命令はサイクルbに入る前に命令先取
部で解読されていてサイクルbに入ると同時に第2オペ
ランド用アドレスレジスタ3′にLO2、レジスタ12
に8/PO2がセ。
In FIG. 6, the cycles b to d of the Kf-n instruction are execution cycles. The n instruction has been decoded by the instruction prefetch section before entering cycle b, and at the same time as entering cycle b, LO2 and register 12 are stored in the second operand address register 3'.
8/PO2 is set.

トされてサイクルbでリードサイクルとなる。The read cycle is performed in cycle b.

次のサイクルCはデータ加工のサイクルでメモリが空く
のでその間命令先取部がPIF七I、IPを用いて命令
をプリフェッチしている。また、サイクルCに入ると同
時に第1オペランド用アドレスレジスタ2′にLOI、
レジスタ11にD/PO1のセットが行表われる?表の
サイクルdのとき、第1オペランドで加工データをライ
トしている。
The next cycle C is a data processing cycle and the memory is free, so during that time the instruction pre-fetching section prefetches instructions using PIF7I and IP. Also, at the same time as cycle C is entered, LOI is stored in the first operand address register 2'.
Does the D/PO1 set line appear in register 11? At cycle d in the table, machining data is written in the first operand.

一方、サイクルCの終了時I、IPは次の命令のフェッ
チのため更新される。第6図の場合はn〜n + 4が
同じページ内にあるためPIFは変化しない(このタイ
ムチャートに入る前にセットされている)。
On the other hand, at the end of cycle C, I, IP is updated to fetch the next instruction. In the case of FIG. 6, since n to n+4 are on the same page, the PIF does not change (it was set before entering this time chart).

第7図は条件分岐命令の実行に際し分岐条件が成立しな
い場合のタイムチャートである。第7図において、サイ
クルbに入ると同時に分岐先論理アドレスが第2オペラ
ンド用アドレスレジスタ3′にセットされる。3’にセ
ットすると同時にそのアドレス変換結果を12にセット
する。
FIG. 7 is a time chart when the branch condition is not satisfied when a conditional branch instruction is executed. In FIG. 7, upon entering cycle b, the branch destination logical address is set in the second operand address register 3'. 3' and at the same time set the address translation result to 12.

サイクルCで分岐不成立が判明するとサイクルdからn
 + 1の命令の実行に入る。n + 1の命令のトッ
プサイクルdはオペランドアクセスがないため命令先取
りのための命令フェッチ(n+3)のアクセスが行なわ
れる。
When it becomes clear that the branch is not taken in cycle C, cycles d to n
+1 starts executing the instruction. Since there is no operand access in the top cycle d of the n+1 instruction, an instruction fetch (n+3) access is performed to prefetch the instruction.

第8図;嘘条件分岐命令あるいは無条件分岐命令の実行
に際し分岐を行なう場合のタイムチャ−トである。同図
において、サイクルCにおいて分岐条件成立が判明する
と第2オペランド用アドレスレジスタ3′にセットして
おいた分岐先論理アドレスとレジスタ12に保持されて
いる物理ページ値を用いてX命令をフェッチする。
FIG. 8 is a time chart when a branch is executed upon execution of a false conditional branch instruction or an unconditional branch instruction. In the same figure, when it is found that the branch condition is met in cycle C, the X instruction is fetched using the branch destination logical address set in the second operand address register 3' and the physical page value held in the register 12. .

そして、サイクルdにおいてX命令が実行される。更に
、このとき、第2オペランド用アドレスレジスタ3′の
内容(分岐先アドレス)には1が加えられて命令フェッ
チ用アドレスレジスタ1′に格納され、また、その物理
ページがレジスタ10に保持されて、サイクルdにおい
てこれらを用いて’x+1’命令のフェッチが行なわれ
る。無条件分岐の場合には分岐条件が成立したか否かを
認識する必要がないから一意的に分岐すれば良いことが
異なる他は上述の条件分岐の場合と同様である。
Then, in cycle d, the X instruction is executed. Furthermore, at this time, 1 is added to the contents of the second operand address register 3' (branch destination address) and stored in the instruction fetch address register 1', and the physical page is held in the register 10. , the 'x+1' instruction is fetched using these in cycle d. In the case of an unconditional branch, there is no need to recognize whether or not the branch condition has been met, so the branch can be uniquely branched.

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

以上、詳細に説明したように本発明の分岐制御方式によ
れば、分岐命令の実行に関しノ・−ドウニア膏の増大を
招くこと無く、簡潔な制御によって高速な処理を行なう
ことが可能な情報処理装置を実現することが可能である
ので効果は大である。
As described in detail above, according to the branch control method of the present invention, information processing that can perform high-speed processing with simple control without causing an increase in downtime related to the execution of branch instructions is possible. Since it is possible to realize the device, the effect is great.

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

第1図は本発明の1実施例のブロック図、第2図は通常
の命令の実行の場合のタイムチャート、第3図は条件分
岐命令の実行に際し分岐条件が成立しない場合のタイム
チャート、第4図は条件分岐命令あるいは無条件分岐命
令の実行に際し分岐を行なう場合のタイムチャート、第
5図は本発明の他の実施例のプロ、り図、第6図は通常
の命令の実行の場合のタイムチャート、第7図は条件分
岐命令の実行に際し分岐条件が成立しない場合のタイム
チャート、第8図は条件分岐命令あるいは無条件分岐命
令の実行に際し分岐を行なう場合のタイムチャートであ
る。 1.1′・・・命令フェッチ用アドレスレジスタ、2.
2′・・・第1オペランド用アドレスレジスタ、3.3
′・・・第2オペランド用アドレスレジスタ、4.4′
、7.7′、8・・・マルチプレクサ、 5・・・アド
レス更新/更新プロ、り、  6・・・命令先取部、 
 9・・・アドレス変換プロ、り、10〜12・・・レ
ジスタ、  13.13’・・・+1回路代理人 弁理
士 松 岡 宏四部 第1図 vT2図 ′i43 図 $4  図 曾 分斌条#威ユ判朗 第 5 図 146 図
FIG. 1 is a block diagram of one embodiment of the present invention, FIG. 2 is a time chart for normal instruction execution, FIG. 3 is a time chart for when the branch condition is not satisfied when executing a conditional branch instruction, and FIG. Figure 4 is a time chart for branching when executing a conditional or unconditional branch instruction, Figure 5 is a diagram of another embodiment of the present invention, and Figure 6 is for normal instruction execution. FIG. 7 is a time chart when the branch condition is not satisfied when executing a conditional branch instruction, and FIG. 8 is a time chart when branching is performed when executing a conditional branch instruction or an unconditional branch instruction. 1.1'...address register for instruction fetch, 2.
2'...Address register for first operand, 3.3
'...Address register for second operand, 4.4'
, 7.7', 8... multiplexer, 5... address update/update pro, ri, 6... instruction prefetch unit,
9...Address conversion professional, 10-12...Register, 13.13'...+1 circuit agent Patent attorney Hiroshi Matsuoka 4th Department Figure 1 vT2 Figure 'i43 Figure $4 Zuso Bunbin Article #Weiyu Hanro No. 5 Figure 146

Claims (2)

【特許請求の範囲】[Claims] (1)命令体系中に分岐命令を有する情報処理装置にお
いて、分岐命令の実行に際し、通常の命令の実行に使用
するために設けられているレジスタの内分岐命令におい
ては使用しないレジスタに分岐先アドレスを格納して、
分岐するとき該レジスタの内容を用いて命令をフェッチ
すると共に該レジスタの内容に1アドレス単位を加えた
値を命令フェッチ用アドレスレジスタに格納することを
特徴とする分岐制御方式。
(1) In an information processing device that has a branch instruction in its instruction system, when executing a branch instruction, the branch destination address is placed in a register that is not used for the branch instruction among the registers that are provided for the execution of normal instructions. Store the
A branch control method characterized in that when branching, an instruction is fetched using the contents of the register, and a value obtained by adding one address unit to the contents of the register is stored in an instruction fetch address register.
(2)分岐先アドレスが論理アドレスであつて、該分岐
先アドレスをレジスタに格納したとき同時に該分岐先ア
ドレスを実アドレスに変換して、その結果の情報を保持
しておいて、分岐するとき該情報と前記レジスタの内容
とを用いて命令をフェッチすると共に該レジスタの内容
に1アドレス単位を加えた値を命令フェッチ用アドレス
レジスタに格納したとき同時にその値を実アドレスに変
換して、その結果の情報を通常の命令フェッチ用に用い
られる資源に保持する特許請求の範囲第(1)項記載の
分岐制御方式。
(2) When the branch destination address is a logical address, and when the branch destination address is stored in a register, the branch destination address is simultaneously converted to a real address, and the resulting information is retained and the branch is made. An instruction is fetched using the information and the contents of the register, and when the value obtained by adding one address unit to the contents of the register is stored in the instruction fetch address register, the value is simultaneously converted to a real address and the The branch control method according to claim 1, wherein result information is held in a resource used for normal instruction fetching.
JP26925884A 1984-12-20 1984-12-20 Branch control system Pending JPS61147341A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP26925884A JPS61147341A (en) 1984-12-20 1984-12-20 Branch control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26925884A JPS61147341A (en) 1984-12-20 1984-12-20 Branch control system

Publications (1)

Publication Number Publication Date
JPS61147341A true JPS61147341A (en) 1986-07-05

Family

ID=17469845

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26925884A Pending JPS61147341A (en) 1984-12-20 1984-12-20 Branch control system

Country Status (1)

Country Link
JP (1) JPS61147341A (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5423343A (en) * 1977-07-22 1979-02-21 Nec Corp Microprogram controller
JPS59158442A (en) * 1983-03-01 1984-09-07 Hitachi Ltd Instruction read control system
JPS60103454A (en) * 1983-11-09 1985-06-07 Matsushita Electric Ind Co Ltd Instruction pre-reading controller

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5423343A (en) * 1977-07-22 1979-02-21 Nec Corp Microprogram controller
JPS59158442A (en) * 1983-03-01 1984-09-07 Hitachi Ltd Instruction read control system
JPS60103454A (en) * 1983-11-09 1985-06-07 Matsushita Electric Ind Co Ltd Instruction pre-reading controller

Similar Documents

Publication Publication Date Title
KR940009094B1 (en) Data processing system
EP0201833A2 (en) Instruction processor
JPS61147341A (en) Branch control system
JPS6398737A (en) Data processor
JPH0377137A (en) Information processor
JPS61147342A (en) Branch control system
JPH0385636A (en) Instruction advance control device
JP2629899B2 (en) Tag branching device
JPS63293638A (en) Data processing system
JPS60179846A (en) Interruption control system at exceptional conversion
JPH03109656A (en) Multiplex virtual space address system and data processor
JP3523407B2 (en) Information processing equipment
JPS62256135A (en) Processing system for translation test instruction
JPH0340075A (en) Microcomputer
JPH03119424A (en) Information processing system and its device
JPS61100836A (en) System for processing comparison and instruction of moving instruction logic
JPH02254541A (en) Control system for conditional branch instruction
JPS6389930A (en) Microprogram controller
JPS6373335A (en) Information processor
JPH0353322A (en) Information processor
JPH0424731B2 (en)
JPS61145643A (en) Variable word length instruction processing system
JPH0514288B2 (en)
JPH03119425A (en) Information processing system and its device
JPS61198334A (en) Instruction division processing system