JPS63163532A - マイクロプロセツサ - Google Patents

マイクロプロセツサ

Info

Publication number
JPS63163532A
JPS63163532A JP61307953A JP30795386A JPS63163532A JP S63163532 A JPS63163532 A JP S63163532A JP 61307953 A JP61307953 A JP 61307953A JP 30795386 A JP30795386 A JP 30795386A JP S63163532 A JPS63163532 A JP S63163532A
Authority
JP
Japan
Prior art keywords
instruction
branch
cache
microprocessor
queue
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
JP61307953A
Other languages
English (en)
Inventor
Katsuhisa Kondo
近藤 勝久
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 JP61307953A priority Critical patent/JPS63163532A/ja
Publication of JPS63163532A publication Critical patent/JPS63163532A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔発明の目的〕 (産業上の利用分野) この発明は、マイクロプロセッサに関する。特に、イン
ストラクション・キャッシュを備えたマイクロプロセッ
サに関する。
(従来の技術) 近年、マイクロプロセッサの高速化を図るため、幾つか
の命令フェッチ方法が提案され実現されている。
代表的なものに命令プリフェッチ方式を用いたものがあ
る。この方式は、命令実行中に、その命令の終了を待た
ずに次の命令をフェッチするものである。この様子を第
3図に示す。この図は、マイクロプロセッサ内部の動作
状況と、命令フェッチ、データ・アクセスに用いる外部
バスの動作状     ′況を表したものである。20
で実行されている命令が終了する前に、次の命令のフェ
ッチ19を行う。
このようにすることにより命令の実行とフェッチを並行
に行うことができ、マイクロプロセッサの高速化を図る
ことができる。
しかし、上述した単純な命令プリフェッチ方式では、メ
モリ中にあるオペランドデータのフェッチまたは、実行
結果のメモリへの格納と、命令フェッチが同時に起こる
場合は、どちらかの動作を遅らせて実行するため、実行
時間増大の要因となる。この−例を第4図に示す、25
で行われた命令の実行結果の格納23を行うため外部バ
スを使用する。そのため、次命令のフェッチ24が、遅
れ、オーバーヘッド27が生じている。
この問題を解決するため、キューを用いた命令プリフェ
ッチ方式が提案され実用化されている。
この方式は、第5図に示すようにマイクロプロセッサの
チップ1上にキュー4を構成して実現するもので、メモ
リとプロセッサ間のバスが空き状態にあるとき、命令の
フェッチを実行し、キューに蓄えておく方式である。こ
のようにすることにより、効率的にマイクロプロセッサ
とメモリ間のバスを使用することができる。この様子を
第6図に示す。第4図と比べてみると、実行結果のメモ
リへの格納と命令フェッチのタイミングを調整するため
に生じたオーバーヘッド27がなくなっていることが分
かる。
上述した命令プリフェッチ方式では、分岐命令を実行し
分岐動作が発生したとき、あらかじめフェッチしである
命令を実行せずに、新たに分岐先の命令をフェッチし、
その命令を実行する。この様子を第7図に示す。14で
命令(分岐命令)を実行した結果、分岐動作が生じたと
き、命令フェッチ11、12で得られている命令は実行
せず、分岐先の命令のフェッチ13を行い、その命令の
実行15を行う、そのため、分岐先の命令をフェッチす
るための時間17がオーバーヘッドとして生じる。した
がって1分岐命令の多いプログラムの実行では、著しく
その性能が落ちるという欠点がある。
一方、同一チップ上に、インストラクションキャッシュ
を備えたマイクロプロセッサも実行化されている。新た
にフェッチした命令は、インストラクション・レジスタ
に格納しておき、再度その命令を実行するときには、イ
ンストラクション・キャッシュからその命令を取り出し
、実行するという方式である。しかし、同一チップ上に
ヒツト率の高い、十分なサイズのキャッシュメモリをの
せることは、容易ではない。
(発明が解決しようとする問題点) 上述したように、プリフェッチ方式を用いた命令フェッ
チ方法を採用したマイクロプロセッサでは1分岐命令を
実行した場合、命令プリフェッチ方式の効果を生かすこ
とができず、大幅な処理時間の増大を招く0本発明は1
通常動作時は、プリフェッチ方式により命令のフェッチ
を行うが、分岐動作時でも性能の低下が少ないマイクロ
プロセッサを提供することを目的とする。
〔発明の構成〕
(問題点を解決するための手段) 上述した問題点を解決するため1分岐動作時にのみ働く
インストラクション・キャッシュを同一チップ上に備え
1通常は、プリフェッチ方式により命令のフェッチを行
い1分岐命令により分岐動作が、生じたときは、インス
トラクション・キャッシュをアクセスし、分岐先の命令
を取り出す。
もし、インストラクション・キャッシュ内に分岐先の命
令が存在しない場合は、メモリをアクセスし、命令のフ
ェッチを行うとともに、その命令をインストラクション
・キャッシュ内に格納する。
本発明では、この様なマイクロプロセッサを提供するこ
とにより、前述した問題点の解決を図った。
(作 用) 本発明によるマイクロプロセッサは、通常は、プリフェ
ッチ方式で命令フェッチを実行するが、分岐命令による
分岐動作が起こるとインストラクション・キャッシュを
アクセスし命令を取り出す。
チップ上にあるインストラクション・キャッシュは、外
部のメモリに比べ高速にアクセス出来るため、キャッシ
ュ上に分岐先の命令が存在、する場合、本発明によるマ
イクロプロセッサは1通常の命令プリフェッチ方式を採
用したマイクロプロセッサに比べ、分岐動作時の処理が
非常に高速である。
インストラクション・キャッシュに分岐先の命令がない
場合は、チップ外部のメモリをアクセスし分岐先の命令
をフェッチする。このような場合、通常の命令プリフェ
ッチ方式に比べ、インストラクション・キャッシュをア
クセスする時間がかかるため多少のオーバーヘッドが生
じる。したがって、当然ではあるが1本発明を実施する
ときには、十分なヒツト率を持つインストラクション・
キャッシュを構成する必要がある。
本発明で使用したインストラクション・キャッシュは1
分岐先の命令のみを動作の対象とするため、全ての命令
を対象とするインストラクション・キャッシュに比べ、
ヒツト率が高い、したがって、通常のインストラクショ
ン・キャッシュに比べ、高いヒツト率を持つ、インスト
ラクション・キャッシュを、構成することは容易である
(実施例) 第1図は、第5図の様にキューを用いた命令プリフェッ
チ方式による命令フェッチ方式を採用しているマイクロ
プロセッサに、本発明を実施した例である。
本発明の実施例について説明する0通常の動作時には、
命令フェッチユニット6からアドレスバス7を用いてチ
ップ外部のメモリにアドレスを送り、アクセスし、プリ
フェッチする。そして、データバス3を用いて、命令を
キュー4にとりこむ。
分岐命令による分岐動作時には、アドレスフェッチユニ
ット6が、インストラクション・キャッシュ2をアクセ
スする。キャッシュが、ヒツトした場合は、その命令を
キュー4に取込む、キャッシュがミスした場合は、信号
線9により、キャッシュミスが生じたことを命令フェッ
チユニット6に知らせ、外部メモリへのアクセスを開始
させる。
そしてデータバス3から取込まれた分岐先の命令をキュ
ー4に取込むとともにインストラクション・キャッシュ
にも格納する。
〔発明の効果〕
マイクロプロセッサ上のインストラクション・キャッシ
ュは、外部メモリにくらべ、非常に高速にアクセス出来
る。したがって1本発明を適用した場合、分岐命令によ
り分岐動作が生じたとき。
分岐先の命令をフェッチするための時間を大幅に短縮出
来る。この様子を第2図に示す。14で実行された命令
により、分岐動作が生じたとき、命令フェッチ11.1
2で得られた命令は実行せず、インストラクション・キ
ャッシュのアクセス16を行い、分岐先の命令を得て、
この命令の実行15を行う。
上述したように、キャッシュのアクセス・タイム28は
、第7図に示した外部メモリのアクセス・タイム17よ
りも短い、したがって、第7図と第2図を比べると、第
2図のほうが高速に分岐動作を実行していることが分か
る。
したがって2本発明により1分岐動作時でも性能の低下
の少ないマイクロプロセッサの提供が可能である。
【図面の簡単な説明】
第1図は、本発明の詳細な説明するマイクロプロセッサ
・チップの一部を表わす図、第2図は、本発明によるマ
イクロプロセッサの命令実行状況とマイクロプロセッサ
とメモリ間のバスの動作状況を表わす図、第3図、第4
図は、従来のマイクロプロセッサの命令実行状況とマイ
クロプロセッサとメモリ間のバスの動作状況を表わす図
、第5図は従来のマイクロプロセッサの一例を示す図、
第6図及び第7図は従来のマイクロプロセッサの命令実
行状況とマイクロプロセッサとメモリ間のバスの動作状
況を表わす図である0図において、1・:・マイクロプ
ロセッサ・チップ 2・・・インストラクション・キャッシュ3・・・デー
タバス 4・・・キュー 5・・・デコーダ 6・・・命令フェッチユニット 7・・・アドレスバス 8・・・内部アドレスバス 9・・・信号線 10・・・命令(分岐命令)のフェッチ11・・・命令
の転送 12・・・命令の転送 13・・・命令(分岐先の命令)のフェッチ14・・・
10で得られた命令(分岐命令)の実行15・・・13
で得られた命令(分岐先の命令)の実行16・・・イン
ストラクション・キャッシュのアクセス17・・・外部
メモリのアクセス・タイム18・・・命令のフェッチ 19・・・命令のフェッチ 20・・・18で得られた命令の実行 21・・・19で得られた命令の実行 22・・・命令のフェッチ 23・・・22で得られた命令の実行結果の格納′24
・・・命令のフェッチ 25・・・22で得られた命令の実行 26・・・24で得られた命令の実行 27・・・オーバーヘッド 28・・・インストラクション・キャッシュのアクセス
・タイム 代理人 弁理士 則 近 憲 佑 同    竹 花 喜久男 @  1 国

Claims (1)

    【特許請求の範囲】
  1. 命令のプリフェッチを行うマイクロプロセッサにおいて
    、該マイクロプロセッサと同一チップ上に、分岐命令に
    よる分岐動作が生じたときのみ働くインストラクション
    ・キャッシュを備えたことを特徴とするマイクロプロセ
    ッサ。
JP61307953A 1986-12-25 1986-12-25 マイクロプロセツサ Pending JPS63163532A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61307953A JPS63163532A (ja) 1986-12-25 1986-12-25 マイクロプロセツサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61307953A JPS63163532A (ja) 1986-12-25 1986-12-25 マイクロプロセツサ

Publications (1)

Publication Number Publication Date
JPS63163532A true JPS63163532A (ja) 1988-07-07

Family

ID=17975157

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61307953A Pending JPS63163532A (ja) 1986-12-25 1986-12-25 マイクロプロセツサ

Country Status (1)

Country Link
JP (1) JPS63163532A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05128001A (ja) * 1991-11-07 1993-05-25 Koufu Nippon Denki Kk 情報処理装置
CN112130897A (zh) * 2020-09-23 2020-12-25 上海兆芯集成电路有限公司 微处理器

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05128001A (ja) * 1991-11-07 1993-05-25 Koufu Nippon Denki Kk 情報処理装置
CN112130897A (zh) * 2020-09-23 2020-12-25 上海兆芯集成电路有限公司 微处理器

