JP3014682B2 - プログラム制御方法及び装置 - Google Patents

プログラム制御方法及び装置

Info

Publication number
JP3014682B2
JP3014682B2 JP10318971A JP31897198A JP3014682B2 JP 3014682 B2 JP3014682 B2 JP 3014682B2 JP 10318971 A JP10318971 A JP 10318971A JP 31897198 A JP31897198 A JP 31897198A JP 3014682 B2 JP3014682 B2 JP 3014682B2
Authority
JP
Japan
Prior art keywords
instruction
nop
code
instruction code
output
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 - Fee Related
Application number
JP10318971A
Other languages
English (en)
Other versions
JPH11219294A (ja
Inventor
雅之 山崎
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 Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP10318971A priority Critical patent/JP3014682B2/ja
Publication of JPH11219294A publication Critical patent/JPH11219294A/ja
Application granted granted Critical
Publication of JP3014682B2 publication Critical patent/JP3014682B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、命令をパイプライ
ン処理する情報処理装置におけるストール(時間稼ぎ)
のプログラム制御方法及び装置に関する。
【0002】
【従来の技術】命令をパイプライン処理する情報処理装
置、例えばディジタルシグナルプロセッサ(以下、DS
Pと略記する)には、汎用レジスタ(以下、GRと略記
する)とは別に、データメモリをアドレッシングするた
めの専用ポインタレジスタ(以下、PRと略記する)が
設けられている。このような情報処理装置では、命令間
でレジスタ干渉などの資源の競合を起こす場合がある。
【0003】例えば、4段パイプラインの場合、命令フ
ェッチ(IF)、命令デコード1(D1)、命令デコー
ド2(D2)、実行ステージ(EX)の4つの処理ステ
ージがあり、GRからPRへの転送はEXステージで行
われる。また、PRはD1ステージでデータメモリをア
ドレッシングする。したがって、GRからPRへの転送
命令(MOV PR,GR)の直後にデータメモリへの
アクセスを伴う命令(例えば、データメモリからGRへ
の転送命令:MOV GR,M(PR))を実行する
と、変更前のPRの値でアドレッシングが行われ、レジ
スタ干渉が発生するという問題があった。
【0004】レジスタ干渉などの資源競合を回避するた
めには、資源の競合を起こす命令間に無処理命令(以
下、NOPと記す)を挿入して命令をストールさせる方
法が採られる。この資源競合の問題を解決する技術とし
て特開平1−119829が知られている。特開平1−
119829で開示されている技術は、命令コードにN
OP数を指定するフィールドを設け、命令コードデコー
ド時に前記特定フィールドを参照して、挿入するNOP
数を検知し、命令コードの実行内部コードの出力に続い
て所定数のNOPを挿入してストール制御を実現するこ
とにより上記レジスタ干渉を回避させるものである。
【0005】この技術によれば、命令コードにNOPフ
ィールドを設け、レジスタ干渉など資源競合を起こす命
令に対して、当該命令実行の後に挿入すべきNOP数を
NOPフィールド中に設定することとなる。このNOP
フィールドの設定に従い、レジスタ干渉など資源競合を
起こす先行命令と後続命令の間にストールを実行し、資
源競合を防ぐことができる。4段パイプラインの場合
は、命令1「MOV PR,GR」と命令2「MOV
GR,M(PR)」との間にNOP命令を2つ挿入する
ことにより、命令1の実行により変更されたPRの値を
用いて命令2でアドレッシングする事ができる。
【0006】
【発明が解決しようとする課題】上記特開平1−119
829には、命令コードのNOPフィールドを参照し
て、所定数のNOPを挿入してストール制御を実現する
具体的なハード構成について全く開示されていない。
【0007】上記特開平1−119829に開示された
技術によれば、レジスタ干渉など資源競合を起こす先行
命令と後続命令がある場合に、先行命令に対してNOP
フィールドを設け、そのNOPフィールド中にNOP数
を設定することができ、先行命令の実行後、必要数のN
OPを挿入することができる。しかし、処理プログラム
において資源競合を起こす先行命令の種類が多く存在す
る場合にはNOPフィールドが設けられた命令コード種
類が増えてしまうこととなる。NOPフィールドを持つ
命令コード種類が多くなるということは、命令コードデ
ータ量の増加を招くこととなり好ましくない。また、従
来の先行命令のコード中にNOPフィールドを設ける方
法であると、命令コード中にNOPフィールドを設ける
フィールド余裕が無い場合、この方法を用いることは不
可能である。
【0008】そこで、本発明の第1の目的は、命令コー
ド中のNOPフィールドを参照して所定数のNOPを挿
入してストール制御を実現するプログラム制御装置を提
供することにある。
【0009】また、本発明の第2の目的は、資源競合時
のストール制御のためのNOP挿入に伴う命令コードデ
ータ量の増加を抑えたプログラム制御方法及び装置を提
供することにある。
【0010】さらに本発明の第3の目的は、命令コード
中にNOPフィールドを設けるフィールド余裕が少ない
場合、従来の方法に比べてフィールド余裕を高めたプロ
グラム制御方法及び装置を提供することにある。
【0011】
【課題を解決するための手段】本発明による命令をパイ
プライン処理する情報処理装置におけるプログラム制御
方法は、処理プラグラム中に資源競合を起こす先行命令
と後続命令があり、前記先行命令の種類が前記後続命令
の種類より少ない場合、前記先行命令コード中にNOP
フィールドを設け、前記先行命令コードの命令を実行し
た後に前記先行命令コードのNOPフィールドに設定さ
れた数のNOPを挿入し、前記後続命令の種類が前記先
行命令の種類より少ない場合、前記後続命令コード中に
NOPフィールドを設け、前記後続命令コードの命令を
実行する前に前記後続命令コードのNOPフィールドに
設定された数のNOPを挿入し、前記先行命令と後続命
令の命令コードのフィールド余裕が少ない場合、前記先
行命令コード中および前記 後続命令コード中の双方にN
OPフィールドを設け、前記先行命令コードの命令を実
行した後に前記先行命令コードのNOPフィールドに設
定された数のNOPを挿入し、前記後続命令コードの命
令を実行する前に前記後続命令コードのNOPフィール
ドに設定された数のNOPを挿入することによりストー
ルを実行することを特徴とする。
【0012】上記構成によれば、本発明は、処理プログ
ラム中に資源競合を起こす先行命令と後続命令がある場
において、先行命令の種類が後続命令の種類より少な
い場合、先行命令コード中にNOPフィールドを設けた
ので、先行命令を実行後、先行命令コード中のNOPフ
ィールドに応じてNOPが挿入され、最後に後続命令が
実行されることになる。また、資源競合を起こす先行命
令と後続命令のうち、後続命令の種類が先行命令の種類
より少ない場合、後続命令コード中にNOPフィールド
を設けたので、先行命令コード中にNOPフィールドを
設けた場合に比べてNOPフィールドを設ける命令の数
を削減できる。また、先行命令と後続命令の双方の命令
コードのフィールド余裕が少ない場合、先行命令コード
中および後続命令コード中の双方にNOPフィールドを
設けたので、先行命令又は後続命令の何れか一方、又は
双方の命令コードのフィールド余裕が少ない場合、その
フィールド余裕を高めることができる。
【0013】なお、NOPフィールドへのNOP数の設
定は、アセンブラ、コンパイラ等が、資源の競合を起こ
す可能性のある特定の命令コードに自動的に設定するこ
とが好ましい。後述する第2及び第3のプログラム制御
方法についても同様である。
【0014】本発明による命令をパイプライン処理する
情報処理装置における第2のプログラム制御方法は、処
理プログラム中に、資源競合を起こす先行命令と後続命
令がある場合、先行命令コード中および前記後続命令コ
ード中の双方にNOPフィールドを設け、前記先行命令
コードの命令を実行した後に前記先行命令コードのNO
Pフィールドに設定された数のNOPを挿入し、前記後
続命令コードの命令を実行する前に前記後続命令コード
のNOPフィールドに設定された数のNOPを挿入する
ことによりストールを実行することを特徴とする。
【0015】上記構成によれば、先行命令コード中およ
び後続命令コード中の双方にNOPフィールドを設けた
ので、先行命令又は後続命令の何れか一方、又は双方の
命令コードのフィールド余裕が少ない場合、そのフィー
ルド余裕を高めることができる。
【0016】次に、本発明のNOPフィールドを有する
命令コードを含む命令をパイプライン処理するためのプ
ログラム制御装置は、第1の命令コードを格納する命令
コード格納部と、前記命令コード格納部から前記第1の
命令コードを出力するためのアドレスを生成するアドレ
ス生成部と、前記第1の命令コードを入力し、この第1
の命令コードがNOPフィールドを有する命令コードで
あるかの判定結果に基づいて、前記アドレス生成部への
パイプライン処理ステージを一時停止する停止信号の出
力制御と、前記第1の命令コード又はNOPコードを第
2の命令コードとして出力する制御を行なうストール制
御部とを備え、前記ストール制御部は、前記命令コード
格納部から読み出した前記第1の命令コードをラッチす
る第1の命令レジスタと、前記第1の命令レジスタから
読み出した前記第1の命令コードをラッチする第2の命
令レジスタと、前記第2の命令レジスタから出力される
第1の命令コードとNOPコードを入力し、切替信号に
基づいて前記第1の命令コード又はNOPコードを選択
して第2の命令コードとして出力する切替部と、前記第
1の命令レジスタから出力される第1の命令コードを入
力し、この第1の命令コードがNOPフィールドを有す
る命令コードであるか否かを判定し、その判定結果に基
づいて、前記アドレス生成部および前記第1、第2の命
令レジスタへの前記停止信号の出力制御と、前記切替部
への前記切替信号の出力制御を行なうパイプライン一時
停止部を含むことを特徴とする。
【0017】上記構成により、第1の命令コードがNO
Pフィールドを有する命令コードである場合、パイプラ
イン処理が一時停止され、切替信号によりNOPコード
が第2のコードとして出力することができる。なお、N
OP実行後、ラッチされた第1の命令コードが第2の命
令コードとして出力されるので、NOP実行後に命令コ
ードがストール制御部から出力され実行されることとな
る。
【0018】次に、本発明のNOPフィールドを有する
命令コードを含む命令をパイプライン処理するためのプ
ログラム制御装置は、第1の命令コードを格納する命令
コード格納部と、前記命令コード格納部から前記第1の
命令コードを出力するためのアドレスを生成するアドレ
ス生成部と、前記第1の命令コードを入力し、この第1
の命令コードがNOPフィールドを有する命令コードで
あるかの判定結果に基づいて、前記アドレス生成部への
パイプライン処理ステージを一時停止する停止信号の出
力制御と、前記第1の命令コード又はNOPコードを第
2の命令コードとして出力する制御を行なうストール制
御部とを備え、前記ストール制御部は、前記命令コード
格納部から読み出した前記第1の命令コードをラッチす
る第1の命令レジスタと、前記第1の命令レジスタの出
力とNOPコードを入力し、第1の切替信号に基づい
て、前記第1の命令レジスタの出力又はNOPコードを
選択して出力する第1の切替部と、前記第1の切替部の
出力をラッチする第2の命令レジスタと、前記第2の命
令レジスタの出力とNOPコードを入力し、第2の切替
信号に基づいて、前記第2の命令レジスタの出力又はN
OPコードを選択して第2の命令コードとして出力する
第2の切替部と、前記第1の切替部からの出力を入力
し、この出力がNOPフィールドを有する命令コードで
あるか否かを判定し、その判定結果に基づいて前記アド
レス生成部および前記第1の命令レジスタへの前記停止
信号および第2の命令レジスタへの前記停止信号と異な
る停止信号の出力制御と、前記第1、第2の切替部への
前記切替信号の出力制御を行なうパイプライン一時停止
部を含むことを特徴とする。
【0019】上記構成により、第1の命令コードおよび
第2の命令コードの双方にNOPフィールドを設け、第
1の命令コード実行後に所定数のNOPを実行し、さら
に第2の命令コード実行前に所定数のNOPを実行する
ことにより、一命令あたりに設けるNOPフィールド領
域を少なくすることができる。特に、命令コードにNO
Pフィールドを設けるフィールド余裕が少ない場合に有
効である。
【0020】なお、NOPフィールド内のビット列が表
わすNOP数は、2進の値に限らず、ビット列の組合わ
せを特定の数値を示すように取り決めておいても良いこ
とは言うまでもない。
【0021】次に、後続命令中にNOPフィールドを設
ける場合、前記パイプライン一時停止部は、命令コード
中に設けられたNOPフィールドに指定されたNOP数
をカウントするNOP数カウント部と、前記命令コード
がNOPフィールドを有する命令コードであるかを判定
する判定部とを有し、前記判定部が、NOPフィールド
を有する命令コードであると判定した時、前記NOP数
カウント部から出力されるNOP数に対応するパイプラ
イン処理ステージの間、前記停止信号を出力することが
好ましい。また、先行命令と後続命令双方にNOPフィ
ールドを分割して設ける場合、前記パイプライン一時停
止部は、命令コード中に設けられたNOPフィールドに
指定されたNOP数をカウントするNOP数カウント部
と、前記第1の命令コードがNOPフィールドを有する
命令コードであるかを判定する第1の判定部と、前記第
2の命令コードがNOPフィールドを有する命令コード
であるかを判定する第2の判定部とを有し、前記第1の
判定部が、NOPフィールドを有する第1の命令コード
であると判定した時、前記NOP数カウント部から出力
されるNOP数に対応するパイプライン処理ステージの
間、前記停止信号を出力し、前記第2の判定部が、NO
Pフィールドを有する第2の命令コードであると判定し
た時、前記NOP数カウント部から出力されるNOP数
に対応するパイプライン処理ステージの間、前記停止信
号を出力することが好ましい。
【0022】上記構成により、NOPフィールドが設け
られた特定命令を判定でき、かつ、NOPフィールドに
設定されているNOP数を検知することができる。
【0023】
【発明の実施の形態】以下、本発明の実施形態を説明す
る。最初に、本発明の基本的考え方を説明し、その後、
具体的な実施形態について説明する。
【0024】まず、本発明のプログラム制御方法の基本
的考え方を以下に示す。プログラム処理中、先行命令と
後続命令において同じレジスタを参照する場合などにお
いて、レジスタ干渉などの資源競合が発生する場合があ
る。
【0025】図1(a)にレジスタ干渉が起きる様子の
一例を示す。これは、4段パイプラインの場合のタイミ
ングチャートであり、先行命令が、GRからPRへのデ
ータ転送命令“MOV PR,GR”であり、後続命令
が、PR値をアドレスとしたデータメモリからGRへの
転送命令“MOV GR,M(PR)”であり、両者が
連続している。上段に示した先行命令においてGRから
PRへのデータ転送はEXステージで行われる。一方、
下段に示した後続命令においてPRはD1ステージでデ
ータメモリをアドレッシングする。つまり、先行命令に
よるPRへのデータ転送より先に後続命令におけるアド
レッシングが行われてしまい、データ転送前のPRの値
でアドレッシングしてしまうことになる。
【0026】このレジスタ干渉の問題を回避するために
は、先行命令と後続命令の間に必要数のNOPを挿入す
ることによりストール制御を行ない、両者のタイミング
を調整すれば良い。NOP挿入によるレジスタ干渉を回
避した様子を図1(b)に示す。2つのNOPが挿入さ
れ、後続命令のタイミングがパイプライン処理ステージ
2つ分遅延するため、後続命令は、先行命令によるデー
タ転送後のPR値を用いてアドレッシングできることと
なる。
【0027】NOP挿入を指定する方法として、資源競
合をハードウェアで検出してNOPを挿入する方法やプ
ログラム中にNOP命令を挿入して書き込んでおく方法
もあるが、前者は回路規模の増大を招き、後者はプログ
ラム中の命令数が多くなりメモリを多く消費してしまう
ので、本発明では、命令コード中にNOPフィールドを
設けてNOP挿入を指定する方法をとる。
【0028】この命令コード中にNOPフィールドを設
ける方法は3通りある。第1は資源競合を起こす先行命
令中に設ける方法、第2は後続命令中に設ける方法、第
3は先行命令後続命令双方に分割して設ける方法であ
る。この第1〜第3のどの方法によるべきかは、資源競
合を起こす先行命令と後続命令の性質による。
【0029】図2は、資源競合を起こす命令を、命令種
類数とフィールド余裕に注目して分類した図表である。
タイプIに属する先行命令と後続命令の組み合わせに対
しては、上記第1の先行命令の命令コード中にNOPフ
ィールドを設ける方法を採用する。その理由は、図3に
示すように、このタイプは、NOPフィールドを設ける
先行命令が少なく、後続命令が多いため、全体として設
けたNOPフィールド数が少なくて済むからである。逆
に後続命令にNOPフィールドを設けると全体として設
けるNOPフィールド数が多くなってしまう。
【0030】タイプIIに属する先行命令と後続命令の組
み合わせに対しては、上記第2の後続命令の命令コード
中にNOPフィールドを設ける方法を採用する。その理
由は、図4に示すように、このタイプは、先行命令が多
く、NOPフィールドを設ける後続命令が少ないため、
全体として設けたNOPフィールド数が少なくて済むか
らである。逆に先行命令にNOPフィールドを設けると
全体として設けるNOPフィールド数が多くなってしま
う。
【0031】タイプIIIに属する先行命令と後続命令の
組み合わせに対しては、上記第3の先行命令と後続命令
の双方命令コード中にNOPフィールドを分割して設け
る方法を採用する。その理由は、このタイプは、命令の
フィールド余裕が少なく、前後いずれかの命令コード中
にまとめてNOPフィールドが採れない。そこで、前後
命令双方に分割して設けることで必要なNOP数指定を
行なうものである。その様子を図5に示す。
【0032】なお、図2中に挙げたMOV,ADDなど
の命令は、先行命令、後続命令の一例であることは言う
までもない。以上に示したように、命令コード中にNO
Pフィールドを設けてストール制御する方法は、命令種
類数、フィールド余裕に応じて選択するものとし、処理
プログラム中に資源競合を起こす先行命令と後続命令の
組み合わせに対して以下のストール制御方法を実現す
る。
【0033】先行命令の種類が後続命令の種類より少な
い場合は、上記タイプとして、先行命令コード中にNO
Pフィールドを設け、当該先行命令コードをデコードし
たときに、NOPフィールドに設定されたNOPの数が
Nであれば、当該命令コードに該当する命令を実行した
後にN個のNOPを挿入することによりストールを実行
する。
【0034】後続命令の種類が先行命令の種類より少な
い場合は、上記タイプIIとして、後続命令コード中にN
OPフィールドを設け、当該後続命令コードをデコード
したときに、NOPフィールドに設定されたNOPの数
がNであれば、N個のNOPを挿入した後に、当該命令
コードに該当する命令を実行することによりストールを
実行する。
【0035】命令コードにフィールド余裕が無い場合
は、上記タイプIIIとして、先行命令コード中および前
記後続命令コード中の双方にNOPフィールドを設け、
先行命令コードをデコードしたときに、そのNOPフィ
ールドに設定されたNOPの数がNであれば、先行命令
コードの命令を実行した後に先行命令コードのNOPフ
ィールドに設定された数NのNOPを挿入し、次に、後
続命令コードをデコードし、そのNOPフィールドに設
定されたNOPの数がMであれば、後続命令コードの命
令を実行する前に前記後続命令コードのNOPフィール
ドに設定された数MのNOPを挿入することによりスト
ールを実行する。
【0036】次に、本発明のプログラム制御装置の基本
構成を説明する。図6は、本発明の基本構成部分のブロ
ック図である。図6において、1が命令コード格納部、
2がアドレス生成部、3がストール制御部である。命令
コード格納部1は命令が格納されたメモリなどであり、
アドレス生成部2からのアドレス信号に従って該当する
命令を第1の命令コードとしてストール制御部3に出力
する。
【0037】ストール制御部3は、第1の命令コード2
1とNOPコード23を入力としている。第1の命令コ
ード21を入力し、この第1の命令コードがNOPフィ
ールドを有する命令コードであるかの判定を行なう。こ
の判定により第1の命令コード21がNOPフィールド
を有する命令コードであれば、デコードして挿入するN
OP数を検知し、指定数分、アドレス生成部2へのパイ
プライン処理ステージを一時停止するパイプライン一時
停止信号24を出力し、かつ、NOPコード23を第2
の命令コード22として出力する制御を行なう。次に、
入力された第1の命令コード21がNOPフィールドを
有しない命令コードであれば、アドレス生成部2へのパ
イプライン一時停止信号24は出力せず、第1の命令コ
ード21を第2の命令コード22として出力する制御を
行なう。
【0038】この基本構成を備えたプログラム制御装置
に対して必要なNOPフィールドを設けた命令を与える
ことにより、レジスタ干渉などの資源競合を起こす命令
間に必要数のNOPを挿入して資源競合を回避すること
ができる。
【0039】以上が、本発明のプログラム制御方法とプ
ログラム制御装置の基本的な考え方である。次に、上記
において図2を用いて分類した命令のタイプ〜IIIのそ
れぞれに適応したプログラム制御方法およびプログラム
制御装置を実施形態1〜3として説明する。
【0040】(実施形態1) 実施形態1は、先行命令の種類が後続命令の種類より少
ないタイプの場合の適用例であり、入力された先行命令
コードのNOPフィールドを検出し、命令コードに該当
する命令を実行した後、Nの値に応じたサイクルのNO
Pを挿入してストールを実行するものである。
【0041】図7は、本実施形態1のプログラム制御装
置のストール制御部3を中心とした構成図である。便宜
上、命令コード格納部1とアドレス生成部2の図示は省
略している。図7において、11は命令保持部としての
第1の命令レジスタで、第1の命令コード21を入力と
し、パイプライン一時停止信号24を制御信号入力と
し、ラッチ信号26を出力とする。12は切替部として
のマルチプレクサで、NOPコード23と第1の命令レ
ジスタ11の出力26とを入力信号とし、切替信号25
を制御信号入力とし、第2の命令コード22を出力す
る。13はパイプライン一時停止部で、第2の命令コー
ド22を入力とし、切替信号25とパイプライン一時停
止信号24とを出力する。
【0042】図10はNOPフィールドが2ビットで構
成されている場合のパイプライン一時停止部13の回路
構成例を示している。図10において、101はNOP
指定付命令判定部で、第1の命令コード21(NOPフ
ィールド以外の命令コードで良い)を入力とし、NOP
フィールドが設けられているか否かを検知する。なお、
本実施形態1の図7では、第2の命令コード22が入力
されているが、マルチプレクサ12により第1の命令コ
ード21が選択されて入力される。後述する他の実施形
態でも第1の命令コード21が入力されると考えるもの
とする。
【0043】NOP指定付命令判定部101では、第1
の命令コード21がNOPフィールドを持つ命令である
場合には論理“1”を出力し、NOPフィールドを持た
ない命令である場合には論理“0”を出力するものとす
る。102及び103はフリップフロップ(以下、FF
と略記する)、104及び105はOR(論理和)ゲー
ト、106はAND(論理積)ゲートである。フリップ
フロップ102、ORゲート104および105により
NOP数カウント部107が形成されている。命令コー
ドがLSBを採用している場合、ここではNOPフィー
ルドは下位2ビットとし、信号111はNOPフィール
ドのうちの下位ビット、信号112はNOPフィールド
のうちの上位ビットの信号である。
【0044】FF102は信号112を入力とする。F
F103はANDゲート106の出力を入力とし、切替
信号15とパイプライン一時停止信号24を出力する。
ORゲート104はFF102からの出力と信号112
を入力とする。ORゲート105は信号111とORゲ
ート104からの出力を入力とする。ANDゲート10
6はORゲート105からの出力とNOP指定付命令判
定部101からの出力を入力とする。
【0045】パイプライン一時停止部13は、この回路
構成により、第1の命令コード21がNOPフィールド
を持つ命令である場合には、指定のNOP数にあたる処
理ステージ分の切替信号25とパイプライン一時停止信
号24を出力する。
【0046】以上のように構成されたプログラム制御装
置の動作を、図6、図7、図10、図12、図14〜1
5に基づいて説明する。図12はNOPフィールドが設
けられている先行命令コードのビットフィールドを示し
ており、ビット0とビット1がNOPフィールドであ
る。ビット0が1のとき、NOP数N=1を指示し、ビ
ット1が1のとき、NOP数N=2を指示する。図14
は、本実施形態のプログラム制御装置による処理の流れ
の概略を示したフローチャートである。図15は4段パ
イプラインの場合のタイミングチャートを示しており、
転送命令(MOVPR,GR)を命令の例としている。
【0047】以下、ステップごとに動作を説明する。 (1)ステップ1 アドレス生成部2のプログラムカウンタが保持している
アドレスを命令コード格納部1に出力する。入力された
アドレスに対応して命令コード格納部1は第1の命令コ
ード21を読み出してストール制御部3に出力する。
【0048】(2)ステップ2、ステップ3 ストール制御部3において、第1の命令レジスタ11が
第1の命令コード21を保持し、マルチプレクサ12が
第1の命令レジスタ11の出力26を選択して第2の命
令コード22として出力する。パイプライン一時停止部
13は当該出力信号22を入力し、NOP指定付命令判
定部101によりNOPフィールドが設けられている命
令コードであることを検知する。
【0049】(3)ステップ4 パイプライン一時停止部13は、NOPフィールドの下
位ビットである信号111が1である場合(図15
(a))は、パイプライン一時停止信号24と切替信号
25を1サイクル出力する。また、NOPフィールドの
上位ビットである信号112が1である場合(図15
(b))は、パイプライン一時停止信号24と切替信号
25を2サイクル出力する。
【0050】(4)ステップ5 切替信号25により、マルチプレクサ12がNOPコー
ド23を選択して第2の命令コード22として出力する
と共に、プログラムカウンタがアドレスを継続して保持
し、第1の命令レジスタ11が第1の命令コード21を
保持する。
【0051】(5)ステップ6 次の命令処理ステージへ遷移する。以上のように本実施
形態1のプログラム制御装置は、入力された先行命令コ
ードにNOPフィールドがあるか否かの判定結果に従っ
てパイプライン処理ステージを一時停止することがで
き、ストール制御が実現できる。つまり、入力された先
行命令のNOPフィールドに従って、後続命令のパイプ
ライン処理が一時停止されることとなり、レジスタ干渉
などの資源競合が回避される。 (第2の実施形態) 実施形態2は、後続命令の種類が先行命令の種類より少
ないタイプIIの場合の適用例であり、先行命令に続いて
入力された後続命令コードのNOPフィールドを検出
し、Nの値に応じたサイクルのNOPを挿入してストー
ルを実行し、その後、命令コードに該当する後続命令を
実行するものである。
【0052】図8は本実施形態2のプログラム制御装置
のストール制御部3を中心とした構成図である。便宜
上、命令コード格納部1とアドレス生成部2の図示は省
略している。図8において、11は第1の命令保持手段
である第1の命令レジスタで、第1の命令コード21を
入力とし、パイプライン一時停止信号24を制御信号入
力とし、ラッチ信号26を出力する。13はパイプライ
ン一時停止部で、第1の命令レジスタの出力26を入力
信号とし、パイプライン一時停止信号24と切替信号2
5を出力する。14は第2の命令保持手段である第2の
命令レジスタで、第1の命令レジスタからのラッチ出力
26を入力とし、パイプライン一時停止信号24を制御
信号入力とし、ラッチ信号27を出力とする。12は切
替部としてのマルチプレクサで、NOPコード23と第
2の命令レジスタ14からの出力27とを入力信号と
し、切替信号25を制御信号入力とし、第2の命令コー
ド22を出力する。
【0053】なお、図8において、図7と同一の機能を
有する構成要素には同一の番号を付している。また、パ
イプライン一時停止部13の回路構成例も実施形態1に
おいて図10により示したものと同様で良い。本実施形
態2では、パイプライン一時停止部13は、第1の命令
コード21のラッチ信号である第1の命令レジスタ出力
26が入力され、当該信号がNOPフィールドを持つ命
令である場合には、指定のNOP数にあたるサイクルの
切替信号25とパイプライン一時停止信号24を出力す
る。
【0054】以上のように構成されたプログラム制御装
置の動作を、図6、図8、図10、図12、図16〜1
7に基づいて説明する。本実施形態2のストール制御3
が適用される後続命令コードのビットフィールドは、実
施形態1と同様、図12で示されるものである。ビット
0が1のとき、NOP数N=1を指示し、ビット1が1
のとき、NOP数N=2を指示するものとする。図16
は、本実施形態2のプログラム制御装置による処理の流
れの概略を示したフローチャートである。図17は本実
施形態2における4段パイプラインの場合のタイミング
チャートを示しており、後続命令が分岐命令(BRC
Z,JMP)を命令の例としている。
【0055】以下、ステップごとに動作を説明する。 (1)ステップ1 アドレス生成部2のプログラムカウンタが保持している
アドレスを命令コード格納部1に出力する。入力された
アドレスに対応して命令コード格納部1は第1の命令コ
ード21を読み出して出力する。
【0056】(2)ステップ2 第1の命令レジスタ11が第1の命令コード21を保持
し、出力信号26を出力する。パイプライン一時停止部
13および第2の命令レジスタ14に当該ラッチ出力信
号26が入力される。パイプライン一時停止部13は当
該ラッチ出力信号26を入力し、NOP指定付命令判定
部101によりNOPフィールドが設けられている命令
コードであることを検知する。
【0057】(3)ステップ3 パイプライン一時停止部13は、NOPフィールドの下
位ビットである信号111が1である場合(図17
(a))は、パイプライン一時停止信号24と切替信号
25を1サイクル出力する。また、NOPフィールドの
上位ビットである信号112が1である場合(図17
(b))は、パイプライン一時停止信号24と切替信号
25を2サイクル出力する。
【0058】(4)ステップ4 切替信号25により、マルチプレクサ12がNOPコー
ド23を選択して第2の命令コード22として出力する
と共に、プログラムカウンタがアドレス継続して保持
し、第1の命令レジスタ11が第1の命令コード21を
保持し、第2の命令レジスタ14が出力信号27(第1
の命令コード21と同じ)を保持する。
【0059】(5)ステップ5 切替信号25の信号が反転し、マルチプレクサ12が第
2の命令レジスタ14の出力27(第1の命令コードが
ラッチされたもの)を選択して第2の命令コード22と
して出力する。
【0060】(6)ステップ6 次の命令処理ステージへ遷移する。本実施形態2によれ
ば、プログラム制御装置は、入力された後続命令コード
にNOPフィールドがあるか否かの判定結果に従ってパ
イプライン処理ステージを一時停止することができ、ス
トール制御が実現できる。つまり、入力された後続命令
のNOPフィールドに従って、必要数のNOPが挿入さ
れて後続命令の処理ステージは一時停止されることとな
り、レジスタ干渉などの資源競合が回避される。 (第3の実施形態) 実施形態3は、命令コードのフィールド余裕が少ないタ
イプIIIの場合の適用例であり、入力された先行命令コ
ードのNOPフィールドを検出し、命令コードに該当す
る命令を実行した後、Nの値に応じたサイクルのNOP
を挿入してストールを実行し、さらに入力された後続命
令コードのNOPフィールドを検出し、Nの値に応じた
サイクルのNOPを挿入してストールを実行し、命令コ
ードに該当する後続命令を実行するものである。
【0061】図9は、本実施形態3のプログラム制御装
置のストール制御部3を中心とした構成図である。便宜
上、命令コード格納部1とアドレス生成部2の図示は省
略している。図9において、11は第1の命令保持手段
である第1の命令レジスタで、第1の命令コード21を
入力とし、第1のパイプライン一時停止信号24aを制
御信号入力とし、ラッチ信号26を出力する。12は切
替部である第1のマルチプレクサで、第1の命令レジス
タからの出力26とNOPコード23を入力信号とし、
第1の切替信号25aを制御信号として第1の選択信号
28を出力する。13はパイプライン一時停止部で、第
1の命令レジスタからの出力26を入力とし、第1のパ
イプライン一時停止信号24a、第2のパイプライン一
時停止信号24b、第1の切替信号25a、第2の切替
信号25bを出力する。
【0062】14は第2の命令保持部である第2の命令
レジスタで、第1の命令レジスタからのラッチ出力26
を入力とし、第2のパイプライン一時停止信号24bを
制御信号入力とし、ラッチ出力27を出力とする。15
は第2の切替部としての第2のマルチプレクサで、NO
Pコード23と第2の命令レジスタ14のラッチ出力2
7とを入力信号とし、第2の切替信号25bを制御信号
入力とし、第2の命令コード22を出力する。
【0063】なお、図9において、図7、図8と同一の
機能を有する構成要素には同一の番号を付している。パ
イプライン一時停止部13の回路構成例は図11に示し
たものとなる。本実施形態3では、先行命令(NOPフ
ィールド付き)と後続命令(NOPフィールド付き)を
それぞれ判別する必要があり、また、「パイプライン一
時停止信号」、「切替信号」を別々に出力する必要があ
る。図11において、201は先行命令に対応する第1
のNOP指定付命令判定部であり、202は後続命令に
対応する第2のNOP指定付命令判定部であり、それぞ
れ第1の命令コード21(NOPフィールド以外の命令
コードで良い)を入力とし、NOPフィールドが設けら
れているか否かを検知する。203〜205はFF、2
07及び208はAND(論理積)ゲート、206はO
R(論理和)ゲートである。命令コードがLSBを採用
している場合、NOPフィールドは最下位1ビットと
し、信号111は命令コードの最下位ビットである。F
F203は第1の切替信号25aを出力し、FF204
は第2の切替信号25bと第2のパイプライン一時停止
信号24bを出力し、FF205は第1のパイプライン
一時停止信号24aを出力する。本実施形態3では、先
行命令が第1の命令コード21として入力されると、当
該信号がNOPフィールドを持つ命令である場合には、
指定のNOP数にあたるサイクル分の第1のパイプライ
ン一時停止信号24aと第1の切替信号25aを出力す
る。次に、後続命令が第1の命令コード21として入力
されると、パイプライン一時停止部13は、当該信号が
NOPフィールドを持つ命令である場合には、指定のN
OP数にあたるサイクル分の第1のパイプライン一時停
止信号24aと第2のパイプライン一時停止信号24b
と第2の切替信号25bとを出力する。
【0064】以上のように構成されたプログラム制御装
置の動作を、図6、図9、図11、図13、図18〜1
9に基づいて説明する。本実施形態3のストール制御が
適用される先行命令と後続命令コードのビットフィール
ドは、図13で示されるものである。NOPフィールド
は下位1ビットのみが設けられ、ビット0が1のとき、
NOP数N=1を指示する。図18は、本実施形態3の
プログラム制御装置による処理の流れの概略を示したフ
ローチャートである。図19は本実施形態3における4
段パイプラインの場合のタイミングチャートを示してお
り、PRへの即値転送命令(MOV PR,即値)およ
びデータメモリへのアクセスを伴う加算命令(ADD
GR,M(PR))を命令の例としている。
【0065】以下、ステップごとに動作を説明する。 (1)ステップ1 アドレス生成部2のプログラムカウンタが保持している
アドレスを命令コード格納部1に出力する。入力された
アドレスに対応して命令コード格納部1は、先行命令で
ある第1の命令コード21を読み出して出力する。
【0066】(2)ステップ2、ステップ3 第1の命令レジスタ11が第1の命令コード21を保持
し、第1のマルチプレクサ12が第1の命令レジスタ1
1の出力を選択して出力信号28を出力する。パイプラ
イン一時停止部13は当該出力信号28を入力し、NO
P指定付命令判定部101によりNOPフィールドが設
けられている命令コードであることを検知する。
【0067】(3)ステップ4 第1の命令コード21が第1のマルチプレクサ12の出
力28となり、パイプライン一時停止部13と第2の命
令レジスタ14に入力される。当該第1の命令コード2
1は、第2の命令レジスタ14、第2のマルチプレクサ
15を介して第2の命令コード22として出力される。
【0068】一方、パイプライン一時停止部13は、N
OPフィールドの下位ビットである信号111が1であ
る場合(図19)は、第1のパイプライン一時停止信号
24aと第1の切替信号25aを1サイクル出力する。
【0069】(4)ステップ5 第1の切替信号25aにより第1のマルチプレクサ12
がNOPコード23を選択して出力信号28を出力す
る。また、第1のパイプライン一時停止24aによりプ
ログラムカウンタがアドレスを保持し、第1の命令レジ
スタ12が第1の命令コード21を保持する。
【0070】(5)ステップ6 アドレス生成部2のプログラムカウンタが増加し、更新
されたアドレスを命令コード格納部1に出力し、当該ア
ドレスに対応して命令コード格納部1は、後続命令を第
1の命令コード21として出力する。
【0071】(6)ステップ7 第1の命令レジスタ11が第1の命令コード21を保持
し、第1のマルチプレクサ12が第1の命令レジスタ1
1からのラッチ出力26を選択して出力信号28を出力
する。パイプライン一時停止部13は当該出力信号28
を入力し、NOP指定付命令判定部101によりNOP
フィールドが設けられている命令コードであることを検
知する。
【0072】(7)ステップ8 パイプライン一時停止部13は、NOPフィールドの下
位ビットである信号111が1である場合(図19)
は、第2の切替信号25bと第2のパイプライン一時停
止信号24bを1サイクル出力する。
【0073】(8)ステップ9 第1のマルチプレクサ12の出力信号28は第2の命令
レジスタ14に入力されるが、第2のパイプライン一時
停止信号24bにより第2の命令レジスタ14が後続命
令である第1の命令コード21を保持する。また、第2
の切替信号25bにより、第2のマルチプレクサ15が
NOPコード23を選択して第2の命令コード22とし
て出力する。
【0074】(9)ステップ10 第2のマルチプレクサ15が第2の命令レジスタ14の
出力を選択して第2の命令コード22として出力する。
【0075】(10)ステップ11 次の命令処理ステージに遷移する。本実施形態3によれ
ば、プログラム制御装置は、入力された先行命令コード
および後続命令のそれぞれにNOPフィールドがあるか
否かの判定結果に従ってパイプライン処理ステージを一
時停止することができ、ストール制御が実現できる。つ
まり、入力された先行命令のNOPフィールドに従って
所定NOP数のサイクル分、後続命令の処理ステージは
一時停止され、次いで入力された後続命令のNOPフィ
ールドに従って所定数のNOPが挿入されて後続命令の
処理ステージはさらに一時停止されることとなり、レジ
スタ干渉などの資源競合が回避される。
【0076】本実施形態によれば、NOPフィールドの
サイズを2ビットから1ビットに削減しながら、第1及
び第2の実施形態と同等のストール(遅延時間)をかせ
ぐことができる。
【0077】なお、上記実施形態において、NOPフィ
ールド内のビット列が表わすNOP数は、2進の値とし
て説明したが、ビット列の組合わせを特定の数値を示す
ように取り決めておいてNOP数を定めても良い。例え
ば、2ビットで示される“0”と“1”の組合わせを、
“00”→0、“01”→2、“10”→4、“11”
→6とする取り決めをすることができる。また、“0
0”→0、“01”→3、“10”→6、“11”→9
とする取り決めをすることができる。このような取り決
めであれば、2ビットを用いて4以上の数値を指定する
ことができるので、フィールド余裕が少ない場合におい
て、特に有効である。
【0078】
【発明の効果】本発明のプログラム制御方法及び装置に
よれば、命令コード中のNOPフィールドを参照して所
定数のNOPを挿入してストール制御を実現できる。処
理プログラム中に資源競合を起こす先行命令と後続命令
がある場合、先行命令を実行後、NOPが挿入され、最
後に後続命令が実行することにより後続命令の処理ステ
ージを一時停止するストールが実現できる。
【0079】また、本発明のプログラム制御方法及び装
置によれば、資源競合時のストール制御のためのNOP
挿入を、命令数の少ない命令コード中にNOPフィール
ドを設けることにより命令コードデータ量の増加を抑え
ることができる。
【0080】さらに、本発明のプログラム制御方法及び
装置によれば、命令コード中にNOPフィールドを設け
るフィールド余裕が少ない場合、先行命令のNOPフィ
ールドおよび後続命令のNOPフィールドを利用してス
トール制御することができ、従来の方法に比べてフィー
ルド余裕を高めたプログラム制御方法及び装置を提供す
ることができる。
【図面の簡単な説明】
【図1】レジスタ干渉が起きる様子と、NOP挿入によ
るレジスタ干渉が回避される様子を示す図
【図2】資源競合を起こす命令を、命令種類数とフィー
ルド余裕に注目して分類した図
【図3】図2の分類においてタイプに属する先行命令と
後続命令の命令フィールド
【図4】図2の分類においてタイプIIに属する先行命令
と後続命令の命令フィールド
【図5】図2の分類においてタイプIIIに属する先行命
令と後続命令の命令フィールド
【図6】本発明のプログラム制御装置の基本的構成図
【図7】本発明の第1の実施形態に係るプログラム制御
装置の構成図
【図8】本発明の第2の実施形態に係るプログラム制御
装置の構成図
【図9】本発明の第3の実施形態のプログラム制御装置
の構成図
【図10】図7〜図8のプログラム制御装置におけるパ
イプライン一時停止部13の詳細回路構成図
【図11】図9のプログラム制御装置におけるパイプラ
イン一時停止部13の詳細回路構成図
【図12】本発明の実施形態1および2の命令コードの
命令フィールド図
【図13】本発明の実施形態3の命令コードの命令フィ
ールド図
【図14】本発明の実施形態1のプログラム制御装置に
よる処理の流れの概略を示したフローチャート
【図15】本発明の実施形態1のプログラム制御装置に
おける4段パイプラインの場合のタイミングチャート
【図16】本発明の実施形態2のプログラム制御装置に
よる処理の流れの概略を示したフローチャート
【図17】本発明の実施形態2のプログラム制御装置に
おける4段パイプラインの場合のタイミングチャート
【図18】本発明の実施形態3のプログラム制御装置に
よる処理の流れの概略を示したフローチャート
【図19】本発明の実施形態3のプログラム制御装置に
おける4段パイプラインの場合のタイミングチャート
【符号の説明】
1 命令コード格納部 2 アドレス生成部 3 ストール制御部 11 第1の命令レジスタ 12 第1のマルチプレクサ 13 パイプライン一時停止部 14 第2の命令レジスタ 15 第2のマルチプレクサ 21 第1の命令コード 22 第2の命令コード 23 NOPコード 24 パイプライン一時停止信号 24a 第1のパイプライン一時停止信号 24b 第2のパイプライン一時停止信号 25 切替信号 25a 第1の切替信号 25b 第2の切替信号 26 第1の命令レジスタ11の出力信号 27 第2の命令レジスタ14の出力信号 28 第2のマルチプレクサ15の出力信号 101 NOP指定付命令判定部 201 第1のNOP指定付命令判定部 202 第2のNOP指定付命令判定部 102〜103,203〜204 フリップフロップ 104〜105,206 ORゲート 106,207〜208 ANDゲート 111 NOPフィールドの下位ビット 112 NOPフィールドの上位ビット

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】 命令をパイプライン処理する情報処理装
    置におけるプログラム制御方法であって、 処理プラグラム中に資源競合を起こす先行命令と後続命
    令があり、 前記先行命令の種類が前記後続命令の種類より少ない場
    合、前記先行命令コード中にNOPフィールドを設け、
    前記先行命令コードの命令を実行した後に前記先行命令
    コードのNOPフィールドに設定された数のNOPを挿
    入し、 前記後続命令の種類が前記先行命令の種類より少ない場
    合、前記後続命令コード中にNOPフィールドを設け、
    前記後続命令コードの命令を実行する前に前記後続命令
    コードのNOPフィールドに設定された数のNOPを挿
    入し、 前記先行命令と後続命令の命令コードのフィールド余裕
    が少ない場合、前記先行命令コード中および前記後続命
    令コード中の双方にNOPフィールドを設け、前記先行
    命令コードの命令を実行した後に前記先行命令コードの
    NOPフィールドに設定された数のNOPを挿入し、前
    記後続命令コードの命令を実行する前に前記後続命令コ
    ードのNOPフィールドに設定された数のNOPを挿入
    することによりストールを実行することを特徴とするプ
    ログラム制御方法。
  2. 【請求項2】 命令をパイプライン処理する情報処理装
    置におけるプログラム制御方法であって、 処理プログラム中に、資源競合を起こす先行命令と後続
    命令がある場合、 先行命令コード中および前記後続命令コード中の双方に
    NOPフィールドを設け、 前記先行命令コードの命令を実行した後に前記先行命令
    コードのNOPフィールドに設定された数のNOPを挿
    入し、 前記後続命令コードの命令を実行する前に前記後続命令
    コードのNOPフィールドに設定された数のNOPを挿
    入することによりストールを実行することを特徴とする
    プログラム制御方法。
  3. 【請求項3】 NOPを指定するNOPフィールドを有
    する命令コードを含む 命令をパイプライン処理するため
    のプログラム制御装置であって、 第1の命令コードを格納する命令コード格納部と、 前記命令コード格納部から前記第1の命令コードを出力
    するためのアドレスを生成するアドレス生成部と、 前記第1の命令コードを入力し、この第1の命令コード
    がNOPフィールドを有する命令コードであるかの判定
    結果に基づいて、前記アドレス生成部へのパイプライン
    処理ステージを一時停止する停止信号の出力制御と、前
    記第1の命令コード又はNOPコードを第2の命令コー
    ドとして出力する制御を行なうストール制御部とを備
    え、 前記ストール制御部は、 前記命令コード格納部から読み出した前記第1の命令コ
    ードをラッチする第1の命令レジスタと、 前記第1の命令レジスタから読み出した前記第1の命令
    コードをラッチする第2の命令レジスタと、 前記第2の命令レジスタから出力される第1の命令コー
    ドとNOPコードを入力し、切替信号に基づいて前記第
    1の命令コード又はNOPコードを選択して第2の命令
    コードとして出力する切替部と、 前記第1の命令レジスタから出力される第1の命令コー
    ドを入力し、この第1の命令コードがNOPフィールド
    を有する命令コードであるか否かを判定し、その判定結
    果に基づいて、前記アドレス生成部および前記第1、第
    2の命令レジスタへの前記停止信号の出力制御と、前記
    切替部への前記切替信号の出力制御を行なうパイプライ
    ン一時停止部を含むことを特徴とするプログラム制御装
    置。
  4. 【請求項4】 NOPを指定するNOPフィールドを有
    する命令コードを含む命令をパイプライン処理するため
    のプログラム制御装置であって、 第1の命令コードを格納する命令コード格納部と、 前記命令コード格納部から前記第1の命令コードを出力
    するためのアドレスを生成するアドレス生成部と、 前記第1の命令コードを入力し、この第1の命令コード
    がNOPフィールドを有する命令コードであるかの判定
    結果に基づいて、前記アドレス生成部へのパイ プライン
    処理ステージを一時停止する停止信号の出力制御と、前
    記第1の命令コード又はNOPコードを第2の命令コー
    ドとして出力する制御を行なうストール制御部とを備
    え、 前記ストール制御部は、 前記命令コード格納部から読み出した前記第1の命令コ
    ードをラッチする第1の命令レジスタと、 前記第1の命令レジスタの出力とNOPコードを入力
    し、第1の切替信号に基づいて、前記第1の命令レジス
    タの出力又はNOPコードを選択して出力する第1の切
    替部と、 前記第1の切替部の出力をラッチする第2の命令レジス
    タと、 前記第2の命令レジスタの出力とNOPコードを入力
    し、第2の切替信号に基づいて、前記第2の命令レジス
    タの出力又はNOPコードを選択して第2の命令コード
    として出力する第2の切替部と、 前記第1の切替部からの出力を入力し、この出力がNO
    Pフィールドを有する命令コードであるか否かを判定
    し、その判定結果に基づいて前記アドレス生成部および
    前記第1の命令レジスタへの前記停止信号および第2の
    命令レジスタへの前記停止信号と異なる停止信号の出力
    制御と、前記第1、第2の切替部への前記切替信号の出
    力制御を行なうパイプライン一時停止部を含むことを特
    徴とするプログラム制御装置。
  5. 【請求項5】 前記パイプライン一時停止部は、 命令コード中に設けられたNOPフィールドに指定され
    たNOP数をカウントするNOP数カウント部と、前記
    命令コードがNOPフィールドを有する命令コードであ
    るかを判定する判定部とを有し、 前記判定部が、NOPフィールドを有する命令コードで
    あると判定した時、前記NOP数カウント部から出力さ
    れるNOP数に対応するパイプライン処理ステージの
    間、前記停止信号を出力する請求項記載のプログラム
    制御装置。
  6. 【請求項6】 前記パイプライン一時停止部は、 命令コード中に設けられたNOPフィールドに指定され
    たNOP数をカウントするNOP数カウント部と、前記
    第1の命令コードがNOPフィールドを有する 命令コー
    ドであるかを判定する第1の判定部と、前記第2の命令
    コードがNOPフィールドを有する命令コードであるか
    を判定する第2の判定部とを有し、 前記第1の判定部が、NOPフィールドを有する第1の
    命令コードであると判定した時、前記NOP数カウント
    部から出力されるNOP数に対応するパイプライン処理
    ステージの間、前記停止信号を出力し、 前記第2の判定部が、NOPフィールドを有する第2の
    命令コードであると判定した時、前記NOP数カウント
    部から出力されるNOP数に対応するパイプライン処理
    ステージの間、前記停止信号を出力する請求項4記載の
    プログラム制御装置。
JP10318971A 1997-11-21 1998-11-10 プログラム制御方法及び装置 Expired - Fee Related JP3014682B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10318971A JP3014682B2 (ja) 1997-11-21 1998-11-10 プログラム制御方法及び装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP9-321706 1997-11-21
JP32170697 1997-11-21
JP10318971A JP3014682B2 (ja) 1997-11-21 1998-11-10 プログラム制御方法及び装置

Publications (2)

Publication Number Publication Date
JPH11219294A JPH11219294A (ja) 1999-08-10
JP3014682B2 true JP3014682B2 (ja) 2000-02-28

Family

ID=26569564

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10318971A Expired - Fee Related JP3014682B2 (ja) 1997-11-21 1998-11-10 プログラム制御方法及び装置

Country Status (1)

Country Link
JP (1) JP3014682B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5245237B2 (ja) * 2006-09-29 2013-07-24 富士通セミコンダクター株式会社 エラー処理方法
JP5395383B2 (ja) * 2008-08-21 2014-01-22 株式会社東芝 パイプライン演算プロセッサを備える制御システム
JP4829370B1 (ja) 2010-07-09 2011-12-07 株式会社東芝 メモリ制御装置、メモリ装置および停止制御方法

Also Published As

Publication number Publication date
JPH11219294A (ja) 1999-08-10

Similar Documents

Publication Publication Date Title
US4879646A (en) Data processing system with a pipelined structure for editing trace memory contents and tracing operations during system debugging
JP2620511B2 (ja) データ・プロセッサ
US7673294B2 (en) Mechanism for pipelining loops with irregular loop control
EP0223150B1 (en) Information processing apparatus
US6370638B1 (en) Apparatus and method of computer program control in computer systems using pipeline processing
JP3014682B2 (ja) プログラム制御方法及び装置
JPH08221273A (ja) 命令レベルの並列処理制御方法およびプロセッサ
US5239633A (en) Data processor executing memory indirect addressing and register indirect addressing
KR100398759B1 (ko) 프로그래머블 컨트롤러
EP0415351A2 (en) Data processor for processing instruction after conditional branch instruction at high speed
JPH0793152A (ja) マイクロプロセッサ制御装置
US6704853B1 (en) Digital signal processing apparatus and method for controlling the same
JP2812610B2 (ja) パイプライン制御方式
JP2883465B2 (ja) 電子計算機
JPH07244588A (ja) データ処理装置
JPH0954694A (ja) パイプラインプロセッサおよびその処理方法
JPS6327746B2 (ja)
JP3603895B2 (ja) コンパイラ、および命令生成方法
JP2002318689A (ja) 資源使用サイクルの遅延指定付き命令を実行するvliwプロセッサおよび遅延指定命令の生成方法
JPH0269825A (ja) パイプライン制御方式
KR100515039B1 (ko) 조건부 명령어를 고려한 파이프라인 상태 표시 회로
JP2000003279A (ja) Vliwプロセッサ、プログラム生成装置、および記録媒体
JPH08305564A (ja) マイクロコンピュータ
JPH0553805A (ja) 電子計算機
JPH0520062A (ja) データ処理装置

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071217

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081217

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091217

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091217

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101217

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101217

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111217

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees