JPS6240736B2 - - Google Patents

Info

Publication number
JPS6240736B2
JPS6240736B2 JP56190516A JP19051681A JPS6240736B2 JP S6240736 B2 JPS6240736 B2 JP S6240736B2 JP 56190516 A JP56190516 A JP 56190516A JP 19051681 A JP19051681 A JP 19051681A JP S6240736 B2 JPS6240736 B2 JP S6240736B2
Authority
JP
Japan
Prior art keywords
register
stack
circuit
contents
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.)
Expired
Application number
JP56190516A
Other languages
English (en)
Other versions
JPS5894038A (ja
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
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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP19051681A priority Critical patent/JPS5894038A/ja
Publication of JPS5894038A publication Critical patent/JPS5894038A/ja
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)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は計算機システムに利用する。本発明は
命令の割込その他で起動されるプロセスの切替処
理に利用する。
本発明は、計算機システムの中央処理装置で演
算に使用されるレジスタ群が、プログラムの処理
単位であるプロセス毎に1組ずつ定義されて、そ
れぞれ主記憶装置内のプロセスごとに対応して設
けられたレジスタ退避エリアに退避格納が可能で
あり、複数個の実行可能状態にあるプロセスのう
ち、同時には1個のプロセスを実行する計算機シ
ステムにおけるレジスタ群貯蔵装置に関する。特
に、プロセス切替時のレジスタ群に対する制御に
関する。
〔従来の技術〕
従来のシステムは第1図に示すように構成され
ている。すなわち、主記憶装置1は、命令および
オペランドと、複数組のレジスタ群の各内容に対
する退避データとを記憶している。この複数組の
レジスタ群のうちの1組のレジスタ群の内容は1
つのプロセスに対応している。中央処理装置2
は、命令フエツチ装置3、命令実行装置4および
レジスタ群貯蔵装置5を含む。レジスタ群貯蔵装
置5は、実行中のプロセスに対応して1組のレジ
スタ群を貯蔵するレジスタスタツク51と、この
レジスタスタツク51の読出しおよび書込みのた
めのアドレスを供給するアドレスレジスタ52と
から構成されている。上記レジスタスタツク51
は、通常主記憶アドレスのベースアドレスを保持
する16個のベースレジスタ(BR0〜BR15)
と、主記憶アドレスの指標アドレスおよび演算に
使用されるデータを保持する16個の汎用レジスタ
(GR0〜GR15)とを有する。
前記命令フエツチ装置3は命令を主記憶装置1
よりフエツチするとともに解読し、メモリオペラ
ンドおよびレジスタオペランドを準備する。メモ
リオペランドの準備とは、命令で指定されたベー
スレジスタおよび汎用レジスタの内容をアドレス
レジスタ52を介してレジスタスタツク51から
読出し、これらの内容と命令内の変位フイールド
の内容との3個のデータを演算することにより主
記憶アドレスを求め、主記憶装置1へロードアク
セス要求を発生することである。また、レジスタ
オペランドの準備とは、命令で指定された汎用レ
ジスタの内容をアドレスレジスタ52を介してレ
ジスタスタツク51から読出し、この読出しデー
タが命令実行装置4で受け取られることである。
命令実行装置4での演算結果は、命令フエツチ装
置3からアドレスレジスタ52を介して与えられ
たレジスタスタツク51のアドレス位置へ格納さ
れる。
命令フエツチ装置3において、入出力制御装置
などの他プロセツサからの割込み、もしくは命令
実行中の例外検出による割込または命令解読等に
より、プロセスの切替えが必要になつた場合は、
まず実行中であつたプロセスに対応したレジスタ
群であるレジスタスタツク51の内容を、主記憶
装置1内のあらかじめプロセス対応に定められた
エリアへ退避させ、次に新しく実行すべきプロセ
スに対応したレジスタ群の内容を、主記憶装置1
内の該当退避エリアからレジスタスタツク51へ
移す(すなわち回復する)ことが必要である。
このレジスタ群の退避および回復の動作を第2
図に示すタイムチヤートを参照して説明する。
まず、レジスタスタスタツク51の16個のベー
スレジスタ(BR0〜BR15)および16個の汎用
レジスタ(GR0〜GR15)、合計32個のレジス
タの内容を順次主記憶装置1へ書込み退避させ
る。次いで主記憶装置1からレジスタスタツク5
1の32個のレジスタ(BR0〜BR15、GR0〜
GR15)へ、新しいプロセスに対応する主記憶
装置の退避エリアから順次書込み回復する。すな
わち、退避処理および回復処理のために、32回の
主記憶装置への書込みと、32回の主記憶装置から
の読出し動作が必要である。
このように、第1図に示したような従来のレジ
スタ群貯蔵装置5を用いた計算機システムでは、
プロセスの切替えに多大の時間を要するという欠
点がある。このプロセス切替えに要する時間は、
基本命令の処理に要する時間に比して、10〜100
倍程度を要し、システムの性能を著しく低下させ
る要因となる。
一方、上述の欠点を改良し、プロセス処理の切
替えに際し、レジスタ群の退避処理に要する時間
を実質的に零とすることが可能なレジスタ群貯蔵
装置に係る発明をこの出願と同時に特許出願する
(特願昭56−142515)。
この上記出願の発明は、実行中のプロセスに対
応する1組の前記レジスタ群の内容を貯蔵する第
1のレジスタスタツクと、上記実行中のプロセス
に対応する1組のレジスタ群の内容および以前に
実行中であつた1組のレジスタ群の内容とを貯蔵
できる2つのエリアを有する第2のレジスタスタ
ツクと、これら第1および第2のレジスタスタツ
クへの読出し書込みのためのアドレス情報、退避
先エリア先頭アドレス情報、回復開始指示信号等
を前記命令フエツチ装置から受けてこれらの動作
を制御するレジスタ群制御回路とを備えて、命令
の実行に使用されるレジスタオペランドは前記命
令フエツチ装置から与えられるレジスタアドレス
情報により前記第1のレジスタスタツクから前記
命令実行装置に読出され、演算結果は前記命令フ
エツチ装置から与えられるレジスタアドレス情報
により前記第1のレジスタスタツクおよび第2の
レジスタスタツクの1つのエリアの対応位置に同
時に格納され、前記命令フエツチ装置からプロセ
ス切替処理のための回復開始指示信号が与えられ
ると、前記主記憶装置の該当退避エリアから読出
された対応する1組のレジスタ群内容を前記第1
のレジスタスタツクおよび第2のレジスタスタツ
クの上記と異なるもう1つのエリアに同時に格納
し、前記命令フエツチ装置から与えられるプロセ
ス切替終了信号により、新しいプロセスに対する
命令の実行と並行して前記第2のレジスタスタツ
クの以前実行中であつたプロセスに対応した1つ
のエリアに格納されている1組のレジスタ群の内
容を順次送出して前記主記憶装置の該当退避エリ
アへ退避させるように構成されている。
第3図は上述の改良された貯蔵装置の一例を示
すブロツク図である。すなわち、レジスタ群貯蔵
装置6は、32個のレジスタを有する第1のレジス
タスタツク61と、64個のレジスタを有する第2
のレジスタスタツク62と、これらレジスタの内
容の退避、回復を制御するレジスタ群制御回路6
3とから構成される。上記第1のレジスタスタツ
ク61は、実行中のプロセスに対応した1組のレ
ジスタ群の内容を格納する16個のベースレジスタ
と16個の汎用レジスタとを有し、32ワード×4バ
イトのデータを貯蔵することができる。また、第
2のレジスタスタツク62は、64ワード×4バイ
トのデータを貯蔵することが可能であり、上述の
実行中のプロセスに対応する1組のレジスタ群お
よび直前の実行プロセスに対応する1組のレジス
タ群の内容を貯蔵する2つのエリアを有する。
レジスタ群制御回路63は、これらのレジスタ
スタツク61および62への命令実行に使用され
るレジスタオペランドの読出しおよび書込みのた
めのアドレスを供給し、プロセス切替処理の終了
後に通常の命令の処理と並行して第2のレジスタ
スタツク62の1つのエリアに格納されている旧
プロセスに対応したレジスタ群の内容を主記憶装
置1へ退避させるように制御する。
上述の貯蔵装置は、通常の命令の処理中には、
レジスタ内容の読出しは第1のレジスタスタツク
61から行われ、命令実行装置4での演算結果
は、第1および第2のレジスタスタツクの双方へ
書き込まれる。第2のレジスタスタツク62は、
前述のように2つのエリアを有し、いずれか一方
のエリアは実行中のプロセスに対応していて第1
のレジスタスタツク61と同じ内容を有し、第1
のスタツク61と同時に内容が書き替えられる。
他方のエリアには1回前に実行中であつたプロセ
スに対応したレジスタ群の内容が貯蔵されてい
る。上記2つのエリアは、プロセスの切替えごと
に交互に切替えられる。
第4図はプロセス切替時における上記レジスタ
群貯蔵装置の動作を示すタイムチヤートである。
プロセス切替処理時(同図時刻〜)におい
て、主記憶装置1内の新しく実行するプロセスに
対応したレジスタ群の内容は、BR0から順次読み
出され、第3図に示す命令実行装置4を介して、
第1および第2のレジスタスタツク61および6
2(一方のエリア)に書き込まれる。すなわち、
レジスタの回復処理が行われる。このとき第2の
レジスタスタツク62の他方のエリアには、直前
に実行されていたプロセスに対応するレジスタ群
の内容が残されている。そして、時刻でレジス
タの回復処理が完了したのち、命令の実行と平行
して、第2のレジスタ62の上記他方のエリアに
格納されている直前のプロセスに対応するレジス
タ群の内容の退避が行われる。すなわち、時刻
〜の間に上記エリアの内容がBR0から順次主記
憶装置1内の対応エリアへ転送される。上述の動
作によりプロセス切替処理に要する時間が、実質
的にはレジスタの回復処理に要する時間のみとな
り、退避動作の時間は考慮する必要がない。
〔発明が解決しようとする問題点〕 すなわち、前述の従来例に比してこの改良では
約2倍の高速化が達成される。しかし、基本命令
の実行時間との間には未だ大きな差があり、シス
テムの性能を劣化させる大きな要因となつてい
る。
本発明の目的は、上述の従来の欠点を解決し、
プロセス切替処理におけるレジスタ群の回復処理
を可能な限り高速化し、システム性能への影響を
最小限にすることができるレジスタ群貯蔵装置を
備えた電子計算機を提供することにある。
〔問題点を解決するための手段〕
本発明は命令フエツチ装置と、命令実行装置
と、レジスタ群貯蔵装置とを内蔵し、主記憶装置
から命令をフエツチし、解読し、命令の実行およ
び命令の解読や割込により起動されるプロセスの
切替処理を行う手段と、プログラムの処理単位で
あるプロセス毎に演算に使用される1組のレジス
タ群の内容を主記憶装置の各プロセスに対応して
設けられたレジスタ退避エリアから読出して前記
レジスタ群貯蔵装置に格納させる手段と、このレ
ジスタ群貯蔵装置に格納されていた以前に実行中
のプロセスに対する1組のレジスタ群の内容を前
記主記憶装置の対応するレジスタ退避エリアに退
避させるようにして、実行可能状態にある複数の
プロセスのうち同時には1個のプロセスを実行す
る手段とを含む中央処理装置とを備えた電子計算
機において、前記レジスタ群貯蔵装置は、実行中
のプロセスに対応する1組の前記レジスタ群の内
容を貯蔵する第1のレジスタスタツクと、上記実
行中のプロセスに対応する1組のレジスタ群の内
容および以前に実行中であつた1組のレジスタ群
の内容並びに次に実行すべきプロセスに対応する
レジスタ群の内容とを貯蔵できる複数のエリアを
有する第2のレジスタスタツクと、前記命令フエ
ツチ装置からのレジスタアドレス情報によつて前
記第1および第2のレジスタスタツクへのアドレ
ス指示を行う制御回路と、この制御回路からの回
復終了信号によりメモリアクセス信号を送出し上
記回復終了後に主記憶装置からのメモリ終了信号
を受けると次のプロセス決定信号を送出する次プ
ロセス決定回路と、前記第2のレジスタスタツク
の複数のエリアに対応して設けられこれらの各エ
リアに格納されているレジスタ群に対応するプロ
セス番号を登録する複数のスタツク管理レジスタ
を内蔵し命令フエツチ装置からのプロセス情報ま
たは主記憶装置からの読出しデータ中のプロセス
番号と上記スタツク管理レジスタの内容とをプロ
セス切替指示信号または前記次プロセス決定信号
により比較した結果により実行エリアアドレス情
報および回復指示信号または転送エリアアドレス
情報および転送指示信号を前記制御回路へ送出す
る管理回路とを備え、前記制御回路は、この管理
回路からの実行エリアアドレス情報または転送エ
リアアドレス情報によつて前記第2のレジスタス
タツクのエリアを指示して前記第2のレジスタス
タツクの書込みまたは読出しを制御する手段と、
前記第2のレジスタスタツクから前記第1のレジ
スタスタツクへの回復動作の終了により前記回復
終了信号を送出し前記第2のレジスタスタツクへ
の主記憶装置からの転送終了により転送終了信号
を送出する手段とを含むことを特徴とする。
〔作用〕
通常の命令実行時には第1のレジスタスタツク
から読出して命令が実行され、演算結果はこの第
1のレジスタスタツクおよび第2のレジスタスタ
ツクの1つのエリアに同時に格納する。プロセス
切替時においては、前記第2のレジスタスタツク
の1つのエリアに格納されている次プロセスに対
応するレジスタ群の内容を第1のレジスタスタツ
クへ転送して回復処理を完了する。その後このプ
ロセスの実行と平行してその次に実行すべき次プ
ロセス番号を主記憶装置から読み出し、そのプロ
セス番号と前記複数のスタツク管理レジスタの一
致の有無を検出し、いずれとも不一致であるとき
は当該プロセスのレジスタ群が退避されている主
記憶装置の退避エリア先頭アドレスから順次対応
するレジスタ群の内容を読出して、第2のレジス
タスタツクのもう1つ別のエリアに格納する。
〔実施例〕
次に、本発明について図面を参照して詳細に説
明する。
第5図は本発明の一実施例装置構成図である。
この図はレジスタ群貯蔵装置6、命令フエツチ装
置3、命令実行装置4および主記憶装置1を含む
計算機システムを示す。すなわちこのシステム
は、主記憶装置1と中央処理装置2とからなり、
中央処理装置2は、命令フエツチ装置3と、命令
実行装置4と、レジスタ群貯蔵装置6とを含む。
レジスタ群貯蔵装置6を除いた構成は、前述の第
1図または第3図に示された従来例と同様であ
る。レジスタ群貯蔵装置6に本発明の特徴があ
る。
このレジスタ群貯蔵装置6は、第1のレジスタ
スタツク61、第2のレジスタスタツク62、制
御回路63、次プロセス決定回路65、管理回路
66、選択回路601,602とを含。
第1のレジスタスタツク61は、実行中のプロ
セスに対応するレジスタ群を貯蔵するレジスタ
で、 32ワード×4バイド の構成を持つ。そして、制御回路63から指示さ
れるアドレスの内容を読出して命令フエツチ装置
3および命令実行装置4に送り、選択回路601
で選択された命令実行装置4の出力または第2の
レジスタスタツク62の読出しデータを指示され
たアドレスに書込む。
第2のレジスタスタツク62は、上記の第1の
レジスタスタツク62の4倍の容量、すなわち
128ワード×4バイトの構成を持ち、4つのエリ
アに分割されている。各エリアの容量は、 32ワード×4バイト であり、それぞれのエリアに対して2ビツトのア
ドレスが割り当てられている。上記4つのエリア
のうち、1つは実行中のプロセスに対応するレジ
スタ群を貯蔵するエリアであり、前記第1のレジ
スタスタツクと同時に書き替えられる。他の1つ
は直前に実行されたプロセスのレジスタ群貯蔵エ
リアであり、残りの2つのエリアは、次に実行す
べきプロセスのレジスタ群をあらかじめ貯蔵する
ために使用される。
選択回路602は、命令実行装置4の出力また
は主記憶装置1からの読出しデータを択一的に選
択して上記第2のレジスタスタツク62に与え
る。第2のレジスタスタツク62に書込むべき番
地およびエリア指定は、制御回路63から与えら
れる。そして、次に実行すべきプロセスに対応す
るレジスタ群の内容は、あらかじめ主記憶装置1
から転送されて1つのエリアに記憶しておいて、
プロセス切替時に選択回路601を介して第1の
レジスタスタツク61へ転送する。これらの動作
は制御回路63、次プロセス決定回路65、管理
回路66等の協動によつて行う。
制御回路63は、第1および第2のレジスタス
タツク61および62に対するアドレス制御およ
び命令の実行とは独立に、主記憶装置1へアクセ
スするための制御を行う回路であつて、詳しくは
第6図に示すように構成されている。すなわち、
命令フエツチ装置3からのレジスタアドレス情報
71をレジスタアクセス指示信号72によつて格
納するアドレスレジスタ631を備える。また回
復動作時等の第2のレジスタスタツクのアドレス
を与えるための回復アドレスレジスタ637を備
える。また、上記両レジスタの出力を択一的に選
択して第1のレジスタスタツク61に供給する選
択回路632、第2のレジスタスタツク62に供
給するアドレスを選択する選択回路633を備え
る。管理回路66から与えられる実行エリアアド
レス情報88または転送エリアアドレス情報89
(2ビツト)を択一的に選択出力して第2レジス
タスタツク62の4つのエリアのうちの1つを指
定する選択回路634、管理回路66から与えら
れる回復指示信号74をセツトする回復指示レジ
スタ635、同じく管理回路66から与えられる
転送指示信号81をセツトする転送指示レジスタ
645を備える。また主記憶装置1からの読出し
データ85の下位24ビツト79および固定値A並
びに「+4」回路644の出力を入力し、次プロ
セス決定回路65から与えられる次プロセス決定
信号80またはアンド回路641を介して与えら
れる回復完了信号によつて、上記入力信号を択一
的に選択出力してメモリアドレスレジスタ642
に供給する選択回路643を備える。上記メモリ
アドレスレジスタ642、このレジスタ642の
内容を+4する回路644、回復アドレスレジス
タ637のオール「1」を検出し、アンド回路6
41を介して回復終了信号75を出力させるオー
ル「1」検出回路640を備える。さらに上記各
種信号のアンドまたはオアにより各種レジスタの
セツト、リセツトまたは外部装置に対する各種信
号を出力する多数のオア回路およびアンド回路を
含む。
オア回路648は、次プロセス決定回路65か
らの次プロセス決定信号80、アンド回路641
の出力する回復終了信号75およびアンド回路6
47の出力信号を入力するオア回路であり、それ
らの信号を前記メモリアドレスレジスタ642の
セツト端子Sに与える。アンド回路647は、主
記憶装置1からのメモリ終了信号78と転送指示
レジスタ645の出力とを入力し、出力を前記オ
ア回路648およびアンド回路650の入力に接
続する。アンド回路650は、アンド回路647
の出力とオール「1」検出回路640の出力を入
力し、転送終了信号82を送出して管理回路66
に送る。また、メモリ終了信号78とオール
「1」検出回路640をアンド回路651に入力
させ、その出力で転送指示レジスタ645をリセ
ツトさせる。
転送指示レジスタ645の出力と次プロセス決
定回路65からのメモリアクセス信号76とは、
オア回路646を介して主記憶装置1へのメモリ
リクエスト信号77とされる。また転送指示レジ
スタ645の出力および回復指示レジスタ635
の出力はオア回路639を介して切替回路633
の切替制御信号とされる。アンド回路641はオ
ール「1」検出回路640と回復指示レジスタ6
35の出力を入力とし、その出力は前述の回復終
了信号75とされる。回復アドレスレジスタ63
7の出力は、+1回路638によつて+1されて
レジスタ内容が+1される。
以上の構成により、制御回路63の動作は以下
のようになる。常時は、命令フエツチ装置3から
のレジスタアドレス情報71によつて第1のレジ
スタスタツク61の書込み読出しアドレスとし、
かつ第2のレジスタスタツク62の書込みアドレ
スの下位5ビツトとする。第2のレジスタスタツ
ク62の上位2ビツトすなわち前記4つのエリア
は管理回路66から実行エリアアドレス情報88
によつて指示されている。
プロセス切替時に管理回路66からの回復指示
信号74により選択回路632および633を介
して、回復アドレスレジスタの出力が第1および
第2レジスタスタツク61および62に与えら
れ、管理回路66からの実行エリアアドレス情報
88の指示する該当エリアに貯蔵されているレジ
スタ群の内容を0番地から順次読出して、第1の
レジスタスタツク61へ転送させる。回復アドレ
スレジスタ637の初期状態は「0」であり、順
次+1される。すなわち新しく実行すべきプロセ
スに対応したエリアの内容が第1のレジスタスタ
ツク61に格納される。回復アドレスレジスタの
出力がオール「1」になると、アンド回路641
の出力により回復終了信号75が次プロセス決定
回路65へ送出される。またオール「1」検出回
路640の出力により回復指示レジスタ635が
リセツトされる。
一方、アンド回路641の出力がオア回路64
8を介してメモリアドレスレジスタ642のセツ
ト入力Sに与えられ、レジスタ642は選択回路
643を介して与えられる固定値Aがセツトされ
る。そして、次プロセス決定回路65からのメモ
リアクセス信号76、オア回路646を介して主
記憶装置1へのメモリリクエスト信号77とな
り、前記固定値Aを主記憶アドレス83として主
記憶装置1へ読出しアクセス要求が行われる。主
記憶装置のA番地には、第9図に示すように上位
8ビツトにプロセス番号が、下位24ビツトにレジ
スタ群退避エリア先頭アドレスが記憶させてい
る。A+4、A+8、………番地にも同様に各プ
ロセスの番号および退避エリア先頭アドレスが記
憶されている。これらは優先度の高いプロセスか
ら順に記憶されていて次プロセスに対応するもの
はA番地にくり上げられるものとする。そして、
主記憶装置のA番地からの読出しデータ85が送
られてくると、その下位24ビツト(退避エリア先
頭アドレス)が選択回路643に入力し、次プロ
セス決定レジスタ65からの次プロセス決定信号
80により、上記退避エリア先頭アドレスが選択
されてメモリアドレスレジスタ642にセツトさ
れる。
次に、管理回路66から転送指示信号81が与
えられたとき(後述するように必ず与えられると
は限らない)、転送指示レジスタ645がセツト
され、オア回路646を介してメモリリクエスト
信号77が主記憶装置1へ出力される。
主記憶装置1の退避エリア先頭アドレスから1
ワードの読出しが終了するごとにメモリ終了信号
78が入力し、メモリアドレスレジスタ642は
+4回路によつて+4されたアドレスを送出す
る。一方、上記メモリ終了信号によりフリツプフ
ロツプ649がセツトされ、回復アドレスレジス
タ637は「+1」回路638によつて「+1」
されたアドレスを出力し、選択回路633を介し
て第2のレジスタスタツク62へ送る。第2のレ
ジスタスタツク62の上位2ビツトのアドレスは
選択回路634で管理回路66からの転送エリア
アドレス情報89が選択出力されている。したが
つて、第2のレジスタスタツク62の上記転送エ
リアアドレス情報89で指定されるエリアに0番
地から、順次次プロセスに対応するレジスタ群の
内容が書込まれる。書込みが終了し、オール
「1」検出回路640の出力が「1」となり、主
記憶装置1からメモリ終了信号78がくると、ア
ンド回路651の出力により転送指示レジスタ6
45がリセツトされ、またアンド回路650の出
力が「1」となり、転送終了信号82が管理回路
66へ送られる。
次プロセス決定回路66は、実行待ちの状態に
あるプロセスのうち最も高い優先度をもつ次プロ
セスを決定する回路であつて、第7図に示すよう
に構成されている。すなわち、制御回路63から
与えられる回復終了信号75をセツトする回復終
了レジスタ655と、このレジスタ655の出力
および主記憶装置1からのメモリ終了信号78を
入力とするアンド回路656から構成される。前
記回復終了レジスタ655の出力は制御回路63
へのメモリアクセス信号76とされ、前記アンド
回路656の出力は次プロセス決定信号80とし
て制御回路63および管理回路66へ送られる。
なお、レジスタ655はメモリ終了信号78によ
つてリセツトされる。上述の構成によりメモリ終
了信号78が入力すると、アンド回路656を介
して次プロセス決定信号80を送出するとともに
回復終了レジスタ655をリセツトし、メモリア
クセス信号76の送出を停止する。
管理回路66は、第8図に示すように構成され
ている。この回路は第2のレジスタスタツク62
の貯蔵内容を管理し、次プロセスに対応したレジ
スタ群の内容を主記憶装置1から転送する必要性
の有無の判断をし、かつ、プロセス切替時のレジ
スタ回復処理の方法を決定する回路である。すな
わち、制御回路63から与えられる読出しデータ
上位8ビツト87(次プロセス番号)と、命令フエ
ツチ装置3から与えられるプロセス番号情報8
9′とを入力し、プロセス切替指示信号73によ
つて前記番号情報89′を選択してプロセス番号
レジスタ665に入力させる選択回路664、お
よび上記プロセス番号レジスタ665、上記プロ
セス切替指示信号73および次プロセス決定回路
65からの次プロセス決定信号80を入力し前記
レジスタ655のセツト端子へ出力するオア回路
663を備える。前記プロセス切替指示信号73
をセツトするプロセス切替指示レジスタ661、
前記次プロセス決定信号80をセツトする次プロ
セス決定レジスタ662、レジスタ661および
662の両出力を入力するオア回路676、第2
のレジスタスタツク62の4つのエリアにそれぞ
れ対応して設けられ、それぞれのエリアに貯蔵し
ているレジスタ群に対応するプロセス番号および
有効性を表示するVビツトを格納するスタツク管
理レジスタ666〜669を備える。このレジス
タ666〜669の内容と前記レジスタ665の
内容とをそれぞれ比較し、内容が一致しかつ前記
Vビツトが「1」のとき「1」を出力する比較回
路670〜673を備える。上記各比較回路の出
力を保持する4ビツトの実行中エリア表示レジス
タ678、前記比較回路670〜673の出力を
入力するオア回路674、オア回路674を備え
る。このオア回路674の出力および前記レジス
タ661の出力を入力し、回復指示信号74を制
御回路63へ送出するアンド回路675、前記オ
ア回路674の否定出力と前記オア回路676の
出力とを入力し転送指示信号81を送出するアン
ド回路677を備える。前記レジスタ678の出
力をエンコードし、2ビツトの実行中エリアアド
レス情報88を出力するエンコーダ679を備え
る。前記レジスタ678の出力の順序を右回転し
てセツトする転送エリア表示レジスタ681を備
える。このレジスタの出力をエンコードして2ビ
ツトの転送エリアアドレス情報89を出力するエ
ンコーダ682、前記レジスタ681の各ビツト
出力をそれぞれ入力し、転送終了信号82とのア
ンドを取つて前記スタツク管理レジスタ666〜
669へのセツト信号をそれぞれ出力するアンド
回路683〜686を備える。
管理回路66の動作は次のとおりである。
通常の命令実行時においては、命令フエツチ装
置3から与えられたプロセス番号情報89′をレ
ジスタ665に保持していて、比較回路670〜
673で検出した該当プロセス番号に対応するレ
ジスタ群を貯蔵している。第2のレジスタスタツ
ク62のエリアが実行中エリア表示レジスタ67
8に保持されている。そして、エンコーダ679
から実行中エリアアドレス情報88が制御回路6
3へ送出されている。
プロセス切替処理時においては、命令フエツチ
装置からプロセス番号情報89′およびプロセス
切替指示信号73が与えられる。選択回路664
は、上記プロセス番号情報89′を選択してレジ
スタ665へ供給する。プロセス切替指示信号7
3はオア回路663を介してレジスタ665のセ
ツト指示信号となり、レジスタ665に上記プロ
セス番号情報89′がセツトされる。また、レジ
スタ661もセツトされる。比較回路670〜6
73はスタツク管理レジスタ666〜669の内
容をそれぞれレジスタ665の内容と比較し、一
致したスタツク管理レジスタのVビツトが「1」
の場合に「1」を出力する。いずれか1つの比較
回路から「1」が出力されるとオア回路674お
よびアンド回路675を介して回復指示信号74
が制御回路63へ送出される。同時に実行中エリ
ア表示レジスタ678の対応するビツトが「1」
にセツトされる。
以上要約すると、第5図の第2のレジスタスタ
ツク62内に新しく実行すべきプロセスに対応し
たレジスタ群が既に貯臓されている場合は、制御
回路63に回復指示信号74を送出する。また、
実行中エリア表示レジスタ678の内容はエンコ
ーダ679で2ビツトに変換された実行エリアア
ドレス情報88として送出される。
上記回復指示信号74と実行エリアアドレス情
報88により前記制御回路63の制御で回復処理
が行われ、回復完了後主記憶装置1のアドレスA
から読出された読出しデータの上位8ビツト87
(次プロセス番号)が選択回路664に入力し、
選択回路664で選択されてレジスタ665へ入
力する。レジスタ665は、次プロセス決定回路
65からの次プロセス決定信号80によつて上記
の8ビツト87をセツトする。また、次プロセス
決定レジスタ662もセツトされる。
一方、上記レジスタ665の内容をスタツク管
理レジスタ666〜669の内容と比較し、いず
れの比較回路670〜673でも一致が検出され
ない場合は、オア回路674の否定出力が「1」
となり、アンド回路677を介して転送指示信号
81が制御回路63へ送られる。比較回路670
〜673のいずれかで一致が検出されれば、次プ
ロセスがすでに第2のレジスタスタツク62内に
存在するということであるから、上記転送指示は
不要である。制御回路63が転送動作を制御し、
その終了により転送終了信号82が送られてくる
と、アンド回路683〜686が開かれて転送エ
リア表示レジスタ681の「1」を出力している
ビツトに対応するスタツク管理レジスタ666〜
669にセツト信号が与えられ、当該レジスタに
はレジスタ665の出力およびVビツトがセツト
される。すなわち次プロセス番号がセツトされ
る。これにより次にプロセス切替指示信号がきた
とき、前述のように当該エリアのアドレス情報、
すなわち実行エリアアドレス情報88および回復
指示信号74を出すことができる。
第10図はプロセス切替処理時および次プロセ
ス決定処理時並びにメモリ内容転送処理時におけ
る転送状況を説明するための図である。次に、第
5図〜第8図および第10図を参照して、各時点
における動作を説明する。
通常の命令実行中は、レジスタオペランドの読
出しは第1のレジスタスタツク61から命令フエ
ツチ装置3および命令実行装置4へ行われ、命令
実行装置4での演算結果は第1および第2のレジ
スタスタツク61および62の両方へ書込まれ
る。この場合第2のレジスタスタツクの上位2ビ
ツトは管理回路66からの実行エリアアドレス情
報88が制御回路63を介して与えられる。
次に、プロセス切替処理は第10図の時刻に
おいて、命令フエツチ装置3からプロセス切替指
示信号73およびプロセス番号情報89′が管理
回路66に与えられ、そのプロセスに対応するレ
ジスタ群を貯蔵している第2のレジスタスタツク
のエリアを示す実行中エリアアドレス情報88お
よび回復指示信号74が管理回路66から制御回
路63へ送られる。これにより、制御回路63
は、第2のレジスタスタツク62の当該エリアの
0番地から順次読出して第1のレジスタスタツク
61へ転送させ書込ませる。すなわち、BR0から
BR15およびGR0からGR15までの32ワードが転送
される。第10図の時刻で点送が終わりプロセ
ス切替処理が完了すると制御回路63から回復終
了信号75が次プロセス決定回路65へ送られ
る。
次プロセス決定回路65は、回復終了信号75
を回復終了レジスタ655にセツトし、メモリア
クセス信号76を制御回路63へ送る。このメモ
リアクセス信号76は、制御回路63のオア回路
646を介してメモリリクエスト信号77として
主記憶装置1に送られ、一方、制御回路63のメ
モリアドレスレジスタ64から固定値Aが主記憶
アドレス83として送出される。すなわち主記憶
装置1へ読出しアクセス要求が行われ、主記憶装
置からの読出しデータ85が返送される。この読
出しデータの下位24ビツト79(レジスタ群退避
エリア先頭アドレス)は制御回路63の選択回路
643を介してメモリアドレスレジスタ642に
セツトされる。上位8ビツト87(プロセス番
号)は管理回路66の選択回路664に入力させ
る。そして、主記憶装置1からのメモリ終了信号
78が次プロセス決定回路65に与えられると、
メモリアクセス信号76が消失し、次プロセス決
定信号80が出力される。管理回路66はこの信
号80により次プロセス決定レジスタ662をセ
ツトし、前記読出しデータ上位8ビツト87(次
プロセス番号)をレジスタ665にセツトする。
このレジスタ665の内容がスタツク管理レジ
スタのいずれにも一致しないときは、管理回路6
6から転送指示信号81が制御回路63へ送出さ
れる。また、転送エリアアドレス情報89は、第
2のレジスタスタツク62内において、実行中の
エリアの次のエリアを指定する2ビツト情報を出
力している。上記レジスタ665の内容がいずれ
かのスタツク管理レジスタと一致したときは転送
指示信号81は出力されない。
制御回路63は、転送指示信号81が入力する
と、メモリリクエスト信号77を主記憶装置1に
送り、先にメモリアドレスレジスタ642にセツ
トされている次プロセスの退避エリア先頭アドレ
スに対する読出し要求を行う。主記憶装置1から
の読出しデータ85すなわちBR0の内容が選択回
路602を介して第2のレジスタスタツク62に
書込まれる。このときの第2のレジスタスタツク
62のエリアすなわち上位2ビツトは、管理回路
66から与えられた転送エリアアドレス情報89
が選択されている。また下位5ビツトは回復アド
レスレジスタ637の出力が選択されている。上
記BR0の内容が転送されて、メモリ終了信号78
がくると、メモリアドレスレジスタ642の内容
が+4され、かつ、回復アドレスレジスタ637
の内容が+1されて、順次BR0〜BR15およびGR0
〜GR15の内容が転送される(第10図時刻〜
)。
転送が終了し、オール「1」検出回路640の
出力が「1」となり、メモリ終了信号78とのア
ンドにより転送終了信号82が管理回路66へ送
られ、かつ、転送指示レジスタ645がリセツト
され、メモリリクエスト信号77が消失する。管
理回路66は、転送終了信号82を受けると、転
送エリアに対応したスタツク管理レジスタ666
〜669のうちの1つに、Vビツトおよびプロセ
ス番号レジスタ665の内容(次プロセス番号)
をセツトする。前述のプロセス切替処理終了時点
すなわち回復完了時点(第10図の時刻)以後
は、通常の命令の実行が平行して行われているか
ら、上述の次プロセス決定処理(時刻〜)お
よびメモリ内容転送処理(時刻〜)は、命令
の実行と平行して行われる。
またプロセス切替処理(時刻〜)は、第2
のレジスタスタツクの内容を第1のレジスタスタ
ツクへ転送するのみであり、第2のレジスタスタ
ツクへの主記憶装置1からの読出しはあらかじめ
時刻〜の間に行われているから切替処理は迅
速になされる。
次に、再びプロセス切替えを行うには、上述と
同様に処理され、第2のレジスタスタツク62の
残りのエリアに次プロセスに対応するレジスタ群
が書き込まれる。さらに、次のプロセス切替え時
に、次プロセスの書込みが必要とされるときは、
最小のプロセスに対応したレジスタ群の内容を貯
蔵している第2のレジスタスタツク62の1つの
エリアの内容を主記憶装置1へ退避させたのち
に、このエリアに次プロセスのレジスタ群を貯蔵
させればよい。
プロセス切替処理時に、新プロセスに対応する
レジスタ群の内容が第2のレジスタスタツク62
内に存在しない場合は、まず転送指示信号81に
よつて主記憶装置1から第2のレジスタスタツク
62へメモリ内容の転送が32回行われた後に、回
復指示信号74により第2のレジスタスタツク6
2から第1のレジスタスタツク61への転送が行
われる。しかし、このような場合は、割込み処理
のときに発生する可能性があるのみでほとんど生
じない。
本実施例では、第2のレジスタスタツク62の
容量をレジスタ群4個分としたが、さらに容量を
増加することも可能である。プロセツサが使用さ
れる環境条件などによるプロセスの個数分布や、
切替頻度または必要とするハードウエアの量など
により任意に設計すればよい。
〔発明の効果〕
以上のように、本発明においては、複数のレジ
スタ群を貯蔵可能な第2のレジスタスタツクを設
けて、以前に命令実行したプロセスのレジスタ群
および現在実行中のプロセスのレジスタ群および
次に実行すべきプロセスのレジスタ群の内容を貯
蔵し、通常の命令実行時には、第1のレジスタス
タツクからの読出し書込みによつて命令を実行す
るとき、前記第2のレジスタスタツクへ演算結果
を同時に書き込ませ、プロセス切替時には、あら
かじめ前記第2のレジスタスタツクの他のエリア
に貯蔵している次プロセスのレジスタ群の内容を
前記第1のレジスタスタツクに転送して命令を実
行し、命令の実行と平行してさらに次のプロセス
に対応するレジスタ群の内容を主記憶装置の該当
退避エリアから第2のレジスタスタツクの別のエ
リアに書き込ませるように構成したから、プロセ
ス切替時における第1のレジスタスタツクへのレ
ジスタ群の内容転送が迅速に行われる効果があ
る。また、次プロセスに対応するレジスタ群の内
容を主記憶装置から読出して前記第2のレジスタ
スタツクへ書き込む動作および必要なときの主記
憶装置への退避動作は、命令実行と平行して行わ
れるから、実質的にはプロセス切替処理の時間は
延長しない。すなわち、プロセス切替処理は、第
2のレジスタスタツクから前記第1のレジスタス
タツクへの転送時間のみとなり、迅速に完了する
ことが可能である。
【図面の簡単な説明】
第1図は従来例レジスタ群貯蔵装置を使用した
計算機システムを示すブロツク図。第2図は上記
従来例を説明するためのタイムチヤート。第3図
は改良された別のレジスタ群貯蔵装置を使用した
計算機システムの従来例を示すブロツク図。第4
図はその動作を説明するためのタイムチヤート。
第5図は本発明の一実施例を示すブロツク図。第
6図は上記実施例の制御回路の構成の一例を示す
ブロツク図。第7図は上記実施例の次プロセス決
定回路の構成例を示すブロツク図。第8図は上記
実施例の管理回路の構成例を示すブロツク図。第
9図は主記憶装置内のプロセス番号およびレジス
タ群退避エリア先頭アドレスの格納フオーマツ
ト。第10図は第5図に示す実施例の動作を説明
するためのタイムチヤート。 1……主記憶装置、2……中央処理装置、3…
…命令フエツチ装置、4……命令実行装置、5,
6……レジスタ群貯蔵装置、51……レジスタス
タツク、52……アドレスレジスタ、61……第
1のレジスタスタツク、62……第2のレジスタ
スタツク、63……制御回路、65……次プロセ
ス決定回路、66……管理回路、601,602
……選択回路。

