JP2000242547A - メモリ制御装置、メモリ制御方法、及び記憶媒体 - Google Patents

メモリ制御装置、メモリ制御方法、及び記憶媒体

Info

Publication number
JP2000242547A
JP2000242547A JP11041529A JP4152999A JP2000242547A JP 2000242547 A JP2000242547 A JP 2000242547A JP 11041529 A JP11041529 A JP 11041529A JP 4152999 A JP4152999 A JP 4152999A JP 2000242547 A JP2000242547 A JP 2000242547A
Authority
JP
Japan
Prior art keywords
memory
address
stored
memory address
information
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
JP11041529A
Other languages
English (en)
Inventor
Hideyasu Suzuki
秀恭 鈴木
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP11041529A priority Critical patent/JP2000242547A/ja
Publication of JP2000242547A publication Critical patent/JP2000242547A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 類似な処理を行う機能の統合を実現し、所要
メモリ容量の節約を図る。 【解決手段】 レジスタファイル(REGS)7におい
てR1が転元のメモリアドレスを格納し、SVALが所
定情報を記憶する。特殊アドレスレジスタ(SADD
R)9が特定のメモリアドレスを記憶する。比較器(C
MP)11が、転送元メモリアドレスを特定メモリアド
レスと比較する。その結果、転送元メモリアドレスが特
定メモリアドレスと一致しているならば、レジスタファ
イル(REGS)7のR1に格納された転送元メモリア
ドレスが示すメモリ2の対応領域に格納されていた情報
の代わりに、SVALに記憶された所定情報を読み出
す。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、メモリ制御装置、
メモリ制御方法、及び記憶媒体に関し、詳しくは、メモ
リの複数の領域に、互いに異なる情報をそれぞれ記憶さ
せると共に、当該記憶処理と同一処理によって、単一の
情報を記憶させるメモリ制御装置、当該メモリ制御装置
に適用されるメモリ制御方法、及び当該メモリ制御方法
を実行するプログラムを記憶した記憶媒体に関する。
【0002】
【従来の技術】従来のマイクロプロセッサでは、その内
部の動作はほとんど同じであるのに拘わらず、入力が単
一の値か、それともメモリ領域上の一連の値かによっ
て、別々の実装が行われるのが通常であった。
【0003】一例をあげると、ある固定バイト値の同一
データでメモリ領域を埋め尽くす機能と、別のメモリ領
域の値を複写する機能とは別々の関数に実装されていた
し、また、行列と行列の加減算を行う機能と、行列上の
すべての要素に同じ一つの数値を加減算する機能も別々
の関数として実装されていた。
【0004】
【発明が解決しようとする課題】上記のような従来技術
においても、たとえば埋め尽くす先と同じサイズかそれ
以上のサイズを持つ定数用メモリ領域を確保しておき、
その領域に該固定バイト値を埋めておくようにすれば、
メモリ領域を該固定バイト値で埋め尽くす機能を、別の
メモリ領域上の一連の値を複写する機能に統合できる。
【0005】また、行列上のすべての要素に対して同一
の数値を加算する機能に関しても、既に述べたようなメ
モリ領域をあらかじめ用意しておけば、行列と行列の加
算機能に統合できる。
【0006】しかし、統合には、定数用のメモリ領域を
用意する必要があるが、こうしたメモリ領域を用意する
ことはメモリ使用効率の点から通常不可能である。その
ため、従来は定数用のメモリ領域を用意することはせ
ず、別の関数を実装するようにしている。結果、機能的
には類似しているが微妙に異なる実装を持つ関数を別々
に用意する必要があり、特にプログラムやデータを格納
するメモリ領域のサイズに制限がある場合には、こうし
た別々の関数を実装するメモリ領域の確保が難しいとい
う問題があった。
【0007】本発明はこのような問題点に鑑みてなされ
たものであって、類似な処理を行う機能の統合を実現
し、所要メモリ容量の節約を図ったメモリ制御装置、メ
モリ制御方法、及び記憶媒体を提供することを目的とす
る。
【0008】
【課題を解決するための手段】上記目的を達成するため
に、請求項1記載の発明によれば、メモリの複数の領域
に、互いに異なる情報をそれぞれ記憶させると共に、当
該記憶処理と同一処理によって、単一の情報を記憶させ
るメモリ制御装置において、少なくとも転送元のメモリ
アドレスを格納するアドレス格納手段と、所定情報を記
憶する所定情報記憶手段と、特定のメモリアドレスを記
憶する特定メモリアドレス記憶手段と、前記アドレス格
納手段に格納された転送元メモリアドレスを前記特定メ
モリアドレス記憶手段に記憶された特定メモリアドレス
と比較する比較手段と、前記比較手段による比較の結
果、前記転送元メモリアドレスが前記特定メモリアドレ
スと一致しているならば、前記アドレス格納手段に格納
された転送元メモリアドレスが示すメモリ領域に格納さ
れていた情報の代わりに、前記所定情報記憶手段に記憶
されている所定情報を読み出す読出手段とを有すること
を特徴とする。
【0009】また、請求項6記載の発明によれば、少な
くとも転送元のメモリアドレスを格納するアドレス格納
手段と、所定情報を記憶する所定情報記憶手段と、特定
のメモリアドレスを記憶する特定メモリアドレス記憶手
段とを備え、メモリの複数の領域に、互いに異なる情報
をそれぞれ記憶させると共に、当該記憶処理と同一処理
によって、単一の情報を記憶させるメモリ制御装置に適
用されるメモリ制御方法において、前記アドレス格納手
段に格納された転送元メモリアドレスを前記特定メモリ
アドレス記憶手段に記憶された特定メモリアドレスと比
較する比較ステップと、前記比較ステップによる比較の
結果、前記転送元メモリアドレスが前記特定メモリアド
レスと一致しているならば、前記アドレス格納手段に格
納された転送元メモリアドレスが示すメモリ領域に格納
されていた情報の代わりに、前記所定情報記憶手段に記
憶されている所定情報を読み出す読出ステップとを有す
ることを特徴とする。
【0010】さらに、請求項11記載の発明によれば、
少なくとも転送元のメモリアドレスを格納するアドレス
格納手段と、所定情報を記憶する所定情報記憶手段と、
特定のメモリアドレスを記憶する特定メモリアドレス記
憶手段とを備え、メモリの複数の領域に、互いに異なる
情報をそれぞれ記憶させると共に、当該記憶処理と同一
処理によって、単一の情報を記憶させるメモリ制御装置
に適用されるメモリ制御方法をプログラムとして記憶し
た、コンピュータにより読み出し可能な記憶媒体におい
て、前記メモリ制御方法が、前記アドレス格納手段に格
納された転送元メモリアドレスを前記特定メモリアドレ
ス記憶手段に記憶された特定メモリアドレスと比較する
比較ステップと、前記比較ステップによる比較の結果、
前記転送元メモリアドレスが前記特定メモリアドレスと
一致しているならば、前記アドレス格納手段に格納され
た転送元メモリアドレスが示すメモリ領域に格納されて
いた情報の代わりに、前記所定情報記憶手段に記憶され
ている所定情報を読み出す読出ステップとを有すること
を特徴とする。
【0011】
【発明の実施の形態】以下、本発明の実施の形態を、図
面を参照して説明する。
【0012】図1は、本実施の形態に係るメモリ制御装
置を含んだマイクロプロセッサの構成を示すブロック図
である。
【0013】図中、フェッチユニット(FU)1は、外
部メモリ(MEM)2からインストラクション用メモリ
マネジメントユニット(IMMU)3経由でインストラ
クションのフェッチを行う。インストラクション用メモ
リマネジメントユニット(IMMU)3は適宜インスト
ラクション用キャッシュメモリ(ICACHE)4を使
用する。インストラクション用メモリマネジメントユニ
ット(IMMU)3、インストラクション用キャッシュ
メモリ(ICACHE)4ともに従来のマイクロプロセ
ッサでは広く使用されている技術なので、ここではこれ
以上説明しない。
【0014】デコードユニット(DU)5は、フェッチ
ユニット(FU)1から与えられた命令のデコードを行
い、適宜フェッチユニット(FU)1、後述の処理ユニ
ット(PU)6、ロードストアユニット(LSU)8
に、実際に必要な処理を割り当てる。
【0015】処理ユニット(PU)6は、デコードユニ
ット(DU)5によって割り振られた処理に従い、後述
のレジスタファイル(REGS)7を構成する複数のレ
ジスタ7aに含まれている複数の値をオペランドとし
て、たとえば加減乗除等の演算を行い、結果をレジスタ
ファイル(REGS)7上の複数のレジスタ7aに書き
出す演算ユニットである。デコードユニット(DU)
5、処理ユニット(PU)6はともに、従来のプロセッ
サで実現されている機能なのでここではこれ以上説明し
ない。
【0016】レジスタファイル(REGS)7は、処理
ユニット(PU)6が計算に使用するデータを格納する
ための複数のレジスタ7aを含んでいる。
【0017】レジスタファイル(REGS)7は、値レ
ジスタ(SVAL)7bをも含み、値レジスタ(SVA
L)7bへの値のセットはその他のレジスタと同様に行
える。ただし、値レジスタ(SVAL)7bに格納され
た値は、後述のマルチプレクサ(MUX)12から常に
参照可能である様に構成されている。
【0018】レジスタファイル(REGS)7に関して
も、値レジスタ(SVAL)7bがマルチプレクサ(M
UX)12から常に参照可能なこと以外の機能は従来の
プロセッサで実現されている機能なので、ここではこれ
以上説明しない。
【0019】ロードストアユニット(LSU)8はメモ
リアクセス機能を担当する。
【0020】REQはアクセス要求信号であり、ロード
ストアユニット(LSU)8が外部メモリ(MEM)2
へのアクセスを行う場合には適当なタイミングで1にな
る。アクセスが必要ない場合は0である。
【0021】RWはアクセス種別信号であり、「メモリ
を参照し、値をレジスタにロード」の場合に1、「レジ
スタの値をメモリにストア」の場合に0にセットされ
る。
【0022】EADDRは実効アドレスであって、参照
もしくは更新する先のメモリアドレスを示す。実効アド
レスEADDRは、後述の比較器(CMP)11経由で
データメモリマネージメントユニット(DMMU)13
に渡される。
【0023】Dwriteは、ロードストアユニット
(LSU)8が外部メモリ(MEM)2に書き込むデー
タである。
【0024】Dreadは、ロードストアユニット(L
SU)8が発行したロード処理において、参照結果とし
て後述のデータメモリマネージメントユニット(DMM
U)13から帰ってくるデータである。
【0025】入力ポートINPはロードストアユニット
(LSU)8のデータ入力ポートであり、ロード処理の
際にレジスタにセットされる値は、マルチプレクサ(M
UX)12経由でここから獲得される。
【0026】データ出力ポートOUTPはロードストア
ユニット(LSU)8のデータ出力ポートであり、スト
ア処理の際に外部メモリ(MEM)2にセットされる値
は、ここから出力される。 返答信号入力ACKinは
ロードストアユニット(LSU)8が受け取る返答信号
入力であり、ロード処理の場合とストア処理の場合とで
意味が若干異なる。
【0027】アクセス種別信号RWがメモリ参照を示し
ている場合は、返答信号入力ACKinが1になったと
きに入力ポートINPに現れている値の一部もしくは全
部をメモリ参照結果として採用する。
【0028】アクセス種別信号RWがメモリストアを示
している場合は、返答信号入力ACKinが1になった
ときに後述のデータメモリマネージメントユニット(D
MMU)13がデータDwriteを受け取ったことを
意味し、ロードストアユニット(LSU)8は次のロー
ドストア処理を開始できる。
【0029】ロードストアユニット(LSU)8は、デ
コードユニット(DU)5から与えられた処理項目に従
って、まず実効アドレスEADDRを計算し、出力す
る。
【0030】次にロードとストアとを区別するアクセス
種別信号RWを参照し、もしもアクセス種別信号RWが
0であるなら、ストアすべきデータDwriteをロー
ドストアユニット(LSU)8のデータ出力ポートOU
TPに出力し、アクセス要求信号REQを1にして、ロ
ードストアユニット(LSU)8の入力である返答信号
入力ACKinが戻ってくる(ACKinが1になる)
のを待つ。実効アドレスEADDRは、アクセス種別信
号RW、アクセス要求信号REQとともに、必要ならば
比較器(CMP)11経由でデータメモリマネージメン
トユニット(DMMU)13に送られる。
【0031】ロードストアユニット(LSU)8では、
処理がロードの場合、返答信号入力ACKinが1にな
ったところで、ロードストアユニット(LSU)8のデ
ータ入力ポートINPから獲得した値の全部もしくは一
部を参照結果として、指定されたレジスタに格納して処
理を終了する。ストアの場合、返答信号入力ACKin
が1になったところで、ストア処理に関するロードスト
アユニット(LSU)8の処理を終了する。
【0032】特殊アドレスレジスタ(SADDR)9
は、特殊アドレス情報を格納しておくレジスタである。
特殊アドレスレジスタ(SADDR)9に格納されてい
る値は、固定値であっても変更できる値であってもよ
い。
【0033】アドレスマスクレジスタ(MASK)10
は、特殊アドレスレジスタ(SADDR)9に格納され
たアドレス情報を実効アドレス情報と比較する際に使用
されるマスクパターンを格納するレジスタである。この
マスクパターンは、実効アドレスEADDRと特殊アド
レスレジスタ(SADDR)9のどの部分とを比較する
かを決めるものであって、特殊アドレスレジスタ(SA
DDR)9と同様、固定値であっても変更できる値であ
ってもよい。
【0034】比較器(CMP)11は、入力としてロー
ドストアユニット(LSU)8からアクセス要求信号R
EQ,アクセス種別信号RW,実効アドレスEADDR
の3つと、特殊アドレスレジスタ(SADDR)9,ア
ドレスマスクレジスタ(MASK)10からの各信号の
合計5つを入力信号として受け付け、出力信号として実
効アドレスEADDR2,アクセス要求信号REQ2,
アクセス種別信号RW2,比較結果信号SWの4つを出
力する比較器である。 比較器(CMP)11は、アク
セス要求信号REQが1であって、更にアクセス種別信
号RWが1であり、かつ実効アドレスEADDRとアド
レスマスクレジスタ(MASK)10のビット毎の出力
値との論理積の結果が、特殊アドレスレジスタ(SAD
DR)9の信号と等しい場合にのみ、比較結果信号SW
を1にして出力する一方、アクセス要求信号REQ2,
アクセス種別信号RW2,実効アドレスEADDR2と
しては何も出力しない。
【0035】それ以外の場合、比較器(CMP)11
は、比較結果信号SWを0にして出力し、アクセス要求
信号REQ2,アクセス種別信号RW2,実効アドレス
EADDR2の値としてはそれぞれ、入力したアクセス
要求信号REQ,アクセス種別信号RW,実効アドレス
EADDRと同じ値を出力する。
【0036】マルチプレクサ(MUX)12は切り替え
器であり、比較結果信号SWが1の場合には値レジスタ
(SVAL)7bの出力をロードストアユニット(LS
U)8のデータ入力ポートINPに送り、0の場合はデ
ータメモリマネージメントユニット(DMMU)13か
らの出力データDreadをロードストアユニット(L
SU)8のデータ入力ポートINPに送る機能を持つ。
【0037】データメモリマネージメントユニット(D
MMU)13は、データに関するメモリマネジメントを
行う機能を持つ。
【0038】データメモリマネージメントユニット(D
MMU)13は、比較器(CMP)11の出力であるア
クセス要求信号REQ2とアクセス種別信号RW2との
両方が1ならば、実効アドレスEADDR2が指し示す
外部メモリ(MEM)2上のアドレスの値を、データキ
ャッシュ(DCACHE)14もしくは外部メモリ(M
EM)2から獲得するとともに、返答信号ACKを所定
時間の間1にセットし、その後で返答信号ACKを0に
戻す。
【0039】アクセス要求信号REQ2が1で、アクセ
ス種別信号RW2が0の場合は、実効アドレスEADD
R2とデータDwriteとを受け取り、データDwr
iteをメモリ外部メモリ(MEM)2もしくはデータ
キャッシュ(DCACHE)14の所定の位置に格納し
た後、返答信号ACKを一定時間の間1にセットし、そ
の後、返答信号ACKを0に戻す。返答信号ACKと比
較結果信号SWとは論理和を取られ、得られた返答信号
入力ACKinがロードストアユニット(LSU)8に
入力される。データメモリマネージメントユニット(D
MMU)13,データキャッシュ(DCACHE)14
はともに従来のプロセッサで実現されているので、ここ
ではこれ以上説明しない。
【0040】外部メモリ(MEM)2は、プロセッサが
実行するインストラクションと、インストラクションで
記述された処理が使用する各種データとを格納してい
る。外部メモリ(MEM)2は既に広く使用されている
ものであるので、これ以上説明しない。
【0041】以下、固定バイト値によるメモリ領域の塗
りつぶし機能とメモリ領域の複写とが、本発明によって
同一の実装で処理可能になることを説明する。
【0042】図2は、メモリ複写処理の手順を示すフロ
ーチャートである。
【0043】本処理の起動時には、レジスタファイル
(REGS)7上のレジスタR1に、転送元のメモリア
ドレスが格納され、レジスタR2に、転送先のメモリア
ドレスが格納され、レジスタR3に、転送するデータの
バイト数が格納されている。
【0044】ステップS1において、レジスタR3の内
容が0かどうかチエックされ、0ならば処理を終了す
る。0でなければステップS2に進む。
【0045】ステップS2において、レジスタR1の内
容を実効アドレスとして外部メモリ(MEM)2の対応
領域を認識し、当該領域に格納されたデータをレジスタ
R4に書き写す。メモリ参照方法の詳細は後述する。
【0046】ステップS3において、レジスタR2の内
容を実効アドレスとして外部メモリ(MEM)2の対応
領域を認識し、当該領域にレジスタR4の格納内容を書
き出す。
【0047】ステップS4において、レジスタR1、R
2の各格納内容(アドレス)に1を加算し、レジスタR
3の内容から1減じた後、ステップS1に戻る。
【0048】図3は、特殊アドレスレジスタ(SADD
R)9、アドレスマスクレジスタ(MASK)10、値
レジスタ(SVAL)7bにそれぞれ格納されている値
の一例を示す図である。本実施の形態では、特殊アドレ
スレジスタ(SADDR)9、アドレスマスクレジスタ
(MASK)10にそれぞれ格納されている値は32ビ
ット長であり、値レジスタ(SVAL)7bに格納され
ている値は8ビット長である。
【0049】図3に示す特殊アドレスレジスタ(SAD
DR)9、アドレスマスクレジスタ(MASK)10の
設定では、比較器(CMP)11によって、アドレスマ
スクレジスタ(MASK)10から32ビットの実効ア
ドレスの上位4ビットのみが抜き出され、その値と特殊
アドレスレジスタ(SADDR)9上の0x40000
000とが比較される。即ち、0x40000000か
ら0x4fffffffまでの間の値を実効アドレスと
してメモリ参照が行われ、その結果は、常に値レジスタ
(SVAL)7b上の値(図3の状態では0xff)と
なる。
【0050】以下、メモリ領域の複写処理とメモリ領域
の塗りつぶし処理とが、同一の実装で処理可能になるこ
とを、具体的に説明する。先ずメモリ複写処理を説明す
る。
【0051】図4(A)は外部メモリ(MEM)2の格
納状態を示し、図4(B)はレジスタR1,R2,R
3,R4の格納内容を示す図である。図4(A)によれ
ば、実効アドレス0x08000000から0x080
000ffの間は、0xffから0x00の値が順に格
納されている。また、実効アドレス0x0900000
0以降はすべて0xcdで初期化されている。なお、本
実施の形態においては、データメモリマネージメントユ
ニット(DMMU)13が、メモリヘの書き込みに関し
てはライトスルー(write‐through)とし
ているため、外部メモリ(MEM)2への書き出し操作
は、即座に外部メモリ(MEM)2に反映される。
【0052】以上を踏まえて、図2で示した処理に従っ
て、まずは0x08000000から256バイト分の
データを、0x09000000から256バイトのメ
モリ領域に複写を行うことを考える。
【0053】この場合、図4(B)に示すとおり、レジ
スタR1には0x08000000が、レジスタR2に
は0x09000000が、レジスタR3には256が
格納された上で、図2の処理が実行される。
【0054】まずステップS1において、レジスタR3
の値が0かチエックされる。この場合は256なのでス
テップS2に進む。
【0055】次にステップS2において、レジスタR1
に格納された実効アドレス0x08000000に対応
する外部メモリ(MEM)2上の領域のメモリ参照が行
われる。以下、ロードストアユニット(LSU)8にて
実行される実効アドレス0x08000000のメモリ
参照の詳しい手順を、図1を参照して説明する。
【0056】まず、ロードストアユニット(LSU)8
はレジスタR1の内容0x08000000を、メモリ
参照のための実効アドレスEADDRとして比較器(C
MP)11に与える。同時にアクセス要求信号REQと
アクセス種別信号RWをそれぞれ1にセットする。
【0057】比較器(CMP)11は、アクセス要求信
号REQとアクセス種別信号RWがともに1なので、実
効アドレスEADDRとして与えられた0x08000
000とアドレスマスクレジスタ(MASK)10に格
納された0xf0000000との論理積を計算する。
この場合、計算結果は0になり、特殊アドレスレジスタ
(SADDR)9の値とは異なるため、アクセス要求信
号REQ,アクセス種別信号RWの値に拘わらず比較結
果信号SWは0のままとなり、マルチプレクサ(MU
X)12は入力ポートINPに対してデータDread
を入力させたままとなる。
【0058】一方、ロードストアユニット(LSU)8
からのアクセス要求信号REQ,アクセス種別信号R
W,実効アドレスEADDRが、比較器(CMP)11
を介してそのままデータメモリマネージメントユニット
(DMMU)13に渡され、データメモリマネージメン
トユニット(DMMU)13は、外部メモリ(MEM)
2上のアドレス0x08000000に格納されている
値を、データキャッシュ(DCACHE)14もしくは
外部メモリ(MEM)2上から探し出す。
【0059】探し出した値0xffはデータメモリマネ
ージメントユニット(DMMU)13からデータDre
adとして出力され、マルチプレクサ(MUX)12経
由でロードストアユニット(LSU)8の入力ポートI
NPに届く。その時にデータメモリマネージメントユニ
ット(DMMU)13が返答信号ACKを1にすれば、
返答信号入力ACKinは論理和であるから、比較結果
信号SWが0であってもロードストアユニット(LS
U)8へ送られる返答信号入力ACKinは1になり、
ロードストアユニット(LSU)8は入力ポートINP
に届いている値0xffを実効アドレス0x08000
000のメモリ参照の結果として採用することになる。
【0060】以上より、レジスタR4に0x00が格納
されて、ステップS2におけるメモリ参照を終了する。
【0061】上記のごとくメモリ参照が終了すると、次
にステップS3において、レジスタR2が指し示す外部
メモリ(MEM)2上の実効アドレス0x090000
00の対応領域にレジスタR4の値が書き出される。以
下、ロードストアユニット(LSU)8にて実行される
実効アドレス0x09000000のメモリ更新の詳し
い手順を、図1を参照して説明する。
【0062】まず、ロードストアユニット(LSU)8
は、レジスタR2の内容0x09000000をメモリ
更新のための実効アドレスEADDRとして比較器(C
MP)11に与える。同時にアクセス要求信号REQを
1に、アクセス種別信号RWを0にセットする。また、
データ出力ポートOUTPにレジスタR4の内容である
0xffを出力し、これがデータDwriteとしてデ
ータメモリマネージメントユニット(DMMU)13に
届く。
【0063】比較器(CMP)11では、アクセス要求
信号REQが1であるがアクセス種別信号RWが0であ
るので、実効アドレスEADDRのチェックを行うまで
もなく、比較結果信号SWを0に決定し、アクセス要求
信号REQ,アクセス種別信号RW,実効アドレスEA
DDRはデータメモリマネージメントユニット(DMM
U)13にそのまま渡される。
【0064】データメモリマネージメントユニット(D
MMU)13はアクセス要求信号REQと実効アドレス
EADDRを受け取り、更にアクセス種別信号RWが0
であることより、データDwriteとして届いている
値による外部メモリ(MEM)2上の実効アドレス位置
のメモリ更新であると判断する。そして、データDwr
iteとして届いている0xffを受け取って、外部メ
モリ(MEM)2上の実効アドレス0x0900000
0の領域に格納された値を0xffに更新する。
【0065】続いてデータメモリマネージメントユニッ
ト(DMMU)13は返答信号ACKに1を出力し、こ
れと、比較器(CMP)11の出力である比較結果信号
SWの値0との論理和が取られ、その結果ロードストア
ユニット(LSU)8の返答信号入力ACKinに1が
届き、ロードストアユニット(LSU)8は外部メモリ
(MEM)2上の実効アドレス0x09000000の
更新が完了したことを知り、図2のステップS3が終了
する。
【0066】次にステップS4において、レジスタR
1,R2それぞれに対して1が加算され、レジスタR3
から1が減算されて図5の状態になり、ステップS1に
戻る。
【0067】上記処理が、ステップS1においてレジス
タR3の内容が0になるまで続けられ、その結果、図6
の状態になり、0x08000000から256バイト
分のデータの0x09000000以降への複写が完了
する。
【0068】次に、メモリ塗りつぶし処理を説明する。
【0069】先ほど外部メモリ(MEM)2上の内容を
複写した先の0x09000000から256バイト分
を、値レジスタ(SVAL)7b上の固定バイト値0x
ffで塗りつぶす処理を、図2のフローチャートに従っ
てメモリ複写の場合とまったく同じプログラム処理で実
行する。なお、0xffとは異なる値でメモリ領域を塗
りつぶしたい場合は、本処理を実行する前に値レジスタ
(SVAL)7bの値を更新しておけばよい。
【0070】図7は、図4と同様に、外部メモリ(ME
M)2の格納状態と、レジスタR1,R2,R3,R4
の格納内容を表している。図4とは、レジスタR1に格
納されている複写元の実効アドレスが異なっている。
【0071】まずステップS1において、レジスタR3
の値がチエックされる。この場合256なのでステップ
S2に進む。ステップS2において、レジスタR1が指
し示す実効アドレス0x40000000のメモリ参照
が行われる。以下、ロードストアユニット(LSU)8
にて実行される、実効アドレス0x40000000の
メモリ参照の詳しい手順を、図1を参照して説明する。
【0072】まず、ロードストアユニット(LSU)8
はレジスタR1の内容をメモリ参照のための実効アドレ
スEADDRとして比較器(CMP)11に与える。同
時にアクセス要求信号REQとアクセス種別信号RWを
それぞれ1にセットする。
【0073】比較器(CMP)11は、実効アドレスE
ADDRとして与えられた0x400000000とア
ドレスマスクレジスタ(MASK)10に格納された0
xf0000000との論理積を計算する。この場合、
計算結果は0x40000000となり、これは特殊ア
ドレスレジスタ(SADDR)9の内容と等しい。更に
アクセス要求信号REQ、アクセス種別信号RWがとも
に1であるから、比較結果信号SWは1になり、マルチ
プレクサ(MUX)12は入力ポートINPに対して値
レジスタ(SVAL)7bを接続し、ロードストアユニ
ット(LSU)8の入力ポートINPには値レジスタ
(SVAL)7bに格納された値0xffが届く。
【0074】一方、比較器(CMP)11の比較結果信
号SWと、データメモリマネージメントユニット(DM
MU)13からの返答信号ACKとは論理和が取られ、
その結果、返答信号入力ACKinが1になり、ロード
ストアユニット(LSU)8は、その時に入力ポートI
NPに届いている値レジスタ(SVAL)7bの値0x
ffを、アドレス0x40000000へのメモリ参照
の結果として採用することになる。
【0075】上記のごとくメモリ参照が終了すれぱ、次
にステップS3において、レジスタR2が指し示す外部
メモリ(MEM)2上の実効アドレス0x090000
00にレジスタR4の値0xffが書き出される。メモ
リヘの値書き出しの説明は、既に述べたものと同じであ
るのでここでは省略する。
【0076】次にステップS4において、レジスタR
1,R2それぞれに対して1が加算され、レジスタR3
から1が減算されて図8の状態になり、ステップS1に
戻る。
【0077】以下、上記処理が、ステップS1において
レジスタR3の内容が0になるまで続けられ、その結
果、図9の状態になり、0x09000000から25
6バイト分の領域はすべて値レジスタ(SVAL)7b
の値0xffで埋め尽くされることになる。
【0078】以上のように、本発明によって、メモリ複
写処理とまったく同じ手順でメモリ塗りつぶし処理が可
能になる。即ち、メモリ複写機能とメモリ塗りつぶし機
能は、単一の機能に統合できたことになる。
【0079】なお、本実施の形態においてはメモリ複写
機能とメモリ塗りつぶし機能の統合を例として説明した
が、行列の各要素に対する同一数値の加減算処理に関し
ても、参照する2つのメモリ空間のうちのどちらかを、
上記例で言えば実効アドレス0x40000000と
し、かつ値レジスタ(SVAL)7bに、加減したい数
値をセットすることで、行列と行列との加減算処理に統
合できることは明らかである。
【0080】また、本実施の形態における比較器(CM
P)11は、実効アドレスから比較するビットのみを抜
き出すアドレスマスクレジスタ(MASK)10と、比
較対象となる特殊アドレスレジスタ(SADDR)9と
を用いて値レジスタ(SVAL)7bの値が出現するア
ドレス空間を指定したが、これをアドレス空間の始点と
終点のアドレスを指定するようにしても同様の効果があ
る。
【0081】また、本実施の形態において値レジスタ
(SVAL)7bを8ビット幅としたが、これは16ビ
ット幅でも32ビット幅でもそれ以外でも、同様の効果
がある。
【0082】なお、本発明を、複数の機器から構成され
るシステムに適用しても、あるいは1つの機器からなる
装置に適用してもよい。
【0083】また、前述した実施形態の機能を実現する
ソフトウェアのプログラムコードを記憶した記憶媒体
を、システムあるいは装置に供給し、そのシステムある
いは装置のコンピュータ(またはCPUやMPU)が記
憶媒体に格納されたプログラムコードを読み出して実行
することによっても、本発明が達成されることは言うま
でもない。
【0084】この場合、記憶媒体から読み出されたプロ
グラムコード自体が、前述の実施形態の機能を実現する
ことになり、そのプログラムコードを記憶した記憶媒体
が本発明を構成することになる。
【0085】プログラムコードを供給するための記憶媒
体として、例えば、フロッピィディスク、ハードディス
ク、光ディスク、光磁気ディスク、CD−ROM、CD
−R、磁気テープ、不揮発性のメモリカード、ROMな
どを用いることができる。
【0086】また、コンピュータが読み出したプログラ
ムコードを実行することにより、前述した実施形態の機
能が実現されるだけでなく、そのプログラムコードの指
示に基づき、コンピュータ上で稼働しているOSなどが
実際の処理の一部または全部を行い、その処理によって
前述した実施形態の機能が実現される場合も、本発明に
含まれることは言うまでもない。
【0087】さらに、記憶媒体から読み出されたプログ
ラムコードが、コンピュータに挿入された機能拡張ボー
ドやコンピュータに接続された機能拡張ユニットに備わ
るメモリに書き込まれた後、そのプログラムコードの指
示に基づき、その機能拡張ボードや機能拡張ユニットに
備わるCPUなどが実際の処理の一部または全部を行
い、その処理によって前述した実施形態の機能が実現さ
れる場合も、本発明に含まれることは言うまでもない。
【0088】
【発明の効果】以上詳述したように本発明によれば、転
送元メモリアドレスを特定メモリアドレスと比較し、そ
の比較の結果、転送元メモリアドレスが特定メモリアド
レスと一致しているならば、転送元メモリアドレスが示
すメモリ領域に格納されていた情報の代わりに、所定情
報記憶手段に記憶されている所定情報を読み出す。もし
比較の結果、転送元メモリアドレスが特定メモリアドレ
スと一致していなければ、転送元メモリアドレスが示す
メモリ領域に格納されている情報を読み出す。
【0089】これによって、従来、機能的に酷似した機
能ではあるが、入力が単一の値であるか一連の複数の値
であるかによって別々に実装せざるを得なかった機能の
実装を一つに統合可能となり、実装メモリ領域の節約が
可能になる。
【図面の簡単な説明】
【図1】本実施の形態に係るメモリ制御装置を含んだマ
イクロプロセッサの構成を示すブロック図である。
【図2】メモリ複写処理の手順を示すフローチャートで
ある。
【図3】特殊アドレスレジスタ(SADDR)、アドレ
スマスクレジスタ(MASK)、値レジスタ(SVA
L)にそれぞれ格納されている値の一例を示す図であ
る。
【図4】(A)は外部メモリ(MEM)の格納状態を示
し、(B)はレジスタR1,R2,R3,R4の格納内
容を示す第1の図である。
【図5】(A)は外部メモリ(MEM)の格納状態を示
し、(B)はレジスタR1,R2,R3,R4の格納内
容を示す第2の図である。
【図6】(A)は外部メモリ(MEM)の格納状態を示
し、(B)はレジスタR1,R2,R3,R4の格納内
容を示す第3の図である。
【図7】(A)は外部メモリ(MEM)の格納状態を示
し、(B)はレジスタR1,R2,R3,R4の格納内
容を示す第4の図である。
【図8】(A)は外部メモリ(MEM)の格納状態を示
し、(B)はレジスタR1,R2,R3,R4の格納内
容を示す第5の図である。
【図9】(A)は外部メモリ(MEM)の格納状態を示
し、(B)はレジスタR1,R2,R3,R4の格納内
容を示す第6の図である。
【符号の説明】
1 フェッチユニット(FU) 2 外部メモリ(MEM) 3 インストラクション用メモリマネジメントユニット
(IMMU) 4 インストラクション用キャッシュメモリ(ICAC
HE) 5 デコードユニット(DU) 6 処理ユニット(PU) 7 レジスタファイル(REGS) 7a 複数のレジスタ 7b 値レジスタ(SVAL) 8 ロードストアユニット(LSU) 9 特殊アドレスレジスタ(SADDR) 10 アドレスマスクレジスタ(MASK) 11 比較器(CMP) 12 マルチプレクサ(MUX) 13 データメモリマネージメントユニット(DMM
U)

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】 メモリの複数の領域に、互いに異なる情
    報をそれぞれ記憶させると共に、当該記憶処理と同一処
    理によって、単一の情報を記憶させるメモリ制御装置に
    おいて、 少なくとも転送元のメモリアドレスを格納するアドレス
    格納手段と、 所定情報を記憶する所定情報記憶手段と、 特定のメモリアドレスを記憶する特定メモリアドレス記
    憶手段と、 前記アドレス格納手段に格納された転送元メモリアドレ
    スを前記特定メモリアドレス記憶手段に記憶された特定
    メモリアドレスと比較する比較手段と、 前記比較手段による比較の結果、前記転送元メモリアド
    レスが前記特定メモリアドレスと一致しているならば、
    前記アドレス格納手段に格納された転送元メモリアドレ
    スが示すメモリ領域に格納されていた情報の代わりに、
    前記所定情報記憶手段に記憶されている所定情報を読み
    出す読出手段とを有することを特徴とするメモリ制御装
    置。
  2. 【請求項2】 前記比較手段による比較の結果、前記転
    送元メモリアドレスが前記特定メモリアドレスと一致し
    ていなければ、前記アドレス格納手段に格納された転送
    元メモリアドレスが示すメモリ領域に格納されている情
    報を読み出す通常読出手段をさらに有することを特徴と
    する請求項1記載のメモリ制御装置。
  3. 【請求項3】 前記比較手段は、前記アドレス格納手段
    に格納された転送元メモリアドレスと前記特定メモリア
    ドレス記憶手段に記憶された特定メモリアドレスとの比
    較を、上位ビットにおいて行うことを特徴とする請求項
    1または請求項2記載のメモリ制御装置。
  4. 【請求項4】 前記所定情報記憶手段が記憶する所定情
    報は、メモリ内の複数の領域に記憶されるべき同一の情
    報であることを特徴とする請求項1乃至請求項3のいず
    れかに記載のメモリ制御装置。
  5. 【請求項5】 前記読出手段によって読み出された情報
    を前記メモリに書き込む書込手段をさらに有することを
    特徴とする請求項1乃至請求項4のいずれかに記載のメ
    モリ制御装置。
  6. 【請求項6】 少なくとも転送元のメモリアドレスを格
    納するアドレス格納手段と、所定情報を記憶する所定情
    報記憶手段と、特定のメモリアドレスを記憶する特定メ
    モリアドレス記憶手段とを備え、メモリの複数の領域
    に、互いに異なる情報をそれぞれ記憶させると共に、当
    該記憶処理と同一処理によって、単一の情報を記憶させ
    るメモリ制御装置に適用されるメモリ制御方法におい
    て、 前記アドレス格納手段に格納された転送元メモリアドレ
    スを前記特定メモリアドレス記憶手段に記憶された特定
    メモリアドレスと比較する比較ステップと、 前記比較ステップによる比較の結果、前記転送元メモリ
    アドレスが前記特定メモリアドレスと一致しているなら
    ば、前記アドレス格納手段に格納された転送元メモリア
    ドレスが示すメモリ領域に格納されていた情報の代わり
    に、前記所定情報記憶手段に記憶されている所定情報を
    読み出す読出ステップとを有することを特徴とするメモ
    リ制御方法。
  7. 【請求項7】 前記比較ステップによる比較の結果、前
    記転送元メモリアドレスが前記特定メモリアドレスと一
    致していなければ、前記アドレス格納手段に格納された
    転送元メモリアドレスが示すメモリ領域に格納されてい
    る情報を読み出す通常読出ステップをさらに有すること
    を特徴とする請求項1記載のメモリ制御方法。
  8. 【請求項8】 前記比較ステップは、前記アドレス格納
    手段に格納された転送元メモリアドレスと前記特定メモ
    リアドレス記憶手段に記憶された特定メモリアドレスと
    の比較を、上位ビットにおいて行うことを特徴とする請
    求項1または請求項2記載のメモリ制御方法。
  9. 【請求項9】 前記所定情報記憶手段が記憶する所定情
    報は、メモリ内の複数の領域に記憶されるべき同一の情
    報であることを特徴とする請求項1乃至請求項3のいず
    れかに記載のメモリ制御方法。
  10. 【請求項10】 前記読出ステップにおいて読み出され
    た情報を前記メモリに書き込む書込ステップをさらに有
    することを特徴とする請求項1乃至請求項4のいずれか
    に記載のメモリ制御方法。
  11. 【請求項11】 少なくとも転送元のメモリアドレスを
    格納するアドレス格納手段と、所定情報を記憶する所定
    情報記憶手段と、特定のメモリアドレスを記憶する特定
    メモリアドレス記憶手段とを備え、メモリの複数の領域
    に、互いに異なる情報をそれぞれ記憶させると共に、当
    該記憶処理と同一処理によって、単一の情報を記憶させ
    るメモリ制御装置に適用されるメモリ制御方法をプログ
    ラムとして記憶した、コンピュータにより読み出し可能
    な記憶媒体において、 前記メモリ制御方法が、 前記アドレス格納手段に格納された転送元メモリアドレ
    スを前記特定メモリアドレス記憶手段に記憶された特定
    メモリアドレスと比較する比較ステップと、 前記比較ステップによる比較の結果、前記転送元メモリ
    アドレスが前記特定メモリアドレスと一致しているなら
    ば、前記アドレス格納手段に格納された転送元メモリア
    ドレスが示すメモリ領域に格納されていた情報の代わり
    に、前記所定情報記憶手段に記憶されている所定情報を
    読み出す読出ステップとを有することを特徴とする記憶
    媒体。
  12. 【請求項12】 前記メモリ制御方法がさらに、 前記比較ステップによる比較の結果、前記転送元メモリ
    アドレスが前記特定メモリアドレスと一致していなけれ
    ば、前記アドレス格納手段に格納された転送元メモリア
    ドレスが示すメモリ領域に格納されている情報を読み出
    す通常読出ステップを有することを特徴とする請求項1
    1記載の記憶媒体。
JP11041529A 1999-02-19 1999-02-19 メモリ制御装置、メモリ制御方法、及び記憶媒体 Pending JP2000242547A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11041529A JP2000242547A (ja) 1999-02-19 1999-02-19 メモリ制御装置、メモリ制御方法、及び記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11041529A JP2000242547A (ja) 1999-02-19 1999-02-19 メモリ制御装置、メモリ制御方法、及び記憶媒体

Publications (1)

Publication Number Publication Date
JP2000242547A true JP2000242547A (ja) 2000-09-08

Family

ID=12610945

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11041529A Pending JP2000242547A (ja) 1999-02-19 1999-02-19 メモリ制御装置、メモリ制御方法、及び記憶媒体

Country Status (1)

Country Link
JP (1) JP2000242547A (ja)

Similar Documents

Publication Publication Date Title
KR100204741B1 (ko) 제1및 제2캐시 메모리 사용방법
US5696989A (en) Microcomputer equipped with DMA controller allowed to continue to perform data transfer operations even after completion of a current data transfer operation
JP3110404B2 (ja) マイクロプロセッサ装置及びそのソフトウェア命令高速化方法並びにその制御プログラムを記録した記録媒体
US6401197B1 (en) Microprocessor and multiprocessor system
US5003458A (en) Suspended instruction restart processing system based on a checkpoint microprogram address
US12175250B2 (en) Computing device and method for fusing and executing vector instructions
JP4434534B2 (ja) プロセッサ・システム
JP2695017B2 (ja) データ転送方式
US6189093B1 (en) System for initiating exception routine in response to memory access exception by storing exception information and exception bit within architectured register
US5146569A (en) System for storing restart address of microprogram, determining the validity, and using valid restart address to resume execution upon removal of suspension
US6199156B1 (en) System for explicitly referencing a register for its current content when performing processor context switch
US6718405B2 (en) Hardware chain pull
JP2000242547A (ja) メモリ制御装置、メモリ制御方法、及び記憶媒体
JP2004030224A (ja) プロセッサ、レジスタ退避方法およびレジスタ指定方法
JPH0552534B2 (ja)
JP2004206369A (ja) 共通資源へのアクセス方式及びアクセスプログラム
JP2814683B2 (ja) 命令処理装置
CN110245096B (zh) 一种实现处理器直接连接扩展计算模块的方法
JPH06103477B2 (ja) 並列キャッシュメモリ
JP2815850B2 (ja) データ処理ユニット
JP2000194554A (ja) 演算処理装置
JPS6410858B2 (ja)
JP2574918B2 (ja) 割り込み復帰処理方式
JP3219422B2 (ja) キャッシュメモリ制御方式
JPH058459B2 (ja)