(57)【要約】【課題】  より簡単な方式で、プログラムの機密保護を達成することができるプロセッサシステムを提供する。【解決手段】  共通バス９に対して、キャッシュ５及びプリフェッチ制御部６を内蔵するＣＰＵ２と、制御用ＩＣ８と、ＣＰＵ２によって実行される制御プログラム３が記憶されるＲＯＭ４とが接続されている場合に、バスブリッジ１０及びマルチプレクサ１３は、ＲＯＭ４に対するアクセスをプリフェッチ信号がアクティブである場合にのみ許可する。【選択図】  図１
2006338385.tif 000002
【特許請求の範囲】
【請求項１】
キャッシュと、このキャッシュに対する命令アクセスがミスした場合、外部アクセスを行って前記キャッシュにデータをロードするため、外部にプリフェッチ信号を出力するプリフェッチ制御部とを内蔵して構成されるプロセッサと、
このプロセッサと共通のバス上に接続される１つ以上のバスマスタと、
前記共通バスに接続され、前記プロセッサによって実行されるプログラムが記憶される外部メモリと、
前記外部メモリに対するアクセスを、前記プリフェッチ信号がアクティブである場合にのみ許可するメモリアクセス制御部とを備えて構成されることを特徴とするプロセッサシステム。
【請求項２】
前記メモリアクセス制御部は、前記プリフェッチ信号がインアクティブである場合に前記外部メモリに対するアクセスが行われた場合は、前記共通バス上にダミーデータを出力するように構成されていることを特徴とする請求項１記載のプロセッサシステム。
【請求項３】
前記メモリアクセス制御部は、前記ダミーデータとして、ランダムデータを出力するように構成されていることを特徴とする請求項２記載のプロセッサシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内蔵キャッシュに対する命令アクセスがミスした場合、外部アクセスを行って前記キャッシュにデータをロードするためプリフェッチ信号を出力するプロセッサと、このプロセッサと共通のバス上に接続される１つ以上のバスマスタ及び前記プロセッサによって実行されるプログラムが記憶される外部メモリとで構成されるプロセッサシステムに関する。
【背景技術】
【０００２】
従来、例えば、ＤＶＤ，デジタルＴＶ，ＦＭ多重放送のＤＡＲＣ（DAta Radio Channel），ＥＴＣ（Electronic Toll Collection）等に使用されるデコーダ（スクランブラ）のように、機密管理が必要な処理をＬＳＩに組み込むには、プログラムコードを外部から観測できなくするように（１）マスクＲＯＭ化してＬＳＩ内部に配置するか、（２）処理自体をロジック回路化して、その回路をＬＳＩに組み込む必要があった。例えば、斯様な従来技術の一例が非特許文献に開示されている。
【非特許文献１】（株）デンソー，ＮＡＶＩＥＭ  ＬＳＩマニュアル
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、（１）についてはＬＳＩの製造プロセスにおいて、ＲＯＭの製造プロセスを追加しなければならない。また、外部からの上記ＲＯＭへの不正アクセスが想定される場合には阻止することができない。一方、（２）については機密保護の観点からは最も安全性が高いと言えるが、仕様変更が伴う機能部分については設計をやり直す必要があり製品コスト的には見合わない。
本発明は上記事情に鑑みてなされたものであり、その目的は、より簡単な方式で、プログラムの機密保護を達成することができるプロセッサシステムを提供することにある。
【課題を解決するための手段】
【０００４】
請求項１記載のプロセッサシステムによれば、共通バスに対して、プリフェッチ制御部を内蔵するプロセッサと、その他の１つ以上のバスマスタと、前記プロセッサによって実行されるプログラムが記憶される外部メモリとが接続されている場合に、メモリアクセス制御部は、外部メモリに対するアクセスをプリフェッチ信号がアクティブである場合にのみ許可する。斯様に構成すれば、上記プロセッサ以外のバスマスタが外部メモリにアクセスを行った場合、プリフェッチ信号はインアクティブであるから、そのアクセスが許可されることはない。従って、外部メモリに記憶されているプログラムコードが他のバスマスタによって参照されることを、極めて簡単な構成で回避することができる。
【０００５】
請求項２記載のプロセッサシステムによれば、メモリアクセス制御部は、プリフェッチ信号がインアクティブである場合に外部メモリに対するアクセスが行われた場合は、共通バス上にダミーデータを出力するので、例えばバスエラーなどが発生することはない。従って、不正なアクセスが意図的に試みられた場合に、それが確実に失敗したか否かが直ぐには判らないようにすることができる。
【０００６】
請求項３記載のプロセッサシステムによれば、メモリアクセス制御部は、ダミーデータとしてランダムデータを出力するので、上記のように、不正なアクセスが意図的に試みられた場合に、それが確実に失敗したか否かを一層判り難くすることができる。
【発明を実施するための最良の形態】
【０００７】
以下、本発明の一実施例について図面を参照して説明する。図１は、プロセッサシステムであるＬＳＩの構成を、本発明の要旨に係る部分のみ概略的に示すものである。ＬＳＩ１は、ＣＰＵ（プロセッサ）２を中心として構成されており、そのＣＰＵ２の制御プログラム３は、ＲＯＭ（外部メモリ）４に記憶されている。また、ＣＰＵ２は、キャッシュ５を内蔵しており、ＲＯＭ４より最初に読み出されたプログラムの命令は、キャッシュ５にロードされてから読み出されるようになっている。
【０００８】
更に、ＣＰＵ２は、プリフェッチ制御部６を内蔵している。プリフェッチ制御部６は、ＣＰＵ２が内蔵キャッシュ５に対してアクセスを行った結果、キャッシュ５にアクセス対象の命令がロードされていない所謂キャッシュミスが発生した場合に、プリフェッチ信号をアクティブにしてＲＯＭ４に対する外部バスアクセスを行うようになっている。
また、ＬＳＩ１は、ワークエリアなどに使用されるＲＡＭ７を備えていると共に、ＣＰＵ２以外にこれらのリソースにアクセスを行うバスマスタとして、例えば通信用ＩＣ８も備えている。通信用ＩＣ８は、外部の他のＬＳＩ等に搭載されているＣＰＵ等が、ＬＳＩ１のＣＰＵ２と通信を行う場合に使用される。
【０００９】
そして、ＣＰＵ２と通信用ＩＣ８とは、共通バス９に接続されているＲＯＭ４やＲＡＭ７に対し、バスブリッジ（メモリアクセス制御部）１０を介してアクセスを行うようになっている。バスブリッジ１０は、リソースに対するアクセス制限を行うために配置されており、アドレスデコーダ１１やマルチプレクサ１２などで構成されている。マルチプレクサ１２の入力側の一方にはＲＡＭ７が接続されており、他方には、もう１つのマルチプレクサ１３（メモリアクセス制御部）を介してＲＯＭ４が接続されている。
【００１０】
マルチプレクサ１２の入力選択は、アドレスデコーダ１１が出力するデコード信号に応じて行なわれる。ＲＯＭ４には、機密性が高いＣＰＵ２の制御プログラム３が記憶されており、ＬＳＩ１では、ＲＯＭ４に対するアクセスをＣＰＵ２にしか認めないようになっている。一方、ＲＡＭ７に対しては、ＣＰＵ２，通信用ＩＣ８の何れもがアクセス可能である。そして、これらの仕様に基づくアクセス制御を行うため、アドレスデコーダ１１は、上位アドレスがＲＯＭ４の領域であればＲＯＭ４側を選択し、上位アドレスがＲＡＭ７の領域であればＲＡＭ７側を選択するようになっている。
【００１１】
また、マルチプレクサ１３の入力端子の他方には、ランダムデータ出力回路（メモリアクセス制御部）１４が接続されている。ランダムデータ出力回路１４は、リードサイクルが行われる毎に、ダミーデータであるランダムデータを生成して出力するように構成されている。そして、マルチプレクサ１３の入力選択は、ＣＰＵ２によって出力されるプリフェッチ信号に基づいて行われる。即ち、マルチプレクサ１３は、ＣＰＵ２がプリフェッチ信号をアクティブにしている場合はＲＯＭ４側を選択し、プリフェッチ信号がインアクティブの場合はランダムデータ出力回路１４側を選択するようになっている。
【００１２】
次に、本実施例の作用について説明する。上記構成から明らかなように、ＣＰＵ２，通信用ＩＣ８の何れかがＲＡＭ７にアクセスを行う場合には、バスブリッジ１０のマルチプレクサ１２がＲＡＭ７側を選択することでアクセスが行われる。そして、ＣＰＵ２がＲＯＭ４にアクセスを行う場合には、バスブリッジ１０のマルチプレクサ１２がマルチプレクサ１３側を選択し、そのマルチプレクサ１３は、ＣＰＵ２がプリフェッチ信号をアクティブにすることでＲＯＭ４側を選択する。従って、ＣＰＵ２は、ＲＯＭ４よりプログラム命令をフェッチすることができる。
【００１３】
これに対して、通信用ＩＣ８がＲＯＭ４にアクセスを行おうとすると、バスブリッジ１０のマルチプレクサ１２はマルチプレクサ１３側を選択するが、マルチプレクサ１３は、プリフェッチ信号がインアクティブであるためランダムデータ出力回路１４側を選択する。従って、通信用ＩＣ８はランダムデータを読み出すことになる。
【００１４】
以上のように本実施例によれば、共通バス９に対して、キャッシュ５及びプリフェッチ制御部６を内蔵するＣＰＵ２と、制御用ＩＣ８と、ＣＰＵ２によって実行される制御プログラム３が記憶されるＲＯＭ４とが接続されている場合に、バスブリッジ１０及びマルチプレクサ１３は、ＲＯＭ４に対するアクセスをプリフェッチ信号がアクティブである場合にのみ許可するようにした。従って、ＣＰＵ２以外の制御用ＩＣ８がＲＯＭ４にアクセスを行った場合はそのアクセスが許可されることはなく、ＲＯＭ４に記憶されている制御プログラム３が制御用ＩＣ８を介して外部より参照されることを、極めて簡単な構成で回避することができる。
【００１５】
また、プリフェッチ信号がインアクティブである場合にＲＯＭ４に対するアクセスが行われた場合は、ランダムデータ出力回路１４が共通バス９上にダミーデータを出力するので、例えばバスエラーなどが発生することはなく、不正なアクセスが意図的に試みられた場合に、それが確実に失敗したか否かが外部から直ぐには判らないようにすることができる。更に、ランダムデータ出力回路１４は、ダミーデータとしてランダムデータを出力するので、上記のように、不正なアクセスが意図的に試みられた場合に、それが確実に失敗したか否かを一層判り難くすることができる。
【００１６】
本発明は上記し又は図面に記載した実施例にのみ限定されるものではなく、以下のような変形が可能である。
ランダムデータ出力回路１４に替えて、固定データ「０」を与えても良い。
ＣＰＵ２以外のバスマスタは、他のＣＰＵであっても良い。
プロセッサは、ＣＰＵ２に限ることなく、キャッシュ及びプリフェッチ制御部を内蔵するものであればその他ＤＳＰなどであっても良い。
全てのバスマスタが共通にアクセスするリソースは、ＲＡＭ７以外に、その他例えば、Ａ／Ｄコンバータ、Ｄ／Ａコンバータ、ＤＭＡコントローラなどであっても良い。
外部メモリは、ＲＯＭ４に限ることなくＲＡＭであっても良い。但し、ＲＡＭの場合は、ＣＰＵの制御プログラムを暗号化した状態で記憶させておき、ＣＰＵの内蔵キャッシュに命令をロードする場合には、暗号を解読するためのデコーダを介してデコードしたものをキャッシュにＤＭＡ転送する、というように構成すれば良い。
【図面の簡単な説明】
【００１７】
【図１】本発明の一実施例であり、ＬＳＩの構成を本発明の要旨に係る部分のみ概略的に示す図
【符号の説明】
【００１８】
図面中、１はＬＳＩ（プロセッサシステム）、２はＣＰＵ（プロセッサ）、３は制御プログラム、４はＲＯＭ（外部メモリ）、５はキャッシュ、６はプリフェッチ制御部、７はＲＡＭ、８は通信用ＩＣ（バスマスタ）、９は共通バス、１０はバスブリッジ（メモリアクセス制御部）、１３はマルチプレクサ（メモリアクセス制御部）、１４はランダムデータ出力回路（メモリアクセス制御部）を示す。
【図１】
2006338385.tif 000003