Claims (1)

  1. 【特許請求の範囲】 1 命令フエツチ装置3と、命令実行装置4と、
    レジスタ群貯蔵装置6とを内蔵し、主記憶装置1
    から命令をフエツチし、解読し、命令の実行およ
    び命令の解読や割込により起動されるプロセスの
    切替処理を行う手段と、プログラムの処理単位で
    あるプロセス毎に演算に使用される1組のレジス
    タ群の内容を主記憶装置の各プロセスに対応して
    設けられたレジスタ退避エリアから読出して前記
    レジスタ群貯蔵装置に格納させる手段と、このレ
    ジスタ群貯蔵装置に格納されていた以前に実行中
    のプロセスに対する1組のレジスタ群の内容を前
    記主記憶装置の対応するレジスタ退避エリアに退
    避させるようにして、実行可能状態にある複数の
    プロセスのうち同時には1個のプロセスを実行す
    る手段とを含む中央処理装置2とを備えた電子計
    算機において、 前記レジスタ群貯蔵装置は、実行中のプロセス
    に対応する1組の前記レジスタ群の内容を貯蔵す
    る第1のレジスタスタツク61と、上記実行中の
    プロセスに対応する1組のレジスタ群の内容およ
    び以前に実行中であつた1組のレジスタ群の内容
    並びに次に実行すべきプロセスに対応するレジス
    タ群の内容とを貯蔵できる複数のエリアを有する
    第2のレジスタスタツク62と、前記命令フエツ
    チ装置からのレジスタアドレス情報によつて前記
    第1および第2のレジスタスタツクへのアドレス
    指示を行う制御回路63と、この制御回路からの
    回復終了信号によりメモリアクセス信号を送出し
    上記回復終了後に主記憶装置からのメモリ終了信
    号を受けると次プロセス決定信号を送出する次プ
    ロセス決定回路65と、前記第2のレジスタスタ
    ツクの複数のエリアに対応して設けられこれらの
    各エリアに格納されているレジスタ群に対応する
    プロセス番号を登録する複数のスタツク管理レジ
    スタを内蔵し命令フエツチ装置からのプロセス情
    報または主記憶装置からの読出しデータ中のプロ
    セス番号と上記スタツク管理レジスタの内容とを
    プロセス切替指示信号または前記次プロセス決定
    信号により比較した結果により実行エリアアドレ
    ス情報および回復指示信号または転送エリアアド
    レス情報および転送指示信号を前記制御回路へ送
    出する管理回路82とを備え、 前記制御回路は、この管理回路からの実行エリ
    アアドレス情報または転送エリアアドレス情報に
    よつて前記第2のレジスタスタツクのエリアを指
    示して前記第2のレジスタスタツクの書込みまた
    は読出しを制御する手段と、前記第2のレジスタ
    スタツクから前記第1のレジスタスタツクへの回
    復動作の終了により前記回復終了信号を送出し前
    記第2のレジスタスタツクへの主記憶装置からの
    転送終了により転送終了信号を送出する手段とを
    含む ことを特徴とする電子計算機。
