JP4471947B2 - データ処理装置及びデータ処理方法 - Google Patents

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

Info

Publication number
JP4471947B2
JP4471947B2 JP2006054279A JP2006054279A JP4471947B2 JP 4471947 B2 JP4471947 B2 JP 4471947B2 JP 2006054279 A JP2006054279 A JP 2006054279A JP 2006054279 A JP2006054279 A JP 2006054279A JP 4471947 B2 JP4471947 B2 JP 4471947B2
Authority
JP
Japan
Prior art keywords
processor
program
memory
cache memory
external ram
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
JP2006054279A
Other languages
English (en)
Other versions
JP2006331391A (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 Electronics Corp
Original Assignee
NEC Electronics 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 Electronics Corp filed Critical NEC Electronics Corp
Priority to JP2006054279A priority Critical patent/JP4471947B2/ja
Priority to US11/410,931 priority patent/US8122192B2/en
Priority to KR1020060039062A priority patent/KR100861896B1/ko
Publication of JP2006331391A publication Critical patent/JP2006331391A/ja
Application granted granted Critical
Publication of JP4471947B2 publication Critical patent/JP4471947B2/ja
Priority to US13/348,445 priority patent/US8312216B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/46Multiprogramming arrangements
    • 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
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/084Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
    • 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

Landscapes

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

Description

本発明は、データ処理装置及びデータ処理方法に関し、特に詳しくは、複数のプロセッサを有するデータ処理装置及びそのデータ処理方法に関する。
近年、1つのLSIチップ上に複数のプロセッサ・コア・モジュールや周辺RAM、周辺機能モジュールを搭載したものが普及している。また高機能化により、前述のプロセッサ・コア・モジュールがプログラム・キャッシュ・メモリを内蔵していることが多い。通常のRAMよりも高速なプログラム・キャッシュ・メモリを設けることによって、プロセッサの処理速度を高速化することができる。また、キャッシュを有するプロセッサに対して、割り込み要求をして割り込み処理を行なう割り込み方法が開示されている(特許文献1)。この方法では、予測したタイミングで、割り込み処理を行なうプログラムを主記憶手段からキャッシュへと転送している。
ところで、LSIチップ上において、プロセッサが有するプログラム・メモリ容量に収まらない大きさのプログラム・コードを実行させたい場合、プロセッサに持たせるプログラム・メモリ容量や周辺RAMのサイズを拡大することが最も簡単な解決手段である。
一方、LSIチップに対して、生産歩留まりや実装面積の観点から、搭載するプロセッサ・コアやRAMのサイズを小さくすることが求められている。また、搭載するプロセッサ・コア・モジュールは再利用可能なように部品化されており、個々のLSIチップ向けにプログラム・メモリ容量を変更したプロセッサ・コアを開発することは、コスト面での問題から困難となっている。
こうした背景のもとで、プログラム・メモリ容量の拡大といったハードウェアの変更なしに、内蔵プログラム・メモリ容量以上の大きさのプログラム・コードを実行させることを可能とする手法が必要となっている。すなわち、プロセッサを有するデータ処理装置では、内蔵プログラム・メモリの容量を実行されるプログラムよりも小さくすることが望まれる場合がある。
複数のプロセッサを有する従来のデータ処理装置のシステム構成について図12を用いて説明する。図12は従来のデータ処理装置のシステム構成を示すブロック図である。システムはプロセッサ(1)600、プロセッサ(2)620及び外部RAM650から構成されている。プロセッサ(1)600と外部RAM650とはメモリ・バスで接続されており、プロセッサ(2)620と外部RAM650とはメモリ・バスで接続されている。プロセッサ(2)620からプロセッサ(1)600へは割り込み信号640を出力することができる。
プロセッサ(1)600は、プログラムを記憶する内蔵プログラム・メモリ613と外部RAM650に対するプログラム・フェッチ・アクセスでフェッチしたプログラム・コードを記憶するプログラム・キャッシュ・メモリ612とを備えている。プログラム・キャッシュ・メモリ612、内蔵プログラム・メモリ613及び外部RAM650からのプログラムコードの読み出し及びデータの書き込みがメモリ・コントローラ611によってコントロールされる。演算ユニット610はメモリ・コントローラを制御して内蔵プログラム・メモリ613等に記憶されたプログラム・コードを読み出し、プログラムを実行する。
プロセッサ(2)620は、プログラムを記憶する内蔵プログラム・メモリ632を備えている。内蔵プログラム・メモリ632及び外部RAM650からのプログラムコードの読み出し及びデータの書き込みがメモリ・コントローラ631によってコントロールされる。演算ユニット630はメモリ・コントローラを制御して内蔵プログラム・メモリ632等に記憶されたプログラム・コードを読み出し、プログラムを実行する。
図13にプロセッサ(1)600及びプロセッサ(2)620のメモリ・マップを示す。外部RAM650はプロセッサ(1)600およびプロセッサ(2)620のメモリ・マップ上にそれぞれマッピングされている。すなわち、プロセッサ(1)のメモリマップには、外部RAM700がマッピングされ、プロセッサ(2)のメモリマップには外部RAM711がマッピングされている。よって、プロセッサ(1)600及びプロセッサ(2)620から外部RAM650に対して任意に読み出し/書き込みができる。また、プロセッサ(1)600の内蔵プログラム・メモリ613の容量に収まらないプロセッサ(2)用プログラム・コードをプロセッサ(2)620のメモリ・マップ上のプロセッサ(1)用プログラム・コード テーブル・データ710に格納している。
一般的なプログラム・キャッシュ・メモリの動作を図11を用いて説明する。図11はプログラム・キャッシュ・メモリの構成を示す図である。プロセッサが外部RAM650に対してプログラム・フェッチ・アクセスを行うと、そのフェッチしたプログラム・コードをハードウェアが自動的にプログラム・キャッシュ・メモリ領域510、511、512、513のうちのいずれかの領域へコピーする。このコピー動作時、フェッチしたプログラム・コードを含めて、その前後のプログラム・コードがLバイト分、まとめてコピーされる。また同時に、コピー先のメモリ領域500を管理するプログラム・キャッシュ・メモリ・タグ530〜533に対し、外部RAMのどのアドレスからプログラム・コードをコピーしたかをハードウェアが記録する。
図14および図15に従来のプログラム・フローチャートを示す。図14はプロセッサ(1)600の動作を示すフローチャートであり、図15はプロセッサ(2)620の動作を示すフローチャートである。まず、プロセッサ(2)620は外部RAM711へテーブルコード (プロセッサ(1)用プログラム・コードのうち、プロセッサ(1)の内蔵プログラム・メモリ613の容量に収まらないもの)のコピーを開始する(ステップ811)。これにより、外部RAM650に前述のプログラム・コードが格納される。そして、テーブル・データ710のコピーが完了したら、プロセッサ(2)620がプロセッサ(1)600に対して割り込み信号640を用いてプログラム・コード710の書き込み完了を通知する(ステップ812)。プロセッサ(1)600は、ステップ801にてこの割り込み信号640の信号入力を待っており、この信号入力によって通常のプログラム実行状態に移行する(ステップ802)。この後、プロセッサ(1)600が外部RAM650上のプログラム・コードを実行した際には、実行したプログラム・コードが逐次ハードウェア動作により外部RAM150からプログラム・キャッシュ・メモリ612へコピーされていく。
従来技術においては、外部RAM650にはプロセッサ(1)の内蔵プログラム・メモリ613の容量を超えた部分のプログラム・コードを格納している。そのため、それ以外の用途として外部RAM650を使用することができず、他用途のためには新たなRAMを搭載しなければならなくなる、という問題点がある。この問題が発生する理由について以下に説明する。
外部RAM650に格納されているプロセッサ(1)用プログラム・コードは、それらが全てプロセッサ(1)のプログラム・キャッシュ・メモリ612へコピーされない限り、プロセッサ(1)のメモリ・コントローラ611からのフェッチ・アクセスを受ける可能性がある。このため、プロセッサ(1)用プログラム・コードを破壊しないよう、外部RAM650の格納データ内容を書き換えることができない。ここで、外部RAM650からプロセッサ(1)のプログラム・キャッシュ・メモリ612へ格納データ内容を全てコピーさせるためには、外部RAM650上のプログラム・コードをプロセッサ(1)600に網羅的に実行させる必要がある。すなわち、内蔵プログラム・メモリ613に格納されていないプログラムコード全てを読み出してプログラム・キャッシュ・メモリ612に書き込む必要がある。
特開平11−306029号公報
しかし、プログラム・コードが一般的に有している条件分岐構造と実行条件により、実行頻度が低いプログラム・コード箇所が存在することが考えられる。そのため、プロセッサ(1)600が網羅的にプログラム・コードを実行できたかどうかを検出することが困難である。すなわち、外部RAM650上の全てのプログラム・コードがプロセッサ(1)のプログラム・キャッシュ・メモリ612へコピーされたかどうかの検出が困難である。従って、外部RAM650に格納されているプロセッサ(1)用プログラム・コードを書き換えることができない。この結果、外部RAM650の一部がプログラム・コードを格納するための用途として占有されてしまう。この場合、外部RAM650に内蔵プログラム・メモリ613に記憶されていない部分の全てのプログラムコードを格納しておく必要がある。従って、外部RAM650の空き容量が小さくなってしまい、外部RAMを一定容量以下にすることができないという問題点が生じてしまう。
本発明にかかるデータ処理装置は、第2のプロセッサと、前記第1のプロセッサによって読み出し/書き込みが行なわれる外部RAMとを有し、前記第1のプロセッサは、前記ターゲットプログラムの少なくとも一部を格納するキャッシュ・メモリと、前記キャッシュ・メモリへのデータの入出力を制御する第1のメモリ・コントローラとを有し、前記第2のプロセッサは、前記第1のプロセッサの前記キャッシュ・メモリに対しデータを書込み可能な第2のメモリ・コントローラを有し、前記第1のプロセッサは、前記第1のメモリ・コントローラが前記外部RAMにアクセスせず前記キャッシュ・メモリにアクセスするよう、前記キャッシュ・メモリを初期化し、前記第2のメモリ・コントローラは、前記ターゲットプログラムの少なくとも一部を前記第1のプロセッサの前記キャッシュ・メモリに直接書き込み、前記第1のプロセッサは、前記外部RAMにアクセスすることなく、前記ターゲットプログラムを実行するものである。これにより、外部RAMの空き容量を増加させることができ、外部RAMの小型化を図ることができる。
本発明にかかるデータ処理方法は、ターゲットプログラムを実行する第1のプロセッサと、第2のプロセッサと、前記第1のプロセッサによって読み出し/書き込みが行なわれる外部RAMとを有するデータ処理のデータ処理方法であって、前記第1のプロセッサのメモリ・コントローラが前記外部RAMにアクセスすることなくキャッシュ・メモリにアクセスするように当該キャッシュ・メモリを初期化し、前記第2のプロセッサの第2のメモリ・コントローラにより、ターゲットプログラムの少なくとも一部を前記第1のプロセッサの前記キャッシュ・メモリに直接書き込み、前記第1のプロセッサが前記外部RAMにアクセスすることなく、前記ターゲットプログラムを実行するものである。これにより、外部RAMの空き容量を増加させることができ、外部RAMの小型化を図ることができる。
本発明によれば、プロセッサの外部に設けられた外部メモリの容量を小さくすることができるデータ処理装置及びデータ処理方法を提供することができる。
以下に、本発明を適用可能な実施の形態が説明される。以下の説明は、本発明の実施形態を説明するものであり、本発明は以下の実施形態に限定されるものではない。説明の明確化のため、以下の記載は、適宜、省略及び簡略化がなされている。又、当業者であれば、以下の実施形態の各要素を、本発明の範囲において容易に変更、追加、変換することが可能であろう。尚、各図において同一の符号を付されたものは同様の要素を示しており、適宜、説明が省略される。
本発明にかかるデータ処理装置のシステム構成について図1を用いて説明する。図1は、本発明にかかるデータ処理装置のシステム構成を示すブロック図である。本発明にかかるデータ処理装置は、第1のプロセッサ(1)100と第2のプロセッサ(2)120とを備えるLSIから構成されている。データ処理装置はプロセッサ(1)100と、プロセッサ(2)120とプロセッサ(1)100及びプロセッサ(2)120の外部に設けられた外部RAM150とを備えている。プロセッサ(1)10とプロセッサ(2)120とはメモリ・バスで接続されており、プロセッサ(1)100と外部RAM150とはメモリ・バスで接続されている。また、プロセッサ(1)100からプロセッサ(2)120へは割り込み信号(1)140を出力することができ、プロセッサ(2)120からプロセッサ(1)100へは割り込み信号(2)141を出力することができる。
プロセッサ(1)は、演算ユニット110とメモリ・コントローラ111とプログラム・キャッシュ・メモリ112と内蔵プログラム・メモリ113とROM114を備えている。メモリ・コントローラ111はプログラム・キャッシュ・メモリ112、内蔵プログラム・メモリ113及び外部RAM150とそれぞれバスラインで接続されている。プログラム・キャッシュ・メモリ112、内蔵プログラム・メモリ113及び外部RAM150からのプログラムコードの読み出し及びデータの書き込み等がメモリ・コントローラ111によってコントロールされる。演算ユニット110とメモリ・コントローラ111とはバスラインで接続されている。演算ユニット110はメモリ・コントローラ111を制御して内蔵プログラム・メモリ113等に記憶されたプログラム・コードを読み出し、プログラムを実行する。そして、メモリ・コントローラ111は演算ユニット110による演算処理結果を外部RAM150に書き込む。これにより、実行プログラムに応じて所定のデータ処理が行なわれる。内蔵プログラム・メモリ113より高速なプログラム・キャッシュ・メモリ112を設けることによって処理速度を向上することができる。ROM114には、プログラム・キャッシュ・メモリ112を初期化するための初期化プログラムが記憶されている。この初期化プログラムについては後述する。
プロセッサ(2)120は演算ユニット130とメモリ・コントローラ131と内蔵プログラム・メモリ132とROM133とを備えている。演算ユニット130はメモリ・コントローラ131とバスラインで接続されている。メモリ・コントローラ131は内蔵プログラム・メモリ132とバスラインで接続されている。演算ユニット130はメモリ・コントローラ131によって内蔵プログラム・メモリ132から読み出されたプログラムコードに基づいて演算処理を行なう。さらに、メモリ・コントローラ131は、プロセッサ(1)100のプログラム・キャッシュ・メモリ112とメモリバスラインで接続されている。メモリ・コントローラ131はプロセッサ(1)のプログラム・キャッシュ・メモリ112に対してプログラムコードの書き込みを行う。ROM133には、プロセッサ(1)で実行される実行プログラムが記憶されている。ROM133に記憶されたプロセッサ(1)で実行される実行プログラムは、例えば、DMA(ダイレクトメモリアクセス)によってプロセッサ(1)の内蔵プログラム・メモリ113に書き込まれる。
図2にプロセッサ(1)及びプロセッサ(2)のメモリ・マップを示す。内蔵プログラム・メモリ113は、プロセッサ(1)100のメモリマップ上にマッピングされている。さらに、外部RAM150はプロセッサ(1)のメモリマップ上にマッピングされており、プロセッサ(1)100から任意に読み出し/書き込みができる。プロセッサ(1)100のプログラム・キャッシュ・メモリ112はプロセッサ(2)のメモリ・マップ上にマッピングされている。すなわち、プロセッサ(2)のメモリマップには、プログラ・キャッシュ・メモリ211が設けられている。よって、プログラム・キャッシュ・メモリ112上のデータはプロセッサ(2)120から任意に読み出し/書き込みができる。さらに、プロセッサ(1)の内蔵プログラム・メモリ113の容量に収まらない部分のプロセッサ(1)用プログラム・コードをプロセッサ(2)120のメモリ・マップ上にテーブル・データ210として格納している。すなわち、ROM133に記憶された実行プログラムのうち、内蔵プログラム・メモリ113に書き込むことができない部分のプログラムコードが、テーブル・データ210としてメモリ・マップ上にマッピングされている。メモリ・コントローラ111はこのメモリマップに従って、プログラムコードやデータの読み出し/書き込みを実行する。
次に、プロセッサ(1)100のプログラム・キャッシュ・メモリ112の構成について図11を用いて説明する。図11はプログラム・キャッシュ・メモリ112の構成を示すブロック図である。一般的にプログラム・キャッシュ・メモリ112は、プログラム・コードを格納するメモリ領域500と、その領域を管理するタグ領域520から構成される。また前述のメモリ領域500はn個の小さなプログラム・キャッシュ・メモリ領域510、511、512、513に分かれている。それら各々のプログラム・キャッシュ・メモリ領域510〜513のサイズは全て同一であってLバイトである。そして、メモリ領域500から分割されたプログラム・キャッシュ・メモリ領域510、511、512、513を管理するため、タグ領域520もn個のプログラム・キャッシュ・メモリ・タグ530、531、532、533に分かれている。これらに関し、プログラム・キャッシュ・メモリ領域510とプログラム・キャッシュ・メモリ・タグ530、プログラム・キャッシュ・メモリ領域511とプログラム・キャッシュ・メモリ・タグ531、というように各々が対で動作するようになっている。すなわち、各プログラム・キャッシュ・メモリ領域510〜513は各プログラム・キャッシュ・メモリ・タグ530〜533と対応付けられている。プロセッサ(1)100は、例えば、プログラム・キャッシュ・メモリ領域510のプログラムコードの書き換えを行なうと、それに対応するプログラム・キャッシュ・メモリ・タグ530の書き換えも行なう。プログラム・キャッシュ・メモリ・タグ530〜533には、プログラム・キャッシュ・メモリ領域510〜513に格納されているプログラ・コードの外部RAM上のアドレスが書き込まれる。すなわち、プログラム・キャッシュ・メモリ・タグ530〜533は、プログラム・キャッシュ・メモリ領域510〜513に書き込まれたプログラム・コードが格納されている外部RAM150上のアドレスを記憶する。これにより、プログラム・キャッシュ・メモリ112には、プログラム・コードと、その外部RAM上のコピー元のアドレスとが1対1に対応付けられて記憶される。
次に、プログラム・キャッシュ・メモリの初期化を行なう手順について図3及び図4を用いて説明する。図3及び図4はプログラム・キャッシュ・メモリの初期化の手順を示すフローチャートである。また、図3はプロセッサ(1)100の動作を示しており、図4はプロセッサ(2)120の動作を示している。まず、プロセッサ(1)100はプログラム・キャッシュ・メモリ112の初期化用プログラム・コードをコピーし、外部RAM150に格納する(ステップ301)。この初期化用プログラム・コードは図5のプログラム・コード410、411、412、413のように格納される。なお、図5では、1Kバイト分のメモリ領域が4つ設けられている構成のプログラム・キャッシュ・メモリ112について示している。この時、プログラム・キャッシュ・メモリ112の内容は不定状態である。
そして、アドレスm番地からの前述の初期化用プログラム・コード410、411、412、413を実行する(ステップ302)。初期化用プログラム・コードを実行すると、1Kバイト飛びに3回ジャンプし、その後プログラム呼び出し元アドレスにリターンする。すなわち、プログラム・コード410〜412は、1Kバイト間隔のジャンプ命令であり、プログラムコード413はリターン命令である。そして、このプログラム・コード410〜411に対して、プロセッサ(1)からプログラム・フェッチ・アクセスが実行される。これにより、プログラム・キャッシュ・メモリ112のハードウェア動作によって、図6のようにアドレスm番地から4Kバイト分の外部RAM150の内容全てがプログラム・キャッシュ・メモリ112へコピーされる。また同時にプログラム・キャッシュ・メモリ・タグ(1)530、プログラム・キャッシュ・メモリ・タグ(2)531、プログラム・キャッシュ・メモリ・タグ(3)532、プログラム・キャッシュ・メモリ・タグ(4)533に対して、外部RAM150のアドレスm番地から4Kバイト分のメモリ領域からプログラム・コードがコピーされたという情報が記録される。すなわち、プログラム・キャッシュ・メモリ・タグ530〜533には、プログラム・キャッシュ・メモリ領域510〜513のそれぞれに対して、外部RAM150のコピー元のアドレスが対応付けられて記憶される。
プロセッサ(1)100は、プログラム・キャッシュ・メモリ112の初期化処理が完了したことを、プロセッサ(2)120に対して割り込み信号(1)140を用いて通知する(ステップ303)。プロセッサ(2)120はこの割り込み信号(1)140の信号入力を待っている(ステップ311)。そして、割り込み信号(1)の入力によってプロセッサ(2)はテーブル・データ210からプロセッサ(1)100のプログラム・キャッシュ・メモリ211へのプログラム・コードのコピーを開始する(ステップ312)。すなわち、プロセッサ(2)のROM133からプログラム・キャッシュ・メモリ112にプログラム・コードの一部をコピーする。換言すると、ROM133に記憶された実行プログラムのうち、内蔵プログラム・メモリ113に書き込まれていないプログラムコードがプログラム・キャッシュ・メモリ112に書き込まれる。このとき、プロセッサ(2)のROM133から内蔵プログラム・メモリ113にプログラム・コードの一部がDMAによって書き込まれる。
プロセッサ(1)のプログラム・キャッシュ・メモリ112はプロセッサ(2)のメモリ・マップ上のプログラム・キャッシュ・メモリ211にマッピングされている。このため、プロセッサ(2)120から書き込んだプログラム・コードはそのままプロセッサ(1)のプログラム・キャッシュ・メモリ112に書き込まれる。この時までに、プロセッサ(1)100は外部RAM150へのフェッチ・アクセスを行っていないため、プログラム・キャッシュ・メモリ・ タグ530、531、532、533はステップ302でのプロセッサ(1)100の初期化処理時の状態のまま保持されている。
プロセッサ(2)120からプログラム・キャッシュ・メモリ112へのプログラムコードの書き込みが終了したら、プロセッサ(2)120はプロセッサ(1)100に対し割り込み信号(2)を用いてプログラム・コードの書き込み完了を通知する(ステップ313)。プロセッサ(1)はこの割り込み信号(2)の信号入力を待っており(ステップ304)、割り込み信号(2)の入力によって通常のプログラム実行状態に移行する(ステップ305)。また、プロセッサ(2)120は割り込み信号(2)を出力後、通常のプログラム実行状態に移行する(ステップ314)。
この時、プロセッサ(1)のプログラム・キャッシュ・メモリ・タグ530、531、532、533は外部RAM150のアドレスを示している。このため、プロセッサ(2)120がステップ312にて書き込んだプログラム・コードをプロセッサ(1)100が実行する際、あたかもプロセッサ(1)100が以前にアドレスm番地以降の外部RAM150からプログラム・フェッチしてプログラム・キャッシュ・メモリ112に取り込んだプログラム・コードであるかのように実行させることができる。従って、プログラムフェッチにより、プログラム・キャッシュ・メモリ112を書き換えることがなく、プログラムを実行することができる。
上述のように、プログラム・キャッシュ・メモリ112の初期化時、外部RAM150にプログラム・キャッシュ・メモリ初期化用プログラム・コード410、411、412、413を格納し、これをプロセッサ(1)100が実行する。このことにより、プロセッサ(1)のプログラム・キャッシュ・メモリ112の内容が外部RAM150に格納されているプログラム・コードと同一であるとプロセッサ(1)100に認識させることができる。このため、その後、ステップ312にてプロセッサ(2)120がプロセッサ(1)のプログラム・キャッシュ・メモリ112の内容を書き換えたとしても、プログラム・キャッシュ・メモリ・タグ510〜513が書き換わらない。これにより、プロセッサ(1)100はそのプログラム・コードが外部RAM150の内容と差異が無いと判断する。このため、プロセッサ(1)100は外部RAM150へ一切プログラム・フェッチ・アクセスを行わず、プログラム・キャッシュ・メモリ112に格納されているプログラム・コードを実行するように動作する。このため、本発明においては初期化後には外部RAM150を書き換えることが可能になり、外部RAM150を他用途として使用することができる。
なお上述の説明では、プログラム・キャッシュ・メモリ領域を1Kバイトとし、4つのプログラム・キャッシュ・メモリ領域510〜513、および4つのプログラム・キャッシュ・メモリ・タグ530〜533から構成されているプロセッサ(1)のプログラム・キャッシュ・メモリ112について説明したが、これに限るものではない。プログラム・キャッシュ・メモリ領域及びプログラム・キャッシュ・メモリ・タグが各々x個ずつで構成されており、プログラム・キャッシュ・メモリ領域のサイズがyバイトである場合、プログラム・キャッシュ・メモリ初期化用プログラム・コード410、412、413、414のジャンプ命令の命令格納アドレスをyバイト間隔、格納命令個数を(x−1)個、ジャンプ命令によるジャンプ幅をyバイトとすることで、本発明を適用することが可能となる。
上述のように、プロセッサ(1)100のプログラム・キャッシュ・メモリ112がプロセッサ(2)120のメモリ・マップ上にマッピングされるようにメモリ・バスを接続する。これにより、プロセッサ(1)の内蔵プログラム・メモリ容量に収まらない部分のプロセッサ(1)用プログラム・コードを、プロセッサ(2)120が直接プロセッサ(1)100のプログラム・キャッシュ・メモリ112へ書き込むことが可能となる。また、プロセッサ(2)120によってプロセッサ(1)100のプログラム・キャッシュ・メモリ112へ書き込まれたプロセッサ(1)用プログラム・コードを、あたかも外部RAM150からプロセッサ(1)がフェッチしたプログラム・コードであるかのようにプロセッサ(1)に認識させる初期化プログラム・コードを用いる。これにより、初期化以後では外部RAM150にプログラム・コードを格納しておくことなくプロセッサ(1)100がプログラム・コードを実行することが可能となる。
また、初期化プログラムコードを外部RAM上において一定アドレス間隔でジャンプ命令を実行させるプログラムとする。これにより、プロセッサ(1)100が初期化中にフェッチアクセスを行なうことで、外部RAM150のプログラムコードがプログラム・キャッシュ・メモリ112に書き込まれる。このとき、外部RAM150に格納されているプログラムコードとその外部RAM150上でのアドレスがプログラム・キャッシュ・メモリ112に対応付けて記憶される。そして、プロセッサ(2)120でプログラム・キャッシュ・メモリ112のメモリ領域のみを書き換えることにより、外部RAMの格納データ内容とプロセッサ(1)のプログラム・キャッシュ・メモリの格納データ内容が等価であるとプロセッサ(1)に認識させることができる。
上述の構成では、プログラム・メモリのメモリ容量を超える大きさのプログラム・コードを実行させる場合でも、外部RAMのメモリ容量の増大を防ぐことができる。例えば、内蔵プログラム・メモリ113とプログラム・キャッシュ・メモリ112の合計容量と等しいか、それ以下のプログラムを実行する場合、外部RAM150に対してプログラムコードを格納する必要がなくなる。よって、外部RAM150の容量の増加を防ぐことができる。また、内蔵プログラム・メモリ113とプログラム・キャッシュ・メモリ112の合計容量を超えるプログラムを実行する場合でも、外部RAM150の実質的な空き容量の低下を防ぐことができる。例えば、プログラム・キャッシュ・メモリ112の初期化後、プログラムの実行中は、外部RAM150に対してプログラムフェッチアクセスを行なわないようにする。あるいは、プロセッサ(2)120からプログラム・キャッシュ・メモリ112にプログラムが書き込まれた状態において、外部RAM150に対してプログラムフェッチアクセスを行なわないようにする。これにより、プログラム・キャッシュ・メモリ112の書き換えが禁止される。すなわち、外部RAM150の記憶されているプログラムコードを読み込んだ場合でも、プログラムキャッシュアドレスにそのプログラムコードを書き込まないようにする。これにより、プログラム・キャッシュ・メモリの容量分だけ、外部RAM150の容量の増加を防ぐことができる。そのため、外部RAM150のうち、他用途に使用することができる空き容量を実質的に増加することができる。
本発明ではプロセッサ(1)100が内蔵する内蔵プログラム・メモリ113のメモリ容量を超える大きさのプログラム・コードを実行させる場合に、プロセッサ(1)の内蔵プログラム・メモリ容量を拡大させる必要がなくなる。これにより、内蔵プログラム・メモリ113の容量の増加を防ぐことができる。また、外部RAM150に格納するプログラムコードの容量を低減できるため、初期化時以後、外部RAM150をデータ・メモリ等の用途として使用することができる。これにより、既存プロセッサ・コア・モジュールの流用による開発コスト削減、およびメモリ・モジュール・ハードウェアのLSI実装面積縮小による生産歩留まり向上が可能となる。
実施例1
上記したデータ処理装置の実施例について図7を用いて説明する。図7は実施例1にかかるデータ処理装置の構成を示すブロック図である。なお、上述のデータ処理装置と同様の構成については、説明を省略する。また、図7では、説明の簡略化のため、プロセッサ(2)120の内部構成と、プロセッサ(1)に設けられたROM114の構成については省略して図示している。また、図7では、説明の明確化のため、プログラム・キャッシュ・メモリ112のタグ領域520を併せて示している。
図7に示すようにデータ処理装置は、プロセッサ(1)100、プロセッサ(2)120、及び外部RAM150を備えている。プロセッサ(1)100、プロセッサ(2)120、及び外部RAM150はシステムバス160で接続されている。プロセッサ(1)100、及びプロセッサ(2)120からの外部RAM150に対するアクセスや、プロセッサ(1)100とプロセッサ(2)120との間の通信は、システムバス160を介して行なわれる。プロセッサ(1)100、及びプロセッサ(2)120は例えば、CPUである。プロセッサ(2)120はメインプロセッサであり、プロセッサ(1)100はプロセッサ(2)の支配下で動作するコプロセッサである。
演算ユニット110が外部RAM150にアクセスするときや、プロセッサ(2)と通信を行なうときは、データアクセスI/F117、及びシステムバスI/F118を介してデータのやり取りを行なう。システムバスI/F118はシステムバス160と接続されており、データアクセスI/F117は、システムバスI/F118と接続されている。プロセッサ(1)110には、内蔵プログラム・メモリ113が設けられている。内蔵プログラム・メモリ113には、常時使用されるプログラムが記憶される。
外部RAM150に記憶されたプログラムをキャッシュするときは、外部RAM150にキャッシュアドレス領域からアクセスする。これにより、キャッシュコントローラ111aが動作する。キャッシュコントローラ111aは、図1で示したメモリ・コントローラ111の一部を構成しており、プログラム・キャッシュ・メモリ112への書き込みを制御する。従って、キャッシュコントローラ111aが、外部RAM150上のプログラムをプログラム・キャッシュ・メモリ112に書き込む。この時、システムバスI/F118、及びデータアクセスI/F117を介して外部RAM150のプログラムが読み込まれる。また、キャッシュコントローラ111aは、外部RAM150から読み出されたプログラムのアドレスをプログラム・キャッシュ・メモリ112のメモリ・タグに書き込む。これにより、外部RAM150のアドレスがプログラム・キャッシュ・メモリ112のタグ領域520に書き込まれる。すなわち、キャッシュコントローラ111aは、プログラム・キャッシュ・メモリ112に書き込んだプログラムが、外部RAM15のどのアドレスに記憶されていたかをプログラム・キャッシュ・メモリ・タグとして書き込む。これにより、プログラム・キャッシュ・メモリ112のタグ領域に格納されていた外部RAM150上のアドレスが書き換えられる。このように、プログラム・キャッシュ・メモリ・タグのそれぞれには、外部RAM150の各アドレスが対応して記憶される。
例えば、図7のタグ領域520に示すように、プログラム・キャッシュ・メモリ・タグ0に対応して、外部RAM150のアドレス0に記憶されているプログラムが書き込まれる。また、プログラム・キャッシュ・メモリ・タグnに対応して、外部RAM150のアドレスnに記憶されているプログラムが書き込まれる。このように、キャッシュコントローラ111aは、図7に示すようにプログラム・キャッシュ・メモリ・タグnと、外部RAM150のアドレスnとを対応付ける。プログラム・キャッシュ・メモリ・タグにより、プログラム・キャッシュ・メモリ112に書き込まれたプログラムが、どのアドレスに対応しているかを判別することができる。キャッシュコントローラ111aはタグ領域520の所定のタグに対して外部RAMのアドレスを書き込む。
内蔵プログラム・メモリ113の容量には限りがある。そのため、動作を行なうためのプログラムの全てを内蔵プログラム・メモリ113に搭載することができない。そこで、プロセッサ(1)100の動作を把握しているプロセッサ(2)120が必要に応じてプログラムの一部、又は全部をプログラム・キャッシュ・メモリ112に取り込ませる。例えば、プロセッサ(1)100にエンコードを行わせたい時は、エンコード用プログラムをプログラム・キャッシュ・メモリ112に取り込ませる。あるいは、デコードを行なわせたい時は、デコード用プログラムをプログラム・キャッシュ・メモリ112に取り込ませる。もちろん、プログラム・キャッシュ・メモリ112に取り込ませるプログラムは、上記以外のプログラムであってもよい。また、プログラム・キャッシュ・メモリ112にプログラムの一部のみを取り込ませてもよい。
ここで、プログラム・キャッシュ・メモリ112に対するプロセッサ(2)120からのプログラムの書き込みは、図8に示されたAのルートで行なわれる。すなわち、プロセッサ(2)120から、システムバス160、システムバスI/F118、及びデータアクセスI/F117を介してプログラム・キャッシュ・メモリ112にプログラムが直接、書き込まれる。このように、プロセッサ(2)120から、外部RAM150を介さずにプログラム・キャッシュ・メモリ112にプログラムが書き込まれる。キャッシュコントローラ111aによってプログラム・キャッシュ・メモリ112にプログラムが書き込まれないため、プログラム・キャッシュ・メモリ・タグが書き換えられない。従って、プログラム・キャッシュ・メモリ・タグには、外部RAM150のアドレスが書き込まれたままとなる。キャッシュコントローラ111aは、外部RAM150から読み込まれたプログラムがキャッシュに取り込まれていると認識している。従って、演算ユニット110は、あたかも、プロセッサ(1)100は、プログラム・キャッシュ・メモリ112に外部RAM160のプログラムが書き込まれているかのように、処理を行う。このため、プロセッサ(1)100は外部RAM150へ一切プログラム・フェッチ・アクセスを行わず、プログラム・キャッシュ・メモリ112に格納されているプログラム・コードを実行する。従って、プロセッサ(2)120は外部RAM150を存分に使用することができる。これにより、プログラム・キャッシュ・メモリ112の容量分だけ、外部RAM150の容量の増加を防ぐことができる。外部RAM150のうちの他用途として使用することができる空き容量を実質的に増加することができる。
プロセッサ(2)120からプログラム・キャッシュ・メモリ112にプログラムを書き込むには、例えば、図5に示したようなジャンプ命令を有する初期化用プログラム・コードが使用される。具体的には、図3で示した割り込み処理を行った後、プロセッサ(2)120は、プログラムを外部RAM150に書き込む。ジャンプ命令を有する初期化用プログラムを使用することにより、外部RAM150のアドレスとプログラム・キャッシュ・メモリ・タグとが対応付けられる。すなわち、プロセッサ(1)100は、キャッシュコントローラ111aのタグ領域と、外部RAM150のアドレスとの対応付けを行なう。ここで、プロセッサ(2)120のメモリマップ上には、プロセッサ(1)100のプログラム・キャッシュ・メモリ112が見えている。これにより、プロセッサ(1)100のプログラム・キャッシュ・メモリ112にプロセッサ(1)が必要としているプログラムを書き込むことができる。このとき、プログラムはAのルートで書き込まれる。そして、プロセッサ(1)がプログラム・キャッシュ・メモリ112に書き込まれたプログラムを外部RAM150にあるプログラムと同様に使用する。このように、ジャンプ命令を有するプログラムを使用することによって、プロセッサ(2)120から簡便にプログラム・キャッシュ・メモリにプログラムを書き込むことができる。
実施例2.
本実施例にかかるデータ処理装置の構成について図9を用いて説明する。本実施例にかかるデータ処理装置の基本的構成は、実施例1で示したデータ処理装置と同じである。従って、上述のデータ処理装置と重複する内容については、説明を省略する。本実施例にかかるデータ処理装置では、プログラム・キャッシュ・メモリ・タグを書き込むルートが実施例1と異なっている。本実施例では、プロセッサ(2)120からプログラム・メモリ・キャッシュ112にプログラムを書き込む際、図9に示すBのルートで、プログラム・キャッシュ・メモリ112にタグが書き込まれる。すなわち、システムバス160、システムバスI/F118、データアクセスI/F117、及びキャッシュコントローラ111aを介して、タグがプログラム・キャッシュ・メモリ112に書き込まれる。このように、本実施例では、キャッシュコントローラ111aがプログラム・キャッシュ・メモリ112にタグを書き込む。
本実施例では、データアクセスI/F117からキャッシュコントローラ111aへの書き込みが可能になるようデータ接続している。これにより、キャッシュコントローラ111aによるプログラム・キャッシュ・メモリ・タグの書き換えをBのルートで直接行なうことができる。従って、実施例1で示したジャンプ命令を有するプログラムの読み込みが不要となる。すなわち、キャッシュコントローラ111aは、プロセッサ(2)120によるプログラムの書き込みとともに、プログラム・キャッシュ・メモリ・タグを書き換える。このとき、プロセッサ(2)のメモリ・マップには、プロセッサ(1)100のプログラム・キャッシュ・メモリ112がマッピングされている。従って、プログラム・キャッシュ・メモリ・タグには、プログラムの読み出し元であるプロセッサ(2)120のROMや、内蔵プログラム・メモリ132のアドレスが書き込まれる。従って、プロセッサ(2)120は、外部RAM150を存分に使用することができる。これにより、実施例1と同様にプログラム・キャッシュ・メモリ112の容量分だけ、外部RAM150の容量の増加を防ぐことができる。
実施例3.
本実施例にかかるデータ処理装置の構成について図10を用いて説明する。本実施例にかかるデータ処理装置は、実施例1で示したデータ処理装置と基本的構成は同じである。従って、上述のデータ処理装置と重複する内容については、説明を省略する。本実施例にかかるデータ処理装置のプロセッサ(1)100には、データを書き込むためのデータ・キャッシュ・メモリ119が設けられている。データ・キャッシュ・メモリ119には、例えば、プログラムの実行により得られたプログラムデータ等が記憶される。このデータ・キャッシュ・メモリ119についても、プログラム・キャッシュ・メモリ112と同様に接続する。そして、データ・キャッシュ・メモリ119をプロセッサ(2)120のメモリマップ上に見えるようにしておく。これにより、プロセッサ(2)120から、データ・キャッシュ・メモリ119を書き換えることができる。従って、実施例1と同様に、プログラム・キャッシュ・メモリ112の容量分だけ、外部RAM150の容量の増加を防ぐことができる。まお、データ・キャッシュ・メモリ119に対する書き込みは、Aのルート、及びBのルートのいずれでもよい。
本実施例で示したように、プロセッサ(2)120からの書き込みは、プロセッサ(1)100で使用されるプログラムに限られるものではなく、プログラムデータであってもよい。すなわち、プロセッサ(1)100で使用されるプログラムコード、やプログラムデータなどの様々なデータをプロセッサ(2)120からキャッシュ・メモリに書き込むことができる。ここで、データとは、プロセッサ(1)100で使用されるプログラムのコードや、プログラムで処理されるプログラムデータ等の情報を含むものである。すなわち、プログラム・キャッシュ・メモリ112にプロセッサ(2)120から書き込まれるデータには、プロセッサ(1)100で使用されるプログラムや、そのプログラムで処理されるデータがある。これにより、プログラム・キャッシュ・メモリ112の容量分だけ、外部RAM150の容量の増加を防ぐことができる。外部RAM150のうちの他用途として使用することができる空き容量を実質的に増加することができる。
本発明にかかるデータ処理装置のシステム構成を示すブロック図である。 本発明にかかるデータ処理装置のメモリマップを示す図である。 本発明にかかるデータ処理装置のプログラム・キャッシュ・メモリの初期化の手順を示すフローチャートである。 本発明にかかるデータ処理装置のプログラム・キャッシュ・メモリの初期化の手順を示すフローチャートである。 本実施の形態にかかるデータ処理装置において、プログラム・キャッシュ・メモリの初期化プログラム・コードを外部RAMに読み込んだ際の外部RAMとプログラム・キャッシュ・メモリに格納されているデータを示す図である。 本実施の形態にかかるデータ処理装置において、初期化プログラム実行後の外部RAMとプログラム・キャッシュ・メモリに格納されているデータを示す図である。 本発明の実施例1にかかるデータ処理装置の構成を示すブロック図である。 本発明の実施例1にかかるデータ処理装置において、プログラムの書き込みルートを示す図である。 本発明の実施例2にかかるデータ処理装置において、プログラムの書き込みルートを示す図である。 本発明の実施例3にかかるデータ処理装置において、プログラムデータの書き込みルートを示す図である。 一般的なプログラム・キャッシュ・メモリの構成を示す図である。 従来のデータ処理装置のシステム構成を示すブロック図である。 従来のデータ処理装置のメモリマップを示す図である。 従来のデータ処理装置のプログラム・キャッシュ・メモリの初期化の手順を示すフローチャートである。 従来のデータ処理装置のプログラム・キャッシュ・メモリの初期化の手順を示すフローチャートである。
符号の説明
100 プロセッサ(1)、110 演算ユニット、111 メモリ・コントローラ
112 プログラム・キャッシュ・メモリ、113 内蔵プログラム・メモリ、
119 データ・キャッシュ・メモリ、114 ROM、120 プロセッサ(2)、
130 演算ユニット、131 メモリ・コントローラ、
132 内蔵プログラム・メモリ、133 ROM、
140 割り込み信号(1)、141 割り込み信号(2)、150 外部RAM、
160 システムバス
200 外部RAM、210 テーブル・データ、
211 プログラム・キャッシュ・メモリ、410〜413 プログラムコード
500 メモリ領域、510〜513 プログラム・キャッシュ・メモリ領域、
520 タグ領域、530〜533 プログラム・キャッシュ・メモリ・タグ
600 プロセッサ(1)、610 演算ユニット、611 メモリ・コントローラ
612 プログラム・キャッシュ・メモリ、613 内蔵プログラム・メモリ、
620 プロセッサ(2)、630 演算ユニット、631 メモリ・コントローラ、
632 内蔵プログラム・メモリ、640 割り込み信号

Claims (10)

  1. ターゲットプログラムを実行する第1のプロセッサと、
    第2のプロセッサと、
    前記第1のプロセッサによって読み出し/書き込みが行なわれる外部RAMとを有し、
    前記第1のプロセッサは、
    前記ターゲットプログラムの少なくとも一部を格納するキャッシュ・メモリと、
    前記キャッシュ・メモリへのデータの入出力を制御する第1のメモリ・コントローラとを有し、
    前記第2のプロセッサは、
    前記第1のプロセッサの前記キャッシュ・メモリに対しデータを書込み可能な第2のメモリ・コントローラを有し、
    前記第1のプロセッサは、前記第1のメモリ・コントローラが前記外部RAMにアクセスせず前記キャッシュ・メモリにアクセスするよう、前記キャッシュ・メモリを初期化し、
    前記第2のメモリ・コントローラは、前記ターゲットプログラムの少なくとも一部を前記第1のプロセッサの前記キャッシュ・メモリに直接書き込み、
    前記第1のプロセッサは、前記外部RAMにアクセスすることなく、前記ターゲットプログラムを実行するデータ処理装置。
  2. 前記キャッシュ・メモリのメモリ領域のうち、前記第2のプロセッサから前記ターゲットプログラムの少なくとも一部が書き込まれたメモリ領域に対応するタグ領域には、前記外部RAMのアドレスが対応付けられている請求項1に記載のデータ処理装置。
  3. 前記第1のプロセッサは、前記外部RAMに初期化プログラムを書込み、
    前記第1のプロセッサは、前記初期化プログラムにより、当該外部RAM上で一定アドレス間隔のジャンプ命令を実行し、
    前記ジャンプ命令を前記第1のプロセッサが実行した後、前記第2のメモリ・コントローラは、前記ターゲットプログラムの少なくとも一部を前記キャッシュ・メモリのメモリ領域に書き込む請求項2に記載のデータ処理装置。
  4. 前記第2のプロセッサから前記キャッシュ・メモリに前記ターゲットプログラムの少なくとも一部が書き込まれた状態では、前記第1のプロセッサは、前記外部RAMからデータを読み込んだ場合でも、当該データを前記キャッシュ・メモリに書き込まない請求項1、2又は3に記載のデータ処理装置。
  5. 前記第1のプロセッサは、前記ターゲットプログラムの一部を格納する内部プログラム・メモリを有し、第2のプロセッサは、前記ターゲットプログラムの残部を格納する第2のメモリを有する、請求項1乃至4のいずれか1項記載のデータ処理装置。
  6. 前記ターゲットプログラムの大きさは、前記内部プログラム・メモリの容量より大きい、請求項記載のデータ処理装置。
  7. ターゲットプログラムを実行する第1のプロセッサと、第2のプロセッサと、前記第1のプロセッサによって読み出し/書き込みが行なわれる外部RAMとを有するデータ処理装置のデータ処理方法であって、
    前記第1のプロセッサのメモリ・コントローラが前記外部RAMにアクセスすることなくキャッシュ・メモリにアクセスするように当該キャッシュ・メモリを初期化し、
    前記第2のプロセッサの第2のメモリ・コントローラにより、ターゲットプログラムの少なくとも一部を前記第1のプロセッサの前記キャッシュ・メモリに直接書き込み、
    前記第1のプロセッサが前記外部RAMにアクセスすることなく、前記ターゲットプログラムを実行するデータ処理方法。
  8. 前記キャッシュ・メモリのメモリ領域のうち、前記第2のプロセッサから前記ターゲットプログラムの少なくとも一部が書き込まれたメモリ領域に対応するタグ領域には、前記外部RAMのアドレスが対応付けられている請求項7に記載のデータ処理方法。
  9. 前記外部RAMに、前記外部RAM上で一定アドレス間隔のジャンプ命令を実行させる初期化プログラムが書き込まれ、
    前記初期化プログラムを前記第1のプロセッサが実行した後、前記第2のプロセッサから前記キャッシュ・メモリのメモリ領域に前記ターゲットプログラムの少なくとも一部を書き込む請求項8に記載のデータ処理方法。
  10. 前記第2のプロセッサから前記キャッシュ・メモリに前記ターゲットプログラムの少なくとも一部が書き込まれた状態では、前記第1のプロセッサは、前記外部RAMからデータを読み込んだ場合でも、当該データを前記キャッシュ・メモリに書き込まない請求項7、8又は9に記載のデータ処理方法。
JP2006054279A 2005-04-28 2006-03-01 データ処理装置及びデータ処理方法 Expired - Fee Related JP4471947B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2006054279A JP4471947B2 (ja) 2005-04-28 2006-03-01 データ処理装置及びデータ処理方法
US11/410,931 US8122192B2 (en) 2005-04-28 2006-04-26 Data processing apparatus and data processing method
KR1020060039062A KR100861896B1 (ko) 2005-04-28 2006-04-28 데이터 프로세싱 장치 및 데이터 프로세싱 방법
US13/348,445 US8312216B2 (en) 2005-04-28 2012-01-11 Data processing apparatus and data processing method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005131212 2005-04-28
JP2006054279A JP4471947B2 (ja) 2005-04-28 2006-03-01 データ処理装置及びデータ処理方法

Publications (2)

Publication Number Publication Date
JP2006331391A JP2006331391A (ja) 2006-12-07
JP4471947B2 true JP4471947B2 (ja) 2010-06-02

Family

ID=37235776

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006054279A Expired - Fee Related JP4471947B2 (ja) 2005-04-28 2006-03-01 データ処理装置及びデータ処理方法

Country Status (3)

Country Link
US (2) US8122192B2 (ja)
JP (1) JP4471947B2 (ja)
KR (1) KR100861896B1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008155806A1 (ja) * 2007-06-20 2008-12-24 Fujitsu Limited バリア同期方法、装置、及びマルチコアプロセッサ
DE102011084569B4 (de) * 2011-10-14 2019-02-21 Continental Automotive Gmbh Verfahren zum Betreiben eines informationstechnischen Systems und informationstechnisches System
JP6142916B2 (ja) * 2013-03-01 2017-06-07 日本電気株式会社 情報処理装置、情報処理方法及びコンピュータプログラム
US9794366B1 (en) * 2016-10-19 2017-10-17 Red Hat, Inc. Persistent-memory management

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4413317A (en) * 1980-11-14 1983-11-01 Sperry Corporation Multiprocessor system with cache/disk subsystem with status routing for plural disk drives
US4445174A (en) * 1981-03-31 1984-04-24 International Business Machines Corporation Multiprocessing system including a shared cache
EP0404128B1 (en) 1989-06-21 1997-09-03 Hitachi, Ltd. Multi-processor system with hierarchical cache memory
JPH05225147A (ja) * 1992-02-17 1993-09-03 Toshiba Corp マルチプロセッサ型データ処理システム
JPH0944401A (ja) * 1995-07-27 1997-02-14 Nec Ibaraki Ltd キャッシュ制御装置
JPH11175398A (ja) 1997-12-11 1999-07-02 Matsushita Electric Ind Co Ltd メモリ装置
JPH11306029A (ja) 1998-04-17 1999-11-05 Toyota Motor Corp 割り込み処理装置、方法及び媒体
JP4076316B2 (ja) * 2000-09-08 2008-04-16 株式会社日立製作所 不揮発性キャッシュメモリを用いたデータ書き込みシステム
JP4043225B2 (ja) * 2001-12-10 2008-02-06 株式会社ルネサステクノロジ キャッシュ装置および方法
JP2004005287A (ja) 2002-06-03 2004-01-08 Hitachi Ltd コプロセッサを搭載したプロセッサシステム
US6973541B1 (en) * 2002-09-26 2005-12-06 Unisys Corporation System and method for initializing memory within a data processing system
JP4173110B2 (ja) * 2004-01-29 2008-10-29 株式会社日立製作所 記憶装置システム
JP2005259051A (ja) * 2004-03-15 2005-09-22 Ip Flex Kk プロセッシングユニットおよびその制御方法

Also Published As

Publication number Publication date
KR100861896B1 (ko) 2008-10-09
US8122192B2 (en) 2012-02-21
JP2006331391A (ja) 2006-12-07
US20060248263A1 (en) 2006-11-02
US8312216B2 (en) 2012-11-13
KR20060113560A (ko) 2006-11-02
US20120110268A1 (en) 2012-05-03

Similar Documents

Publication Publication Date Title
US4942519A (en) Coprocessor having a slave processor capable of checking address mapping
US7299323B2 (en) Memory controller having a read-modify-write function
JP2010500682A (ja) フラッシュメモリアクセス回路
JP4471947B2 (ja) データ処理装置及びデータ処理方法
JP4745613B2 (ja) 情報処理装置及び情報処理方法
US20030084232A1 (en) Device and method capable of changing codes of micro-controller
JP2006318471A (ja) データ処理におけるメモリキャッシング
JP2007299249A (ja) Nand型フラッシュメモリデバイス及びこれを利用したコンピューティングシステムの起動方法
KR20200123799A (ko) 디바이스를 디버깅할 때 메타데이터에 액세스하기 위한 장치 및 방법
US8117427B2 (en) Motherboard, storage device and controller thereof, and booting method
JP2008065725A (ja) Nand型フラッシュメモリデバイス及びこれを利用したコンピューティングシステムの起動方法
JP2005182538A (ja) データ転送装置
JP2003309564A (ja) マイクロコンピュータシステムおよびそれに使用されるトランシーバ
JP4083474B2 (ja) メモリ装置の制御方法およびそのプログラムならびに記録媒体
US6356976B1 (en) LSI system capable of reading and writing at high speed
WO2010029682A1 (ja) 情報処理装置
JP2005276104A (ja) マイクロコンピュータ
JP2006146817A (ja) メモリ制御システム及びメモリ制御装置
JP3442972B2 (ja) 情報処理装置および書き換え可能型不揮発性メモリの書き換え方法
JP2000267986A (ja) メモリ制御装置およびメモリ制御方法
JP3006487B2 (ja) エミュレーション装置
JP5644539B2 (ja) プロセッサ、情報処理装置、情報処理方法及びシステム起動プログラム
JP2002140205A (ja) データ処理装置およびデータ処理装置のブート処理方法
JP2002140228A (ja) データ処理装置およびデータ処理装置のメモリアクセス制御方法
JP2002007154A (ja) 情報処理装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090818

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090908

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091105

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091117

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100112

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: 20100209

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: 20100302

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

Free format text: PAYMENT UNTIL: 20130312

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4471947

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130312

Year of fee payment: 3

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

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

Free format text: PAYMENT UNTIL: 20130312

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20130312

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140312

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees