JPS5894038A - Storing device of register group - Google Patents

Storing device of register group

Info

Publication number
JPS5894038A
JPS5894038A JP19051681A JP19051681A JPS5894038A JP S5894038 A JPS5894038 A JP S5894038A JP 19051681 A JP19051681 A JP 19051681A JP 19051681 A JP19051681 A JP 19051681A JP S5894038 A JPS5894038 A JP S5894038A
Authority
JP
Japan
Prior art keywords
register
stack
contents
area
circuit
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
Application number
JP19051681A
Other languages
Japanese (ja)
Other versions
JPS6240736B2 (en
Inventor
Koichi Tsukizoe
築添 弘一
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
NEC Corp
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 NEC Corp, Nippon Electric Co Ltd filed Critical NEC Corp
Priority to JP19051681A priority Critical patent/JPS5894038A/en
Publication of JPS5894038A publication Critical patent/JPS5894038A/en
Publication of JPS6240736B2 publication Critical patent/JPS6240736B2/ja
Granted 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/46Multiprogramming arrangements
    • G06F9/461Saving or restoring of program or task context

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 perform a recovery process at a high speed, by providing the 2nd register stack and have a quick transfer of the contents of a register group to the 1st register stack with each switch of process. CONSTITUTION:The 2nd register stack 62 can store plural register groups of a process which executed previously an instruction, a process which is under execution and a process to be executed next, respectively. In the normal execution mode of instruction, the arithmetic result is written concurrently to the 2nd register stack 62 when a read/write instruction given from the 1st register stack 61 is executed. When a process is switched, the contents of the register group of the next process of the register stack 62 are transferred to the register stack 61 to execute an instruction. At the same time, the contents of the register group corresponding to the next process are written to another area of the stack 62 from the shunt area of a main storage device 1.

Description

【発明の詳細な説明】 本晃明は、針J1機システムの中央処iM装置で演算に
使用されるレジスタ群が、プログラムの処理単位である
プロセス毎に1組ずつ定義されてそれぞれ主紀憶装瀘内
のプロセスごとに対応して設けらt′L九レジしタ退避
エリアVC退避格′網が口」能であり、複数個の実行可
能状−にあるプロセスのうち、同時にはl@Oプロセス
を実行するlJ1機システムムにおけるレジスタ群貯蔵
装置に関し、特に、プロセス切替時のレジスタl#に対
する1lFIJ#に関する。
DETAILED DESCRIPTION OF THE INVENTION In this invention, a group of registers used for calculations in the central processing iM device of the Needle J1 machine system is defined one set for each process, which is a processing unit of a program, and each register is used as a main memory. A register save area VC save area is provided corresponding to each process in the register, and among multiple processes in an executable state, l@O This invention relates to a register group storage device in an IJ1 machine system that executes a process, and particularly relates to IFIJ# for register I# at the time of process switching.

従来、この棟のシステム#i論1図にボすように構成烙
れている。すなわち、主記憶装置lは、命令およびオペ
ランドと、複数組のレジスタ群の各内容に対する退避デ
ータとを記憶している。上記1組のレジスタ群の内容は
、1つのプロセスに対応している。中央処理妓112U
、命令フェッチ装置3.命令実行装置1114およびレ
ジスタ群貯蔵装置5等から構成される。レジスタ群貯蔵
装置5は、実行中のプロセスに対応し九1膨のレジスタ
群を貯蔵するレジスタスタック51と、該レジスタスタ
ック51の絖出しおよび豊込みのためのアドレス虻供給
するアドレスレジスタ52とから構成されている。上記
レジスタスタック51は、通常主記憶アドレスのベース
アドレスを保持する16個のベースレジスタ(HRQ〜
Bル15)と、主記憶アドレスの指嫌アドレスおよび演
算に使用されるデータを保持する16個の汎用レジスタ
((jkLθ〜(jRts)を有する。
Conventionally, this building's system #i theory has been configured as shown in Figure 1. That is, the main memory device l stores instructions, operands, and save data for each content of a plurality of register groups. The contents of the above set of registers correspond to one process. Central processing girl 112U
, instruction fetch device 3. It is composed of an instruction execution device 1114, a register group storage device 5, and the like. The register group storage device 5 includes a register stack 51 that stores 91 register groups corresponding to a running process, and an address register 52 that supplies addresses for starting and enriching the register stack 51. It is configured. The register stack 51 normally includes 16 base registers (HRQ to
15) and 16 general-purpose registers ((jkLθ to (jRts)) that hold the main memory addresses and data used in calculations.

前記命令フェッチ装置it3/fi命令を主記憶装置1
よりフェッチするとともに解読し、メモリオペランドお
よびレジスタオペランドを準備する。メモリオペランド
の単一とは、命令で指定さオしたベースレジスタおよび
汎用レジスタの内容をアドレスレジスタ52に介してレ
ジスタスタック51から絖出し、これらの内容と命令内
の変位フィールドの内容との3個のデータを演算するこ
とKより主記憶アドレスを求め、主起tik!電lヘロ
ードアクセス賛求を発生することである。lた、レジス
タオペランドの準備とは、命令で指定された汎用レジス
タの内容を、アドレスレジスタ52t−介してレジスタ
スタック51から絖出し、この続出しデータが鮎令夾行
装置4で受取られることである。
The instruction fetch device it3/fi instruction is sent to the main memory device 1.
Fetches and decodes the memory operands and prepares the register operands. A single memory operand means that the contents of the base register and general-purpose register specified by the instruction are retrieved from the register stack 51 via the address register 52, and the contents of the base register and general-purpose register specified by the instruction are retrieved from the register stack 51, and the contents of the three contents and the contents of the displacement field in the instruction are extracted. The main memory address is obtained from K by calculating the data of tik! The goal is to generate access to electricity. Preparation of the register operand means that the contents of the general-purpose register specified by the instruction are read out from the register stack 51 via the address register 52t, and this successive data is received by the Ayu-ryo compensation device 4. be.

域令夷打快随4での演算結果は、命令フェッチ装置t3
からアドレスレジスタ52を介して与えられたレジスタ
スタック51のアドレス位置へ格納される。
The result of the calculation in the area 4 is sent to the instruction fetch device t3.
is stored in the address position of the register stack 51 given via the address register 52.

命令フェッチ装置[3において、人出方+bll #装
置などの他プロセツサからの割込÷、若しくは謔令夾行
中の例外検出による割込又は命令解d等により、プロセ
スの切替えか必賛になった場合は、まず実行中でおった
プロセスに対応(7だレジスタ群であるレジスタスタッ
ク51の内容を、主記憶装置l内のあらかじめプロセス
対応ににめられたエリアへ過避場せ、次に新しく実行す
べきプロセスに対応したレジスタ群の内容を主起u1装
置l内のI&il当退避エリアからレジスタスタック5
1へ5t−(すなわち回復する)ことが必喪である。こ
のレジスタ群の退避お↓び回復の動作を第2図に下すタ
イムチャートを参照してa明する。先ず、レジスタスタ
ック5xo16(10ペースレジス/ (880〜BR
I 5)および16澗の汎用レジスタ(qル0〜*aI
S> 、合計3211Iのレジスタの内容を鵬次主記惜
装置lへ書込み退避させる。次いで主記憶装置llから
レジスタスタック51の32個のレジスタ(BRO〜B
ル15.G几0〜GR15)へ新しいプロセスに対応す
る主記憶装置の退避エリアから順次読込み回復する。す
なわち、退避処理および回復処理のために、32回の主
記憶装置への書込みと、32[glの主記憶装置からの
読出1.#作が必要である。すなわち、第1図に示した
ような従来のレジスタ群貯蔵装置5を用い友1ts(2
)システムでtま、プロセスの切替eC多大の時間ヲ賛
するという欠点がある。このプロセス切替KJMする時
間は、基本命令の処理に賛する時間に比して、lO〜1
00倍程度を貴し、システムの性能を着しく低ヤーさせ
る豊凶となる。
In the instruction fetch device [3, the process is switched or required due to interrupts from other processors such as turnout + bll # device, or interrupts due to exception detection during execution of instructions, or instruction dissolution d, etc. In this case, first, the contents of the register stack 51, which is a group of registers corresponding to the currently running process (7), are saved to an area in the main memory l that has been designated for the process, and then The contents of the register group corresponding to the new process to be executed are transferred from the I&IL save area in the main device U1 to the register stack 5.
5t- (i.e., recovery) to 1 is a must. The operation of saving and restoring this register group will be explained with reference to the time chart shown in FIG. First, register stack 5xo16 (10 pace regis/(880~BR
I 5) and 16 general-purpose registers (ql 0 to *aI
S>, the contents of the registers totaling 3211I are written and saved in the storage device l. Next, 32 registers (BRO to B
15. GR0 to GR15) are sequentially read and recovered from the save area of the main memory corresponding to the new process. That is, for save processing and recovery processing, there are 32 writes to the main memory and 32 reads of 1.gl from the main memory. #Creation is necessary. That is, using the conventional register group storage device 5 as shown in FIG.
) system has the disadvantage that it takes a lot of time to switch processes. The time required for this process switching KJM is lO~1 compared to the time spent processing basic instructions.
00 times higher, which has the advantage of significantly lowering the performance of the system.

−力、上述の欠点を改良し、プロセス処理の切替えに際
し、レジスタ群の過避熟虐に景する時間を実質的に零と
することか可能なレジスタ群貯蔵装置が提案されている
。この貯蔵mtilL、実行中ρプロセスに対応する1
組の前記レジスタ群の内容を貯蔵するMlのレジスタス
タッタと、上記実行中のプログラムに対応する1組のレ
ジスタ群の内容および以前に実行中でbつ九1組のレジ
スターの内容とを貯蔵できる2つのエリアを有−ノる第
2のレジスタスタッタと、これら#!lおよび論2のレ
ジスタスタックへの続出し書込みのための′γドレス情
報、退避先エリア先鎮アドレスi’*m、回復開始指示
信号等を鹸配謔令フェッチ装置から受けてこれらの動作
を制御するレジスタ群制御1111回路とを備えて、命
令の実行に使用されるし/スタオベランドFi@配線令
フェッチ装置から与えられるレジスタアドレス情報によ
シ前記j1!1のレジスタスタックから繭配命令実行M
WK銃出され、演算結果は前記命令フェッチ装置から与
えられるレジスタアドレス情報によシ前記第1のレジス
タスタックシよび$2のレジス・タスタックの1つのエ
リアの対応位置に同時に格納され、#J配命令7エツチ
装置からプロセス切替処理のための回復開始指示16号
が与えられると、Itl主記憶装置の咳歯過避エリアか
ら続出された対応する1組のレジスタ群内容を前記第1
のレジスタスタックおよび第2のレジスタスタックの上
記と異なるもう1つのエリアに同時に格納し、前記命令
7エツテ装置から与えられるプロセス切替終了16号に
より、新しいプロセスに対する命令の実行と並行して前
記第2のレジスタスタックの以前実行中でめつ九プロセ
スに対応し′fic1つのエリアに格納されている1組
のレジスタ群の内容を順次送出してilr記主船主記憶
装置当退避エリアへ退避させるように構成されている。
A register group storage device has been proposed which improves the above-mentioned drawbacks and makes it possible to substantially eliminate the time required for register groups to be overused when switching processes. This storage mtilL, 1 corresponding to the running ρ process
a register stutter of M1 that stores the contents of a set of the register groups; a register stutter of M1 that stores the contents of a set of register groups corresponding to the program being executed; and contents of a set of registers that are previously being executed; A second register stutter with two areas that can be used and these #! These operations are performed by receiving the 'γ address information for successive writing to the register stack in logic 1 and logic 2, the evacuation destination area pre-address i'*m, the recovery start instruction signal, etc. from the distribution instruction fetch device. It is equipped with a register group control 1111 circuit to control, and is used to execute instructions. M
WK is issued, and the operation result is simultaneously stored in the corresponding position of the first register stack and one area of the $2 register stack according to the register address information given from the instruction fetch device. When a recovery start instruction No. 16 for process switching processing is given from the instruction 7 etching device, the contents of a corresponding set of register groups successively retrieved from the cough tooth evacuation area of the Itl main memory are stored in the first
and another area different from the above of the second register stack, and in parallel with the execution of the instruction for the new process, the second The contents of a set of registers stored in one area of ``fic'' corresponding to the Metsu9 process during previous execution of the register stack are sequentially sent out and saved to the save area of the ilr owner's storage device. It is configured.

第3図は、上述のり置場れた貯蔵#critの一例を示
すブロック図である。すなわち、レジスタ群貯蔵装置1
1t6は、32個のレジスタを有する第1のレジスタス
タック61と、64個のレジスタを有するJig2のレ
ジスタスタック62と、これらレジスタの内容の退避1
回復を11制御するレジスタ群制御回路63とからMl
成される。上記絽lのレジスタスタック61は、実行中
のプロセスに対応した1組のレジスタ群の内容を格納す
る16個のペースレジスタと16個の汎用レジスタとを
肩し、32ワード×4バイトのデータを貯蔵することが
できる。また、第2のレジスタスタック62Fi、64
ワード×4バイトのデータを貯蔵可能であり、上述の実
行中のプロセスに対応する1組のレジスタ群と、直前の
実行プロセスに対応する1ffiのレジスタ群の内容と
を貯蔵する2つのエリアを有する。
FIG. 3 is a block diagram showing an example of the storage #crit described above. That is, register group storage device 1
1t6 includes a first register stack 61 having 32 registers, a Jig2 register stack 62 having 64 registers, and a save 1 of the contents of these registers.
From the register group control circuit 63 that controls the recovery
will be accomplished. The above-mentioned register stack 61 carries 16 pace registers and 16 general-purpose registers that store the contents of a set of registers corresponding to the running process, and stores 32 words x 4 bytes of data. Can be stored. Also, the second register stack 62Fi, 64
It can store data of word x 4 bytes, and has two areas for storing one set of registers corresponding to the above-mentioned executing process and the contents of 1ffi register group corresponding to the immediately previous executing process. .

レジスタ群制ml路63#i、これらのレジスタスタッ
ク61および62への命令実行に丈用されるレジスタオ
ペランドの読出しおよび膏込みの走めのアドレスを供給
し、プロセス切替処理の終r俵に通常の命令の処理と並
行して第2のレジスタスタック62の1つの工、リアに
格納されている旧プロセスに対応し良しジスタ解の内容
を主記憶装置lへ退避させるように制御する。
The register group control ML path 63#i supplies the read and write addresses of register operands used for instruction execution to these register stacks 61 and 62, and is normally used at the end of process switching processing. In parallel with the processing of the instruction, the contents of the register solution corresponding to the old process stored in the second register stack 62 are controlled to be saved to the main storage device l.

上述の貯戚妓tILは、通常の*貧の処理中には、レジ
スタ内容の貌出しは論1のレジスタスタック61から行
なわれ、命令実打執1a14での演算結果に、第1およ
び第2のレジスタスタックの双方へ41皐込まれる。第
2のレジスタスタック62は、前述し友ように2つのエ
リアt−自し、いずれか一方のエリア#は実行中のプロ
セスに対応していて第1のレジスタスタック61と同じ
内容を有し、第1のスタック61と同時に内容が書き瞥
見られる。他方のエリアにFi1回前に実行中であった
プロセスに対応し九レジスタ群の内容が貯蔵されている
。上記2つの1リアは、プロセスの切替ごとに交互に切
替えられる。
In the above-mentioned storage system tIL, during normal processing, register contents are revealed from the register stack 61 of theory 1, and the first and second register contents are 41 are stored in both register stacks of the register stack. As mentioned above, the second register stack 62 has two areas t and one of the areas # corresponds to the process being executed and has the same contents as the first register stack 61. The contents of the first stack 61 can be written and viewed at the same time. The contents of a group of nine registers corresponding to the process that was being executed one time before Fi are stored in the other area. The above two 1reas are alternately switched every time the process is switched.

第4図は、プロセス切替時における上記レジスタ群貯蔵
装置の動作を示すタイムチャートである。
FIG. 4 is a time chart showing the operation of the register group storage device during process switching.

プロセス切曽処鳩時(同国時刻■〜■)において、主起
t4を装fl 1内のν[シく実行するプロセスに対応
したレジスタ群の内容は、BルOから順次読み出され、
(M3図の)岐令実行装置4會介して第1および第2の
レジスタスタック61および62(−力のエリア)tC
誉注込まれる。すなわち レジス) クリ回復処理が行なわれる。このとき第2のレジスタス
タック62の他方のエリアには、直前に実行されていた
プロセスに対応するレジスタ群の内容が残されている。
At the time of process Kiriso (from ■ to ■ in the same country), the contents of the register group corresponding to the process to be executed in fl1 with main origin t4 are sequentially read from B to O.
The first and second register stacks 61 and 62 (-area of power) tC
Honor is poured out. In other words, (Regis) recovery processing is performed. At this time, the contents of the register group corresponding to the process that was executed immediately before remain in the other area of the second register stack 62.

そして、時刻■でレジスタの回復処理が元rしたのち、
命令の真性と平行して、第2のレジスタ6・2の上記北
方のエリアに格納されている直−Uのプロセスに対応す
るレジスタ群の内容の退避が行なわれる。すなわち、時
A11(J〜(りの間に上mlエリアの内容がBル0か
ら順次主ml儂挾置l内の対一応エリアへ転送される。
Then, after the register recovery process is completed at time ■,
In parallel with the authenticity of the instruction, the contents of the register group corresponding to the direct-U process stored in the north area of the second register 6.2 are saved. That is, during times A11 (J~(), the contents of the upper ml area are sequentially transferred from B 0 to the corresponding areas in the main ml interpolation l.

上述の動作によりプロセス切替処理に賛する時間が、実
質的にはレジスタの回復処理に資する時間の与となり、
退避動作の時間は考慮する必蒙がない。すなわち、前述
の従来例に比して約2倍の^連化が達成される。しかし
、基本醋令の実行時間との間には未だ大急な差があり、
システムの性能會劣化させる大きな資因となっている。
Due to the above-described operation, the time used for process switching processing essentially becomes time contributing to register recovery processing, and
There is no need to consider the time for evacuation. In other words, approximately twice as much linkage as in the conventional example described above is achieved. However, there is still a huge difference in the execution time of the basic edict.
This is a major cause of deterioration in system performance.

本発明の目的は、上述の従来の欠点を解決し、プロセス
切替処理rC&けるレジスータ群の回復処理をaJ能な
限り尚連化し、システム性能への影響を最小限りこする
ことができるレジスタ群貯蔵装置を提供することKある
It is an object of the present invention to solve the above-mentioned conventional drawbacks, to unify the process switching process and register group recovery process as much as possible, and to store register groups that can minimize the impact on system performance. There is a need to provide equipment.

本発明の貯蔵装置は、命令のフェッチ装置と、#嗜寮行
#cliI[と、レジスタ群貯蔵装置とを内戚して、主
記憶装置から命令を7エツチ、解読し、命令の実行およ
び部会の′ps絖や割込により起動されるプロセスの切
替処理を行ない、プログラムの処8!単位モめるグロセ
ス毎に演其に使用される1組のレジスタ群の内容を主起
w装置の谷プロセスに対応して設けられ九レジスタ退避
エリアから続出して一紀しジスタ群貯JR装置に@納さ
せ、かつ咳しジスタ群貯蔵装置に格納されていた以前に
実行中のプロセスに対する1組のレジスタ群の内容をp
A把王配置ム装置の対応するレジスタ退避エリアにa斑
させるようにして、夾村uj能状態にある複数のプロセ
スのうち同時に會11個のプロセスを実何する中央処a
!装置のレジスタ評貯戚装置において、実行中のプロセ
スに対応する1組のIIU記レジしタ群の内容を貯蔵す
る第1のレジスタスタックと、上記実行中のプロセスに
対応する1組のレジスタ群の内容および以前に実行中で
あった1組のレジスタ群の内容並びに次に実行すべきプ
ロセスに対応するレジスタ群の内容とを貯蔵できる複数
のエリアを有する第2のレジスタスタックと、繭記匍令
フェッチ装置からのレジスタアドレス情報等によって前
記謳1および第2のレジスタスタックへのアドレス指示
を行ない後記する′w理開回路らの実行エリアアドレス
情報又は転送アドレス情報によって前記第2のレジスタ
スタックのエリアを指示シてfiJ紀第2のレジスタス
タックの誓込み又は続出しを制御し、かつ前記第2のレ
ジスタスタックかう前記第1のレジスタスタックへの1
俵動作の終了によシ回v1終了イ6号を送出し前記第2
のレジスタスタックへの主記憶装置からの転送終fによ
り転送終了16′@を出す制御回路と、前記制御回路か
らの回復終了信号によりメモリアクセス信号を送出し上
記回復終了後に主ml憶装置からのメモリ終了信号を受
けると次りロセス決定偏号を送出する次プロセス決定回
路と、前記第2のレジスタスタックの複数のエリアに対
応して設けられ−これらの各エリアに格納されているレ
ジスタ11’pK対応するプロセス4に号tX録する複
数のスタック管理レジスタを内蔵し命令フェッチ装置か
らのプロセス情報又は主記憶装置からの続出しデータ中
のプロセス着号と上記スタック置場レジスタの内容と會
グロセス切誉指示信号又は繭記次プロセス決’jt1g
号により比較した結果により実行中アドレス情報および
回復終了信号または転送エリアアドレス情報および転送
指示信号t−前記制御回路へ送出する管理回路とを備え
て、通常の命令実行時に14前記第1のレジスタスタッ
クから絖出して幀令が実行され、頂算結釆Vi前記第1
のレジスタスタックおよび前記第2のレジスタスタック
の1つのエリアに同時に格納し、プロセス切替時におい
ては前記第2のレジスタスタックの1つのエリアに格納
されている矢プロセスに対応するレジスタ群の内容をm
tt第1のレジスタスタッタへ転送して回復処理を完了
し、そのflk該ノロセスの実行と平行してその次に実
行すべき次プロセス査号全土紀憶装置から絖み出し該プ
ロセス4r号と削紀複畝のスタック管理レジスタの一致
の有無を慣出し、いずれとも不一致であるときは当該プ
ロセスのレジスタ群が退避されている主記憶装置の退避
正リア先頭アドレスから順次対応するレジスタ群の内容
を続出して前記第2のレジスタスタックのもう1つ別の
エリアに格納することを籍敞とする。
The storage device of the present invention includes an instruction fetch device, a register group storage device, and a register group storage device to fetch and decode instructions from the main memory, execute the instructions, and execute the instructions. It performs switching processing for processes started by 'ps' or interrupts, and the program's processing is performed 8! The contents of one set of register groups used for operation for each unit of gross processing are stored one after another from the nine register evacuation area provided corresponding to the valley process of the main device, and stored in the register group storage JR device. p and the contents of a set of registers for a previously running process that were stored in the registers storage.
A central processing unit that executes 11 processes at the same time among the plurality of processes that are in the active state by scattering them in the corresponding register save area of the A control device.
! A first register stack for storing the contents of a set of IIU register groups corresponding to an executing process, and a register group corresponding to the executing process, in the register storage unit of the apparatus. a second register stack having a plurality of areas capable of storing the contents of the process, the contents of a set of registers previously being executed, and the contents of a register group corresponding to the process to be executed next; Address instructions are given to the first and second register stacks using the register address information etc. from the instruction fetch device, and the address of the second register stack is given using the execution area address information or transfer address information of the Rika circuit, which will be described later. control the insertion or continuation of a second register stack by instructing an area; and
At the end of the bale movement, send out No. 6 to end v1 and send out the second
A control circuit outputs a transfer end signal 16'@ at the end of transfer from the main memory to the register stack f, and a memory access signal is sent out in response to the recovery end signal from the control circuit, and after the completion of the recovery, the control circuit outputs a transfer end signal 16'@. A next process determining circuit that sends out a next process determining code upon receiving a memory end signal, and a register 11' provided corresponding to a plurality of areas of the second register stack and stored in each of these areas. It incorporates a plurality of stack management registers whose numbers are recorded in the process 4 corresponding to pK, and the process number in the process information from the instruction fetch device or the successive data from the main memory, the contents of the stack location register, and the meeting gross cut. Homare instruction signal or Mayu record next process decision'jt1g
and a management circuit that sends execution address information and a recovery end signal or transfer area address information and transfer instruction signal t to the control circuit according to the result of the comparison between the first register stack and the first register stack during normal instruction execution. The order is executed from the beginning, and the first calculation is completed.
The contents of the register group corresponding to the arrow process stored in one area of the register stack and the second register stack at the same time are stored in one area of the second register stack at the time of process switching.
tt is transferred to the first register stutter to complete the recovery process, and in parallel with the execution of the flk process, the next process code to be executed next is retrieved from the entire storage device and the process 4r. Determine whether or not the stack management registers of the stack management register match, and if they do not match, the contents of the corresponding register group are sequentially read from the save front rear start address of the main memory where the register group of the process is saved. It is assumed that the data is successively stored in another area of the second register stack.

次に、本発明について、凶tmを参照して旺−に説明す
る。
Next, the present invention will be explained in detail with reference to the TM.

第5図は、本発明の一511!施例で弗るレジスタ朴貯
蔵、誠[6の他に、市令フェッチ狭1.f4令夾行#l
$1および主起1装−をも含む計鼻慎システムを   
□4くすブロック図である。すなわち、主記憶装置1t
lと中央処J!l装置1t2とから成シ、中央処理装置
2は線分フェッチ#装置3と命令実行装置4およびレジ
スタ紳貯戚装置6を含む。レジスタ群貯蔵装置6を除い
友構成は、前述の第1図又は第3図にボされた従来例と
四様である。レジスタ群貯蔵装置6は、1i41のレジ
スタスタック61.第2のレジスタスタック62.制御
回路631次プロセス決定回路65.管理回路66、f
i択回路601,602寺から構成される。
FIG. 5 shows one 511 of the present invention! In addition to register storage, Makoto [6, city ordinance fetch narrow 1. f4 Reiko #l
A system that includes $1 and one main unit.
□This is a block diagram of 4 plants. That is, the main storage device 1t
l and Chuojo J! The central processing unit 2 includes a line segment fetch unit 3, an instruction execution unit 4, and a register storage unit 6. Except for the register group storage device 6, the configuration is the same as that of the conventional example shown in FIG. 1 or FIG. 3 described above. The register group storage device 6 stores 1i41 register stacks 61. Second register stack 62. Control circuit 631 Next process determination circuit 65. Management circuit 66, f
It is composed of i selection circuits 601 and 602.

第1のレジスタスタック61は、実行中のプロセスに対
応するレジスタ群を貯蔵するレジスタで、32ワード×
4バイトの構成を持つ。そして、制御回路63から指示
されるアドレスの内容を続出して命令フェッチ装置3お
よび命令実行装置4に送り、選択−路601で選択され
九命令実行装置4の出力または第2のレジスタスタック
62の絖出しデータを指示されたアドレスに書き込む。
The first register stack 61 is a register that stores a group of registers corresponding to the running process, and is 32 words×
It has a 4-byte structure. Then, the contents of the addresses specified by the control circuit 63 are successively sent to the instruction fetch device 3 and the instruction execution device 4, and selected by the selection path 601 and output from the nine instruction execution device 4 or the second register stack 62. Writes the threading data to the specified address.

第2のレジスタスタック62Vi、上記嬉lのレジスタ
スタック62の4倍の容量、すなわち128ワード×4
バイトの構成を持ち、4つのエリアに分割されている。
The second register stack 62Vi has a capacity four times that of the first register stack 62, that is, 128 words x 4.
It has a byte structure and is divided into four areas.

各エリアの容置は32ワード×4バイトであり、それぞ
れのエリアに対して2ビツトのアドレスが削り当てられ
ている。上記4つのエリアのうち、1つFi実行中のプ
ロセスに対応するレジスタ群を貯蔵するエリアであり、
前記第1のレジスタスタックと同時に11き替えられる
The storage capacity of each area is 32 words x 4 bytes, and a 2-bit address is assigned to each area. Of the four areas mentioned above, one is an area that stores a group of registers corresponding to the process being executed.
11 is replaced simultaneously with the first register stack.

他の1つは直HVC実行されたプロセスのレジスタ群貯
蔵エリアであシ、残9の2′)のエリア甚は、次に実行
すべきノ゛ロセスのレジスタ群をあらかじめ貯蔵するた
めに使用される。選択回路602は、命令実行装置4の
出力又は主記憶装置lからの絖出しデータを択一的に選
択して上記第2のレジスタスタック62に与える。第2
のレジスタスタック62に誓込むべき番地およびエリア
指定は、制御回路63    ゛       から与
えられる。そして、次vc実行すべ専プロセスに対応す
るレジスタ群の内容は、あらかじめ主記憶装置lから転
送されて1つのエリアに1慎しておいて、プロセス切替
時に選択回路601を介して第1のレジスタスタック6
1へ転送する。これらの動作は制御回路639次プロセ
ス決定回路65.″#jjI/A&!!1路66等の協
ToKよって行なう。
The other area is the register group storage area for the process that is directly executed by HVC, and the remaining area 9(2') is used to store the register group for the next process to be executed. Ru. The selection circuit 602 selectively selects the output of the instruction execution device 4 or the start-up data from the main memory device 1 and supplies it to the second register stack 62 . Second
The address and area designation to be inserted into the register stack 62 are given from the control circuit 63'. Then, the contents of the register group corresponding to the next vc-dedicated process are transferred from the main memory 1 and stored in one area, and are transferred to the first register via the selection circuit 601 at the time of process switching. stack 6
Transfer to 1. These operations are performed by the control circuit 639 and the next process determining circuit 65. ``#jj I/A &!! 1st route 66 etc. ToK.

制a回路63t′i、Mlおよび第2のレジスタスタッ
ク61および62に対するアドレス1itl#、および
命令の実行とは独立に主記憶装置1ヘアクセスするため
の制御等を行なう回路であって、jlE6図K yr<
すように構成されている。すなわち、命令フェッチ装置
3からのレジスタアドレス情報71をレジスタアクセス
指示信号72によって格納するアドレスレジスタ631
9回復動作時等の萬2のレジスタスタックのアドレスを
与える良めの一復アドレスレジスタ637.上記両レジ
スタの出力を択一的に選択して第1のレジスタスタック
61に供給する選択回路632.第2のレジスタスタッ
ク62に供給するアドレスを選択する選択回路633、
管理回路66から与えられる実行エリアアドレス情報8
8または、転送エリアアドレス情報89 (2ビツト)
を択一的に選択出力して第2レジスタスタツク62の4
つのエリアのうち1つを指定する選択回路634.’!
理開回路66ら与えられる回復指示信号74をセットす
る回復指示レジスタ635.管理回路66から与えられ
る転送指示信号81をセットする転送指示レジスタb4
5.王記慣表置】がらの続出しデータ85の)°位24
ビット79および[!11定+m A並びに“+4′″
回@644の出力を人力し2、次プロセス決定回路65
から与えられる次プロセス次に16号8o又はアンド回
路641を介して与えられる回復完r値号によって、上
1人カ信号を択一的に選択出力してメモリアドレスレジ
スタ642に供給する選択回j1643.上記メモリア
ドレスレジスタ642゜該レジスタ642の内容を+4
する回路644゜回復アドレスレジスタ637のALL
 @1 ”を検出し、アンド回路641を介して回01
終了1g号75を出力させるALL@l”検出11NI
640.上紀各儲信号のアンド又はオアにより各徳レジ
スタのセット、リセット又は外S輌直に対する各種信号
を出力する多数のす子回路およびアンド回路等によって
m成さ・れている。オア回路648は、次プロセス決足
回路65からの次プロセス決定信号8o。
Control a circuit 63t'i, address 1itl# for Ml and second register stacks 61 and 62, and a circuit for controlling access to main memory 1 independently of instruction execution, and is shown in FIG. jlE6. K yr<
is configured to do so. That is, the address register 631 stores the register address information 71 from the instruction fetch device 3 in response to the register access instruction signal 72.
9. A good recovery address register 637 that provides the address of the 2000-200 register stack during recovery operations, etc. A selection circuit 632 that selectively selects the outputs of both the registers and supplies them to the first register stack 61. a selection circuit 633 that selects an address to be supplied to the second register stack 62;
Execution area address information 8 given from the management circuit 66
8 or transfer area address information 89 (2 bits)
is selectively outputted to the second register stack 62-4.
A selection circuit 634 for specifying one of the two areas. '!
A recovery instruction register 635 that sets a recovery instruction signal 74 provided from the logic circuit 66. Transfer instruction register b4 that sets the transfer instruction signal 81 given from the management circuit 66
5. [Ouki customary expression] Gara no Sudoku Data 85) ° position 24
Bit 79 and [! 11 constant +m A and "+4'"
2. Next process determination circuit 65
The selection circuit j1643 selectively outputs the upper one signal and supplies it to the memory address register 642 according to the next process number 16 8o given from the next process or the recovery completion r value given via the AND circuit 641. .. The above memory address register 642゜The contents of the register 642 are +4
All of the circuit 644゜recovery address register 637
@1” is detected and the output is 01 through the AND circuit 641.
ALL@l” Detection 11NI to output end 1g No. 75
640. It is made up of a large number of child circuits and AND circuits, etc., which output various signals for setting, resetting, or directing each virtue register by AND or OR of each value signal. The OR circuit 648 receives the next process determination signal 8o from the next process determination circuit 65.

アンド回路641の出力する回*軒r偏号75およびア
ンド回路647の出力1g号を人力するオア回路であシ
、それらの信号をliI記メセメモリアドレスレジスタ
6420セツト端子8える。アンド回路647ri、主
起憶装mlからのメモリ終了備考78と転送指示レジス
タ645の出力とを人力し、出力を前記オア(ロ)路6
48およびアンド回路6500Å力に*[する、アンド
回路650は、アンド−路647の出力とムLL”l″
慣出出回路640出力を人力し、転送終了信号82を送
出して當iIA回路66に送る。!友、メモリ終了信号
78とALL”l”検出回路640をアンド回路651
に入力させ、その出力で転送指示レジスタ645をリセ
ットさせる。転送指示レジスタ645の出力と次プロセ
ス決定回路65からのメモリアクセス信号76とはオア
回路646を介して主配議装置lへのメモリリクエスト
46号77とされる。
The output signal 75 of the AND circuit 641 and the output signal 1g of the AND circuit 647 are input by an OR circuit, and these signals are sent to the set terminal 8 of the memory address register 6420. The AND circuit 647ri manually inputs the memory end note 78 from the main memory device ml and the output of the transfer instruction register 645, and sends the output to the OR (b) path 6.
48 and the AND circuit 6500A, the AND circuit 650 connects the output of the AND circuit 647 and the output of the AND circuit 647.
The output of the output circuit 640 is inputted manually, and a transfer end signal 82 is sent to the iIA circuit 66. ! Friend, AND circuit 651 between memory end signal 78 and ALL "l" detection circuit 640
, and the transfer instruction register 645 is reset by its output. The output of the transfer instruction register 645 and the memory access signal 76 from the next process determining circuit 65 are passed through the OR circuit 646 as a memory request No. 46 77 to the main router l.

を九、転送指示レジスタ645の出力およびIgl傷指
不レジスタ635の出力はオア回路639を介して切替
回路633の切替制@信号とされる。ア> VIm路6
41 HALL、” 1″検1t1回路64011!1
01指ホレジスタ635の出力を人力とし、その出力は
@述の回復終r倍号75とされる。回復アドレスレジス
タ637の出力は、+1回w163gンCよって+1さ
れてレジスタ内科が+lされる。
(9) The output of the transfer instruction register 645 and the output of the Igl finger register 635 are passed through an OR circuit 639 to the switching circuit 633 as a switching @ signal. A> VIm road 6
41 HALL, "1" detection 1t1 circuit 64011!1
The output of the 01 finger register 635 is manually input, and the output is the recovery end r times number 75 mentioned in @. The output of the recovery address register 637 is incremented by +1 by w163gnC and the register internal medicine is incremented by +1.

以上の構成により、制#回路63の動作は以トのように
なる。常時は、命令フェッチ装置I/1.3からのレジ
スタアドレス情報71 iI(よって第lのレジスタス
タック61の書き込み読み出しアドレスとし、かつ第2
のレジスタスタック62の書込みアドレスの下位5ビツ
トとする。第2レジスタスタツク62の上位2ビツトす
なわち前記4つのエリアは管理回路66から実行エリア
アドレス情報88によって指示されている。
With the above configuration, the operation of the # control circuit 63 is as follows. Normally, the register address information 71 iI from the instruction fetch device I/1.3 (therefore, it is the write/read address of the first register stack 61, and
The lower 5 bits of the write address of the register stack 62 of The upper two bits of the second register stack 62, that is, the four areas mentioned above, are designated by the execution area address information 88 from the management circuit 66.

プロセス切替時に管理回路66からの回復指示16号7
4によシ遇択回路632および633t−介して回復ア
ドレスレジスタの出力が、@lおよび鯖2レジスタスタ
ック61および62に与えられ、管理回路66からの実
行エリアアドレス情報88の指示する該当エリアに貯蔵
されているレジスメ群の内dを0査地から順次読み出し
て第lのレジスタスタック61へ転送させる。uomア
ドレスレジスタ637の初期状態は′0“であり、順次
+1される。すなわち糾しく夾付すべきプロセスに対応
したエリアの内容が第ルジスタスタックに格納される。
Recovery instruction No. 16 7 from the management circuit 66 at the time of process switching
The output of the recovery address register is given to the @l and 2 register stacks 61 and 62 through the selection circuits 632 and 633t, and is sent to the corresponding area indicated by the execution area address information 88 from the management circuit 66. Out of the stored register group, d is sequentially read from the 0th location and transferred to the l-th register stack 61. The initial state of the uom address register 637 is '0' and is sequentially incremented by +1. That is, the contents of the area corresponding to the process to be severely contaminated are stored in the first register stack.

回復アドレスレジスタの出力がALL”]”になるとア
ンド回路641の出力により回珈終r信号75が次プロ
セス決定回路65へ送出される。またALL″′1”−
出回路640の出力により回(J14にホレジスタ63
5かリセットされる。
When the output of the recovery address register becomes ALL"]", the output of the AND circuit 641 sends the end of rounding signal 75 to the next process determining circuit 65. Also ALL'''1''-
The output of the output circuit 640 causes the register 63 to
5 will be reset.

−力、アンド回路641の出力がオア回路648t−介
してメモリアドレスレジスタ642のセット人力8に与
えられ、レジスタ642には選択回路643t−介して
与えられる固定埴Aがセットされる。そして、次プロセ
ス決寛回路65からのメモリアクセス信号76がオア回
路646を介して主kitm鋏111へのメモリリクエ
スト信号77となり、Igtl記固定埴Aを主記憶アド
レス83として王紀惜装miへ読出しアクセス資求が行
なわれる。上記iJ1表置のA番地には、第9図に不す
ように上位8ビツトにプロセス番号が下位24ビツトに
レジスタ#退避エリア先頭アドレスが記憶させてるる。
The output of the AND circuit 641 is applied to the set input 8 of the memory address register 642 through the OR circuit 648t, and the fixed value A applied through the selection circuit 643t is set in the register 642. Then, the memory access signal 76 from the next process determination circuit 65 becomes the memory request signal 77 to the main kitm scissors 111 via the OR circuit 646, and the Igtl fixed hani A is set as the main memory address 83 to read and access the Oki Gakusou mi. A request is made. At address A in the iJ1 table, as shown in FIG. 9, the process number is stored in the upper 8 bits and the register # save area start address is stored in the lower 24 bits.

A+4 、A+8 、・・・番地にも同様に各プロセス
の番号および過N1エリア先劇アドレスが記憶されてい
る。これらは優先度の高いプロセスかう1liK紀憶さ
れていて次グロセスに対応するものはA番地にくり上け
られるものとする。そして、主ela*装置のA番地か
らの絖出しテーク85が込られて米ると、その下位24
ビツト(退避エリア先願アドレス)が選択回路643に
人力し、久プロセス決定レジスタ65からの次プロセス
決定信号8oにより、上記退避エリア先願アドレスが選
択されてメモリアドレスレジスタ642にセットされる
Similarly, the number of each process and the next address of the N1 area are stored at addresses A+4, A+8, . . . . It is assumed that these are stored in memory for processes with high priority, and those corresponding to the next process are moved up to address A. Then, when the thread takeout take 85 from address A of the main ela* device is included, the lower 24
A bit (save area first application address) is input to the selection circuit 643, and the above save area first application address is selected and set in the memory address register 642 by the next process determination signal 8o from the long process determination register 65.

次に、’tml路66から転送指示信号81が与えられ
たとき(後述するように必ず与えられるとは限らない)
、転送指示レジスタ645がセット逼れ、オア回路64
6を介してメモリリクエスト信号77が、主起憶鉄fl
ltlへ出力される。
Next, when the transfer instruction signal 81 is given from the 'tml path 66 (as will be described later, it is not always given)
, the transfer instruction register 645 is set full, the OR circuit 64
A memory request signal 77 is sent via the main memory iron fl
Output to ltl.

主記憶装置1の退赳エリア先鎮アドレスから1ワードの
読出しが終′rするごとにメモリ終rid号78が入力
し、メモリアドレスレジスタ642U+4回路によって
+4され九アドレスを送出する。−力、上記メモリ軒f
信号によりフリップフロッグ649がセットされ、回復
アドレスレジスタ637は”+1m回路638によって
1+11されたアドレスを出力し、選択回路633を介
して絶2のレジスタスタック62へ送る。第2のレジス
タスタック62の上位2ビツトのアドレスは選択i!!
1wl634で11塩回路66からの転送エリアアドレ
スflv報89が選択出力されている。従って、第2の
レジスタスタック62の上記転送エリアア下しス悄@8
9で指足されるエリアにOII地から順次、次ノロセス
VC対応するレジスタ群の内容が書込まれる。書込みが
終rし、ALL@l″慣出四路640の両刀が@1II
Iとな9、主記憶装置lからメモリ終f1fi878が
米ると、アンド回路651の出力により転送指示レジス
タ645がリセットされ、またアンド回Ii&650の
出力が11”となり、転送路rIg号82が管理回路6
6へ送られる。
Every time reading of one word from the retirement area prefix address of the main storage device 1 is completed, the memory end number 78 is inputted, and the memory address register 642U+4 circuit increments the memory by 4 and sends out the 9th address. - Force, above memory eaves f
The flip-flop 649 is set by the signal, and the recovery address register 637 outputs the address incremented by 1+11 by the +1m circuit 638 and sends it to the second register stack 62 via the selection circuit 633. Select the 2-bit address!!
At 1wl634, the transfer area address flv information 89 from the 11 salt circuit 66 is selectively output. Therefore, the transfer area of the second register stack 62 is lowered @8.
The contents of the register group corresponding to the next norocess VC are sequentially written into the area added in step 9 starting from the OII location. Posting is finished, ALL @l'' two swords of 640 Ujide Yotsuji @1II
When the memory end f1 fi 878 is transferred from the main storage device l, the transfer instruction register 645 is reset by the output of the AND circuit 651, and the output of the AND circuit Ii & 650 becomes 11'', and the transfer path rIg 82 is managed. circuit 6
Sent to 6.

メプロセス火定回路66ri、実?T待ちの状態にめる
プロセスのうち賊も尚い優先度をもつ次プロセスを決に
する回路であって、第7図に示すように構成されている
。すなわち、制御回路63から与えられる回傷終/1g
号75をセットする回偵軒rレジスタ655と、該レジ
スタ655の出力および主記憶装置1からのメモリ軒了
偵号78を人力とするアンド回路656から構成される
。前記回Q1終fレジスタ655の出力は劇−回路63
へのメモリアクセス信号76とされ、前6己アンド回路
656の出力は次プロセス決定信号8oとして制御回路
63および管理回路66へ送られる。なお、レジスタ6
55tiメモリ終fjt1号78によってリセットされ
る。上述のS成により、メモリ終f信号78が人力する
と、アンド回路656を介して次プロセス決定信号80
を送出すると共に1伽終了しジスタロ55をリセットし
、メモリアクセス信号76の送出を停止する。
Meprocess fire constant circuit 66ri, real? This circuit is configured as shown in FIG. 7, and determines whether a process that has been placed in a T-wait state will still have priority. In other words, the injury end/1g given from the control circuit 63
It consists of a register 655 for setting the number 75, and an AND circuit 656 which manually inputs the output of the register 655 and the memory 78 from the main storage device 1. The output of the f register 655 at the end of Q1 of the previous cycle is the output of the circuit 63.
The output of the previous AND circuit 656 is sent to the control circuit 63 and the management circuit 66 as the next process determination signal 8o. In addition, register 6
55ti memory end fjt1 No. 78 is reset. Due to the above-mentioned S configuration, when the memory end f signal 78 is input manually, the next process determination signal 80 is output via the AND circuit 656.
At the same time, the program ends, the register 55 is reset, and the sending of the memory access signal 76 is stopped.

1[1路66ti、第2のレジスタスタック62の貯蔵
1′#を管埋し、次プロセスに対応したレジスタ群の内
容を主記憶装置1から転送する必要性の有無の判w#t
−L、かつ、プロセス切V時のレジスタ回復処理の方法
を決定する回路であり、M8図にホすように構成されて
いる。すなわち、制御回路63から与えられる絖出しデ
ータ上位8ビツト87(次プロセス書号)と、命令フェ
ッチ装置3から与えられるプロセス番号情報89とを入
力し、プロセス切替指示信号73によって前記番号悄@
89′を選択してプロセス番号レジスタ665に人力さ
せる選択回路664.および上記プロセス番号レジスタ
665.上記プロセス切替指示信ロセス決定徊号80を
入力し一紀しジスタロ650セット端子へ出力するオア
回路663,1!#紀プロセス切替指示信号73をセッ
トするプロセス切替指示レジスタ661 、III紀次
プロセス決定信号80をセットする次プロセス決定レジ
スタ662。
1 [1 path 66ti, determine whether or not it is necessary to fill the storage 1'# of the second register stack 62 and transfer the contents of the register group corresponding to the next process from the main memory 1 w#t
This is a circuit that determines the method of register recovery processing when -L and process cut-off V, and is configured as shown in Figure M8. That is, the upper 8 bits 87 (next process book number) of the start-up data given from the control circuit 63 and the process number information 89 given from the instruction fetch device 3 are input, and the above-mentioned number is changed by the process switching instruction signal 73.
Selection circuit 664 which selects 89' and inputs the process number register 665 manually. and the process number register 665. The OR circuit 663,1! which inputs the process switching instruction signal process determination signal 80 and outputs it to the set terminal of the distal 650! A process switching instruction register 661 that sets the # period process switching instruction signal 73, and a next process determination register 662 that sets the III period process determination signal 80.

レジスタ661および6620両出力を入力するオア回
路676、第2レジスタスタツク62の礪つのエリアに
それぞれ対応して設けられ、それぞれのエリアに貯蔵し
ているレジスタ群に対応するプロセス番号および有効性
を表示するVビットを格納するスタック管理レジスタ6
66〜669。
An OR circuit 676 inputting the outputs of both registers 661 and 6620 is provided corresponding to each area of the second register stack 62, and indicates the process number and validity corresponding to the register group stored in each area. Stack management register 6 that stores the V bit to be displayed
66-669.

該レジスタ666〜669の内容と前記レジスタ665
の内容とをそれぞれ比較し、内容が1敏しかつ、前記v
ビットが@l”のとき”l”を出力する比較回路670
〜673,上記各比較回路の出方を保持する4ビツトの
実行中エリア表示レジスタ678、前記比較回路670
〜673の出力を人力するオア回路674,オア回路6
74の出力および前記レジスタ6610出刃を入力し、
回復指不偏号74を制御回路63へ送出するアンド回路
675、前記オア回路674の台定用力と前記オア回w
5676の出力とを入力し転送終了信号81を送出する
アンド回路6’l’1.tljJ記レジスタ678の出
力をエンコードし2ビツトの実行中エリアアドレス情@
88を出力するエンコーター679,前記レジスタ67
8の出力の1序を右回転してセットする転送エリアay
s<レジスタ681.dレジスタの出力をエンコードし
て2ビツトの転送エリアアドレス情@89を出力するエ
ンコーダ682。
The contents of the registers 666 to 669 and the register 665
Compare the contents of v.
Comparison circuit 670 that outputs “l” when the bit is @l”
~673, a 4-bit execution area display register 678 that holds the output of each of the above comparison circuits, and the above comparison circuit 670
OR circuit 674, which manually outputs the output of ~673, OR circuit 6
inputting the output of 74 and the register 6610 Deba;
An AND circuit 675 that sends the recovery finger unbiased signal 74 to the control circuit 63, the stand power of the OR circuit 674, and the OR circuit w.
5676 and outputs the transfer end signal 81. Encodes the output of the tljJ register 678 and stores 2-bit execution area address information@
Encoder 679 outputting 88, the register 67
Transfer area ay to set by rotating the first order of output of 8 clockwise
s<register 681. An encoder 682 encodes the output of the d register and outputs 2-bit transfer area address information @89.

両組レジスタ681の各ビット出方をそれぞれ入力し、
転送終了信号82とのアンドを取って前記スタック管理
レジスタ666〜669へのセット信号をそれぞれ出力
するアンド回路683〜686等から構成されている。
Input the output of each bit of both registers 681,
It is composed of AND circuits 683 to 686, etc., which perform an AND operation with the transfer end signal 82 and output set signals to the stack management registers 666 to 669, respectively.

管理回路−66の動作は次の通りである。The operation of the management circuit-66 is as follows.

通常の輩令実行時においてtま、命令フェッチ装置3か
ら与えられたプロセス番号情報89′tレジスタ665
に保持していて、比較回路670−673で検出した該
当プロセス番号に対応するレジスタ群を貯蔵している(
第2のレジスタスタック62の)エリアが実行中エリア
表示レジスタ678に保持されている。そしで、エンコ
ーダ679がら実行中エリアアドレス情報88が制御回
路63へ送出されている。
During normal instruction execution, the process number information 89't register 665 given from the instruction fetch device 3
It stores a group of registers corresponding to the corresponding process number detected by the comparison circuits 670-673 (
area of the second register stack 62 is held in the active area display register 678. The encoder 679 then sends the area address information 88 being executed to the control circuit 63.

ノ゛ロセス切賛処理時に2いては、節合フェッチ*随か
らプロセス番号t#@s9’およびプロセス切賛掬ボ信
号73が与えられる。選択回路664は、上記プロセス
番号情報89′を選択してレジスタ665へ供給する。
At the time of the process promotion process, the process number t#@s9' and the process promotion signal 73 are given from the joint fetch*. The selection circuit 664 selects the process number information 89' and supplies it to the register 665.

プロセス切替指示信号73はオア回路663を介してレ
ジスタ6650セット指小洛号となプ、レジスタ665
に上記プロセス番号情報89′がセットされる。また、
レジスタ661もセットされる。比較回路670−67
3はスタック管理レジスタ666〜669の内容をそれ
ぞれレジスタ665の内容と比較し、−紋したスタック
1ftj!!!レジスタのVビットが11の場合に@1
″を出力する。いずれか1つの比較−路がらl”が出力
されるとオア回路674およびアンド回路675を介し
て回復指不イば号74が制御回路63へ送出される。同
時に実行中エリア表示レジスタ678の対応するビット
が11”にセットされる。以上賛約すると、(第5図の
)#I2のレジスタスタック62内に耕しく実行すべき
プロセスに対応し九レジスタ群が既に貯蔵されている場
合は、制御回路63に圓復指示偏号74を送出する。ま
た、実行中エリア表示レジスタ678の内容はエンコー
ダ679で2ビツトに変換されて実行エリアアドレス情
報88として送出される。
The process switching instruction signal 73 is input to the register 6650 through the OR circuit 663, and then to the register 665.
The process number information 89' is set in . Also,
Register 661 is also set. Comparison circuit 670-67
3 compares the contents of the stack management registers 666 to 669 with the contents of the register 665, and returns the stack 1ftj! ! ! @1 if the V bit of the register is 11
`` is output. When any one comparison path `` is output, a recovery error signal 74 is sent to the control circuit 63 via an OR circuit 674 and an AND circuit 675. At the same time, the corresponding bit of the executing area display register 678 is set to 11". Agreeing to the above, there are nine register groups in the register stack 62 of #I2 (in FIG. 5) corresponding to the process to be executed. If it has already been stored, it sends the decode instruction code 74 to the control circuit 63. Also, the contents of the execution area display register 678 are converted to 2 bits by an encoder 679 and sent as execution area address information 88. be done.

上記信号74と実行エリアアドレス悄[88によシ前記
制御回路63の制御で四俵処理が行なわれ、回復完r後
主記憶装ff1lのアドレスAから続出された続出しデ
ータの上位8ビツト87(次プμセス番号)が選択回路
664に入力し、選択回u664で選択されてレジスタ
665へ入カスる。
The above-mentioned signal 74 and the execution area address [88] are used to perform the four-barrel processing under the control of the control circuit 63, and after the recovery is completed, the upper eight bits 87 of the successive data successively continued from address A of the main memory ff1l. (next process μ process number) is input to the selection circuit 664, selected by the selection circuit u664, and input to the register 665.

會セットする。また、次プロセス決定レジスタ662も
セットされる。一方、上記レジスタ665の内容をスタ
ック管理レジスタ666〜669の内容と比較し、いず
れの比較回路670〜673でも一致が検出されない場
合祉オア回路674の否定出力が@1′″となシアンド
lEM677を介して転送指7F、1N号81が制御回
路63へ送られる。比較回路670〜673のいずtL
かで一致が検出されれば、次プロセスがすでに17g2
のレジスタスタック62内に存在するということである
から、上記転送指示は不賛である。制御回路63が転送
動作を制御し、その終了により転送終了信号82が送ら
れて来ると、アンド回路683〜686が開かれて転送
エリア表示レジスタ681の111、音出力しているビ
ットに対応するスタック管理レジスタ666〜669に
セット信号が与えられ、当該レジスタにはレジスタ66
5の出力およびVビットがセットされる。すなわち次プ
ロセス番号がセットされる。これによシ次にプロセス切
替指示信号が米友とき前述のように該当エリアのアドレ
ス情報すなわち実行エリアアドレス88および回復指示
信号74を出すことができる。
Set up a meeting. Further, the next process determination register 662 is also set. On the other hand, the contents of the register 665 are compared with the contents of the stack management registers 666 to 669, and if no match is detected in any of the comparison circuits 670 to 673, the negative output of the welfare OR circuit 674 becomes @1'''. The transfer fingers 7F and 1N 81 are sent to the control circuit 63 through the comparison circuits 670 to 673.
If a match is detected, the next process is already 17g2
Therefore, the above transfer instruction is unacceptable. The control circuit 63 controls the transfer operation, and when the transfer end signal 82 is sent at the end of the transfer operation, the AND circuits 683 to 686 are opened and the bit 111 of the transfer area display register 681 corresponds to the bit outputting the sound. A set signal is given to the stack management registers 666 to 669, and the register 66
5 output and the V bit is set. That is, the next process number is set. Accordingly, when the process switching instruction signal is issued next, the address information of the corresponding area, that is, the execution area address 88 and the recovery instruction signal 74 can be output as described above.

第10図は、プロセス切替処理時および次プロセス決定
処理時並びにメモリ自答転送処理時K>ける転送状況を
説明する丸めの図である。次に、第5図〜第8図および
第1θ図を参照して、各時点における動作′を説明する
FIG. 10 is a rounded diagram illustrating the transfer status during process switching processing, next process determination processing, and memory self-answer transfer processing. Next, the operation at each point in time will be explained with reference to FIGS. 5 to 8 and FIG. 1θ.

通常の曾令夾行中は、レジスタオペランドの続出しは第
1めレジスタスタック61から命令フェッチ装置3およ
び命令実行Mt4へ行なわれ、命令実行装置4での演算
結果は菖lおよび第2のレジスタスタック61および6
20両方へ書込まれる。この場合第2のレジスタスタッ
クの上位2ビツトは″#理回路66からの実行エリアア
ドレス情報88が制御回路63を介して与えられる。
During normal read execution, register operands are successively fetched from the first register stack 61 to the instruction fetch device 3 and instruction execution Mt4, and the operation results in the instruction execution device 4 are transferred to the register 1 and the second register. stacks 61 and 6
20 are written to both. In this case, the upper two bits of the second register stack are given execution area address information 88 from the logic circuit 66 via the control circuit 63.

次に、プロセス切替処理は、M2O図の時刻■において
、命令フェッチ装置3からプロセス切替4’tj yr
’z Ir1号73およびプロセス番号情報89′が管
理回路66に与えられ、そのプロセスに対比するレジス
タ群を貯蔵している第2のレジスタスタックのエリアを
示す実行中エリアアドレス情@88および回復指示(−
号74が管理回路66から制御回路63へ送られる。こ
れにより、制御回路63は、第2のレジスタスタック6
2の該当エリアの0番尾から順次読出して第1のレジス
タスタック61へ転送させ書き込ませる。すなわち、B
ROからBRI 5およびGル0からGK15までの3
2ワードが転送される。第10図の時刻(りで転送が終
りプロセス切替処理が完了゛すると制#回路63から回
m%了偏号75が次プロセス決定回111365テ送ら
れる。
Next, in the process switching process, at time ■ in the M2O diagram, the process switching process is performed from the instruction fetch device 3 to the process switching process 4'tj yr
'z Ir1 number 73 and process number information 89' are given to the management circuit 66, and execution area address information @88 indicating the area of the second register stack storing the register group corresponding to the process and recovery instruction are given to the management circuit 66. (−
No. 74 is sent from the management circuit 66 to the control circuit 63. As a result, the control circuit 63 controls the second register stack 6
The corresponding area of No. 2 is sequentially read from the 0th tail and transferred to the first register stack 61 for writing. That is, B
3 from RO to BRI 5 and Gru 0 to GK15
2 words are transferred. When the transfer ends and the process switching process is completed at the time shown in FIG.

次プロセス決定回路65は、回復終・rO!号7号音5
復終了レジスタ655にセットし、メモリアクセス16
号76を制御回路63へ送る。該メモリアクセス信号?
6t′i、制御回路63のオア回路646を介してメモ
リリクエスト信号77として主記憶装置lへ送られ、−
力、馴−四路63のメモリアドレスレジスタ64から固
定(IEAが主記憶アドレス83として送出さハる。す
なわち主記憶装置lへ続出しアクセス安水が行なわれ、
主記憶装置からの続出しデータ85が返送される。該続
出しデータの下位24ビツト79(レジスタ群退避エリ
ア先鎮アドレス)は制御回路63の選択回路643を介
してメモリアドレスレジスタ642にセットされるi上
位8ビット87(プロセス番号)は管−理回路66の選
択回路664に人力させる。そして、主記憶装置1から
のメモリ終了信号78が次プロセス決定回路65に与え
られると、メモリアクセス信号76が消失し、次プロセ
ス決矩信号80が出力される。置場回路66は該信号8
0によ#)次プロセス決定レジスタ662をセットし、
前記続出しデニタ上位8ビット87(次プロセス命号)
をレジスタ665にセットする。
The next process determining circuit 65 determines whether the recovery has ended/rO! No. 7 No. 5
Set in return end register 655 and memory access 16
No. 76 is sent to the control circuit 63. The memory access signal?
6t'i, it is sent to the main memory device l as a memory request signal 77 via the OR circuit 646 of the control circuit 63, and -
Then, the address is fixed (IEA is sent out as the main memory address 83) from the memory address register 64 of the input terminal 63. In other words, successive accesses to the main memory device 1 are performed,
Continuation data 85 from the main storage device is returned. The lower 24 bits 79 (register group save area preset address) of the successive data are set in the memory address register 642 via the selection circuit 643 of the control circuit 63. The upper 8 bits 87 (process number) are the management The selection circuit 664 of the circuit 66 is operated manually. When the memory end signal 78 from the main storage device 1 is applied to the next process determining circuit 65, the memory access signal 76 disappears and the next process determining signal 80 is output. The storage circuit 66 receives the signal 8
#) Set the next process determination register 662 to 0,
The above-mentioned continuous output monitor upper 8 bits 87 (next process instruction)
is set in register 665.

該レジスタ665の内容がスタック管理レジスタのいず
れにも一致しないときは、管理回路66から転送指示信
号81が制御回路63へ送出される。また、転送エリア
アドレス情報89は、第2レジスタスタツク62内にお
いて実行中のエリアの次のエリアを指定する2ビツト情
報を出力している。上記レジスタ665の内容がいずれ
かのスタック管理レジスタと一致したときは転送指示信
号81は出力されない。制御回路63は、転送指示信号
81が人力すると、メモリリクエスト信号77を上記[
#e11111 K送り、先にメモリアドレスレジスタ
642にセットされている次プロセスの退避エリア先願
アドレスに対する続出し賛求を行なう。
When the contents of the register 665 do not match any of the stack management registers, a transfer instruction signal 81 is sent from the management circuit 66 to the control circuit 63. Further, the transfer area address information 89 outputs 2-bit information specifying the next area of the area being executed in the second register stack 62. When the contents of the register 665 match those of any stack management register, the transfer instruction signal 81 is not output. When the transfer instruction signal 81 is input manually, the control circuit 63 transfers the memory request signal 77 to the above [
#e11111 K is sent, and the next process's save area first application address, which has been set in the memory address register 642, is successively acknowledged.

上記憶装[1からの耽出しデータ85すなわちkl)t
oの内容が選択回路602を介して第2のレジスタスタ
ック62に書込まれる。このと睡の第2レジスタスタツ
ク62のエリアすなわち上位2ビツトは、!壇回路66
から与えられ喪転送エリアアドレス情報89が選択され
ている。また下位5ビツトは回復アドレスレジスタ63
7の出力が選択されている。上記BKQの内容が転送さ
れて、メ七りMF’(11号78が来るとメモリアドレ
スレジスタ642の内容が+4され、かつ、回復アドレ
スレジスタ637の内容が+1されて、順次BRO〜B
)415およびqル0〜qル15の内容が転送きれる(
110図時副時刻)〜■)。転送がNrし、ALL@l
’″検出回路640の出力か11となり、メモリ終了信
号78とのアンドによシ私送if値号82が管埋回路6
6へ送られ、かつ、転送指不レジスタ645がリセット
され、メモリリクエスト信号77が消失する。管理四路
66ゼま、転送料r’tti号82を受けると、転送エ
リアに対応したスタック管理レジスタ666〜669の
うちの1つにVビットおよびプロセス着号レジスタ66
5の内容(次プロセス番号)をセットする。前述のプロ
セス切替処m終r時点すなわち回復完r時点(第1θ図
の時刻■)以後tよ、通常の命令の実イIが平行して行
なわれているから、上述の次プロセス決定処S(時刻■
〜(す)およびメモリ内容転送処IIC時’jillL
り〜■)は、命令の実行と平行して行なわれる。又プロ
セス切替処理(時刻■〜■)は、。
The indulgence data from the upper storage device [1 85 i.e. kl)t
The contents of o are written to second register stack 62 via selection circuit 602. The area of the second register stack 62, that is, the upper two bits, is ! platform circuit 66
The mourning transfer area address information 89 given from . The lower 5 bits are the recovery address register 63.
7 output is selected. The contents of the above BKQ are transferred, and the contents of the memory address register 642 are incremented by 4, and the contents of the recovery address register 637 are incremented by 1, and the contents of the memory address register 642 are incremented by 1.
)415 and the contents of qru0 to qru15 can be transferred (
110 subtime)~■). Transfer is Nr, ALL@l
'''The output of the detection circuit 640 becomes 11, and by ANDing with the memory end signal 78, the personal sending if value number 82 becomes the tube embedded circuit 6.
6, the transfer request register 645 is reset, and the memory request signal 77 disappears. When the management section 66 receives the transfer charge r'tti number 82, it sets the V bit and the process arrival number register 66 in one of the stack management registers 666 to 669 corresponding to the transfer area.
Set the contents of 5 (next process number). After the end of the process switching process m described above, that is, the time R when the recovery is completed (time ■ in FIG. (Time■
~(su) and memory content transfer processing IIC 'jillL
Steps 1 to 2) are performed in parallel with the execution of the instruction. Also, the process switching process (time ■ to ■) is as follows.

第2レジスタスタツクの内容を1@ルジスタスタックへ
転送するのみで69、m2レジスタスタツクへの主記憶
装置1からの続出しViあらかじめ時刻(3)〜(りの
間に行なわれているから切曽処理は迅速になされる。
By simply transferring the contents of the second register stack to the register stack 1@registor stack, the contents of the m2 register stack are transferred from the main memory 1 to the m2 register stack. The cutting process is done quickly.

次に、丹びプロセス切替を行なうrCは、上述と同様に
処理され、第2のレジスタスタック62の残りのエリア
に次プロセスに対応するレジスタ群が書き込まれる。さ
らに、次のプロセス切曽え時161次プロセスの書込み
が必歎とされるときは、厳初のプロセスに対応し良レジ
スタ群の内容を貯蔵している#s2のレジスタスタック
b201つのエリアの内容を主起憶鉄[1へ退避させた
のちに1該エリアに次プロセスのレジスタl#を貯蔵さ
せれば良い。
Next, rC for process switching is processed in the same manner as described above, and the register group corresponding to the next process is written into the remaining area of the second register stack 62. Furthermore, when the next process is replaced and writing by the 161st process is required, the contents of one area of the register stack b20 of #s2, which corresponds to the very first process and stores the contents of the good register group. It is sufficient to save the register l# of the next process to the main storage area [1, and then store the register l# of the next process in the area.

プロセス切替処理時に、軒プロセスに対応するレジスタ
群の内容が@2のレジスタスタック62内に存在しない
場合は、1ず転送指示信号81によって主記憶装置lか
ら第2のレジスタスタック62ヘメモリ内容の転送が(
32回)行なわれた後pc N *指示信号74によシ
第2のレジスタスタック62からWJlのレジスタスタ
ック61への転送が行なわれる。しかし、このような場
合は、割込み処理の時に発生するaJ症性があるのみで
、殆んど生じない。
At the time of process switching processing, if the contents of the register group corresponding to the eaves process do not exist in the register stack 62 of @2, first, the memory contents are transferred from the main memory device l to the second register stack 62 by the transfer instruction signal 81. but(
32 times), the transfer from the second register stack 62 to the register stack 61 of WJl is performed in accordance with the pc N *instruction signal 74. However, in such a case, there is only the aJ symptom that occurs during interrupt processing, and it hardly occurs.

本実施例では、第2のレジスタスタック62の装置をレ
ジスタ#P4個分とし九が、さらに谷皺を増加すること
も可能である。プロセッサが使用さtLる環境条件など
によるプロセスの個数分布や。
In this embodiment, the second register stack 62 has four registers #P, but it is also possible to further increase the number of valleys and wrinkles. The distribution of the number of processes depending on the environmental conditions under which the processor is used.

切替頻度又は必蒙とするノ・−ド量などにより任意に設
計すれば、よい。
It may be designed arbitrarily depending on the switching frequency or required number of nodes.

以上のように、本発明においてe、複数のレジスタ群を
貯I1.可能な#!2のレジスタスタックを設けて、以
前に命令実行したプロセスのレジスタ群および現在実行
中のプロセスのレジスタ群および次に実行すべきプロセ
スのレジスタ群の内容を貯蔵し、通常の命令実行時には
、第1のレジスタスタックからの読出し書込みによって
命令を実行するとき、前記第2のレジスタスタックへ演
算結果を同時に書き込ませ、プロセス切替時には、あら
かじめ前記第2のレジスタスタックの他のエリアに貯I
Kしている次プロセスのレジスタ群の内容を前記第1の
レジスタスタックに転送して命令を実行し、命令の実行
と平行して更に次のプロセスに対応するレジスタ群の内
容を主記憶装置の該当退避エリアから第2のレジスタス
タッタの別のエリアに書き込ませるように構成したから
、プロセス切替時におけるlll1のレジスタスタック
へのレジスタ群の内容転送が迅速に行なわれるという効
果がある。まえ、次プロセスに対応するレジスタ群の内
容を主記憶装置から読出してllJ記第2のレジスタス
タックへ書き込む動作および必要なときの主記憶装置へ
の退避動作は、命令実行と平行して行なわれる構成であ
るから、実質的にはプロセス切替処理の時間を延長しな
い。すなわち、プロセス切替処理は、前記第2のレジス
タスタックから前記IEIのレジスタスタックへの転送
時間のみとなシ、迅速に完了゛することが可能である。
As described above, in the present invention, e, a plurality of register groups are stored I1. Possible#! 2 register stacks are provided to store the contents of the registers of the process that previously executed an instruction, the registers of the currently executing process, and the registers of the process to be executed next. When executing instructions by reading and writing from the register stack, the operation results are simultaneously written to the second register stack, and when switching processes, the I/O is stored in another area of the second register stack in advance.
The contents of the register group of the next process that is currently running are transferred to the first register stack and the instruction is executed, and in parallel with the execution of the instruction, the contents of the register group corresponding to the next process are transferred to the main memory. Since the configuration is configured such that writing is performed from the corresponding save area to another area of the second register stutter, there is an effect that the contents of the register group are quickly transferred to the register stack of llll1 at the time of process switching. The operation of reading the contents of the register group corresponding to the next process from the main memory and writing them to the second register stack described in llJ and the operation of saving them to the main memory when necessary are performed in parallel with the execution of instructions. Because of this configuration, the time for process switching processing is not substantially extended. That is, the process switching process can be completed quickly without requiring only the transfer time from the second register stack to the register stack of the IEI.

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

第1図祉従米のレジスタ群貯蔵装置を使用し良計算機シ
ステムを示すブロック図、第2図は上記従来例の動作を
説明するだめのタイムチャート、第3図は、改良された
別のレジスタ群貯蔵装置を使用した計算機システムの従
来例をボナブロック図、絡4図はその動作を説明するた
めのタイムチャート、第5図は本発明の−*mnを示す
ブロック図、第6図は上記実施例の制御回路の#l成の
一例を示すブロック図、第7図は上記実施例の久プロセ
ス決定回路の構成例を示すブロック図、第8図は上記実
施例の管理回路の構成例を示すブロック図、第9図は主
記憶装置内のプロセス番号およびレジスタ群退避エリア
先頼アドレスの格納フォーフットを示す図、第10図は
第5図に示す実施例の動作を説明するためのタイムチャ
ートである。 図において、l・・・主記憶装置、2・・・中央処jj
l装置、3・・・命令フェッチ装置、4・・・命令実何
装置、5・・・レジスタ群貯蔵装置、6・・・レジスタ
群貯蔵偵[51・・・レジスタスタッタ、52・・・ア
ドレスレジスタ、61・・1目のレジスタスタック、6
2・−・IJJ2のレジスタスタック、63・・・制御
回−路、65・・・次プロセス決定回路、66・・・′
t7ta+回路、601゜602・・・選択回路。 第1図 第2凶 第4凶 第5凶 第6図 一欠アクτス3 1) t
Fig. 1 is a block diagram showing a computer system using the conventional register group storage device, Fig. 2 is a time chart for explaining the operation of the conventional example, and Fig. 3 is another improved register group. A Bona block diagram of a conventional example of a computer system using a storage device, Figure 4 is a time chart for explaining its operation, Figure 5 is a block diagram showing -*mn of the present invention, and Figure 6 is a diagram showing the above implementation. FIG. 7 is a block diagram showing an example of the #l configuration of the control circuit of the example, FIG. 7 is a block diagram showing an example of the configuration of the long process determination circuit of the above embodiment, and FIG. 8 is a block diagram showing an example of the configuration of the management circuit of the above embodiment. A block diagram, FIG. 9 is a diagram showing the storage four-foot of the process number and register group save area address in the main memory, and FIG. 10 is a time chart for explaining the operation of the embodiment shown in FIG. 5. It is. In the figure, l...main storage device, 2... central processing jj
l device, 3... Instruction fetch device, 4... Instruction actualizing device, 5... Register group storage device, 6... Register group storage device [51... Register stutter, 52... Address register, 61...1st register stack, 6
2... IJJ2 register stack, 63... Control circuit, 65... Next process determination circuit, 66...'
t7ta+ circuit, 601°602... selection circuit. Fig. 1 Fig. 2 No. 4 No. 5 No. 6 Fig. 1 Missing Ax 3 1) t

Claims (1)

【特許請求の範囲】[Claims] 命令の7エツチ装置と、命令実行装置と、レジスタ群貯
蔵装置とt内戚して、主記憶装置から命令をフェッチ、
解読し、命令の実行および命令の解読や割込によシ起動
されるプロセスの切替処理を行な−、プログラムの処理
単位であるプロセス毎に演舞に使用される1組のレジス
タ群の内容を主起u1装随の各プロセスに対応して設け
られたレジスタ退避エリアから続出して繭記しジスタ鮮
貯賦m1lK−格納させ、かつ該レジスタsi威1tt
rc格納されていた以前に実行中のプロセスに対する1
組のレジスタ群の内容を前記主記憶装置の対応するレジ
スタ退避エリアに退避させるようにして、実行口■鹸状
−にある複数のプロセスのうち同時に1よ1個のプロセ
スを実行する中央処理装置のレジスタ群貯g装置におい
て、実行中のプロセスに対ふらする1ffiの前記レジ
スタ群の内容金貯斌する第1のレジスタスタックと、ヒ
配夾行中のプロセスに対応する1組のレジスタ群の内容
ふ・よび以剖に実行中であつ喪1組のレジスタ群の内容
並びに次に実行すべきプロセスに対応するレジスタ群の
内容とを貯蔵できる複数のエリアを有゛するJI2のレ
ジスタスタックと、繭配岐令フェッを装置がらのレジス
タアドレス情報等によって−1MlおよびjK2のレジ
スタスタックへのアドレス指示を行ない後記するt理回
路からの実行エリアアドレス情報又は転送アドレスf′
#報F(よってIi+7記第2のレジスタスタックのエ
リアを指示して前記第2のレジスタスタックの優込み又
は続出しを1IIIIl#シ、かつ前記第2のレジスタ
スタックからeiJ1第1のレジスタスタックへの回復
−作の@rにより圓偵終f債号を送出し前記第2のレジ
スタスタッタへの主記憶装置からの転送終了により転送
に4r信号を出す制御回路と、前記制御回路からの回仮
終r偏号I/Cよりメモリアクセス1イ月會送出し上記
回復P、r後に主配憶装置からのメモリ終r1d号を受
けると次プロセス決定11i号を送出する次プロセス決
定圓略と、前記第2のレジスタスタックの複数のエリア
に対応して設けられ−これらの各エリアに格納されてい
るレジスタ群に対応するプロセス番号を登録する複数の
スタック管層レジスタを内蔵し命令フェッチ装置からの
プロセス情報又は主起u1装置からの続出しデータ中の
プロセス番号と上記スタック管層レジスタの内容とをプ
ロセス切替指示信号又は前記次プロセス決定信号により
比較し九結束によプ実行中アドレス情報および回復指示
信号または転送エリアアドレス情報および転送指示信号
を前記制御回路へ送出する’f理回路とを備えて、通常
の命令実行時には前記第1のレジスタスタッタから続出
して命令が実行され、演算結果は前記第1のレジスタス
タックおよび前記$2のレジスタスタックの1つのエリ
アに同時に格納し、プロセス切替時においては前記第2
のレジスタスタッタの1つのエリアに格納されている次
プロセスに対応するレジスタ群の内容を前記第1のレジ
スタスタックへ転送して回復処理を完了し、その後該プ
ロセスの実行と平行してその次に実行すべき次プロセス
査号を主記憶装置から絖み出し該/ロセス番−1と前記
複数のスタック管層レジスタの一欽の有無を検出し、い
ずれとも不−蚊であるときは当該プロセスのレジスタ駐
が退避されでいる主記憶装置の退社エリア先願アドレス
から順次対応するレジスタ群の内容を絖出して@配植2
のレジスタスタックのもう1つ別のエリアに格納するこ
とを特値とするレジスタ群貯蔵装置。
an instruction fetch device, an instruction execution device, and a register group storage device for fetching instructions from the main memory;
It decodes, executes instructions, decodes instructions, and switches processes activated by interrupts, and stores the contents of a set of registers used for performance for each process, which is the processing unit of the program. A register saving area provided corresponding to each process associated with the main origin u1 is successively written and stored in the register si_i_1tt.
1 for previously running processes stored in rc
A central processing unit that simultaneously executes one process out of a plurality of processes in an execution port by saving the contents of a set of register groups to a corresponding register save area of the main storage device. In the register group storage device, a first register stack that stores the contents of the register group of 1ffi corresponding to the executing process, and a set of register groups corresponding to the process that is being distributed. A JI2 register stack having a plurality of areas capable of storing contents, contents of a set of registers currently being executed, and contents of a register group corresponding to a process to be executed next; The cocoon branch command is sent to the -1Ml and jK2 register stacks using the register address information from the device, and the execution area address information or transfer address f' from the t logic circuit, which will be described later, is executed.
# information F (Therefore, specify the area of the second register stack in Ii + 7 to perform priority access or continuous output of the second register stack, and from the second register stack to the eiJ1 first register stack. recovery - a control circuit which sends out a 4r signal for the transfer when the transfer from the main memory device to the second register stutter is completed by sending out the Ensai Termination Bond by @r of the work, and a circuit from the control circuit; Temporary end r partial code I/C sends memory access 1 month meeting; after the above recovery P and r, memory end r1d is received from the main storage device, next process decision 11i is sent out. , which is provided corresponding to a plurality of areas of the second register stack, and has a plurality of built-in stack layer registers for registering process numbers corresponding to register groups stored in each of these areas, and has a built-in plurality of stack layer registers for registering process numbers corresponding to a group of registers stored in each of these areas. The process information or the process number in the successive data from the main U1 device is compared with the contents of the stack layer register using the process switching instruction signal or the next process determination signal, and the process information and the address information being executed are an 'f logic circuit that sends a recovery instruction signal or transfer area address information and a transfer instruction signal to the control circuit, and during normal instruction execution, instructions are executed one after another from the first register stutter, and the operation is performed. The results are stored simultaneously in one area of the first register stack and the $2 register stack, and are stored in the second register stack at the time of process switching.
The contents of the register group corresponding to the next process stored in one area of the register stutter of are transferred to the first register stack to complete the recovery process, and then, in parallel with the execution of the process, the contents of the register group corresponding to the next process are transferred to the first register stack. The next process code to be executed is retrieved from the main memory, and the presence or absence of the corresponding process number -1 and one of the plurality of stack registers is detected, and if both are invalid, the process is executed. The contents of the corresponding register group are sequentially generated from the address of the first application in the main storage area where the registers have been saved.
A register group storage device whose special value is to store data in another area of the register stack.
JP19051681A 1981-11-30 1981-11-30 Storing device of register group Granted JPS5894038A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP19051681A JPS5894038A (en) 1981-11-30 1981-11-30 Storing device of register group

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP19051681A JPS5894038A (en) 1981-11-30 1981-11-30 Storing device of register group

Publications (2)

Publication Number Publication Date
JPS5894038A true JPS5894038A (en) 1983-06-04
JPS6240736B2 JPS6240736B2 (en) 1987-08-29

Family

ID=16259385

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19051681A Granted JPS5894038A (en) 1981-11-30 1981-11-30 Storing device of register group

Country Status (1)

Country Link
JP (1) JPS5894038A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59146387A (en) * 1983-02-10 1984-08-22 Fujitsu Ltd Stack control system of multiprocessing
JPS6255741A (en) * 1985-09-04 1987-03-11 Nec Corp Tracing circuit
JPS6380332A (en) * 1986-09-24 1988-04-11 Mitsubishi Electric Corp Microprocessor
JPS63238631A (en) * 1986-12-17 1988-10-04 インテル・コーポレーション Execution apparatus for i/o processor

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5398753A (en) * 1977-02-09 1978-08-29 Nippon Telegr & Teleph Corp <Ntt> Interrupt processing system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5398753A (en) * 1977-02-09 1978-08-29 Nippon Telegr & Teleph Corp <Ntt> Interrupt processing system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59146387A (en) * 1983-02-10 1984-08-22 Fujitsu Ltd Stack control system of multiprocessing
JPS6255741A (en) * 1985-09-04 1987-03-11 Nec Corp Tracing circuit
JPS6380332A (en) * 1986-09-24 1988-04-11 Mitsubishi Electric Corp Microprocessor
JPS63238631A (en) * 1986-12-17 1988-10-04 インテル・コーポレーション Execution apparatus for i/o processor

Also Published As

Publication number Publication date
JPS6240736B2 (en) 1987-08-29

Similar Documents

Publication Publication Date Title
JPS6051948A (en) Branch destination buffer storage device
JPS59174948A (en) Information processing device
JPS5894038A (en) Storing device of register group
CA1228678A (en) Method for controlling buffer memory in data processing apparatus
JPS6041769B2 (en) Addressing method
JPS6049340B2 (en) Branch instruction prefetch method
JPH0623977B2 (en) Vector processor
JP2794782B2 (en) Instruction fetch device
JPS58176751A (en) Decoding unit of instruction word
JPH0218732B2 (en)
JPS62232036A (en) Information processor
JP2798492B2 (en) List vector processing device
JP2522840B2 (en) Programmable controller programming device
JP2527814B2 (en) Instruction processing system
JPS6152748A (en) Trace selection system of microprogram development device
JPH0335327A (en) Majority decision fault processor
JPS6394303A (en) Arithmetic control system
JPS6042968B2 (en) information processing equipment
JPS58172753A (en) Microprogram control system
JP4433492B2 (en) Data exchange method with programmable controller
JPS58166452A (en) Data processor
JPH0778730B2 (en) Information processing equipment
JPS58121459A (en) Service processor of electronic computer
JPS6244663B2 (en)
JPS6158042A (en) Microprogram control system