JPH0212429A - ディレイド・ジャンプ対応機能付情報処理装置 - Google Patents

ディレイド・ジャンプ対応機能付情報処理装置

Info

Publication number
JPH0212429A
JPH0212429A JP16087788A JP16087788A JPH0212429A JP H0212429 A JPH0212429 A JP H0212429A JP 16087788 A JP16087788 A JP 16087788A JP 16087788 A JP16087788 A JP 16087788A JP H0212429 A JPH0212429 A JP H0212429A
Authority
JP
Japan
Prior art keywords
instruction
jump
nop
code
delayed
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
JP16087788A
Other languages
English (en)
Inventor
Haruyuki Tago
田胡 治之
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP16087788A priority Critical patent/JPH0212429A/ja
Publication of JPH0212429A publication Critical patent/JPH0212429A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

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

Description

【発明の詳細な説明】 [発明の目的] (産業上の利用分野) 本発明はディレイド・ジャンプ機能をもつ情報処理装置
(以下、コンピュータと称す)に関する。
(従来の技術) 第5図のa欄に機械語の命令列の一例をニモニックコー
ドで示す。パイプライン方式のコンピュータでは、10
0番地を実行中に101番地の命令語をフェッチし、1
01番地の命令語実行中に102番地の命令語をフェッ
チすることにより、高速化を図っている。102番地の
命令はジャンプ命令なので、単純なブリフェッチではパ
イプライン機構が有効に働かない。パイプライン処理を
なるべく乱さないためには、つぎの2つの方法がある。
第1はジャンプ命令実行中にブリフェッチ済みの103
番地の命令を捨て、改めてジャンプ先の105番地の命
令をフェッチするようにハードウェアを設計する方法で
ある。第2はディレイド・ジャンプである。これはジャ
ンプ命令の次の命令(この例では103番地のADDA
、B)が必ず実行されてから102番地のジャンプ命令
が実行される仕様とする方法である。第1の方法は従来
とられた方法だが、制御系を中心としたハードウェアが
複雑になり、マシンサイクルの高速化を制限しがちであ
った。第2の方法は、ジャンプ命令にからむ制御はソフ
トウェアに任せて、ハードウェアを簡単にする方法で、
近年注目されている。以下、この方法について説明する
ディレイド・ジャンプでは、第5図のa欄のコードその
ままでは102番地と103番地の実行がオーバーラツ
プする。そこでジャンプ命令直後にNOP命令を挿入す
る(第5図のb欄)。第6図に第5図のb欄の命令列の
マシンサイクルごとの実行経過を示す。各命令は第1図
のクロ・ツクでメモリから命令フェッチ(IF)され、
第2のクロックで命令デコード(ID)され、実行(E
X)される。102番地のジャンプ命令では、クロック
4の実行時に分岐先アドレスが計算され、プログラムカ
ウンターにロドされる。従って分岐先番地からの命令フ
ェッチはクロック5まで開始できない。103番地の命
令はジャンプ先が決まる前にクロック5で実行されるが
NOPなので問題はない。これにより、正しい結果は得
られるが、ジャンプ命令ごとにNOP命令を実行するの
で性能が低下する。そこでジャンプ直前の命令がジャン
プの条件に無関係な時には、第5図のC欄のように命令
を入れ換えて、NOP命令を削除する。
第7図に第5図のC欄の命令列のマシンサイクルごとの
実行経過を示すが、正しい結果が早く得られている。以
上のように、NOP命令を挿入したコードを発生し、更
に可能な場合にはジャンプ命令とその直前の命令を入れ
換える機能を持つコンパイラが準備されていれば、ディ
レイド・ジャンプ機構に対応できる。しかし、従来のオ
ブジェクトコードそのもの(第5図のa欄)を実行でき
ない問題点があった。あえて実行させた場合を第8図に
示す。正しい結果はz=(A+1)であるが、この場合
Z −(A + B +l )となり、誤った結果とな
っている。
(発明が解決しようとする課題) 以上のように、ディレイド・ジャンプ機構を持つコンピ
ュータでは従来のオブジェクトコードをそのまま実行で
きない欠点があった。本発明はこの問題を解決し、従来
のコード、ディレイド・ジャンプ用に生成されたコード
のいずれも実行できるコンピュータを提供することを目
的としている。
[発明の構成〕 (課題を解決するための手段) 本発明は上記問題を解決するため、NOP命令挿入モー
ドの有効、無効を示すモードビットとNOPコード発生
回路を持ち、ジャンプ命令が実行されたとき、モードビ
ットが有効であれば、NOP命令を命令列に挿入する。
(作  用) この様な構成とすれば、従来のコードをそのまま実行す
る事も、ディレイド・ジャンプ用に生成されたコードも
実行できる。
(実施例) 以下、本発明を説明する。
第1図にコンピュータの内部構成例を示す。
第1図中のすべてのレジスタはエツジトリガ形である。
制御レジスタ中にある走行モードビット(10)が、「
ジャンプ命令実行直後にNOP命令を挿入するか否か」
を規定する。NOP命令を挿入しないモードを「通常モ
ード」、挿入するモードを「NOP挿入モード」と呼ぶ
。「通常モード」では現在実行中の命令コードは命令レ
ジスタ(221R)に保持され、ブリフェッチされた次
命令は命令バッファ(201RB)に保持される。命令
のオペレーションコード部は制御部(25)でデコード
され、各部の制御信号が生成される。「NOP挿入モー
ド」でジャンプ命令または条件ジャンプ命令が実行され
ると、ジャンプ命令検出信号(14)が真になる。この
ときモードビットが「NOP挿入モード」であると、I
Rの入力はIRBでなく、NOPコード発生回路に切り
替えられる。またプログラムカウンタの人力には、通常
のインクメンタ(INC)出力ではなく、現在のPCの
値がフィードバックされる。
これにより、次クロックには、ブリフェッチされた命令
ではなく、NOPコード発生回路(21)からNOPコ
ードがIHにロードされる。即ちNOP命令が挿入され
たことになる。ジャンプ信号はプログラムカウンタ(2
3PC)のインクリメントも抑える。これは挿入された
NOP命令実行時にPCが進みすぎるのを防ぐためであ
る。
無条件ジャンプの命令の実行経過を第2図に示す。クロ
ック4でジャンプ先番地が算出され、クロック5でPC
にロードされる。ジャンプ命令検出信号によりクロック
5ではNOPが内部で発生され、ジャンプ先の命令はク
ロック5でフェッチされ、クロック6で実行される。
次に条件ジャンプ命令について述べる。第3図に条件ジ
ャンプ命令(この例ではJun+p Minus)の条
件成立時の実行経過を示す。クロック4でジャンプ先番
地が算出され、クロック5てPCにロードされる。ジャ
ンプ命令検出信号によりクロック5ではNOPが内部で
発生され、ジャンプ先の命令はクロック5でフェッチさ
れ、クロック6で実行される。第4図に条件ジャンプ命
令(この例ではJump Minus)の条件不成立時
の実行経過を示す。
ジャンプ命令検出信号により、PCは203番地をクロ
ック4〜5の間保持する。これによって、クロック5で
ジャンプ命令の次命令のフェッチが203番地から正し
く行なわれる。
[発明の効果] 以上述べたように本発明によれば、モードビットの切り
替えにより、従来のコード、ディレイド・ジャンプ用に
生成されたコードのいずれも実行できるコンピュータを
実現できる。
【図面の簡単な説明】
第1図は本発明の一実〜施例のコンピュータの構成を示
す図、第2図はNOP挿入モード時、無条件ジャンプ命
令の実行経過を示す図、第3図はNOP挿入モード時、
条件ジャンプ成立時の実行経過を示す図、第4図はNO
P挿入モード時、条件至第8図は命令の実行経過をマシ
ンサイクルごとに示す図である。 10・・・・・・走行モードビット 11・・・・・・フラグ 12・・・・・・算術論理演算ユニット13・・・・・
・レジスターファイル 14・・・・・・ジャンプ命令検出信号20・・・・・
・命令バッファ(IRB)21・・・・・・NOPコー
ド発生回路22・・・・・・命令レジスタ(IR)23
・・・・・・プログラムカウンタ(PC)24・・・・
・・インクリメンタ(INC)25・・・・・・制御部

Claims (2)

    【特許請求の範囲】
  1. (1)プログラムカウンタの値が不連続に変化しうる命
    令を持ち、前期命令の次番地の命令を実行してからジャ
    ンプ先番地の命令を実行するディレイド・ジャンプ機構
    を持つ情報処理装置において、少なくとも「通常モード
    」と「NOP挿入モード」を示すモードビットを設け、
    通常モードではディレイドジャンプ動作を行い、NOP
    挿入モードではジャンプ命令実行直後にNOP命令をコ
    ンピュータ内部で発生し命令ストリームに挿入する手段
    を有し、少なくとも条件ジャンプ命令時にはプログラム
    カウンタの更新を停止する手段を有することを特徴とす
    るディレイド・ジャンプ対応機能付情報処理装置。
  2. (2)前期プログラムカウンタの値が不連続に変化しう
    る命令は、無条件ジャンプ命令、条件ジャンプ命令、コ
    ール命令、リターン命令の少なくとも一つからなること
    を特徴とする請求項1記載のディレイド・ジャンプ対応
    機能付情報処理装置。
JP16087788A 1988-06-30 1988-06-30 ディレイド・ジャンプ対応機能付情報処理装置 Pending JPH0212429A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP16087788A JPH0212429A (ja) 1988-06-30 1988-06-30 ディレイド・ジャンプ対応機能付情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP16087788A JPH0212429A (ja) 1988-06-30 1988-06-30 ディレイド・ジャンプ対応機能付情報処理装置

Publications (1)

Publication Number Publication Date
JPH0212429A true JPH0212429A (ja) 1990-01-17

Family

ID=15724305

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16087788A Pending JPH0212429A (ja) 1988-06-30 1988-06-30 ディレイド・ジャンプ対応機能付情報処理装置

Country Status (1)

Country Link
JP (1) JPH0212429A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0334025A (ja) * 1989-06-30 1991-02-14 Mitsubishi Electric Corp 命令処理方式
JP2007200055A (ja) * 2006-01-27 2007-08-09 Hitachi Ltd iSCSI通信制御方法とそれを用いた記憶システム
WO2008029450A1 (fr) * 2006-09-05 2008-03-13 Fujitsu Limited Dispositif de traitement d'informations comprenant un mécanisme de correction d'erreur de prédiction d'embranchement
DE102019103111B4 (de) 2019-02-08 2023-06-07 Andrea Kurlbaum Antirutschvorrichtung für einen Trageriemen

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0334025A (ja) * 1989-06-30 1991-02-14 Mitsubishi Electric Corp 命令処理方式
JP2007200055A (ja) * 2006-01-27 2007-08-09 Hitachi Ltd iSCSI通信制御方法とそれを用いた記憶システム
WO2008029450A1 (fr) * 2006-09-05 2008-03-13 Fujitsu Limited Dispositif de traitement d'informations comprenant un mécanisme de correction d'erreur de prédiction d'embranchement
JPWO2008029450A1 (ja) * 2006-09-05 2010-01-21 富士通株式会社 分岐予測ミスリカバリ機構を有する情報処理装置
DE102019103111B4 (de) 2019-02-08 2023-06-07 Andrea Kurlbaum Antirutschvorrichtung für einen Trageriemen

Similar Documents

Publication Publication Date Title
JP2796797B2 (ja) ディジタル命令プロセッサ制御装置によってインターラプトルーチンを処理する方法
JP3093624B2 (ja) 投機例外を処理する方法及び装置
EP0423906B1 (en) Method of and apparatus for nullifying an instruction
US5596733A (en) System for exception recovery using a conditional substitution instruction which inserts a replacement result in the destination of the excepting instruction
JP3120152B2 (ja) コンピューターシステム
US20010005882A1 (en) Circuit and method for initiating exception routines using implicit exception checking
WO2009114289A1 (en) System and method of selectively committing a result of an executed instruction
EP0404068A2 (en) Branch instruction executing device
KR100597328B1 (ko) 브랜치 제어를 하는 데이터 처리 시스템 및 그 방법
EP0227117B1 (en) Program skip operation control system
KR20020073233A (ko) 코프로세서 명령 실행 장치 및 방법
WO2021249054A1 (zh) 一种数据处理方法及装置、存储介质
US5469552A (en) Pipelined data processor having combined operand fetch and execution stage to reduce number of pipeline stages and penalty associated with branch instructions
KR102379886B1 (ko) 벡터 명령 처리
JPH0212429A (ja) ディレイド・ジャンプ対応機能付情報処理装置
JP3599499B2 (ja) 中央処理装置
JPH06295243A (ja) データ処理装置
JP2001014161A (ja) プログラマブルコントローラ
KR970011209B1 (ko) 실행된 명령 스트림을 추적하기 위해 사용되는 신호를 발생하기 위한 회로를 포함하는 마이크로프로세서
JPH0384632A (ja) データ処理装置
JP2000029696A (ja) プロセッサおよびパイプライン処理制御方法
KR100631318B1 (ko) 파이프라인 아키텍처를 갖는 프로세서에서 조건 점프 명령을 처리하기 위한 방법 및 명령어 디코더
JP3100705B2 (ja) マイクロプロセッサ内の命令準備のための装置
JP3063593B2 (ja) プログラマブルコントローラ
JP2944335B2 (ja) 情報処理装置