JPS581245A - Branch address producing method - Google Patents
Branch address producing methodInfo
- Publication number
- JPS581245A JPS581245A JP9920481A JP9920481A JPS581245A JP S581245 A JPS581245 A JP S581245A JP 9920481 A JP9920481 A JP 9920481A JP 9920481 A JP9920481 A JP 9920481A JP S581245 A JPS581245 A JP S581245A
- Authority
- JP
- Japan
- Prior art keywords
- address
- program
- instruction
- branch
- memory
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3005—Arrangements for executing specific machine instructions to perform operations for flow control
- G06F9/30054—Unconditional branch instructions
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
Description
【発明の詳細な説明】
本発明は、追加されたオプションプログラムに対する分
岐アドレスを処理プログラムを要することなく動的に生
成する分岐アドレス生成方式に関する。DETAILED DESCRIPTION OF THE INVENTION The present invention relates to a branch address generation method that dynamically generates a branch address for an added option program without requiring a processing program.
I10制御関係、言語関係等のプログラムはオプション
とすることが多く、か\るオプションプログラムを基本
プログラムに結合するには、基本プログラムの該オプシ
ョンプログラムの分岐部分の次の命令はプ勧りラ五例外
としでおき、該分岐部分の命令が読出されたと−、オプ
ションプログラムが追加されているなら、次は該オプシ
ョンプログラムの先頭領域を指示する様にアドレスヲ賓
更する。この変更処理を従来は、リンケージ等と呼ばれ
る処理プログラムを用意してこれKより行なうため、オ
プションプログラム追加の操作が煩雑になる欠点があっ
た。I10 Control-related programs, language-related programs, etc. are often made optional, and in order to combine such optional programs with the basic program, it is recommended that the next instruction of the branch part of the optional program in the basic program be As an exception, if the instruction in the branch part is read and an optional program has been added, the address is then changed to point to the top area of the optional program. Conventionally, this changing process has been performed by preparing a processing program called linkage or the like, which has the disadvantage that adding an optional program becomes complicated.
本発明は、オプションプログラムに対する分岐アドレス
を処理プログラムを要することなく簡易に生成しようと
するものでちる。本発明は基本プログラムを格納した主
メモリブロックを備えそし□てオプションプログラムを
格納した副メモリブロックを必要に応じて追加されるメ
モリを備え得る電算機システムでの基本プログラムにお
ける分岐アドレス生成方式において、基本プログラムか
らオプションプログラムへの分岐命令の分岐先は、対応
する副メモリプロ、りが未実装のものは主メモリープロ
、り内の所定位置とし、該副メモリプロ、りが実装され
た状態である場合は、その実装情報を取り入れて前記分
岐部の命令のアドレス部を、皺副メモリブロックをアク
セス可能に修飾された形態とすることを特徴とするが、
以下図示の実施例を参照しながらこれを詳細に説明する
。The present invention aims to easily generate a branch address for an option program without requiring a processing program. The present invention provides a branch address generation method for a basic program in a computer system that is equipped with a main memory block storing a basic program, a sub memory block storing an optional program, and additional memory as necessary. The branch destination of a branch instruction from a basic program to an optional program is a specified location in the main memory program if the corresponding sub-memory program is not implemented. In some cases, the implementation information is incorporated to make the address part of the instruction of the branch part modified so that the wrinkled submemory block can be accessed.
This will be explained in detail below with reference to the illustrated embodiments.
第1図は本発明の一実施例を示す説明図である。FIG. 1 is an explanatory diagram showing one embodiment of the present invention.
MgMは各種プログラムを格納するメモリで、複数のプ
ロ、りBL・e B Ll m・・−・・・・・からな
る。これら複数のメモリブロックBL・* B IJI
+・・・・・・ はそれぞれが異なるプリント基板上
に形成され、少なくとも基本プログラムを格納した主メ
モリブロックBL@が実装されていれば情報処理装置と
しての一般的な機能は果される。これに対し、BLI、
BI、、、・・・・・・は例えばフォートランのコンパ
イラ等、基本プログラムと結合して使用されるオプショ
ンプログラムを格納した副メモリブロックで、必要に応
じて実装される。主メモリプロ、りBI4の基本プログ
ラムでは、副メ屯リブ−2りBL、が未実装である場合
、領域AR,から読出した命令(この命令の次はBLI
のプログラムへ移る)のネクストアドレス部は同じ主メ
モリプロ、りBLe内の他の領域AR。MgM is a memory that stores various programs, and consists of a plurality of programs. These multiple memory blocks BL・*B IJI
+ . On the other hand, BLI,
BI, . . . are sub-memory blocks that store optional programs used in combination with the basic program, such as a Fortran compiler, and are implemented as necessary. In the main memory pro-BI4 basic program, if the secondary memory pro-2 BL is not implemented, the instruction read from area AR (the next instruction is BLI).
The next address part of the program (moving to the next program) is another area AR in the same main memory processor or BLe.
を指示する。この領域AR翼は「プログラム例外」を格
納しており、こ\で基本プログラムの実行は中断してオ
ペレータ等による然るべき処理待ちとなる。instruct. This area AR wing stores a "program exception", at which the execution of the basic program is interrupted and waits for appropriate processing by an operator or the like.
これに対し、副メモリプロ、りBL、が実装されたとき
には、主メモリプロ、りBI4の領域AR,から読み出
した命令のネクストアドレス部が副メモリブロックBL
、のオプションプログラムの先頭領域ARst指示する
ように修飾することができれば、リンケージ等の処理プ
ログラムを要することなく紋オプシ、ンプログラムは基
本プログラムのAR。On the other hand, when the secondary memory block BL is implemented, the next address part of the instruction read from the area AR of the main memory block BI4 is the sub memory block BL.
If it is possible to modify the start area ARst of the option program of , without the need for a processing program such as linkage, the option program can be modified to indicate the AR of the basic program.
領域の命令に続いて自動的に実行されることになる。本
例ではこの分岐アドレス生成(修飾)′fIニアドレス
生成回路C0NVで簡易に行なおうとするものである。It will be automatically executed following the area instruction. In this example, this branch address generation (modification) is attempted to be easily performed using the 'fI near address generation circuit C0NV.
第1図でメモIJ MgMのいずれかのプロ、りから読
出された命令は命令レジスタREGIに取り出され、そ
のうちのアドレスはアドレス生成回路C0NV、生成ア
ドレスレジスタRIG、、命令アドレスレジスタREG
、を通して再びメモリMEMのアクセスに用いられる。In Fig. 1, an instruction read from any of the memory IJ MgM processors is taken out to the instruction register REGI, and the addresses of these are address generation circuit C0NV, generation address register RIG, instruction address register REG.
, is used again to access the memory MEM.
該アドレスがオプションプログラムへの分岐アドレスで
ないときはアドレス生成回路C0NVi素通シする。こ
れに対し鋏分岐アドレスであるときは副メモリプロ。If the address is not a branch address to the option program, address generation circuit C0NVi is passed through. On the other hand, when it is a scissors branch address, it is a secondary memory processor.
りB Ll e B Lm e−一の実装情報C1e
C1e・・−・−に応じて修飾される。メモリMKMか
ら取り出し友アドレスがオプションプログラムへの分岐
アドレスであるか否かおよびどのオプションプログラム
への分岐アドレスであるかは命令レジスタREG、内の
オペレージ、ンコー)’OPt命令デコード回路DEC
でデコードして見れば分かる。そして、該分岐アドレス
であることが分ったときは、当該側メモリブロックへジ
ャンプの九めのアドレス修飾を行なう。この目的で命令
のアドレス部にはオプションプログラムのためのアドレ
ス部opt f設ける。領斌ムR1から取出し友命令の
aptllltf例えば0としておき、このアドレス*
pt=Oがオプシ。Implementation information for B Ll e B Lm e-1 C1e
Modified according to C1e...-. Whether the address taken out from memory MKM is a branch address to an option program and which option program it is is determined by the operation code in the instruction register REG.'OPt instruction decode circuit DEC.
You can see it by decoding it. When it is determined that the branch address is the branch address, the ninth address modification for jumping to the memory block on the corresponding side is performed. For this purpose, an address section optf for an option program is provided in the address section of the instruction. For example, set the aptlllltf of the friend command to be fetched from the domain R1 to 0, and use this address *
pt=O is optional.
ンプログラム実装有抄により変更されるようにする。Changes may be made depending on the implementation of the program.
第2図はアドレス生成回路C0NVの具体例である。命
令レジスタREGIはオペレージ、ンコードOPが書込
まれる部分とネタストアドレスが書込まれる部分との間
に1〜数ビツトの余剰ビットを有し、実際にメモリMi
l:Mから読み出し友命令の前記アドレス部tを格納す
る。本例ではネタストアドレスは4ビy)b・〜b3、
追加される關メモリプロ、り数を5として、5ビツトの
アドレスビット(・pt)ba〜b@t’用意する。こ
の付加ビットb4〜b−はオアゲートOR,〜OR,’
i通して生成アドレスレジスタREGmK入力する様に
する。これに対し本来のネクストアドレスb・〜bsは
スルーでVジスタRKGmeC入力する様にする。オア
ゲートORI〜OR,の他方の入力はアントゲ−トムN
D、〜ムND、の出力である。このアンドゲートAND
1〜AND3はオペレージ、ンコードOPが分岐命令で
ないときはデコード回路DECKよりて全て閉じている
ので、レジスタRBG、への入力b4〜b−はオール@
0“である。つまり、レジスタRIG、内のアドレスが
分岐アドレスでないとき該アドレスは、このアドレス生
成回路C0NVにおいて何ら修飾されない。FIG. 2 shows a specific example of the address generation circuit C0NV. The instruction register REGI has one to several extra bits between the part where the operation/encode OP is written and the part where the netast address is written, and the memory Mi
l: Stores the address part t of the read friend instruction from M. In this example, the netast address is 4bit y) b・~b3,
Assuming that the number of memory processors to be added is 5, 5 address bits (pt) ba to b@t' are prepared. These additional bits b4 to b- are OR gates OR, ~OR,'
The generated address register REGmK is input through i. On the other hand, the original next address b.about.bs is input through the V register RKGmeC. The other input of the OR gate ORI~OR is the antgame N
This is the output of D, ~ ND. This and gate AND
1 to AND3 are all closed by the decode circuit DECK when the operation code OP is not a branch instruction, so the inputs b4 to b- to the register RBG are all @
0". In other words, when the address in register RIG is not a branch address, the address is not modified in any way by this address generation circuit C0NV.
これに対し、オペレージ、ンコードOPが分岐命令であ
るとデコード回路DECはそれがどのオプションプログ
ラムに関するものかを解読し、アントゲ−)ANDs〜
ANDIのいずれか1つだけt開とする。アントゲ−ト
ムNDI〜ANDIの他方の入力には異なるオプシ、l
/プログラムを格納し九副メモリブロックRLI〜BL
Iの実装情報C1〜CIが導びかれる。この実装情報C
1〜Csは副メモリプロ、りBLI〜BLst実装し九
ときにプリント基板とコネクタの結合状態で発生される
信号、或いはプリント基板に予め設けられた識別信号発
生部からの信号(プリント板を挿込むことによシこの信
号が送出される)であシ、例えば未実装時には“0”、
実装時に@1′となる様に定めておく。この様にすれば
副メモリプロ、りBL、が実装されるとCI=1となる
ので、レジスタREG、内にオプションプログラム1に
対する分岐命令が取り込まれたときはアンドゲートAN
DIが開となって付加ビットb4〜b6のうちb4が“
1″になる。同様にして副メモリブロックBL、が実装
されている場合には0s−1となるので、レジスタRI
G、にオプションプログラム2に対する分岐命令が取り
込まれた時はアントゲ−)AND、が開となってす、=
1となる。下表はこのアドレス生成回路C0NVによる
分岐アドレスの修飾状態を示すものである。On the other hand, if the operation, code OP is a branch instruction, the decoding circuit DEC decodes which option program it relates to, and
Only one of ANDI is left open. The other input of Antogame NDI to ANDI has different options, l
/Nine secondary memory blocks RLI to BL for storing programs
Implementation information C1 to CI of I is derived. This implementation information C
1 to Cs are sub-memory processors, and signals generated when the printed circuit board and connector are connected when BLI to BLst are mounted, or signals from the identification signal generator provided in advance on the printed circuit board (when the printed circuit board is inserted). (This signal is sent by inserting the
Set it to be @1' during implementation. In this way, when the sub-memory program, BL, is implemented, CI=1, so when the branch instruction for option program 1 is taken into the register REG, the AND gate AN
DI is open and b4 of additional bits b4 to b6 becomes “
Similarly, if the secondary memory block BL is installed, it becomes 0s-1, so the register RI
When the branch instruction for option program 2 is taken into G, the Android ()AND is open.=
It becomes 1. The table below shows the modification state of branch addresses by this address generation circuit C0NV.
上表に示されるように基本プログラムは、アドレスの上
位3ビ、トは000に固定され下位4ビ、トを0000
から1111まで変えて主メモリプロ、りBLIIをア
クセスして得られる。これに対しオプションプログラム
1はアドレスの上位3ビ、トを001に固定し、下位4
ビ、トを0000〜1111内で変えて副メモリブロッ
クBL1fアクセスして得られ、多グシ、ンプログラム
2はアドレスの上位5ビ、トt−010にし、下位4ピ
ツ)t−0000へ1111内で変えて副メモリプロ、
りBL、全アクセスして得られ、上記表には示さないが
オプションプレグラム3などもこれに準する。As shown in the table above, the basic program sets the upper 3 bits of the address to 000, and the lower 4 bits to 0000.
to 1111 and access the main memory program, BLII. On the other hand, option program 1 fixes the upper 3 bits of the address to 001 and the lower 4 bits.
It is obtained by accessing the sub memory block BL1f by changing the bits and bits within 0000 to 1111, and the multi-sign program 2 sets the upper 5 bits of the address to t-010, and the lower 4 bits) to t-0000 to 1111. Change it with Vice Memory Pro,
This is obtained by fully accessing the BL, and although not shown in the table above, option program 3 and the like also apply.
かかるアドレス生成回路C0NVi用いれば、第1図で
主メモリブロックBL・の例えば領域Actアクセスす
る分岐アドレスを、副メモリプロ、りBL、を実装し九
ときはそのオプシ、ンプ四グラムの先頭領域AR*tア
クセスする様に修飾することがでキ(他のオプションプ
ログラムについても同様)、オプションプログラムを基
本プログラムに結合する際に別途に処理プログラムを必
要と1.ない。If such an address generation circuit C0NVi is used, the branch address to be accessed, for example, the area Act of the main memory block BL in FIG. *It is possible to modify the program so that it is accessed (the same applies to other optional programs), and a separate processing program is required when connecting the optional program to the basic program.1. do not have.
以上述べたように本発明によれば、オプシ、/プログ2
ムへの分岐アドレスを処理プログラムケ要することなく
簡易に生成できる利点がある。As described above, according to the present invention, the option, /prog2
This has the advantage that a branch address to a system can be easily generated without requiring a processing program.
第1図は本発明の一実施例を示す概略ブロック図、第2
図はアドレス生成回路の具体例を示す構成図である。
図中、BLoは主メモリプロ、り、BL鳳IBL!は副
メモリブロック、C0Nvはアドレス生成回路、CI
+ CBは実装情報である。
出願人 富士通株式会社
代理人弁理士 青 柳 稔第1図
¥EM
第2図FIG. 1 is a schematic block diagram showing one embodiment of the present invention, and FIG.
The figure is a configuration diagram showing a specific example of an address generation circuit. In the figure, BLo is the main memory pro, BL Otori IBL! is the sub memory block, C0Nv is the address generation circuit, CI
+ CB is implementation information. Applicant Fujitsu Ltd. Representative Patent Attorney Minoru Aoyagi Figure 1¥EM Figure 2
Claims (1)
てオプションプログラムを格納しり副メモリブロックを
必要に応じて追加されるメモリを備え得る電算機システ
ムでの基本プログラムにおける分岐アドレス生成方式に
おいて、基本プログラムからオプションプログラムへの
分岐命令の分岐先は、対応する副メモリプロ、りが未実
装のものは主メモリーブロック内の所定位置とし、該副
メモリプロ、りが実装された状態である場合はその実装
情報t−皐す入れて前記分岐部の命令のアドレス部ヲ、
核副メモリプロ、りをアクセス可能ニ修飾され友形態と
することを特徴とする分岐アドレス生成方式。In the branch address generation method in the basic program of a computer system, the main memory block that stores the basic program, the main memory block that stores the program, and the sub-memory block that stores the optional program can be added as needed. The branch destination of a branch instruction to a program is a specified location in the main memory block if the corresponding sub-memory program is not implemented, and if the sub-memory program is installed, its implementation information Insert the address part of the branch instruction,
A branch address generation method characterized in that a core sub-memory processor is made accessible and in a friend form.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9920481A JPS581245A (en) | 1981-06-26 | 1981-06-26 | Branch address producing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9920481A JPS581245A (en) | 1981-06-26 | 1981-06-26 | Branch address producing method |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS581245A true JPS581245A (en) | 1983-01-06 |
JPH0323938B2 JPH0323938B2 (en) | 1991-04-02 |
Family
ID=14241114
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9920481A Granted JPS581245A (en) | 1981-06-26 | 1981-06-26 | Branch address producing method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS581245A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000072311A3 (en) * | 1999-05-21 | 2001-05-31 | Infineon Technologies Ag | Method and device for branching during the processing of a program by a processor |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS52136535A (en) * | 1976-05-11 | 1977-11-15 | Sanyo Electric Co Ltd | Microprogram control system |
JPS5330843A (en) * | 1976-09-03 | 1978-03-23 | Hitachi Ltd | Execution address control unit |
JPS5468133A (en) * | 1977-11-11 | 1979-06-01 | Hitachi Ltd | Address self restoration unit of computer system |
JPS5583945A (en) * | 1978-12-19 | 1980-06-24 | Ricoh Co Ltd | Abnormal action preventing system for unit controlled by microcomputer |
-
1981
- 1981-06-26 JP JP9920481A patent/JPS581245A/en active Granted
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS52136535A (en) * | 1976-05-11 | 1977-11-15 | Sanyo Electric Co Ltd | Microprogram control system |
JPS5330843A (en) * | 1976-09-03 | 1978-03-23 | Hitachi Ltd | Execution address control unit |
JPS5468133A (en) * | 1977-11-11 | 1979-06-01 | Hitachi Ltd | Address self restoration unit of computer system |
JPS5583945A (en) * | 1978-12-19 | 1980-06-24 | Ricoh Co Ltd | Abnormal action preventing system for unit controlled by microcomputer |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000072311A3 (en) * | 1999-05-21 | 2001-05-31 | Infineon Technologies Ag | Method and device for branching during the processing of a program by a processor |
Also Published As
Publication number | Publication date |
---|---|
JPH0323938B2 (en) | 1991-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4616313A (en) | High speed address calculation circuit for a pipeline-control-system data-processor | |
JPH0248931B2 (en) | ||
EP0125855A2 (en) | Buffer-storage control system | |
CA1037159A (en) | Processing link control system for data processing equipment | |
US5125097A (en) | Data flow type information processors where data packets pass through plurality of merging and branching portions of the internal path | |
KR920004279B1 (en) | Microprocessor with pointer register | |
JPS6042966B2 (en) | data processing system | |
JPS581245A (en) | Branch address producing method | |
JPS6049340B2 (en) | Branch instruction prefetch method | |
JPH01183736A (en) | Information processor | |
JPS6217773B2 (en) | ||
JPS58181152A (en) | Debugging system of data processing device | |
JPS6116334A (en) | Data processor | |
JPS6112579B2 (en) | ||
JPS6286442A (en) | Data processor | |
JPH0546389A (en) | Parallel processor | |
JPS6047617B2 (en) | information processing equipment | |
JPS59167764A (en) | Memory access system | |
JPH02249027A (en) | Instruction fetch decoder | |
JPS5998253A (en) | Microprogram controller | |
JPH0128965B2 (en) | ||
JPS6158042A (en) | Microprogram control system | |
JPS6031646A (en) | Data processor | |
JPS63317857A (en) | Memory access circuit | |
JPH0553804A (en) | Parallel processor |