JPS645330B2 - - Google Patents

Info

Publication number
JPS645330B2
JPS645330B2 JP6124781A JP6124781A JPS645330B2 JP S645330 B2 JPS645330 B2 JP S645330B2 JP 6124781 A JP6124781 A JP 6124781A JP 6124781 A JP6124781 A JP 6124781A JP S645330 B2 JPS645330 B2 JP S645330B2
Authority
JP
Japan
Prior art keywords
instruction
processing
address
interrupt
subroutine
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
JP6124781A
Other languages
English (en)
Other versions
JPS57176457A (en
Inventor
Yoshinari Hiraoka
Tadaaki Bando
Yasushi Fukunaga
Hidekazu Matsumoto
Tetsuya Kawakami
Takeshi Kato
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.)
Hitachi Engineering Co Ltd
Hitachi Ltd
Original Assignee
Hitachi Engineering Co Ltd
Hitachi 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 Hitachi Engineering Co Ltd, Hitachi Ltd filed Critical Hitachi Engineering Co Ltd
Priority to JP6124781A priority Critical patent/JPS57176457A/ja
Publication of JPS57176457A publication Critical patent/JPS57176457A/ja
Publication of JPS645330B2 publication Critical patent/JPS645330B2/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/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/262Arrangements for next microinstruction selection
    • G06F9/268Microinstruction selection not based on processing results, e.g. interrupt, patch, first cycle store, diagnostic programs

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

【発明の詳細な説明】 本発明はマイクロプログラム制御のデータ処理
装置に関するものである。
一般に、オペレーテイングシステムをマイクロ
プログラム化したフアームウエア命令において
は、マイクロプログラム化した処理のうちで、実
行頻度の少ない部分をソフトウエアのサブルーチ
ンとして実現し、他のソフトウエアのルーチンと
も共用できるようにしたい場合がある。
又、オペレーテイングシステムをマイクロプロ
グラム化したフアームウエア命令、文字処理用の
命令、10進演算命令等の処理時間の長い命令で
は、命令の処理の途中で割込みを許可したい場合
がある。
上記の処理を行なうためには、上記ソフトウエ
アのサブルーチンの最後のRETURN命令や、上
記割込みの処理の終りのLPSW命令を実行する時
に、前記の命令に対応するマイクロプログラムル
ーチンの、丁度処理が中断したマイクロ命令の位
置を何らかの方法で知り、そこからマイクロプロ
グラムを再開する必要がある。
従来方式では、上記の目的を達成するため、命
令の途中でサブルーチンを呼んだ時や割込みが入
つた時には、命令のプログラムカウンタとPSW
以外に、マイクロプログラムの再開個所を決定す
るマイクロプログラムカウンタをメモリ又は、レ
ジスタに退避し、更にPSWに設けた、命令をは
じめから実行すべきか途中から実行すべきかを示
すビツトを立てる。そして、サブルーチンや割込
み処理プログラムが終つた時には、RETURN命
令やLPSW命令で、以前に記憶しておいたマイク
ログラムカウンタを読み出し、そのアドレスのマ
イクロ命令から処理を再開する。
上記の方式には次の問題点がある。第1に1つ
の命令に対応するマイクロプログラムルーチンの
中で、サブルーチンを呼んだり、割込みを許可し
たりするアドレスは限られているにもかかわら
ず、マイクロプログラムカウンタ全体を退避回復
せねばならず、オーバーヘツドが大きくなる。
第2に命令をはじめから実行する普通のソフト
ウエアを実行する時にも、前記のPSWの1ビツ
トをチエツクする必要があるため処理が遅くな
る。
第3にマイクロプログラムカウンタの退避のた
め、余分なメモリが必要になる。
第4に、パイプライン制御等の先行制御をする
場合には再開が難しくなる。
本発明の目的は、処理の途中で、ソフトウエア
のサブルーチンを呼んだり、割込みを許可したり
する命令において、該サブルーチン又は割込み処
理ルーチンの終了時に、該命令の中断個所のマイ
クロ命令から処理を再開可能とするための、オー
バヘツドの少なくしかもソフトウエアと同様のリ
ンク方法で実現できる方式を提供することにあ
る。
本発明は、一つの命令の複数の開始位置の情報
をデコードして、その結果に応じて、該命令に対
応するマイクロプログラムルーチンの異なつたア
ドレスを選択するデコーダを設けたことを特徴と
するもので、これによつて、命令の途中からソフ
トウエアのサブルーチンを呼んだり、割込みを許
可した時、中断したマイクロ命令のアドレスに対
応した、該命令のデコード開始番地をプログラム
カウンタとして退避し、サブルーチン又は、割込
み処理ルーチン終了時には、前記プログラムカウ
ンタを回復しその値で与えられた命令のデコード
開始位置の情報をデコードして、再開すべきマイ
クロ命令のアドレスを求め、そこから処理を再開
することができる。この方式によれば、通常のサ
ブルーチンコール方式や割込み方式を何ら変更す
る必要がなく、余分なオーバヘツドもなしに、命
令の途中にソフトウエアの介在を許すことができ
る。
本発明の一実施例を、以下図面に基づいて説明
する。
マイクロプログラム制御計算機システムの全体
構成を第1図に示す。システムは、BPU30、
主メモリ10、入出力制御装置40、フアイル制
御装置50がシステム20で結合された構成にな
つており、各装置間の情報転送はこのシステムバ
ス20を介して行なわれる。
第2図は、BPUの詳細構成を示した図である。
以下1つの命令の実行を例に取つて第2図の各部
分の動作を説明する。命令はプログラムカウンタ
(PC)312の値をアドレスとして主メモリ10
から読み出されると、命令レジスタ301に格納
される。命令中のオペコードはデコーダ302に
よつてデコードされ、制御記憶304上のマイク
ロプログラム開始アドレスに変換され、マイクロ
シーケンサ303に出力される。制御記憶304
から読み出されたマイクロ命令はパイプラインレ
ジスタ305に格納され、このレジスタから、
RPU内の各部に制御線307を通して信号が送
られる。次に実行されるマイクロ命令の選択は、
割込みフラグ316を含む、各種のコンデイシヨ
ンフラグ317の結果に従い、マイクロプログラ
ムシーケンサ303によつて制御される。又、分
岐を行なうときにパイプラインレジスタ305中
のマイクロ命令のフイールドの一部が、次マイク
ロ命令のアドレスとして、マイクロプログラムシ
ーケンサ303に送られる。オペコードがデコー
ドされると、次に命令のオペランド指定子がデコ
ーダ302でデコードされ、その結果に従い(図
示せず)、オペランド指定子の一部を用いてALU
311でアドレス計算が行なわれる。その結果、
計算されたオペランドアドレスは、アドレスレジ
スタ313に格納され、このアドレスがシステム
バスに送られる。主メモリ10から読み出された
オペランドはシステムバスを介しメモリリードレ
ジスタ314に格納された後、ALU311に送
られ、必要な計算が行なわれる。結果はメモリラ
イトレジスタ314Aを介し主メモリに書き込
む。オペランドとしては、ジエネラルレジスタ3
08が選択されることもある。又ジエネラルレジ
スタ中の1本はスタツクポインタ321として使
われる。又、ワーキングレジスタ309は、計算
の途中結果を格納するのに用いられる。又、割込
みフラグ316は外部からセツトされる割込みレ
ジスタ318のうち、PSW319でマスクされ
ていないビツトが、1つでもセツトされてあれば
ONになる。
次に、本実施例の特色となる命令途中に、ソフ
トウエアの介在を許すタイプの命令の動作につい
て説明する。
第3図は命令のフオーマツトを示したものであ
る。命令Xは、命令途中で、ソフトウエアのサブ
ルーチンを呼ぶタイプの命令で、3つのオペコー
ド部OP1,OP2,OP3、及び2つのオペラン
ド指定子から成る。
命令Yは、命令途中で、割込みを許可するタイ
プの命令で、2つのオペコード部OP1をOP2と
2つのオペランド指定子を持つ。
RETは、ソフトウエアサブルーチンからの戻
り命令である。RETとLDPSWは、通常の計算機
にも見られる一般的な命令である。なお本実施例
では、アドレスはバイトアドレシングとしオペコ
ード部、オペランド指定部ともに2バイトから成
ると仮定する。
第4図は命令Xの動作を説明したフローであ
る。命令Xの処理内容は、処理A,B1,B2,
B3,C1,C2,C3から成り、このうちで、
B2,B3をソフトウエアのサブルーチンとし
て、他の処理を、命令Xのフアームウエアとして
実現したいと仮定する。ここで、サブルーチンB
2、及びB3の先頭アドレスは、オペランド指定
子1及びオペランド指定子2で、指定されるとす
る。
第5図は、上記の処理を行なう時の命令Xの処
理フローを示す。命令が命令レジスタ301に入
ると、デコーダ302によつて命令がデコードさ
れる。命令の最初に読まれた時は、オペコード
OP1がデコードされるので、502の判定が行
なわれる。もし507,508の処理B1,C1
が選択されると、命令は、ソフトウエアの介在な
く終了する。従つて命令処理中に509でPCが
命令の未尾にセツトされ、514で割込みレジス
タをチエツクして終了する。しかし、判定502
で処理B2を含むパスが選択されると、ソフトウ
エアサブルーチンを呼ぶ必要がある。従つて、5
10でまず、PCをOP2の始めにセツトして、こ
のPCの値をリターンアドレスとしてスタツクポ
インタ321を用いスタツクルプツシユする。そ
して511でオペランド指定子1を読んでALU
311を用いアドレス計算し、その結果をPCに
入れる。オペランド指定子1はサブルーチンB2
のアドレスを示すので、命令が終了すると、制御
は、サブルーチンB2に移る。ここでB2はソフ
トウエアからも呼ぶことができる一般的なサブル
ーチンであるから、処理が終了するとRET命令
を実行する。RET命令の処理は、第6図に示す
ように、602でスタツクの先頭の1語をスタツ
クポインタ321を用いポツプして、PCに入れ
る。先頭の命令Xで、スタツクの先頭には同命令
XのOP2のアドレスが格納されているので、
RET命令が終了すると、次には、命令XがOP2
からデコードされ、第5図の503と504が実
行される。503では処理C2が実行され、50
4では、PCに命令Xの末尾のアドレスを入れて
命令が終了する。この様に、処理B2はソフトウ
エアサブルーチンとして、処理C2はフアームウ
エアで実行される。判定502で処理B3と処理
C3のパスが選択された時にも、同様に、前者の
処理がソフトウエアで、後者の処理がフアームウ
エアで実行される。
次に、命令途中で割込みを許すタイプの命令Y
について説明する。命令フオーマツトは第3図、
処理の内容は第7図に示す。処理内容は第7図の
様に、処理Dを実行後、処理Eと処理Fを繰り返
し実行するが、処理Eと処理Fの間で割込みのチ
エツクを行ない、もし割込みフラグがONの時は
割込処理ルーチンにリンクする。ここで処理D、
処理E、処理Fは命令のフオームウエアで実行す
るものとする。
第8図に、以上の処理を行なうための命令Yの
詳しい処理フローを記す。命令が始めから実行さ
れる時は、オペコードOP4がデコードされるた
め処理Dと処理Eが実行される。次に804で割
込みフラグ316の判定が行なわれ、もしOFF
ならば、何も行なわれず、処理Fへ分岐する。処
理Fの終了後、条件によつてあるいは処理Eに分
岐するか、又はPCに命令の末尾のアドレスをセ
ツトして命令が終了する。もし、904の割込み
フラグの判定で、フラグがONの時は、PCにリタ
ーンアドレスとして、命令YのOP5のアドレス
を入れ、割込み処理のフオームウエアに分岐す
る。この割込処理フオームウエアは、通常の命令
の終了時にも利用される一般的なものであつて処
理内容を第9図に示す。まず901では、PCを
スタツクポインタ321を用いスタツクにプツシ
ユする。PCに命令YのOP5のアドレスを含むの
で、スタツクにはOP5のアドレスがプツシユさ
れる。次に、902,903で、旧PSWの退避
と新PSWのロードが行なわれ、904で、割込
み処理ルーチンのアドレスがPCにロードされ、
割込み処理のソフトウエアにリンクする。
割込み処理ルーチンの最後では、通常は
LDPSW命令が実行される。第10図にこの命令
の処理フローを示す。1001,1002でスタ
ツクからスタツクポインタ321を用いPSW及
びPCがポツプされる。この時割込み処理の途中
でタスクの切替えがなければ、命令Y中断時の
PSWが回復され、PCには先程プツシユした、命
令YのOP5のアドレスが入る。従つてLDPSW
命令に続いて命令Yが再び実行される。しかし今
度は、OP5がデコードされるので、処理は第8
図の801から807へと進む。このパスでは、
PCを命令の先頭アドレスに戻した後、処理Fを
行なう。後は、割込みフラグがOFFの場合と同
様に命令の処理が続行できる。
なお命令Yのフオーマツトに338のオペラン
ド指定子3,339のオペランド指定子4が記さ
れているが、これらは、本特許の特色と無関係で
あるから第8図の説明からは省いてある。
以上の様な構成であるので、命令の途中で、サ
ブルーチンや割込み等のソフトウエアが介在した
場合で、命令の異なつた部分からデコードを開始
する機能を用いることによつて、マイクロプログ
ラムアドレスの退避等、余分な処理を行なわず
に、処理の中断したマイクロアドレスから、命令
の実行が再開できる。
上記の様に、本発明によれば、命令の処理途中
にソフトウエアサブルーチンや割込介在した場合
でも、オーバヘツドなしでソフトウエアと同様の
リンク方式で命令処理の再開が可能である。
【図面の簡単な説明】
第1図、第2図はマイクロプログラム計算機の
全体構成図と、BPUのブロツク図、第3図は、
命令実行中にソフトウエアサブルーチンを呼ぶ命
令X、命令実行中に割込みを許す命令Y、RET
命令、LDPSW命令の命令フオーマツト、第4図
は命令Xの処理内容、第5図A,Bは命令Xの詳
細処理フロー、第6図はRET命令の処理フロー、
第7図は命令Yの処理内容、第8図は命令Yの詳
細処理フロー、第9図に割込み処理マイクロプロ
グラムの処理フロー、第10図はLDPSWの処理
フローを、夫々示す。 10……主メモリ、20……システムバス、3
0……BPU、40……入出力制御装置、41…
…入出力装置、50……フアイル制御装置、51
……2次記憶装置、301……命令レジスタ、3
02……デコーダ、303……マイクロプログラ
ムシーケンサ、304……制御記憶、305……
パイプラインレジスタ、306……コンデイシヨ
ンテストマルチプレクサ、307……制御線、3
08……ジエネラルレジスタ、309……ワーキ
ングレジスタ、310……入力マルチプレクサ、
311……ALD、312……プログラムカウン
タ(PC)、313……アドレスレジスタ、314
……メモリレジスタ、315……メモリアドレス
レジスタ、316……割込みフラグ、317……
他のコンデシヨンフラグ、318……割込みレジ
スタ、319……PSW、320……割込み判定
回路、321……スタツクポインタ。

Claims (1)

  1. 【特許請求の範囲】 1 少なくとも2つのオペコードとオペラントと
    を持ち、各オペコードから命令処理が開始する形
    式のマイクロ命令を格納するメモリと、 該メモリから上記命令が読出され、上記第1の
    オペコードによるマイクロプログラム処理を行つ
    てソウトウユアサブルーチンのコールがされた時
    に上記第2のオペコードを戻りアドレスとして指
    定する第1の手段と、 上記オペランドからのエントリアドレスでメモ
    リ上のソフトウエアサブルーチンを読出してサブ
    ルーチン処理を行う第2の手段と、 該サブルーチン処理後に上記第1の手段で指定
    したアドレスを次に実行するマイクロ命令のアド
    レスとして指定する第3の手段と、 より成るデータ処理装置。 2 少なくとも2つのオペコードを持ち、各オペ
    コードから命令処理が開始する形式の命令を格納
    するメモリと、 該メモリから上記命令が読出され、上記第1の
    オペコードによるマイクログラム処理を行うと共
    に割込みの有無を判定し、割込み有の場合、第2
    のオペコードを戻りアドレスとして指定する第1
    の手段と 上記割込み有の場合、割込み先のマイクロ命令
    のアドレスを生成し、該アドレスで割込みルーチ
    ンをメモリから読出して割込み処理を行う第2の
    手段と、 該割込み処理後に上記第1の手段で指定された
    アドレスを次に実行するマイクロ命令のアドレス
    として指定する第3の手段と、 より成るデータ処理装置。
