JP3984206B2 - マイクロプロセッサー及び映像音声システム - Google Patents

マイクロプロセッサー及び映像音声システム Download PDF

Info

Publication number
JP3984206B2
JP3984206B2 JP2003310128A JP2003310128A JP3984206B2 JP 3984206 B2 JP3984206 B2 JP 3984206B2 JP 2003310128 A JP2003310128 A JP 2003310128A JP 2003310128 A JP2003310128 A JP 2003310128A JP 3984206 B2 JP3984206 B2 JP 3984206B2
Authority
JP
Japan
Prior art keywords
data
bus
information
bus switch
unit
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
JP2003310128A
Other languages
English (en)
Other versions
JP2005078494A (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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2003310128A priority Critical patent/JP3984206B2/ja
Priority to US10/718,591 priority patent/US7130955B2/en
Publication of JP2005078494A publication Critical patent/JP2005078494A/ja
Application granted granted Critical
Publication of JP3984206B2 publication Critical patent/JP3984206B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Storage Device Security (AREA)

Description

本発明は、マイクロプロセッサー及び映像音声システムに関し、特に、メディアなどのコンテンツの保護を高いレベルかつ低コストで行う技術に関する。
現在、映像音声等を扱う機器には、映像音声情報の再生処理等を行うためにマイクロプロセッサーや専用LSIが搭載されている。映像や音声等のデータ(以下、コンテンツと記す)は光ディスク等の物理メディアや、HDD(Hard Disk Drive)のような磁気記憶装置に格納されている場合が多い。近年、映像音声などの情報は、著作権保護のために特殊な方法で暗号化などが施され、上記光ディスクや磁気記憶装置に格納されるのが殆どである。上記のような記憶装置に格納されたコンテンツの保護やセキュリティ対策を施しているため、格納されたデータを悪用して他の装置で再生しようとする者がいたとしても、通常は簡単にはセキュリティを破ることはできない。しかし、解析する上でのヒントがあれば、コンピューター上でのデータ処理によって、簡単にセキュリティが破られてしまう可能性がある。解析する上でのヒントとなる情報は、最終的にデータを処理する部分、つまりプロセッサーや専用LSIの周辺に存在する。そこではまさに暗号化された情報が、暗号が解かれた元の情報に変換されている。その暗号が解かれて変換された情報の多くはデータ処理を行うプロセッサーや専用LSIに接続されるRAM(Random Access Memory)といったメモリに格納される。
この場合、RAM自体の信号を測定装置でもって測定しデータを解析していくと、その解析情報がヒントとなり、セキュリティが破られるきっかけになる可能性がある。
そのため従来技術としては、そのメモリのバスを外部から隠蔽するために、プロセッサーとメモリを1チップにまとめるといった手法が使われたり、プロセッサーの素性がわからないように異なった型番をICのパッケージにシルク印刷したりする方法が取られてきた。
一方、従来の秘密情報の解読攻撃対抗方法においては、変換後の秘密情報を格納する揮発性メモリへの書き込み時に情報を任意に変換する手段を具備し、この変換手段により秘密情報を電子機器毎及び揮発性メモリに書き込む毎に異なる場所に変換して格納するようにする技術が開示されている(例えば、特許文献1参照。)。
また、マイクロプロセッサー内のバスインターフェースユニットに仮想アドレスを物理アドレスに変換するアドレス変換手段と、マイクロプロセッサー外部のメモリから指定された物理アドレスに対応する内容を読み出すメモリ読み出し手段を含み、命令TLBでは、アドレス変換規則と、各々が仮想アドレスで指定された範囲の暗号化属性情報を有する1以上のエントリーを含むテーブルを格納する技術について開示されている(例えば、特許文献2参照。)。
特開平11−45212号公報(第1図) 特開2001−230770号公報(第5図)
しかしながら、上記の手法では専用品を製造する必要があり、低コスト化が非常に困難である。従って、システムコスト上の問題で、基本的にメモリは汎用品を使う場合がほとんどなので、メモリにつながる信号線とその信号線の機能はすぐに突き止められてしまう可能性があるという問題点があった。
本発明は上記事情に鑑みて成されたものであり、その目的とするところはメディアなどのコンテンツの保護を高いレベルで行うマイクロプロセッサー及びセキュリティ機能を有する映像音声システムを安価で提供することにある。
本願発明の一態様によれば、データの入出力制御及び前記データ処理のための命令の実行を行う命令実行部及び、前記データを一時的に保持するキャッシュメモリを有するプロセッサーコアと、前記プロセッサーコアに接続され、前記データに係る各エントリの仮想アドレスから物理アドレスに変換に用いられる変換参照用の情報を記憶するアドレス変換キャッシュメモリの管理、及びプリルーティング情報を記憶するプリルータ用レジスタの管理を行うメモリ管理部と、前記プロセッサーコア及び前記メモリ管理部に接続され、このマイクロプロセッサーの外部との前記データの入出力を行う際にデータバスの信号を入れ換え可能なバスインターフェイスとを有し、前記バスインターフェイスは、前記プロセッサーコア及び前記メモリ管理部に接続され、データの入出力を行うデータ入出力部と、前記データ入出力部に接続され、前記プリルータ用レジスタに記憶されたプリルーティング情報に基づいて前記データの入出力の際に接続状況の入れ換えを行うプリルーターと、前記プリルータに接続され、前記プリルータと外部データバスとの接続関係の情報であるバススイッチ制御情報に基づいて、接続状況の入れ換えを行うバススイッチとを有し、前記バススイッチ制御情報は、前記各エントリーと関連付けて記憶され、前記バススイッチは、前記プロセッサーコアからデータの外部へのアクセスが発行された場合には、前記データに係るエントリーのバススイッチ制御情報に基づいてデータバスの接続状況の入れ換えを行うことを特徴とするマイクロプロセッサーが提供される。
また、本願発明の一態様によれば、データの入出力制御及び前記データ処理のための命令の実行を行う命令実行部及び、前記データを一時的に保持するキャッシュメモリを有するプロセッサーコアと、前記プロセッサーコアに接続され、前記データに係る各エントリの仮想アドレスから物理アドレスに変換に用いられる変換参照用の情報を記憶するアドレス変換キャッシュメモリの管理、及びプリルーティング情報を記憶するプリルータ用レジスタの管理を行うメモリ管理部と、前記プロセッサーコア及び前記メモリ管理部に接続され、このマイクロプロセッサーの外部との前記データの入出力を行う際にデータバスの信号を入れ換え可能なバスインターフェイスとを有し、前記バスインターフェイスは、前記プロセッサーコア及び前記メモリ管理部に接続され、データの入出力を行うデータ入出力部と、前記データ入出力部に接続され、前記プリルータ用レジスタに記憶されたプリルーティング情報に基づいて前記データの入出力の際に接続状況の入れ換えを行うプリルーターと、前記プリルータに接続され、前記プリルータと外部データバスとの接続関係の情報であるバススイッチ制御情報に基づいて、接続状況の入れ換えを行うバススイッチとを有し、前記バススイッチ制御情報は、前記各エントリーと関連付けて記憶され、前記バススイッチは、前記プロセッサーコアからデータの外部へのアクセスが発行された場合には、前記データに係るエントリーのバススイッチ制御情報に基づいてデータバスの接続状況の入れ換えを行うマイクロプロセッサーと、コンテンツを格納する記憶装置と、前記記憶装置に接続され、前記記憶装置内に格納されるコンテンツの送受信を行うブリッジ部と、前記ブリッジ部に接続され、ブリッジ部から送信されたコンテンツを一時的に保持するメモリ部と、前記メモリ部に接続され、前記プロセッサーにより加工されたデータのデータをアナログに変換して出力するアナログ変換部と、を有することを特徴とする映像音声システムが提供される。
以上説明したように、本発明によれば、メディアなどのコンテンツの保護を高いレベルで行うマイクロプロセッサー及びセキュリティ機能を有する映像音声システムを提供することができる。
本発明に係るマイクロプロセッサー及びセキュリティ機能を有する映像音声システムの実施形態について、図面を参照しながら詳細に説明する。
図1は本実施形態の映像音声システムを示すブロック図である。この映像音声システム101は、プロセッサー102と、メモリ103と、ブリッジ部104と、記憶装置105と、映像アナログ変換部108と、を有する。プロセッサー102は、データの管理およびデータの処理を行う。ここで、本実施形態においては、プロセッサー102はセキュリティ機能を強化するため、このプロセッサー外部へのデータを出力する際には、そのデータに係る信号の入れ替えを行う。プロセッサー102はローカルバス110に接続され、このローカルバス110を経由して各種データの入出力を行う。メモリ103はローカルバス110に接続され、各種データを一時的に保持する機能を有する。ブリッジ部104はローカルバス110及びドライブ接続バス111、112に接続され、ローカルバス110とドライブ接続バス111,112とのインターフェースを担う。記憶装置105は、映像や音声等のコンテンツを格納する。記憶装置105には、光学系記憶装置106と磁気系記憶装置107とが含まれる。ここで光学系記憶装置106は、例えば、CD−ROMやDVD−ROMといった記憶媒体を扱う装置が用いられる。また、磁気系記憶装置107は、HDD(ハードディスクドライブ)といった装置が用いられる。これらの記憶装置は、専用の信号線であるドライブ接続バス111,112によってブリッジ部104と接続される。光学系記憶装置106や磁気系記憶装置107に格納されている映像や音声等のコンテンツは圧縮を行うというように、コンテンツの全容量を減らすという目的と、そのままのデータ形式では映像や音声として観賞することができないようにするという意図も含めて、データの形式を変える形で格納されるようにしても良い。なお、この映像音声システム101は映像及び音声のみを取り扱うシステムに限られず、記憶装置105に記憶可能な様々なコンテンツを取り扱うことができる。
次に、この映像音声システムが映像や音声等のコンテンツが再生される場合について説明する。まず、プロセッサー102の指示により、記憶装置105に格納されたコンテンツは、ドライブ接続バス111,112を経由してブリッジ部104へ転送され、さらに、ローカルバス110を経由してメモリ103に転送される。この段階では、メモリ上に転送されたコンテンツの情報は、記憶装置105に格納されているコンテンツの状態と同じものであり、通常は、圧縮等の処理が施されている。プロセッサー102は、メモリ上のコンテンツの情報を元にデータの処理を行ない、観賞等することが可能な映像情報または音声情報に変換を施す。プロセッサー102による変換が終了した結果得られる、映像や音声として観賞可能な情報は、ローカルバス110を経由して一旦メモリ103に格納され、その後、映像音声アナログ変換部108に転送され、デジタル情報からアナログ情報に変換され、アナログ情報は、映像音声出力として出力される。
図2は、本実施形態のマイクロプロセッサーを示すブロック図である。このマイクロプロセッサー121は、外部のメモリと接続されるバスインターフェイス124にデータバスシャッフル機構を備えるものである。本実施形態では、データバスを32ビット長とした場合について以下に説明する。このマイクロセッサ121は、プロセッサーコア122と、メモリ管理部(MMU)123と、外部バスインターフェイス部124と、を有する。プロセッサーコア122は、データの入出力制御及びデータ処理のための命令の実行を行う命令実行部125と、データを一時的に保持するキャッシュメモリ126とを有する。命令実行部125による命令を読み出す作業である命令フェッチ処理、命令実行部125のロード命令やストア命令等の実行処理、若しくは、キャッシュメモリ126で発生したキャストアウト処理(不要なエントリー情報を外部メモリに退避させる処理)によって外部バスインターフェイスに接続されているメモリにアクセスする必要がある場合、そのアクセス情報は内部データバス127を介して、外部バスインターフェイス124に送られる。ここで、キャストアウト処理とは、キャッシュメモリからあふれた情報を外部メモリに書き戻す処理を言う。
このようにして、実際に外部バスインターフェイス部124を介して外部バスに接続されているメモリにアクセスする場合、データの転送方向に関わらず外部バスインターフェイス部124を経由するようにする。ここで、この外部バスインターフェイス部124は、プロセッサーコア122及びメモリ管理部123とのデータの入出力を行うデータ入出力部128と、データバス信号のシャッフルを行うためのスイッチング回路(以下、プリルーターとも記す)129と、バススイッチ130と、を有するようにしてある。ここで、本実施形態においては、バススイッチ130は4ビット幅にしたが、これには限られずコスト等の条件に応じて何ビット幅でも実施可能である。
次に、プリルーター129について説明する。プリルーター129は、外部バスインターフェイスのデータバスと内部デ−タバス127間で、1ビット単位で信号の入れ換えを行う(シャッフル)機能を有し、いわば、スイッチャとしての役目をする。プリルーター129によるデータバスのシャッフルの制御は、MMU123に存在するプリルーター用レジスター131に格納されている情報を元に行われる。この情報をプリルーティング情報とする。プリルーティング情報には、外部バスインターフェイスのデータバスの各信号と、内部バスインターフェイスのデータバスの各信号の接続状況を示した情報が格納される。
図3は、プリルーター129が格納するプリルーティング情報のフォーマット例を示す図である。図示の如く、外部バスインターフェイスのデータバスが32ビットの時には、プリルーティング情報は、5ビットのパラメーターを32個格納できるように、160ビットで構成される。ここで、5ビットのパラメーターというのは、外部バスのデータバス32ビットの信号線それぞれに名前代わりに特定の番号をつけるために使われる。
例を挙げると、仮に、外部データバスのD[0]信号は十六進数で0x00が割り当てられ、D[31]信号は同様に0x1Fが割り当てられることになる。このような方法で、内部データバスのあるビットと接続される外部データバスのビットを対応付けることができる。
図4は、図3のプリルーティング情報を例にしたプリルーター接続例を説明するための図である。本図を用いて具体的に接続例を説明する。内部データバスにおけるD[31]の部分に接続される外部データバスは、プリルーティング情報の[31]を見ると0x07になっているので、外部データバスのD[07]が接続されることになる。また、D[30]の部分に接続される外部データバスは、プリルーティング情報の[30]を見ると0x13になっているので、外部データバスのD[19]が接続されることになる。以下同じようにして結び付けていく。プリルーティング情報は、実際に外部にアクセスが行われる段階で、プリルーター用レジスター131からプリルーター制御線133を通してプリルーターに送られる。ここで、実際にプロセッサーに実装する上では、プリルーティング用レジスターは複数持たせることも可能である。その場合には、プリルーティング情報の選択方法として、アクセスするアドレスの上位側の情報を利用するという方法も考えられる。
図5は、本実施形態の4ビットバススイッチ130を示す図である。バススイッチのビット数は何ビットでも良いが、本実施形態においては、4ビットの例を挙げる。このバススイッチは、MMU123が管理するページ単位で、ある決まったビット数範囲内でのシャッフルを切り替えることができるように搭載したものである。
このバススイッチの目的は、ページ単位でシャッフルのパターンを切り替えることにより、よりデータの構成を外部から分かりにくくすることである。このバススイッチ32ビットのデータバスを4ビット単位に分割し、それぞれに4ビット幅のバススイッチを設ける。つまり32ビットのデータバスの場合、4ビットバススイッチは8個必要になる。この4ビットのバススイッチは、その内部バス側(正確にはプリルーター側)と外部バス側のそれぞれ4ビットデータバス間で任意に接続関係を変えられるスイッチである。
4ビットバススイッチに接続される各信号の接続関係を制御するためにバススイッチ制御信号が設けられているが、データのシャッフルの度合いを高めるため、各バススイッチに別々に設けることようにしてもよい。図5の実施形態においては、4ビットスイッチ130は、4つのスイッチ部を有する。これらスイッチは、バススイッチ制御情報に基づいて動作を行う。本実施形態の場合において、バススイッチ制御情報は5ビットになる。5ビットである理由は、4ビット対4ビット同士の接続の組み合わせの総数は24通りあるため、その24通りを表すことが可能なパラメーターとして5ビットを選択したためである。
図6は、バススイッチ制御信号と接続状況の対応を示す図である。図5に示す4ビットバススイッチにおいては、内部バス側(プリルーター側)の信号A,B,C,Dと、外部データバス側の信号E,F,G,Hとの接続は、信号Aは信号Hに接続され、信号Bは信号Eに接続され、信号Cは信号Gに接続され、信号Dは信号Fに接続される。
図7は、バススイッチの接続状況とバススイッチ制御信号のパラメーターの組み合わせを示す図表である。この図表において、各行(横方向)は、あるバススイッチ制御信号(情報)における接続状況を示している。バススイッチ接続状況の「A」の列(縦方向)に示されているE、F、G、Hという記号があるバススイッチ制御信号(情報)における、内部バス(プリルーター)側のA信号と接続される外部バス側の信号であることを示している。ここで、図5において、バススイッチ制御信号(情報)は十六進数で“0x19”となっている。この値で図7を見ると、A信号にはH信号が接続され、B信号にはE信号が、C信号にはG信号が、D信号にはF信号が接続されるということになり、これは図5に示した場合と一致する。このように、図5のバススイッチは図7の図表に基づいて接続される。
外部バスのデータバス幅が32ビットの場合には、4ビットバススイッチは8個必要になる。バススイッチが8個になるので、それらのバススイッチを制御するバススイッチ制御信号は8個分になり、5ビット×8=40ビットの信号(情報)になる。バススイッチの切り替えパターンを、ページ単位で管理するために、本実施形態ではMMU(メモリ管理ユニット)のアドレス変換キャッシュメモリであるTLB(Table lookaside buffer)132の各エントリーに格納する。
図8は、本実施形態におけるTLBの構造例を示す図である。ここで、TLBの仕組みについて説明を行う。TLBは、プロセッサーの中で生成された仮想アドレスと呼ばれるアドレスを、実際に物理的に利用可能な物理アドレスに変換するための、変換参照用の情報を格納するキャッシュメモリの1つである。
ここでこのTLBの1組の情報を格納する部分をエントリーと呼ぶ。基本的に各エントリーの中には、仮想アドレスと比較を行うための仮想アドレスタグと呼ばれる情報が格納され、仮想アドレスと仮想アドレスタグの内容が一致すると、その一致したエントリーの変換参照用の情報を利用して、物理アドレスを生成する。ここで説明した仮想アドレスタグは、図8に示すVATAG(仮想アドレス比較用情報格納部)141で示され、変換参照用の情報は、図8のPA(物理アドレス置換用情報格納部)144で示される。TLBの各エントリーには、上記以外にもページと呼ばれる領域のサイズを示す情報や、アクセス制限を指定するステータス情報142も含まれる。
本実施形態では、TLBの各エントリーにバススイッチ制御情報格納部143を設け、ページ単位でバススイッチの接続状況を変えられるようにしてある。このバススイッチ制御情報格納部143は、外部データバス幅を32ビット、バススイッチのビット数を4ビットとした本例では、5ビット×8個となり計40ビットのパラメーターで構成する。
この40ビットのパラメーターで、8個ある4ビットのバススイッチを、それぞれ図7に示す図表に基づいて接続を切り替えるが、これらのバススイッチ制御情報145は、仮想アドレスと一致するエントリーが選択された直後に、物理アドレス置換用情報格納部144から物理アドレス上位側情報146が取り出されるのと同時に、TLB情報出力として取り出される。
この情報出力は、ただちに外部バスインターフェイスに転送されるのではなく、例えば、データキャッシュメモリーのみの書き込みアクセスの場合には、キャッシュメモリにバススイッチ制御情報が送られるだけで、バススイッチには転送されない。つまり、キャッシュメモリ側にも、バススイッチ制御情報を格納する機能が必要になる。
図9は、本実施形態におけるキャッシュメモリの構造例を説明するための図である。このキャッシュメモリには、物理アドレス比較用情報格納部151と、ステータス情報格納部152と、バススイッチ制御格納部153と、データ格納部154とを有する。
プロセッサー内部から発行された外部バスインターフェイスに対するアクセスの場合にはTLB132からそのままバススイッチ制御情報が、外部バスインターフェイス中のバススイッチに送られ、データのシャッフルが行われる。また、キャッシュメモリに格納されているデータが、キャストアウト処理(キャッシュメモリの空き容量が無くなり、その結果キャッシュ中のあるデータを外部バスに追い出して、外部メモリに書き戻す処理)が行われる時には、キャストアウトされるデータやそのアドレス値と共に、キャッシュに格納されていたバススイッチ情報も外部バスインターフェイスに送られる。その際に、キャストアウトされるデータに対するシャッフルが行われる。
バススイッチ制御情報は、プログラマーが何らかの方法によって定義する場合と、ハードウェアで自動生成する場合が考えられる。どちらにしろ、一度ページに定義されたバススイッチ制御情報は、電源を切ったり、ハードウェアリセットを行うなどしてプロセッサー自体の動作を止め初期化を行わない限り、変更することは出来ない。それは、プロセッサーが動作している途中で変えてしまうと、制御情報を変える前に書き込んだ値は、制御情報を変えた後の状態では正しく値を読み出すことができなくなるためである。従って、本実施形態のプロセッサーを搭載したシステムが動作し続ける期間は、一度生成したバススイッチ制御情報は同一のものを用いる。
図10は、外部メモリにTLB情報とバススイッチ制御情報を格納する場合を説明するための図である。ここではプロセッサー161内のTLB162に格納されたバススイッチ制御情報が、このTLB162のエントリーから追い出される場合には、外部バス163を通って外部メモリ164内のあるメモリ領域165に格納される。その際には、外部メモリ上にTLBのエントリー情報も一緒に格納するようにする。これらTLBのエントリー情報と、バススイッチ制御情報を合わせて、ページテーブル情報とする。
上述した実施形態1では、プリルーターによるデータ信号線のシャッフル機構と、バススイッチとTLBを組み合わせることで可能になる、ページ単位でシャッフルパターンを切り替えるプロセッサーについて説明した。この場合には、シャッフルパターンの情報であるバススイッチ制御情報は外部バスインターフェイスに出力されるので、バススイッチ情報の解析が行われてしまう可能性がある。そのため、実施形態2としては、バススイッチ情報を外部バスに出力させない方式を用いることにより、シャッフル機構の秘匿性を上げ、よりセキュリティ効果を上げる事が可能なプロセッサーについて説明する。
図11は、実施形態2に係るプロセッサーを説明するための図である。この場合、TLB171は実施形態1とは異なり、各エントリーにバススイッチ制御情報は格納されない。バススイッチ制御情報は、専用のバススイッチ制御情報格納部174に格納される。ここには、複数のバススイッチ制御情報が各エントリーごとに分けられて格納される。以下、本実施形態では、そのエントリー数がn個の場合について説明する。
バススイッチ制御情報格納部174内のn個のエントリーは、それぞれ0番からn−1番までに番号付けされていて、外部から与えられる値によって、任意の1つのエントリーが選ばれて、バススイッチ制御情報が出力されるようになっている。
本実施形態における外部から与えられる値とは、実際にはTLBを利用したアドレス変換作業において、選ばれたTLB中のエントリーの物理アドレス情報の一部分になっている。つまり、アドレス変換作業で選ばれた、TLB中の1エントリーの物理アドレス情報の一部分の値(これも0〜n−1までの値を持つ)に基づいて、バススイッチ制御情報格納部から、任意のバススイッチ制御情報が格納されたエントリーを選ぶということになる。
次に、図11を用いて本実施形態に係るプロセッサーの処理の流れを説明する。プロセッサー内部から、外部物理メモリに対するアクセスが発生すると、まず生成されたアドレス(仮想アドレス)は、TLB171のエントリー中に存在する仮想アドレス比較用情報格納部であるTLB171内のVATAGと比較が行われる。比較の結果、仮想アドレスとVATAGが一致したエントリーが選択される。選択されたエントリー172は、仮にエントリー(K−2)とすると、そのエントリー中に存在する物理アドレス置換用情報格納部に格納されているTLB171のPAを取り出し、その物理アドレス上位側情報173の一部分であるPA[Q:R]は、バススイッチ制御情報格納部174の所定の記憶領域175に転送される。PA[Q:R]=0xSという値であった場合には、バススイッチ制御情報格納部174のエントリーからエントリー[S]175が選ばれる。選ばれたエントリー[S]から、内部に格納されているバススイッチ制御情報が取り出されて、キャッシュメモリもしくは、外部バスインターフェイスに送られる。
キャッシュメモリに送られるバススイッチ制御情報は、すぐにバススイッチの制御には使われないが、キャッシュに格納されているデータが、何らかの理由で外部バスに接続されているメモリに書き戻されるといった処理に移る場合に、データと共にキャッシュメモリに格納されていたバススイッチ制御情報がバススイッチの制御に使用される。
このようにアクセスアドレス値とバススイッチ制御情報間に相関性を持たせて、かつバススイッチ情報を外部に出力しないようにしたので、シャッフル機構の秘匿性を挙げ、よりセキュリティ効果を上げることができる。
図12は、実施形態2におけるバススイッチ制御情報を生成する処理を示すフローチャートである。このフローチャートにおいては、バススイッチ制御情報のエントリー数をnとして以下に説明する。まず、電源スイッチが入れられるか、または、ハードウェアリセットが投入され、初期状態となり(ステップS181)、ハードウェアのリセット解除を待つ(ステップS182)。ここで、ハードウェアのリセット解除があった場合には、バススイッチ制御情報の所定のエントリー番号(E)に初期値0をセットする(ステップS183)。続いて、バススイッチ制御情報のためのランダム値を生成し(ステップS184)、そのエントリーに制御情報を書き込む(ステップS185)。続いて、エントリー番号(E)を更新し(ステップS186)、エントリー番号(E)がバススイッチ制御情報のエントリー数に達したか否かを判定し(ステップS187)、バススイッチ制御情報のエントリー数に達していない場合には、ステップS184へ進む。一方、バススイッチ制御情報のエントリー数に達した場合には、バススイッチ制御情報の登録終了として(ステップS188)、処理を終了する。
ここで、バススイッチ制御情報格納部174に格納されるバススイッチ制御情報は、プロセッサーのハードウェアリセットの実行や電源をオンにする度に、ランダムな値として生成されバススイッチ制御情報格納部に格納され、利用されるのを待つ。バススイッチ制御情報は、ランダムな値として生成されるので、電源を立ち上げや、リセットの実行をする度に、異なる値が設定される。従って、同じようなバススイッチの入れ換えパターンでアクセスするといった再現性はなくなる。その結果、逆に外部バスインターフェイスの情報を解析していくといった作業を、複雑なものにしていくことができる。これにより、コンテンツのセキュリティをより高めることができる。
このように本実施形態のプロセッサーによれば、複数ビット存在するメモリ用データ信号線を、入れ換え(シャッフル)を行うことで、メモリ用信号線が突き止められてしまったとしても、そのバスを流れるデータから容易にコンテンツのデータのフォーマットや処理内容が解析できないようにすることができる。 以上説明したように、本実施形態によれば、データバスの信号線の入れ換え機能を持たせることで、画像や音声といった著作権が絡むような、コンテンツの処理を行うプロセッサーのデータバスの信号の解析を行って、コンテンツのセキュリティを破るといったことが難解になり、それによってコンテンツの保護をより高いレベルで行うことができる。
本実施形態の映像音声システムを示すブロック図である。 本実施形態のマイクロプロセッサーを示すブロック図である。 プリルーター129が格納するプリルーティング情報のフォーマット例を示す図である。 図3のプリルーティング情報を例にしたプリルーター接続例を説明するための図である。 本実施形態の4ビットバススイッチを示す図である。 バススイッチ制御信号と接続状況の対応を示す図である。 バススイッチの接続状況とバススイッチ制御信号のパラメーターの組み合わせを示す図表である。 本実施形態におけるTLBの構造例を示す図である。 本実施形態におけるキャッシュメモリの構造例を説明するための図である。 外部メモリにTLB情報とバススイッチ制御情報を格納する場合を説明するための図である。 実施形態2に係るプロセッサーを説明するための図である。 実施形態2におけるバススイッチ制御情報を生成する処理を示すフローチャートである。
符号の説明
101 映像音声システム
102,161 プロセッサー
103 メモリ
104 ブリッジ部
105 記憶装置
106 光学系記憶装置
107 磁気系記憶装置
108 映像音声アナログ変換部
110 ローカルバス
111,112 ドライブ接続バス
121 マイクロプロセッサー
122 プロセッサーコア
123 メモリ管理部(MMU)
124 外部バスインターフェイス部
125 命令実行部
126 キャッシュメモリ
127 内部データバス
128 データ入出力部
129 スイッチング回路(プリルーター)
130 バススイッチ
131 プリルーター用レジスター
132,162,171 TLB(Table lookaside buffer)
133 プリルーター制御線
141 VATAG(仮想アドレス比較用情報格納部
142 ステータス情
143 バススイッチ制御情報格納部
144 物理アドレス置換用情報格納部
145 バススイッチ制御情報
146 物理アドレス上位側情報
151 物理アドレス比較用情報格納部
152 ステータス情報格納部
153 バススイッチ制御格納部
154 データ格納部
155 バススイッチ制御情報
163 外部バス
164 外部メモリ
165 メモリ領域
172 選択されたエントリー
173 物理アドレス上位側情報
174 バススイッチ制御情報格納部
175 選択されたエントリー

Claims (4)

  1. マイクロプロセッサーにおいて、
    データの入出力制御及び前記データ処理のための命令の実行を行う命令実行部及び、前記データを一時的に保持するキャッシュメモリを有するプロセッサーコアと、
    前記プロセッサーコアに接続され、前記データに係る各エントリの仮想アドレスから物理アドレスに変換に用いられる変換参照用の情報を記憶するアドレス変換キャッシュメモリの管理、及びプリルーティング情報を記憶するプリルータ用レジスタの管理を行うメモリ管理部と、
    前記プロセッサーコア及び前記メモリ管理部に接続され、このマイクロプロセッサーの外部との前記データの入出力を行う際にデータバスの信号を入れ換え可能なバスインターフェイスとを有し、
    前記バスインターフェイスは、
    前記プロセッサーコア及び前記メモリ管理部に接続され、データの入出力を行うデータ入出力部と、
    前記データ入出力部に接続され、前記プリルータ用レジスタに記憶されたプリルーティング情報に基づいて前記データの入出力の際に接続状況の入れ換えを行うプリルーターと、
    前記プリルータに接続され、前記プリルータと外部データバスとの接続関係の情報であるバススイッチ制御情報に基づいて、接続状況の入れ換えを行うバススイッチとを有し、
    前記バススイッチ制御情報は、前記各エントリーと関連付けて記憶され、前記バススイッチは、前記プロセッサーコアからデータの外部へのアクセスが発行された場合には、前記データに係るエントリーのバススイッチ制御情報に基づいてデータバスの接続状況の入れ換えを行う
    ことを特徴とするマイクロプロセッサー。
  2. 前記バススイッチは、前記メモリ管理部が管理するページ単位で接続状況の入れ換えを行うことを特徴とする請求項2記載のマイクロプロセッサー。
  3. 前記メモリ管理部は、外部アクセスの段階で、前記アドレス変換キャッシュメモリに格納される物理アドレスに基づき、該当するバススイッチ制御情報を送信することを特徴とする請求項3記載のマイクロプロセッサー。
  4. 映像音声システムにおいて、
    データの入出力制御及び前記データ処理のための命令の実行を行う命令実行部及び、前記データを一時的に保持するキャッシュメモリを有するプロセッサーコアと、
    前記プロセッサーコアに接続され、前記データに係る各エントリの仮想アドレスから物理アドレスに変換に用いられる変換参照用の情報を記憶するアドレス変換キャッシュメモリの管理、及びプリルーティング情報を記憶するプリルータ用レジスタの管理を行うメモリ管理部と、
    前記プロセッサーコア及び前記メモリ管理部に接続され、このマイクロプロセッサーの外部との前記データの入出力を行う際にデータバスの信号を入れ換え可能なバスインターフェイスとを有し、
    前記バスインターフェイスは、
    前記プロセッサーコア及び前記メモリ管理部に接続され、データの入出力を行うデータ入出力部と、
    前記データ入出力部に接続され、前記プリルータ用レジスタに記憶されたプリルーティング情報に基づいて前記データの入出力の際に接続状況の入れ換えを行うプリルーターと、
    前記プリルータに接続され、前記プリルータと外部データバスとの接続関係の情報であるバススイッチ制御情報に基づいて、接続状況の入れ換えを行うバススイッチとを有し、
    前記バススイッチ制御情報は、前記各エントリーと関連付けて記憶され、前記バススイッチは、前記プロセッサーコアからデータの外部へのアクセスが発行された場合には、前記データに係るエントリーのバススイッチ制御情報に基づいてデータバスの接続状況の入れ換えを行うマイクロプロセッサーと、
    コンテンツを格納する記憶装置と、
    前記記憶装置に接続され、前記記憶装置内に格納されるコンテンツの送受信を行うブリッジ部と、
    前記ブリッジ部に接続され、ブリッジ部から送信されたコンテンツを一時的に保持するメモリ部と、
    前記メモリ部に接続され、前記プロセッサーにより加工されたデータのデータをアナログに変換して出力するアナログ変換部と、
    を有することを特徴とする映像音声システム。
JP2003310128A 2003-09-02 2003-09-02 マイクロプロセッサー及び映像音声システム Expired - Fee Related JP3984206B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003310128A JP3984206B2 (ja) 2003-09-02 2003-09-02 マイクロプロセッサー及び映像音声システム
US10/718,591 US7130955B2 (en) 2003-09-02 2003-11-24 Microprocessor and video/sound processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003310128A JP3984206B2 (ja) 2003-09-02 2003-09-02 マイクロプロセッサー及び映像音声システム

Publications (2)

Publication Number Publication Date
JP2005078494A JP2005078494A (ja) 2005-03-24
JP3984206B2 true JP3984206B2 (ja) 2007-10-03

Family

ID=34269635

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003310128A Expired - Fee Related JP3984206B2 (ja) 2003-09-02 2003-09-02 マイクロプロセッサー及び映像音声システム

Country Status (2)

Country Link
US (1) US7130955B2 (ja)
JP (1) JP3984206B2 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9582449B2 (en) 2005-04-21 2017-02-28 Violin Memory, Inc. Interconnection system
US8112655B2 (en) * 2005-04-21 2012-02-07 Violin Memory, Inc. Mesosynchronous data bus apparatus and method of data transmission
EP2383660B1 (en) * 2005-04-21 2013-06-26 Violin Memory, Inc. Interconnection system
US9286198B2 (en) 2005-04-21 2016-03-15 Violin Memory Method and system for storage of data in non-volatile media
US9384818B2 (en) 2005-04-21 2016-07-05 Violin Memory Memory power management
US8452929B2 (en) * 2005-04-21 2013-05-28 Violin Memory Inc. Method and system for storage of data in non-volatile media
US8346740B2 (en) 2005-07-22 2013-01-01 Hewlett-Packard Development Company, L.P. File cache management system
US8028186B2 (en) * 2006-10-23 2011-09-27 Violin Memory, Inc. Skew management in an interconnection system
US7957173B2 (en) * 2008-10-14 2011-06-07 Mosaid Technologies Incorporated Composite memory having a bridging device for connecting discrete memory devices to a system
US8134852B2 (en) * 2008-10-14 2012-03-13 Mosaid Technologies Incorporated Bridge device architecture for connecting discrete memory devices to a system
US8549209B2 (en) * 2008-11-04 2013-10-01 Mosaid Technologies Incorporated Bridging device having a configurable virtual page size
US20100115172A1 (en) * 2008-11-04 2010-05-06 Mosaid Technologies Incorporated Bridge device having a virtual page buffer
KR101538741B1 (ko) 2009-10-21 2015-07-22 삼성전자주식회사 보안기능을 갖는 데이터 저장매체와 그 출력장치
JP5017439B2 (ja) * 2010-09-22 2012-09-05 株式会社東芝 暗号演算装置及びメモリシステム
US20160371211A1 (en) * 2015-06-16 2016-12-22 Apple Inc. Bus-bit-order ascertainment
JP6776292B2 (ja) * 2018-03-20 2020-10-28 株式会社東芝 情報処理装置、情報処理方法、およびプログラム

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4378591A (en) * 1980-12-31 1983-03-29 Honeywell Information Systems Inc. Memory management unit for developing multiple physical addresses in parallel for use in a cache memory
US4484273A (en) * 1982-09-03 1984-11-20 Sequoia Systems, Inc. Modular computer system
US4845664A (en) * 1986-09-15 1989-07-04 International Business Machines Corp. On-chip bit reordering structure
JPH06100961B2 (ja) * 1988-04-18 1994-12-12 富士通テン株式会社 デジタル信号処理プロセッサ
JP2633331B2 (ja) * 1988-10-24 1997-07-23 三菱電機株式会社 マイクロプロセッサ
US5265237A (en) * 1988-12-07 1993-11-23 Xycom, Inc. Byte swapping apparatus for selectively reordering bytes of an N-bit word communicated between an at computer and VME bus
US5297231A (en) * 1992-03-31 1994-03-22 Compaq Computer Corporation Digital signal processor interface for computer system
US5828853A (en) * 1995-05-08 1998-10-27 Apple Computer, Inc. Method and apparatus for interfacing two systems operating in potentially differing Endian modes
US5742840A (en) * 1995-08-16 1998-04-21 Microunity Systems Engineering, Inc. General purpose, multiple precision parallel operation, programmable media processor
US5721957A (en) * 1996-06-03 1998-02-24 International Business Machines Corporation Method and system for storing data in cache and retrieving data from cache in a selected one of multiple data formats
JPH1145212A (ja) 1997-07-29 1999-02-16 Matsushita Electric Ind Co Ltd 秘密情報の解読攻撃対抗方法
JP3255227B2 (ja) 1997-12-10 2002-02-12 日本電気株式会社 アドレス変換システム
US6243808B1 (en) * 1999-03-08 2001-06-05 Chameleon Systems, Inc. Digital data bit order conversion using universal switch matrix comprising rows of bit swapping selector groups
EP1046998A1 (en) * 1999-04-22 2000-10-25 Texas Instruments Incorporated Digital signal processors with virtual addressing
JP3801833B2 (ja) 2000-02-14 2006-07-26 株式会社東芝 マイクロプロセッサ
US6725369B1 (en) * 2000-04-28 2004-04-20 Hewlett-Packard Development Company, L.P. Circuit for allowing data return in dual-data formats

Also Published As

Publication number Publication date
US20050060483A1 (en) 2005-03-17
JP2005078494A (ja) 2005-03-24
US7130955B2 (en) 2006-10-31

Similar Documents

Publication Publication Date Title
JP3984206B2 (ja) マイクロプロセッサー及び映像音声システム
JP4299679B2 (ja) 要求元マスタidおよびデータ・アドレスを用いて統合システム内でのデータ・アクセスを限定する制御機能
JP2008299611A (ja) メモリセキュリティ装置
TWI446166B (zh) 判定快取策略的方法、處理器和設定快取策略的系統
JP4780304B2 (ja) 半導体メモリおよびデータアクセス方法
JP4789753B2 (ja) 画像データバッファ装置、画像転送処理システム、及び画像データバッファ方法
US20070079051A1 (en) Data reading device
JP2005521942A (ja) 領域粒状、ハードウェア制御メモリ暗号化を提供するシステムおよび方法
US8543840B2 (en) Data processing apparatus, data processing system, and method for controlling the same
US10133497B1 (en) SPI command censoring method and apparatus
US11748493B2 (en) Secure asset management system
JP4591163B2 (ja) バスアクセス制御装置
EP1073051A2 (en) Signal processing apparatus and method and information recording medium to be used therein
US7389376B2 (en) HDD controller and system equipped with the same
JPH1145212A (ja) 秘密情報の解読攻撃対抗方法
JP5395838B2 (ja) マルチコアシステム
JP2009278491A (ja) マイクロプロセッサ及びマイクロプロセッサ応用装置
JP2008310678A (ja) 記憶装置、情報機器、及びコンテンツ変換方法
JP2010134572A (ja) セキュリティを実現する装置、および方法
JP2005172866A (ja) 暗号化/復号化システム
JP2002182984A (ja) データ処理装置
JP2012088991A (ja) 半導体記憶装置及びコンピュータシステム
JP4859176B2 (ja) マイクロプロセッサ及びi/oポート置換方法
JPH117411A (ja) アドレス変換装置
JP2004102405A (ja) メモリカードコントローラ

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070312

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070705

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

Free format text: PAYMENT UNTIL: 20100713

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100713

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110713

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees