JPH0756734A - マイクロプロセッサ及びその制御方法 - Google Patents

マイクロプロセッサ及びその制御方法

Info

Publication number
JPH0756734A
JPH0756734A JP20660793A JP20660793A JPH0756734A JP H0756734 A JPH0756734 A JP H0756734A JP 20660793 A JP20660793 A JP 20660793A JP 20660793 A JP20660793 A JP 20660793A JP H0756734 A JPH0756734 A JP H0756734A
Authority
JP
Japan
Prior art keywords
instruction
read
storing
length
instructions
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
JP20660793A
Other languages
English (en)
Inventor
Shinji Kunishige
伸治 国重
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 JP20660793A priority Critical patent/JPH0756734A/ja
Publication of JPH0756734A publication Critical patent/JPH0756734A/ja
Withdrawn legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 一つのプリフェッチバッファで2つの命令の
同時発行を可能とし、プリフェッチバッファの利用効率
の向上を図る。 【構成】 メモリ13から読み込んだ命令列を1バイト単
位ごとに区切って格納するプリフェッチバッファ11と、
個々の命令の命令長情報を格納する命令長格納バッファ
12と、メモリ13から読み込んだ個々の命令の全体の長さ
を検出してこの命令長情報を命令長格納バッファ12に格
納する命令長検出回路14と、バッファ11に格納された命
令をデコードする第1、第2のデコーダ15a 、15b と、
第1デコーダ15a に送る命令を格納したプリフェッチバ
ッファ11のアドレスPFBCを生成するアドレス生成回
路16と、アドレスPFBCとこれによって読み出された
命令の命令長情報とを加算して第2デコーダ15b に送る
命令を格納したプリフェッチバッファ11のアドレスNP
FBCを生成する加算器17とを有する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、命令プリフェッチ機能
を持つマイクロプロセッサ及びその制御方法に関する。
【0002】
【従来の技術】近年、マイクロプロセッサの性能向上は
目覚ましいものがあり、その機能や命令セットの複雑化
は急速に進む一方となっている。このような複雑な機能
や命令セットを持ったマイクロプロセッサとしてCIS
C(Complex Instruction SetComputer) がある。
【0003】図3はこのようなCISCタイプのスパー
スカラーを採用したマイクロプロセッサにおける命令プ
リフェッチ系及びその周辺部分の構成を示すブロック図
である。命令プリフェッチは、命令の実行中に次の命令
をプロセッサに取り込むことで命令フェッチ時間を見掛
け上なくすことを目的にして行われる。
【0004】このマイクロプロセッサは同時に2つの命
令をメモリ1から読み出せる構造となっている。メモリ
1から読み出された命令を格納するプリフェッチバッフ
ァ2a、2bは2つ並列に設けてある。命令はこれらの
プリフェッチバッファ2a、2bに1つずつ交互に格納
される。また各プリフェッチバッファ2a、2bからの
命令の読み出しは同時に行うことが可能である。各プリ
フェッチバッファ2a、2bからそれぞれ読み出された
命令は、各プリフェッチバッファ2a、2bに対応して
設けられたデコーダ3a、3bに渡され、その解読が行
われる。
【0005】しかしながら、このようなマイクロプロセ
ッサでは次のような問題がある。例えば、次のような命
令列を順次フェッチする場合を考える。
【0006】1番目 OPコード オペランド1 オペランド2 オペランド3 2番目 OPコード 3番目 OPコード オペランド1 オペランド2 これらの命令列を図3の各プリフェッチバッファ2a、
2bに割り当てると図4のようになる。すなわち、図中
左側のプリフェッチバッファ2aに1番目の命令セット
と3番目の命令セットの一部(オペランド1まで)が蓄
積され、右側のプリフェッチバッファ2bに2番目の命
令セットが蓄積される。この図から分るように、現状態
にあっては、左側のプリフェッチバッファ2aには3番
目の命令セットのOPコードとオペランド1が蓄積され
た時点でバッファ2aが満配となり、3番目の命令セッ
トのオペランド2が蓄積されない。このため右側のプリ
フェッチバッファ2aには大きな空きがあるのに拘らず
4番目の命令セットを蓄積できない。
【0007】このように、従来は2つのプリフェッチバ
ッファ2a、2bを設けていながらも、その利用効率が
良くないと言う問題があった。
【0008】また従来、同時に実行できない2つの命令
が各プリフェッチバッファ2a、2bから読み出された
場合に供えて、各命令処理系それぞれに、命令の実行優
先順位を調整するための機能、例えば命令実行を待ち状
態にするための機能等を設ける必要があった。
【0009】
【発明が解決しようとする課題】本発明はこのような課
題を解決すべくなされたもので、一つのプリフェッチバ
ッファで2つの命令の同時発行を可能とし、プリフェッ
チバッファの利用効率の向上を図ることのできるマイク
ロプロセッサ及びその制御方法の提供を目的としてい
る。
【0010】
【課題を解決するための手段】本発明のマイクロプロセ
ッサは上記した目的を達成するために、命令群を格納し
たメモリから同時に2つまでの命令を読み込んで実行す
るマイクロプロセッサにおいて、メモリから読み込んだ
命令列を所定の長さ単位ごとに区切ってキュー構造で格
納する命令格納手段と、命令格納手段に格納された個々
の命令の命令長情報を格納する命令長格納手段と、メモ
リから読み込んだ個々の命令の全体の長さを検出してこ
の命令長情報を命令長格納手段に格納する検出手段と、
命令格納手段に格納された命令をデコードするための第
1及び第2のデコード手段と、命令格納手段に対する第
1リードアドレスを生成して命令格納手段から所定長単
位分の命令を読み出し、第1のデコード手段に送る第1
命令リード手段と、第1命令リード手段によって読み出
された命令の、命令長格納手段に格納された命令長情報
を基に第2リードアドレスを生成して命令格納手段から
所定長単位分の他の命令を読み出し、第2のデコード手
段に送る第2命令リード手段とを具備することを特徴と
するものである。
【0011】
【作用】すなわち、本発明では、メモリから命令列を読
み込み、これを所定の長さ単位ごとに区切って命令格納
手段に格納すると共に、読み込んだ命令の全体の長さを
命令長情報として命令長格納手段に格納する。この後、
第1命令リード手段により、命令格納手段に対する第1
リードアドレスを生成して命令格納手段から所定長単位
分の命令を読み出し、一方のデコード手段に送ってその
解読を実行させる。同時に第2命令リード手段により、
第1リードアドレスによって読み出された命令の命令長
情報を基に第2リードアドレスを生成して命令格納手段
から所定長単位分の他の命令を読み出し、他方のデコー
ド手段に送ってその解読を実行させる。 これにより、
本発明においては、命令格納手段であるプリフェッチバ
ッファを一つ設けるだけで2命令の同時発行を可能と
し、プリフェッチバッファの利用効率の向上を図ること
ができる。
【0012】
【実施例】以下、本発明の実施例を図面を用いて説明す
る。
【0013】図1は本発明に係る一実施例のマイクロプ
ロセッサにおける命令プリフェッチ系およびその周辺部
分の構成を示すブロック図である。
【0014】同図において、11は命令列をバイト単位
ごとに区切ってキュー構造で格納するためのプリフェッ
チバッファである。12はこのプリフェッチバッファ1
1に格納された個々の命令の命令長情報をキュー構造で
格納するための命令長格納バッファである。これら各バ
ッファ11、12におけるキューの段数は同一であり、
リード/ライトの際、共通のアドレスによってそれぞれ
対応している段が指定されるようになっている。また各
バッファ11、12はそれぞれ1ポートの書き込みと2
ポートの読み出しが同時に実行できる構造となってい
る。そして各バッファ11、12とも、どの段からでも
情報を読み出せる構造となっている。
【0015】14はメモリ13より読み出された個々の
命令の全体バイト数を検出して、命令長情報を前記の命
令長格納バッファ12に格納するための命令長検出回路
である。
【0016】15a、15bはそれぞれ命令をデコード
する第1デコーダ、第2デコーダである。各デコーダ1
5a、15bの入力ポートは、プリフェッチバッファ1
1の2つの出力ポートとそれぞれ1対1で接続されてい
る。
【0017】16は第1デコーダ15aに送る命令を格
納したプリフェッチバッファ11のアドレス(第1命令
リードアドレスPFBC)を生成するアドレス生成回路
である。このアドレス生成回路16は、基本的にはプリ
フェッチバッファ11の最後の段のアドレス値(=1)
を第1命令リードアドレスPFBCとして生成出力す
る。但し、各デコーダ15a、15bの各命令のデコー
ド結果から、これらの命令が同時に実行できないことが
判定された場合は、実行優先順位の低い方の命令を次の
リードサイクルで第1デコーダ15aに再送りするよう
アドレス生成の制御が行われる。
【0018】17は第2デコーダ15bに送る命令を格
納したプリフェッチバッファ11のアドレス(第2命令
リードアドレスNPFBC)を生成する加算器である。
この加算器17はアドレス生成回路16が生成した第1
命令リードアドレスPFBCとこのアドレスPFBCに
よって読み出された命令の命令長情報とを加算して、そ
の加算結果を第2命令リードアドレスNPFBCとして
生成する。
【0019】18は各デコーダ15a、15bのデコー
ド結果を取り込んで各命令の同時実行の可否を判定し、
その結果をアドレス生成回路16、その他に供給する判
定回路である。
【0020】次に本実施例のマイクロプロセッサの動作
を説明する。図2はこの動作の手順を示すフローチャー
トである。
【0021】次のような命令列をフェッチする場合を考
える。
【0022】1番目 (命令A) OPコード オペランド1 オペランド2 2番目 (命令B) OPコード 3番目 (命令C) OPコード オペランド1 最初の命令Aがメモリ13より読み出されると(ステッ
プ201)、その命令AはOPコード、オペランド1、
オペランド2といった順番でプリフェッチバッファ11
に順次格納されて行く。このとき命令長検出回路14は
その命令セットの先頭にあるOPコードを検出し、この
OPコードを含む命令全体のバイト数を検出する。そし
て検出した命令長の情報を命令長格納バッファ12に格
納する(ステップ202)。このとき命令長情報は、プ
リフェッチバッファ11内にてOPコードを格納した段
と共通の、命令長格納バッファ12の段に格納される。
この動作を繰り返して図1に示すようにプリフェッチバ
ッファ11が命令で埋まると(ステップ203)、アド
レス生成回路16により第1命令リードアドレスPFB
Cが生成され(ステップ204)、これを基にプリフェ
ッチバッファ11から1バイト分の命令Aが読み出され
て第1デコーダ15aに送られる(ステップ206)。
同時に加算器17により、アドレス生成回路16が生成
出力した第1命令リードアドレスPFBC(=1)と、
このアドレスPFBCによって読み出された命令の命令
長情報(=3)とが加算されて第2命令リードアドレス
NPFBC(1+3=4)が生成される(ステップ20
5)。これを基にプリフェッチバッファ11から次の命
令Bの1バイトが読み出されて第2デコーダ15bに送
られる(ステップ206)。
【0023】そして各デコーダ15a、15bのデコー
ド結果は図示しない2つの命令レジスタに書き込まれる
と共に(ステップ207)、判定回路18にてこれら各
命令の同時実行の可否が判定される(ステップ20
8)。
【0024】この判定の結果、各命令が同時実行できな
いことが判定されると、その旨を示す信号がアドレス生
成回路16に送られる。
【0025】例えば、1番目の命令Aが2番目の命令B
より優先して実行されるべき場合を想定する。この場
合、アドレス生成回路16は、1番目の命令Aの命令長
情報(=3)を命令長格納バッファ12から読み込み、
これを基に命令Bが格納されているプリフェッチバッフ
ァ11上の第1命令リードアドレスPFBC(=4)を
算出する(ステップ209)。これによりプリフェッチ
バッファ11から2番目の命令Bが再度読み出されて第
1デコーダ15aに送られる(206)。同時に加算器
17により、アドレス生成回路16が今回生成した第1
命令リードアドレスPFBC(=4)と命令Bの命令長
情報(=1)とが加算されて第2命令リードアドレスN
PFBC(4+1=5)が生成され(ステップ20
5)、これを基にプリフェッチバッファ11から次の命
令Cの1バイトが読み出されて第2デコーダ15bに送
られる(ステップ206)。
【0026】これにより、再び2つの命令B、Cのデコ
ードが行われる(ステップ207)。以降、これらのデ
コード結果について再度判定回路18で同時実行の可否
を判定し、同じ動作を繰り返す。
【0027】なお、ステップ208で2命令の同時実行
不可が判定された場合、第1デコーダ15aのデコード
結果を保持した命令レジスタの内容で命令が実行され、
第2デコーダ15bのデコード結果を保持した命令レジ
スタの内容に対する命令実行は待ち状態となる(デコー
ドステージのまま保持される。)。
【0028】そして次のサイクルで2命令の同時実行可
が判定されれば、各命令レジスタの内容でそれぞれ命令
が実行される。このとき第1デコーダ15aによりデコ
ードされた命令が前のサイクルで第2デコーダ15bに
よりデコードされた命令と同じものとなる。
【0029】これにより、2命令が同時実行できない場
合に供えて命令の実行優先順位を調整するための機能、
例えば命令実行を待ち状態にするための機能は、一方の
命令処理系(第2デコーダ15bを含む側の命令処理
系)だけに設ければ済むことになる。
【0030】したがって、本実施例のマイクロプロセッ
サによれば、一つのプリフェッチバッファ11で2つの
命令の同時発行を可能とし、プリフェッチバッファ11
の利用効率の向上を図ることができる。また、2命令の
実行優先順位を調整するための機能の簡易化も図ること
ができる。
【0031】
【発明の効果】以上説明したように本発明のマイクロプ
ロセッサ及びその制御方法によれば、命令格納手段であ
るプリフェッチバッファを一つ設けるだけで2命令の同
時発行を可能とし、プリフェッチバッファの利用効率の
向上を図ることができる。また2命令の実行優先順位を
調整するための機能の簡易化も図ることができる。
【図面の簡単な説明】
【図1】本発明に係る一実施例のマイクロプロセッサに
おける命令プリフェッチ系及びその周辺部分の構成を示
すブロック図である。
【図2】図1のマイクロプロセッサの動作手順を示すフ
ローチャートである。
【図3】従来のマイクロプロセッサにおける命令プリフ
ェッチ系及びその周辺部分の構成を示すブロック図であ
る。
【図4】図3の2つのプリフェッチバッファへの命令の
割り付け例を示す図である。
【符号の説明】
11…プリフェッチバッファ、12…命令長格納バッフ
ァ、13…メモリ、14…命令長検出回路、15a…第
1デコーダ、15b…第2デコーダ、16…アドレス生
成回路、17…加算器、18…判定回路。

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 命令群を格納したメモリから同時に2つ
    までの命令を読み込んで実行するマイクロプロセッサに
    おいて、 前記メモリから読み込んだ命令列を所定の長さ単位ごと
    に区切ってキュー構造で格納する命令格納手段と、 前記命令格納手段に格納された個々の命令の命令長情報
    を格納する命令長格納手段と、 前記メモリから読み込んだ個々の命令の全体の長さを検
    出してこの命令長情報を前記命令長格納手段に格納する
    検出手段と、 前記命令格納手段に格納された命令をデコードするため
    の第1及び第2のデコード手段と、 前記命令格納手段に対する第1リードアドレスを生成し
    て前記命令格納手段から前記所定長単位分の命令を読み
    出し、前記第1のデコード手段に送る第1命令リード手
    段と、 前記第1命令リード手段によって読み出された命令の、
    前記命令長格納手段に格納された命令長情報を基に第2
    リードアドレスを生成して前記命令格納手段から前記所
    定長単位分の他の命令を読み出し、前記第2のデコード
    手段に送る第2命令リード手段とを具備することを特徴
    とするマイクロプロセッサ。
  2. 【請求項2】 請求項1記載のマイクロプロセッサにお
    いて、 前記各デコード手段による各命令解読結果から、これら
    命令の同時実行の可否を判定する判定手段をさらに有
    し、 前記第1命令リード手段は、前記判定手段により前記各
    命令の同時実行が不可であることが判定された場合、実
    行優先順位の高い方の命令の命令長情報を基に次の第1
    リードアドレスを生成して次のリードサイクルで前記命
    令格納手段から実行優先順位の低い方の命令を再度読み
    出し、前記第1のデコード手段に送る機能を有すること
    を特徴とするマイクロプロセッサ。
  3. 【請求項3】 命令群を格納したメモリから同時に2つ
    までの命令を読み込んで実行するマイクロプロセッサに
    おいて、 命令列を所定の長さ単位ごとに区切ってキュー構造で格
    納するための命令格納手段と、前記命令格納手段に格納
    された個々の命令の命令長情報を格納するための命令長
    格納手段とを有し、 前記メモリから命令を読み込む工程と、 前記読み込んだ命令を前記所定長単位ごとに区切って前
    記命令格納手段に格納する工程と、 前記読み込んだ命令の全体の長さを検出してこの命令長
    情報を前記命令長格納手段に格納する工程と、 前記命令格納手段に対する第1リードアドレスを生成し
    て前記命令格納手段から前記所定長単位分の命令を読み
    出す工程と、 前記第1リードアドレスによって読み出された命令の、
    前記命令長格納手段に格納された命令長情報を基に第2
    リードアドレスを生成して前記命令格納手段から前記所
    定長単位分の他の命令を読み出す工程と、 前記命令格納手段からそれぞれ読み出された各命令をデ
    コードする工程とを有することを特徴とするマイクロプ
    ロセッサの制御方法。
