JPS5846444A - Register group storage device - Google Patents

Register group storage device

Info

Publication number
JPS5846444A
JPS5846444A JP14251581A JP14251581A JPS5846444A JP S5846444 A JPS5846444 A JP S5846444A JP 14251581 A JP14251581 A JP 14251581A JP 14251581 A JP14251581 A JP 14251581A JP S5846444 A JPS5846444 A JP S5846444A
Authority
JP
Japan
Prior art keywords
register
storage device
contents
stack
instruction
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
JP14251581A
Other languages
Japanese (ja)
Other versions
JPS6239779B2 (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 JP14251581A priority Critical patent/JPS5846444A/en
Publication of JPS5846444A publication Critical patent/JPS5846444A/en
Publication of JPS6239779B2 publication Critical patent/JPS6239779B2/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
    • G06F9/462Saving or restoring of program or task context with multiple register sets
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F24HEATING; RANGES; VENTILATING
    • F24FAIR-CONDITIONING; AIR-HUMIDIFICATION; VENTILATION; USE OF AIR CURRENTS FOR SCREENING
    • F24F13/00Details common to, or for air-conditioning, air-humidification, ventilation or use of air currents for screening
    • F24F13/08Air-flow control members, e.g. louvres, grilles, flaps or guide plates
    • F24F13/10Air-flow control members, e.g. louvres, grilles, flaps or guide plates movable, e.g. dampers
    • F24F13/14Air-flow control members, e.g. louvres, grilles, flaps or guide plates movable, e.g. dampers built up of tilting members, e.g. louvre

Abstract

PURPOSE:To shorten the switching processing time of a process and to obtain a high-speed system, by performing the stand-by processing of a register in parallel to the execution of instruction after the switching processing of the process. CONSTITUTION:A stand-by address register 637 is set by the output of an AND circuit 636. Every time a machine clock is supplied, +1 addition is performed through a +1 circuit 638. Namely, read data 78 which corresponds to a process before execution in the 2nd register stack 62 is outputted. The output of the AND circuit 636, on the other hand, is passed through an OR circuit 640 to obtain a set signal to a memory address register 642. The stand-by area starting address set in the register 642 is increased by four at every time by a +4 circuit 643 and outptted as a main storage address 79. Therefore, the contents which correspond to the procees before execution stored in the 2nd register stack 62 are enqueued in a corresponding stand-by area in a main storage device 1.

Description

【発明の詳細な説明】 本発明は、計算機システムの中央処理装置で演算に使用
されるレジスタ群が、プログラムの処理単位であるプロ
セス毎に1組ずつ定義されてそれぞれ主記憶装置内のプ
ロセスごとに対応して設けられたl/レジスタ避エリア
に退避格納が可能であり5.複数個の実行可能状態にあ
るプロセスのうち、同時には1個のプロセスを実行する
計算機システムにおける実行中のプロセスに対応するレ
ジスタ群を格納するレジスタ群貯蔵装置に関し、特に、
プロセス切替時におけるレジスタ群貯蔵装置から主記憶
装置への退避、および主記憶装置からレジスタ群貯蔵装
置への回復(書込み)制御に関する。
DETAILED DESCRIPTION OF THE INVENTION According to the present invention, a group of registers used for calculations in a central processing unit of a computer system is defined for each process, which is a processing unit of a program, and is stored in a main memory for each process. It is possible to save and store in the l/register save area provided corresponding to 5. In particular, the present invention relates to a register group storage device that stores a register group corresponding to a running process in a computer system that executes one process at a time among a plurality of processes in an executable state.
The present invention relates to saving from a register group storage device to a main memory device at the time of process switching and recovery (writing) control from the main memory device to the register group storage device.

従来、この種のシステムは第1図のように構成されてい
る。すなわち、主記憶装置1け、命令およびオペランド
と、複数組のレジスタ群の各内容に対する退避データと
を記憶している。上記1組のレジスタ群の内容は、1つ
のプロセスに対応している。中央処理装置2は、命令フ
ェッチ装置3、命令実行装置4およびレジスタ群貯蔵装
鎗5等から構成される。レジスタ群貯蔵装置5は、実行
中のプロセスに対応した1組のレジスタ群を貯蔵するレ
ジスタスタック51と、該レジスタスタック51の続出
しおよび書込みのためのアドレスを供給するアドレスレ
ジスタ52とから構成されている。上記レジスタスタッ
ク51d1通常主記憶アドレスのベースアドレスを保持
する16個のベースレジスタ(BRO〜BRI 5 )
と、主記憶アドレスの指標アドレスおよび演算に使用さ
れるデータを保持する16個の汎用レジスタ(GRO〜
QR15)を有する。
Conventionally, this type of system has been configured as shown in FIG. That is, one main memory 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. The central processing unit 2 includes an instruction fetch device 3, an instruction execution device 4, a register group storage device 5, and the like. The register group storage device 5 is composed of a register stack 51 that stores a set of register groups corresponding to a process that is being executed, and an address register 52 that supplies an address for continuation and writing of the register stack 51. ing. The register stack 51d1 has 16 base registers (BRO to BRI5) that hold the base address of the normal main memory address.
and 16 general-purpose registers (GRO~
QR15).

前記命令フェッチ装M3け命令を主記憶装置1よシフエ
ッチするとともに解読し、メモリオペランドおよびレジ
スタオペラッドを準備する。メモリオペランドの準備と
は、命令で指定されたペースレジスタおよび汎用レジス
タの内容をアドレスレジスタ52を介してレジスタスタ
ック51から読出し、これらの内容と命令内の変位フィ
ールドの内容との3個のデータを演算することにより主
記憶アドレスを求め、主記憶装#1ヘロードアクセス要
求を発生することである。また、レジスタオペランドの
準備とは、命令で指定された汎用レジスタの内容を、ア
ドレスレジスタ52を介してレジスタスタック51から
読出し、この読出しデータが命令実行装置4で受取られ
ることである。
The instruction fetch device shifts M3 instructions from the main memory 1, decodes them, and prepares memory operands and register operands. Preparation of the memory operand means reading the contents of the pace register and general-purpose register specified by the instruction from the register stack 51 via the address register 52, and storing three pieces of data: these contents and the contents of the displacement field in the instruction. The main memory address is determined by calculation, and a load access request to main memory #1 is generated. Furthermore, preparing a register operand means reading the contents of a general-purpose register specified by an instruction from the register stack 51 via the address register 52, and receiving this read data by the instruction execution device 4.

命令実行装置4での演算結果は、命令フェッチ装置3か
らアドレスレジスタ52を介して与えられたレジスタス
タック51のアドレス位置へ格納される。
The operation result in the instruction execution device 4 is stored in the address position of the register stack 51 given from the instruction fetch device 3 via the address register 52.

命令フェッチ装置3において、入出力制御装置などの他
プロセツサからの割込み、若しくは命令実行中の例外検
出による割込又は命令解読等によシ、プロセスの切替え
が必要にkつだ場合は、まず実行中であったプロセスに
対応したレジスタ群であるレジスタスタック51の内容
を、主記憶装置1内のあらかじめプロセス対応に定めら
れたエリアへ退避させ、次に新しく実行すべきプロセス
に対応したレジスタ群の内容を主記憶装置1内の該当退
避エリアからレジスタスタック51へ移す(すなわち回
復する)ことが必要である。このレジスタ群の退避およ
び回復の動作を第2図に示すタイムチャートを参照して
説明する。先ず、レジスタスタック51の16個のペー
スレジスタ(BRO〜Bl’L15 )および16個の
汎用レジスタ(GRO〜GR15)、合計32個のレジ
スタの内容を順次主記憶装置1へ書込み退避させる。次
いで主記憶装置1からレジスタスタック51の32個の
レジスタ(BRO〜BRI 5 、GRO〜qR15)
へ新しいプロセスに対応する主記憶装置の退避エリアか
ら順次読込み回復する。すなわち、退避処理および回復
処理のために、32回の主記憶装置への書込みと、32
回の主記憶装置からの読出し動作が必要である。すなわ
ち、第1図に示したような従来のレジスタ群貯蔵装置5
を用いた計算機システムでは、プロセスの切替に多大の
時間を要するという欠点がある。このプロセス切替に要
する時間は、基本命令の処理に要する時間に比して、1
0〜100倍程度を要し、システムの性能を著しく低下
させる要因となる。
In the instruction fetch device 3, if it is necessary to switch the process due to an interrupt from another processor such as an input/output control device, an interrupt due to exception detection during instruction execution, or instruction decoding, etc., the process is first executed. The contents of the register stack 51, which is a register group corresponding to the process that was inside, are saved to an area predetermined for each process in the main memory 1, and then the contents of the register stack 51, which is a register group corresponding to the process to be newly executed, are saved. It is necessary to move (that is, restore) the contents from the corresponding save area in the main memory 1 to the register stack 51. The operation of saving and restoring this register group will be explained with reference to the time chart shown in FIG. First, the contents of 16 pace registers (BRO to Bl'L15) and 16 general-purpose registers (GRO to GR15) of the register stack 51, a total of 32 registers, are sequentially written and saved in the main storage device 1. Next, 32 registers (BRO to BRI5, GRO to qR15) of the register stack 51 from the main memory 1
The main memory storage area corresponding to the new process is sequentially read and recovered. In other words, for backup processing and recovery processing, 32 writes to the main memory and 32
This requires multiple read operations from the main memory. That is, the conventional register group storage device 5 as shown in FIG.
A computer system using the ``process'' has the disadvantage that it takes a lot of time to switch processes. The time required for this process switching is 1
This requires approximately 0 to 100 times the processing time, which causes a significant deterioration in system performance.

本発明の目的は、上述の従来の欠点を解決し、プロセス
処理の切替えに際し、レジスタ(内容)の退避処理に要
する時間を実質的に零とすることが可能なレジスタ群貯
蔵装置を提供することにある。
SUMMARY OF THE INVENTION An object of the present invention is to provide a register group storage device that solves the above-mentioned conventional drawbacks and can substantially reduce the time required to save registers (contents) when switching processes. It is in.

本発明の貯蔵装置は、命令の7エツチ装値と、命令実行
装置と、レジスタ群貯蔵装置とを内蔵して、主記憶装置
から命令をフェッチ、解読し、命令の実行および命令の
解読や割込によシ起動されるプロセスの切替処理を行な
い、プログラムの処理単位であるプロセス毎に演算に使
用される1組のレジスタ群の内容を主記憶装置の各プロ
セスに対応して設ゆられたレジスタ退避エリアから読出
して前記レジスタ群貯蔵装置に格納させ、かつ該レジス
タ群貯蔵装置に格納されていた以前に実行中のプロセス
に対する1組のレジスタ群の内容を前記主記憶装置の対
応するレジスタ退避エリアに退避させるようにして、実
行可能状態にある複数のプロセスのうち同時には1個の
プロセスを実行する中央処理装置のレジスタ群貯蔵装置
において、実行中のプロセスに対応する1組の前記レジ
スタ群の内容を貯蔵する第1のレジスタスタックと、上
記実行中のプログラムに対応する1組のレジスタ群の内
容および以前に実行中であった1組のレジスタ群の内容
とを貯蔵できる2つのエリアを有する第2のレジスタス
タックと、これら第1および第2のレジスタスタックへ
の続出し書込みのためのアドレス情報、退避先エリア先
頭アドレス情報9回復開始指示信号等を前記命令フェッ
チ装置から受けてこれらの動作を制御するレジスタ群制
御回路とを備えて、命令の実行に使用されるレジスタオ
ペランドは前記命令フェッチ装置から与えられるレジス
タアドレス情報によシ前記第1のレジスタスタックから
前記命令実行装置に読出され、演算結果は前記命令フー
ツチ装置から与えらI省ジスタアドレス情報によシ前記
第1のレジスタスタックおよび第2のレジスタスタック
の1つのエリアの対応位置に同時に格納され、前記命令
フェッチ装置からプロセス切替処理のための回復開始指
示信号が与えられると、前記主記憶装置の該当退避エリ
アから読出された対応する1組のレジスタ群内容を前記
第1のレジスタスタックおよび第2のレジスタスタック
の上記と異なるもう1つのエリアに同時に格納し、前記
命令フェッチ装置から与えられるプロセス切替終了信号
により、新しいプロセスに対する命令の実行と並行して
前記第2のレジスタスタックの以前実行中であったプロ
セスに対応した1つのエリアに格納されている1組のレ
ジスタ群の内容を順次送出して前記主記憶装置の該尚退
避エリアへ退避させるようにしたことを特徴とする。
The storage device of the present invention incorporates an instruction storage device, an instruction execution device, and a register group storage device, and fetches and decodes instructions from the main memory, executes instructions, decodes and assigns instructions. It performs switching processing between processes that are started up, and the contents of a set of registers used for calculations for each process, which is a processing unit of a program, are set corresponding to each process in the main memory. reading from the register save area and storing it in the register group storage device, and saving the contents of a set of register groups for the previously executing process stored in the register group storage device in the corresponding register of the main storage device; In a register group storage device of a central processing unit that executes one process at a time among a plurality of processes in an executable state by saving the process to an area, a set of the register groups corresponding to the currently executing process is provided. A first register stack that stores the contents of the program, and two areas that can store the contents of a set of registers corresponding to the program being executed and the contents of a register group that was previously being executed. A second register stack having a second register stack, address information for successive writing to these first and second register stacks, save destination area start address information 9, a recovery start instruction signal, etc. are received from the instruction fetch device and these are processed. and a register group control circuit for controlling operations, wherein register operands used for instruction execution are read from the first register stack to the instruction execution device according to register address information given from the instruction fetch device. , the operation results are simultaneously stored in corresponding positions in one area of the first register stack and the second register stack according to the I-saving register address information given from the instruction fetch device, and the process switching is performed from the instruction fetch device. When a recovery start instruction signal for processing is given, the contents of a corresponding set of register groups read from the corresponding save area of the main memory are different from those of the first register stack and the second register stack. At the same time, in response to a process switching end signal given from the instruction fetch device, one area corresponding to the previously executing process in the second register stack is stored in another area in parallel with the execution of the instruction for the new process. The present invention is characterized in that the contents of a set of registers stored in one area are sequentially sent out and saved to the corresponding save area of the main storage device.

次に、本発明について、図面を参照して詳細に説明する
Next, the present invention will be explained in detail with reference to the drawings.

第3図は、本発明の一実施例を示すブロック図である。FIG. 3 is a block diagram showing one embodiment of the present invention.

すなわち、本実施例のレジスタ群貯蔵装置6は、32個
のレジスタを有する第1のレジスタスタック61と、6
4個のレジスタを有する第2のレジスタスタック62と
、これらレジスタの内容の退避1回復を制御するレジス
タ群制御回路63とから構成される。上記第1のレジス
タスタック61は、実行中のプロセスに対応した1組の
レジスタ群の内容を格納する16個のベースレジスタと
16個の汎用レジスタとを有し、32ワード×4バイト
のデータを貯蔵することができる。
That is, the register group storage device 6 of this embodiment includes a first register stack 61 having 32 registers;
It consists of a second register stack 62 having four registers, and a register group control circuit 63 that controls the saving and restoring of the contents of these registers. The first register stack 61 has 16 base 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.

また、第2のレジスタスタック6211,64’7−ド
×4バイトのデータを貯蔵可能であシ、上述の実行中の
プロセスに対応する1組のレジスタ群と、直前の実行プ
ロセスに対応する1組のレジスタ群の内容とを貯蔵する
2つのエリアを有する。レジスタ群制御回路63は、こ
れらのレジスタスタツ該プロセプの切替処理(レジスタ
の回復)が終了した後に、命令の実行と並行して行なう
ように構成したから、プロセスの切替処理に要する時間
を著しく短縮することができ、システム性能を高速化す
ることが可能である。
In addition, the second register stack 6211, 64' can store data of 7-de x 4 bytes, and includes one set of registers corresponding to the above-mentioned executing process and one set of registers corresponding to the immediately previous executing process. It has two areas for storing the contents of the set of registers. The register group control circuit 63 is configured to perform these register statuses in parallel with the instruction execution after the process switching process (recovery of registers) is completed, so that the time required for the process switching process is significantly shortened. It is possible to speed up system performance.

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

第1図は従来のレジスタ群貯蔵装置を使用した計算機シ
ステムの一例を示すブロック図、第2図は上記従来シス
テムにおけるレジスタの退避、同復動作を示すタイムチ
ャート、第3図は本発明の一実施例を示すブロック図、
第4図は上記実施例のレジスタ群貯蔵装置を示す詳細ブ
ロック図、第5図は上記実施例全使用した計算システム
のレジスタの回復、退避動作を示すタイムチャートであ
る。 図において、1・・・主記憶装置、2・・・中央処理装
置、3・・・命令フェッチ装置、4・・・命令実行装置
、5.6・・・レジスタ群貯蔵装置、51・・・レジス
タスタック、52・・・アドレスレジスタ、61・・・
第1のレジスタスタッタ、62・・・第2のレジスタス
タック、63・・・レジスタ群制御回路、631・・・
アドレスレジスタ、632.634.641・・・選択
回路、633・・・エリア指定レジスタ、635・・・
レジスタ書込みレジスタ、637・・・退避アドレスレ
ジスタ、639・・・ALL’“1”検出回路、642
・・・メモリアドレスレジスタ、644・・・退避表示
レジスタ。 代理人 弁理士  住 1)俊 末 弟1図 第2図 一時刻 第3図 前に実行中であったプロセスに対応したレジスタ群、す
なわち第2のレジスタスタック62の1つのエリアに保
存されている内容を主記憶装置1へ退避させる(第5図
時刻■〜■参照)。すなわち、退避表示レジスタ644
の出力論理″′1″がアンド回路636を介して選択回
路632および634へ供給されることにより、選択回
路634はエリア指定レジスタ633の否定出力を選択
し、選択回路632は退避アドレスレジスタ637の出
力を選択してそれぞれ第2のレジスタスタック62に対
する上位1ビツトおよび下位5ビツトの読出しアドレス
として供給する。退避アドレスレジスタ637は、前記
アンド回路636の出力によってセットされ、マシンク
ロックが供給されるごとに+1回路638によって1加
算される。すなわち、第2のレジスタスタック62の以
前実行中のプロセスに対応する1つのエリアから順次デ
ータが読出されて読出データ78が出力される。一方ア
ンド回路636の出力はオア回路640を介してメモリ
アドレスレジスタ6420セツト信号となシ、メモリア
ドレスレジスタ6420セツトした退避エリア先頭アド
レスは、マシンクロックごとに+4回路643で4ずつ
加算されて主記憶アドレス79として出力される。従っ
て、第2のレジスタスタック62に保存されていた以前
実行中のプロセスに対応する内容i、主記憶装置1内の
該当する退避エリアに退避格納される。 ただし、上述の退避動作中に、命令の実行によシレジス
タ書込みが必要となった場合には、命令フェッチ装置3
からレジスタ書込信号75がレジスタ書込みレジスタ6
35に供給される。レジスタ書込みレジスタ635は、
マシンクロックごとに入力信号75がセットされるフリ
ップフロップであって、書込信号75によってセットさ
れると、その否定出力によってアンド回路63601つ
の入力が@0”となるから、該アンド回路636の出力
論理は′θ″となシ、前記選択回路632および634
は、それぞれアドレス情報631およびエリア指定レジ
スタ633の正出力を選択して第2のレジスタスタック
62の書込みアドレスとする。 従って、第1のレジスタスタック61および第2のレジ
スタスタック62へ命令実行装置4からのデータが書込
まれる。この間アンド回路636の出力論理″′ONに
よってメモリアドレスレジスタ642および退避アドレ
スレジスタ6370セツト入力は′θ″と力っているか
ら退避動作は一時中断される。 なお、退避処理中は、退避表示レジスタ644の出力が
退避表示信号77として命令フェッチ装置3へ送られて
いるから、命令フェッチ装置3では、この間において次
のプロセス切替の指示を検出してもその実行を待たせ、
退避完了後にプロセス切替を行なう。 退避処理が進行し、退避アドレスレジスタ637の5ビ
ツト出力が全部11″になると、5人力のアンド回路か
ら成るALL61″検出回路639でこれを検出し、前
記退避表示レジスタ644および退避アドレスレジスタ
637がリセットされ、これらのレジスタの内容はすべ
て加”となる。すなわち、第5図に示した時刻■で退避
処理が完了した後は時刻■以前と同様な動作状態となり
命令の:実行が継続される。 上述の説明から理解されるように、本実施例においては
、プロセス切替処理時のレジスタ退避処理のだめの32
回の主記憶装置への1込み動作は、命令の実行と平行し
て行なわれるから、レジスタ退避のために余分に要する
時間は零となり、それだけ切替処理が高速化される効果
がある。 上述の実施例は、第2のレジスタスタック62を読出し
と書込みの同時動作ができない場合についテ説明したが
、例えばレジスタファイル素子を使用すれば、読出しア
ドレスと書込みアドレスとを独立に供給することにより
、耽出しと誉込みの同時動作が可能である。この場合は
、第4図に示したレジスタ書込指示信号75によるレジ
スタ退避処理の一時中断が不要となり、レジスタの退避
処理は、命令の実行と完全に独立させることができる。 以上のように、本発明においては、レジスタの退避処理
を、プロセスの切替処理時に行なわず、該プロセスの切
替処理(レジスタの回復)が終了した後に、命令の実行
と並行して行なうように構成したから、プロセスの切替
処理に要する時間を著しく短縮することができ、システ
ム性能を高速化することが可能である。 4、図面の簡単な説明 第1図は従来のレジスタ群貯蔵装置を使用した計算機シ
ステムの−(夕IIを示すブロック図、第2図は上記従
来システムにおけるレジスタの退避2回復動作を示すタ
イムチャート、第3図は本発明の一実施例を示すブロッ
ク図、第4図は上記実施例のレジスタ群貯蔵装置を示す
詳細ブロック図、第5図は上記実施例全便用した計算シ
ステムのレジスタの回復、退避動作を示すタイムチャー
トである。 図において、1・・・主記憶装置、2・・・中央処理装
置、3・・・命令フェッチ装置、4・・・命令実行装置
、5.6・・・レジスタ群貯蔵装置、51・・・レジス
タスタック、52・・・アドレスレジスタ、61・・・
第1のレジスタスタック、62・・・第2のレジスタス
タック、63・・・レジスタ群制御回路、631・・・
アドレスレジスタ、632.634.641・・・選択
回路、633・・・エリア指定レジスタ、635・・・
レジスタ書込みレジスタ、637・・・退避アドレスレ
ジスタ、639・・・A L L ” 1”検出回路、
642・・・メモリアドレスレジスタ、644・・・退
避表示レジスタ。 代理人 弁理士   住 1)俊 末 弟1図 第2図 −glt加) 第3図
FIG. 1 is a block diagram showing an example of a computer system using a conventional register group storage device, FIG. 2 is a time chart showing register saving and restoring operations in the conventional system, and FIG. 3 is a block diagram showing an example of a computer system using a conventional register group storage device. A block diagram showing an embodiment,
FIG. 4 is a detailed block diagram showing the register group storage device of the above embodiment, and FIG. 5 is a time chart showing the register recovery and saving operations of the computing system using all of the above embodiments. In the figure, 1... Main memory device, 2... Central processing unit, 3... Instruction fetch device, 4... Instruction execution device, 5.6... Register group storage device, 51... Register stack, 52...Address register, 61...
First register stutter, 62... Second register stack, 63... Register group control circuit, 631...
Address register, 632.634.641... Selection circuit, 633... Area specification register, 635...
Register write register, 637... Save address register, 639... ALL'"1" detection circuit, 642
. . . Memory address register, 644 . . . Save display register. Agent Patent Attorney Sumi 1) Shun Youngest brother 1 Figure 2 Figure 2 Figure 3 Time Figure 3 Group of registers corresponding to the previously executing process, that is, contents stored in one area of the second register stack 62 is saved to the main storage device 1 (see times 1 to 2 in FIG. 5). In other words, the save display register 644
By supplying the output logic "'1" of The outputs are selected and supplied as read addresses of the upper 1 bit and lower 5 bits to the second register stack 62, respectively. The save address register 637 is set by the output of the AND circuit 636, and is incremented by 1 by a +1 circuit 638 every time the machine clock is supplied. That is, data is sequentially read from one area of the second register stack 62 corresponding to the previously executed process, and read data 78 is output. On the other hand, the output of the AND circuit 636 is sent to the memory address register 6420 as a set signal via the OR circuit 640, and the first address of the save area set in the memory address register 6420 is added by 4 in the +4 circuit 643 for each machine clock to be added to the main memory. It is output as address 79. Therefore, the content i corresponding to the previously executed process, which was saved in the second register stack 62, is saved and stored in the corresponding save area in the main storage device 1. However, during the above-mentioned save operation, if it becomes necessary to write the register due to the execution of an instruction, the instruction fetch device 3
The register write signal 75 is sent to the register write register 6 from
35. The register write register 635 is
This is a flip-flop whose input signal 75 is set every machine clock, and when it is set by the write signal 75, its negative output causes one input of the AND circuit 6360 to become @0'', so the output of the AND circuit 636 The logic is 'θ'', and the selection circuits 632 and 634
selects the address information 631 and the positive output of the area designation register 633, respectively, and uses them as the write address of the second register stack 62. Therefore, data from the instruction execution device 4 is written to the first register stack 61 and the second register stack 62. During this time, the memory address register 642 and the save address register 6370 set inputs are at ``θ'' due to the output logic ``''ON of the AND circuit 636, so the save operation is temporarily interrupted. Note that during the save process, the output of the save display register 644 is sent to the instruction fetch device 3 as the save display signal 77, so even if the instruction fetch device 3 detects the next process switching instruction during this period, make you wait for execution,
Process switching is performed after the evacuation is completed. When the save process progresses and all 5-bit outputs of the save address register 637 become 11'', this is detected by the ALL61'' detection circuit 639 consisting of a 5-man AND circuit, and the save display register 644 and the save address register 637 are The contents of these registers are reset and all contents of these registers become "+".In other words, after the save processing is completed at time ■ shown in FIG. As can be understood from the above explanation, in this embodiment, the register saving process at the time of process switching process is performed in 32 steps.
Since the 1-input operation to the main memory is performed in parallel with the execution of the instruction, the extra time required for saving the register becomes zero, which has the effect of speeding up the switching process. Although the above embodiment has been described in the case where the second register stack 62 cannot be read and written simultaneously, for example, if a register file element is used, the read address and the write address can be supplied independently. , it is possible to perform both indulgence and honor at the same time. In this case, there is no need to temporarily interrupt the register saving process by the register write instruction signal 75 shown in FIG. 4, and the register saving process can be made completely independent of instruction execution. As described above, in the present invention, register saving processing is not performed during process switching processing, but is performed in parallel with instruction execution after the process switching processing (register recovery) is completed. Therefore, the time required for process switching can be significantly shortened, and system performance can be increased. 4. Brief description of the drawings FIG. 1 is a block diagram showing a computer system using a conventional register group storage device, and FIG. 2 is a time chart showing register save and restore operations in the conventional system. , FIG. 3 is a block diagram showing one embodiment of the present invention, FIG. 4 is a detailed block diagram showing the register group storage device of the above embodiment, and FIG. 5 is a register recovery of a computing system using all of the above embodiments. , is a time chart showing the evacuation operation. In the figure, 1... Main storage device, 2... Central processing unit, 3... Instruction fetch device, 4... Instruction execution device, 5.6... - Register group storage device, 51... register stack, 52... address register, 61...
First register stack, 62... Second register stack, 63... Register group control circuit, 631...
Address register, 632.634.641... Selection circuit, 633... Area specification register, 635...
Register write register, 637... Save address register, 639... A L L "1" detection circuit,
642... Memory address register, 644... Save display register. Agent Patent Attorney Sumi 1) Shun Youngest brother 1 Figure 2 - GLT addition) Figure 3

Claims (1)

【特許請求の範囲】[Claims] 命令の7エツチ装置と、命令実行装置と、レジスタ群貯
蔵装置とを内蔵して、主記憶装置から命令を7エツチ、
解読し、命令の実行および命令の解読や割込によ)起動
されるプロセスの切替処理ヲ行ない、プログラムの処理
単位であるプロセス毎に演算に使用される1組のレジス
タ群の内容を主記憶装置の各プロセスに対応して設けら
れたレジスタ退避エリアから読出して前記レジスタ群貯
蔵装置に格納させ、かつ該レジスタ群貯蔵装置に格納さ
れていた以前に実行中のプロセスに対する1組のレジス
タ群の内容を前記主記憶装置の対応するレジスタ退避エ
リアに退避させるようにして、実行可能状態にある複数
のプロセスのうち同時には1個のプロセスを実行する中
央処理装置のレジスタ群貯蔵装置において、実行中のプ
ロセスに対応する1組の前記レジスタ群の内容を貯蔵す
る第1のレジスタスタックと、上記実行中のプログラム
に対応する1組のレジスタ群の内容および以前に実行中
であった1組のレジスタ群の内容とを貯蔵できる2つの
エリアを有する第2のレジスタスタックと、これら第1
および第2のレジスタスタックへの読出し書込みのため
のアドレス情報、退避先エリア先頭アドレス情報9回復
開始指示信号等を前記命令フェッチ装置fから受けてこ
れらの動作を制御するレジスタ群制御回路とを備えて、
命令の実行に使用されるレジスタオペランドは前記命令
フェッチ装置から与えられるレジスタアドレス情報によ
り前記第1のレジスタスタックから前記命令実行装置に
読出され、演算結果は前記命令フーツチ装置から与えら
dvジータアドレ=情報によ)前記第1のレジスタスタ
ックおよび第2のレジスタスタックの1つのエリアの対
応位置に同時に格納され、前記命令フェッチ装置からプ
ロセス切替処理のための回復開始指示信号が与えられる
と、前記主記憶装置の該当退避エリアから読出された対
応する1組のレジスタ群内容を前記第1のレジスタスタ
ックおよび第2のレジスタスタックの上記と異なるもう
1つのエリアに同時に格納し、前記命令フェッチ装置か
ら与えられるプロセス切替終了信号により、新しいプロ
セスに対する命令の実行と並行して前記第2のレジスタ
スタックの以前実行中であったプロセスに対応した1つ
のエリアに格納されている1組のレジスタ群の内容を順
次送出して前記主記憶装置の該当退避エリアへ退避させ
るようにしたことを特徴とするレジスタ群貯蔵装置。
It has a built-in instruction retrieval device, an instruction execution device, and a register group storage device, and is capable of retrieving instructions from the main memory.
The main memory stores the contents of a set of registers used for calculations for each process, which is the processing unit of the program, and executes instructions and switches the processes activated (by decoding instructions or interrupts). A set of register groups is read from a register save area provided corresponding to each process of the device and stored in the register group storage device, and is stored in the register group storage device for a previously executing process. In the register group storage device of a central processing unit that executes one process at a time among a plurality of processes in an executable state, the contents are saved to the corresponding register save area of the main storage device. a first register stack for storing the contents of a set of registers corresponding to the process; and a first register stack storing the contents of a set of registers corresponding to the program being executed and a set of registers previously being executed. a second register stack having two areas in which the contents of the group can be stored;
and a register group control circuit that receives address information for reading and writing to the second register stack, save destination area start address information 9, a recovery start instruction signal, etc. from the instruction fetch device f, and controls these operations. hand,
Register operands used to execute an instruction are read from the first register stack to the instruction execution device according to register address information given from the instruction fetch device, and operation results are read out from the instruction execution device by register address information given from the instruction fetch device. ) are simultaneously stored in corresponding positions in one area of the first register stack and the second register stack, and when a recovery start instruction signal for process switching processing is given from the instruction fetch device, the main memory The contents of a corresponding set of register groups read from the corresponding save area of the device are simultaneously stored in another area different from the above of the first register stack and the second register stack, and the contents are provided from the instruction fetch device. In response to a process switching end signal, the contents of a set of registers stored in one area of the second register stack corresponding to the previously executing process are sequentially executed in parallel with the execution of instructions for the new process. A register group storage device, characterized in that the register group storage device is configured to send the registers and save them to a corresponding save area of the main storage device.
JP14251581A 1981-09-11 1981-09-11 Register group storage device Granted JPS5846444A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP14251581A JPS5846444A (en) 1981-09-11 1981-09-11 Register group storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14251581A JPS5846444A (en) 1981-09-11 1981-09-11 Register group storage device

