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

マイクロプロセツサ

Info

Publication number
JPH0740244B2
JPH0740244B2 JP62196805A JP19680587A JPH0740244B2 JP H0740244 B2 JPH0740244 B2 JP H0740244B2 JP 62196805 A JP62196805 A JP 62196805A JP 19680587 A JP19680587 A JP 19680587A JP H0740244 B2 JPH0740244 B2 JP H0740244B2
Authority
JP
Japan
Prior art keywords
address
data
cache memory
cache
register
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
JP62196805A
Other languages
English (en)
Other versions
JPS6441045A (en
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP62196805A priority Critical patent/JPH0740244B2/ja
Priority to US07/227,290 priority patent/US5012410A/en
Publication of JPS6441045A publication Critical patent/JPS6441045A/ja
Publication of JPH0740244B2 publication Critical patent/JPH0740244B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/321Program or instruction counter, e.g. incrementing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Microcomputers (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、キャッシュ・メモリを内蔵したマイクロプ
ロセッサに係り、特に高速なキャッシュ・アクセスを実
現するマイクロプロセッサに関するものである。
〔従来の技術〕
最近のLSI製造技術の急速な発展に伴う高集積化によ
り、マイクロプロセッサに従来大型計算機で用いられて
いたパイプライン処理などの命令高速実行手段を取り込
んで高速化を図ることが行われている。
一方、マイクロプロセッサが必要とするデータを蓄えて
おく外部メモリ動作速度は、マイクロプロセッサの処理
速度に追い付けず、今や命令の取込みがマイクロプロセ
ッサの処理速度のボトルネックとなっている。
そこで、キャッシュ・メモリと呼ばれる高速の記憶装置
をマイクロプロセッサと従来の外部メモリとの間に介在
させ、よく利用されるデータをキャッシュ・メモリに取
り込んでおき、マイクロプロセッサのデータ・アクセス
を高速化するという手法が用いられているほか、LSIの
高集積化によってキャッシュ・メモリそのものをマイク
ロプロセッサ内部に取り込むことで、より高速な命令取
込みを可能としている。
第3図はキャッシュ・メモリを内蔵する従来のマイクロ
プロセッサを示すブロック図である。
この図において、11はマイクロプロセッサで、マイクロ
プロセッサ11が必要とするデータを蓄えておく外部メモ
リ12に接続されている。13はプログラム・カウンタ、14
はアドレス・バス、15はアドレス・ラッチ、Mはキャッ
シュ・メモリである。16はアドレス記憶部(以下CAM部
という)で、複数のアドレスが格納されている。17はマ
ッチ線で、アドレス・ラッチ15から出力されるアドレス
と一致するアドレスがCAM部16に登録されていれば、す
なわちヒットすれば、そのアドレスに対応するマッチ信
号を出力する出力線である。18はマッチ信号ラッチで、
マッチ線17を介してCAM部16から出力されるマッチ信号
をラッチする。19はデータ記憶部(以下RAM部という)
で、マッチ信号に対応するデータが格納されており、ワ
ード線20にマッチ信号ラッチ18から出力されるマッチ信
号によりアクセスされ、キャッシュ・メモリMの出力結
果となるデータをデータ・ラッチ21に出力する。22はデ
ータ・バスである。
また、第4図はキャッシュ・メモリMの参照動作を規定
するクロック信号のタイミングチャートである。
次に第4図を参照しながらマイクロプロセッサ11のキャ
ッシュ・メモリMの参照動作を説明する。
この図において、フェーズAとフェーズBとは非重複な
2相のクロック信号である。
まず、フェーズAでアドレス・バス14上のアドレスがア
ドレス・ラッチ15にラッチされ、それと同時にそのアド
レスでCAM部16が参照されて、一致するアドレスが登録
されているかが調べられる。この時、一致するアドレス
が登録されていれば対応するマッチ線17にマッチ信号が
出力される。また、同じフェーズAに同じアドレスで外
部メモリ12の参照も行われる。
次にフェーズBでマッチ信号がマッチ信号ラッチ18にラ
ッチされ、それと同時にそのマッチ線17をワード線20と
してRAM部19がアクセスされる。
そして次のフェーズAでキャッシュ・メモリMの出力結
果がデータ・ラッチ21にラッチされ、出力結果が有効か
どうかが判断される。
データが有効な場合、現在行っている外部メモリ12のア
クセスはキャンセルされ、プログラム・カウンタ13がイ
ンクリメントされて次の参照動作に移る。
一方、データが無効な場合,およびCAM部16で一致する
アドレスがなかった場合は、現在行われている外部メモ
リ12のアクセスの結果が必要になるので、外部メモリ12
のアクセスが終了するのを待って次の参照動作に移る。
〔発明が解決しようとする問題点〕
上記のような従来のマイクロプロセッサでは、キャッシ
ュ・メモリMと外部メモリ12がアドレス・バス14を共用
しているため、命令フェッチの際、キャッシュ・アクセ
スの結果が出力された後でないとアドレス・バス14の内
容を更新することができなかった。すなわち、キャッシ
ュ・メモリMがヒットした場合、そのデータが有効であ
ると判断されてからプログラム・カウンタ13がインクリ
メントされ、これ以後のフェーズAから次のアクセスが
行われるので効率が悪かった。
この発明は、かかる問題点を解決するためになされたも
ので、アドレスの更新に要する時間を省略して高速処理
を行えるマイクロプロセッサを得ることを目的とする。
〔問題点を解決するための手段〕
この発明に係るマイクロプロセッサは、命令を記憶する
外部メモリにアドレスを出力する第1のアドレス・バス
と、この第1のアドレス・バスにアドレスを出力する第
1のレジスタと、アドレスの一部を記憶するアドレス記
憶部と前記アドレス記憶部に記憶されたアドレスに対応
するデータを記憶するデータ記憶部よりなるキャッシュ
・メモリと、このキャッシュ・メモリにアドレスを出力
する第2のアドレス・バスと、この第2のアドレス・バ
スにアドレスを出力する第2のレジスタと、外部メモリ
とデータの受渡しをするデータ・バスと、このデータ・
バスとキャッシュ・メモリ間のデータの受渡しを行う第
3のレジスタと、キャッシュ・メモリのデータ記憶部よ
りデータを読み出している間に、第2のレジスタの内容
を次に読み出すべきアドレスに更新し、キャッシュ・メ
モリから第3のレジスタへデータを出力すると同時に、
更新された第2のレジスタの内容でキャッシュ・メモリ
のアドレス記憶部を参照することを指示する制御手段と
を備えたものである。
〔作用〕
この発明においては、キャッシュ・メモリの読出しを行
っている間に、第2のレジスタの内容が次に読み出すべ
きアドレスに更新され、キャッシュ・メモリから第3の
レジスタへデータが出力されると同時に、新たな読出し
が開始される。
〔実施例〕
以下、この発明の一実施例を図面について説明する。
第1図はこの発明のマイクロプロセッサの一実施例を示
すブロック図である。
この図において、第3図と同一のものには同じ符号を付
しており、1はマイクロプロセッサで、1チップ上にキ
ャッシュ・メモリM,その他の機構を内蔵している。2は
外部メモリ参照用プログラム・カウンタで、この発明の
第1のレジスタとなり、アドレス・バス14を介して外部
メモリ12にアドレスを出力する。3はキャッシュ用アド
レス・バスで、キャッシュ・メモリMのアドレスの受渡
しを行う。4はキャッシュ参照用プログラム・カウンタ
で、この発明の第2のレジスタとなり、キャッシュ用ア
ドレス・バス3を介してキャッシュ・メモリMにアドレ
スを出力する。5はプログラム・カウンタ制御機構で、
この発明の制御手段となり、キャッシュ参照用プログラ
ム・カウンタ4から出力されるアドレスおよび外部メモ
リ参照用プログラム・カウンタ2から出力されるアドレ
スを指示する。
次に、この発明のマイクロプロセッサ1におけるキャッ
シュ・メモリMの参照動作について第2図のフローチャ
ートを参照して説明する。なお、第2図において、
(1)〜(12)は各ステップを示す。
キャッシュ・メモリMは従来のものと同様に第4図に示
したようなフェーズA,フェーズBの非重複2相クロック
で動作している。
まず、フェースAでキャッシュ用アドレス・バス3上の
アドレスがアドレス・ラッチ15にラッチされ、それと同
時にそのアドレスでCAM部16が参照されて、一致するア
ドレスが登録されているが調べられる(ステップ
(1))。この時、CAM部16に一致するアドレスが登録
されていれば対応するマッチ線17にマッチ信号が出力さ
れる。また、同じフェーズAに、アドレス・バス14を利
用して外部メモリ12の参照も行われる(ステップ
(2))。
次に、フェーズBでマッチ信号がマッチ信号ラッチ18に
ラッチされると同時に、そのマッチ線17をワード線20と
してRAM部19がアクセスされる(ステップ(3))。
上記フェーズAの時、外部メモリ参照用プログラム・カ
ウンタ2とキャッシュ参照用プログラム・カウンタ4と
は同じ値である。しかし、フェーズA,フェーズBで上記
のような読出しを行っている間に、キャッシュ・メモリ
Mがヒットするしないにかからず、キャッシュ参照用プ
ログラム・カウンタ4はプログラム・カウンタ制御機構
5によってインクリメントされ、次のフェーズAまでに
その値がキャッシュ用アドレス・バス3に出力される
(ステップ(4))。
そして、次のフェーズAでキャッシュ・メモリMの読出
し結果となるRAM部19の読出し結果がデータ・ラッチ21
にラッチされ、これと同時に、新たなキャッシュ・アク
セスが開始される(ステップ(5))。この場合、前回
の読出しの結果、CAM部16がヒットしていてデータが有
効であるかが判断され(ステップ(6))、有効であれ
ばステップ(3),(7)へ跳んでそのまま次のフェー
ズBで再度読出しの動作が行われるとともに、外部メモ
リ・アクセスのキャンセル(ステップ(7)),外部メ
モリ参照用アドレスの更新(ステップ(8)),新たな
外部メモリ・アクセス(ステップ(2))が行われる。
一方ヒットしていないか,ヒットしていても無効であれ
ば、ステップ(10)へ跳んで新たに行っているキャッシ
ュ・アクセスのサイクルがキャンセルされ、外部メモリ
・アクセスが終了するのを待って(ステップ(11))、
外部メモリ12よりデータが取り込まれる(ステップ(1
2))。
すなわち、この発明では2度目のフェーズAで読出し結
果の有効,無効が判断される前にキャッシュ参照用プロ
グラム・カウンタ4をインクリメントしておくため、キ
ャッシュがヒットしており、データが有効な場合、2度
目のフェーズAで直ちに次の読出しを開始でき、キャッ
シュ参照時の処理速度が速くなる。
また、この発明によるキャッシュ・メモリMの参照動作
は、基本的にはキャッシュ・メモリMと外部メモリ12と
を同時に参照するようになっている。しかし、場合によ
ってはアドレス・バス14が既に占有されており、キャッ
シュ・メモリMと同時に外部メモリ12がアクセスできな
い場合がある。このような場合、外部メモリ・アクセス
は行われず、キャッシュ参照の結果を待ち、キャッシュ
がヒットしたなら外部メモリ12の参照を行う必要はな
く、ヒットしなかったら新たに同じアドレスで外部メモ
リ12の参照を行う。
なお、第2図のフローチャートでは、キャッシュ参照用
プログラム・カウンタ4のインクリメント(アドレス更
新)をフェーズBの後半で行っているが、この発明はこ
れに限定されるものでなく、フェーズAの前半で行って
もよいことはいうまでもない。
〔発明の効果〕
この発明は以上説明したとおり、命令を記憶する外部メ
モリにアドレスを出力する第1のアドレス・バスと、こ
の第1のアドレス・バスにアドレスを出力する第1のレ
ジスタと、アドレスの一部を記憶するアドレス記憶部と
前記アドレス記憶部に記憶されたアドレスに対応するデ
ータを記憶するデータ記憶部よりなるキャッシュ・メモ
リと、このキャッシュ・メモリにアドレスを出力する第
2のアドレス・バスと、この第2のアドレス・バスにア
ドレスを出力する第2のレジスタと、外部メモリとデー
タの受渡しをするデータ・バスと、このデータ・バスと
キャッシュ・メモリ間のデータの受渡しを行う第3のレ
ジスタと、キャッシュ・メモリのデータ記憶部よりデー
タを読み出している間に、第2のレジスタの内容を次に
読み出すべきアドレスに更新し、キャッシュ・メモリか
ら第3のレジスタへデータを出力すると同時に、更新さ
れた第2のレジスタの内容でキャッシュ・メモリのアド
レス記憶部を参照することを指示する制御手段とを備え
たので、キャッシュ・メモリからのデータ読出しと同時
に次のキャッシュの参照を開始でき、アドレスを更新す
る時間が省け、高速なキャッシュ・アクセスを実現でき
るという効果がある。
【図面の簡単な説明】
第1図はこの発明のマイクロプロセッサの一実施例を示
すブロック図、第2図はこの発明によるマイクロプロセ
ッサのメモリ参照動作を説明するフローチャート、第3
図は従来のマイクロプロセッサを示すブロック図、第4
図はキャッシュ・メモリの参照動作を規定するクロック
信号のタイミングチャートである。 図において、1はマイクロプロセッサ、2は外部メモリ
参照用プログラム・カウンタ、3はキャッシュ用アドレ
ス・バス、4はキャッシュ参照用プログラム・カウン
タ、5はプログラム・カウンタ制御機構、12は外部メモ
リ、14はアドレス・バス、15はアドレス・ラッチ、16は
CAM部、17はマッチ線、18はマッチ信号ラッチ、19はRAM
部、20はワード線、21はデータ・ラッチ、22はデータ・
バスである。 なお、各図中の同一符号は同一または相当部分を示す。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】命令を記憶する外部メモリにアドレスを出
    力する第1のアドレス・バスと、前記第1のアドレス・
    バスにアドレスを出力する第1のレジスタと、アドレス
    の一部を記憶するアドレス記憶部と前記アドレス記憶部
    に記憶されたアドレスに対応するデータを記憶するデー
    タ記憶部よりなるキャッシュ・メモリと、前記キャッシ
    ュ・メモリにアドレスを出力する第2のアドレス・バス
    と、前記第2のアドレス・バスにアドレスを出力する第
    2のレジスタと、前記外部メモリとデータの受渡しを行
    う第3のレジスタと、前記キャッシュ・メモリのデータ
    記憶部よりデータを読み出している間に、前記第2のレ
    ジスタの内容を次に読み出すべきアドレスに更新し、前
    記キャッシュ・メモリから前記第3のレジスタへデータ
    を出力すると同時に、更新された前記第2のレジスタの
    内容で前記キャッシュ・メモリのアドレス記憶部を参照
    することを指示する制御手段とを備えたことを特徴とす
    るマイクロプロセッサ。
JP62196805A 1987-08-05 1987-08-05 マイクロプロセツサ Expired - Fee Related JPH0740244B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP62196805A JPH0740244B2 (ja) 1987-08-05 1987-08-05 マイクロプロセツサ
US07/227,290 US5012410A (en) 1987-08-05 1988-08-02 Data processor with instruction cache memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62196805A JPH0740244B2 (ja) 1987-08-05 1987-08-05 マイクロプロセツサ

Publications (2)

Publication Number Publication Date
JPS6441045A JPS6441045A (en) 1989-02-13
JPH0740244B2 true JPH0740244B2 (ja) 1995-05-01

Family

ID=16363941

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62196805A Expired - Fee Related JPH0740244B2 (ja) 1987-08-05 1987-08-05 マイクロプロセツサ

Country Status (2)

Country Link
US (1) US5012410A (ja)
JP (1) JPH0740244B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0913777B1 (en) * 1991-03-01 2005-05-11 Advanced Micro Devices, Inc. Output buffer for microprocessor
US5232962A (en) * 1991-10-09 1993-08-03 Quantum Materials, Inc. Adhesive bonding composition with bond line limiting spacer system
US5724549A (en) * 1992-04-06 1998-03-03 Cyrix Corporation Cache coherency without bus master arbitration signals
US5557743A (en) * 1994-04-05 1996-09-17 Motorola, Inc. Protection circuit for a microprocessor
US5737760A (en) * 1995-10-06 1998-04-07 Motorola Inc. Microcontroller with security logic circuit which prevents reading of internal memory by external program
JP4312272B2 (ja) * 1995-10-06 2009-08-12 モトローラ・インコーポレイテッド 内部メモリへのアクセスを制限するマイクロコントローラ
US8683129B2 (en) * 2010-10-21 2014-03-25 Oracle International Corporation Using speculative cache requests to reduce cache miss delays

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4366540A (en) * 1978-10-23 1982-12-28 International Business Machines Corporation Cycle control for a microprocessor with multi-speed control stores
US4317168A (en) * 1979-11-23 1982-02-23 International Business Machines Corporation Cache organization enabling concurrent line castout and line fetch transfers with main storage
JPS57105879A (en) * 1980-12-23 1982-07-01 Hitachi Ltd Control system for storage device

Also Published As

Publication number Publication date
JPS6441045A (en) 1989-02-13
US5012410A (en) 1991-04-30

Similar Documents

Publication Publication Date Title
JP3289661B2 (ja) キャッシュメモリシステム
JP2902976B2 (ja) キャッシュフラッシュ装置
JP2003504757A (ja) 外部メモリアクセス用バッファリングシステムバス
JPS6297036A (ja) 計算機システム
KR100210205B1 (ko) 스톨캐쉬를 제공하기 위한 장치 및 방법
JPH0740244B2 (ja) マイクロプロセツサ
US6097403A (en) Memory including logic for operating upon graphics primitives
JP2752076B2 (ja) プログラマブル・コントローラ
KR960007833B1 (ko) 고속 페이지 모드 선택을 위한 방법 및 장치
US4737908A (en) Buffer memory control system
JPS6312030A (ja) 情報処理装置のエラ−処理機構
JP2901247B2 (ja) 掃出し制御方式
JPH02110646A (ja) メモリの先行読出し装置
US4979103A (en) Data processing method and apparatus having plural bus interfaces
JPH0298754A (ja) 主記憶制御方式
JPS63206843A (ja) キヤツシユメモリ装置
US20040103267A1 (en) Data processor having cache memory
JP3184363B2 (ja) マイクロプロセッサ装置
JP2885168B2 (ja) マルチプロセッサシステムに於けるデータリプライ方法
JPS6391756A (ja) 記憶装置の部分書き込み命令処理方式
JP2001229074A (ja) メモリ制御装置と情報処理装置及びメモリ制御チップ
JPH05257807A (ja) キャッシュメモリ制御装置
JP3366235B2 (ja) データ読み出し制御装置
JP3437224B2 (ja) 遅延無効化方式
JP2680909B2 (ja) 緩衝記憶装置

Legal Events

Date Code Title Description
S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees