JP2001134486A - マイクロプロセッサおよび記憶装置 - Google Patents

マイクロプロセッサおよび記憶装置

Info

Publication number
JP2001134486A
JP2001134486A JP31332399A JP31332399A JP2001134486A JP 2001134486 A JP2001134486 A JP 2001134486A JP 31332399 A JP31332399 A JP 31332399A JP 31332399 A JP31332399 A JP 31332399A JP 2001134486 A JP2001134486 A JP 2001134486A
Authority
JP
Japan
Prior art keywords
address
storage
storage means
instruction code
memory
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
JP31332399A
Other languages
English (en)
Inventor
Yasuhiro Wakimoto
康裕 脇本
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP31332399A priority Critical patent/JP2001134486A/ja
Priority to US09/652,023 priority patent/US6862675B1/en
Priority to EP00307666A priority patent/EP1103898A3/en
Publication of JP2001134486A publication Critical patent/JP2001134486A/ja
Pending 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/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3814Implementation provisions of instruction buffers, e.g. prefetch buffer; banks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • 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, 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, look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3808Instruction prefetching for instruction reuse, e.g. trace cache, branch target cache
    • 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, look ahead
    • G06F9/3824Operand accessing
    • G06F9/383Operand prefetching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/25Using a specific main memory architecture
    • G06F2212/251Local memory within processor subsystem
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/25Using a specific main memory architecture
    • G06F2212/253Centralized memory

Abstract

(57)【要約】 【課題】 マイクロプロセッサおよび記憶装置におい
て、たとえば画像処理のように大規模データを処理する
場合であっても高速で小容量なローカルメモリを有効に
働かせること。 【解決手段】 マイクロプロセッサ1の外部にメインメ
モリ2と、メインメモリ2よりも高速なローカルメモリ
3を接続する。メインメモリ2にはロードモジュール全
体が展開され、ローカルメモリ3にはメインメモリ2に
展開されたロードモジュールの中の命令コードの一部ま
たは全部を格納する。データ用メモリ管理ユニット63
はロードモジュール全体の論理アドレスをメインメモリ
2の物理アドレスへ変換する。命令用メモリ管理ユニッ
ト62は、ローカルメモリ3に格納された命令コードの
論理アドレスをローカルメモリ3の物理アドレスへ変換
する。CPUコア6は命令の実行時にローカルメモリ3
から命令コードを取得する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、コンピュータまた
はコンピュータの周辺装置に使用されるマイクロプロセ
ッサおよび記憶装置に関する。
【0002】レーザ・ビーム・プリンタや画像認識装置
など、主として高性能な画像処理を必要とする装置には
マイクロプロセッサが内蔵されている。画像処理に必要
な命令コードおよび定数や初期値のデータなどは、マイ
クロプロセッサの外部に設けられたメインメモリに格納
される。また、マイクロプロセッサは、その内部にキャ
ッシュメモリを備えている。マイクロプロセッサは、主
に、メインメモリまたはキャッシュメモリに格納された
命令コードおよび定数や初期値のデータを用いて処理を
おこなう。
【0003】なお、本明細書では、定数や初期値などの
数値(文字も含む)のデータを意味する狭義のデータ
と、その狭義のデータのほかに命令コードなども含めた
広義のデータとを区別するために、広義のデータを単に
データとし、狭義のデータを数値データとする。
【0004】
【従来の技術】一般に、キャッシュメモリはメインメモ
リと論理的なメモリ階層を構成している。メインメモリ
は、一般的なDRAM(ダイナミックRAM)等により
構成される。キャッシュメモリは、メインメモリよりも
高速アクセスが可能なSRAM(スタティックRAM)
などにより構成される。
【0005】アクセスのあった命令コードや数値データ
は、その付近の命令コードや数値データとともにキャッ
シュメモリに蓄積される。そして、キャッシュメモリに
蓄積された命令コードや数値データに対してアクセスが
あった場合には、その命令コードや数値データは、メイ
ンメモリからではなく、キャッシュメモリから読み出さ
れる。それによって、低速なメインメモリへのアクセス
頻度が減少し、高速処理が実現する。
【0006】キャッシュメモリに蓄積された命令コード
や数値データには、メインメモリにおける物理アドレス
とキャッシュメモリにおける物理アドレスが割り当てら
れる。両者の物理アドレスは当然異なる。メモリへのア
クセスが発生した時に、アクセス対象となる命令コード
や数値データがキャッシュメモリに存在しない場合には
メインメモリの物理アドレスが指定される。一方、アク
セス対象がキャッシュメモリに存在する場合にはキャッ
シュメモリの物理アドレスが指定される。
【0007】このようなアドレス変換は、プロセッサに
内蔵されたタグレジスタとキャッシュ制御ユニットと呼
ばれるアドレス変換手段により自動的におこなわれる。
したがって、プログラマはキャッシュメモリの存在を意
識する必要はない。同様にメインメモリ中でアクセスを
制御するために、メモリ管理ユニット(MMU)が内蔵
されている。
【0008】これらのアドレス変換手段は、ある論理ア
ドレス範囲に対して一つの物理アドレスを設定する。そ
れと同時に、アドレス変換手段は、設定範囲に共通のア
クセス属性などを定義する。ロードモジュールには、命
令コードやその命令コードの実行の際に使用される数値
データなどのように、アクセスの種別等が異なるものが
含まれているが、一部のキャッシュ制御ユニットとメモ
リ管理ユニットにおけるアドレス変換手段は、命令コー
ドと数値データを区別せずに同様に扱う。
【0009】
【発明が解決しようとする課題】しかしながら、上述し
たキャッシュメモリを利用したメモリアクセス機構で
は、たとえば画像処理のように、処理対象となるデータ
の規模が大きくなると、キャッシュメモリの書き換えが
頻繁に起こる。そのため、本来キャッシュが有効に働く
局所的な命令コードや数値データが、キャッシュメモリ
から追い出されてしまう。したがって、キャッシュのヒ
ット率が下がり、処理の高速化という効果が十分に得ら
れなくなってしまう。また、データ規模に合わせた大容
量のメモリは一般に低速になってしまう。
【0010】そこで、大容量のキャッシュメモリを用い
ることによって、大規模データを処理する場合であって
もキャッシュメモリの書き換えが頻繁に起こらないよう
にすることもできる。しかし、高速の大容量メモリは高
価である。また、安価な大容量メモリを用いたのでは、
アクセスタイムが犠牲になってしまう。
【0011】本発明は、上記問題点に鑑みてなされたも
のであって、たとえば画像処理のように局所性が低くか
つ大規模なデータを処理する場合であっても、局所性の
高い命令やデータを効率的にアクセスすることができる
マイクロプロセッサおよび記憶装置を提供することを目
的とする。
【0012】
【課題を解決するための手段】上記目的を達成するた
め、本発明は以下のように構成されていることを特徴と
する。マイクロプロセッサの外部に第1の記憶手段(メ
インメモリ)と第2の記憶手段(ローカルメモリ)が接
続される。第1の記憶手段(メインメモリ)には、ロー
ドモジュール全体が展開される。ここで、ロードモジュ
ールは、命令コード、定数や初期値のデータ(数値デー
タ)および作業用領域確保を含む。
【0013】第2の記憶手段(ローカルメモリ)には、
第1の記憶手段(メインメモリ)に展開されたロードモ
ジュールの中の命令コードの一部または全部が複写また
は書き込みにより格納される。第2の記憶手段(ローカ
ルメモリ)に格納される命令コードのサイズは、第2の
記憶手段(ローカルメモリ)の容量以下に設定される。
【0014】そして、第1のアドレス変換手段(データ
用メモリ管理ユニット)と第2のアドレス変換手段(命
令用メモリ管理ユニット)が設けられる。第1のアドレ
ス変換手段(データ用メモリ管理ユニット)は、ロード
モジュール全体の論理アドレスを第1の記憶手段(メイ
ンメモリ)の物理アドレスへ変換する。第2のアドレス
変換手段(命令用メモリ管理ユニット)は、ロードモジ
ュールの命令コードの論理アドレスを第2の記憶手段
(ローカルメモリ)の物理アドレスへ変換する。
【0015】第1の記憶手段(メインメモリ)は大容量
のメモリ、たとえばDIMM(デュアル・インライン・
メモリ・モジュール)により構成される。第2の記憶手
段(ローカルメモリ)は、第1の記憶手段(メインメモ
リ)よりも容量は小さいが高速で動作するメモリ、たと
えば単体の高速シンクロナスDRAMにより構成され
る。
【0016】以上のように構成されているため、本発明
によれば、マイクロプロセッサは、命令を実行する際、
より高速な第2の記憶手段(ローカルメモリ)から命令
コードを取得して実行する。命令コードは一般に局所性
(ローカリティ)が高い。そのため、第2の記憶手段
(ローカルメモリ)が小容量のメモリであっても高速化
の効果は十分に得られる。
【0017】それに対して、画像処理などで用いられる
ような大規模なデータは、一般に局所性が低い。したが
って、そのようなデータを小容量の第2の記憶手段(ロ
ーカルメモリ)に分割して転送しても、頻繁に発生する
転送による損失のため、高速化の効果は十分に得られな
い。よって、ロードモジュール全体は大容量の第1の記
憶手段(メインメモリ)に格納される。
【0018】また、スタックなどのように、作業データ
の中には局所性が高いものもある。このような局所性の
高い作業データについては、格納先を第2の記憶手段
(ローカルメモリ)にしてもよい。その場合には、第2
のアドレス変換手段(命令用メモリ管理ユニット)は、
スタックなどの作業データの論理アドレスを第2の記憶
手段(ローカルメモリ)の物理アドレスへ変換する。
【0019】
【発明の実施の形態】以下に、本発明の実施の形態につ
いて図面を参照しつつ詳細に説明する。図1は、本発明
にかかる記憶装置の一例を示すブロック図である。この
記憶装置は、マイクロプロセッサ(MPU)1、第1の
記憶手段であるメインメモリ2、第2の記憶手段である
ローカルメモリ3を備えている。
【0020】マイクロプロセッサ1は、外部バス41、
バスブリッジ5および別の外部バス42を介して、メイ
ンメモリ2に接続される。また、マイクロプロセッサ1
は、さらに別の外部バス43を介して、ローカルメモリ
3に接続される。
【0021】メインメモリ2は、たとえば、大容量のD
IMMなどの一般的なDRAMにより構成される。ロー
カルメモリ3は、たとえば、メインメモリ2よりも容量
は小さいが高速で動作するシンクロナスDRAM(SD
RAM)により構成される。
【0022】また、マイクロプロセッサ1は、外部バス
41、バスブリッジ5およびさらにまた別の外部バス4
4を介して図示しない周辺回路に接続される。マイクロ
プロセッサ1は、演算処理をおこなうコア11、命令コ
ードやデータを格納するキャッシュメモリ12、および
外部バス41,43が接続されるバスインターフェース
13を備えている。
【0023】マイクロプロセッサ1とメインメモリ2と
の間では、外部バス41,42およびバスブリッジ5を
介して、アドレスやデータが双方向に転送される。マイ
クロプロセッサ1とローカルメモリ3との間では、外部
バス43を介して、アドレスや命令コードが双方向に転
送される。また、メインメモリ2とローカルメモリ3と
の間では、外部バス41,43を介して、バスインター
フェース13を経由することにより、データは双方向に
直接転送される。
【0024】図2は、マイクロプロセッサ1の詳細な構
成の一例を示すブロック図である。マイクロプロセッサ
1は、CPU(中央演算処理装置)コア6、クロック発
生器71、バスインターフェースユニット72、デバッ
グサポートユニット73、SDRAMバスインターフェ
ース74およびシステムバスインターフェース75を備
えている。
【0025】CPUコア6は、たとえば6つの命令実行
ユニット61a,61b,61c,61d,61e,6
1f、第2のアドレス変換手段である命令用メモリ管理
ユニット62、および第1のアドレス変換手段であるデ
ータ用メモリ管理ユニット63を備えている。
【0026】CPUコア6は、メインメモリ2(図1参
照)にロードモジュール全体を展開する。そして、CP
Uコア6は、メインメモリ2(図1参照)に展開したロ
ードモジュールの中の一部または全部の命令コードをロ
ーカルメモリ3に複写する。したがって、CPUコア6
は複写手段としての機能を有している。ローカルメモリ
3に複写される命令コードのサイズは、ローカルメモリ
3の容量以下に設定される。
【0027】データ用メモリ管理ユニット63は、メイ
ンメモリ2(図1参照)に展開されたロードモジュール
全体の論理アドレスに、メインメモリ2の物理アドレス
を割り当てる。命令用メモリ管理ユニット62は、ロー
カルメモリ3(図1参照)に複写された命令コードの論
理アドレスに、ローカルメモリ3の物理アドレスを割り
当てる。
【0028】また、CPUコア6は、図1に示すキャッ
シュメモリ12を構成する命令キャッシュ64およびデ
ータキャッシュ65を備えている。命令用メモリ管理ユ
ニット62またはデータ用メモリ管理ユニット63と、
命令キャッシュ64またはデータキャッシュ65とは、
命令コード用のデータバス66、命令コード用のアドレ
スバス67、データ用のアドレスバス68およびデータ
用のデータバス69を介して接続される。
【0029】CPUコア6は、内部バス81,82,8
3,84、バスインターフェースユニット72および別
の内部バス85,86を介して、SDRAMバスインタ
ーフェース74またはシステムバスインターフェース7
5に接続する。SDRAMバスインターフェース74に
はローカルメモリ用の外部バス43が接続される。シス
テムバスインターフェース75にはメインメモリ用の外
部バス41が接続される。また、SDRAMバスインタ
ーフェース74とシステムバスインターフェース75と
は、さらに別の内部バス87を介して相互に接続されて
いる。
【0030】バスインターフェースユニット72は、あ
らかじめ設定された物理アドレス範囲とCPUコア6か
らのアクセス要求を比較する。その結果、CPUコア6
からのアクセス要求がメインメモリ2(図1参照)の物
理アドレスに相当する場合には、システムバスインター
フェース75が動作する。
【0031】比較の結果、アクセス要求がローカルメモ
リ3(図1参照)の物理アドレスに相当する場合には、
SDRAMバスインターフェース74が動作する。した
がって、ローカルメモリ3に接続された外部バス43の
領域、およびメインメモリ2に接続された外部バス41
の領域は、任意の物理アドレスへ割り当てられる。
【0032】クロック発生器71は、外部クロックに基
づいて内部クロックを生成し、それをCPUコア6およ
びバスインターフェースユニット72に供給する。デバ
ッグサポートユニット73は、図示しないICE(イン
サーキットエミュレータ)にインターフェースを介して
接続される。
【0033】図3は、メモリ管理ユニット62,63の
構成を模式的に示す図である。メモリ管理ユニット6
2,63は、論理アドレスを格納するための複数の論理
アドレス領域62a,・・・,62j,62k、物理ア
ドレスを格納するための複数の物理アドレス領域63
a,・・・,63j,63k、複数の比較器60a,・
・・,60j,60kを備えている。
【0034】データ用メモリ管理ユニット63において
は、論理アドレス領域62a,・・・,62j,62k
には、メインメモリ2に展開されているロードモジュー
ルに関する論理アドレスが格納される。命令用メモリ管
理ユニット62の場合には、論理アドレス領域62a,
・・・,62j,62kには、ローカルメモリ3に格納
されている命令コードに関する論理アドレスが格納され
る。物理アドレス領域63a,・・・,63j,63k
には、それぞれ、各論理アドレス領域62a,・・・,
62j,62kに格納されている論理アドレスに割り当
てられた物理アドレスが格納される。
【0035】比較器60a,・・・,60j,60k
は、CPUコア6からのアクセス要求があった論理アド
レス91bと、各論理アドレス領域62a,・・・,6
2j,62kに格納されている論理アドレスとの比較を
おこなう。
【0036】ここで、メモリ管理ユニット62,63
は、実行されている命令によって論理アドレスと物理ア
ドレスの関係を異なる複数の設定から選択される機構を
持ち、それぞれ同じ論理アドレスに対して2種類以上の
異なる物理アドレスを設定する構成となっていてもよ
い。
【0037】そうすれば、たとえば、ある命令コードの
内容が、自己すなわちその命令コードのメインメモリ2
におけるアドレスを参照せよという命令(たとえば、ワ
ードイフェクトアドレスという命令)である場合に有効
である。つまり、CPUコア6はその命令コードをロー
カルメモリ3から読み出して実行する。そして、CPU
コア6はメインメモリ2を参照して絶対アドレスを取得
することができる。
【0038】また、メモリ管理ユニット62,63は、
アクセスされた時点で記憶されているプロセス番号など
の情報により異なる複数の論理アドレスと物理アドレス
の関係を選択できる機構を持ち、それぞれ同じ論理アド
レスに対して2種類以上の異なる物理アドレスを設定す
る構成となっていてもよい。
【0039】そうすれば、いわゆるマルチタスクのよう
に、複数のタスクを並行しておこなう場合に有効であ
る。つまり、CPUコア6は、優先度の高いタスクに関
しては命令コードをローカルメモリ3から読み出す。一
方、優先度の低いタスクに関する命令コードについて
は、CPUコア6はメインメモリ2から読み出すことが
できる。
【0040】また、メモリ管理ユニット62,63は、
アクセスされた時刻によって異なる論理アドレスと物理
アドレスの関係を選択できる機構を持ち、それぞれ同じ
論理アドレスに対して2種類以上の異なる物理アドレス
を設定する構成となっていてもよい。
【0041】そうすれば、あらかじめ決められた時間内
は優先度が高いが、その時間が経過した後に優先度が下
がるような命令コードを実行する場合に有効である。つ
まり、CPUコア6は、ある命令コードを実行する際、
その命令コードを、優先度が高い間はローカルメモリ3
から読み出し、優先度が低くなったらメインメモリ2か
ら読み出すことができる。
【0042】次に、作用について説明する。まず、モジ
ュールのロード時に、CPUコア6により、メインメモ
リ2にロードモジュール全体が展開される。また、その
ロードモジュールの中の命令コードが、ローカルメモリ
3の容量以下のサイズでローカルメモリ3に複写され
る。
【0043】データ用メモリ管理ユニット63におい
て、論理アドレス領域62a,・・・,62j,62k
には、メインメモリ2に展開されたロードモジュール全
体の論理アドレスが格納される。また、物理アドレス格
納領域63a,・・・,63j,63kには、論理アド
レス領域62a,・・・,62j,62kに格納された
各論理アドレスに対応する物理アドレスが格納される。
【0044】同様に、命令用メモリ管理ユニット62に
おいて、論理アドレス領域62a,・・・,62j,6
2kには、ローカルメモリ3に格納された命令コードの
論理アドレスが格納される。そして、物理アドレス格納
領域63a,・・・,63j,63kには、論理アドレ
ス領域62a,・・・,62j,62kに格納された各
論理アドレスに対応する物理アドレスが格納される。
【0045】CPUコア6からアクセス要求があると、
データ用メモリ管理ユニット63および命令用メモリ管
理ユニット62において、それぞれの比較器60a,・
・・,60j,60kにより、CPUコア6から要求さ
れている論理アドレスと、各論理アドレス領域62a,
・・・,62j,62kに格納されている論理アドレス
との比較がおこなわれる。この比較は複数の比較器60
a,・・・,60j,60kにおいて同時におこなわれ
る。
【0046】比較の結果、論理アドレス領域62a,・
・・,62j,62kに格納されている論理アドレスの
中に一致するものがある場合には、メモリ管理ユニット
62,63は、それぞれ、その一致する論理アドレス9
1bに対応する物理アドレス92bを出力する。一致す
るものがない場合には、メモリ管理ユニット62,63
は論理アドレス91a,91cをそのまま物理アドレス
92a,92cとして出力する。
【0047】このようなアドレス変換をおこなうこと
は、論理アドレス空間91をセグメント単位で物理アド
レス空間92へマッピングしていることに相当する。図
4には、このマッピングの様子が模式的に示されてい
る。
【0048】図5は、ロードモジュール全体とそれに含
まれる命令コードとで異なるマッピングをおこなった様
子を示す模式図である。メインメモリ2には、命令コー
ドと数値データと作業領域を含めたロードモジュール全
体が展開されている。たとえば図示例では、メモリアド
レスレジスタ(MAR)の論理アドレス「0350」
が、メインメモリ2に相当する物理アドレス「1000
〜1399」にマッピングされている。
【0049】ローカルメモリ3には、ロードモジュール
の中の命令コードが展開されている。たとえば図示例で
は、プログラムカウンタ(PC)の論理アドレス「00
80」が、ローカルメモリ3に相当する物理アドレス
「2000〜2099」にマッピングされている。
【0050】CPUコア6が、ローカルメモリ3に格納
された命令コードのサイズを超えて命令を実行しようと
した場合、命令用メモリ管理ユニット62は、ページミ
スヒット機能などによりアドレス変換ミスを検出する。
それによって、その時点で要求されている命令コードを
含む適当な範囲の命令コードがメインメモリ2からロー
カルメモリ3に転送されることになる。
【0051】命令用メモリ管理ユニット62は、論理ア
ドレス領域62a,・・・,62j,62kに格納する
アドレスを、新たに転送された命令コードの論理アドレ
スに更新する。それに対応して、物理アドレス領域63
a,・・・,63j,63kの物理アドレスも更新され
る。このようにローカルメモリ3に格納された命令コー
ドを更新することによって、CPUコア6は命令の実行
を継続する。なお、命令実行中に新たに命令コードの転
送をおこなっても、命令コードの局所性が高いため、損
失は十分に小さい。
【0052】上述した実施の形態によれば、マイクロプ
ロセッサ1の外部に接続された大容量のメインメモリ2
にロードモジュール全体が展開される。メインメモリ2
に展開されたロードモジュールの中の命令コードの一部
または全部は、マイクロプロセッサ1の外部に接続され
た高速のローカルメモリ3に格納される。したがって、
画像処理などで用いられるような大規模で非局所的なデ
ータをロードした場合にも、高速なローカルメモリ3内
の命令コードを高速に実行することができる。
【0053】また、上述した実施の形態によれば、ロー
カルメモリ3を設けたことによって、メインメモリへの
アクセスを減少させることができるので、消費電力を低
減させることができる。また、メインメモリ2に比較的
低速で安価なメモリを用いることができるので、処理性
能が向上するにもかかわらず、コストアップを抑えるこ
とができる。
【0054】なお、上記実施の形態においては、ローカ
ルメモリ3に命令コードを格納するとしたが、これに限
らず、局所性が高ければ数値データなど、いかなるデー
タをローカルメモリ3に格納してもよい。
【0055】また、上記実施の形態においては、メイン
メモリ2に展開されたロードモジュールの中の命令コー
ドをローカルメモリ3に複写するとしたが、これに限ら
ず、メインメモリ2にロードモジュールを展開するとと
もに、命令コードをローカルメモリ3に格納する構成と
してもよい。
【0056】
【発明の効果】本発明によれば、大容量の第1の記憶手
段にロードモジュール全体が展開される。そのロードモ
ジュールの中の命令コードの一部または全部は高速の第
2の記憶手段に格納される。したがって、画像処理など
で用いられるような大規模で非局所的なデータを含むロ
ードモジュールをロードした場合にも、高速な第2の記
憶手段内の命令コードを実行することができるので、シ
ステム全体としての処理性能を向上させることができ
る。
【図面の簡単な説明】
【図1】本発明にかかる記憶装置の一例を示すブロック
図である。
【図2】本発明にかかるマイクロプロセッサの詳細な構
成の一例を示すブロック図である。
【図3】図2に示すマイクロプロセッサに内蔵されたメ
モリ管理ユニットの構成を示す模式図である。
【図4】図3に示すメモリ管理ユニットのアドレス変換
によって論理アドレス空間が物理アドレス空間にマッピ
ングされる様子を示す模式図である。
【図5】ロードモジュール全体と命令コードとで異なる
マッピングをおこなった結果を示す模式図である。
【符号の説明】
1 マイクロプロセッサ、複写手段、格納手段 2 第1の記憶手段(メインメモリ) 3 第2の記憶手段(ローカルメモリ) 62 第2のアドレス変換手段(命令用メモリ管理ユニ
ット) 63 第1のアドレス変換手段(データ用メモリ管理ユ
ニット)

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 互いに異なる物理アドレスを有する複数
    の記憶手段が外部に接続されるマイクロプロセッサであ
    って、 前記複数の記憶手段のうちの第1の記憶手段に格納され
    たロードモジュールの論理アドレスに、前記第1の記憶
    手段の物理アドレスを割り当てる第1のアドレス変換手
    段と、 前記複数の記憶手段のうちの第2の記憶手段に、前記第
    1の記憶手段に格納されたロードモジュールのうちの命
    令コードを複写する複写手段と、 前記第2の記憶手段に複写された命令コードの論理アド
    レスに、前記第2の記憶手段の物理アドレスを割り当て
    る第2のアドレス変換手段と、 を具備することを特徴とするマイクロプロセッサ。
  2. 【請求項2】 互いに異なる物理アドレスを有する複数
    の記憶手段が外部に接続されるマイクロプロセッサであ
    って、 前記複数の記憶手段のうちの第1の記憶手段に格納され
    たロードモジュールの論理アドレスに、前記第1の記憶
    手段の物理アドレスを割り当てる第1のアドレス変換手
    段と、 前記複数の記憶手段のうちの第2の記憶手段に、前記第
    1の記憶手段に格納されるロードモジュールのうちの命
    令コードを格納させる格納手段と、 前記第2の記憶手段に格納された命令コードの論理アド
    レスに、前記第2の記憶手段の物理アドレスを割り当て
    る第2のアドレス変換手段と、 を具備することを特徴とするマイクロプロセッサ。
  3. 【請求項3】 前記第2の記憶手段に格納されているロ
    ードモジュールへのアクセスが発生した時に、前記第1
    のアドレス変換手段は、そのアクセス対象となったロー
    ドモジュールの論理アドレスに前記第1の記憶手段の物
    理アドレスを割り当て、一方、前記第2のアドレス変換
    手段は、前記アクセス対象となったロードモジュールの
    うちの命令コードの論理アドレスに前記第2の記憶手段
    の物理アドレスを割り当てることを特徴とする請求項1
    または2に記載のマイクロプロセッサ。
  4. 【請求項4】 前記第1の記憶手段に格納されるロード
    モジュールは、画像処理用のデータおよび画像処理用の
    命令コードを含んでいることを特徴とする請求項1〜3
    のいずれか一つに記載のマイクロプロセッサ。
  5. 【請求項5】 互いに異なる物理アドレスを有する複数
    の記憶手段と、 前記複数の記憶手段のうちの第1の記憶手段に格納され
    たロードモジュールの論理アドレスに、前記第1の記憶
    手段の物理アドレスを割り当てる第1のアドレス変換手
    段と、 前記複数の記憶手段のうちの第2の記憶手段に、前記第
    1の記憶手段に格納されたロードモジュールのうちの命
    令コードを複写する複写手段と、 前記第2の記憶手段に複写された命令コードの論理アド
    レスに、前記第2の記憶手段の物理アドレスを割り当て
    る第2のアドレス変換手段と、 を具備することを特徴とする記憶装置。
  6. 【請求項6】 互いに異なる物理アドレスを有する複数
    の記憶手段と、 前記複数の記憶手段のうちの第1の記憶手段に格納され
    たロードモジュールの論理アドレスに、前記第1の記憶
    手段の物理アドレスを割り当てる第1のアドレス変換手
    段と、 前記複数の記憶手段のうちの第2の記憶手段に、前記第
    1の記憶手段に格納されるロードモジュールのうちの命
    令コードを格納させる格納手段と、 前記第2の記憶手段に格納された命令コードの論理アド
    レスに、前記第2の記憶手段の物理アドレスを割り当て
    る第2のアドレス変換手段と、 を具備することを特徴とする記憶装置。
  7. 【請求項7】 前記第2の記憶手段に格納されているロ
    ードモジュールへのアクセスが発生した時に、前記第1
    のアドレス変換手段は、そのアクセス対象となったロー
    ドモジュールの論理アドレスに前記第1の記憶手段の物
    理アドレスを割り当て、一方、前記第2のアドレス変換
    手段は、前記アクセス対象となったロードモジュールの
    うちの命令コードの論理アドレスに前記第2の記憶手段
    の物理アドレスを割り当てることを特徴とする請求項5
    または6に記載の記憶装置。
  8. 【請求項8】 前記第1の記憶手段に格納されるロード
    モジュールは、画像処理用のデータおよび画像処理用の
    命令コードを含んでいることを特徴とする請求項5〜7
    のいずれか一つに記載の記憶装置。
  9. 【請求項9】 前記第2の記憶手段は、前記第1の記憶
    手段よりもアクセス速度が高速なメモリであることを特
    徴とする請求項5〜8のいずれか一つに記載の記憶装
    置。
  10. 【請求項10】 前記第2の記憶手段は、シンクロナス
    DRAMで構成されることを特徴とする請求項9に記載
    の記憶装置。
JP31332399A 1999-11-04 1999-11-04 マイクロプロセッサおよび記憶装置 Pending JP2001134486A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP31332399A JP2001134486A (ja) 1999-11-04 1999-11-04 マイクロプロセッサおよび記憶装置
US09/652,023 US6862675B1 (en) 1999-11-04 2000-08-31 Microprocessor and device including memory units with different physical addresses
EP00307666A EP1103898A3 (en) 1999-11-04 2000-09-05 Microprocessor and memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP31332399A JP2001134486A (ja) 1999-11-04 1999-11-04 マイクロプロセッサおよび記憶装置

Publications (1)

Publication Number Publication Date
JP2001134486A true JP2001134486A (ja) 2001-05-18

Family

ID=18039860

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31332399A Pending JP2001134486A (ja) 1999-11-04 1999-11-04 マイクロプロセッサおよび記憶装置

Country Status (3)

Country Link
US (1) US6862675B1 (ja)
EP (1) EP1103898A3 (ja)
JP (1) JP2001134486A (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7028129B2 (en) * 2001-12-28 2006-04-11 Intel Corporation Method and apparatus for converting an external memory access into a local memory access in a processor core
JP5040306B2 (ja) * 2006-12-28 2012-10-03 富士通株式会社 記憶制御装置及び記憶制御方法
US9936209B2 (en) * 2011-08-11 2018-04-03 The Quantum Group, Inc. System and method for slice processing computer-related tasks
US10095417B1 (en) * 2016-12-13 2018-10-09 EMC IP Holding Company LLC Method and system for improving flash storage read performance in partially programmed blocks
US11069418B1 (en) 2016-12-30 2021-07-20 EMC IP Holding Company LLC Method and system for offline program/erase count estimation
US10289550B1 (en) 2016-12-30 2019-05-14 EMC IP Holding Company LLC Method and system for dynamic write-back cache sizing in solid state memory storage
US10338983B2 (en) 2016-12-30 2019-07-02 EMC IP Holding Company LLC Method and system for online program/erase count estimation
US10290331B1 (en) 2017-04-28 2019-05-14 EMC IP Holding Company LLC Method and system for modulating read operations to support error correction in solid state memory
US10403366B1 (en) 2017-04-28 2019-09-03 EMC IP Holding Company LLC Method and system for adapting solid state memory write parameters to satisfy performance goals based on degree of read errors

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5586283A (en) * 1993-10-07 1996-12-17 Sun Microsystems, Inc. Method and apparatus for the reduction of tablewalk latencies in a translation look aside buffer
US6002411A (en) * 1994-11-16 1999-12-14 Interactive Silicon, Inc. Integrated video and memory controller with data processing and graphical processing capabilities
JPH08314794A (ja) 1995-02-28 1996-11-29 Matsushita Electric Ind Co Ltd 安定記憶装置へのアクセス待ち時間を短縮するための方法およびシステム
FR2732134B1 (fr) 1995-03-23 1997-06-06 Suisse Electronique Microtech Systeme informatique avec memoires hierarchisees
JP3666258B2 (ja) * 1997-08-28 2005-06-29 セイコーエプソン株式会社 プリンタ

Also Published As

Publication number Publication date
US6862675B1 (en) 2005-03-01
EP1103898A2 (en) 2001-05-30
EP1103898A3 (en) 2003-11-26

Similar Documents

Publication Publication Date Title
US9064330B2 (en) Shared virtual memory between a host and discrete graphics device in a computing system
JP5255348B2 (ja) クラッシュダンプ用のメモリアロケーション
EP0431467B1 (en) Multiprocessor system having distributed shared resources and dynamic global data replication
JP3264319B2 (ja) バスブリッジ
EP0497600B1 (en) Memory access method and apparatus
US20080235477A1 (en) Coherent data mover
US20040117587A1 (en) Hardware managed virtual-to-physical address translation mechanism
US20040117588A1 (en) Access request for a data processing system having no system memory
JP2006277762A (ja) 分散共有メモリマルチプロセッサシステムのための分割疎ディレクトリ
JPH0997214A (ja) 補助プロセッサのためのアドレス変換を含む情報処理システム
US7017024B2 (en) Data processing system having no system memory
JP4266629B2 (ja) ページ・テーブル属性によるバス・インタフェース選択
JP2001134486A (ja) マイクロプロセッサおよび記憶装置
US20050055528A1 (en) Data processing system having a physically addressed cache of disk memory
US20040117590A1 (en) Aliasing support for a data processing system having no system memory
JP2002032264A (ja) キャッシュメモリ装置及びそれを用いた中央演算処理装置
JP4965974B2 (ja) 半導体集積回路装置
JPH0830568A (ja) 分散メモリ型並列計算機のキャッシュ制御方式
TWI831564B (zh) 可配置的記憶體系統及其記憶體管理方法
JP2010108381A (ja) 集積回路、集積回路の制御方法および半導体デバイス
JPH0553912A (ja) キヤツシユメモリの制御方法
US20040117583A1 (en) Apparatus for influencing process scheduling in a data processing system capable of utilizing a virtual memory processing scheme
JP2008123333A5 (ja)
JPH08263426A (ja) 論理ダイレクトメモリアクセス方式
JP2637853B2 (ja) キャッシュメモリ装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050921

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20080730

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080903

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080916

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090303