Publications (2)

Publication Number Publication Date
JPS5846444A true JPS5846444A (en) 1983-03-17
JPS6239779B2 JPS6239779B2 (en) 1987-08-25

Family

ID=15317143

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14251581A Granted JPS5846444A (en) 1981-09-11 1981-09-11 Register group storage device

Country Status (1)

Country Link
JP (1) JPS5846444A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130111343A (en) * 2012-03-29 2013-10-10 가부시키가이샤 한도오따이 에네루기 켄큐쇼 Processor and method for driving the same

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 (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130111343A (en) * 2012-03-29 2013-10-10 가부시키가이샤 한도오따이 에네루기 켄큐쇼 Processor and method for driving the same
JP2013229019A (en) * 2012-03-29 2013-11-07 Semiconductor Energy Lab Co Ltd Processor and method for driving the same

Also Published As

Publication number Publication date
JPS6239779B2 (en) 1987-08-25

Similar Documents

Publication Publication Date Title
US4745547A (en) Vector processing
JPH0668726B2 (en) Register management system
JPH0766329B2 (en) Information processing equipment
JPH04211838A (en) Method and apparatus for preventing returning risk
JPH0414385B2 (en)
JPS62221732A (en) Register saving and recovery system
JPH0682320B2 (en) Data processing device
JP4465081B2 (en) Efficient sub-instruction emulation in VLIW processor
JP3170472B2 (en) Information processing system and method having register remap structure
JPS5846444A (en) Register group storage device
US4816992A (en) Method of operating a data processing system in response to an interrupt
JPS61184643A (en) Starting control system for virtual computer
JP2671160B2 (en) Exception handling method
JPS6240736B2 (en)
JPH0377137A (en) Information processor
JPH0654505B2 (en) Parallel processor
JP2004178427A (en) Central processing unit
JPS62151942A (en) Task changing-over system
JP4116752B2 (en) Computer and its control method
JP2583614B2 (en) Vector arithmetic unit
JP2761324B2 (en) High-speed processing method
JPS62276634A (en) Virtual computer system
JPH052485A (en) Pipeline control system
JPS6149695B2 (en)
JPH05108353A (en) Information processor