(57)【要約】  【解決手段】  集積回路マイクロプロセッサ装置は、中央処理装置（ＣＰＵ）と、少なくとも一つの外部接続（４）を有する汎用入出力サブシステム（２）とを備える。外部接続は、汎用入出力サブシステム内で当該外部接続に対応付けられている設定に応じて、当該装置に入力を、または当該装置から出力を、供給するように構成される。当該装置上の少なくとも一つの追加モジュールが、外部接続の状態を制御可能な少なくとも第一タスクまたは第二タスクを要求できるように構成され、汎用入出力サブシステムは、第一タスクおよび第二タスク宛の相反する要求を受け取ると、所定の優先度を適用し当該タスクのうちの一つだけを外部接続に適用できるように構成される。  【選択図】  図１
2018523216.tif 000002
【特許請求の範囲】
【請求項１】
中央処理装置（ＣＰＵ）と、少なくとも一つの外部接続を有する汎用入出力（ＧＰＩＯ）サブシステムと、を備える集積回路マイクロプロセッサ装置であって、
前記外部接続は、前記汎用入出力サブシステム内で当該外部接続に対応付けられている設定に応じて、前記集積回路マイクロプロセッサ装置に入力を、または前記集積回路マイクロプロセッサ装置から出力を、供給するように構成されて、
前記集積回路マイクロプロセッサ装置上の少なくとも一つの追加モジュールが、前記外部接続の状態を制御可能な少なくとも第一タスクまたは第二タスクを要求できるように構成され、前記汎用入出力サブシステムは、前記第一タスクおよび第二タスク宛の相反する要求を受け取ると、所定の優先度を適用し当該タスクのうちの一つだけを前記外部接続に適用できるように構成される
ことを特徴とする集積回路マイクロプロセッサ装置。
【請求項２】
優先度のないタスクからの信号は無視するように構成される
ことを特徴とする、請求項１に記載の集積回路マイクロプロセッサ装置。
【請求項３】
前記第一タスクは、出力に論理的「高」を割り当てることを含む
ことを特徴とする、請求項１または２に記載の集積回路マイクロプロセッサ装置。
【請求項４】
前記第二タスクは、出力に論理的「低」を割り当てることを含む
ことを特徴とする、請求項１乃至請求項３のいずれかに記載の集積回路マイクロプロセッサ装置。
【請求項５】
前記汎用入出力（ＧＰＩＯ）サブシステムは、前記外部接続（複数も可）を管理するように構成されたＧＰＩＯモジュールと、前記所定の優先度を適用して、前記ＧＰＩＯモジュールを介し前記外部接続（複数も可）を制御するように構成された中間モジュールと、を備える
ことを特徴とする、請求項１乃至請求項４のいずれかに記載の集積回路マイクロプロセッサ装置。
【請求項６】
前記中間モジュールは、一つ以上のチャネルを備え、当該チャネルは、各外部接続に対応付けることができて、対応付けられた前記外部接続の状態を「高」または「低」のいずれかに変更するように構成される
ことを特徴とする、請求項５に記載の集積回路マイクロプロセッサ装置。
【請求項７】
前記中間モジュールは、前記集積回路マイクロプロセッサ装置の一つ以上の追加モジュールに接続された複数のチャネルから信号を受け取るように構成される
ことを特徴とする、請求項５または６に記載の集積回路マイクロプロセッサ装置。
【請求項８】
前記信号を同時に受信するように構成される
ことを特徴とする、請求項７に記載の集積回路マイクロプロセッサ装置。
【請求項９】
前記所定の優先度はソフトウェアで決定される
ことを特徴とする、請求項１乃至請求項８のいずれかに記載の集積回路マイクロプロセッサ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は集積回路の入出力、特に、マイクロプロセッサまたはシステムオンチップ（ＳｏＣ）用の汎用入出力ピンに関する。
【背景技術】
【０００２】
最近のマイクロプロセッサおよびＳｏＣはますます複雑化しているので、種々の機能に対応付けられた入出力を供給する需要も増大している。しかし、これらは当該装置の外部ケースから突出するピンを必要とするので、供給可能な数は、多少相反する、増え続ける小型化への要求がもたらす物理的サイズの制約によって制限される。
【０００３】
この葛藤に対処する一つの方法は、動作中のタスクごとにソフトウェアで機能を動的に割当て可能な多数の汎用入出力（ＧＰＩＯ）ピンを提供することである。こうすれば、一部のアプリケーションまたは一部の顧客によってはあまり、あるいは、全く使用されない数多くの専用ピンを用いる代わりに、ピンを効率的に使用することが可能となる。しかし、一つの欠点は、所定のピンの状態が曖昧になったり入出力の誤作動が発生したりする状況を回避するために、慎重な管理が必要になることである。これは、ピンが、中央処理装置（ＣＰＵ）ではなく、例えば特許文献１に詳細に記載されたペリフェラル−ペリフェラル・インターフェース（ＰＰＩ）を使用して、周辺機器モジュールからアドレス指定される場合、特にあてはまる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開番号ＷＯ２０１３／０８８１２１
【発明の概要】
【発明が解決しようとする課題】
【０００５】
通常、ピンは任意の時点で一つの特定なタスクにしか割り当てられないので、例えば、ＧＰＩＯピンが「高」に駆動されることをＳＥＴタスクが必要とする場合、ＣＬＲタスクは、そのピンがＳＥＴタスクから解放されてＣＬＲタスクに割当て可能となるまで、同じピンを「低」にすることはできない。また、一部の実施形態では、ＣＰＵの介入なしには、ＳＥＴタスクとＣＬＲタスクを同じピンを使って実行することすらできない。セットとクリアを同じＧＰＩＯピンで、同時には、または、ＣＰＵを呼び出さずには全く、行えないので、機能を実行できる速度、消費電力、および装置の全体的な適応性が制限される。
【０００６】
一部の実施形態では、個々のＳＥＴタスクおよびＣＬＲタスクを使用する代わりにトグル機能を使用してピンの状態を切り替えることが可能であるが、これにはＧＰＩＯピンの現状を常時把握している基盤的な状態機械が必要となり、一部の状況下では、特にＣＰＵが動作状態でない場合には、常時把握ができない可能性がある。
【課題を解決するための手段】
【０００７】
第一態様によれば、本発明は、中央処理装置（ＣＰＵ）と、少なくとも一つの外部接続を有する汎用入出力（ＧＰＩＯ）サブシステムと、を備える集積回路マイクロプロセッサ装置を提供するものであって、前記外部接続は、前記汎用入出力サブシステム内で当該外部接続に対応付けられている設定に応じて、前記集積回路マイクロプロセッサ装置に入力を、または前記集積回路マイクロプロセッサ装置から出力を、供給するように構成されて、前記集積回路マイクロプロセッサ装置上の少なくとも一つの追加モジュールが、前記外部接続の状態を制御可能な少なくとも第一タスクまたは第二タスクを要求できるように構成され、前記汎用入出力サブシステムは、前記第一タスクおよび前記第二タスク宛の相反する要求を受け取ると、所定の優先度を適用し当該タスクのうちの一つだけを前記外部接続に適用できるように構成される。
【０００８】
したがって、本発明によれば、複数のタスクがＧＰＩＯ接続にアクセスできるが、これらのタスクを実行するのに相反する要求を受け取った場合は優先度が適用されることを当業者であれば理解するであろう。これはマイクロプロセッサに対するＧＰＩＯの管理に関する全く異なるアプローチであり、上述した欠点に対処するものである。
【０００９】
前記ＧＰＩＯサブシステムは、優先度のないタスクからの信号は単純に無視するように構成することもできる。あるいは、これらの出力を格納するバッファを備えることも可能であり、当該出力は優先度のあるタスクの出力が送信された後に送信できる。
【００１０】
前記第一タスクおよび前記第二タスクは、多くの異なるタスクのうち任意のものであってよく、一般的に、マイクロプロセッサを使用するアプリケーション次第である。代表的な一連の実施形態では、前記第一タスクは、論理的「高」を出力とするタスクであるＳＥＴタスクから成る。代表的な一連の実施形態では、前記第二タスクは、論理的「低」を出力とすることによって当該出力をクリアするタスクであるＣＬＲタスクから成る。
【００１１】
前記ＧＰＩＯサブシステムは、前記所定の優先度を適用して前記外部接続も管理するように構成された単一モジュールから成ることもある。しかし、一連の実施形態では、前記ＧＰＩＯサブシステムは、当分野では周知の方法で前記外部接続（複数も可）を管理するように構成されたＧＰＩＯモジュールと、前記所定の優先度を適用して、前記ＧＰＩＯモジュールを介し前記外部接続（複数も可）を制御するように構成された中間モジュールと、を備える。
【００１２】
一連の上述した実施形態では、前記中間モジュールは、一つ以上のチャネルを備え、当該チャネルは、各外部接続に対応付けることができて、対応付けられた前記外部接続の状態を「高」または「低」のいずれかに変更するように構成される。一連の実施形態で、前記中間モジュールは、前記集積回路マイクロプロセッサ装置の一つ以上の追加モジュールに接続された複数のチャネルから信号を受け取ることができる。これらのチャネルは、中央処理装置（ＣＰＵ）を通過しないペリフェラル−ペリフェラル・インターフェース（ＰＰＩ）の一部を形成してもよい。前記信号は同時に受信されてもよい。この同時受信は、同じクロックサイクル内であるかもしれないし、非同期システムでは所定の時間窓内であるかもしれないことは当業者であれば理解されるであろう。
【００１３】
前記所定の優先度は固定されているかもしれないが、一連の実施形態では、ソフトウェアで、例えば適切なレジスタに書き込むことによって、決定できる。こうすれば、最大の適応性が得られる。
【００１４】
次に、ほんの一例として、添付図面を参照しながら本発明の実施形態を説明する。
【図面の簡単な説明】
【００１５】
【図１】本発明に係るＧＰＩＯモジュールの概略図である。
【図２】所定の優先度を適用する中間モジュールの効果を示す表である。
【発明を実施するための形態】
【００１６】
図１は集積回路マイクロプロセッサの一部として含まれるＧＰＩＯモジュール２を示す。ＧＰＩＯモジュール２は、ＰＩＮ０からＰＩＮ３１の番号を付したピン４の形式で三十二個の外部接続をサポートしているが、図１にはそれらのうち最初と最後だけが示してある。各ピン４にはＧＰＩＯモジュール内のチャネル６が対応付けられ、当該チャネルは、ＰＩＮ[ｎ].ＯＵＴ、ＰＩＮ[ｎ].ＩＮおよびＰＩＮ[ｎ].ＣＮＦのラベルが付いた三つのレジスタを備える。
【００１７】
ＰＩＮ０に対応するチャネル６が図１の左側部分に詳細に示してある。これによれば、ピン４はスイッチ８に接続されて、このスイッチは、集積回路マイクロプロセッサの他の部分にアナログ入力を供給するためにピン４がアナログ入力線１０に選択的に接続できるようにしている。上記の代わりに、スイッチ８は、以下に詳細に説明するように、デジタル入出力装置のためにピン４を接続１２に接続してもよい。このスイッチは、集積回路マイクロプロセッサがアナログ入力を受け取ることを期待すると「高」になる「アナログ有効化」制御線１４によって制御される。
【００１８】
デジタル入出力装置接続部１２は、二つのスイッチ１６、１８に接続されている。両スイッチのうち最初のスイッチ１６は、ピン４が出力バッファ２０に接続できるようにする。スイッチ１６は「方向上書き」線２２によって制御されている。出力バッファ２０への入力は追加スイッチ２４によって制御されており、このスイッチによって、バッファ２０が、以下に説明するように、ＳＥＴタスクおよびＣＬＲタスクを実行するための中間モジュールからの出力線２６に接続されるか、あるいは集積回路マイクロプロセッサから通常の出力を供給するためにＰＩＮ[０].ＯＵＴレジスタ２８で接続されるかのいずれかが可能となる。スイッチ２４は「出力上書き」線３０によって制御されるので、この線によって、ピン４が出力線２６上の値になるよう強制できる。
【００１９】
デジタル入力側において、スイッチ１８は、「入力上書き」線３４の制御の下、ピン４を入力バッファ３２に選択的に接続する。こうすれば、ＧＰＩＯピンの制御を引き継ぐ周辺機器が、この線を出力として使用し入力バッファ３２を切断できるようになり、入力バッファは使用されないときでも一般的にエネルギーを消費するので有益である。入力バッファ３２は、入力線、ＣＰＵが使用してピン４の状態を見出すＰＩＮ[０].ＩＮレジスタ３８、および入力が「高」になったのを感知するとＰＩＮ０.ＤＥＴＥＣＴ信号４２を生成する感知モジュール４０に接続されている。
【００２０】
その他のピンＰＩＮ１〜ＰＩＮ３１に対しても、上記と同様の構成が提供される。
【００２１】
使用時に、ＧＰＩＯモジュール２は、従来の汎用入出力モジュールのように機能する。したがって、ピン４は、アナログ有効化制御線１４を「高」に設定してアナログ入力を受け取るのに使用できる。該ピンは、アナログ有効化制御線１４を「低」に設定し、入力上書き線３５を「高」に設定しスイッチ１８を閉じて、方向上書き線２２を「低」に設定しスイッチ１６を閉じることによって、デジタル入力ピンとしても使用できる。ほとんどの場合スイッチ１６、１８のいずれかを開けてもう一方を閉じるのが望ましいが、両方を閉じる場合もあり得る。ピン４は、アナログ有効化制御線１４を「低」に設定し、入力上書き線３５を「低」に設定しスイッチ１８を開けて、方向上書き線２２を「高」に設定しスイッチ１６を閉じることによって、デジタル出力ピンとしても使用できる。
【００２２】
後者の場合、ピン４は通常ＰＩＮ[０].ＯＵＴレジスタ２８から出力を供給する。しかし、ピン４を「高」に駆動してセットするか、ピン４を「低」に駆動してクリアする必要がある場合、出力上書き線３０は「高」にされて、出力バッファ２０が出力線２６に接続され、その結果、ピン４は「高」または「低」に駆動される。
【００２３】
本発明によれば、汎用入出力タスク・事象（ＧＰＩＯＴＥ）モジュール（図示せず）として周知の別のモジュールを使用し、タスクおよび事象を介してＧＰＩＯモジュール２のピン４にアクセスする。ＧＰＩＯＴＥモジュールは、ピン４の状態が変化すると事象を生成し、それを使用してペリフェラル−ペリフェラル・インターフェース（ＰＰＩ）システムを介しタスクを実行することができる。このＰＰＩシステムは、複数の周辺機器がＣＰＵを使用することなく互いに交信し合えるようにするもので、特許文献１にもっと詳しく記載されている。
【００２４】
また、ＧＰＩＯＴＥモジュールにより、周辺機器は、ＳＥＴタスクおよびＣＬＲタスクを用い、ＧＰＩＯモジュール２を駆動してＧＰＩＯピン２の状態を変更できるようになる。ＧＰＩＯＴＥモジュールは特定のピン４に割当て可能な多くのチャネル（例えば八個）を有するが、任意の時点で、一つのこのようなチャネルだけが、所定のピンに接続できる。ＧＰＩＯＴＥモジュールは対応するピン４の出力線２６および出力上書き線３０に接続される。これらのＧＰＩＯＴＥチャネルに他の周辺機器がＰＰＩを用いてアクセスし、タスクを生成することができる。各ＧＰＩＯＴＥチャネルは、三つのタスク、すなわちＳＥＴタスク、ＣＬＲタスク、および所定のピンをセットしたりクリアしたりするか、切り替えるのに使用できるＯＵＴと呼ばれる設定可能タスクが利用可能である。ＰＩＮ０に対応付けられたＧＰＩＯＴＥチャネルは、例えば、出力上書き線３０を「高」に駆動して、出力線２６に適用されるレベルをＰＩＮ４まで推し進めることができる。
【００２５】
また一方、本発明によれば、ＧＰＩＯＴＥモジュールは、所定のＧＰＩＯＴＥチャネルに対し相反するタスクを設定してピンを「低」または「高」に駆動しようとする、異なるＰＰＩチャネル上の周辺機器同士の調停を行う。これについては、各ＧＰＩＯＴＥチャネルによって適用される優先度の表を示す図２を参照しながら、もっと詳しく説明する。
【００２６】
図２に準拠して説明する実装では、設定可能なＯＵＴタスクに最高の優先度が与えられており、次がＣＬＲ、その次がＳＥＴである。最初の二行によれば、第一周辺機器が設定「なし」を有するＯＵＴタスクを要求する場合、ピン４の状態に変更があってはならないことを示しているので、ピン４は、たとえ別の周辺機器が同時にＳＥＴタスクまたはＣＬＲタスクを開始しようとしても、変化することはない。
【００２７】
第三行目および第四行目によれば、第一周辺機器が、出力が「低」から「高」になることを示すＬｏＴｏＨｉ設定（ＳＥＴタスクに等しい）を有するＯＵＴタスクを要求する場合、ピン４は、第二周辺機器から要求されるタスクが何であれ、「高」に駆動される。同様に、第五行目および第六行目によれば、第一周辺機器が、出力が「高」から「低」になることを示すＨｉＴｏＬｏ設定（ＣＬＲタスクに等しい）を有するＯＵＴタスクを要求する場合、ピン４は、第二周辺機器から要求されるタスクが何であれ、「低」に駆動される。
【００２８】
第七行目によれば、第一周辺機器がＣＬＲタスクを要求し第二周辺機器がＳＥＴタスクを要求した場合、ＣＬＲタスクに優先権が与えられてピンは「低」に駆動される。
【図１】
2018523216.tif 000003
【図２】
2018523216.tif 000004
【国際調査報告】
2018523216.tif 000005
2018523216.tif 000006