JP19051681A 1981-11-30 1981-11-30 電子計算機 Granted JPS5894038A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP19051681A JPS5894038A (ja) 1981-11-30 1981-11-30 電子計算機

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP19051681A JPS5894038A (ja) 1981-11-30 1981-11-30 電子計算機

Publications (2)

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

Family

ID=16259385

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19051681A Granted JPS5894038A (ja) 1981-11-30 1981-11-30 電子計算機

Country Status (1)

Country Link
JP (1) JPS5894038A (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59146387A (ja) * 1983-02-10 1984-08-22 Fujitsu Ltd マルチプロセスにおけるスタツク制御方式
JPH0740234B2 (ja) * 1985-09-04 1995-05-01 日本電気株式会社 トレース回路
JPS6380332A (ja) * 1986-09-24 1988-04-11 Mitsubishi Electric Corp マイクロプロセツサ
US4853849A (en) * 1986-12-17 1989-08-01 Intel Corporation Multi-tasking register set mapping system which changes a register set pointer block bit during access instruction

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

Also Published As

Publication number Publication date
JPS5894038A (ja) 1983-06-04

Similar Documents

Publication Publication Date Title
US4163280A (en) Address management system
JPH03108042A (ja) 多重仮想空間アドレス制御方法および計算機システム
JPH0619752B2 (ja) データ転送方法及び装置
JPH0776932B2 (ja) デ−タ伝送方式
JPS6240736B2 (ja)
US4737908A (en) Buffer memory control system
EP0787326B1 (en) System and method for processing of memory data and communication system comprising such system
JPS592058B2 (ja) 記憶装置
JP2892429B2 (ja) 入出力制御装置
JP2716254B2 (ja) リストベクトル処理装置
JP2531209B2 (ja) チャネル装置
JPS6239779B2 (ja)
JP2798492B2 (ja) リストベクトル処理装置
JPH10111798A (ja) 情報処理装置
JPH05250263A (ja) 仮想プロセッサ方式及び不揮発化記憶方式
JP2583614B2 (ja) ベクトル演算装置
JP2594567B2 (ja) メモリアクセス制御装置
JP3009168B2 (ja) データ処理装置
JPH1027153A (ja) バス転送装置
JPS6393045A (ja) マイクロプログラム制御装置
JPS6145359A (ja) 情報処理装置
JPH0561610A (ja) 割り込み磁気デイスク装置選択方法
JPH07134683A (ja) データ転送方式
JPS60251434A (ja) 情報検索方式
JPS6146562A (ja) 配列要素の演算処理方式