JP2005338942A - レジスタユニット - Google Patents
レジスタユニット Download PDFInfo
- Publication number
- JP2005338942A JP2005338942A JP2004153474A JP2004153474A JP2005338942A JP 2005338942 A JP2005338942 A JP 2005338942A JP 2004153474 A JP2004153474 A JP 2004153474A JP 2004153474 A JP2004153474 A JP 2004153474A JP 2005338942 A JP2005338942 A JP 2005338942A
- Authority
- JP
- Japan
- Prior art keywords
- data
- bit
- register
- correspondence table
- instruction
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/30141—Implementation provisions of register files, e.g. ports
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
Abstract
【課題】 データのセキュリティを向上し、改竄等を抑制することのできるレジスタユニットを提供する。
【解決手段】 レジスタユニット20は、複数のレジスタ10−0〜10−nと、これらに接続されているビット配置回路11とから構成されている。ビット配置回路11は、各レジスタ10−0〜10−nのレジスタビットアドレスと、演算ユニットから読み出し及び書き込みの指示があるアドレスの指示ビットアドレスとの対応テーブルを記憶している。レジスタユニット20のビット配置回路11は、演算ユニットから書き込み指令とそのデータを受信すると、そのデータをビット毎に分離して、対応テーブルの関係になるようにデータを並べ替えた記憶用データを生成し、このデータを対応テーブルに示されたレジスタ10−0〜10−nのレジスタビットアドレスに記憶する。
【選択図】 図1
【解決手段】 レジスタユニット20は、複数のレジスタ10−0〜10−nと、これらに接続されているビット配置回路11とから構成されている。ビット配置回路11は、各レジスタ10−0〜10−nのレジスタビットアドレスと、演算ユニットから読み出し及び書き込みの指示があるアドレスの指示ビットアドレスとの対応テーブルを記憶している。レジスタユニット20のビット配置回路11は、演算ユニットから書き込み指令とそのデータを受信すると、そのデータをビット毎に分離して、対応テーブルの関係になるようにデータを並べ替えた記憶用データを生成し、このデータを対応テーブルに示されたレジスタ10−0〜10−nのレジスタビットアドレスに記憶する。
【選択図】 図1
Description
本発明は、コンピュータの演算などにおいて用いられるレジスタを備えたレジスタユニットに関する。
近年、音楽や絵画などの著作権があるデータを、劣化しないデジタル方式により保存して流通することが行われている。ここで、著作権者が不利益を受けないように、他のデジタル方式に複製できないような技術が開発されている(例えば、特許文献1参照。)。
特許文献1においては、オーディオデータが記録されているカード型記録媒体とホストコンピュータとの間に、ボードを介在させる。このボードには、第1及び第2制御部とメモリとが搭載されている。第1制御部は、カード型記憶媒体からのオーディオデータをメモリに供給するとともに、カード型記憶媒体からの著作権フラグを含む冗長データを第2の制御部に供給する。第2の制御部の冗長エリアレジスタは、冗長データに著作権フラグが含まれていた場合には、メモリからのオーディオデータを出力しないようにしている。
特開2000−123478号公報(図5)
ここで、冗長エリアレジスタは、通常、特定の位置のデータの値が所定の値となっているか否かにより、著作権フラグを検出する。このため、著作権フラグを意味するレジスタのデータを記憶する位置が、冗長エリアレジスタを解析することにより把握された場合には、この著作権フラグを無効にすることも可能となる。そして、著作権フラグを無効にすることにより、著作権があるデータを自由に複製することができるようになってしまう。
本発明は、上述した課題に鑑みてなされ、その目的は、データのセキュリティを向上し、改竄等を抑制することのできるレジスタユニットを提供することにある。
請求項1に記載の発明は、複数ビットから構成されるデータを一時的に記憶するレジスタと、前記レジスタの各ビットにビットアドレスを付与し、このビットアドレスとレジスタに記憶するデータビットとを対応付けた対応関係テーブルを記憶するビット配置回路とを備えたレジスタユニットであって、前記ビット配置回路は、レジスタに対するデータの書き込み指示を受けた場合、このデータをデータビット毎に分解し、前記対応関係テーブルに基づいて特定されるビットアドレスにデータビット毎に書き込み、レジスタからのデータの読み出し指示を受けた場合、前記対応関係テーブルに基づいてビットアドレスを特定し、前記データビット毎に読み出して再構成したデータを出力することを要旨とする。このため、レジスタユニットはビット毎に並べ替えてデータをレジスタに記憶するので、レジスタに記憶されたデータが読み取られても、レジスタに書き込みを指示されたデータを特定して、そのデータを読み取ることが困難である。従って、レジスタに書き込まれるデータのセキュリティを高めることができる。
請求項2に記載の発明は、請求項1に記載のレジスタユニットにおいて、前記ビット配置回路は、複数の対応関係テーブルを記憶しており、外部から受けた切換信号に応じて、使用する対応関係テーブルを切り替えることを要旨とする。このため、レジスタは、切換信号に応じて、複数の対応関係テーブルを使い分けることができ、データの解読が困難になる。従って、データのセキュリティを高めることができる。
請求項3に記載の発明は、請求項1に記載のレジスタユニットにおいて、前記ビット配置回路は、前記レジスタに記憶するデータを受信したときに、前記対応関係テーブルを新たに作成し、この対応関係テーブルに基づいてデータの読み出しが完了するまで作成した対応関係テーブルを記憶することを要旨とする。このため、レジスタは、対応関係テーブルは書き込むときに変更となるため、データの解読が困難になる。従って、データのセキュリティを高めることができる。
請求項4に記載の発明は、請求項1〜3のいずれか1つに記載のレジスタユニットにおいて、複数のレジスタのデータを読み出す指示を受けた場合であって、この指示が各レジスタの重複しない部分のデータビットを読み出す指示の場合には、前記ビット配置回路は、前記対応関係テーブルに基づいて、必要な部分のデータビットを抽出して生成した合成データを生成し、この合成データを出力することを要旨とする。このため、レジスタは、使用するデータを出力することにより、必要なデータをアドレス毎に提供(送信)するときに比べて、データの送信時間を短縮することができる。
請求項5に記載の発明は、請求項1〜4のいずれか1つに記載のレジスタユニットにおいて、前記対応関係テーブルは、書き込み指示を受けたデータのうち常に同一値となる複数のデータビットを、同一のビットアドレスに対応付けることを要旨とする。このため、レジスタは、常に同一値となる複数のデータビットを同一のビットアドレスに対応付けることにより、まとめて管理することができる。
請求項6に記載の発明は、請求項1〜5のいずれか1つに記載のレジスタユニットにおいて、前記対応関係テーブルには、極性を反転させて前記書き込みを行ったビットのデータを特定するデータを含んでいることを要旨とする。このため、ビットの極性を反転させて書き込んだり反転させずに書き込んだりすることにより、レジスタに記憶されたデータが読み取られてもデータとして用いられるときのビットの極性を不明にすることができる。従って、データのセキュリティを高めることができる。
本発明によれば、レジスタに書き込まれるデータのセキュリティを向上し、改竄等を抑制することができる。
以下、本発明を具体化した一実施形態について図1〜図8に基づいて説明する。本実施形態では、マイクロプロセッサに内蔵されているレジスタセット(レジスタ群)を管理するレジスタユニットを想定する。
本発明のレジスタユニット20は、シリアルインターフェイス(シリアルI/F)40を介して、図示しない演算ユニットに接続されている。レジスタユニット20は、演算ユニットからの指令信号に基づいて、データを一時的に記憶するためのレジスタの管理を行う。このレジスタユニット20は、図1に示すように、ビット配置回路11と、これに接続されている複数のレジスタ10−0、10−1、10−2、・・・、10−nとから構成されている。
ここで、「10−0」〜「10−n」は、各レジスタのレジスタ名である。本実施形態では、各10−0〜10−nは、8ビットの汎用レジスタを用いる。
図2に示すように、本実施形態では、各レジスタ(10−0〜10−n)は、ビット毎に管理される。そのため、各ビットには、ビットアドレス(以下、「レジスタビットアドレス」という。)が付されている。そして、本実施形態では、レジスタ10−0のレジス
タビットアドレスには、最下位ビットから順に「A」〜「H」のビット名を付与する。また、レジスタ10−1のレジスタビットアドレスには、最下位ビットから順に「I」〜「P」のビット名を付与する。
図2に示すように、本実施形態では、各レジスタ(10−0〜10−n)は、ビット毎に管理される。そのため、各ビットには、ビットアドレス(以下、「レジスタビットアドレス」という。)が付されている。そして、本実施形態では、レジスタ10−0のレジス
タビットアドレスには、最下位ビットから順に「A」〜「H」のビット名を付与する。また、レジスタ10−1のレジスタビットアドレスには、最下位ビットから順に「I」〜「P」のビット名を付与する。
一方、ビット配置回路11は、上記各レジスタ10−0〜10−nにデータを記憶させるための回路である。具体的には、演算ユニットから所定のレジスタに書き込むデータを指示されたビット配置回路11は、このデータをビット毎に分割する。そして、分割したビットのデータを並べ替えて構成した新たなデータを、各レジスタ10−0〜10−nの所定のビットアドレスに記憶する。
このビット配置回路11は、不揮発性メモリ(例えば、EEPROMやFlashROMなど)を内蔵しており、この不揮発性メモリには図3に示す対応テーブルを記憶している。この対応テーブルは、レジスタビットアドレスと、演算ユニットによって指示されたレジスタに書き込むデータを構成する各ビット(以下、指示データビットという。)との対応関係を示したテーブルである。ここで、指示データビット($n[m])は、書き込みや読み出しを指示されたレジスタ名($n)と、ビットを最下位から表した[0]、[1]、[2]、[3]、[4]、[5]、[6]、[7]とから構成される。すなわち、レジスタ「$01」に書き込むデータは、指示データビット($01[0]〜$01[7])から構成されることになる。
なお、図3に示す対応テーブル30では、レジスタビットアドレスに対して2つの指示データビットを対応させている。この対応テーブル30は、第1対応テーブルと第2対応テーブルとから構成されている。ここでは、後述するように、演算ユニットから受信した特定の信号に基づいて、第1対応テーブルと第2対応テーブルとを切り替えて使用する。
本実施形態では、第1対応テーブルでは、図2に示すレジスタビットアドレスに対して、指示データビットが図4に対応するようになっている。なお、図4は、第1対応テーブルを用いたときのレジスタ(「$00」及び「$01」)のデータ310、311を、レジスタ10−0〜10−nのレジスタビットアドレス「A」〜「P」で表示した図である。すなわち、ビット配置回路11が、例えば、レジスタ「$n」に記憶するデータを演算ユニットから受けた場合、そのままの順番でレジスタ10−nに書き込む。また、ビット配置回路11は、レジスタ「$n」のデータを読み出す指示を演算ユニットから受けると、レジスタ10−nのデータをそのまま読み出し、これを演算ユニットに提供する。
一方、第2対応テーブルでは、図2に示すレジスタビットアドレスに対して、指示データビットが、図5に対応するように組み換えられている。なお、図5は、第2対応テーブルを用いたときのレジスタ(「$00」及び「$01」)のデータ320、321を、レジスタ10−0〜10−nのレジスタビットアドレス「A」〜「P」で表示した図である。例えば、演算ユニットからレジスタ「$01」に書き込む指示を受けたデータの最下位ビット「0」($01[0])は、レジスタ10−1の最下位の「C」に対応する。このため、ビット配置回路11は、レジスタ「$n」のデータとして書き込むデータを演算ユニットから受けると、第2対応テーブルに基づいてそのデータをビット毎に分解して、各ビットを並べ替えた値をレジスタ10−nに記憶する。また、ビット配置回路11は、レジスタ「$n」のデータを読み出す指示を演算ユニットから受けると、図3の第2対応テーブルに基づいて、そのレジスタ「$n」を構成するビットデータをレジスタ10−0〜10−nから読み出して再構成し、演算ユニットに提供する。
また、第2対応テーブルにおいては、レジスタビットアドレスの「B」には、指示データビット「$01[6]」と「$01[7]」とが対応付けられている。すなわち、指示データビットが常に同じ値となる場合には、以上のようなテーブルを用いることも可能で
ある。
ある。
更に、図3の第1対応テーブル及び第2対応テーブルには、レジスタビットアドレスに対応する指示データビット毎に、ビット極性フラグが記録されている。このビット極性フラグデータは、そのデータの極性を反転させて記憶するか否かを示すデータである。第2対応テーブルのレジスタビットアドレス「0×03」の「D」のように、ビット極性フラグデータが「1」の場合には、そのビットの値を反転してレジスタ10−0〜10−nに記録する。また、ビット極性フラグデータが「0」の場合には、極性を反転せずに、そのままデータをレジスタ10−0〜10−nに記憶する。
次に、このように構成された本実施形態のレジスタユニット20の処理について、図6及び図7を用いて説明する。まず、通常動作におけるレジスタユニット20の処理について説明する。
ここで、レジスタユニット20は、第1対応テーブルを用いる場合を説明し、次に第2対応テーブルを用いる場合を説明する。
(書き込み処理)
レジスタユニット20のビット配置回路11が、レジスタ「$n」に、データを書き込む指示を演算ユニットから受ける(ステップS1−1)。この場合、ビット配置回路11は、図3の第1対応テーブルに基づいて、書き込みを行うレジスタビットアドレスを特定する(ステップS1−2)。具体的には、ビット配置回路11は、レジスタ「$n」の各指示データビット($n[0]〜[7])を、図3の第1対応テーブルから読み出す。
(書き込み処理)
レジスタユニット20のビット配置回路11が、レジスタ「$n」に、データを書き込む指示を演算ユニットから受ける(ステップS1−1)。この場合、ビット配置回路11は、図3の第1対応テーブルに基づいて、書き込みを行うレジスタビットアドレスを特定する(ステップS1−2)。具体的には、ビット配置回路11は、レジスタ「$n」の各指示データビット($n[0]〜[7])を、図3の第1対応テーブルから読み出す。
そして、ビット配置回路11は、この指示データビットに対応すると特定した各レジスタビットアドレスに、データの書き込みを行う(ステップS1−3)。
例えば、レジスタ「$00」への書き込み指示の場合には、図3の第1対応テーブルに基づいて、その最下位の指示データビット($00[0])のデータは、レジスタビットアドレス「0×00」の「A」に書き込む。更に、2番目の下位の指示データビット($00[1])のデータは、レジスタビットアドレス「0×01」の「B」に書き込む。以下、同様にして、指示データビット($00[2]〜$00[7])は、レジスタビットアドレス「0×02」の「C」〜「0×07」の「H」に書き込む。
例えば、レジスタ「$00」への書き込み指示の場合には、図3の第1対応テーブルに基づいて、その最下位の指示データビット($00[0])のデータは、レジスタビットアドレス「0×00」の「A」に書き込む。更に、2番目の下位の指示データビット($00[1])のデータは、レジスタビットアドレス「0×01」の「B」に書き込む。以下、同様にして、指示データビット($00[2]〜$00[7])は、レジスタビットアドレス「0×02」の「C」〜「0×07」の「H」に書き込む。
(読み出し処理)
次に、ビット配置回路11は、レジスタ「$n」に書き込んだデータを読み出す信号を演算ユニットから受ける(ステップS2−1)。この場合、ビット配置回路11は、図3の第1対応テーブルに基づいて、そのレジスタ「$n」を構成する指示データビットを特定する(ステップS2−2)。そして、ビット配置回路11は、レジスタ10−0〜10−nからデータを読み出す(ステップS2−3)。読み出したデータに基づいて、ビット配置回路11は、指示データビットに基づいて、レジスタ「$n」のデータを生成し(ステップS2−4)、演算ユニットに提供する(ステップS2−5)。
次に、ビット配置回路11は、レジスタ「$n」に書き込んだデータを読み出す信号を演算ユニットから受ける(ステップS2−1)。この場合、ビット配置回路11は、図3の第1対応テーブルに基づいて、そのレジスタ「$n」を構成する指示データビットを特定する(ステップS2−2)。そして、ビット配置回路11は、レジスタ10−0〜10−nからデータを読み出す(ステップS2−3)。読み出したデータに基づいて、ビット配置回路11は、指示データビットに基づいて、レジスタ「$n」のデータを生成し(ステップS2−4)、演算ユニットに提供する(ステップS2−5)。
例えば、レジスタ「$00」のデータの読み出しを行う場合には、図3の第1対応テーブルに基づいて、「$00」を構成する各指示データビットをレジスタ10−0〜10−nから読み出す。本実施形態では、「$00」の最下位ビット($00[0])はレジスタ10−0の「A」、2番目の下位ビット($00[1])はレジスタ10−0の「B」、3番目の下位ビット($00[2])は「C」に記録されている。そして、その他のビット($00[3])、($00[4])、($00[5])、($00[6])及び($00[7])は、それぞれ「D」、「E」、「F」及び「G」に記録されている。従って、ビット配置回路11は、レジスタ10−0に記録されている各ビットの値を読み出す。そして、ビット配置回路11は、読み出したデータをこの順番に並べた8ビットのデー
タをレジスタ「$00」のデータとして生成し、このデータを演算ユニットに提供する。
タをレジスタ「$00」のデータとして生成し、このデータを演算ユニットに提供する。
次に、第2対応テーブルを用いる処理について説明する。この処理は、例えば、著作権のコピー防止のための特定の信号データを演算ユニットが読み出す特定処理の場合に行われる。具体的には、演算ユニットから対応テーブル切換信号を受信した場合に、ビット配置回路11は、第1対応テーブルの代わりに第2対応テーブルを用いる。この処理においても、上述と同様な書き込み処理及び読み出し処理が行われる。
(書き込み処理)
レジスタユニット20は、演算ユニットからの書き込みデータを受信する(ステップS1−1)、図3の第2対応テーブルに基づいてビットアドレスを特定し(ステップS1−2)、このビットアドレスにデータを書き込む(ステップS1−3)。
レジスタユニット20は、演算ユニットからの書き込みデータを受信する(ステップS1−1)、図3の第2対応テーブルに基づいてビットアドレスを特定し(ステップS1−2)、このビットアドレスにデータを書き込む(ステップS1−3)。
例えば、レジスタ「$00」にデータを書き込む場合には、図3の第2対応テーブルに基づいて、「$00」の最下位ビット($00[0])はレジスタ10−1の「I」に書き込み、2番目の下位ビット($00[1])はレジスタ10−1の「J」に書き込む。そして、その他のビット($00[2]、$00[3]、$00[4]、$00[5]、$00[6]及び$00[7])は、それぞれ「K」、「L」、「M」、「N」、「O」、及び「P」に書き込む。
また、レジスタ「$01」にデータを書き込む場合には、図3の第2対応テーブルに基づいて、その最下位ビット($01[0])のデータは、「H」に書き込む。同様にして、2番目の下位ビット($01[1])は「C」に、3番目の下位ビット($01[2])は「F」に、4番目の下位ビット($01[3])は「E」に書き込む。
ここで、「E」のビット極性フラグが「1」となっているため、ビット配置回路11は、書き込むビットの極性を反転した値を「E」として書き込む。具体的には、ビット配置回路11は、4番目の下位ビット($01[3])が「0」であった場合には極性を反転した「1」を「E」に書き込み、「1」であった場合には極性を反転した「0」を「E」に書き込む。
更に、5番目の下位ビット($01[4])は「G」に、6番目の下位ビット($01[5])は「D」に書き込む。
そして、最上位ビット($01[7])及び2番目の上位ビット($01[6])は、常に同じ値であるため、どちらかの値(ここでは、最上位ビット$01[7]とする)を取り出して、「B」に記録する。
そして、最上位ビット($01[7])及び2番目の上位ビット($01[6])は、常に同じ値であるため、どちらかの値(ここでは、最上位ビット$01[7]とする)を取り出して、「B」に記録する。
(読み出し処理)
次に、第2対応テーブルを用いた読み出し処理について説明する。このとき、ビット配置回路11は、演算ユニットからの読み出し信号を受信する(ステップS2−1)と、図3の第2対応テーブルに基づいて読み出すビットアドレスを特定し(ステップS2−2)、データの読み出しを行う(ステップS2−3)。
次に、第2対応テーブルを用いた読み出し処理について説明する。このとき、ビット配置回路11は、演算ユニットからの読み出し信号を受信する(ステップS2−1)と、図3の第2対応テーブルに基づいて読み出すビットアドレスを特定し(ステップS2−2)、データの読み出しを行う(ステップS2−3)。
例えば、演算ユニットからレジスタ「$00」のデータの読み出し信号を受信した場合、レジスタユニット20は、図3の第2対応テーブルに基づいて、レジスタ「$00」を構成する各ビットが記録しているデータ($00[m])をレジスタ10−0〜10−nから読み出す。本実施形態では、図3の対応テーブルに示すように、レジスタ「$00」のデータは、すべてレジスタ10−1に記録されているので、ビット配置回路11は、レジスタ10−1に記録されている各ビットの値を読み出す。
そして、ビット配置回路11は、読み出したビットを並べて「$00」のデータを生成し(ステップS2−4)、この生成したデータを演算ユニットに提供する(ステップS2−5)。
また、演算ユニットからレジスタ「$01」のデータを読み出した信号を受信した場合、レジスタユニット20は、図3の第2対応テーブルに基づいて、読み出されるレジスタ「$01」を構成するビットのデータを記憶しているレジスタ10−0を読み出す。具体的には、レジスタユニット20は、レジスタ10−0の「H」に記憶されているデータを最下位ビット($01[0])とし、レジスタ10−0の「C」に記憶されているデータを2番目の下位ビット($01[1])とし、レジスタ10−0の「F」に記憶されているデータを3番目の下位ビット($01[2])として読み出す。
更に、レジスタ10−0の「E」に記憶されているデータを4番目の下位ビット($01[3])として読み出す。ここで、第2対応テーブルの「E」はビット極性フラグデータが「1」であるため、ビット配置回路11は、読み出した「E」のデータの極性を反転する。具体的には、「E」として「1」のデータが記憶されていた場合には「0」を、「0」のデータが記憶されていた場合には「1」を、4番目の下位ビット($01[3])として読み出す。
また、レジスタ10−0の「G」に記憶されているデータを5番目の下位ビット($01[4])とし、レジスタ10−0の「D」に記録されているデータを6番目の下位ビット($01[5])として読み出す。
更に、レジスタ10−0の「B」に記録されているデータを最上位ビット($01[7])及び2番目の上位ビット($01[6])として読み出す。
そして、ビット配置回路11は、読み出したビットを、順番に並べてレジスタ「$01」のデータを生成し(ステップS2−4)、この生成したデータを演算ユニットに提供する(ステップS2−5)。
そして、ビット配置回路11は、読み出したビットを、順番に並べてレジスタ「$01」のデータを生成し(ステップS2−4)、この生成したデータを演算ユニットに提供する(ステップS2−5)。
その後、演算ユニットは、特定の信号データを読み出す特定処理が完了すると、対応テーブル切換信号をビット配置回路11に再送信する。これにより、ビット配置回路11は、第2対応テーブルの代わりに第1対応テーブルを使用して、上述したように、レジスタ10−0〜10−nのデータの読み書きを行う。
以上、説明したように、本実施形態によれば、以下のような効果を得ることができる。
・本実施形態では、第2対応テーブルを用いる場合には、ビット配置回路11は、レジスタ「$01」のデータをビット毎に分解して、このビット毎に分解した値を並べ替えて、レジスタ10−0に記憶する。このため、レジスタ10−0に記憶されたデータからは、レジスタ「$01」のデータを特定して読み取ることが困難になる。例えば、レジスタ「$01」のいずれかのビットが、著作権の複製防止のための信号データであった場合にも、それがレジスタ10−0のどのビットであるかを特定することが難しくなる。従って、そのデータの改竄等を抑制することができる。
・本実施形態では、第2対応テーブルを用いる場合には、ビット配置回路11は、レジスタ「$01」のデータをビット毎に分解して、このビット毎に分解した値を並べ替えて、レジスタ10−0に記憶する。このため、レジスタ10−0に記憶されたデータからは、レジスタ「$01」のデータを特定して読み取ることが困難になる。例えば、レジスタ「$01」のいずれかのビットが、著作権の複製防止のための信号データであった場合にも、それがレジスタ10−0のどのビットであるかを特定することが難しくなる。従って、そのデータの改竄等を抑制することができる。
・本実施形態では、ビット配置回路11は、通常は、図3の第1対応テーブルを用いてデータをレジスタ10−0〜10−nに記録する。そして、ビット配置回路11は、著作権のコピー防止のための特定の信号データを読み出すために演算ユニットから対応テーブル切換信号を受信した場合には、図3の第2対応テーブルを用いてデータを10−0〜10−nに記録する。このため、解析により、通常のレジスタビットアドレスと指示データビットとの第1対応テーブルによる対応付けが判明していた場合であっても、特定処理においては、それとは異なる別の第2対応テーブルより対応付けが行われる。このため、特
定処理におけるレジスタ10−0〜10−nに記録する所定のデータを特定することがいっそう困難になるので、データのセキュリティを高めることができる。
定処理におけるレジスタ10−0〜10−nに記録する所定のデータを特定することがいっそう困難になるので、データのセキュリティを高めることができる。
・本実施形態では、第1対応テーブル及び第2対応テーブルにおいては、演算ユニットからの指示データを構成するデータは、1つのレジスタ10−0〜10−nに対応付けされている。このため、ビット配置回路11は、演算ユニットから受信したデータを分離して再構成すると、1つのレジスタ10−0〜10−nに書き込む。そして、演算ユニットから読み出し信号を受信したビット配置回路11は、その対応する1つのレジスタ10−0〜10−nからデータを取得し、このデータを並べ替えて再構成したデータを演算ユニットに提供する。従って、1つのアドレスのデータの読み出し信号を演算ユニットに提供するために、複数のレジスタ10−0〜10−nのデータを読み出す必要がない。
・本実施形態では、ビット配置回路11は、図3の対応テーブル30において各ビット極性フラグを記録する。そして、ビット極性フラグが「1」となっている第2対応テーブルの「E」は、指示データビット$01[3]の値を反転してレジスタ10−0に書き込む。また、ビット配置回路11は、$01[3]を読み出す場合には、「E」のビットの極性を反転させて読み出す。このため、レジスタは、図3の第2対応テーブルを用いることにより、反転させて記憶させたビットを特定することができる。従って、レジスタに記録されているビットの値が、演算ユニットに、そのままの値で提供されるか反転された値で提供されるかを不明にすることができるので、データのセキュリティをいっそう高めることができる。
・本実施形態では、ビット配置回路11は、対応テーブル切換信号の受信により第2対応テーブルを用いる場合、指示データビット($01[6]、$01[7])は、$01[7]のビットアドレスのデータを取り出して、「B」に記録する。そして、ビット配置回路11は、演算ユニットから読み出し信号を受信した場合には、レジスタ10−0の「B」に記録されているデータを$01[6]及び$01[7]として読み出す。このため、常に同じ値で変化する2つのビット($01[6]及び$01[7])を、レジスタビットアドレスの「B」の値で、まとめて管理することができる。
また、上記実施形態は以下のように変更してもよい。
○上記実施形態においては、データのバスのビット数と、1つのレジスタ10−0〜10−nに記憶されるビット数とを同じであるとして説明した。これに限らず、例えば、レジスタ10−0〜10−nのビット数が、バスの2倍や3倍の量であってもよい。
○上記実施形態においては、データのバスのビット数と、1つのレジスタ10−0〜10−nに記憶されるビット数とを同じであるとして説明した。これに限らず、例えば、レジスタ10−0〜10−nのビット数が、バスの2倍や3倍の量であってもよい。
○上記実施形態においては、ビット配置回路11は、テーブル切換信号に基づいて第1対応テーブルと第2対応テーブルの切り替えを行い、第1対応テーブル又は第2対応テーブルを用いた。これに代えて、第1対応テーブルを省略し、第2対応テーブルを使用しない場合には、ビット配置回路11をバイパスするような構成のレジスタユニット20としてもよい。
○上記実施形態においては、ビット配置回路11に内蔵させた対応テーブル30を用いて、レジスタビットアドレスと指示ビットアドレスを対応付けした。ビット配置回路11には、予め対応テーブル30を記憶させないで、適宜、レジスタビットアドレスと指示ビットアドレスとの対応付けを行ってもよい。具体的には、ビット配置回路11は、演算ユニットからレジスタ10−0〜10−nに書き込むデータを受信すると、そのデータをビット毎に分離する。そして、ビット配置回路11は、発生させた乱数などを用いて、分離したビット毎の並び順を決定し、この順番に、各ビットのデータを並べ替えて記憶用のデータを生成してレジスタに記憶する。このとき、ビット配置回路11は、並べ替えたときのレジスタビットアドレスと指示ビットアドレスの対応付けを、ビット配置回路11内で
記憶させる。
記憶させる。
○上記実施形態においては、アドレス毎のデータを読み出す場合について説明した。これに代えて、例えば、図8に示すように、複数のレジスタのアドレスのうち一部分しか必要でない場合には、ビット配置回路11は、複数のレジスタデータから必要な部分を抽出して、1つのデータにまとめた合成データ50を生成して演算ユニットに提供してもよい。具体的には、図8に示すように、レジスタ10−0の「A」のデータ及び「B」を使用するが、レジスタ10−0の他のデータは使用しない場合を想定する。更に、レジスタ10−1の「N」のデータ及び「M」のデータを使用するが、レジスタ10−1の他のデータは使用しない場合を想定する。この場合、ビット配置回路11は、レジスタ10−0及びレジスタ10−1のデータを同時に取得する信号を演算ユニットから受信した場合には、合成データ50を生成する。この合成データ50は、レジスタ10−0の「A」のデータを最下位ビットに、レジスタ10−0の「B」のデータを下位2番目のビットに、レジスタ10−1の「N」のデータを上位3番目のビットに、レジスタ10−1の「M」のデータを上位4番目のビットに配置したデータである。そして、この合成データ50を演算ユニットに提供する。これにより、演算ユニットは、レジスタ10−0、10−1に記憶されたすべてのデータを受信するよりも少ない量のデータを受信することができるので、必要なデータを短時間で受信することができる。
○上記実施形態においては、ビット配置回路11は、受信したデータをビット毎に分離し、分離したビットを並べ替えて生成したデータを同じレジスタ10−0〜10−nに記憶した。これに限らず、複数のレジスタのデータを同時に用いる場合には、複数のレジスタ10−0〜10−nに跨るように、ビットの並べ替えを行うようにしてもよい。
10−0、10−1、10−n…レジスタ、11…ビット配置回路、20…レジスタユニット、50…合成データ。
Claims (6)
- 複数ビットから構成されるデータを一時的に記憶するレジスタと、
前記レジスタの各ビットにビットアドレスを付与し、このビットアドレスとレジスタに記憶するデータビットとを対応付けた対応関係テーブルを記憶するビット配置回路とを備えたレジスタユニットであって、
前記ビット配置回路は、
レジスタに対するデータの書き込み指示を受けた場合、このデータをデータビット毎に分解し、前記対応関係テーブルに基づいて特定されるビットアドレスにデータビット毎に書き込み、
レジスタからのデータの読み出し指示を受けた場合、前記対応関係テーブルに基づいてビットアドレスを特定し、前記データビット毎に読み出して再構成したデータを出力することを特徴とするレジスタユニット。 - 前記ビット配置回路は、複数の対応関係テーブルを記憶しており、
外部から受けた切換信号に応じて、使用する対応関係テーブルを切り替えることを特徴とする請求項1に記載のレジスタユニット。 - 前記ビット配置回路は、前記レジスタに記憶するデータを受信したときに、前記対応関係テーブルを新たに作成し、この対応関係テーブルに基づいてデータの読み出しが完了するまで作成した対応関係テーブルを記憶することを特徴とする請求項1に記載のレジスタユニット。
- 複数のレジスタのデータを読み出す指示を受けた場合であって、この指示が各レジスタの重複しない部分のデータビットを読み出す指示の場合には、
前記ビット配置回路は、前記対応関係テーブルに基づいて、必要な部分のデータビットを抽出して生成した合成データを生成し、この合成データを出力することを特徴とする請求項1〜3のいずれか1つに記載のレジスタユニット。 - 前記対応関係テーブルは、書き込み指示を受けたデータのうち常に同一値となる複数のデータビットを、同一のビットアドレスに対応付けることを特徴とする請求項1〜4のいずれか1つに記載のレジスタユニット。
- 前記対応関係テーブルには、極性を反転させて前記書き込みを行ったビットのデータを特定するデータを含んでいることを特徴とする請求項1〜5のいずれか1つに記載のレジスタユニット。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004153474A JP2005338942A (ja) | 2004-05-24 | 2004-05-24 | レジスタユニット |
US10/977,103 US20050262320A1 (en) | 2004-05-24 | 2004-10-29 | Register unit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004153474A JP2005338942A (ja) | 2004-05-24 | 2004-05-24 | レジスタユニット |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005338942A true JP2005338942A (ja) | 2005-12-08 |
Family
ID=35376572
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004153474A Pending JP2005338942A (ja) | 2004-05-24 | 2004-05-24 | レジスタユニット |
Country Status (2)
Country | Link |
---|---|
US (1) | US20050262320A1 (ja) |
JP (1) | JP2005338942A (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102510451B1 (ko) * | 2018-05-09 | 2023-03-16 | 삼성전자주식회사 | 집적 회로 장치 및 집적 회로 장치의 동작 방법 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63236074A (ja) * | 1987-03-06 | 1988-09-30 | フィリップス エレクトロニクス ネムローゼ フェンノートシャップ | 暗号システムと方法およびその適用 |
JPH08227269A (ja) * | 1994-01-10 | 1996-09-03 | Fujitsu Ltd | 変換パターン生成機構、暗号関数機構及びそれを用いた暗号装置 |
JPH10228376A (ja) * | 1996-12-16 | 1998-08-25 | Internatl Business Mach Corp <Ibm> | 複数レジスタ命令を処理する方法及びプロセッサ |
WO2002003208A2 (en) * | 2000-06-30 | 2002-01-10 | Intel Corporation | Method and apparatus for secure execution using a secure memory partition |
US20040086116A1 (en) * | 2002-11-06 | 2004-05-06 | Sun Microsystems, Inc. | System and method for implementing DES round functions |
-
2004
- 2004-05-24 JP JP2004153474A patent/JP2005338942A/ja active Pending
- 2004-10-29 US US10/977,103 patent/US20050262320A1/en not_active Abandoned
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63236074A (ja) * | 1987-03-06 | 1988-09-30 | フィリップス エレクトロニクス ネムローゼ フェンノートシャップ | 暗号システムと方法およびその適用 |
US5001753A (en) * | 1987-03-06 | 1991-03-19 | U.S. Philips Corporation | Crytographic system and process and its application |
JPH08227269A (ja) * | 1994-01-10 | 1996-09-03 | Fujitsu Ltd | 変換パターン生成機構、暗号関数機構及びそれを用いた暗号装置 |
JPH10228376A (ja) * | 1996-12-16 | 1998-08-25 | Internatl Business Mach Corp <Ibm> | 複数レジスタ命令を処理する方法及びプロセッサ |
WO2002003208A2 (en) * | 2000-06-30 | 2002-01-10 | Intel Corporation | Method and apparatus for secure execution using a secure memory partition |
JP2004523015A (ja) * | 2000-06-30 | 2004-07-29 | インテル・コーポレーション | 安全なメモリ区分を使用した安全な実行のための方法および装置 |
US20040086116A1 (en) * | 2002-11-06 | 2004-05-06 | Sun Microsystems, Inc. | System and method for implementing DES round functions |
Also Published As
Publication number | Publication date |
---|---|
US20050262320A1 (en) | 2005-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2242805C2 (ru) | Способ записи, способ управления и устройство для записи | |
JPS59144098A (ja) | 半導体記憶装置 | |
JP4460967B2 (ja) | メモリカード、不揮発性半導体メモリ、及び半導体メモリの制御方法 | |
TWI677877B (zh) | 用於校正記憶體裝置的方法及記憶體裝置 | |
US7506199B2 (en) | Method and apparatus for recording and reproducing information | |
JP2007011872A (ja) | メモリカードとその制御方法 | |
JP4751037B2 (ja) | メモリカード | |
EP0867884B1 (en) | Digital audio recorder and player with address backup function | |
JP2005338942A (ja) | レジスタユニット | |
CN105095352B (zh) | 应用于分布式系统的数据处理方法及装置 | |
JP4655545B2 (ja) | メモリーカード及び再生装置 | |
TWI244642B (en) | Data processing apparatus | |
KR970051460A (ko) | 오류 허용 정보 저장 방법 및 장치 | |
GB2300286A (en) | IC card memory arrangement for recording and reproducing audio and/or video data concurrently and separately | |
JP4895264B2 (ja) | 記憶装置および情報処理装置 | |
JP2005537607A5 (ja) | ||
JP2006003971A (ja) | 冗長化ドライブ群並びにこれを用いた書込み方法及び読出し方法 | |
JP3618023B2 (ja) | 符号化装置及び復号化装置 | |
JP2001186331A (ja) | 符号化装置及び復号化装置 | |
JPS63308783A (ja) | 記憶装置 | |
JP2006065505A (ja) | メモリーカード及び再生装置 | |
JPH02297773A (ja) | ディジタルデータの記緑方法 | |
JP4655547B2 (ja) | メモリーカード及びその作成方法 | |
JP4779865B2 (ja) | メモリシステムおよびデータ読み出し・生成方法 | |
JPS61105636A (ja) | 印字装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070221 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100420 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100921 |