JP6124781A 1981-04-24 1981-04-24 Data processor Granted JPS57176457A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6124781A JPS57176457A (en) 1981-04-24 1981-04-24 Data processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6124781A JPS57176457A (en) 1981-04-24 1981-04-24 Data processor

Publications (2)

Publication Number Publication Date
JPS57176457A JPS57176457A (en) 1982-10-29
JPS645330B2 true JPS645330B2 (ja) 1989-01-30

Family

ID=13165706

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6124781A Granted JPS57176457A (en) 1981-04-24 1981-04-24 Data processor

Country Status (1)

Country Link
JP (1) JPS57176457A (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5146569A (en) * 1986-10-24 1992-09-08 Hitachi, Ltd. System for storing restart address of microprogram, determining the validity, and using valid restart address to resume execution upon removal of suspension
US7519833B2 (en) 2003-04-18 2009-04-14 Via Technologies, Inc. Microprocessor apparatus and method for enabling configurable data block size in a cryptographic engine
US7844053B2 (en) 2003-04-18 2010-11-30 Ip-First, Llc Microprocessor apparatus and method for performing block cipher cryptographic functions
US7925891B2 (en) 2003-04-18 2011-04-12 Via Technologies, Inc. Apparatus and method for employing cryptographic functions to generate a message digest
US7532722B2 (en) * 2003-04-18 2009-05-12 Ip-First, Llc Apparatus and method for performing transparent block cipher cryptographic functions
US7900055B2 (en) 2003-04-18 2011-03-01 Via Technologies, Inc. Microprocessor apparatus and method for employing configurable block cipher cryptographic algorithms
US7539876B2 (en) 2003-04-18 2009-05-26 Via Technologies, Inc. Apparatus and method for generating a cryptographic key schedule in a microprocessor
US7321910B2 (en) 2003-04-18 2008-01-22 Ip-First, Llc Microprocessor apparatus and method for performing block cipher cryptographic functions
US7529368B2 (en) 2003-04-18 2009-05-05 Via Technologies, Inc. Apparatus and method for performing transparent output feedback mode cryptographic functions
US7502943B2 (en) 2003-04-18 2009-03-10 Via Technologies, Inc. Microprocessor apparatus and method for providing configurable cryptographic block cipher round results
US7529367B2 (en) 2003-04-18 2009-05-05 Via Technologies, Inc. Apparatus and method for performing transparent cipher feedback mode cryptographic functions
US7392400B2 (en) 2003-04-18 2008-06-24 Via Technologies, Inc. Microprocessor apparatus and method for optimizing block cipher cryptographic functions
US7542566B2 (en) 2003-04-18 2009-06-02 Ip-First, Llc Apparatus and method for performing transparent cipher block chaining mode cryptographic functions
US7536560B2 (en) 2003-04-18 2009-05-19 Via Technologies, Inc. Microprocessor apparatus and method for providing configurable cryptographic key size

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5547417B2 (ja) * 1973-01-30 1980-11-29
JPS5129848A (ja) * 1974-09-06 1976-03-13 Nippon Electric Co Deetashorisochi

Also Published As

Publication number Publication date
JPS57176457A (en) 1982-10-29

Similar Documents

Publication Publication Date Title
US5430862A (en) Emulation of CISC instructions by RISC instructions using two pipelined stages for overlapped CISC decoding and RISC execution
EP0220684B1 (en) Data processing system
US5682531A (en) Central processing unit
EP0087785B1 (en) Microprogram controlled data processing apparatus
JPS6339931B2 (ja)
JPS604491B2 (ja) デ−タ処理システム
JPS645330B2 (ja)
JPS62197830A (ja) デ−タ処理システム
JPH0810428B2 (ja) データ処理装置
JPS5811654B2 (ja) デ−タシヨリシステム
JP2840604B2 (ja) マイクロコード式cpuで実行される命令用のオペランドを指定する方法および装置
JPH07120338B2 (ja) 共同プロセッサによる命令の実行をデータプロセッサが調整する方法および該データプロセッサ
US4656581A (en) Vector mask control system
JPS6250934A (ja) 処理装置の割込制御方式
JPS6212529B2 (ja)
JPH031231A (ja) マイクロプログラム制御装置
JP3716604B2 (ja) 情報処理装置
KR100206350B1 (ko) 중앙처리장치
US5212779A (en) System for guarantee reexecution after interruption by conditionally used store buffer if microinstruction being executed is a memory write and last microinstruction
JPS63268033A (ja) データ処理装置
JPS6217773B2 (ja)
JPH01297727A (ja) 浮動小数点演算の正規化制御方式
KR930005767B1 (ko) 마이크로프로그램 제어를 기초로한 데이타 처리장치
US5463747A (en) Microprogram data processor processing operand address calculation and instruction execution with common hardware
JP2562838B2 (ja) プロセッサ及びストアバッファ制御方法