(57)【特許請求の範囲】
【請求項１】
複数のプロセッサと、前記複数のプロセッサに共通のメモリとを備えるマルチプロセッサシステムにおいて、
前記複数のプロセッサのうちの１つだけがマスターであり、
前記メモリはスレーブであり、
前記マスターは、前記メモリに読み出し用のアドレスとして、前記マスターが用いるデータのアドレスと、前記マスターが用いないデータのアドレスを含むような、前記マスター以外の前記プロセッサが用いるデータのアドレスとを送信し、
前記マスター以外の前記プロセッサは、前記マスターが前記メモリに対して行うデータの読み出しアクセスを監視して、前記マスターが前記メモリから読み出したデータのうちの自プロセッサに関連するものを、前記マスターが前記メモリからデータを受信している間に、前記マスターが前記メモリからのデータを受信しているインタフェースバスから取得するモニターであることを特徴とするマルチプロセッサシステム。
【請求項２】
請求項１に記載のマルチプロセッサシステムを備え、前記複数のプロセッサのそれぞれは、前記メモリから読み出したデータに基づいて、表示領域上の個別に割り当てられた領域の駆動制御を行うことを特徴とする表示装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プロセッサを複数個備えるマルチプロセッサシステムに関するものである。
【背景技術】
【０００２】
オンボードでマイクロコンピュータやマイクロコントローラなどのプロセッサを他のＩＣとシリアルインタフェースにより接続する方式として、ＳＰＩ(Serial Peripheral Interface)およびＩ２Ｃ(Inter-Integrated Circuit)が知られている。上記他のＩＣとしては、ＥＥＰＲＯＭや、シフトレジスタ、表示ドライバ、Ａ／Ｄコンバータなどがある。ＳＰＩでは、プロセッサが１つであるか複数であるかに関わらず、１つのマスターと、スレーブとの間での通信となるが、Ｉ２Ｃではこのようにマスターを１つだけ用いることだけでなく、複数のマスターと、スレーブとの間での通信を行うマルチマスターの機能が使用可能である。【０００３】
図６（ａ）に、ＡＳＩＣで構成されたプロセッサからなる２つのマスター（ＭＡＳＴＥＲ）が、Ｉ２Ｃによりスレーブ（ＳＬＡＶＥ）としてのＥＥＰＲＯＭを共有する構成の例を示す。この場合には、各マスターがそれぞれ出力するシリアルクロックによって、スレーブとの間でのデータの読み出しおよび書き込みのタイミングを決定する。【０００４】
図６（ｂ）に、ＡＳＩＣで構成されたプロセッサからなる各マスター（ＭＡＳＴＥＲ）が、それぞれ別のスレーブ（ＳＬＡＶＥ）であるＥＥＰＲＯＭと接続された構成を示す。この構成はＳＰＩでもＩ２Ｃでも可能である。【０００５】
特許文献１には、複数のマルチプロセッサがメモリを共有するマルチプロセッサシステムが開示されている。【０００６】
図７に、特許文献１に記載されているマルチプロセッサシステムの構成を示す。【０００７】
同図では、３つのプロセッサ９１〜９３が共有バス１１２を介して共有メモリ１０８に接続される構成となっている。プロセッサ９１〜９３のいずれが共有メモリ１０８に対してリードおよびライトを行うかの調停を、バス調停回路１０７ｂが行う。プロセッサ９１はローカルバス１０２を介してバス制御回路１０４ｂおよびローカルメモリ１０１と接続されており、バス制御回路１０４ｂはローカルバス１０２と共有バス１１２との接続を行う。プロセッサ９２はローカルバス２０２を介してバス制御回路１０５ｂおよびローカルメモリ２０１と接続されており、バス制御回路１０５ｂはローカルバス２０２と共有バス１１２との接続を行う。プロセッサ９３はローカルバス３０２を介してバス制御回路１０６ｂおよびローカルメモリ３０１と接続されており、バス制御回路１０６ｂはローカルバス３０２と共有バス１１２との接続を行う。【０００８】
上記の構成において、プロセッサ９１〜９３が共有メモリ１０８の同じアドレスのデータのリードを要求する場合には、バス制御回路１０４ｂ・１０５ｂ・１０６ｂから制御線１１０を介してそのことがバス調停回路１０７ｂに入力される。バス調停回路１０７ｂは、所定の優先順位に従っていずれか１つのプロセッサからのリード要求を受け付けて、バス制御回路１０４ｂ・１０５ｂ・１０６ｂに対して、制御線１１１を介し、そのプロセッサのアドレスバスおよびデータバスを共有バス１１２に接続するとともに、他のプロセッサのデータバスを共有バス１１２に接続する制御を行う。これにより、プロセッサ９１〜９３は同時に、共有メモリ１０８の同じアドレスのデータのリードを行うことができる。【０００９】
一方、プロセッサ９１〜９３がそれぞれ、共有メモリ１０８の互いに異なるアドレスのデータのリードを要求する場合には、制御線１１０を介してそのことが入力されたバス調停回路１０７ｂは、所定の優先順位に従っていずれか１つのプロセッサからのリード要求を受け付けて、バス制御回路１０４ｂ・１０５ｂ・１０６ｂに対して、制御線１１１を介し、そのプロセッサのアドレスバスおよびデータバスを共有バス１１２に接続するとともに、他のプロセッサをウェイト状態とする制御を行う。これにより、いずれか１つのプロセッサのみが、共有メモリ１０８からのデータのリードを行うことができる。
【特許文献１】特開平１１−１０２３４８号公報（１９９９年４月１３日公開）
【発明の開示】
【００１０】
図６（ａ）の説明から分るように、Ｉ２Ｃでは各マスターがそれぞれ、スレーブとの間でのデータの読み出しおよび書き込みのタイミングを決定するため、マスターどうしの間でスレーブへのアクセスにおける競合が発生する。従って、複数のマスターを用いたデータ通信に対しては、マスター間での競合を考慮した設計を行う必要がある。従って、この競合対策が万全ではない場合には通信に不具合が発生する可能性がある。
【００１１】
また、図６（ｂ）の説明から分るように、各マスターが個別のメモリにアクセスする場合には、マスター間で競合が発生しないが、メモリの数が多くなり、コストアップを招来する。
【００１２】
また、ＳＰＩでプロセッサを複数備える場合には、各プロセッサがメモリにアクセスすることを可能にしようとすると、アクセス権を各プロセッサに割り当てるために、マスターとして設定するプロセッサを随時切り替える構成を備える必要がある。
【００１３】
また、特許文献１の構成では、共有メモリ１０８へのアクセスに対してプロセッサ間の競合を防ぐためにバス調停回路１０７ｂを設けなければならず、システムの構成が複雑になるとともに、コストアップを招来するという問題を生じる。
【００１４】
以上のことを踏まえると、マルチプロセッサシステムにおいては、複数のプロセッサが簡単な構成で競合を確実に回避しながら、できるだけ少ない数のメモリにアクセスするようにすることが重要となる。特に、複数のプロセッサが互いに同じデータを使用する状況にある場合には、メモリをそれらのプロセッサに共通のものとして、各プロセッサが当該同じデータを共用するようにすることにより、マルチプロセッサシステムの構成は大きく簡略化される。
【００１５】
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、メモリへのアクセスにおけるプロセッサ間の競合を確実に回避するための構成を、簡単かつ低コストで実現することのできるマルチプロセッサシステム、および、それを備えた表示装置を提供することにある。
【００１６】
本発明のマルチプロセッサシステムは、上記課題を解決するために、複数のプロセッサと、前記複数のプロセッサに共通のメモリとを備えるマルチプロセッサシステムにおいて、前記複数のプロセッサのうちの１つだけがマスターであり、前記メモリはスレーブであり、前記マスター以外の前記プロセッサは、前記マスターが前記メモリに対して行うデータの読み出しアクセスを監視して、前記マスターが前記メモリから読み出したデータのうちの自プロセッサに関連するものを取得するモニターであることを特徴としている。
【００１７】
上記の発明によれば、モニターは、マスターがメモリに対して行うデータの読み出しアクセスを監視している。そして、モニターはマスターがメモリから読み出したデータのうちの自プロセッサに関連するものを取得するので、モニターはマスターのアクセス動作に何ら干渉しない。モニターが複数ある場合にも、モニターどうしでの干渉動作もない。従って、プロセッサ間での競合が発生することが確実に避けられ、しかも、競合を抑えるための付加的な構成が必要ない。
【００１８】
以上により、メモリへのアクセスにおけるプロセッサ間の競合を確実に回避するための構成を、簡単かつ低コストで実現することのできるマルチプロセッサシステムを実現することができるという効果を奏する。
【００１９】
本発明の表示装置は、上記課題を解決するために、前記マルチプロセッサシステムを備え、前記複数のプロセッサのそれぞれは、前記メモリから読み出したデータに基づいて、表示領域上の個別に割り当てられた領域の駆動制御を行うことを特徴としている。
【００２０】
上記の発明によれば、表示装置では、表示領域を分割してできた領域では同じ信号を用いることができる場合が多いので、当該信号に対応するデータをマルチプロセッサシステムのメモリに共用データとして記憶させておくことにより、モニターがマスターによる読み出しデータを取得する機会が多くなる。従って、表示装置においては、前記マルチプロセッサシステムが非常に有効に働くという効果を奏する。
【００２１】
また、プロセッサ間で共用するデータが多ければ、メモリのサイズを小さくすることができ、設計空間上もコスト上も有利となるという効果を奏する。
【００２２】
本発明のさらに他の目的、特徴、および優れた点は、以下に示す記載によって十分わかるであろう。また、本発明の利益は、添付図面を参照した次の説明で明白になるであろう。
【図面の簡単な説明】
【００２３】
【図１】本発明の実施形態を示すものであり、マルチプロセッサシステムの要部構成を示すブロック図である。
【図２】モニターの詳細な構成を示すブロック図である。
【図３】本発明の実施形態を示すものであり、図１のマルチプロセッサシステムを備えた液晶表示装置の構成を示すブロック図である。
【図４】図３の液晶表示装置において、マルチプロセッサシステムのプロセッサが出力する信号のタイミングチャートである。
【図５】図３の液晶表示装置において、マルチプロセッサシステムのメモリのマップの一例である。
【図６】従来技術を示すものであり、（ａ）および（ｂ）は、マルチプロセッサシステムの構成例を示すブロック図である。
【図７】従来技術を示すものであり、マルチプロセッサシステムの他の構成例を示すブロック図である。
【符号の説明】
【００２４】
１            マルチプロセッサシステム
２            プロセッサ（マスター）
３            プロセッサ（モニター）
４            メモリ（スレーブ）
【発明を実施するための最良の形態】
【００２５】
以下、実施例により、本発明をさらに詳細に説明するが、本発明はこれらにより何ら限定されるものではない。【００２６】
本発明の一実施形態について図１ないし図５に基づいて説明すると以下の通りである。【００２７】
図１に、本実施の形態に係るマルチプロセッサシステム１の構成を示す。マルチプロセッサシステム１は、プロセッサ２・３およびメモリ４を備えている。プロセッサ２とプロセッサ３とメモリ４とを互いに接続するインタフェースとしては、ＳＰＩやＩ２Ｃを初めとして任意のものでよい。【００２８】
プロセッサ２は、ＡＳＩＣ（図ではＡＳＩＣ１と記載）で構成されるマイクロプロセッサあるいはマイクロコントローラであり、マルチプロセッサシステム１においてスレーブにコマンドを送信することによりスレーブの動作を制御するマスター（ＭＡＳＴＥＲ）である。スレーブの動作を制御するのに、コマンドやデータの授受動作の同期を図るクロックを出力する。このクロックは、以下のモニターのコマンドやデータの受信タイミングをも決めている。マルチプロセッサシステム１において、マスターはこのプロセッサ２の１つだけである。【００２９】
プロセッサ３は、ＡＳＩＣ（図ではＡＳＩＣ２と記載）で構成されるマイクロプロセッサあるいはマイクロコントローラである。プロセッサ３は、マルチプロセッサシステム１において、プロセッサ２がメモリ４に対して行うデータの読み出しアクセスを監視するモニター（ＭＯＮＩＴＯＲ）である。【００３０】
メモリ４は、プロセッサ２・３が用いるデータを記憶し、また、プロセッサ２によってデータが書き込まれる、プロセッサ２・３に共通のメモリであって、ここではＥＥＰＲＯＭで構成される。この他、メモリ４は、フラッシュメモリなどの他のメモリでも構成することができる。このメモリ４は、マルチプロセッサシステム１において、マスターであるプロセッサ２からコマンドを受信することにより、データの読み出し動作や書き込み動作が制御されるスレーブ（ＳＬＡＶＥ）である。図１には、プロセッサ２・３が用いるデータとしてどのようなものが記憶されているのかについての一例が示されている。アドレス０００〜０１１および１０１にはプロセッサ２用（図ではＡＳＩＣ１用と記載）のデータが記憶されており、アドレス１００にはプロセッサ２およびプロセッサ３に共用される（図ではＡＳＩＣ１，２共用と記載）データが記憶されており、アドレス１１０および１１１にはプロセッサ３用（図ではＡＳＩＣ２用と記載）のデータが記憶されている。【００３１】
なお、コマンド、データおよびクロックの送受信に用いるインタフェースバスは、それぞれの送受信について個別に設けられていてもよいが、コマンドおよびデータ送受信共用のインタフェースバスとクロック送受信用のインタフェースバスとが設けられるなど、その形式はインタフェースの種類に合わせて適宜設定すればよいものである。【００３２】
また、プロセッサは３つ以上あってもよく、その場合には、マスターであるプロセッサ２以外のプロセッサは全てモニターとなる。本実施の形態のマルチプロセッサシステム１では、複数のプロセッサのうちの１つだけがマスターとなり、そのマスターとなるプロセッサは固定されている。【００３３】
また、スレーブとしては上記のメモリ４の他にどのような周辺ＩＣが接続されていてもよく、例えば、追加のメモリ、シフトレジスタ、表示ドライバ、Ａ／Ｄコンバータなどがある。【００３４】
上記の構成のマルチプロセッサシステム１において、プロセッサ２がメモリ４に対してデータの読み出しを行うときの動作は次のようになる。【００３５】
プロセッサ２は、データの読み出しを行うことを示すコマンドをインタフェースバス上に出力して、メモリ４に当該コマンドを送信する。読み出したいデータが記憶されているアドレスは、例えばこのコマンドの後半に付加されるが、メモリ４がプロセッサ２からの読み出し要求に返信してから、プロセッサ２がアドレス情報を送信するようにしてもよい。プロセッサ２が送信するアドレスとしては、プロセッサ２自身が用いるデータのアドレスのみならず、プロセッサ３が用いるデータのアドレスもある。すなわち、プロセッサ２は、図１に対応させると、アドレス０００〜１１１の全てについて、データを読み出すコマンドを用意している。【００３６】
メモリ４は、プロセッサ２から送信されたコマンドを受信すると、指定されたアドレスに記憶されているデータを、インタフェースバス上に出力することによりプロセッサ２に返信する。【００３７】
プロセッサ２は、メモリ４から受信したデータのうち、自プロセッサ（すなわちプロセッサ２）が用いるデータのみを取得し、自プロセッサが用いないデータは無視する。ここで自プロセッサが用いるデータは、図１に対応させると、アドレス０００〜１０１のデータである。【００３８】
プロセッサ３は、プロセッサ２がインタフェースバス上に出力したコマンドを監視しており、該コマンドを受信する。そして、このコマンドが、メモリ４からのデータの読み出しを示すコマンドであるか否かを判定する。当該コマンドがメモリ４からのデータの読み出しを示すコマンドである場合には、読み出すデータのアドレスが自プロセッサ（すなわちプロセッサ３）が用いるデータのアドレスであるか否かを判定する。読み出すデータのアドレスが自プロセッサが用いるデータのアドレスであれば、そのデータは自プロセッサに関連するデータであるとして、当該コマンドに対してメモリ４がインタフェースバス上に出力したデータを受信して取得する。ここで自プロセッサが用いるデータのアドレスは、図１に対応させると、アドレス１００、１１０および１１１である。【００３９】
また、プロセッサ３は、プロセッサ２がインタフェースバス上に出力したコマンドがメモリ４からのデータの読み出しを示すコマンドでない場合と、読み出すデータのアドレスが自プロセッサが用いるデータのアドレスでない場合とには、当該コマンドを無視する。従って、この場合には、メモリ４がインタフェースバス上に出力したデータを受信しても、これを取得しない。【００４０】
次に、このような動作を行うプロセッサ３をモニターとしての観点から見た場合の、具体的な構成例について説明する。なお、マスターとしてのプロセッサ２は、ＳＰＩやＩ２Ｃなどのインタフェースに用いられる通常のマスターの構成で実現することができるので、ここでは特に説明しない。【００４１】
図２に、モニターとしての機能ブロック図で表したプロセッサ３の構成例を示す。【００４２】
プロセッサ３は、アドレス検出部３ａ、内部メモリ３ｂ、比較部３ｃ、データ検出部３ｄ、および、内部動作回路３ｅを備えている。【００４３】
アドレス検出部３ａは、マスター（プロセッサ２）から出力されたコマンドがスレーブ（メモリ４）からのデータの読み出しを示すコマンドであるか否かを判定し、データの読み出しを示すコマンドであると判定した場合に、当該コマンドに含まれている読み出し先のアドレスを検出する。内部メモリ３ｂは、モニター（プロセッサ３）が用いるデータのアドレスを予め記憶したメモリである。比較部３ｃは、アドレス検出部３ａで検出したアドレスが、内部メモリ３ｂに記憶されたアドレスと一致するか否かの比較を行う。そして、アドレスが一致すれば一致したことを示すアドレス比較結果を、アドレスが一致しなければ一致しなかったことを示すアドレス比較結果を、データ検出部３ｄに伝達する。【００４４】
データ検出部３ｄは、スレーブ（メモリ４）から出力された読み出しデータを受信し、比較部３ｃから入力されたアドレス比較結果に基づいて、受信したデータを内部動作回路３ｅ内に取得するか否かを判定する。比較部３ｃからアドレスが一致したことを示すアドレス比較結果が伝達されれば、受信したデータを内部動作回路３ｅ内に取得し、比較部３ｃからアドレスが一致しなかったことを示すアドレス比較結果が伝達されれば、受信したデータを破棄する。内部動作回路３ｅは、取得したデータに基づいてプロセッサとしての動作を行う。【００４５】
このように、本実施の形態では、モニターは、マスターがメモリに対して行うデータの読み出しアクセスを監視している。そして、モニターはマスターがメモリから読み出したデータのうちの自プロセッサに関連するものを取得するので、モニターはマスターのアクセス動作に何ら干渉しない。モニターが複数ある場合にも、モニターどうしでの干渉動作もない。従って、プロセッサ間での競合が発生することが確実に避けられ、しかも、競合を抑えるための付加的な構成が必要ない。【００４６】
以上により、メモリへのアクセスにおけるプロセッサ間の競合を確実に回避するための構成を、簡単かつ低コストで実現することのできるマルチプロセッサシステムを実現することができる。【００４７】
次に、本実施の形態のマルチプロセッサシステム１を液晶表示装置に搭載した例について説明する。【００４８】
図３に、マルチプロセッサシステム１を備えた液晶表示装置１１の構成を示す。【００４９】
液晶表示装置１１は液晶パネル１２を備えており、この液晶パネル１２の表示領域上の左半分を占める領域Ａ１の駆動制御をマルチプロセッサシステム１のプロセッサ２により行い、液晶パネル１２の表示領域上の右半分を占める領域Ａ２の駆動制御をマルチプロセッサシステム１のプロセッサ３により行うものである。このように分割した領域ごとに駆動制御を行うことは、画素数が多いすなわち高解像度の液晶表示装置に対して各画素に表示データを書き込むための十分な時間を確保するのに都合がよい。【００５０】
液晶パネル１２はソースドライバＳＤ１〜ＳＤ８およびゲートドライバＧＤ１〜ＧＤ６を備えている。【００５１】
ソースドライバＳＤ１〜ＳＤ４は縦続接続されているとともにゲートドライバＧＤ１〜ＧＤ３も縦続接続されており、これらは領域Ａ１の駆動回路である。プロセッサ２は上記両駆動回路にタイミング信号などの制御信号を供給する。【００５２】
ソースドライバＳＤ５〜ＳＤ８は縦続接続されているとともにゲートドライバＧＤ４〜ＧＤ６も縦続接続されており、これらは領域Ａ２の駆動回路である。プロセッサ３は上記両駆動回路にタイミング信号などの制御信号を供給する。【００５３】
タイミング信号としては、ソースドライバＳＤ内で用いる水平タイミングに関連するソーススタートパルス信号ＳＰやラッチストローブ信号ＬＳならびにゲートクロック信号ＧＣＫ、ゲートドライバＧＤ内で用いる垂直タイミングに関連するゲートスタートパルス信号ＧＳＰやゲートクロック信号ＧＳＫなどがある。この他、制御信号として、映像補正用のパラメータなどもあり得る。【００５４】
図４に、これらの主だった信号のタイミングチャートを示す。これらの信号は、プロセッサ２・３がメモリ４から得たデータに基づいて生成したものである。図４ではこれらの信号を、プロセッサ２から出力されたもの（ＭＡＳＴＥＲ側）と、プロセッサ３から出力されたもの（ＭＯＮＩＴＯＲ側）とに区別して示してある。同図から分るように、図示した信号は全て、プロセッサ２から出力されたものと、プロセッサ３から出力されたものとでタイミングが等しくなっている。このように複数のプロセッサが同じ信号を生成して出力する場合には、その信号を生成するためのデータを、各プロセッサに共通のデータとしてメモリ４からマスターが読み出し、マスターとモニターとが同時にこれを取得するようにすればよい。【００５５】
液晶表示装置などの表示装置では、表示領域を分割しても、各領域では同じ駆動信号を用いればよいことが多いので、それだけメモリ４に記憶させる各プロセッサに共用のデータが多くなる。これはすなわち、モニターがマスターと同じデータを取得する機会が多いことを意味しており、本実施の形態のマルチプロセッサシステム１が、表示領域を分割してできた領域のそれぞれを駆動制御するためのシステムとして有効に働くことを示している。なお、表示領域を分割して生成する領域は３つ以上でもよく、複数であればよい。また、分割の仕方も、表示パネルの上述した列方向の分割線によるものに限らず、行方向の分割線によるものでもよい。マルチプロセッサシステムには、少なくとも分割してできる領域の数だけのプロセッサが設けられ、当該プロセッサのそれぞれには、個別に、表示領域上の駆動制御すべき上記領域が割り当てられる。【００５６】
なお、プロセッサ２・３が出力する信号としては映像補正用の信号もあり、メモリ４には映像補正用パラメータを記憶させておくこともできる。映像補正用パラメータは表示領域を分割してできた各領域間で異なることは少なく、互いに共通のパラメータとすることができる場合が多い。従って、映像補正についても、本実施の形態のマルチプロセッサシステム１を用いることが有効である。【００５７】
このように、プロセッサ間で共用するデータが多ければ、メモリのサイズを小さくすることができ、設計空間上もコスト上も有利となる。【００５８】
また、図４に示したような各信号のタイミングが、プロセッサ２から出力されたものと、プロセッサ３から出力されたものとで異なっている場合には、その信号に対応するデータは、メモリ４の互いに異なるアドレスに記憶されていればよい。そのようなデータが記憶されたメモリ４のマップを図５に示す。このマップでは、アドレス００〜０Ｆにマスター用のデータが記憶され、アドレス１０〜１Ｆにモニター用のデータが記憶されている。ただし、映像補正用パラメータはマスターとモニターとで共用できるので、アドレス２０〜ＦＦに共用データとして記憶されている。【００５９】
本発明は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【産業上の利用の可能性】
【００６０】
本発明は、液晶表示装置に好適に使用することができる。
【図１】
0004727721.tif 000002
【図２】
0004727721.tif 000003
【図３】
0004727721.tif 000004
【図４】
0004727721.tif 000005
【図５】
0004727721.tif 000006
【図６】
0004727721.tif 000007
【図７】
0004727721.tif 000008