JPH05250220A - 実行アドレス生成回路 - Google Patents

実行アドレス生成回路

Info

Publication number
JPH05250220A
JPH05250220A JP4051166A JP5116692A JPH05250220A JP H05250220 A JPH05250220 A JP H05250220A JP 4051166 A JP4051166 A JP 4051166A JP 5116692 A JP5116692 A JP 5116692A JP H05250220 A JPH05250220 A JP H05250220A
Authority
JP
Japan
Prior art keywords
signal
branch
circuit
address
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.)
Withdrawn
Application number
JP4051166A
Other languages
English (en)
Inventor
Haruhisa Kashiwagi
治久 柏木
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
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP4051166A priority Critical patent/JPH05250220A/ja
Publication of JPH05250220A publication Critical patent/JPH05250220A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 (修正有) 【目的】 高度の先行フェッチ機能を有するプロセッサ
に対応できる実行アドレス生成回路を提供する。 【構成】 プロセッサ6より出力されるステータス・デ
ータならびにストローブ信号101を入力して、分岐先
フェッチ信号102、システム分岐信号105およびプ
ログラム分岐信号103を出力するステータス・デコー
ド回路1と、分岐先フェッチ信号102の入力に対応し
て、プロセッサ6のアドレス・バス201上のアドレス
・データを保持する保持回路2と、プログラム分岐信号
103の入力に対応し、保持回路2またはアドレス・バ
ス201の出力の何れかの選択回路3と、システム分岐
信号105とプログラム分岐信号103の論理和演算出
力で選択回路3の出力をプリセットし、キュー読出し信
号104でカウントアップするプリセッタブル・カウン
タ回路5と、を備える。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は実行アドレス生成回路に
関し、特に、先行フェッチ機能を有するプロセッサのプ
ログラム開発時に、プログラム開発支援装置内において
使用される実行アドレス生成回路に関する。
【0002】
【従来の技術】一般に、先行フェッチ機能を有するプロ
セッサにおいては、外見えの動作(命令フェッチ動作)
と、実際の命令実行動作とは異なっている。このため
に、これらのプロセッサを使用するプログラムの開発時
において使用されるプログラム開発支援装置において
は、プログラム実行過程を参照するためのリアルタイム
・トレーサ、プログラム実行の網羅度を検証するための
カバレッジ回路およびプログラム実行点を検出するため
の実行検出回路等に対応して、実際の命令実行アドレス
を生成する実行アドレス生成回路が設けられている。
【0003】例えば、図3は従来の実行アドレス生成回
路の一例であるが、図3に示されるように、プロセッサ
9に対応して、ステータス・デコード回路7およびプリ
セッタブル・カウンタ回路8を備えて構成されている。
また、図4(a)、(b)、(c)、(d)および
(e)は、この従来例における各信号の動作タイミング
図である。
【0004】図3において、プロセッサ9は、先行フェ
ッチ機能を有するプロセッサである。アドレス・バス2
04は、先行フェッチおよびデータの読出し/書込み等
を行う際にアドレス情報を出力するバスであり、ステー
タス・バス205は、アドレス・バス204におけるア
ドレス情報が、プログラムの先行フェッチのための情報
か、先行フェッチの場合でも、分岐先をフェッチするた
めのアドレス情報か、或は、データの読出し/書込みの
ためのアドレス情報なのか等を示すためのステータス・
データを伝達するバスである。また、プロセッサ9より
ステータス・デコード回路7に入力されるストローブ信
号106(図4(b)参照)は、ステータス・バス20
5におけるステータス・データにより示される動作を実
行するためのタイミング信号である。ステータス・デコ
ード回路7は、ステータス・バス205におけるステー
タス・データおよびストローブ信号106により分岐フ
ェッチ信号107(図4(c)参照)を生成する回路で
ある。分岐フェッチ信号107は、分岐命令の実行によ
り分岐先の先頭番地を先行フェッチする時にアクティブ
(0レベル)となる信号であり、キュー読出し信号10
8(図4(d)参照)は、先行フェッチした命令をプロ
セッサ9において実際に実行する際にアクティブ(0レ
ベル)となる信号である。
【0005】図4(a)、(b)、(c)、(d)およ
び(e)は、上述のように、この従来例における各信号
の動作タイミング図であるが、図4(a)に示されるの
は、アドレス・バス204におけるアドレス情報を示し
ており、n番地、(n+1)番地および(n+2)番地
と先行フェッチが行われた後に、m番地に対する分岐が
行われ、その後、(m+1)番地、(m+2)番地、…
……、(m+6)番地と先行フェッチが行われることを
示している。以降、m番地に対する分岐後における図3
の従来例の動作について説明する。
【0006】図3において、(m)番地に対する分岐が
行われると、プロセッサ9よりアドレス・バス204に
対して分岐先のアドレス(m)が出力され(図4(a)
参照)、プリセッタブル・カウンタ回路8に入力される
とともに、分岐信号107(図4(c)参照)はアクテ
ィブ(0レベル)になる。これにより、プリセッタブル
・カウンタ回路8においては、実行アドレス・バス20
6に対して分岐先のアドレス(m)が出力される(図4
(e)参照)。この分岐先の命令が実際に実行される
と、プロセッサ9より出力されるキュー読出し信号10
8(図4(d)参照)がアクティブ(0レベル)にな
り、その後、このキュー読出し信号108がノンアクテ
ィブ(1レベル)になると、プリセッタブル・カウンタ
8においてはカウントアップが行われ、実行アドレス・
バス206にアドレス(m+1)が出力される(図4
(e)参照)。このようにして、実行アドレス・バス2
06およびキュー読出し信号108を介して、実際の命
令実行動作を参照することが可能となる。
【0007】しかしながら、現在においては、処理の高
速化を目的として、先行フェッチ機能をより高度化させ
たプロセッサが登場するようになり、特に、従来の単純
な先行フェッチの場合には、分岐命令実行時において、
先行フェッチしていた分岐命令直後の命令が使用され
ず、再度分岐先よりフェッチを行わなければならないた
めに、先行フェッチ機能による処理高速化を期待するこ
とができないのが実情である。この対応策として、先行
フェッチ時に命令デコードを行い、分岐先が明示的な分
岐命令(例えば、絶対値番地への分岐命令)である場合
には、分岐命令直後の先行フェッチを停止させ、分岐先
の先行フェッチを行うことが考えられる。しかしなが
ら、条件付分岐命令では、分岐命令の直後の命令を実行
する場合と、分岐先の命令を実行する場合との二つのケ
ースがあり、一概に分岐先の先行フェッチのみを行って
も、高速化を期待することができないという場合があり
得る。
【0008】このために、条件付分岐命令を先行フェッ
チした場合には、分岐命令直後と、分岐先の両方を先行
フェッチする機能を有するプロセッサが考え出されてい
る。このようなプロセッサにおいては、実際に分岐する
前に、或る程度分岐先の先行フェッチを行っておくの
で、実際に分岐した時点においては、既に先行フェッチ
してある分だけ処理が高速化されるという特徴がある。
【0009】
【発明が解決しようとする課題】上述した従来の実行ア
ドレス生成回路においては、例えば、n番地にある、m
番地に対する条件付分岐命令を先行フェッチした場合
に、当該先行フェッチとしては、通常の先行フェッチ即
ち(n+1)番地からの先行フェッチと、分岐先の先行
フェッチ即ち(m)番地からの先行フェッチとを並行し
て行う状態となる。この場合に、分岐先の先行フェッチ
が(m+α)番地まで行われたものとする。その後の時
点において、この条件付分岐命令の条件が満足され、実
際に分岐が行われると、(m+α+1)番地からのフェ
ッチが開始される。この場合に、従来の実行アドレス生
成回路においては、実際に分岐が行われた時のアドレス
・バスを基準にしてカウントアップが行われるために、
(m)〜(m+α)番地については、実行アドレスとし
て検出することができない状態となり、高度の専攻フェ
ッチ機能を有するプロセッサに対応することができない
という欠点がある。
【0010】
【課題を解決するための手段】本発明の実行アドレス生
成回路は、条件付分岐命令を先行フェッチした場合に、
分岐命令直後と分岐先の両方を先行フェッチする機能を
有するプロセッサを対象とするプログラム開発支援装置
に含まれる実行アドレス生成回路において、前記プロセ
ッサより出力されるステータス・バス上のステータス・
データならびにストローブ信号を入力して、分岐先フェ
ッチ信号、システム分岐信号およびプログラム分岐信号
を含む3種類のフェッチ信号を出力するステータス・デ
コード回路と、前記分岐先フェッチ信号の入力に対応し
て、前記プロセッサのアドレス・バス上のアドレス・デ
ータを保持する保持回路と、前記保持回路の出力ならび
に前記アドレス・バスの出力を受けて、前記プログラム
分岐信号の入力に対応して、当該プログラム分岐信号の
レベルがアクティブであるか、またはノンアクティブで
あるかにより、前記保持回路の出力、または前記アドレ
ス・バスの出力の何れかを選択して出力する選択回路
と、前記選択回路の出力を入力して、前記システム分岐
信号と前記プログラム分岐信号の論理和演算出力を介し
て当該選択回路の出力をプリセットし、前記プロセッサ
より出力されるキュー読出し信号を介してカウントアッ
プするプリセッタブル・カウンタ回路と、を備えて構成
される。
【0011】
【実施例】次に、本発明について図面を参照して説明す
る。
【0012】図1は本発明の一実施例を示すブロック図
である。図1に示されるように、本実施例は、プロセッ
サ6に対応して、ステータス・デコード回路1と、保持
回路2と、選択回路3と、NOR回路4と、プリセッタ
ブル・カウンタ回路5とを備えて構成される。また、図
2(a)、(b)、(c)、(d)、(e)および
(f)は、この本実施例における各信号の動作タイミン
グ図である。
【0013】図1において、プロセッサ6は、先行フェ
ッチ機能を有するプロセッサである。アドレス・バス2
01は、先行フェッチおよびデータの読出し/書込み等
を行う際にアドレス情報を出力するバスであり、ステー
タス・バス202は、アドレス・バス201におけるア
ドレス情報が、プログラムの先行フェッチのための情報
か、先行フェッチの場合でも、分岐先をフェッチするた
めのアドレス情報か、或は、データの読出し/書込みの
ためのアドレス情報なのか等を示すためのステータス・
データを伝達するバスである。また、プロセッサ6より
ステータス・デコード回路1に入力されるストローブ信
号101(図2(b)参照)は、ステータス・バス20
2におけるステータス・データにより示される動作を実
行するためのタイミング信号である。また、ステータス
・デコード回路1は、プロセッサ6のステータス・バス
202におけるステータス・データおよびストローブ信
号101の入力を受けて、条件付分岐命令の先行フェッ
チによる通常の先行フェッチ時と、分岐先の先行フェッ
チが並行して実行された場合に、最初の分岐先の先行フ
ェッチ時にアクティブとなる分岐先フェッチ信号102
(図2(c)参照)と、並行フェッチ後において、条件
付命令の実行により分岐された最初の通常フェッチ時に
アクティブとなるプログラム分岐信号103(図2
(d)参照)と、分岐先の先行フェッチを伴なわない分
岐命令等による、最初の分岐先からの通常の先行フェッ
チ時においてアクティブになるシステム分岐信号105
を含む3種類のフェッチ信号を生成して出力する回路で
ある。なお、システム分岐信号105は、図3に示され
る従来例の場合の分岐フェッチ信号107と等価の信号
である。
【0014】保持回路2は、分岐先フェッチ信号102
がアクティブ(0レベル)の時に、アドレス・バス20
1のデータ内容を保持する機能を有しており、選択回路
3においては、アドレス・バス201のデータ内容なら
びに保持回路2のデータ内容を受けて、プリセッタブル
・カウンタ回路5に分岐先の先頭アドレスをセットする
際に、プログラム分岐信号102がアクティブ(0レベ
ル)の時には、保持回路2のデータ内容を出力し、ま
た、プログラム分岐信号102がアクティブ(0レベ
ル)以外の時には、アドレス・バス201のデータ内容
を出力する。
【0015】以下、図2(a)、(b)、(c)、
(d)、(e)および(f)に示される各信号の動作タ
イミング図を参照しながら、図1の本実施例の動作につ
いて説明する。
【0016】先ず、最初に、(n)、(n+1)、(n
+2)番地の条件付分岐命令をストローブ信号101に
同期させて先行フェッチすると、プロセッサ6において
は、これらの条件付分岐命令がデコードされ、例えば、
(m)番地に対する条件付分岐命令であるものと解釈さ
れる。これに対応して、プロセッサ6においては、(n
+3)番地以降の通常の先行フェッチと、(m)番地以
降の分岐先の先行フェッチとの並行動作が開始される。
そして、最初の分岐先の先行フェッチ時、即ち(m)番
地のフェッチ時において、分岐先フェッチ信号102が
アクティブ(0レベル)に設定される。これにより、保
持回路2においては、アドレス・バス201より(m)
番地を受けて保持する。これ以降、通常(n+3、n+
4)ならびに分岐先(m、m+1)に対応する並行フェ
ッチが行われる。
【0017】次に、プロセッサ6において上記の条件付
分岐命令が実行され、条件が満足されたものとすると分
岐が行われる。そして、それまで並行して実行されてい
た、(n+3)番地以降のフェッチと、(m)番地以降
のフェッチが中止され、(m+2)番地からの通常のフ
ェッチが開始される。プロセッサ6においては、この時
に、ステータス・デコード回路1を介して出力されるプ
ログラム分岐信号103をアクティブ(0レベル)にす
る。選択回路3においては、このアクティブなプログラ
ム分岐信号103を受けて、保持回路2において保持さ
れていた(m)番地というアドレス値が選択され、プリ
セッタブル・カウンタ回路5に出力される。他方におい
て、ステータス・デコード回路1より出力されるシステ
ム分岐信号105とプログラム分岐信号103は、NO
R回路4に入力されて論理和がとられ、その出力レベル
はステータス・カウンタ回路5に入力されている。プリ
セッタブル・カウンタ回路5においては、上記のアクテ
ィブなプログラム分岐信号103を受けて、(m)番地
というアドレス値がプリセットされ、それ以降において
は、プロセッサ6より送られてくるキュー読出し信号1
04がアクティブ(0レベル)になり、またノンアクテ
ィブ(1レベル)になる度ごとに、カウントアップが行
われる。
【0018】なお、分岐先の先行フェッチを伴なわない
分岐(リターン命令等、分岐先が命令コードから明示的
でない分岐命令および割込みによる分岐など)において
は、システム分岐信号105がアクティブ(0レベル)
になるが、この場合には、選択回路3により、保持回路
2がバイパスされて、図3に示される従来例の場合と同
一の動作状態となるので、その動作説明は省略する。
【0019】
【発明の効果】以上説明したように、本発明は、条件付
分岐命令を先行フェッチした時に、分岐命令直後と、分
岐先の両方を先行フェッチする機能を有するプロセッサ
に対しても、実際の命令実行動作を参照することが可能
となり、高度の専攻フェッチ機能を有するプロセッサに
対応することができるという効果がある。
【図面の簡単な説明】
【図1】本発明の一実施例を示すブロック図である。
【図2】本実施例における各信号のタイミング図であ
る。
【図3】従来例を示すブロック図である。
【図4】従来例における各信号のタイミング図である。
【符号の説明】
1、7 ステータス・デコード回路 2 保持回路 3 選択回路 4 NOR回路 5、8 プリセッタブル・カウンタ回路

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 条件付分岐命令を先行フェッチした場合
    に、分岐命令直後と分岐先の両方を先行フェッチする機
    能を有するプロセッサを対象とするプログラム開発支援
    装置に含まれる実行アドレス生成回路において、 前記プロセッサより出力されるステータス・バス上のス
    テータス・データならびにストローブ信号を入力して、
    分岐先フェッチ信号、システム分岐信号およびプログラ
    ム分岐信号を含む3種類のフェッチ信号を出力するステ
    ータス・デコード回路と、 前記分岐先フェッチ信号の入力に対応して、前記プロセ
    ッサのアドレス・バス上のアドレス・データを保持する
    保持回路と、 前記保持回路の出力ならびに前記アドレス・バスの出力
    を受けて、前記プログラム分岐信号の入力に対応して、
    当該プログラム分岐信号のレベルがアクティブである
    か、またはノンアクティブであるかにより、前記保持回
    路の出力、または前記アドレス・バスの出力の何れかを
    選択して出力する選択回路と、 前記選択回路の出力を入力して、前記システム分岐信号
    と前記プログラム分岐信号の論理和演算出力を介して当
    該選択回路の出力をプリセットし、前記プロセッサより
    出力されるキュー読出し信号を介してカウントアップす
    るプリセッタブル・カウンタ回路と、 を備えることを特徴とする実行アドレス生成回路。
