(57)【特許請求の範囲】
【請求項１】
余分なメモリアクセスを避けるＳＯＣモジュールであって、
複数のマイクロプロセッサと、
前記複数のマイクロプロセッサと統合して前記ＳＯＣモジュールに形成されるＤＲＡＭと、
前記複数のマイクロプロセッサ及び前記ＤＲＡＭに電気的に接続され、複数のラインキャッシュユニットと、アクセスアービトレータを有するＤＲＡＭコントローラーと、を有し、
各前記マイクロプロセッサに対応して１つの前記ラインキャッシュユニットが設けられ、
各前記マイクロプロセッサは、それぞれ対応の各前記ラインキャッシュユニットによって前記ＤＲＡＭに対して読み取りまたは書き込みを行い、
前記アクセスアービトレータは、各前記ラインキャッシュユニットに電気的に接続され、前記マイクロプロセッサの内の、前記ＤＲＡＭに対して読み取りまたは書き込みを行う１つのマイクロプロセッサを設定することを特徴とする、
ＳＯＣモジュール。
【請求項２】
第１バスインターフェースを介して前記ＤＲＡＭと前記ＤＲＡＭコントローラーを接続し、
第２バスインターフェースを介して前記少なくとも１つのマイクロプロセッサと前記ＤＲＡＭコントローラーを接続することを特徴とする、
請求項１に記載のＳＯＣモジュール。
【請求項３】
前記第２バスインターフェースの幅は、前記第１バスインターフェースより小さいことを特徴とする、
請求項２に記載のＳＯＣモジュール。
【請求項４】
前記複数のマイクロプロセッサ及び前記ＤＲＡＭは、同じ論理回路及びアナログ回路プロセスによって統合され、前記ＳＯＣモジュールに形成されることを特徴とする、
請求項１に記載のＳＯＣモジュール。
【請求項５】
前記複数のマイクロプロセッサが前記ＤＲＡＭを読み取って、且つ前記ラインキャッシュユニットに保存されるデータが前回読み取ったラインデータではない場合、
前記複数のマイクロプロセッサは、前記ＤＲＡＭコントローラーによって前記ＤＲＡＭから１つの新しいラインデータの読み取りを命令し、
前記新しいラインデータは、前記ラインキャッシュユニットに保存され、前記複数のマイクロプロセッサによって読み取られることを特徴とする、
請求項１に記載のＳＯＣモジュール。
【請求項６】
前記複数のマイクロプロセッサは、同時に前記新しいラインデータの読み取りアドレスをマークすることを特徴とする、
請求項５に記載のＳＯＣモジュール。
【請求項７】
前記複数のマイクロプロセッサによってデータを前記ＤＲＡＭに書き込み、且つ前記データのアドレス及び前回のデータのアドレスが同じである場合、
前記複数のマイクロプロセッサは、前記データをそのまま前記ラインキャッシュユニットに保存し、且つ前記ＤＲＡＭに書き込むことを特徴とする、
請求項１に記載のＳＯＣモジュール。
【請求項８】
前記データのアドレス及び前回のデータのアドレスが異なる場合、
前記複数のマイクロプロセッサは、まず、前記ＤＲＡＭを読み取って、読み込みが完成してから、前記ＤＲＡＭに書き込むことができるように前記データを前記ラインキャッシュユニットに保存することを特徴とする、
請求項７に記載のＳＯＣモジュール。
【請求項９】
前記複数のマイクロプロセッサが前記ラインキャッシュユニットによって前記ＤＲＡＭに対して操作を行う場合、
前記複数のマイクロプロセッサは、ブロック全体のデータ転送を待つ必要がなく、それぞれのデータのアドレスに対して操作を行う特徴とする、
請求項１に記載のＳＯＣモジュール。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＳＯＣモジュール、特にＤＲＡＭコントローラーに対応のラインキャッシュユニットを設けることで、操作する時に余分なメモリアクセスを有効に避けられるＳＯＣモジュールに関する。
【背景技術】
【０００２】
ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ、ＤＲＡＭ）は、半導体メモリ体の１種であり、その原理としては、コンデンサに電荷を蓄え、この電荷量によって１つのビット（ｂｉｔ）が１又は０を示す。トランジスタは、その実際の応用において、必ずリーク電流の現象が起きるため、コンデンサに蓄えた電荷量によってデータを正しく判断できない場合がある。そのため、ＤＲＡＭを定期的に充電する必要がある。ＤＲＡＭは、このような定期的にリフレッシュする特性によって、「動的（ダイナミック）」メモリと呼ばれる。それに対し、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ、ＳＲＡＭ）は、一旦データを保存すると、リフレッシュをしなくても情報喪失のリスクがない。
【０００３】
ＳＲＡＭと比べ、ＤＲＡＭは、１つのビットのデータに対して１つのコンデンサ及び１つのトランジスタによって処理できるため、構造が簡単で、複雑さが低い等の利点を有する。また、ＤＲＡＭは、非常に高い密度を有し、且つ単位体積あたりの容量値が大きいため、そのコストが低い。一方、ＤＲＡＭは、アクセス速度が遅く、消費電力が高い等の欠点を有する。本発明の図１は、従来のＳＯＣとＤＲＡＭの間にデータ転送を行う状態を示す模式図である。図１に示すように、ＳＯＣ１０からデータをＤＲＡＭチップ１２に転送する時に、プロセッサー１１は、まず、データをＳＯＣ１０の内部のＳＲＡＭ１３に保持し、そして、ＤＲＡＭコントローラー１５及びその標準インターフェース２０によって、ＳＲＡＭ１３に保存されるデータをブロック転送（ｂｌｏｃｋ  ｔｒａｎｓｆｅｒ）でＤＲＡＭチップ１２に転送する。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
同じように、プロセッサー１１は、ＤＲＡＭチップ１２のデータを読み取る場合、データをＤＲＡＭチップ１２からＳＲＡＭ１３に転送し、さらにプロセッサー１１に転送する。しかしながら、ローエンドのプロセッサーは、普通、そのシステムバス（ｓｙｓｔｅｍ  ｂｕｓ）３０の幅がＤＲＡＭチップ１２のデータバス（ｄａｔａ  ｂｕｓ）よりも小さく、即ち、その標準インターフェース２０の幅よりも小さい。また、プロセッサー１１がそのままプログラムをＤＲＡＭで実行する場合、不適切なインターフェース及び操作によって余分なＤＲＡＭアクセスが生じるため、不要な遅延となる。例えば、プロセッサー１１がＳＲＡＭ１３から１つの３２ビット幅のデータをアクセスし、且つ前記データがＳＲＡＭ１３に保存されるのではなく、ＤＲＡＭチップ１２に保存される場合、ＤＲＡＭコントローラー１５及びその標準インターフェース２０によってＤＲＡＭチップ１２にリクエスト（ｒｅｑｕｅｓｔ）を提出する必要がある。また、毎回のリクエスト数は、１つの３２ビットのみではなく、普通、１つのブロック（ｂｌｏｃｋ）を単位とする。プロセッサー１１は、前記データをフェッチ（ｆｅｔｃｈ）してから、ＳＲＡＭ１３に保存されない次のデータをフェッチする必要がある。その場合予想できるのは、ＤＲＡＭコントローラー１５は、もう１つのブロックのデータを転送しなければならない。その場合、余分なＤＲＡＭアクセスが生じる問題が生じる。
【０００５】
前記内容に鑑みて、本発明者は、長年の関連経験に基づいて、上記欠点について鋭意検討を重ねた結果、新規且つ上記欠点を改善できる本発明を完成させた。本発明は、余分なメモリアクセスを有効に避けるＳＯＣモジュールに関する。以下、その具体的な構造及び実施の形態を詳しく説明する。
【０００６】
従来技術の問題を解決するために、本発明の目的は、余分なＤＲＡＭの書き込み及び読み取りを減少できるＳＯＣモジュールを提供する。従来技術と比べて、前記新規なＳＯＣの構造を利用すると、優れたデータアクセスの品質、効率を有し、且つシステムの複雑さ及びコストを改善できる。
【０００７】
本発明のもう１つの目的は、余分なメモリアクセスを避けるＳＯＣモジュールを提供する。ＤＲＡＭコントローラーにラインキャッシュユニットを設けることで、マイクロプロセッサは、従来のＳＲＡＭからアクセスではなく、前記ラインキャッシュユニットによってそのままＤＲＡＭからアクセスできる。また、データアクセス速度が従来の方法と同じ程度であるが、システムのコスト及び複雑さを大幅に低減、改善できる。
【０００８】
本発明のもう１つの目的は、ＤＲＡＭ及びマイクロプロセッサを統合してＳＯＣモジュールに形成する構造を提供する。同じ論理回路及びアナログ回路プロセスによって統合され、且つ前記ＳＯＣに形成されることで、それらを有効に統合できる。そのため、産業上の利用可能性を有する。
【課題を解決するための手段】
【０００９】
上記目的に基づいて、本発明は、少なくとも１つのマイクロプロセッサ、ＤＲＡＭ、及びＤＲＡＭコントローラーを有する余分なメモリアクセスを避けるＳＯＣモジュールを提供する。前記ＤＲＡＭは、前記少なくとも１つのマイクロプロセッサと統合して前記ＳＯＣモジュールに形成される。前記ＤＲＡＭコントローラーは、前記少なくとも１つのマイクロプロセッサ及びＤＲＡＭに電気的に接続され、且つ少なくとも１つのラインキャッシュユニットを有する。各前記ラインキャッシュユニットは、各前記マイクロプロセッサに対応して設けられる。各前記マイクロプロセッサは、それぞれ対応の各前記ラインキャッシュユニットによって前記ＤＲＡＭに対して読み取りまたは書き込みを行う。
【００１０】
そのうち、本発明の１つの実施例において、前記ＳＯＣモジュールが複数の前記マイクロプロセッサを有する場合、前記ＤＲＡＭコントローラーは、前記複数の前記マイクロプロセッサに対応して設けられる複数の前記ラインキャッシュユニットを有する。本実施例において、ＤＲＡＭコントローラーは、アクセスアービトレータを更に有する。前記アクセスアービトレータは、各前記ラインキャッシュユニットに電気的に接続され、前記マイクロプロセッサの内の、前記ＤＲＡＭに対して読み取りまたは書き込みを行う１つのマイクロプロセッサを設定する。
【００１１】
そのうち、マイクロプロセッサが前記ＤＲＡＭを読み取って、且つラインキャッシュユニットに保存されるデータが前回読み取ったラインデータではない場合、マイクロプロセッサは、ＤＲＡＭコントローラーによってＤＲＡＭから１つの新しいラインデータを読み取ると命令する。前記新しいラインデータは、ラインキャッシュユニットに保存され、マイクロプロセッサによって読み取られる。それと同時に、前記マイクロプロセッサは、前記新しいラインデータの読み取りアドレスをマークする。
【００１２】
また、マイクロプロセッサによってデータをＤＲＡＭに書き込み、且つ前記データのアドレス及び前回のデータのアドレスが同じである場合、マイクロプロセッサは、前記データをそのままラインキャッシュユニットに保存し、且つＤＲＡＭに書き込む。
【００１３】
なお、前記データのアドレス及び前回のデータのアドレスが異なる場合、マイクロプロセッサは、まず、ＤＲＡＭに対して読み取りを行い、読み込んで更新してから、ＤＲＡＭに書き込むことができるように前記データをラインキャッシュユニットに保存する。
【００１４】
前記のように、本発明によれば、マイクロプロセッサは、従来のようにブロック全体のデータ転送を待つ必要がなく、それぞれのデータのアドレスに対して操作を行う。そのため、従来の余分なメモリアクセスの問題を解決できる。
【００１５】
以下、具体的な実施例及び図面を開示しながら本発明の目的、技術内容、特徴及びその効果を説明する。
【図面の簡単な説明】
【００１６】
【図１】従来のＳＯＣとＤＲＡＭの間にデータ転送を行う状態を示す模式図である。
【図２】本発明の実施例の余分なメモリアクセスを避けるＳＯＣモジュールを示すシステム構造図である。
【図３】本発明の図２実施例のＳＯＣモジュールが読み取り操作を行う状況を示す工程フローチャートである。
【図４】本発明の図２実施例のＳＯＣモジュールが書き込み操作を行う状況を示す工程フローチャートである。
【図５】本発明の他の実施例において、複数のマイクロプロセッサ、ラインキャッシュユニット、及びアクセスアービトレータを有するＳＯＣモジュールを示すシステム構造図である。
【発明を実施するための形態】
【００１７】
上記説明及び下記実施形態は、本発明の精神及びその原理を説明するか、又は本発明の請求の範囲を解釈するために開示される。以下、図面及び実施例を開示しながら本発明の特徴、実施例及び効果を詳しく説明する。
【００１８】
従来技術において、幅が小さいシステムバスによってデータアクセスを行う時に、余分なＤＲＡＭ操作を有する。本発明は、そのような余分なメモリアクセスを避けるＳＯＣモジュールを提供する。本発明の技術をより理解するように、まず、図２の模式図を参照しながら説明する。図２は、本発明の実施例を示すシステム構造図である。以下、それを詳しく説明する。
【００１９】
図２に示すように、本発明のＳＯＣモジュール２００は、少なくとも１つのマイクロプロセッサ２０２、ＤＲＡＭ２０４、及びＤＲＡＭコントローラー２０６を有する。そのうち、ＤＲＡＭコントローラー２０６は、マイクロプロセッサ２０２及びＤＲＡＭ２０４に電気的に接続され、少なくとも１つのラインキャッシュ（ｃｏｌｕｍｎ  ｃａｃｈｅ）ユニット２０８を有する。普通、ＳＯＣ（Ｓｙｓｔｅｍ−ｏｎ−ａ−ｃｈｉｐ、ＳＯＣ）とは、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、メモリ体、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）及び周辺回路等を有する完全なコンピューターシステムを共に１つのチップに設けるものである。即ち、各チップの回路設計を微細化、モジュール化させ、その全ての機能を１つのＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）に統合する。本発明の実施例において、マイクロプロセッサ２０２及びＤＲＡＭ２０４は、同じ論理回路及びアナログ回路プロセスによって統合され、前記ＳＯＣモジュール２００に形成される。
【００２０】
そのうち、第１バスインターフェース３１を介して本発明のＤＲＡＭ２０４及びＤＲＡＭコントローラー２０６を接続し、第２バスインターフェース３２を介して前記マイクロプロセッサ２０２及びＤＲＡＭコントローラー２０６を接続する。本発明の１つの実施例において、第１バスインターフェース３１の幅が例えば１２８ビットであってもよく、第２バスインターフェース３２の幅が例えば３２ビットであってもよい。実際的には、普通、第２バスインターフェース３２の幅は前記第１バスインターフェース３１の幅より小さい。
【００２１】
本発明の実施例において、本発明のラインキャッシュユニット２０８は、マイクロプロセッサ２０２に対応して設けられる。従来技術と比べて、本発明のマイクロプロセッサ２０２は、ブロック全体のデータ転送を待つ必要がなく、その対応のラインキャッシュユニット２０８によってＤＲＡＭ２０４に対して読み取りまたは書き込みを行う。
【００２２】
以下、マイクロプロセッサによってＤＲＡＭに対して読み取りまたは書き込み操作を行う状況を詳しく説明する。
【００２３】
前記図２のシステム構造図及び図３を参照しながら説明する。そのうち、図３は、本発明の実施例のＳＯＣモジュールが読み取り操作を行う状態を示す工程フローチャートである。図２、３に示すように、マイクロプロセッサ２０２がＤＲＡＭ２０４を読み取る場合（工程Ｓ３０２）、ラインキャッシュユニット２０８に保存されるデータが前回読み取ったラインデータであるかどうかを判断する（工程Ｓ３０４）。ＹＥＳの場合、工程Ｓ３０６に示すように、そのまま読み取り作業を実行する。逆に、工程Ｓ３０４において、ラインキャッシュユニット２０８に保存されるデータが前回読み取ったラインデータではないと判断した場合、工程Ｓ３０８に進む。工程Ｓ３０８において、マイクロプロセッサ２０２は、先ず、ＤＲＡＭコントローラー２０６によってＤＲＡＭ２０４から１つの新しいラインデータの読み取りを命令する。そして、工程Ｓ３１０に示すように、前記１つの新しいラインデータは、ラインキャッシュユニット２０８に保存され、マイクロプロセッサ２０２によって読み取られる。本発明の実施例において、マイクロプロセッサ２０２は、それと共に前記１つの新しいラインデータの読み取りアドレスをマークできる、
【００２４】
また、図４は、本発明の実施例のＳＯＣモジュールが書き込み操作を行う状況を示す工程フローチャートである。図２のシステム構造及び図４を参考しながら説明する。工程Ｓ４０２に示すように、マイクロプロセッサ２０２によってデータをＤＲＡＭ２０４に書き込む場合、工程Ｓ４０４に示すように、まず、前記データのアドレス及び前回のデータのアドレスが同じかどうかを判断する。ＹＥＳの場合、工程Ｓ４０６に示すように、そのまま書き込み作業を実行し、即ち、前記データをラインキャッシュユニット２０８に保存し、ＤＲＡＭ２０４に書き込む。逆に、工程Ｓ４０４において、前記データのアドレス及び前回のデータのアドレスが異なると判断した場合、工程Ｓ４０８に進む。工程Ｓ４０８において、マイクロプロセッサ２０２は、まず、ＤＲＡＭ２０４に対して読み取りを行い、読み込んで更新してから、工程Ｓ４１０に示すように、ＤＲＡＭ２０４に書き込むことができるように前記データをラインキャッシュユニット２０８に保存する。
【００２５】
例えば、第１バスインターフェース３１の幅が１２８ビットであり、第２バスインターフェース３２の幅が３２ビットである場合、即ち、ＤＲＡＭ２０４は、他に書き込んで上書きできない条件で、?回の書き込みが１２８ビットに特定される。よって、前記１２８ビットにおける３２ビットに対してデータ更新を行う場合、読み取り−更新−再書き込みの操作を行う必要がある。その工程は、本発明の図４の工程Ｓ４０８及び工程Ｓ４１０に対応する工程である。
【００２６】
よって、上記をまとめると、本発明のＳＯＣモジュールによれば、マイクロプロセッサは、ラインキャッシュユニットによってＤＲＡＭに対して書き込み又は読み取り作業を行うことができる。その場合、マイクロプロセッサは、従来のようにブロック全体のデータ転送を待つ必要がなく、それぞれのデータのアドレスに対して操作を行うことができる。そのため、本発明は、余分なＤＲＡＭ操作を減少できる上、従来のキャッシュミス（ｃａｃｈｅ  ｍｉｓｓ）の問題を大幅に改善できる。
【００２７】
さらに、従来のＳＲＡＭと比べて、ラインキャッシュユニットの製作コストが低く、制御回路が簡単で、製作面積が小さい。そのため、ローエンドのプロセッサーシステムによって本発明のラインキャッシュユニットを利用する方法によれば、低コスト、高い効率、及びデータアクセスが正しい等の目的を達成できる。それと同時に、普通、ローエンドシステムのマイクロプロセッサの処理速度はＤＲＡＭより遅いため、ラインキャッシュユニットを利用する方法によれば、マイクロプロセッサは、従来のようにＳＲＡＭにアクセスするのではなく、そのままＤＲＡＭにアクセスしても、データアクセスの速度が従来の方法と同じ程度を維持できる。
【００２８】
また、本発明は、図２に示すシステム構造に限られない。即ち、図５の実施例に示すように、本発明のＳＯＣモジュール２００は、複数のマイクロプロセッサ２０２ａ、２０２ｂ、…２０２ｎを有してもよい。その場合、ＤＲＡＭコントローラー２０６は、対応の複数のラインキャッシュユニット２０８ａ、２０８ｂ、…２０８ｎを有する。また、各ラインキャッシュユニット２０８ａ、２０８ｂ、…２０８ｎは、それぞれマイクロプロセッサ２０２ａ、２０２ｂ、…２０２ｎに対応して設けられる。前記実施例において、ＤＲＡＭコントローラー２０６は、アクセスアービトレータ（ａｒｂｉｔｒａｔｏｒ）２１０を更に有する。前記アクセスアービトレータ２１０は、各ラインキャッシュユニット２０８ａ、２０８ｂ、…２０８ｎに電気的に接続され、前記マイクロプロセッサ２０２ａ、２０２ｂ、…２０２ｎの内の、ＤＲＡＭ２０４に対して読み取りまたは書き込みを行う１つのマイクロプロセッサを設定する。その読み取りまたは書き込み工程は、本発明の図３及び図４に示す。
【００２９】
当業者が本発明の思想に基づいて実際の需要によって設計を変更できる。それらの変更は、いずれも本発明に含む。上記実施例は、当業者が本発明の技術的な特徴を理解して実施できるために開示されている。本発明は、上記実施例に限定されない。
【００３０】
上記内容から分かるように、従来技術と比べて、本発明の新規のＳＯＣモジュールは、従来技術において余分なメモリ体アクセス及び待ち時間が長い等の欠点を有効に解決できる。また、データアクセスの品質及び速度を大幅に向上できる上、低コスト、制作の複雑さを低減できる。そのため、本発明のＳＯＣモジュールは、優れた産業上の利用可能性及び競争力を有する。また、本発明の技術的な特徴、方法手段及び効果は、明らかに既存の技術と異なるため、当業者が容易に完成できるものではない。よって、特許要件を充分に具備する。
【符号の説明】
【００３１】
１０  ＳＯＣ
１１  プロセッサー
１２  ＤＲＡＭチップ
１３  ＳＲＡＭ
１５  ＤＲＡＭコントローラー
２０  標準インターフェース
３０  システムバス
３１  第１バスインターフェース
３２  第２バスインターフェース
２００  ＳＯＣモジュール
２０２、２０２ａ、２０２ｂ、…２０２ｎ  マイクロプロセッサ
２０４  ＤＲＡＭ
２０６  ＤＲＡＭコントローラー
２０８、２０８ａ、２０８ｂ、…２０８ｎ  ラインキャッシュユニット
２１０  アクセスアービトレータ
【図１】
0006936528.tif 000002
【図２】
0006936528.tif 000003
【図３】
0006936528.tif 000004
【図４】
0006936528.tif 000005
【図５】
0006936528.tif 000006