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