(57)【要約】組み込みデバイスは、複数のプロセッサコアを有し、複数のプロセッサコアの各々は、複数の周辺デバイスを有し、各周辺デバイスは、出力を有する。さらに、複数の割り当て可能外部ピンを伴う筐体、および各割り当て可能外部ピンのための保護されたピン所有権論理が提供され、保護されたピン所有権論理は、関連付けられた割り当て可能外部ピンの出力機能を複数のプロセッサコアのうちの１つのみに割り当てるようにプログラム可能であるように構成されている。
2017520829.tif 000002
【特許請求の範囲】
【請求項１】
組み込みデバイスであって、
各々が複数の周辺デバイスを備えている複数のプロセッサコアであって、各周辺デバイスは、出力を備え得る、複数のプロセッサコアと、
複数の割り当て可能外部ピンを備えている筐体と、
各割り当て可能外部ピンのための保護されたピン所有権論理と
を備え、
前記保護されたピン所有権論理は、関連付けられた割り当て可能外部ピンの出力機能を前記複数のプロセッサコアのうちの１つのみに割り当てるようにプログラム可能であるように構成されている、組み込みデバイス。
【請求項２】
前記保護されたピン所有権論理は、前記組み込みデバイスのプロセッサコアと同数の入力と、単一の出力とを有する、マルチプレクサを備えている、請求項１に記載の組み込みデバイス。
【請求項３】
前記保護されたピン所有権論理は、前記関連付けられた割り当て可能外部ピンの再割り当てを防止するように構成されているロック論理をさらに備えている、請求項１に記載の組み込みデバイス。
【請求項４】
前記保護されたピン所有権論理は、マルチプレクサを通して処理コアを選択するように構成されている構成レジスタを備えている、請求項１に記載の組み込みデバイス。
【請求項５】
前記構成レジスタは、関連付けられた処理コアのフラッシュメモリ内に配置されている、請求項４に記載の組み込みデバイス。
【請求項６】
規定された書込シーケンスが、前記構成レジスタに書き込むために必要である、請求項５に記載の組み込みデバイス。
【請求項７】
各プロセッサは、各割り当て可能外部ピンのための周辺機器ピン選択モジュールを備え、前記周辺機器ピン選択モジュールは、そのプロセッサに関連付けられた複数の周辺デバイスのうちの１つの出力を選択するように構成されている、請求項１に記載の組み込みデバイス。
【請求項８】
各周辺機器ピン選択モジュールは、関連付けられた処理コアによってのみ制御可能であるように構成されている、請求項７に記載の組み込みデバイス。
【請求項９】
前記周辺機器ピン選択モジュールは、マルチプレクサを制御する特別な機能レジスタを備えている、請求項７に記載の組み込みデバイス。
【請求項１０】
各処理コアは、３２ビット処理コアであり、前記筐体は、３２本以下の外部ピンを備えている、請求項１に記載の組み込みデバイス。
【請求項１１】
前記筐体は、２８本の外部ピンを備えている、請求項１０に記載の組み込みデバイス。
【請求項１２】
外部ピンの入力機能は、２つ以上の周辺デバイスまたは処理コアにルーティングされることができる、請求項１に記載の組み込みデバイス。
【請求項１３】
複数の処理コアを組み込みデバイス内に配置する方法であって、
各々が複数の周辺デバイスを備えている複数のプロセッサコアを筐体内に配置するステップであって、各周辺デバイスは、出力を備え得、前記筐体は、複数の割り当て可能外部ピンを備えている、ステップと、
各割り当て可能外部ピンのために保護されたピン所有権論理を提供するステップと
を含み、
前記保護されたピン所有権論理は、関連付けられた割り当て可能外部ピンの出力機能を前記複数のプロセッサコアのうちの１つのみに割り当てるようにプログラム可能であるように構成されている、方法。
【請求項１４】
前記方法は、前記保護されたピン所有権論理内のマルチプレクサを制御するステップを含み、前記マルチプレクサは、前記組み込みデバイスのプロセッサコアと同数の入力と、単一の出力とを有する、請求項１３に記載の方法。
【請求項１５】
前記方法は、前記関連付けられた割り当て可能外部ピンの再割り当てを防止するように前記保護されたピン所有権論理内のロック論理を制御するステップをさらに含む、請求項１３に記載の方法。
【請求項１６】
前記方法は、マルチプレクサを通して処理コアを選択するように構成レジスタをプログラミングするステップをさらに含む、請求項１３に記載の方法。
【請求項１７】
前記組み込みデバイスのリセット時、前記構成レジスタ内に記憶されたピン構成は、出力を選択するマルチプレクサ制御に転送される、請求項１６に記載の方法。
【請求項１８】
前記構成レジスタは、関連付けられた処理コアのフラッシュメモリ内に配置されている、請求項１６に記載の方法。
【請求項１９】
規定された書込シーケンスが、前記構成レジスタに書き込むために必要である、請求項１８に記載の方法。
【請求項２０】
各プロセッサは、各割り当て可能外部ピンのために周辺機器ピン選択モジュールを備え、前記方法は、前記周辺機器ピン選択モジュールのマルチプレクサを通して、そのプロセッサに関連付けられた複数の周辺デバイスのうちの１つの出力を選択するステップを含む、請求項１３に記載の方法。
【請求項２１】
各周辺機器ピン選択モジュールは、関連付けられた処理コアによってのみ制御可能であるように構成されている、請求項２０に記載の方法。
【請求項２２】
外部ピンの入力機能は、２つ以上の周辺デバイスまたは処理コアにルーティングされることができる、請求項２０に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連特許出願）
本願は、共有に係る米国仮特許出願第６２／００８，２７３号（２０１４年６月５日出願）に対する優先権を主張し、上記出願は、全目的に対して参照により本明細書に援用される。
【０００２】
（技術分野）
本開示は、マルチプロセッサコアデバイス、特に、マルチプロセッサコアマイクロコントローラに関する。
【背景技術】
【０００３】
マイクロコントローラは、チップ上のシステムであり、中央処理ユニット（ＣＰＵ）だけではなく、メモリ、Ｉ／Ｏポート、および複数の周辺機器も備えている。マルチコアマイクロコントローラ等のマルチプロセッサコアデバイスは、１つのみのＣＰＵではなく、２つ以上の中央処理コアを備えている。そのようなデバイスは、向上した性能、改良されたセキュリティ、およびソフトウェア開発支援を提供する。組み込みデバイスでは、これらのデバイスは、多数のピンを伴う筐体を使用することを要求する。
【０００４】
大部分のマルチコアデバイスは、対称マルチプロセッサコア動作のために設計され、プロセッサコアは、機能または目的が「異なる」ことがないように設計される。そのようなシステムは、特定のデバイスピンの制御を有するために、１つの特定のプロセッサコアを有する必要がない。非対称マルチプロセッサコアを有する他のデバイスは、典型的には、浮動小数点等の専用機能として他の「コア」を使用し、それらは、デバイスピンにアクセスする必要がない。
【０００５】
しかし、マルチプロセッサコアを伴う他のデバイスは、多数ピンパッケージ内に実装され、特定のデバイスピンが、特定のプロセッサコアに割り当てられ得る。
【発明の概要】
【課題を解決するための手段】
【０００６】
したがって、少数の外部ピンを伴うマルチコアデバイスの必要性がある。
【０００７】
ある実施形態によると、組み込みデバイスは、各々が複数の周辺デバイスを備えている複数のプロセッサコアであって、各周辺デバイスは、出力を備え得る、プロセッサコアと、複数の割り当て可能外部ピンを備えている筐体と、各割り当て可能外部ピンのための保護されたピン所有権論理であって、関連付けられた割り当て可能外部ピンの出力機能を複数のプロセッサコアのうちの１つのみに割り当てるようにプログラム可能であるように構成されている、ピン所有権論理とを備え得る。
【０００８】
さらなる実施形態によると、保護されたピン所有権論理は、組み込みデバイスのプロセッサコアと同数の入力と、単一の出力とを有するマルチプレクサを備え得る。さらなる実施形態によると、保護されたピン所有権論理はさらに、関連付けられた割り当て可能外部ピンの再割り当てを防止するように構成されているロック論理を備え得る。さらなる実施形態によると、保護されたピン所有権論理は、マルチプレクサを通して処理コアを選択するように構成されている構成レジスタを備え得る。さらなる実施形態によると、構成レジスタは、関連付けられた処理コアのフラッシュメモリ内に配置され得る。さらなる実施形態によると、規定された書込シーケンスが、構成レジスタに書き込むために必要であり得る。さらなる実施形態によると、各プロセッサは、各割り当て可能外部ピンのために、そのプロセッサに関連付けられた複数の周辺デバイスのうちの１つの出力を選択するように構成されている周辺機器ピン選択モジュールを備え得る。さらなる実施形態によると、各周辺機器ピン選択モジュールは、関連付けられた処理コアによってのみ制御可能であるように構成されることができる。さらなる実施形態によると、周辺機器ピン選択モジュールは、マルチプレクサを制御する特別な機能レジスタを備え得る。さらなる実施形態によると、各処理コアは、３２ビット処理コアであり、筐体は、３２本以下の外部ピンを備え得る。さらなる実施形態によると、筐体は、２８本の外部ピンを備え得る。さらなる実施形態によると、外部ピンの入力機能は、２つ以上の周辺デバイスまたは処理コアにルーティングされることができる。
【０００９】
別の実施形態によると、複数の処理コアを組み込みデバイス内に配置する方法は、筐体内に、各々が複数の周辺デバイスを備えている複数のプロセッサコアを配置するステップであって、各周辺デバイスは、出力を備え得、筐体は、複数の割り当て可能外部ピンを備えている、ステップと、各割り当て可能外部ピンのために、関連付けられた割り当て可能外部ピンの出力機能を複数のプロセッサコアのうちの１つのみに割り当てるようにプログラム可能であるように構成されている保護されたピン所有権論理を提供するステップとを含み得る。
【００１０】
さらなる実施形態によると、方法は、保護されたピン所有権論理内のマルチプレクサを制御するステップであって、マルチプレクサは、組み込みデバイスのプロセッサコアと同数の入力と、単一の出力とを有する、ステップを含み得る。さらなる実施形態によると、方法は、保護されたピン所有権論理内のロック論理を制御し、関連付けられた割り当て可能外部ピンの再割り当てを防止するステップを含み得る。さらなる実施形態によると、方法は、構成レジスタをプログラミングし、マルチプレクサを通して処理コアを選択するステップを含み得る。方法のさらなる実施形態によると、組み込みデバイスのリセット時、該構成レジスタ内に記憶されたピン構成は、出力を選択するマルチプレクサ制御に転送される。方法のさらなる実施形態によると、構成レジスタは、関連付けられた処理コアのフラッシュメモリ内に配置されることができる。方法のさらなる実施形態によると、規定された書込シーケンスが、構成レジスタに書き込むために必要であり得る。方法のさらなる実施形態によると、各プロセッサは、各割り当て可能外部ピンのために周辺機器ピン選択モジュールを備え、方法は、周辺機器ピン選択モジュールのマルチプレクサを通して、そのプロセッサに関連付けられた複数の周辺デバイスのうちの１つの出力を選択するステップを含み得る。方法のさらなる実施形態によると、各周辺機器ピン選択モジュールは、関連付けられた処理コアによってのみ制御可能であるように構成されることができる。方法のさらなる実施形態によると、外部ピンの入力機能は、２つ以上の周辺デバイスまたは処理コアにルーティングされることができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、ピン割り当て論理の実施形態のブロック図を示す。
【００１２】
【図２】図２は、図１による周辺機器ピン選択モジュールの実施形態を示す。
【００１３】
【図３】図３は、例示的デュアルコアマイクロコントローラのブロック図を示す。
【発明を実施するための形態】
【００１４】
種々の実施形態によると、限定数のデバイスピンが、用途柔軟性を維持しながら、デバイス内の各プロセッサの周辺機器に割り当てられ、別のプロセッサのデバイスピンの機能に影響を及ぼす１つのプロセッサからの不注意による干渉からの保護を提供することができる。種々の実施形態によると、出力の目的のためにどのプロセッサが特定のデバイスピンを所有するかを規定する能力を非対称マルチプロセッサコアデバイスに提供し得る方法論が、提供されることができる。
【００１５】
周辺機器ピン選択（ＰＰＳ）機能モジュールは、ある外部ピンを内部機能に可変的に割り当てることを可能にする。ＰＰＳモジュールは、デバイス上の各プロセッサのための、デバイス内の各機能ピンのために実装される。
【００１６】
ある実施形態によると、マルチプロセッサマイクロコントローラは、処理コアの各々のバス幅未満のピンを有する筐体内に配置されることができるように設計されることができる。したがって、２８本のピン筐体は、例えば、各コアが３２ビットマイクロプロセッサコアであるデュアルコアマイクロコントローラを備え得る。
【００１７】
図１は、例えば、４つのプロセッサコア（図１には図示せず）を伴う、単一チップマイクロコントローラの実施形態を示す。複数であるが限定数の割り当て可能外部ピン１５０が、提供される。加えて、そのようなデバイスは、当然ながら、例えば、電力供給源ピン等、その機能が変更されることができないある固定機能ピンを有し得る。各プロセッサコアは、各外部割り当て可能ピンのためにそれ自身の周辺機器ピン選択（ＰＰＳ）モジュール１２０ａ、ｂ、ｃ、ｄに関連付けられる。各ＰＰＳモジュール１１０ａ、ｂ、ｃ、ｄは、各機能デバイスピン１５０のための各プロセッサのために論理１１０を備えている（処理コアあたり１つのみが図１に示される）。したがって、各機能デバイスピン１５０および各処理コアのために、ピン所有権論理（ＰＯＬ）ブロック１１０が、存在する。
【００１８】
論理は、構成レジスタ１３０を備え得、構成レジスタ１３０は、例えば、デバイスピン１５０を駆動するため選定される、周辺機器の出力を選択するマルチプレクサ１４０を制御する。種々の実施形態によると、出力選択は、複製され、それによって、他の回路は、どのプロセッサの周辺機器がそれぞれのデバイスピン１５０へのアクセスを実際に得るかを決定できる。
【００１９】
図１は、４つの例示的周辺デバイスを示し、各々は、４つの処理コアのうちの１つによって所有される。しかしながら、各処理コアは、複数の周辺デバイスまたはモジュールを備え得る。周辺デバイスは、入力および／または出力機能を有し得る。入力は、種々の周辺機器に（異なる処理コアに関連付けられた周辺機器にさえ）ルーティングされ得るが、１つの選択された周辺デバイスの１つのみの出力機能が、外部ピンに割り当てられることができる（何故なら、そうでなければ、衝突または競合が生じるであろうから）。処理コアに関連付けられたＩ／Ｏポートは、種々の実施形態によると、周辺デバイスまたはモジュールと見なされ得、その出力機能は、したがって、外部ピンに割り当て可能である。
【００２０】
図１の具体的実施形態では、第１の周辺機器１７０は、ＣＰＵ１に関連付けられ、第２の周辺機器１７５は、ＣＰＵ２に関連付けられ、第３の周辺機器１８０は、ＣＰＵ３に関連付けられ、第４の周辺は、ＣＰＵ４に関連付けられている。それぞれの周辺機器ピン選択モジュール１２０ａ、ｂ、ｃ、ｄは、複数の周辺機器のうちの１つを選択するようにプログラムされる。図１は、選択された周辺機器のみを示す。しかしながら、各ＰＰＳモジュール１２０は、実際には、その周辺機器群から周辺デバイスまたはモジュールを選択するように設計されるので、図２に関連してより詳細に説明されるであろうように、各ＰＰＳモジュール１２０は、関連付けられたＣＰＵの複数の周辺デバイスまたはモジュールに接続され得る。
【００２１】
図１はさらに、デバイス内の各機能ピン１５０に関連付けられたＰＯＬ（ピン所有権論理）論理の典型的事例を示されるブロック１１０で示す。各ピン１５０は、例えば、保護されたメモリ（フラッシュメモリ等）内に位置する構成ビット１３０によって制御されるマルチプレクサ１４０を有する。これらの構成ビット１３０は、どのプロセッサが特定のデバイスピン１５０上に出力するためのアクセスを有するかを規定するように、ユーザによってプログラムされる。構成ビット１３０は、それぞれのマルチプレクサ１４０を制御し、マルチプレクサ１４０は、選択されたプロセッサによって所有される事前に選択された周辺機器からのデータを選択する。このＰＯＬブロック１１０は、各機能デバイスピンのために複製される。
【００２２】
図２は、典型的ＰＰＳモジュール１２０の実施形態の別の略図を示す。それは、単一ＰＰＳモジュール内の例示的論理を示す。各プロセッサは、１つ以上の周辺デバイス２１０、２２０、２３０、２４０を所有し得る。これらの周辺デバイスの一部または全部は、レジスタ２５０によって制御されるマルチプレクサ２６０と結合され得る。いくつかの実施形態によると、レジスタ２５０は、周辺機器を所有するそれぞれのプロセッサに専用である。マルチプレクサ２６０の出力２７０は、マルチプロセッサコアピン所有権論理１１０と結合される。
【００２３】
種々の実施形態によると、マルチプロセッサコアを備えている組み込みシステムは、非常に少ない数のピンパッケージのために設計されることができ、例えば、２８本のピン筐体が、デュアルコアを伴うマイクロコントローラのために使用され得る。そのような少数ピン筐体では、デバイスピンは、数が乏しい必需品であり、したがって、種々の実施形態によると、ユーザが周辺機器ピン機能を割り当てることを可能にする機構が、提供される。
【００２４】
種々の実施形態によると、非対称マルチプロセッサコアデバイス内の各プロセッサコアが、そのうちのどの周辺機能が機能デバイスピンに接続されるかを規定することを可能にする方法論が提供されることができる。用語「非対称」は、各処理コアが、それに関連付けられた異なる周辺デバイスを有し得ることを意味し、ある周辺機器は、１つのみのコアに固有であり得、その他は、２つ以上のまたは全てのコア内に組み込まれ得る。
【００２５】
この目的を達成するために、マルチコアデバイス内の各プロセッサは、
各ピンのためのＰＰＳマルチプレクサ２６０
を有する。
【００２６】
各ＰＰＳマルチプレクサは、デバイスピンへの周辺機器接続を規定するレジスタ２５０を有する。レジスタ２５０は、１つの処理コア、すなわち、それぞれの周辺機器の所有者によってのみアクセスされ得る特別な機能レジスタであることができる。特別な機能レジスタ２５０は、好ましくは、ランダムアクセスメモリ（ＲＡＭ）にマップされるメモリであり得る。この特別な機能レジスタは、その他の点では、以下に説明されるように、所有権を制御する構成レジスタと同様に動作し得る。
【００２７】
出力機能を提供するように指定される任意の外部ピンは、関連付けられたＰＰＳを有する。さらに、いくつかの実施形態では、各処理コアは、異なる数のＰＰＳを有し得、全てではない外部ピンが、各処理コアのために利用可能であり得る。
【００２８】
各デバイスピン１５０に関連付けられたピン所有権構成ビット１３０が、種々の実施形態によると、好ましくは、フラッシュおよび／またはＲＡＭメモリ内に位置する。これらのピン所有権構成ビット１３０は、どのプロセッサコアが各デバイスピン１５０上に信号を出力する権限を有するかを制御し得る。例えば、そのようなレジスタは、４コアデバイスにおいて４ビットを有し得る。内部制御論理が、１度に１つのビットのみが設定されることを可能にし得る。例えば、１つのビットの設定は、自動的に、全ての他のビットをクリアにし得る。他の機構も、可能であり得、例えば、２ビットレジスタが、使用され得、記憶された値は、それぞれのコアとの関連付けを表す。構成レジスタが、必要とされるより多いビットを有する場合、無効設定が、単に、それぞれのピンをいずれの特定のプロセッサにも割り当てないであろう。そのようなピンは、次いで、入力専用のために使用され得る。
【００２９】
全てのプロセッサコアは、入力機能のためにデバイスピンを同時に使用し得るが、特定のデバイスピン上に信号を出力するための能力は、ピン所有権構成ビット１３０を介して、顧客によって規定される。
【００３０】
いくつかの実施形態によると、各機能デバイスピンは、
不揮発性フラッシュメモリ内の関連付けられたピン所有権構成ビットと、
ピン構成ビットによって制御される関連付けられたピンマルチプレクサと
を有する。
【００３１】
フラッシュメモリは、偶発的ピン構成変更を防止する書込ロック論理を備え得る。ユーザは、例えば、プログラミング中、ピン所有権ビットを構成する。したがって、そのような実施形態によると、ピン所有権は、プログラミング中のみ、変更されることができ、プログラム制御下、動的に変更されることができない。リセット時、ピン構成情報は、ＭＵＸ制御に転送される。
【００３２】
したがって、種々の実施形態は、どのプロセッサが、出力の目的のために、どのデバイスピンを所有するかを定義するための保護された手段を提供する。
【００３３】
さらなる実施形態によると、制御ソフトウェアはさらに、例えば、ロック機構１６０が、例えば、図１に示されるように、ピンに対して作動させられていない場合のみ、割り当ての変更を可能にするルーチンを含み得る。したがって、あるピンの再割り当ては、遮断されることができる。したがって、ピンは、１つのプロセッサコアによるあるタスクが終了した場合のみ、再割り当て可能であり得る。
【００３４】
さらなる実施形態によると、そのような遮断機能は、関連付けられた制御レジスタ１６０内に確立され得る。例えば、複数のビットが、どのプロセッサコアに遮断機能が提供されるかを示し得る。さらなる実施形態によると、それに対して遮断機能が作動させられた割り当てられたプロセッサコアのみが、遮断機能をリセット可能であり得る。したがって、ピン割り当ての遮断は、ピンが現在割り当てられているプロセッサによってのみ解除され得る。
【００３５】
図３は、単一筐体内のデュアルコアマイクロコントローラの実施形態のブロック図を示す。図から分かるように、デバイスは、各々が複数の関連付けられた周辺デバイスと、それ自身のメモリとを有する２つの別個の処理コア３１０および３４０を基本的に備えている。処理コアは、別個のプログラムメモリ、例えば、フラッシュメモリおよびデータメモリを伴うＨａｒｖａｒｄ構造であり得る。しかしながら、他のアーキテクチャが適用され得る。これらの要素に関して、マイクロコントローラは、そのリソースのいずれも共有しない。集積回路デバイスは、したがって、各々がＣＰＵ３１０、３４０と、フラッシュメモリ３２０、３６０と、ランダムアクセスメモリ３３０、３５０と、それぞれのＣＰＵ３１０または３４０に関連付けられた複数の周辺デバイスもしくはモジュール（Ｐｅｒ．Ａ、Ｐｅｒ  Ｂ・・・Ｐｅｒ  Ｎ）とを基本的に備えている、２つの別個のマイクロコントローラを備えている。各処理コア３１０、３２０の周辺機器は、好ましくは、それぞれのＲＡＭ３３０および３６０にマップされるメモリであり得るそれぞれの特別な機能レジスタを通して制御され得る。特に、図２に示されるようなＰＰＳ制御レジスタ２５０は、ＲＡＭにマップされるメモリであることができる。したがって、他の処理コアがそれらに割り当てられていない任意のメモリへのアクセスを有することがないので、それぞれのコアに対するプライバシーが確実にされる。
【００３６】
図３に示されるように、フラッシュメモリは、それぞれ、ＰＰＯモジュール３７０の設定を制御し得る構成レジスタ３２５および３６５を含み得る。ＰＰＯモジュールは、１つのブロックとして図３に示され、各々が単一の外部ピンに関与する複数のＰＰＯユニットを含み得る。図３は、フラッシュメモリ３２５および３６５内の構成ビットの設定に従って、ある周辺機器の出力を外部ピン１５０のうちのいくつかと接続する点線によって、ユニット３７０の中にプログラムされる例示的設定を示す。しかしながら、ＲＡＭ内、またはメインメモリと別個に配置される揮発性もしくは不揮発性レジスタ等、他の構成方法が、適用され得る。
【図１】
2017520829.tif 000003
【図２】
2017520829.tif 000004
【図３】
2017520829.tif 000005
【国際調査報告】
2017520829.tif 000006
2017520829.tif 000007