JP20660793A 1993-08-20 1993-08-20 マイクロプロセッサ及びその制御方法 Withdrawn JPH0756734A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP20660793A JPH0756734A (ja) 1993-08-20 1993-08-20 マイクロプロセッサ及びその制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP20660793A JPH0756734A (ja) 1993-08-20 1993-08-20 マイクロプロセッサ及びその制御方法

Publications (1)

Publication Number Publication Date
JPH0756734A true JPH0756734A (ja) 1995-03-03

Family

ID=16526193

Family Applications (1)

Application Number Title Priority Date Filing Date
JP20660793A Withdrawn JPH0756734A (ja) 1993-08-20 1993-08-20 マイクロプロセッサ及びその制御方法

Country Status (1)

Country Link
JP (1) JPH0756734A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100619682B1 (ko) * 1999-12-22 2006-09-08 엘지전자 주식회사 이아이에스씨 프로세서

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100619682B1 (ko) * 1999-12-22 2006-09-08 엘지전자 주식회사 이아이에스씨 프로세서

Similar Documents

Publication Publication Date Title
US5404552A (en) Pipeline risc processing unit with improved efficiency when handling data dependency
US6408377B2 (en) Dynamic allocation of resources in multiple microprocessor pipelines
JP2003044273A (ja) データ処理装置及びデータ処理方法
JPH0682320B2 (ja) データ処理装置
EP0240606B1 (en) Pipe-line processing system and microprocessor using the system
JPH03233630A (ja) 情報処理装置
US5642523A (en) Microprocessor with variable size register windowing
US20080215859A1 (en) Computer with high-speed context switching
JPH0756734A (ja) マイクロプロセッサ及びその制御方法
JPH1091441A (ja) プログラム実行方法およびその方法を利用した装置
JP3534987B2 (ja) 情報処理装置
JP2626675B2 (ja) データ誘起状態信号発生装置及び方法
JP2812610B2 (ja) パイプライン制御方式
JPH07110769A (ja) Vliw型計算機
JPS59163671A (ja) ベクトル処理装置
JPH07114509A (ja) メモリアクセス装置
JP2000003279A (ja) Vliwプロセッサ、プログラム生成装置、および記録媒体
JP3476314B2 (ja) マイクロプロセッサ
JP3124361B2 (ja) メモリデータロード装置
JPH07191911A (ja) アドレス変換装置及びマイクロプロセッサ算出方法
JP2766114B2 (ja) 命令先取り装置
JP2583614B2 (ja) ベクトル演算装置
JPH06168122A (ja) データ処理装置
JPH05127903A (ja) 並列処理マイクロプロセツサ
JPS61122754A (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: 20001031