Similar Documents

Publication Publication Date Title
US4701844A (en) Dual cache for independent prefetch and execution units
JP3549079B2 (ja) キャッシュ制御の命令プリフェッチ方法
JPH04232549A (ja) キャッシュメモリシステム
KR19980034443A (ko) 슈퍼 스칼라 마이크로 프로세서의 효율적인 비티비(btb) 방법
US12511240B2 (en) Translation lookaside buffer prewarming
KR100234647B1 (ko) 인스트럭션 프리페치 방법 및 데이터 처리 시스템
JPS6356731A (ja) デ−タ処理装置
JP3732555B2 (ja) 非逐次アクセスの実効待ち時間が短いパイプライン・キャッシュシステム
JP3683248B2 (ja) 情報処理装置及び情報処理方法
JPS63163532A (ja) マイクロプロセツサ
US5421026A (en) Data processor for processing instruction after conditional branch instruction at high speed
JPH07121443A (ja) 情報処理システム及びその動作方法
US7389405B2 (en) Digital signal processor architecture with optimized memory access for code discontinuity
JP2817524B2 (ja) 命令キャッシュ制御方式
JPH08314803A (ja) ディスクキャッシュ制御装置
JPH1153188A (ja) 命令キャッシュ制御方式
KR100300875B1 (ko) 캐쉬 미스 시 처리 방법
JPH02100740A (ja) キャッシュ・メモリユニットのブロック・ロード動作方式
JPH0683621A (ja) フェッチ方式
JP2586690B2 (ja) 命令プリフェッチ装置
KR20000003930A (ko) 명령어 캐시 미스 시 손실을 줄이기 위한 명령어 페치 장치
KR910007028B1 (ko) 데이타처리 시스템에서의 파이프라인 처리방법
JP3493122B2 (ja) マイクロプロセッサ及び命令キャッシュ制御回路
JPS63228333A (ja) マイクロプロセツサ装置
JPH1145180A (ja) キャッシュ制御方式