(57)【要約】  本発明は、特に例えばスマートカードコントローラのような、マイクロコントローラのＮＶコードメモリにおける書き込み又はプログラミングプロセスを高速化させるために使用され得る、対応するコンピュータプログラム及び対応するコンピュータにより読み出し可能な記憶媒体と共にコントローラアーキテクチャにおけるＮＶメモリに書き込むための装置及び方法を開示している。  前記方法は、いわゆるＭＯＶＣＷＲ（転送コード書き込み（ｍｏｖｅ  ｃｏｄｅ  ｗｒｉｔｅ））命令によってコントローラの命令セットを拡張することにある。これにより、規定されたデータワード（バイト）をＮＶコードメモリ内の規定された送信先アドレスに書き込むことが可能になる。データワード（バイト）はこの場合各々のＮＶメモリのキャッシュページレジスタの正しい位置に書き込まれ、メモリのページアドレスポインタレジスタは関連するページアドレスで更新される。  ＭＭＵ（メモリ管理ユニット）がもたらされている場合、キャッシュページレジスタへのこのＭＯＶＣＷＲ書き込みは、このＭＭＵの制御下で、ＭＯＶＣ読み出し又はコードフェッチのように行われる。【特許請求の範囲】
【請求項１】
コントローラアーキテクチャにおけるＮＶメモリに書き込むための方法において、一つ又は複数の規定されたデータ値若しくは一つ又は複数の規定されたデータワードが、前記一つ又は複数のデータ値若しくは前記一つ又は複数のデータワードを前記ＮＶメモリのキャッシュページレジスタの所定の位置に書き込むと共に前記ＮＶメモリのページアドレスポインタレジスタを更新することによって、前記ＮＶメモリ内の一つ又は複数の規定された送信先アドレスに書き込まれることを特徴とする方法。
【請求項２】
前記ＮＶメモリに書き込むために、コントローラコアの命令セットが、更なる転送コード書き込み命令によって拡張される請求項１に記載の方法。
【請求項３】
前記コントローラコアの前記更なる命令が、書き込まれるべき前記データ値又は書き込まれるべき前記データワードのためのパラメータ及びアドレスポインタのためのパラメータの転送を行うと共に、ＮＶメモリインタフェイス及びメモリ管理ユニットのための、対応する制御信号を活性化させることを特徴とする請求項１乃至２の何れか一項に記載の方法。
【請求項４】
メモリ管理ユニットがもたらされている場合、前記転送コード書き込み命令に対するアドレス処理が、転送コード命令又はコードフェッチの処理と同じ態様で行われることを特徴とする請求項１乃至３の何れか一項に記載の方法。
【請求項５】
前記コントローラのメモリ管理ユニットがもたらされている場合、当該メモリ管理ユニットは、制御信号パスによって拡張されることを特徴とする請求項１乃至４の何れか一項に記載の方法。
【請求項６】
メモリ管理ユニットがもたらされている場合、前記メモリ管理ユニットによってイネーブルされている、前記ＮＶメモリのアドレス領域のみが書き込まれることを特徴とする請求項１乃至５の何れか一項に記載の方法。
【請求項７】
コードメモリの特別のマッピングは、メモリ管理ユニットがもたらされている場合、前記コントローラの前記アドレス領域内で考慮されることを特徴とする請求項１乃至６の何れか一項に記載の方法。
【請求項８】
同じページアドレスを備える複数のデータ値及び／又はデータワードが連続的に書き込まれることを特徴とする請求項１乃至７の何れか一項に記載の方法。
【請求項９】
前記キャッシュページレジスタのコンテンツは、前記ＮＶメモリの制御レジスタに書き込むことによって前記ＮＶメモリに書き込まれることを特徴とする請求項１乃至８の何れか一項に記載の方法。
【請求項１０】
前記ＮＶメモリの前記キャッシュページレジスタは、転送コード書き込み命令の際に新たなページアドレスに変更されるとき、消去されることを特徴とする請求項１乃至９の何れか一項に記載の方法。
【請求項１１】
誤ったアドレスによる古いページレジスタコンテンツの所望されない書き込みが防止されることを特徴とする請求項１乃至１０の何れか一項に記載の方法。
【請求項１２】
コントローラアーキテクチャにおけるＮＶメモリへの書き込みが行われ得る態様で設計される、プロセッサを有する装置であって、一つ又は複数の規定されたデータ値若しくは一つ又は複数の規定されたデータワードが、前記一つ又は複数のデータ値若しくは前記一つ又は複数のデータワードを前記ＮＶメモリの前記キャッシュページレジスタの前記所定の位置に書き込むと共に前記ＮＶメモリの前記ページアドレスポインタレジスタを更新することによって、前記ＮＶメモリ内の一つ又は複数の規定された送信先アドレスに書き込まれることを特徴とするプロセッサを有する装置。
【請求項１３】
プロセッサがスマートカードコントローラの一部であり、前記装置がスマートカードである請求項１２に記載のプロセッサを有する装置。
【請求項１４】
コンピュータ又はスマートカードコントローラは、前記コンピュータ又は前記スマートカードコントローラのメモリにロードされているときにコントローラアーキテクチャにおけるＮＶメモリへの書き込みを行うことを可能にするプログラムが記憶される、コンピュータにより読み出し可能な記憶媒体を有し、一つ又は複数の規定されたデータ値若しくは一つ又は複数の規定されたデータワードは、前記一つ又は複数のデータ値若しくは前記一つ又は複数のデータワードを前記ＮＶメモリのキャッシュページレジスタの所定の位置に書き込むと共に前記ＮＶメモリのページアドレスポインタレジスタを更新することによって、前記ＮＶメモリ内の一つ又は複数の規定された送信先アドレスに書き込まれるコンピュータプログラム。
【請求項１５】
コンピュータ又はスマートカードコントローラは、前記コンピュータ又はスマートカードコントローラのメモリにロードされるときにコントローラアーキテクチャにおけるＮＶメモリへの書き込みを行うことを可能にするプログラムが記憶される、コンピュータにより読み出し可能な記憶媒体であって、一つ又は複数の規定されたデータ値若しくは一つ又は複数の規定されたデータワードは、前記一つ又は複数のデータ値若しくは前記一つ又は複数のデータワードを前記ＮＶメモリのキャッシュページレジスタの所定の位置に書き込むと共に前記ＮＶメモリのページアドレスポインタレジスタを更新することによって、前記ＮＶメモリ内の一つ又は複数の規定された送信先アドレスに書き込まれる、コンピュータにより読み出し可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、特に例えばスマートカードコントローラのような、マイクロコントローラのＮＶコードメモリにおける書き込み又はプログラミングプロセスを高速化させるために使用され得る、対応するコンピュータプログラム及び対応するコンピュータにより読み出し可能な記憶媒体と共にコントローラアーキテクチャにおけるＮＶメモリに書き込むための装置及び方法に関する。
【背景技術】
【０００２】
１９７０年代のマイクロエレクトロニクスの発展により、ユーザインタフェイスを必要としない、クレジットカード形式（ｃｒｅｄｉｔ  ｃａｒｄ  ｆｏｒｍａｔ）における小型コンピュータを製造することが可能になった。当該コンピュータはスマートカードとして知られている。スマートカードにおいて、データメモリと算術及び論理ユニットとが、数ミリメートル角のサイズの単一のチップに集積される。スマートカードは、特にテレフォンカード及びＧＳＭ  ＳＩＭカードとして、更に金融及び医療分野において使用される。このようにスマートカードは普及したコンピューティングプラットフォームになっている。
【０００３】
スマートカードは、現在主に機密データのための安全な記憶場所（ｓｅｃｕｒｅ  ｓｔｏｒａｇｅ  ｌｏｃａｔｉｏｎ）として、及び暗号化アルゴリズムのための暗号化実行プラットフォーム（ｓｅｃｕｒｅ  ｅｘｃｕｔｉｏｎ  ｐｌａｔｆｏｒｍ）として評価されている。カード上のデータ及びアルゴリズムが比較的よく機密保護されるという仮定は、外部インタフェイス及びカードのハードウエアの構造に基づいている。カードは外見上、明確に規定されたハードウエア／ソフトウエアインタフェイスを介して機能のみが利用され得ると共に、あるセキュリティポリシー（ｓｅｃｕｒｉｔｙ  ｐｏｌｉｃｙ）を実現するために使用され得る“ブラックボックス”である。一方で、ある状態が、データにアクセスするために付され得る。例えば公開鍵（ｐｕｂｌｉｃ  ｋｅｙ）プロシージャの秘密鍵（ｓｅｃｒｅｔ  ｋｅｙ）のようなクリティカルデータ（ｃｒｉｔｉｃａｌ  ｄａｔａ）は、外部アクセスから完全に控えられることさえあり得る。他方でスマートカードは、個々のオペレーションの実行が外部から観測され得ない場合にアルゴリズムを実行できる状況にある。前記アルゴリズム自体は、カード上で修正（ｍｏｄｉｆｉｃａｔｉｏｎ）及び読み出し（ｒｅａｄ−ｏｕｔ）から保護され得る。オブジェクト指向（ｏｂｊｅｃｔ−ｏｒｉｅｎｔｅｄ）の意味において、スマートカードは、明確に規定されたインタフェイスを有し、特定の働きを示し、自身の状態に関連して、ある完全性の状態（ｉｎｔｅｇｒｉｔｙ  ｃｏｎｄｉｔｉｏｎｓ）に従うことをそれ自身保証できる状況にある抽象データ型（ａｂｓｔｒａｃｔ  ｄａｔａ  ｔｙｐｅ）とみなされてもよい。
【０００４】
ほぼ二つの異なる形式のスマートカードが存在する。メモリカードは、シリアルのみのインタフェイスと、アドレッシング及びセキュリティ論理部と、ＲＯＭ及びＥＥＰＲＯＭメモリとを有している。これらのカードは限定された機能しか有さず、特定用途向けに用いられる。それ故にこれらのカードはとりわけ安価で製造される。基本的にマイクロプロセッサカードとして製造されるスマートカードは、完全な汎用コンピュータを構成する。
【０００５】
チップカードのための製造及び提供（ｄｅｌｉｖｅｒｙ）プロセスは以下の段階に分割される。すなわち
半導体の製造と、
半導体の搭載と、
カードの印刷（プリント）と、
カードの発行と
である。
【０００６】
通常、各段階は当該特定のオペレーションを専門に扱う企業によってなされる。半導体が製造されるとき、特にハードワイヤードセキュリティ論理（ｈａｒｄ−ｗｉｒｅｄ  ｓｅｃｕｒｉｔｙ  ｌｏｇｉｃ）を備えるカードの場合、優れた企業内セキュリティ（ｉｎ−ｈｏｕｓｅ  ｓｅｃｕｒｉｔｙ）が保証されていなければならない。正確な最終テスト（ｅｎｄ  ｔｅｓｔ）が製造業者によって行われるために、全メモリは自由にアクセス可能でなければならない。最終テストの後においてのみ、チップは輸送コード（ｔｒａｎｓｐｏｒｔ  ｃｏｄｅ）によって暗号化される。その後、カードメモリへのアクセスは、輸送コードを知っている、権限を有する者に対してのみ可能になる。それ故に新品の半導体の盗用は重要でなくなる。権限を有する者は、個人（パーソナライザ（ｐｅｒｓｏｎａｌｉｚｅｒ））又はカード発行者であってもよい。更なる暗号化機能は、搭載及び印刷するために必要とされない。関連した企業は輸送コードを知る必要がない。
【０００７】
通常個人特定データ（ｐｅｒｓｏｎ−ｓｐｅｃｉｆｉｃ  ｄａｔａ）をカードに転送するのはカード製造業者ではなく、むしろ発行するオフィス（例えば銀行、電話会社、及び健康保険業者等）である。このプロセスは個人化（パーソナライゼイション（ｐｅｒｓｏｎａｌｉｚａｔｉｏｎ））として知られており、輸送コードの情報を必要とする。
【０００８】
カードの発行、すなわち発行オフィスからカード所持者（ｃａｒｄ  ｈｏｌｄｅｒ）への輸送は、更なるセキュリティ問題をもたらす。厳密には、カードに署名して自分の身分証明書（ｉｄｅｎｔｉｔｙ  ｃａｒｄ）を製作する所持者に個人的にカードが発行される場合にのみ、カードの発行は真に機密保護される。郵送は多くの場合、より経済的であるが、あまり機密保護されない。ＰＩＮをカード所持者に通信することにも問題があり、カードと同じ注意が必要とされる。
【０００９】
メモリの機密のセキュリティ関連の内容がスマートカードコントローラ上に位置される場合、これらのセキュリティの程度を監視するだけでなく、ハッカーの可能な活動に対する更なる保護を保証することが必要とされる。これにより、カードの製造乃至輸送及び使用からもはや使用され得ないカードの処理までのスマートカードの製品生涯の全段階がカバーされる。
【００１０】
比較的大量のデータ／コードがＮＶメモリに（例えば個人化の間にＥＥＰＲＯＭに）書き込まれるとき、一方でＳＦＲバスを介したデータ輸送によって、他方で各ページの書き込み後に、書き込まれたＥＥＰＲＯＭデータの必要な検証によって、比較的大量の期間が失われる。
【００１１】
現在、コントローラの標準的な命令セット（ｓｔａｎｄａｒｄ  ｉｎｓｔｒｕｃｔｉｏｎ  ｓｅｔ）は、リードオンリ命令（ｒｅａｄ−ｏｎｌｙ  ｉｎｓｔｒｕｃｔｉｏｎ）をコードメモリ領域にもたらす。すなわちデータが、命令コードとしてＮＶメモリから取り出されるか、又はいわゆるＭＯＶＣ命令によってデータワード（“バイト”）として読み出されるかの何れかとなり得る。
【００１２】
ＮＶメモリへのデータの書き込み／プログラミングは、従来各メモリインタフェイスのレジスタセットを介して単独で行われてきた。すなわちＮＶメモリへの書き込みの間に使用されるデータパスが、コードフェッチ（ｃｏｄｅ  ｆｅｔｃｈ）／ＭＯＶＣ読み出しに対して使用されるデータパスから完全に分離される。
【００１３】
書き込みは、メモリインタフェイスレジスタへの複数の書き込みアクセス、すなわち、ページアドレス及びバイトアドレスに対するアドレスレジスタへの書き込み、並びにデータレジスタ及び制御レジスタへの書き込みを必要とする。
【００１４】
従来ＮＶメモリへの書き込みのために使用される方法は、コードフェッチ及びＭＯＶＣ読み出しがプロセッサの速いコードフェッチサイクルで進行させられる一方、アクセスの形式に依存して、書き込まれるデータワード毎に二つ乃至五つのレジスタアクセスが必要とされるため、コードフェッチ／読み出し方法に対して非常に低速である。
【００１５】
この場合書き込みはメモリインタフェイスのレジスタインタフェイスを介して単独で進行させられるため、マッピング（ｍａｐｐｉｎｇ）及びコードメモリアクセス権（ｃｏｄｅ  ｍｅｍｏｒｙ  ａｃｃｅｓｓ  ｒｉｇｈｔ）を全体的に制御するメモリ管理ユニット（ｍｅｍｏｒｙ  ｍａｎａｇｅｍｅｎｔ  ｕｎｉｔ）は、ＮＶメモリへの書き込みの間、いかなる影響も及ぼさない。それ故に、メモリへの書き込みは、コントローラのオペレーションシステムの制御下でのみもたらされ得ると共に、システムルーチン上の特別呼び出し（スペシャルコール（ｓｐｅｃｉａｌ  ｃａｌｌ））によってのみアプリケーションＳＷに対して可能となる。
【発明の開示】
【発明が解決しようとする課題】
【００１６】
それ故に本発明の目的は、従来の使用されているプロセスをほとんど妨害する必要がないと共に書き込み誤り（プログラミングエラー）からのより高度な保護を保証する必要がない場合に、従来のプロシージャの不利点が回避されると共に可能な最短期間でデータをＮＶメモリに書き込むことを可能にする上記の種類の、対応するコンピュータによる読み出し可能な記憶媒体（ｃｏｍｐｕｔｅｒ−ｒｅａｄａｂｌｅ  ｓｔｏｒａｇｅ  ｍｅｄｉｕｍ）及び対応するコンピュータプログラム、並びに装置及び方法を提供することにある。
【課題を解決するための手段】
【００１７】
本目的は、本発明によれば、請求項１、１２、１４、及び１５に記載の特徴並びに同等の特徴によって達成される。従属請求項は本発明の好都合な展開を含む。
【００１８】
コントローラアーキテクチャにおけるＮＶメモリに書き込むための本方法の特定の利点は、一つ又は複数の規定されたデータ値若しくは一つ又は複数の規定されたデータワードが、一つ又は複数のデータ値若しくは一つ又は複数のデータワードをＮＶメモリのキャッシュページレジスタ（ｃａｃｈｅ  ｐａｇｅ  ｒｅｇｉｓｔｅｒ）の所定の位置に書き込むと共にＮＶメモリのページアドレスポインタレジスタ（ｐａｇｅ  ａｄｄｒｅｓｓ  ｐｏｉｎｔｅｒ  ｒｅｇｉｓｔｅｒ）を更新することによって、ＮＶメモリ内の一つ又は複数の規定された送信先アドレスに書き込まれるという事実にある。
【００１９】
コントローラアーキテクチャにおけるＮＶメモリに書き込むための装置は、有利なことに、コントローラアーキテクチャにおけるＮＶメモリへの書き込みが行われ得る態様で設計されるプロセッサを有するように設計され、一つ又は複数の規定されたデータ値若しくは一つ又は複数の規定されたデータワードが、一つ又は複数のデータ値若しくは一つ又は複数のデータワードをＮＶメモリのキャッシュページレジスタの所定の位置に書き込むと共にＮＶメモリのページアドレスポインタレジスタを更新することによって、ＮＶメモリ内の一つ又は複数の規定された送信先アドレスに書き込まれる。
【００２０】
コントローラアーキテクチャにおけるＮＶメモリに書き込むためのコンピュータプログラムが、コンピュータ又はスマートカードコントローラは、コンピュータ又はスマートカードコントローラのメモリにロードされているときにコントローラアーキテクチャにおけるＮＶメモリへの書き込みを行うことを可能にするプログラムが記憶される、コンピュータにより読み出し可能な記憶媒体を有し、一つ又は複数の規定されたデータ値若しくは一つ又は複数の規定されたデータワードは、一つ又は複数のデータ値若しくは一つ又は複数のデータワードをＮＶメモリのキャッシュページレジスタの所定の位置に書き込むと共にＮＶメモリのページアドレスポインタレジスタを更新することによって、ＮＶメモリ内の一つ又は複数の規定された送信先アドレスに書き込まれる。
【００２１】
コントローラアーキテクチャにおけるＮＶメモリへの書き込みを行うために、有利なことに、コンピュータ又はスマートカードコントローラのメモリにロードされているときにコントローラアーキテクチャにおけるＮＶメモリへの書き込みを行うことを可能にするプログラムは記憶される、コンピュータにより読み出し可能な記憶媒体が使用され、一つ又は複数の規定されたデータ値若しくは一つ又は複数の規定されたデータワードは、一つ又は複数のデータ値若しくは一つ又は複数のデータワードをＮＶメモリのキャッシュページレジスタの所定の位置に書き込むと共にＮＶメモリのページアドレスポインタレジスタを更新することによって、ＮＶメモリ内の一つ又は複数の規定された送信先アドレスに書き込まれる。
【００２２】
ＮＶメモリへの書き込みのために、有利なことに、コントローラコア（ｃｏｎｔｒｏｌｌｅｒ  ｃｏｒｅ）の命令セットが、更なる転送コード書き込み命令（ＭＯＶＣＷＲ（ｍｏｖｅ  ｃｏｄｅ  ｗｒｉｔｅ  ｉｎｓｔｒｕｃｔｉｏｎ）命令）によって更に拡張（ｅｘｔｅｎｄ）される。本発明による方法の好ましい展開は、コントローラコアの更なる命令が、書き込まれるべきデータ値又は書き込まれるべきデータワードのためのパラメータ及びアドレスポインタのためのパラメータの転送を行うと共に、ＮＶメモリインタフェイス及びいわゆるメモリ管理ユニット（ＭＭＵ）のための、対応する制御信号を活性化させることを特徴としている。
【００２３】
メモリ管理ユニット（ＭＭＵ）が存在する場合、ＭＯＶＣＷＲ命令に対するアドレス処理がＭＯＶＣ命令又はコードフェッチの処理と同じ態様で行われることは有利となることが分かっている。更に、本発明による方法の好ましい展開は、コントローラのメモリ管理ユニット（ＭＭＵ）が存在する場合、当該ＭＭＵは制御信号パスによって拡張されることを特徴としている。
【００２４】
ＭＭＵが存在する場合、ＭＭＵによってイネーブルされている、ＮＶメモリのアドレス領域のみが書き込まれることは有利となる。コントローラアーキテクチャにおけるＮＶメモリに書き込むために、コードメモリの特別のマッピングは、ＭＭＵが存在する場合、コントローラのアドレス領域内で考慮されることは有利となり得ることも分かっている。
【００２５】
本発明による方法の更なる好ましい展開は、同じページアドレスを備える複数のデータ値及び／又はデータワードが連続的に書き込まれることを特徴とする。
【００２６】
キャッシュページレジスタのコンテンツは、有利なことにＮＶメモリの制御レジスタに書き込むことによってＮＶメモリに書き込まれる。更に本発明による方法の好ましい展開は、ＮＶメモリのキャッシュページレジスタが、ＭＯＶＣＷＲ命令の際に新たなページアドレスに変更されるとき、消去されることを特徴とする。
【００２７】
本発明による方法の更なる利点は、誤ったアドレスによる古いページレジスタコンテンツの所望されない書き込みが防止されることにある。更に本発明による装置の好ましい展開は、プロセッサがスマートカードコントローラの一部であり、前記装置がスマートカードであることを特徴とする。
【００２８】
本発明による方法は、ＮＶメモリのレジスタインタフェイスによって単独にサポートされている、キャッシュページレジスタに書き込む従来の方法に渡っていくつかの利点を提供する。
【００２９】
ＭＯＶＣＷＲによるＮＶメモリへの書き込みは、アドレスポインタ及びデータワードに対する二つのパラメータの転送の場合、データワード（バイト）毎にたった一つのＭＯＶＣＷＲ命令しか必要としていない。複数の連続したＭＯＶＣＷＲ命令の際、ＭＯＶＣ読み出しの場合のように、アドレスポインタの“自動インクリメント（ａｕｔｏ−ｉｎｃｒｅｍｅｎｔ）”が使用されてもよい。この命令呼び出し（ｉｎｓｔｒｕｃｔｉｏｎ  ｉｎｖｏｃａｔｉｏｎ）は、ＮＶメモリのアドレス／データレジスタセットを介した書き込みに対する書き込みプロセスのかなりの高速化を表している。
【００３０】
随意的にもたらされるＭＭＵによってモニタされるコードメモリのアクセス制限又は特別のアドレス領域マッピングは、コードフェッチ及びＭＯＶＣと同様にＭＯＶＣＷＲに対して有効である。すなわちプロセッサコアは、ＭＯＶＣＷＲを伴う、コードフェッチ／ＭＯＶＣを伴うメモリマッピングと同じメモリマッピングを受ける。
【００３１】
それ故に、システムコールを呼び出す（ｉｎｖｏｋｅ）必要がない場合にＮＶメモリのキャッシュページレジスタに書き込むため、アプリケーションＳＷがＭＯＶＣＷＲ命令を直接使用することも可能である。コントローラのＯＳは、ＭＭＵ制御レジスタの構成体を介したメモリへのアクセス権を管理する。
【００３２】
キャッシュページレジスタは、アドレスポインタがページアドレスを変更する各々のＭＯＶＣＷＲでリセットされるため、ＮＶメモリのキャッシュページレジスタの古いコンテンツの、誤ったページアドレスへの誤った書き込みはもはや不可能となる。
【００３３】
本発明は、実施例を参照して更に記載されるであろう。
【発明を実施するための最良の形態】
【００３４】
もたらされる方法は、いわゆるＭＯＶＣＷＲ（転送コード書き込み（ｍｏｖｅ  ｃｏｄｅ  ｗｒｉｔｅ））命令によってコントローラの命令セットを拡張することにある。これにより、規定されたデータワード（バイト）をＮＶコードメモリ内の規定された送信先アドレスに書き込むことが可能になる。データワード（バイト）はこの場合各々のＮＶメモリのキャッシュページレジスタの正しい位置に書き込まれ、メモリのページアドレスポインタレジスタは関連するページアドレスで更新される。
【００３５】
ＭＭＵ（メモリ管理ユニット）が、高度なスマートカードコントローラの例でもたらされる場合、このＭＭＵの完全な制御下で、ＭＯＶＣ読み出し又はコードフェッチのように、このキャッシュページレジスタへのＭＯＶＣＷＲ書き込みがもたらされるので、基本的にこのためにＭＭＵによってイネーブルされているメモリのアドレス領域に書き込むことのみが可能になる。コントローラのアドレス領域内のコードメモリの特別のマッピングがこの場合考慮される。
【００３６】
このように、同じページアドレスを備える複数のバイト／ワードが、キャッシュページレジスタを満たすために連続的に書き込まれ得る。各々のＮＶメモリの制御レジスタに書き込むことによって、キャッシュページレジスタのコンテンツはそのときＮＶメモリに書き込まれ得る。
【００３７】
ＭＯＶＣＷＲ命令の際の新たなページアドレスへの各々の変更により、ＮＶメモリのキャッシュページレジスタの即座の消去が、新たなページアドレス下におけるデータの書き込みを可能にすると共に、誤ったアドレス下における古いページレジスタコンテンツの所望されない書き込みを防止するようにもたらされる。
【００３８】
実施例において、コントローラコアの命令セットは、本発明による態様でＮＶメモリへの書き込みを行うように、更なるＭＯＶＣＷＲ命令によって拡張される。更なるＭＯＶＣＷＲ命令により、書き込まれるべきデータ値及びアドレスポインタのためのパラメータの転送を保証すると共に、メモリインタフェイス及びＭＭＵのための対応する制御信号を活性化させる。
【００３９】
随意的にもたらされる、コントローラのＭＭＵ（メモリ管理ユニット）は、対応する制御信号パスによって拡張させられ、ＭＯＶＣＷＲ命令が実行されるとき、メモリインタフェイスのために対応するチップ選択信号を生成する。ＭＯＶＣＷＲ命令（又はマッピング及びアクセス権）のためのアドレス処理はこの場合コードフェッチ又はＭＯＶＣ命令の処理と変わらない。
【００４０】
ＮＶメモリのメモリインタフェイスは、キャッシュページレジスタのための対応する書き込みモード及び各ＭＯＶＣＷＲプロセス後のアドレスレジスタの更新機能によってこの機能をサポートしている。更に各ＭＯＶＣＷＲプロセス前のリセット論理が、古いページアドレスと新たなページアドレスとの間のアドレス比較をもたらし、アドレス変更の際のキャッシュページレジスタへの書き込み前に随意的に古いレジスタコンテンツの消去をもたらす。
【００４１】
本発明は、ここに記載の実施例に限定されるものではない。代わりに、本発明の範囲を超えることなく、記載の手段及び特徴を組み合わせることによって、及び修正することによって、更なる変形例を実現することが可能である。
【国際調査報告】
2005515542.tif 000002
2005515542.tif 000003
2005515542.tif 000004
2005515542.tif 000005
2005515542.tif 000006