JP5019022B2 - データロード方法及びデータ処理装置 - Google Patents

データロード方法及びデータ処理装置 Download PDF

Info

Publication number
JP5019022B2
JP5019022B2 JP2006076363A JP2006076363A JP5019022B2 JP 5019022 B2 JP5019022 B2 JP 5019022B2 JP 2006076363 A JP2006076363 A JP 2006076363A JP 2006076363 A JP2006076363 A JP 2006076363A JP 5019022 B2 JP5019022 B2 JP 5019022B2
Authority
JP
Japan
Prior art keywords
instruction
data
load
unit
cache
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
JP2006076363A
Other languages
English (en)
Other versions
JP2007249914A (ja
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2006076363A priority Critical patent/JP5019022B2/ja
Publication of JP2007249914A publication Critical patent/JP2007249914A/ja
Application granted granted Critical
Publication of JP5019022B2 publication Critical patent/JP5019022B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、1つの命令により連続した複数個のデータをメモリからロードするデータロード方法及びデータ処理装置に関する。
従来、m個の連続したデータをメインメモリもしくはデータキャッシュからロードしてきて、スカラレジスタに保存する場合、m個の連続したデータに対応するm個のロード命令(ロードシングル命令)を命令キャッシュに一度に登録すると、命令キャッシュを有効に活用出来なくなってしまうため、m個の連続したデータをロードするための1種類のロード命令(ロードマルチ命令)を用意することによって命令キャッシュの有効活用を行っている。
そして、上記m個の連続したデータをロードするために用意された1種類のロード命令(ロードマルチ命令)を実行する際に、この1種類のロードマルチ命令をm個のロードシングル命令に分解して実行し、1回目のロードシングル命令で一次キャッシュにフィル(格納)したデータを全てスカラレジスタに移動し終わってから、続きのロードシングル命令によってデータを再度メインメモリもしくはデータキャッシュから一次キャッシュにフィル(キャッシュフィル)する方法や、また、ロードするデータの総量はあらかじめ判っていることから、ロードシングル命令の実行前にプリフェッチ命令(プリロード命令)によってデータを一次キャッシュにフィルする方法が主流になっている。
図7は、従来のロードマルチ命令の分解イメージである。
従来の通常の分解においては、ロードマルチ命令500が分解されると、スカラレジスタ格納エリア(Sx)のSx+Lの値(Lは0以上の整数)が小さい順にロードシングル命令が実行される。
また、従来のプリフェッチ付きの分解においては、ロードマルチ命令500(後述)が分解されると、スカラレジスタ格納エリア(Sx)がSx+N×Bの値(Nは0以上の整数/Bは1回のロードシングル命令で持ってこれるデータ量)で示される境界点のプリフェッチ命令が最初に実行され、次いで、スカラレジスタ格納エリア(Sx)のSx+Kの値(Kは0以上の整数)が小さい順にロードシングル命令が実行される。
ここで、LDMはロードマルチ命令のオペコード、Syはロードシングル命令個数、Szはメモリ位置、D0〜D3はメモリ位置に対するディスプレースメント値、LDSはロードシングル命令のオペコード、PRFはプリフェッチ命令のオペコードである。
このような従来技術の1例が、特許文献1(特開平04−260930号公報)に示されている。
ここで、従来技術である、データを一次キャッシュにフィル(キャッシュフィル)する方法における動作を、図1を用いて以下説明する。命令が命令キャッシュ 100でヒットした場合は、信号110によって命令デコード部101に対して当該命令の送出を行う。命令デコード部101は、各種命令のオペコードを見て当該命令のデコード情報を当該命令に付加して、信号111によってデータ確認部102に当該命令とデコード情報を送る。データ確認部102は、データキャッシュ103内のデータが必要である場合、信号112によってデータキャッシュ103にその旨通知する。データキャッシュ103は、信号112によって通知されたデータがヒットした場合、信号115によって当該データを一次キャッシュ有する演算器105に送る。また、データ確認部102は、スカラレジスタ104内のデータが必要である場合、信号114によってスカラレジスタ104にその旨通知する。スカラレジスタ104は、信号114によって要求されたデータを信号117によって演算器105に送る。演算器105は、データキャッシュ103とスカラレジスタ104のデータと、信号113によって通知されるデータ確認部102からの命令によって演算を実施する。演算器105の結果は、信号118によってスカラレジスタ104に格納される。
なお、上述の従来の方法における動作は、使用するデータが全てデータキャッシュ103内にあった場合の動作である。
特開平04−260930号公報
しかし、従来の技術、例えば、前述したデータを一次キャッシュにフィル(キャッシュフィル)する方法を一例とする技術は、一次キャッシュ内のデータがなくなると再度メインメモリもしくはデータキャッシュにアクセスして一次キャッシュ内にデータを持ってくることや、ロード命令の実行前にプリフェッチ命令を実行して一次キャッシュ内にデータを持ってくることのために、時間的損失が発生するという課題があった。
また、従来の技術は、図1を参照して説明すると、データ確認部102から信号112によって要求されたデータがデータキャッシュ103にない場合(ミスした場合)において、信号116及び命令とデータを識別するタグ管理部106を介して信号119によってメインメモリ107に使用したいデータを要求する。メインメモリ107内のデータは、信号120及びタグ管理106を介し信号121によってデータキャッシュ103に書き込まれ、さらに、信号115によって演算器105に通知され、演算器105によって演算が行われる。しかし、従来の技術は、演算器105によって演算を行う際に、データキャッシュ103内に使用したいデータがない場合、メインメモリ107へアクセスする必要があるが、メインメモリ107へアクセスする必要が何度も生じると、当該アクセスに要する時間において命令の実行が何度も停止するという課題があった。
また、従来の技術は、命令デコード部101で命令をデコードしてm個のデータを使用することが判明した際に、プリフェッチ命令を生成し、使用する可能性のあるデータをメインメモリ107からデータキャッシュ103にあらかじめ持ってきた後に継続して命令を処理する場合には、データキャッシュ103がヒットするので、前述の動作に比べ命令の実行が停止することはないという利点があるが、本従来の技術の動作は、通常は発行しなくてもよいプリフェッチ命令を発行して処理していることにより命令の処理速度が低下してしまうという課題があった。
図8は、データキャッシュ103でミスした場合の従来のロードマルチ命令の実行イメージである。
従来の通常の分解は、ロードマルチ命令を分解したときに、最初のロードシングル命令から順次実行してくので、データのキャッシュフィルの境界毎にデータキャッシュ103でミスが発生し、命令の処理速度が低下するという課題があった。
また、従来のプリフェッチ命令付きの分解は、ロードマルチ命令を分解したときに、境界点のプリフェッチ命令を最初に実行し、次いで、最初のロードシングル命令から順次実行してくので、データのキャッシュフィルの境界毎にデータキャッシュ103でミスが発生することはないが、プリフェッチ命令を発行して処理しているため、必要最小限の時間で命令を処理することができないという課題があった。
(目的)
本発明の目的は、連続したデータを使用する命令を実行する際にメインメモリもしくはデータキャッシュに使用したいデータがない場合、データを要求することによって生じる命令の処理速度の低下を防止することである。
本発明の第1のデータロード方法、データ処理装置において1つの命令により連続した複数個のデータをメモリからロードするデータロード方法であって、命令を、複数個のデータの各データを個々にロードする複数の要素命令に分解し、所定数の要素命令をロード単位とし、単一のロード単位に属する各要素命令によって複数個の連続したデータをロードし、2つ以上のロード単位に対応するデータを連続的にデータキャッシュに格納し、要素命令のうち、データのキャッシュフィルを引き起こす2つの要素命令を他の要素命令に先立って連続して実行し、前記データのキャッシュフィルを引き起こす2つの要素命令要素それぞれによって引き起こされる2つのリフィル処理の少なくとも一部が同時に実行される
(作用)
2つ以上の前記ロード単位に対応する前記データを連続的にデータキャッシュに格納することによって、各前記要素命令に対応する各データが必ず存在することから、連続したロード命令を隙間なく実行できる。
本発明によれば、複数個の連続したデータを使用する命令に関して、データキャッシュにデータがなかった場合であっても、連続したロード命令を隙間なく実行でき、命令の処理速度の低下を防止することができる。
その理由は、データ処理装置において1つの命令により連続した複数個のデータをメモリからロードする当該命令を、複数個のデータの各データを個々にロードする複数の要素命令に分解し、所定数の要素命令をロード単位とし、2つ以上のロード単位に対応するデータを連続的にデータキャッシュに格納するため、2つ以上のロード単位に対応するデータを連続的にデータキャッシュに格納することによって、各要素命令に対応する各データが必ず存在することから、連続したロード命令を隙間なく実行できるからである。
また、プリフェッチ命令のような通常は発行しなくてもよい命令を追加することもないので、必要最小限の時間で命令を処理することができる。
次に本発明の実施の形態について図面を参照して詳細に説明する。
(本実施の形態の構成)
図1は、従来及び本発明に適用される情報処理装置の構成の概略を示す図である。
図1を参照すると、発明に適用される情報処理装置は、命令キャッシュ100と、命令デコード部101と、データ確認部102と、データキャッシュ103と、スカラレジスタ104と、演算器105と、タグ管理部106と、メインメモリ107と、信号110〜信号121とを有する。
発明に適用される情報処理装置の動作の概略は、使用するデータが全てデータキャッシュ103内にあった場合、命令が命令キャッシュ 100でヒットした場合は、信号110によって命令デコード部101に対して当該命令の送出を行う。命令デコード部101は、各種命令のオペコードを見て当該命令のデコード情報を当該命令に付加して、信号111によってデータ確認部102に当該命令とデコード情報を送る。データ確認部102は、データキャッシュ103内のデータが必要である場合、信号112によってデータキャッシュ103にその旨通知する。データキャッシュ103は、信号112によって通知されたデータがヒットした場合、信号115によって当該データを一次キャッシュ有する演算器105に送る。また、データ確認部102は、スカラレジスタ104内のデータが必要である場合、信号114によってスカラレジスタ104にその旨通知する。スカラレジスタ104は、信号114によって要求されたデータを信号117によって演算器105に送る。演算器105は、データキャッシュ103とスカラレジスタ104のデータと、信号113によって通知されるデータ確認部102からの命令によって演算を実施する。演算器105の結果は、信号118によってスカラレジスタ104に格納される。
なお、本情報処理装置の上記各構成要素のうち命令デコード部101以外の構成要素については、周知であるため説明を省略する。
図2は、図1の命令デコード部101内の詳細な構成を示すブロック図である。
図2を参照すると、命令デコード部101は、デコード部400と、命令分解部401と、セレクト信号生成部402と、命令セレクト部403と、信号410〜信号415とを有する。
デコード部400は、図1の命令キャッシュ100から信号110によって入力された命令を命令種別毎にデコードする機能を有する。
また、デコード部400は、当該命令をデコードした結果、当該命令が分解する必要がある命令である場合は、この分解する必要がある命令を信号410によって、命令を分解する機能を有する命令分解部401に送出する(ロードマルチ命令の分解例については後述する。)と共に、当該命令を分解することを信号412によってセレクト信号生成部402に通知する機能を有する。
セレクト信号生成部402は、当該命令を分解することを信号412によって通知されると、当該命令が分解中であることを信号413によって命令セレクト部403に通知する機能を有する。
命令セレクト部403は、当該命令が分解中であることを信号413によって通知された場合は、命令分解部401から信号414によって送出される命令521を選択し、選択した命令を信号111によってデータ確認部102に送出する機能を有する。
また、命令セレクト部403は、当該命令の分解が終了したことを信号413によって通知された場合は、デコード部400から信号411によって送出される命令421を選択し、選択した命令を信号111によってデータ確認部102に送出する機能を有する。
図3は、図2の命令分解部401内の詳細な構成を示すブロック図である。
図3を参照すると、命令分解部401は、要素命令生成部501と、最終命令生成部502と、境界命令削除部503と、境界命令生成部504と、命令チェック部505と、命令セレクト部506と、信号510〜信号520とを有する。
要素命令生成部501は、信号510によって通知されたロードマルチ命令500のスカラレジスタ格納エリア(Sx)の値に基づいて、連続した番号のロード命令を生成する機能を有する。
ここで、本実施の形態によるロードマルチ命令500は、連続した複数個のデータをメインメモリもしくはデータキャッシュから1つの命令によりロードするロード命令であり、ロードマルチ命令オペコード(LDM)、スカラレジスタ格納エリア(Sx)、ロード命令個数(Sy)、メモリ位置(Sz)、メモリ位置に対するディスプレースメント値(D0〜D3)を示す情報を格納し、デコード部400から信号410によって命令分解部401に送出されて、ロードシングル命令507に分解される。なお、ロードマルチ命令500が格納する上記各情報については、周知であるため説明を省略する。
なお、ロード命令の番号は、図5における(Sx+α)の欄のαの値によって示される。
最終命令生成部502は、デコード部400から信号410によって命令分解部401に送出された分解する必要がある命令(ロードマルチ命令500)について、当該命令を構成するロード命令のうち、最終のロード命令(最終命令)を生成する機能を有する。
より詳細には、最終命令生成部502は、信号511によって通知されたSx(スカラレジスタ格納エリア)の値と信号512によって通知されたSy(ロード命令出力個数)の値に基づいて、ロードマルチ命令のうちSx+Sy−1の値で示される最終のロード命令を生成する機能を有する。
境界命令削除部503は、要素命令生成部501から信号515によって受け取ったロード命令のうち、境界命令生成部504で生成されたロード命令と同じ番号のロード命令を削除する機能を有する。同一の倍数番号のロード命令を何度も実行しないようにするためである。
境界命令生成部504は、信号513によって通知されるSy(ロード命令出力個数)の値以下の境界点のロード命令(境界命令)を生成する機能を有する。
ここで、境界命令の命令番号は、本実施の形態による例では1回のキャッシュフィルで32個のデータを持ってこられることとするため、0と32の倍数とになる。
また、境界命令とは、ロード命令によってメインメモリ107からデータキャッシュ103に持ってくるデータの総容量を一次キャッシュに1回でフィルできる単位データ量に分割した場合に一次キャッシュに1回でフィルできる量の境界点(境界アドレス)のデータに対応するロード命令である。
なお、境界命令生成部504は、Sy(ロード命令出力個数)の値以上の命令番号を付されたロード命令を生成しない。すなわち、境界命令生成部504は、最終命令以降のロード命令を生成しないこととなる。Sy(ロード命令出力個数)の値以上のロード命令は不要な場合があり、不要なロード命令によって持ってきたデータが一次キャッシュ等に残り続ける場合があるからである。
命令チェック部505は、信号514によって通知されるSy(ロード命令出力個数)の値と信号516によって通知される要素命令生成部501で生成されたロード命令の番号とをチェックし、Sy(ロード命令出力個数)の値と要素命令生成部501で生成されたロード命令の番号とが一致した場合は、信号520によって命令セレクト部506に前記一致したことを示す通知をする機能を有する。
命令セレクト部506は、受け取ったロード命令を選択して所定のロード命令のみを信号414によってデータ(ロードシングル命令)507(図2の命令521)として命令セレクト部403に出力する機能を有する。
データ(ロードシングル命令)507は、ロードシングル命令オペコード(LDS)、スカラレジスタ格納エリア(Sx)、メモリ位置(Sz)、メモリ位置に対するディスプレースメント値(D0〜D3)を示す情報を格納する。なお、データ(ロードシングル命令)507が格納する上記各情報については、周知であるため説明を省略する。
(本実施の形態の動作)
図1〜図4を用いて、図1の本実施の形態による命令デコード部101内部で実施するロードマルチ命令の分解処理の1例を説明する。
図4は、本実施の形態による命令デコード部101内部で実施するロードマルチ命令の分解処理の1例を示すフローチャートである。
本発明の特徴は、最終のロード命令のキャッシュフィルを行っている間に倍数番号(本実施例の場合は、0と32の倍数とになる)のロード命令(境界点のロード命令)のキャッシュフィルを実行すると共に、まず最終のロード命令を実行し、次いで、倍数番号のロード命令を実行し、次いで、他の連続した番号のロード命令を実行する点にある。
(最終命令生成処理(ステップS701))
最終命令生成部502は、ロードマルチ命令500が命令デコード部101のデコード部400に入ってくると、信号511によって通知されたSx(スカラレジスタ格納エリア)の値と信号512によって通知されたSy(ロード命令出力個数)の値に基づいて、ロードマルチ命令のうちSx+Sy−1の値で示される最終のロード命令(最終命令)を生成し、生成した最終命令を信号517によって命令セレクト部506に送出する。
命令セレクト部506は、最終命令を受け取ると、受け取った最終命令を信号521によってデータ507として命令セレクト部403出力する。
(境界命令生成処理(ステップS702))
次いで、境界命令生成部504は、信号513によって通知されるSy(ロード命令出力個数)の値以下の境界点(本実施の形態による例では、1回のキャッシュフィルで32個のデータを持ってこられることとするため、境界点は0と32の倍数とになる)のロード命令(境界命令)を生成し、生成した境界命令を信号519によって命令セレクト部506に送出する。
この場合、境界命令生成部504でSy(ロード命令出力個数)の値以上のロード命令は生成しない。
命令セレクト部506は、受け取った境界命令を信号521によってデータ507として命令セレクト部403出力する。
(要素命令生成処理(ステップS703))
要素命令生成部501は、信号510によって通知されたロードマルチ命令500のSx(スカラレジスタ格納エリア)の値に基づいて、連続した番号のロード命令(要素命令)を生成し、生成した要素命令を信号515によって境界命令削除部503に送出する。
境界命令削除部503は、要素命令生成部501から信号515によって受け取ったロード命令のうち、境界命令生成部504で生成されたロード命令と同じ命令番号のロード命令を削除し、削除されなかったロード命令を、信号518によって命令セレクト部506に送出する。
命令セレクト部506は、削除されなかったロード命令を受け取ると、受け取ったロード命令を信号521によってデータ507として命令セレクト部403に出力する。
(命令チェック処理(ステップS704))
命令チェック部505は、信号514によって通知されるSy(ロード命令出力個数)の値と信号516によって通知される要素命令生成部501で生成されたロード命令の命令番号とをチェックし、Sy(ロード命令出力個数)の値と要素命令生成部501で生成されたロード命令の命令番号とが一致した場合は、信号520によって命令セレクト部506に前記一致したことを示す通知をすると共に、命令の分解が終了したことを信号415によってセレクト信号生成部402に通知する。
命令セレクト部506は、信号520によって前記一致したことを示す通知を受けたら、その一致した命令番号以降の命令番号を付されたロード命令を命令セレクト部403に送出しないようにする。
セレクト信号生成部402は、信号522によって命令の分解が終了したことの報告をうけると、信号413によって命令セレクト部403に命令の分解が終了したことを通知する。
命令セレクト部403は、セレクト信号生成部402から信号413によって命令の分解が終了したことを通知された場合は、デコード部400から信号411によって送出される命令421を選択し、選択した命令を信号111によってデータ確認部102に送出する。
上記のようにデータ確認部102に送出された各命令が演算器118に通知され、演算器118は、データ確認部102からの各命令によって演算を実施する。
すなわち、データ確認部102は、まず、ステップS701で生成された最終命令に基づいてデータキャッシュ103やスカラレジスタ104に連絡し、次いで、ステップS702で生成された境界命令に基づいてデータキャッシュ103やスカラレジスタ104に連絡し、最後に、ステップS703で生成された要素命令に基づいてデータキャッシュ103やスカラレジスタ104に連絡する。
その後、演算器118は、まず、ステップS701で生成された最終命令に基づいて演算を実施し、次いで、ステップS702で生成された境界命令に基づいて演算を実施し、最後に、ステップS703で生成された要素命令に基づいて演算を実施する。
(ロードマルチ命令の分解イメージ)
図5は、本発明のロードマルチ命令の分解イメージである。
図5を参照すると、本発明は、ロードマルチ命令500を分解したときに、最終のデータに対応する最終のロードシングル命令(最終命令)及びキャッシュフィルの境界(本実施の形態による例では、1回のキャッシュフィルで32個のデータを持ってこられることとする)にあるデータに対応する境界点のロードシングル命令(境界命令)を最初に実行することで、他のロードシングル命令実行中のメモリアクセスや、プリフェッチ命令の追加発行や、不要なロードシングル命令のキャッシュフィルを行わないようにしている。
ここで、LDMはロードマルチ命令のオペコード、Syはロードシングル命令個数、Szはメモリ位置、D0〜D3はメモリ位置に対するディスプレースメント値、LDSはロードシングル命令のオペコードである。
図6は、データキャッシュ103でミスした場合の本発明のロードマルチ命令の実行イメージである。
図6を参照すると、本発明による分解は、ロードマルチ命令を分解したときに、最終のロードシングル命令(最終命令)及びキャッシュフィルの境界(この例では、1回のキャッシュフィルで32個のデータを持ってこられることとしている)にある境界点のロードシングル命令(境界命令)を最初に実行することによって、後続で使用するデータを最初にデータキャッシュ103に持ってくることができる。従って、本発明は、始めにデータキャッシュ103でミスしたロードシングル命令以外は連続して実行できるので、命令の処理速度の低下を防止し、必要最小限の時間で命令を処理することができる。
(本実施の形態の効果)
以上説明したように、本発明によれば、連続した複数個のデータを使用する命令に関して、データキャッシュ103に該当するデータがない場合であっても、プリフェッチ命令のような通常は発行しなくてもよい命令を追加せずに、メインメモリからあらかじめ該当するデータをデータキャッシュ103に持ってくることができるので、命令の処理速度の低下を防止し、必要最小限の時間で命令を処理することができる。
その理由は、データキャッシュ103に該当するデータがない場合、ロード命令によってメインメモリからデータキャッシュ103に持ってくるデータの総容量を一次キャッシュに1回でフィルできる単位量に分割し、一次キャッシュに1回でフィルできる量の境界点のデータに対応する境界点のロード命令を初めに実行することによって必要なキャッシュフィルを先行して実行するため、先頭のロード命令で一次キャッシュにフィルしてきたデータを演算器108で使用している最中に上記境界点以降のデータに対するロード命令を実行できることができるからである。
また、本発明によれば、先行して実行した境界点のロード命令を再度実行することを防止できる。
その理由は、境界命令削除部503が、要素命令生成部501から信号515によって受け取ったロード命令のうち、境界命令生成部504で生成されたロード命令と同じ番号のロード命令を削除するからである。
また、本発明によれば、一次キャッシュ内を汚すことがない。
その理由は、境界命令生成部504が、Sy(ロード命令出力個数)の値以上の倍数番号のロード命令を生成せず、また、命令チェック部505が、信号514によって通知されるSy(ロード命令出力個数)の値と信号516によって通知される要素命令生成部501で生成されたロード命令の番号とをチェックし、Sy(ロード命令出力個数)の値と要素命令生成部501で生成されたロード命令の番号とが一致した場合は、信号520によって命令セレクト部506に前記一致したことを示す通知し、命令セレクト部506が、信号520によって前記一致したことを示す通知を受けたら、その通知以降に受け取ったロード命令を命令セレクト部403に送出しないからである
従来及び本発明に適用される情報処理装置の構成の概略を示す図である。 本実施の形態の命令デコード部101内の詳細な構成を示すブロック図である。 本実施の形態の命令分解部401内の詳細な構成を示すブロック図である。 本実施の形態による命令デコード部101内部で実施するロードマルチ命令の分解処理の1例を示すフローチャートである。 本実施の形態によるロードマルチ命令の分解イメージである。 本実施の形態によるデータキャッシュでミスした場合のロードマルチ命令の実行イメージである。 従来のロードマルチ命令の分解イメージである。 従来のデータキャッシュでミスした場合のロードマルチ命令の実行イメージである。
符号の説明
100:命令キャッシュ
101:命令デコード
102:データ確認部
103:データキャッシュ
104:スカラレジスタ
105:演算器
106:タグ管理部
107:メインメモリ
110〜121:信号
400:デコード部
401:命令分解部
402:セレクト信号生成部
403:命令セレクト部
410〜415:信号
500:ロードマルチ命令
501:要素命令生成部
502:最終命令生成部
503:境界命令削除部
504:境界命令生成部
505:命令チェック部
506:命令セレクト部
507:データ(ロードシングル命令)
510〜522信号
601:CPU
602:主記憶部
603:通信制御部
604:提示部
605:入力部
606:インタフェース部
607:補助記憶部
608:システムバス

Claims (4)

  1. データ処理装置において1つの命令により連続した複数個のデータをメモリからロードするデータロード方法であって、
    前記命令を、前記複数個のデータの各データを個々にロードする複数の要素命令に分解し、
    所定数の前記要素命令をロード単位とし、
    単一のロード単位に属する各要素命令によって複数個の連続したデータをロードし、
    2つ以上の前記ロード単位に対応する前記データを連続的にデータキャッシュに格納し、
    前記要素命令のうち、データのキャッシュフィルを引き起こす2つの要素命令を他の要素命令に先立って連続して実行し、
    前記データのキャッシュフィルを引き起こす2つの要素命令要素それぞれによって引き起こされる2つのリフィル処理の少なくとも一部が同時に実行される
    ことを特徴とするデータロード方法。
  2. 前記データのキャッシュフィルを引き起こす要素命令が、
    前記命令によりロードするデータの総容量を、データキャッシュに1回でフィルできる単位データ量に分割した場合に、当該単位データ量の境界点のデータに対応する要素命令であることを特徴とする請求項1に記載のデータロード方法。
  3. 1つの命令により連続した複数個のデータをメモリからロードして実行するデータ処理装置であって、
    前記命令を、前記複数個のデータの各データを個々にロードする複数の要素命令に分解する分解手段と、
    2つ以上の前記ロード単位に対応する前記データを連続的にデータキャッシュに格納する格納手段と、
    前記要素命令を実行する手段とを備え、
    所定数の前記要素命令をロード単位とし、
    単一のロード単位に属する各要素命令によって複数個の連続したデータがロードされ、
    前記要素命令を実行する手段は、
    前記要素命令のうち、データのキャッシュフィルを引き起こす2つの要素命令を他の要素命令に先立って連続して実行し、
    前記データのキャッシュフィルを引き起こす2つの要素命令要素それぞれによって引き起こされる2つのリフィル処理の少なくとも一部が同時に実行される
    ことを特徴とするデータ処理装置
  4. 前記データのキャッシュフィルを引き起こす要素命令が、
    前記命令によりロードするデータの総容量を、データキャッシュに1回でフィルできる単位データ量に分割した場合に、当該単位データ量の境界点のデータに対応する要素命令であることを特徴とする請求項3に記載のデータ処理装置
JP2006076363A 2006-03-20 2006-03-20 データロード方法及びデータ処理装置 Expired - Fee Related JP5019022B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006076363A JP5019022B2 (ja) 2006-03-20 2006-03-20 データロード方法及びデータ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006076363A JP5019022B2 (ja) 2006-03-20 2006-03-20 データロード方法及びデータ処理装置

Publications (2)

Publication Number Publication Date
JP2007249914A JP2007249914A (ja) 2007-09-27
JP5019022B2 true JP5019022B2 (ja) 2012-09-05

Family

ID=38594080

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006076363A Expired - Fee Related JP5019022B2 (ja) 2006-03-20 2006-03-20 データロード方法及びデータ処理装置

Country Status (1)

Country Link
JP (1) JP5019022B2 (ja)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2847974B2 (ja) * 1991-01-21 1999-01-20 三菱電機株式会社 データ処理装置
JPH04308945A (ja) * 1991-04-05 1992-10-30 Toshiba Corp キャッシュメモリ装置
DE69506623T2 (de) * 1994-06-03 1999-07-22 Motorola Inc Datenprozessor mit einer Ausführungseinheit zur Durchführung von Ladebefehlen und Verfahren zu seinem Betrieb
JP2000267931A (ja) * 1999-03-16 2000-09-29 Toshiba Corp ソフトウェア実行システム
JP2002149488A (ja) * 2000-11-15 2002-05-24 Hitachi Ltd 集積回路装置およびキャッシュメモリの制御方法
JP3737742B2 (ja) * 2001-11-19 2006-01-25 インターナショナル・ビジネス・マシーンズ・コーポレーション プロセッサ用インストラクション処理方法及びインストラクション処理装置
JP3767521B2 (ja) * 2002-06-20 2006-04-19 日本電気株式会社 キャッシュフィル制御方法及びcpu

Also Published As

Publication number Publication date
JP2007249914A (ja) 2007-09-27

Similar Documents

Publication Publication Date Title
KR101531080B1 (ko) 데이터 처리 시스템에서 단일화된 캐시에 대한 에러 검출 스킴들
US6785772B2 (en) Data prefetching apparatus in a data processing system and method therefor
US5481734A (en) Data processor having 2n bits width data bus for context switching function
JPS5991546A (ja) 中央処理装置
US6912649B2 (en) Scheme to encode predicted values into an instruction stream/cache without additional bits/area
JP5843801B2 (ja) 情報処理装置およびデバッグ方法
US8417923B2 (en) Data processing apparatus having trace and prediction logic
US8984372B2 (en) Techniques for storing ECC checkbits in a level two cache
US20190228052A1 (en) Stream processing for lu decomposition
JP2010073029A (ja) 命令キャッシュシステム
JP2014179101A (ja) ディペンデンシーを整理し、リビルディングするシステム及び方法
JP2010097557A (ja) セットアソシアティブ方式のキャッシュ装置及びキャッシュ方法
CN101251793A (zh) 信息处理设备
CN116501388B (zh) 一种指令处理方法、装置、存储介质及设备
KR102152735B1 (ko) 그래픽 처리 장치 및 이의 동작 방법
JP5019022B2 (ja) データロード方法及びデータ処理装置
US9417882B2 (en) Load synchronization with streaming thread cohorts
CN111831328A (zh) 数据处理的方法及装置
US9299126B2 (en) Image processing apparatus and a method of storing encoded data blocks generated by such an image processing apparatus
CN104239001A (zh) 至少一个处理流水线中的操作数生成
JP4918794B2 (ja) コンピュータ装置及びそのデータ転送方法
JP5206385B2 (ja) バウンダリ実行制御システム、バウンダリ実行制御方法、及びバウンダリ実行制御プログラム
US20020156992A1 (en) Information processing device and computer system
JP2013200802A (ja) 半導体記憶装置
KR102466551B1 (ko) 데이터 기록 방법, 장치 및 전자 기기

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090212

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120130

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120516

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120529

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5019022

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150622

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees