JPS626329A - デ−タ転送回路 - Google Patents

デ−タ転送回路

Info

Publication number
JPS626329A
JPS626329A JP14602585A JP14602585A JPS626329A JP S626329 A JPS626329 A JP S626329A JP 14602585 A JP14602585 A JP 14602585A JP 14602585 A JP14602585 A JP 14602585A JP S626329 A JPS626329 A JP S626329A
Authority
JP
Japan
Prior art keywords
register
group
data
registers
data transfer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP14602585A
Other languages
English (en)
Inventor
Kozo Kimura
浩三 木村
Tokuzo Kiyohara
督三 清原
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP14602585A priority Critical patent/JPS626329A/ja
Publication of JPS626329A publication Critical patent/JPS626329A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 産業上の利用分野 本発明は、ディジタル情報処理装置における主記憶とレ
ジスタ間のデータ転送に関するものであるQ 従来の技術 従来のデータ転送方式の例を下記に挙げる。
まず、共立出版■ VAXアーキテクチャ・ノ・ンドブ
ック第13章 制御命令、プロシージャ・コール命令に
記載されているものが挙げられる。
ディジタル イクイプメント コーポレーションのvA
xll(以下vAx11と省略)において標準的カプロ
シージャ・コール−インタフニー1ist(コール ウ
ィズ ジェネラル アーギュメント リスト) 、 C
ALLS=Call with argumentli
st on 5tack (コール ウィズ アーギュ
メント リスト オン スタック))はプロシージャを
呼び出すためのものであり、他の1つ(RET=Ret
urn fxom procedure(リター7 7
CIムプロシージヤ))は呼び出されたプロシージャか
らのリターンを実行するだめのものである。
このCALLG、CALLSのプロシージャーコール命
令を実行すると、まず、呼び出されたプロシージャを実
行する前にその呼び出されたプロシージャで使用される
レジスタを保存する。この使用されるレジスタの指定に
エントリ争マスクというワードを用いる。エントリ・ス
スクは、その呼び出されたプロシージャで使用されるレ
ジスタと、その他の情報を指定することができる。プロ
セッサは、呼び出されたプロシージャの先頭にあるエン
トリ・マスクによって指定された保存すべきレジスタだ
けをスタックフレーム(プロシージャ・コールでスタッ
クに作成される標準のデータ構造)に保存する。
また、RET命令では、スタック・フレーム上のエント
リ・マスクより呼び出したプロシージャのレジスタのデ
ータを指定されたレジスタに復元する。
以上の操作によって、プロシージャ・コール・インタフ
ェースにおける必要なレジスタだけの記憶領域上への保
存、そして記憶領域からレジスタへの復元が行なわれる
次に、前出のVAXアーキテクチャ・ハンドブック 第
8章 プロセス構造に記載されているものが挙げられる
vAxllにおいて、実行中のプロセス(システム・ソ
フトウェアがスケジューリングする基本単位)を中断し
、別のプロセスに切り替える際に、コンテキスト(プロ
セスの状態、例えばプロセス実行中の各種レジスタに含
まれる値)の切り替えが行なわれる。このコンテキスト
切り替えは、あるプロセスが実行のためにスケジューリ
ングされた後に発生する。オペレーティング・システム
(以下O8と省略)は、コンテキスト・セーブ命令(5
VPCTX=Save process contex
t )を使って、割シ込まれたプロセスのハードウェア
のコンテキストヲハートウエアφプロセス−コントロー
ル・ブロックに保存する。その後、コンテキスト・ロー
ド命令(LDPCTX=Load processco
ntext)を使って、別の、プロセスのノ・−ドウエ
アープロセス・コントロールeブロックヲハードウェア
・コンテキストにロードし、そのプロセスを実行する。
なお、コンテキストにおける各種レジスタとは、プログ
ラム・カウンタ、プロセッサ・ステータス・ロングワー
ド、14個の汎用レジスタ、4個のプロセッサ・レジス
タ(プロセス仮想アドレス空間を記述する)、スタック
・ポインタ(カレント・アクセス・モード)、スタック
・ポインタにロードされる内容(アクセス曇モートっで
ある。
以上の操作によって、ハードウェア手段により、プロセ
ス切り替えにおけるプロセスの状態を示すすべてのレジ
スタを記憶領域上へ保存し、また記憶領域からレジスタ
への復元が行なわれる。
発明が解決しようとする問題点 しかしながら上記の構成では、下記の欠点が挙げられる
まず、プロシージャ・コールにおける主記憶とレジスタ
間のデータ転送については、ソフトウェア手段によって
保存が必要なレジスタだけの保存を行なっている。その
ため、エントリ・マスクというレジスタ指定を行なうデ
ータを生成している。
次に、プロセス切シ替えにおけるデータ転送については
、ハードウェア手段によってプロセス状態を示すレジス
タをすべて保存している。しかし、この方法では、個々
のレジスタの保存が必要か不必要かが識別不可能であり
、各プロセスにおけるすべてのレジスタを保存している
。その結果、不必要なレジスタの保存に要する余分な時
間と不要な記憶領域が発生する。例えばvAxllの場
合、ハードウェア・コンテキスト(保存すべきレジスタ
群)は、最低26ワード(1ワード=32ビツト)必要
である。
不必要なレジスタのデータ転送により実行速度が低下す
る。なお、このプロセス切り替えにおいて、プロシージ
ャ・コール命令のレジスタ保存の操作は行なえない。こ
こでプロシージャ・コール命令を利用しプロセス切シ替
えを行なうとたとえばプロセス@A”、プロセス1B”
、プロセス1C”が存在スる場合、“A″→“B”→”
C”と切り替わりC”→“B″→“A″と戻って来る場
合には必要なレジスタが復元できる。しかし、C″→”
A″と戻ってくる場合には、正しいデータがレジスタに
復元されない。な、ぜなら、プロセス“A″の保存すべ
きレジスタの指定は、プロセス”B″で使用されるレジ
スタによって決まるからである。
つまシプロセス@A”のレジスタ保存は、プロセス“B
”に依存している。第4図だ例を挙げて説明スル。プロ
セス゛A″で保存すべきレジ、x、夕ハ、プロセス“B
″で使用するRo、R1であり、プロセス”B”で保存
すべきレジスタは、Ro、R1゜R2である。ここで”
C”→“B”→“A”と戻ればデータは懐れずに復元さ
れるが、“C”→“A”と戻るとプロセス@A”のR2
のデータはプロセス1B#では保存されているが、プロ
セス”A″では保存されていないため、復元されない。
よって、vAxllにおいてプロセス切り替えには、プ
ロシージャ・コール命令が使えないため、全レジスタの
保存が必要となっている。
以上により、vAxllは、主記憶とレジスタ間のデー
タ転送において、不要な記憶領域の発生と実行速度が遅
いという欠点を有する。
本発明はかかる点に鍮み、プロセス切シ替えやプロシー
ジャ・コール等において、保存が必要なレジスタだけを
主記憶との間で、高速にデータ転送させるデータ転送回
路を提供することを目的とする。
問題点を解決するための手段 本発明は、主記憶とレジスタ群と、各レジスタに付加さ
れている複数タグを並列に読み書きできるタグ群と、主
記憶とレジスタ群との間でデータ転送を行なうデータ転
送手段を備えたデータ転送回路である。
作  用 本発明は前記した構成によシ、タグ群のデータをもとに
主記憶とレジスタ群との間のデータ転送をすることによ
シ、高速で、小さな記憶領域しか必要としないデータ転
送が可能となる。
実施例 第1図は本発明の実施例におけるデータ転送回路の構成
図を示すものである。第1図において、1は各々が32
ビツトの32本のレジスタ群である。2は32ビツトの
タグ群で、各レジスタに付加された1ビツトのタグビッ
トよシ形成されている。よってタグ群2の各ビット(タ
グピット)は各レジスタに対応しておシ、あるレジスタ
にデータが書きこまれればそのレジスタは有効となシ、
このレジスタに対応するタグ群2内のビットが有効を示
すことが可能である。3は主記憶であり、レジスタのデ
ータやその他のデータを保存する。
4はデータ転送手段であり、タグ群2で指定したレジス
タだけを主記憶へ転送する。5,6.7はデータを転送
するデータバスである0 ここでさらに第1図のタグ群について詳しく説明するた
めに第2図を示す。第2図において、2は32ビツトの
タグ群である。各ビットは第1図の32本のレジスタ群
に1対1対応しくLSBをRo、MSBをR31とする
)、レジスタが有効になったと同時に対応するビットが
有効を示す状態となる。例えばOを無効、1を有効とす
ると、レジスタが有効になれば、対応するビットが0か
ら1へ変化する。よってタグ群2のデータのうち、1の
存在するビットに対応するレジスタは有効とわかる。
次に動作について説明する。
(1)現在、このプロセッサ上ではプロセスが動いてい
ないとする。そこで新しいプロセス″A″が呼ばれてく
ると、それと同時にタグ群2が初期化される。ここでは
有効を1.無効をOと仮定し、タグ群2は0となる。プ
ロセス“A″が動きはじめ各レジスタにデータが書きこ
まれ、それと同時にタグ群2内の対応ビットに1が書き
こまれて行く。これまでにレジスタ群1でR。
〜R22まで書きこまれた場合、タグ群2のデータは@
007FFFFF” (16進数)となる。
(呻 ここでプロセス“A#からプロセス”B1への切
シ替えがおこると、プロセス”B″は以前動いていたプ
ロセスとした場合、主記憶3上にはレジスタと、どのレ
ジスタを保存したかがわかるタグ群2のデータが保存さ
れである。たとえば主記憶3本にはRO〜R17までの
レジスタのデータと” 0003FFFF=というタグ
群2のデータが存在する。第3図に主記憶3上に保存さ
れているプロセス”B#上のデータを示す。このプロセ
ス切シ替えの際にレジスタ等の切シ替えが必要となって
くる。まず、プロセス“A″における保存すべきレジス
タの指定は、タグ群2のデータ(つまり°007FFF
FF″ )が示しており、このデータを用いてデータ転
送手段4がレジスタ群1から指定のレジスタだけを主記
憶3へ転送し保存する。当然、保存したデータがどのレ
ジスタのものか認識するためのデータ、つまりタグ群2
のデータも必要であり、これはレジスタのデータの先頭
に保存する。第3図に主記憶3上に保存されたプロセス
“A″のデータを示す。以上でプロセス“A″の状態は
保存できる。次に、タグ群2を0に初期化し、その後、
主記憶3上にあるプロセス“B″のタグ群2のデータを
データ転送手段4によってタグ群2へ復元する。その後
、このタグ群2が指定するレジスタへ、主記憶3上のレ
ジスタのデータをデータ転送手段4が転送し、プロセス
”B″のレジスタを復元する。これでプロセス“B″の
状態はレジスタに復元され、プロセス“B″が動き始め
る。
もし、誤って指定されていないレジスタが転送されたシ
、逆に指定されているにもかかわらず転送されなかった
場合に嬬、割込みが入り、プロセッサの暴走を防止でき
る。
(3)  プロセス”B″の起動後、他のプロセスが呼
ばれてもいままでも同じ操作を繰シ返せばよい。
以上のように、本実施例によれば、各レジスタに付加さ
れた1ビツトのタグピットより形成されたタグ群と、そ
のタグ群のデータより指定されたレジスタと主記憶部の
データ転送を行なうデータ転送手段を設けることにより
、保存すべきレジスタの指定をハードウェア的つ″!シ
動的に行なえ、データ転送を高速にすることができる。
なお、本実施例において、プロセス切シ替えについて説
明したが、プロシージャーコールについてももちろんこ
の回路を用いることが可能である。
新しいプロシージャが呼ばれた際に、呼び出す側のプロ
シージャの保存すべきレジスタの指定は、タグ群が示し
ている。よってそれを元に主記憶へ保存できる。その後
タグ群を0に初期化し、呼ばれたプロシージャが動き出
す。以上のように、この回路を用いてプロシージャーコ
ールにおけるレジスタと主記憶間とのデータ転送がおこ
なえる。
発明の詳細 な説明したように、本発明によれば、レジスタ群と主記
憶間のデータ転送において、各レジスタの状態を示すタ
グ群で指定したレジスタだけの主記憶上への保存、およ
び主記憶からタグ群で指定されたレジスタへのデータ復
元を高速にでき、その実用的効果は大きい。
【図面の簡単な説明】
第1図は本発明における一実施例のデータ転送回路の構
成図、第2図は第1図に示した実施例のタグ群の構成図
、第3図は主記憶上のデータ構成図、第4図は従来例に
おけるプロセス切シ替えの説明図である。 1・・・・・・レジスタ群、2・・・・・・タグ群、3
・・・・・・主記憶、4・・・・・・データ転送手段、
5〜7・・・・・・データバス0 代理人の氏名 弁理士 中 尾 敏 男 ほか1名第1
図 第2図 gyr R2ORη −−−−RE *I l!Qググ
群 第3図 プロゼス4A″       プロセス05#第4図

Claims (1)

    【特許請求の範囲】
  1. 主記憶と、複数のレジスタよりなるレジスタ群と、前記
    各レジスタに対応し、前記各レジスタの内容の状態を示
    すタグを複数並列に読み書きできるタグ群と、前記主記
    憶と前記レジスタ群との間で前記タグ群のデータをもと
    にデータ転送をおこなうデータ転送手段を備えたことを
    特徴としたデータ転送回路。
JP14602585A 1985-07-03 1985-07-03 デ−タ転送回路 Pending JPS626329A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP14602585A JPS626329A (ja) 1985-07-03 1985-07-03 デ−タ転送回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14602585A JPS626329A (ja) 1985-07-03 1985-07-03 デ−タ転送回路

Publications (1)

Publication Number Publication Date
JPS626329A true JPS626329A (ja) 1987-01-13

Family

ID=15398397

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14602585A Pending JPS626329A (ja) 1985-07-03 1985-07-03 デ−タ転送回路

Country Status (1)

Country Link
JP (1) JPS626329A (ja)

Similar Documents

Publication Publication Date Title
US5812868A (en) Method and apparatus for selecting a register file in a data processing system
KR100848603B1 (ko) 데이터 처리장치와 복귀상태의 저장방법
US4729094A (en) Method and apparatus for coordinating execution of an instruction by a coprocessor
US4715013A (en) Coprocessor instruction format
EP0511674A2 (en) Single chip microcomputer
JPH0430053B2 (ja)
US4731736A (en) Method and apparatus for coordinating execution of an instruction by a selected coprocessor
US4750110A (en) Method and apparatus for executing an instruction contingent upon a condition present in another data processor
EP0239078B1 (en) Register saving/restoring system
JP3970609B2 (ja) プロセッサシステム
EP0523758B1 (en) A method and apparatus for coordinating execution of an instruction by a coprocessor
US4758950A (en) Method and apparatus for selectively delaying an interrupt of a coprocessor
US4821231A (en) Method and apparatus for selectively evaluating an effective address for a coprocessor
US4914578A (en) Method and apparatus for interrupting a coprocessor
EP0614139A2 (en) External procedure call for distributed processing environment
EP0290942B1 (en) Guest machine execution control system for virtual machine system
US4994961A (en) Coprocessor instruction format
US4758978A (en) Method and apparatus for selectively evaluating an effective address for a coprocessor
JPS626329A (ja) デ−タ転送回路
JPS61173358A (ja) データ処理装置
JPS6290728A (ja) 割込処理方法
JPS61184643A (ja) 仮想計算機の起動制御方式
JPH0635800A (ja) マイクロプロセッサ及びそれを使用したデータ処理システム
US4811274A (en) Method and apparatus for selectively evaluating an effective address for a coprocessor
JPH05165641A (ja) シングルチップマイクロコンピュータ