JP4051166A 1992-03-10 1992-03-10 実行アドレス生成回路 Withdrawn JPH05250220A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4051166A JPH05250220A (ja) 1992-03-10 1992-03-10 実行アドレス生成回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4051166A JPH05250220A (ja) 1992-03-10 1992-03-10 実行アドレス生成回路

Publications (1)

Publication Number Publication Date
JPH05250220A true JPH05250220A (ja) 1993-09-28

Family

ID=12879242

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4051166A Withdrawn JPH05250220A (ja) 1992-03-10 1992-03-10 実行アドレス生成回路

Country Status (1)

Country Link
JP (1) JPH05250220A (ja)

Similar Documents

Publication Publication Date Title
US7047399B2 (en) Computer system and method for fetching, decoding and executing instructions
JP2603626B2 (ja) データ処理装置
US4719570A (en) Apparatus for prefetching instructions
US4807113A (en) Microprogrammed control data processing apparatus in which operand source and/or operand destination is determined independent of microprogram control
EP0272705A2 (en) Loosely coupled pipeline processor
US4758949A (en) Information processing apparatus
JPH056894B2 (ja)
US5175827A (en) Branch history table write control system to prevent looping branch instructions from writing more than once into a branch history table
US5928357A (en) Circuitry and method for performing branching without pipeline delay
JPH05250220A (ja) 実行アドレス生成回路
KR970012141A (ko) 파이프라인 처리를 수행하는 데이터 처리 장치
JPS6312030A (ja) 情報処理装置のエラ−処理機構
JP2616542B2 (ja) 疑似障害発生システム
JPH0773034A (ja) 情報処理装置
JP2545594B2 (ja) オペランドデータ先取り方式
JPH04213727A (ja) 情報処理装置
JPH0774992B2 (ja) データ処理装置
JPS60250438A (ja) 情報処理装置
JP3057732B2 (ja) 情報処理装置
JPH0228724A (ja) 分岐命令制御方式
JP2944335B2 (ja) 情報処理装置
JP2689894B2 (ja) マイクロプログラム制御型情報処理装置
JPS60198640A (ja) パイプライン型情報処理装置
JPS6395539A (ja) パイプライン処理方式
JPH0792751B2 (ja) マイクロ命令分岐方式

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 19990518