JP5644539B2 - プロセッサ、情報処理装置、情報処理方法及びシステム起動プログラム - Google Patents

プロセッサ、情報処理装置、情報処理方法及びシステム起動プログラム Download PDF

Info

Publication number
JP5644539B2
JP5644539B2 JP2011012703A JP2011012703A JP5644539B2 JP 5644539 B2 JP5644539 B2 JP 5644539B2 JP 2011012703 A JP2011012703 A JP 2011012703A JP 2011012703 A JP2011012703 A JP 2011012703A JP 5644539 B2 JP5644539 B2 JP 5644539B2
Authority
JP
Japan
Prior art keywords
instruction
transfer
cache
storage means
processor
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
JP2011012703A
Other languages
English (en)
Other versions
JP2012155439A (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 JP2011012703A priority Critical patent/JP5644539B2/ja
Publication of JP2012155439A publication Critical patent/JP2012155439A/ja
Application granted granted Critical
Publication of JP5644539B2 publication Critical patent/JP5644539B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Description

本発明はプロセッサ、情報処理装置、情報処理方法及びシステム起動プログラムに関し、特に命令キャッシュとデータキャッシュ間での転送機能を有するプロセッサ、そのプロセッサを含む情報処理装置、そのプロセッサを用いた情報処理方法、及びそのプロセッサに実行させるプログラムに関する。
機器の多様化や高機能化が進む組込機器の分野においては、電源投入と同時に使用できることが基本的に要求されており、システム起動処理の高速化がより一層重要度を増してきている。
一般的に、システム起動処理では、システム起動処理の実行開始時にRead Only Memory(以降ROMと記載)やNOR型フラッシュメモリ(以降NORと記載)などよりも高速なDynamic Random Access Memory(以降DRAMと記載)にROMやNOR内に格納されている命令とデータが一旦転送される。そして、DRAM内の命令とデータを使用してシステム起動処理が行われ、システム起動処理の実行中にキャッシュミスヒットが発生した場合は、Central Processing Unit(以降CPUと記載)は、命令とデータをROMやNORなどから再取得するのではなくDRAMから取得する方式が採られている。
しかし、システムの起動直後では、DRAMの初期化が完了しておらず、DRAMを使用できない区間が存在する。そのため、キャッシュミスヒットが発生した場合、CPUは、このDRAMを使用できない区間ではDRAMよりも低速なROMやNORなどから命令またはデータを再度読み込む必要がある。
そこで、DRAMが使用できない区間においてキャッシュミスヒットが発生した場合に行うROMやNORなどからの読み込みの回数を軽減する方法として、マルチCPUを有するシステムにおけるキャッシュのマイグレーション技術が開発されている。
図8に、上述のキャッシュマイグレーションに関する情報処理装置のブロック図を示す。CPU−1〜NとNOR802の間にはCPU間キャッシュ共有制御モジュール803が配置される。CPU間キャッシュ共有制御モジュール803は、CPU−1でキャッシュミスヒットが発生した場合、CPU間キャッシュ共有制御モジュール803自身が管理するキャッシュの内容を示す制御情報を参照して他のCPU−2〜NのLevel1キャッシュ(以降L1キャッシュと記載)内に必要な命令300またはデータ301が存在するかを確認する。CPU−2〜NのL1キャッシュ804内にCPU−1でキャッシュミスヒットした命令300またはデータ301が存在する場合には、CPU間キャッシュ共有制御モジュール803は、CPU−2〜NのL1キャッシュ804内に存在している命令300またはデータ301をCPU−1のL1キャッシュ804に転送するキャッシュ間転送を行う。このように、CPU−1〜Nのキャッシュ間のコヒーレンシを保つようにCPU間キャッシュ共有制御モジュール803が動作することで、CPU−1〜Nの間でキャッシュを共有することができ、処理の高速化が実現されている。
また、上述のキャッシュマイグレーションに関連する技術として、複数のマイクロプロセッサを有するシステムにおいてメモリを共有する技術が特許文献1に開示されている。
特開2005−050368号公報
マルチCPUを有するシステムにおいて、いくつかのCPUが命令フェッチを行わない場合がある。例えば、システム起動処理の開始時点では1つのCPUのみが動作し、他のCPUは割り込み待ちなどの待ち合わせ処理の実行中となっている場合がある。
システム起動処理ではデバイスを初期化する順序が決められており、各デバイスを初期化する場合に、デバイスのレジスタに値を設定する順序も予め決められている。複数のCPUで並列に1つのデバイスのレジスタへ値を設定するためには、複雑な排他制御が必要となるため逆に待ち時間が多くなり、並列化のメリットが享受できない。そのため、システム起動処理では、複数ではなく1つのCPUで動作する場合が多く、他のCPUは割り込み待ちなどの待ち合わせ処理の実行中となっている。
命令キャッシュとデータキャッシュが分離しているハーバードアーキテクチャを採用しているシステムでは、ROMやNORに格納されている命令は、CPUが命令を実行する前に行う命令フェッチの際に命令キャッシュに載せられる。つまり、命令フェッチが行われない限り、ROMやNORに格納されている命令が命令キャッシュに存在しないことになる。
このようにシステム起動処理を1つのCPUが行い、他のCPUは待ち合わせ処理の実行中となる場合には、他のCPUにおいて命令フェッチが行われないため、他のCPUの命令キャッシュに命令が格納されていない。従って、キャッシュのマイグレーション技術を導入しても、キャッシュミスヒット時に行うROMやNORへのアクセス回数を削減できないという問題が生じることになる。
本発明は上記の課題を鑑み、複雑な排他制御を必要とせずにキャッシュの有効利用を可能とするシステムを提供することを目的とする。
本発明にかかるプロセッサは、命令を一時記憶する第1の記憶手段と、命令及びデータを一時記憶する第2の記憶手段と、前記第2の記憶手段に一時記憶されている命令を前記第1の記憶手段に転送する転送手段と、第3の記憶手段に格納されている命令を前記第2の記憶手段に読み込む第1の制御と前記転送手段に対して前記第2の記録手段へ読み込まれた命令を前記第1の記憶手段に対して転送させる第2の制御とを行う制御手段と、を具備する。
また、本発明にかかる情報処理装置は、命令及びデータを格納する第3の記憶手段と、命令を一時記憶する第1の記憶手段と、命令及びデータを一時記憶する第2の記憶手段と、前記第2の記憶手段に一時記憶されている命令を前記第1の記憶手段に転送する転送手段と、前記第3の記憶手段に格納されている命令を前記第2の記憶手段に読み込む第1の制御と前記転送手段に対して前記第2の記録手段へ読み込まれた命令を前記第1の記憶手段に対して転送させる第2の制御とを行う制御手段と、を具備するプロセッサを複数備える。
また、本発明にかかる情報処理方法は、命令をデータキャッシュにロードする第1ロード工程と、前記ロードされた命令とロード先のデータキャッシュ及びアドレスとの対応関係を記した制御情報を記憶する記憶工程と、前記データキャッシュにロードされた命令を命令キャッシュへ転送する転送工程と、前記転送が完了したことを通知する通知工程と、前記通知に基づいて前記制御情報を更新する更新工程と、を有する。
また、本発明にかかるプログラムは、複数のプロセッサを有する情報処理装置において、第1のプロセッサにシステムの起動に関する処理を実行させ、前記第1のプロセッサ以外のプロセッサに、前記第1のプロセッサで実行されうる命令をデータキャッシュにロードさせる処理と、前記ロードされた命令を前記データキャッシュから命令キャッシュに転送させる処理と、を実行させる。
本発明によれば、複雑な排他制御を必要とすることなくキャッシュの共有化を図ることが可能となる。
本発明にかかるプロセッサを示すブロック図である。 本発明にかかる転送モジュールの動作のフローチャートを示す図である。 キャッシュ間の転送の様子を示す概念図である。 実施の形態1にかかる情報処理装置を示すブロック図である。 NORから複数のCPUへのロードの様子を示す概念図である。 CPU間キャッシュ共有制御モジュールが有する制御情報を示す図である。 CPU間キャッシュ共有制御モジュールが有する制御情報を示す図である。 背景技術にかかる情報処理装置を示すブロック図である。
以下、本発明について図面を参照して説明する。
図1は、本発明にかかるCPUのブロック図である。本発明のシステムは、ハーバードアーキテクチャを採用しており、CPU100は、命令キャッシュ101とデータキャッシュ102の2つの分離したL1キャッシュを有する。
命令キャッシュ101は、後述する制御部103で実行される命令が一時的に格納される第1の記録手段である。命令は、図示せぬ外部のROMやNORなどに格納されており、命令が実行される前段階に行われる命令フェッチによって命令キャッシュに取り出される。当該命令は、制御部103で解読された後に実行される。
データキャッシュ102は、NOR等から読み込まれた内容が一時的に格納される第2の記憶手段である。通常、ハーバードアーキテクチャでは、命令系統とデータ系統が分離されているため、データキャッシュに命令が格納されることはない。しかし、本発明では、所定の場合に命令もデータキャッシュ102に一時的に格納されることを特徴とする。なお、データキャッシュ102に格納された命令は、この状態では制御部で実行すべき命令としてフェッチされることはない。
制御部103は、図示せぬROMやNORなどの低速メモリに格納されている内容をデータキャッシュ102へロードする。ROMやNORは、命令やデータを格納する第3の記憶手段であり、第3の記憶手段は、第1の記憶手段である命令キャッシュや第2の記憶手段であるデータキャッシュといったL1キャッシュよりも読み込み速度が遅いことで特徴づけられる。
上記のロード方法としては、既存のロード命令を用いることができる。ここで、ロード命令とは、指定されたアドレスに格納されている内容をデータキャッシュに読み込む命令のことを言う。なお、ロード命令では、複数のアドレスを指定して、一括してデータ等を読み込むことが可能となっている。
制御部103は、キャッシュ間転送要求命令に基づいて、後述するキャッシュ間転送モジュール104に対してキャッシュ間転送要求を出力する。キャッシュ間転送要求命令は、新たに定義された命令であり、キャッシュ間転送モジュール104に対してデータキャッシュの内容を命令キャッシュに転送させるための命令である。
キャッシュ間転送モジュール104は、制御部103から出力されたキャッシュ間転送要求に基づいて、データキャッシュ102に格納されている内容を命令キャッシュ101に転送する。
図2に上記キャッシュ間転送モジュール104の動作のフローチャートを示す。
キャッシュ間転送モジュール104は、制御部103よりキャッシュ間転送要求が出力されたかどうかの判断を行う(ステップ1)。キャッシュ間転送要求を受け取っていない場合には、引き続き待機状態を維持する。
キャッシュ間転送モジュール104は、キャッシュ間転送要求を受け取った場合は、データキャッシュ102からダーティビット部分以外のキャッシュラインの内容を読み出す(ステップ2)。なお、この段階のデータキャッシュ102にはNORからロードされた命令が格納されている。命令は更新されることがなく、命令キャッシュ101にダーティビットは存在しない。従って、ダーティビットの転送は不要であるから、読み出される範囲は、ダーティビット部分以外のキャッシュラインの内容となる。
次に、キャッシュ間転送モジュール104は、読み出したデータキャッシュ102の内容を命令キャッシュ101にコピーする(ステップ3)。
次に、キャッシュ間転送モジュール104は、読み出した範囲がキャッシュラインの終端に到達したかどうかの判断を行う(ステップ4)。キャッシュラインの終端まで読み出しが完了していない場合は、再度ステップ2に戻り、すべての読み出しが完了するまでステップ2〜ステップ4の処理を繰り返し行う。
キャッシュラインの終端まで読み出しが完了した場合は、キャッシュ間転送モジュール104は、データキャッシュ102から命令キャッシュ101への転送が完了したことを図示せぬCPU間キャッシュ共有制御モジュールに対して通知する(ステップ5)。その後、キャッシュ間転送モジュール104は、再びステップ1へ戻って待機状態となる。
図3に、データキャッシュ102に格納された内容がキャッシュ間転送モジュール104によって命令キャッシュ101に転送される様子を示す。データキャッシュ内に格納されている命令は、格納場所を示すアドレス及びダーティビットと対応付けされている。キャッシュ間転送モジュール104は、データキャッシュ102に格納されている命令を、その命令内容及び格納アドレスを変更することなくそのまま命令キャッシュ101へ転送する。
制御部103は、上記キャッシュ間転送後に再度ロードを実行し、NOR等に格納されているデータをデータキャッシュ102に読み込む。
このように、CPU100内に分離されて存在している命令キャッシュ101とデータキャッシュ102の間にキャッシュ間転送モジュール103を搭載することで、本来独立している2つのキャッシュ間にパスが形成される。従って、NOR等から一度に多くの命令をロードしデータキャッシュ102に載せた後に、その命令を命令キャッシュ101へ転送することで、命令フェッチを行うことなく命令を命令キャッシュ101に載せることが可能となる。
上記のように、本発明のプロセッサは、第1の記憶手段である命令キャッシュと第2の記憶手段であるデータキャッシュの2つのキャッシュを有する。さらに、本発明のプロセッサは、前記第2の記憶手段に一時記憶されている命令を命令キャッシュに転送する転送手段を有する。また、制御手段は、第3の記憶手段としての外部メモリに格納されている命令をデータキャッシュに読み込む第1の制御と前記転送手段に転送を行わせる第2の制御とを行う。このような構成をとることにより、プロセッサは、命令フェッチを行わなくても命令を命令キャッシュに格納することができる。
また、上記転送手段による転送は、新たに定義されたキャッシュ間転送要求命令によって可能となる。すなわち、上記制御手段は、転送手段に上記転送を行わせる命令であるキャッシュ間転送要求命令を実行することで上記第2の制御を行う。制御手段が、第3の記憶手段に記憶されている命令又はデータを前記第2の記憶手段に読み込ませる命令であるロード命令を実行することで上記第1の制御を行う。制御手段は、第3の記憶手段に記憶されている命令の範囲を指定してロード命令を実行し、命令が第2の記憶手段に読み込まれた後に、上記第1の制御を行うことで命令を第1の記憶手段に一時記憶させることが可能となる。このように、新たにキャッシュ間転送要求命令を定義し、制御手段が、当該命令を実行することによりキャッシュ間転送が開始される。
また、上記転送手段は、転送前後で、命令が一時記憶されている第2の記憶手段のアドレスと第1の記憶手段のアドレスが同一になるように当該命令を転送する。このように転送手段は、各々の記憶手段での格納アドレスを変更することなく転送することで、転送前後でも管理が簡単となる。転送手段は、転送処理が完了すると、外部に転送完了を通知することで、自プロセッサのキャッシュ間転送が完了し、マイグレーションが可能な状態であることを通知する。
また、本発明の情報処理方法では、第1の工程として、外部記憶手段から第1のキャッシュであるデータキャッシュに命令を読み込む。次に、第2の工程として、データキャッシュに読み込まれた命令を、命令の内容及び格納するアドレスを同一に保った状態で第2のキャッシュである命令キャッシュに転送する。次に、第3の工程として、転送が完了したことを通知する。
以上により、L1キャッシュのマイグレーションが実施される場合には、必要な命令の多くが命令キャッシュに存在しているため、キャッシュヒット率が向上し、処理が高速となる。以下、この点に関して各実施の形態でより詳細に説明する。
(実施の形態1)
図4に本実施の形態1における情報処理システムのブロック図を示す。本システムは、大きく分けてCPU−1〜4の4つのCPU100 (以降各CPU100をCPU100−1〜CPU100−4と記載する)、DRAM201、NOR202、及びCPU間キャッシュ共有制御モジュール203から構成される。なお、以下ではCPUが4つである場合について説明するが、CPUの数については4つに限定するものではなく、N個のCPUを有するシステムについて拡張可能である。
低速メモリであるNOR202には命令300とデータ301が格納されている。電源が投入され、システム起動処理が開始されると、命令300及びデータ301はNOR102から高速メモリであるDRAM201へ転送される。ただし、初期化等の理由によりDRAM201が使用できない区間では、命令300とデータ301はNOR202から直接各CPU100へ読み込まれる。
CPU間キャッシュ共有制御モジュール203は、NOR202と各CPU100との間に配置されている。CPU間キャッシュ共有制御モジュール203は、L1キャッシュのマイグレーション機能を有しており、各CPU100内のキャッシュのコヒーレンシを保たせるための制御を行う。
各CPU100は、命令フェッチによって取り出した命令を解読・実行して制御処理や演算処理などを行う。以下、システム起動時における各CPU100の個別処理について具体的に説明する。本実施の形態では、4つのCPUのうちCPU100−1のみがシステム起動処理を行う場合について説明する。なお、システム起動処理を1つのCPUが行う理由は、システム起動処理を複数のCPUで実行しても、逆に待ち時間が多くなり並列化のメリットが享受できないからである。すなわち、システム起動処理において実行されるデバイス初期化処理では、デバイスのレジスタに値を設定する順序が決められているが、複数のCPUで並列に1つのデバイスのレジスタへ値を設定するためには複雑な排他制御が必要となる。そのため、この複雑な排他制御を避けるために、システム起動処理を複数のCPU100で並列して行うのではなく、従来どおりCPU100−1のみで行うこととする。
まず、システム起動時において、システム起動処理を行わないCPU100−2からCPU100−4の動作に関して説明する。ここで言うシステム起動処理とは、デバイスの初期化のことをいう。通常、システム起動時においては、デバイスの初期化の順序が決められており、各デバイスを初期化する場合は、デバイスのレジスタに値を設定する処理が必要となる。ここでは、CPU100−2からCPU100−4の動作は同一であるため、代表してCPU100−2の動作について説明し、CPU100−3とCPU100−4については動作の説明を省略する。
CPU100−2内の制御部103は、ロード命令を実行し、NOR202に格納されている命令300をロードして、命令300をデータキャッシュ102に格納する。図5は、当該ロードの様子を示した図である。各CPU100は、他のCPUのロード範囲と重複しない範囲で自CPUがロードする範囲を指定しロード命令を実行する。各CPUがロードする範囲は、最小で命令キャッシュ101のキャッシュラインのサイズであり、最大で命令キャッシュ101の全体サイズである。ロードする範囲は、NOR202からの読み出し速度に応じて変更することも可能である。しかし、CPUが、NOR202からの読み出し性能を上回る範囲を指定した場合、命令キャッシュ201の構築が、後述するキャッシュミスヒット時に行うL1キャッシュのマイグレーション処理に間に合わず、キャッシュヒットしない可能性がある。従って、各CPU100は、NOR202の読み出し性能範囲内でロードする範囲を指定することが望ましい。
NOR202からロード命令で読み出された命令300は、システムとして採用したキャッシュの構造に依存することなく、アドレスとその内容という構造でキャッシュ内に格納される。NOR202からロード命令で読み出された命令300については、CPU間キャッシュ共有制御モジュール203が把握している。CPU間キャッシュ共有制御モジュール203はCPU100−2からCPU100−4のL1キャッシュ内に必要な命令300またはデータ301が存在するのかを、CPU間キャッシュ共有制御モジュール203自身が管理するキャッシュの内容を示す制御情報から確認する。
図6に、上記制御情報の一例を示す。CPU間キャッシュ共有制御モジュール203はこのような管理テーブルを記録・更新しており、ロード命令により指定されたアドレス範囲の内容がデータキャッシュ102に存在することを記録している。
次に、制御部103は、データキャッシュ102に格納された命令300を命令キャッシュ101に転送するために、キャッシュ間転送要求をキャッシュ間転送モジュール104に出す。このキャッシュ間転送要求は、新たに追加定義された命令300であるキャッシュ間転送要求命令400に従って実行される。すなわち、制御部103は、NOR内に格納されている上記キャッシュ間転送要求命令400を命令フェッチして取り出し、実行してキャッシュ間転送要求をキャッシュ間転送モジュール104へ出す。
ここで、キャッシュ間転送要求命令400は、転送する範囲も同時に指定することが可能である。つまり、キャッシュ間転送モジュール104に対して、データキャッシュ102からどれだけの命令300を命令キャッシュ101に転送させるのかを指定することが可能である。キャッシュ間転送モジュール104は、キャッシュ間転送要求に基づいて、指定された範囲でデータキャッシュ102に一時保管されている命令を命令キャッシュ101へ転送する。
データキャッシュ102と命令キャッシュ101の構造は両方ともアドレスとその内容で対になっている構造であるため、キャッシュ間転送モジュール104は、データキャッシュ102に格納された内容をそのまま命令キャッシュ101に転送することが可能となる。すなわち、キャッシュ間転送モジュール104は、データキャッシュ102に格納された内容である命令を変更することなく、また、各キャッシュ内でのアドレスを変更することなく転送することができる。
次に、キャッシュ間転送モジュール104は、CPU間キャッシュ共有制御モジュール203に対してデータキャッシュ102の内容を命令キャッシュ101に転送したことを通知する。
CPU間キャッシュ共有制御モジュール203は、キャッシュ間転送モジュールからの転送完了通知を受けると、内部で管理しているキャッシュの内容を示す制御情報を更新する。
図7に更新後の制御情報の内容を示す。図6に示す制御情報と比較して、更新後の制御情報では、命令の格納先がデータキャッシュから命令キャッシュに変更されて記録されている。キャッシュ間転送モジュール104が行った転送処理により、データキャッシュ内にあった命令が命令キャッシュに転送されているためである。このように、CPU間キャッシュ共有制御モジュール203は、キャッシュ間転送モジュール104より転送完了通知を受けると、命令が現在格納されている場所を正しく特定できるように制御情報を更新する。
次に制御部103は、ロード命令を実行して、NORからデータをロードし、データキャッシュの構築を行う。
以上のようにCPU100―2からCPU100−4が動作することにより、システム起動処理に必要となる可能性がある命令及びデータを、各々のL1キャッシュ内にキャッシュのコヒーレンシが保たれた状態で格納することができる。なお、NOR202から多くの命令300をロード命令により一度にデータキャッシュ102に格納するようにシステム起動処理に関するプログラムの内容に変更が加えられている。
また、上記説明したようにキャッシュ間転送要求命令400が新たに追加定義されている。そのため、コンパイラにも変更が加えられている。コンパイラでは、本発明を使用することを示すコンパイルオプションを新たに定義する。該当のコンパイルオプションが指定された場合、システム起動処理を行うCPU100−1以外のCPU100−2〜CPU100−4が上述した4つの処理(1:命令のロード.2:転送処理.3:転送完了通知.4:データのロード.)を繰り返して行うコードを生成する。
次にCPU100−1の動作に関して説明する。CPU100−1は、システム起動時において、各デバイスの初期化といったシステムの起動に関する処理を行う。以下、システム起動処理中にキャッシュミスヒットが発生した場合の処理について具体的に説明する。
CPU100−1内の制御部103は、キャッシュミスヒットが発生した場合に、CPU間キャッシュ共有制御モジュール203に対して必要な命令300又はデータ301の転送要求を行う。
CPU間キャッシュ共有制御モジュール203は、CPU100−1からの転送要求を受け取ると、自己が管理しているキャッシュの内容とその格納場所を示す制御情報を参照して、要求されている命令300又はデータ301が他CPUの命令キャッシュ又はデータキャッシュに存在するかどうかを確認する。当該命令300やデータ301が他CPUのキャッシュに存在する場合には、CPU間キャッシュ共有制御モジュール203は当該命令300を他CPUの命令キャッシュからCPU100−1の命令キャッシュへ、また、当該データ301を他CPUのデータキャッシュからCPU100−1のデータキャッシュへそれぞれ転送する制御を行う。なお、制御情報に当該命令300又はデータ301に関する情報が記録されていない場合には、CPU間キャッシュ共有制御モジュール203は、キャッシュ間共有はできないと判断し、NOR202からこれらの命令等を取得する制御を行う。
このように、本発明にかかわる情報処理装置は、複数のCPUを搭載している。各CPUは、命令を一時記憶する第1の記憶手段としての命令キャッシュと、命令及びデータを一時記憶する第2の記憶手段としてのデータキャッシュの2つのL1キャッシュを有する。また、各CPUは、前記命令キャッシュから命令を取り出して命令を実行する実行手段と、前記データキャッシュに一時記憶されている命令を前記命令キャッシュに転送する転送手段とを有している。そして、情報処理装置は、前記命令キャッシュに一時記憶されている命令又は前記データキャッシュに一時記憶されているデータの前記複数のCPU間での転送を制御する転送制御手段と、を有する。このように構成することで、1のCPUでキャッシュミスヒット時でも他のCPUの命令キャッシュに記憶されている命令を転送することができる。
また、前記各CPU内の転送手段は、データキャッシュから命令キャッシュへの転送が完了した場合に、転送が完了したことを示す転送完了信号を前記転送制御手段へ出力する。前記転送制御手段は、前記転送完了信号に基づいて前記制御情報を更新する。より具体的には、前記転送制御手段は、前記通知完了信号を入力すると、転送された命令に関する制御情報について、当該命令が格納されている場所をデータキャッシュから命令キャッシュに変更する。ただし、キャッシュ内でのアドレスは同一に保たれたまま転送されるため、制御情報に記されているアドレスは変更しない。このように制御情報を更新することであるCPU内においてデータキャッシュから命令キャッシュへの転送行われても、転送制御手段は、適切に各CPUのキャッシュ内の情報を管理することができる。
また、本発明にかかわるシステム起動プログラムでは、複数のCPUを有する情報処理装置において、第1のCPUにシステムの起動に関する処理を実行させ、前記第1のCPU以外のCPUに、前記第1のCPUで実行される命令をデータキャッシュにロードさせる処理と、前記ロードされた命令を前記データキャッシュから命令キャッシュに転送させる処理と、を実行させる。ここで第1のCPUが実行するシステム起動に関する処理には、例えばデバイスの初期化処理が含まれ、より具体的には、デバイスのレジスタへ値を設定する処理が含まれる。このように、本発明にかかわるシステム起動プログラムは、一のCPUにシステム起動処理を担当させ、その他のCPUは、システム起動処理を実行しているCPUが必要とする命令の一部を、命令フェッチを行うことなく転送機能を用いて命令キャッシュに格納させる。従って、キャッシュのマイグレーションが可能な状態であるため、システム起動処理を実行しているCPUにおいてキャッシュミスヒットが起きても、他のCPUの命令キャッシュから適切に命令を転送させることができる。
以上のように、本実施の形態の発明では、システム起動処理を行うCPU以外のCPU内の命令キャッシュとデータキャッシュに、システム起動処理の処理内容である命令300とその処理に必要なデータ301がそれぞれ格納される。これらの命令300やデータ301に対してキャッシュ間共有が行われることにより起動処理の高速化が実現できる。
従来のマルチCPUシステムにおいては、4つのCPUを備えていてもCPU−2からCPU−4は単に割り込み待ちなどの待ち合わせ処理の実行中状態となっておりCPU−2からCPU−4のL1キャッシュにはシステム起動処理に必要となる命令300やデータ301が存在しないため、まったくキャッシュヒットしない。そのため、キャッスミスヒットが起こる度に命令300およびデータ301の再取得のためNORへアクセスする必要があり、システム起動処理時間がNORへのアクセス時間分長くなっていた。
しかし、本発明のマルチCPUシステムにおいては、新たにキャッシュ間転送モジュールがCPUに搭載され、従来では待ち合わせ処理の実行中であったCPUでも所定の処理が行われる。すなわち、ロード命令によりNOR等から命令をデータキャッシュに読み込む処理と、キャッシュ間転送要求命令により、データキャッシュの内容をそのまま命令キャッシュに転送する処理を行う。これらの処理は、システムの起動に関する処理とは異なるため、システム起動処理を実行しているCPUを意識せずに行うことができる。すなわち、システム起動処理を実行しているCPUは、複雑な排他制御を行う必要はなく、他のCPUの処理完了を待ち合わせる必要もない。このように構成することで、システム起動処理を担当していないCPUでも命令を命令キャッシュに格納しておくことができる。
つまり、本実施の形態の発明ではCPU−2からCPU−4のL1キャッシュにはシステム起動処理の処理内容である命令300と、その処理に必要なデータ301が対応するそれぞれのキャッシュ内に存在する。そこで、CPU間キャッシュ共有制御モジュール203が制御情報に基づいて必要な命令300やデータ301が格納されているキャッシュを特定し、CPU−1のキャッシュに命令300およびデータ301を転送する。この構成により、NORへアクセスする場合と比較して高速にシステム起動処理を継続することが可能となる。
このように、キャッシュ間のコヒーレンシを保つCPU間キャッシュ共有制御モジュール203がキャッシュミスヒット時に行うL1キャッシュのマイグレーションにおいて、マイグレーションの対象として検索するCPU内のL1キャッシュの範囲が従来に比較してCPUの数分大きくなる。マイグレーションの対象として検索するCPU内のL1キャッシュの範囲が大きくなればキャッシュヒット率が向上し、処理の高速化を実現する。
なお、上記説明では、電源投入時におけるシステム起動の動作を中心に説明したが、これに限るものではなく、組込機器が通常稼働している場合においても本発明を利用することができる。しかし、処理の繰り返しが少ないという特徴があるシステム起動処理ではキャッシュヒット率が低く、必要な命令やデータを再取得するためのNORへアクセスが頻繁に発生するため、特に本発明を実施することにより得られる効果が高い。
また、上記説明では命令とデータの格納先はNORとして説明したが、格納先の記憶手段としては命令とデータが格納できれば特に限定はしない。
また、命令キャッシュとデータキャッシュが採用しているキャッシュの構造は、例えば、フルアソシアティブ(Full Associative)方式、ダイレクトマップ(Direct Map)方式、またはセットアソシアティブ(Set Associative)方式などのいずれの方式の構造とすることができる。ただし、命令キャッシュとデータキャッシュは同じ方式を採用していることが求められる。
なお、上記説明ではマルチCPUの場合について説明したが、マルチコアの場合でも同様に本発明を適用することができる。この場合、図4のCPU100−1〜4を、それぞれコア1〜4としてとらえればよい。
また、上記説明では、制御部とキャッシュ間転送モジュールとを分離されたブロックとして説明したが、これに限るものではなく、当該制御部が転送機能を取り込む形で構成されていても良い。この場合、制御部は、命令フェッチにより新たに定義されているキャッシュ間転送要求命令を実行し、制御部自身が図2に示すフローに従ってデータキャッシュ内に格納されている命令を命令キャッシュに転送する処理を行っても良い。
(その他の実施の形態)
本実施の形態に関する情報処理装置の具体的構成は、実施の形態1と同一であるため図1を援用して説明する。すなわち、CPUは、データキャッシュと命令キャッシュとキャッシュ間転送モジュールと制御部を備えており、情報処理装置はこのようなCPUを複数備えたマルチCPUシステムである。
電源が投入されると、CPU−1はシステム起動処理を開始する。
CPU−2〜CPU−4は、実施の形態1と同様、命令キャッシュ101及びデータキャッシュ102に命令とデータの格納を行う。すなわち、第1の処理として、ロード命令を実行してNORから命令をデータキャッシュにロードする。次に、データキャッシュに格納した命令を命令キャッシュへ転送する。そして、再度ロード命令を実行し、データをデータキャッシュに格納する。
ここで、CPU−2〜CPU−4は、CPU−1が実行している命令よりも先の処理内容を命令キャッシュ101とデータキャッシュ102にあらかじめ構築しておく。すなわち、システム起動処理の中で現在CPU−1が実行している処理よりも後で必要となる命令及びデータをそれぞれ命令キャッシュ及びデータキャッシュに格納しておく。
次に、システム起動処理を行うCPUをCPU−1からCPU−2〜4のいずれかのCPUに変更する。この変更は自発的に行われてもよいし、システム起動処理を実行していたCPU1が何らかのトラブルで起動処理を継続できなくなった場合に、CPU2〜4にその担当が移譲される構成であってもよい。
このように、マルチCPUを有するシステムにおいて、1つのCPUがシステム起動処理を行い、他のCPUはシステム起動処理の担当の移譲に備えて、必要となる命令及びデータのキャッシュ構築を予め行ったうえで待機しておく。そして、担当の移譲が行われた場合には、移譲されたCPUが引き続きシステム起動処理を継続する。
このように、システム起動処理を行うCPUの変更が可能となる構成とすることで、システム起動処理を行っていたCPUに復旧および実行継続不可能なハードウェア障害が発生しても、別のCPUでシステム起動処理を継続して実行でき、システム全体の対障害性が向上する。すなわち、システム起動処理を行うCPUを別のCPUに変更する、システム起動処理自体のマイグレーションが可能となる。
なお、上記説明では1つのCPUのみがシステム起動処理を実行する場合について説明したがこれに限定するものではない。すなわち、N個のCPUを有するマルチCPUシステムにおいて、一部のCPU群が排他制御を行いながらシステム起動処理を担当し、他のCPU群がロード命令及びキャッシュ間転送要求命令を実行して、システム起動処理で必要となる命令を命令キャッシュに格納するよう動作しても良い。
なお、上述したプログラムは、コンピュータ・システムがアクセス可能な様々な種類の記憶媒体に格納することが可能である。また、このプログラムは、通信媒体を介して伝達されることが可能である。ここで、記憶媒体には、例えば、フレキシブルディスク、ハードディスク、磁気ディスク、光磁気ディスク、CD−ROM、DVD、ROMカートリッジ、バッテリバックアップ付きRAMメモリカートリッジ、フラッシュメモリカートリッジ、不揮発性RAMカートリッジ等が含まれる。また、通信媒体には、電話回線等の有線通信媒体、マイクロ波回線等の無線通信媒体等が含まれ、インターネットも含まれる。
また、上記説明では、命令キャッシュとデータキャッシュの2つのL1キャッシュ間での転送について説明したが、キャッシュが階層化されている場合にはこれらのキャッシュ間での転送に拡張することも可能である。すなわち、Lnキャッシュ(nは2以上の整数)まで階層化されている場合には、n階層のデータキャッシュに読み込まれた命令をn階層の命令キャッシュに転送する制御を上述の制御手段が行う構成であっても良い。
また、上記説明では組込機器における場合について説明したがこれに限るものではなく、様々な種類の情報処理装置について本発明を利用することができる。
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変形・変更することが可能である。本発明の実施の形態としては様々な態様が考えられ、例えば以下のような実施の形態が可能である。
(1)命令を一時記憶する第1の記憶手段と、命令及びデータを一時記憶する第2の記憶手段と、前記第2の記憶手段に一時記憶されている命令を前記第1の記憶手段に転送する転送手段と、第3の記憶手段に格納されている命令を前記第2の記憶手段に読み込む第1の制御と前記転送手段に対して前記第2の記録手段へ読み込まれた命令を前記第1の記憶手段に対して転送させる第2の制御とを行う制御手段と、を具備するプロセッサ。
(2)前記制御手段は、前記第3の記憶手段に記憶されている命令又はデータを前記第2の記憶手段に読み込ませる命令であるロード命令を実行することで前記第1の制御を行い、前記転送手段に前記転送を行わせる命令であるキャッシュ間転送要求命令を実行することで前記第2の制御を行う、(1)に記載のプロセッサ。
(3)前記転送手段は、転送前の前記命令が一時記憶されていた前記第2の記憶手段のアドレスと転送後に前記命令が一時記憶される前記第1の記憶手段のアドレスとが同一になるように転送することを特徴とする、(1)又は(2)に記載のプロセッサ。
(4)前記第1の制御及び第2の制御によって処理される命令は、他のプロセッサに対して転送されるための命令であることを特徴とする(1)から(3)に記載のプロセッサ。
(5)前記第1の制御及び第2の制御は、他のプロセッサがシステム起動処理を実行している間に行われる、(1)から(4)に記載のプロセッサ。
(6)命令及びデータを格納する第3の記憶手段と、命令を一時記憶する第1の記憶手段と、命令及びデータを一時記憶する第2の記憶手段と、前記第2の記憶手段に一時記憶されている命令を前記第1の記憶手段に転送する転送手段と、前記第3の記憶手段に格納されている命令を前記第2の記憶手段に読み込む第1の制御と前記転送手段に対して前記第2の記録手段へ読み込まれた命令を前記第1の記憶手段に対して転送させる第2の制御とを行う制御手段と、を具備するプロセッサを複数備える、情報処理装置。
(7)前記第1の記憶手段に一時記憶されている命令又は前記第2の記憶手段に一時記憶されているデータの前記複数のプロセッサ間での転送を制御する転送制御手段を更に備える、(6)に記載の情報処理装置。
(8)前記複数のプロセッサが具備する各々の前記転送手段は、転送前の前記命令が一時記憶されていた前記第2の記憶手段のアドレスと転送後の前記命令が一時記憶される前記第1の記憶手段のアドレスとが同一になるように前記転送を行うことを特徴とする、(6)又は(7)に記載の情報処理装置。
(9)前記転送制御手段は、前記複数のプロセッサが有する前記第1の記憶手段又は前記第2の記憶手段に一時記憶されている命令又はデータの内容及び記憶場所が対応付けられた制御情報を有する、(6)から(8)に記載の情報処理装置。
(10)前記転送手段は、前記転送が完了したことを示す転送完了信号を前記転送制御手段へ出力し、前記転送制御手段は、前記転送完了信号に基づいて前記制御情報を更新する、(9)に記載の情報処理装置。
(11)命令をデータキャッシュにロードする第1ロード工程と、前記ロードされた命令とロード先のデータキャッシュ及びアドレスとの対応関係を記した制御情報を記憶する記憶工程と、前記データキャッシュにロードされた命令を命令キャッシュへ転送する転送工程と、前記転送が完了したことを通知する通知工程と、前記通知に基づいて前記制御情報を更新する更新工程と、を有する情報処理方法。
(12)前記更新工程は、前記通知に基づいて前記命令の格納先を示す情報をアドレスは同一に保ちつつデータキャッシュから命令キャッシュに変更して前記制御情報を更新する、(11)に記載の情報処理方法。
(13)第1のプロセッサにシステム起動に関する処理を実行させ、前記第1のプロセッサ以外のプロセッサに、前記第1のプロセッサで実行されうる命令をデータキャッシュにロードさせる処理と、前記ロードされた命令を前記データキャッシュから命令キャッシュに転送させる処理と、を実行させるシステム起動方法。
(14)第1のプロセッサにシステム起動に関する処理を実行させ、前記第1のプロセッサ以外のプロセッサに、前記第1のプロセッサで実行されうる命令をデータキャッシュにロードさせる処理と、前記ロードされた命令を前記データキャッシュから命令キャッシュに転送させる処理と、を実行させるシステム起動方法。
(15)第1のプロセッサにシステムの起動に関する処理を実行させ、前記第1のプロセッサ以外のプロセッサに、前記第1のプロセッサで実行されうる命令をデータキャッシュにロードさせる処理と、前記ロードされた命令を前記データキャッシュから命令キャッシュに転送させる処理と、を実行させ、所定の条件に基づいてシステム起動処理の実行担当を前記第1のプロセッサから他のプロセッサに変更する処理をいずれかのプロセッサに実行させる、システム起動方法。
(16)複数のプロセッサを有する情報処理装置において、第1のプロセッサにシステムの起動に関する処理を実行させ、前記第1のプロセッサ以外のプロセッサに、前記第1のプロセッサで実行されうる命令をデータキャッシュにロードさせる処理と、前記ロードされた命令を前記データキャッシュから命令キャッシュに転送させる処理と、を実行させるプログラム。
(17)複数のプロセッサを有する情報処理装置において、第1のプロセッサにシステムの起動に関する処理を実行させ、前記第1のプロセッサ以外のプロセッサに、前記第1のプロセッサで実行されうる命令をデータキャッシュにロードさせる処理と、前記ロードされた命令を前記データキャッシュから命令キャッシュに転送させる処理と、を実行させ、所定の条件に基づいてシステム起動処理の実行担当を前記第1のプロセッサから他のプロセッサに変更する処理をいずれかのプロセッサに実行させる、プログラム。
100 CPU
101 命令キャッシュ
102 データキャッシュ
103 制御部
104 キャッシュ間転送モジュール
201 DRAM
202 NOR
203 CPU間キャッシュ共有制御モジュール
300 命令
301 データ
800 CPU
801 DRAM
802 NOR
803 CPU間キャッシュ共有制御モジュール
804 L1キャッシュ

Claims (10)

  1. 命令を一時記憶する第1の記憶手段と、
    命令及びデータを一時記憶する第2の記憶手段と、
    前記第2の記憶手段に一時記憶されている命令を前記第1の記憶手段に転送する転送手段と、
    第3の記憶手段に格納されている命令を前記第2の記憶手段に読み込む第1の制御と前記転送手段に対して前記第2の記憶手段へ読み込まれた命令を前記第1の記憶手段に対して転送させる第2の制御とを行う制御手段と、
    を具備し、
    前記第1の制御及び前記第2の制御によって処理される命令は、所定の処理を実行するプロセッサである他のプロセッサに対して転送されうる命令であり、
    前記他のプロセッサが前記所定の処理を実行している間に、前記所定の処理を行わず、前記第1の制御及び前記第2の制御を行う
    プロセッサ。
  2. 前記制御手段は、前記第3の記憶手段に記憶されている命令又はデータを前記第2の記憶手段に読み込ませる命令であるロード命令を実行することで前記第1の制御を行い、前記転送手段に前記転送を行わせる命令であるキャッシュ間転送要求命令を実行することで前記第2の制御を行う、
    請求項1に記載のプロセッサ。
  3. 前記転送手段は、転送前の前記命令が一時記憶されていた前記第2の記憶手段のアドレスと転送後に前記命令が一時記憶される前記第1の記憶手段のアドレスとが同一になるように転送することを特徴とする、
    請求項1又は2に記載のプロセッサ。
  4. 命令及びデータを格納する第3の記憶手段と、
    命令を一時記憶する第1の記憶手段と、命令及びデータを一時記憶する第2の記憶手段と、前記第2の記憶手段に一時記憶されている命令を前記第1の記憶手段に転送する転送手段と、前記第3の記憶手段に格納されている命令を前記第2の記憶手段に読み込む第1の制御と前記転送手段に対して前記第2の記憶手段へ読み込まれた命令を前記第1の記憶手段に対して転送させる第2の制御とを行う制御手段と、を具備するプロセッサを複数備え、
    複数の前記プロセッサのうち、第1のプロセッサが所定の処理を実行し、
    前記所定の処理を実行しない前記第1のプロセッサ以外のプロセッサは、前記第1のプロセッサが前記所定の処理を実行している間に、前記第1の制御及び前記第2の制御を行い、
    前記第1の制御及び前記第2の制御によって処理される命令は、前記第1のプロセッサに対して転送されうる命令である
    情報処理装置。
  5. 前記第1の記憶手段に一時記憶されている命令又は前記第2の記憶手段に一時記憶されているデータの前記複数のプロセッサ間での転送を制御する転送制御手段を更に備える、
    請求項4に記載の情報処理装置。
  6. 前記複数のプロセッサが具備する各々の前記転送手段は、転送前の前記命令が一時記憶されていた前記第2の記憶手段のアドレスと転送後の前記命令が一時記憶される前記第1の記憶手段のアドレスとが同一になるように前記転送を行うことを特徴とする、
    請求項4又は5に記載の情報処理装置。
  7. 前記転送制御手段は、前記複数のプロセッサが有する前記第1の記憶手段又は前記第2の記憶手段に一時記憶されている命令又はデータの内容及び記憶場所が対応付けられた制御情報を有する、
    請求項5に記載の情報処理装置。
  8. 前記転送手段は、前記転送が完了したことを示す転送完了信号を前記転送制御手段へ出力し、
    前記転送制御手段は、前記転送完了信号に基づいて前記制御情報を更新する、
    請求項7に記載の情報処理装置。
  9. 複数のプロセッサのうち、第1のプロセッサにより所定の処理を実行し、
    複数のプロセッサのうち、前記所定の処理を実行しない前記第1のプロセッサ以外のプロセッサにより、前記第1のプロセッサが前記所定の処理を実行している間に、第3の記憶手段に格納されている命令を第2の記憶手段に読み込み、前記第2の記憶手段に読み込まれ一時記憶されている命令を第1の記憶手段に転送し、
    前記第1の記憶手段に転送された前記命令を、前記第1のプロセッサに対して転送する
    情報処理方法。
  10. 複数のプロセッサを有する情報処理装置において、
    第1のプロセッサに所定の処理を実行させ、
    前記所定の処理を実行しない前記第1のプロセッサ以外のプロセッサに、前記第1のプロセッサが前記所定の処理を実行している間に、前記第1のプロセッサで実行されうる命令をデータキャッシュにロードさせる処理と、前記ロードされた命令を前記データキャッシュから命令キャッシュに転送させる処理と、
    を実行させるプログラム。
JP2011012703A 2011-01-25 2011-01-25 プロセッサ、情報処理装置、情報処理方法及びシステム起動プログラム Expired - Fee Related JP5644539B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011012703A JP5644539B2 (ja) 2011-01-25 2011-01-25 プロセッサ、情報処理装置、情報処理方法及びシステム起動プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011012703A JP5644539B2 (ja) 2011-01-25 2011-01-25 プロセッサ、情報処理装置、情報処理方法及びシステム起動プログラム

Publications (2)

Publication Number Publication Date
JP2012155439A JP2012155439A (ja) 2012-08-16
JP5644539B2 true JP5644539B2 (ja) 2014-12-24

Family

ID=46837129

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011012703A Expired - Fee Related JP5644539B2 (ja) 2011-01-25 2011-01-25 プロセッサ、情報処理装置、情報処理方法及びシステム起動プログラム

Country Status (1)

Country Link
JP (1) JP5644539B2 (ja)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03158943A (ja) * 1989-11-17 1991-07-08 Mitsubishi Electric Corp バッファ記憶・転送方式
JP2002007212A (ja) * 2000-06-19 2002-01-11 Sony Corp キャッシュ・メモリ・システム及びキャッシュ・メモリ制御方法
US7500056B2 (en) * 2004-07-21 2009-03-03 Hewlett-Packard Development Company, L.P. System and method to facilitate reset in a computer system
GB2426082B (en) * 2005-05-09 2007-08-15 Sony Comp Entertainment Europe Memory caching in data processing
JP2007114890A (ja) * 2005-10-18 2007-05-10 Matsushita Electric Ind Co Ltd 演算処理装置およびキャッシュ動作方法
JP2007264976A (ja) * 2006-03-28 2007-10-11 Nec Corp コンピュータシステム、データ退避方法、及び、プログラム
JP2008293426A (ja) * 2007-05-28 2008-12-04 Toshiba Corp 情報処理装置及びそのデータ記録方法

Also Published As

Publication number Publication date
JP2012155439A (ja) 2012-08-16

Similar Documents

Publication Publication Date Title
US10846237B2 (en) Methods and apparatus for locking at least a portion of a shared memory resource
US9244883B2 (en) Reconfigurable processor and method of reconfiguring the same
US20080235477A1 (en) Coherent data mover
EP3547146B1 (en) System, method, and apparatus for detecting repetitive data accesses and automatically loading data into local cache
US20070239940A1 (en) Adaptive prefetching
JP2007219581A (ja) メモリコントローラおよびこれを搭載する電子機器
JPH09120372A (ja) プリフェッチ命令を用いるハーバードアーキテクチャキャッシュメモリの調和したソフトウェア制御
JP7096840B2 (ja) 能力メタデータを管理するための装置及び方法
JP2006287675A (ja) 半導体集積回路
US9507534B2 (en) Home agent multi-level NVM memory architecture
JP5625809B2 (ja) 演算処理装置、情報処理装置及び制御方法
JP4666511B2 (ja) データ処理におけるメモリキャッシング
JP2011138213A (ja) 演算処理装置、情報処理装置及びキャッシュメモリ制御方法
JP3973129B2 (ja) キャッシュメモリ装置及びそれを用いた中央演算処理装置
JP2010102623A (ja) キャッシュメモリ及びその制御方法
KR20190130570A (ko) 슈퍼-스레드 프로세서
JP4471947B2 (ja) データ処理装置及びデータ処理方法
JP5644539B2 (ja) プロセッサ、情報処理装置、情報処理方法及びシステム起動プログラム
US20090100232A1 (en) Processor, information processing device and cache control method of processor
CN115481072A (zh) 核间数据传输方法、多核芯片及机器可读存储介质
JP2012038262A (ja) キャッシュメモリおよびデータ処理装置
US8862825B2 (en) Processor supporting coarse-grained array and VLIW modes
JP4664011B2 (ja) 情報処理装置及び情報処理方法
JP3260566B2 (ja) 情報処理システムにおける記憶制御方法および記憶制御装置
KR20240067941A (ko) 예비 디렉토리 항목에 특정 데이터 패턴의 표시 저장

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131212

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140625

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140715

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140912

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141020

R150 Certificate of patent or registration of utility model

Ref document number: 5644539

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees