JP2022550059A - プロセッサおよびその内部の割り込みコントローラ - Google Patents
プロセッサおよびその内部の割り込みコントローラ Download PDFInfo
- Publication number
- JP2022550059A JP2022550059A JP2022519121A JP2022519121A JP2022550059A JP 2022550059 A JP2022550059 A JP 2022550059A JP 2022519121 A JP2022519121 A JP 2022519121A JP 2022519121 A JP2022519121 A JP 2022519121A JP 2022550059 A JP2022550059 A JP 2022550059A
- Authority
- JP
- Japan
- Prior art keywords
- interrupt
- arbitration
- interrupts
- priority
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000005070 sampling Methods 0.000 claims abstract description 18
- 238000012545 processing Methods 0.000 claims description 44
- 238000000034 method Methods 0.000 claims description 23
- 230000008569 process Effects 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 11
- 230000004044 response Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 108010001267 Protein Subunits Proteins 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000005316 response function Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
- G06F13/26—Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
- G06F13/366—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using a centralised polling arbiter
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
- G06F9/4818—Priority circuits therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Bus Control (AREA)
Abstract
本発明は、サンプリングユニットおよび優先調停ユニットを含む割り込みコントローラを開示する。サンプリングユニットは、割り込みコントローラに結合された種々の割り込みソースから割り込みを受信し、受信された種々の割り込みに対してサンプリングを実施することに適合する。優先調停ユニットは、受信された種々の割り込みを複数の割り込みセグメントに区分けし、全ての割り込みの中で最高の優先度を有する割り込みが、調停を通じて識別され、応答されるべき割り込みとして使用されるまで、セグメントごとに、選択されたセグメントにおける最高の優先度を有する割り込みを決定することに適合する。ここで、各割り込みセグメントは一つまたは複数のサンプリングされた割り込みを含む。本発明は、割り込みコントローラを含むプロセッサ、およびシステム・オン・チップをさらに開示する。
Description
本発明は、プロセッサの分野に関連しており、特にプロセッサ内の割り込み処理の分野に関連する。
関連出願の相互参照
本発明は、2019年9月25日に出願された中国特許出願第201910912610.1号明細書に基づく優先権を主張し、上記特許出願の内容全体を本明細書の一部として援用する。
本発明は、2019年9月25日に出願された中国特許出願第201910912610.1号明細書に基づく優先権を主張し、上記特許出願の内容全体を本明細書の一部として援用する。
発明の背景
プロセッサは、I/Oデバイスおよびタイマーなどの、割り込みソースから入る割り込みを処理する必要がある。プロセッサは、割り込みサービスルーチンの実行によって割り込みを処理する。プロセッサは、複数の割り込みソースからの様々な割り込みを処理する必要があることから、各割り込みは、対応する割り込み優先度を有する。一般的に、高性能なプラットフォームは、精巧に設計されたシステムを持っており、このシステムは、通常512以上という、非常に多量の割り込みソースを有する。このプラットフォームのために、割り込みコントローラは、多量の割り込みから、調停を通じて最高の優先度を有する割り込みを識別し、情報および割り込みなどをレポートすることが必要となる。この割り込みコントローラは、種々の割り込みの優先度を比較し、これにより、最高の優先度を有する割り込みを選択し、その割り込みに応答する必要がある。
プロセッサは、I/Oデバイスおよびタイマーなどの、割り込みソースから入る割り込みを処理する必要がある。プロセッサは、割り込みサービスルーチンの実行によって割り込みを処理する。プロセッサは、複数の割り込みソースからの様々な割り込みを処理する必要があることから、各割り込みは、対応する割り込み優先度を有する。一般的に、高性能なプラットフォームは、精巧に設計されたシステムを持っており、このシステムは、通常512以上という、非常に多量の割り込みソースを有する。このプラットフォームのために、割り込みコントローラは、多量の割り込みから、調停を通じて最高の優先度を有する割り込みを識別し、情報および割り込みなどをレポートすることが必要となる。この割り込みコントローラは、種々の割り込みの優先度を比較し、これにより、最高の優先度を有する割り込みを選択し、その割り込みに応答する必要がある。
従来の割り込みコントローラにおいて、割り込みソースの数量が増加するにつれて、優先調停用のリソースが急速に膨らむ。さらなる割り込みソースの各々は、さらなる割り込み調停リソースを要求する。調停ロジックは、優先コンパレータおよびセレクタなどを含む。さらに、高性能な割り込みコントローラにおいて、割り込みソースの数量が増加するにつれ、時間位相の調整が設計用のために必要とされており、このことがその設計を高度に複雑化する。
割り込みソースの数量が非常に多いとき、割り込みコントローラのロジックリソースは膨大な量となり、時間位相の調整は複雑になる。したがって、旧来の割り込みコントローラは、チップ全体における時間調整の性能および規模に影響を及ぼすことになる。
この理由のために、プロセッサにおける新規な割り込みコントローラの問題解決が、より効率的な割り込み処理方式を実装し、少量のリソースのみの使用によって様々な割り込みソース構成をサポートするために必要とされる。
このような事情に鑑みて、本発明は、上記の問題の少なくとも一つを解決するように、または、せめて軽減するように、新規なプロセッサおよびその内部の割り込みコントローラを提供する。
本発明に関する一つの態様によると、本発明は、割り込みコントローラに結合された種々の割り込みソースからの割り込みをサンプリングし、受信された種々の割り込みに対してサンプリングを実施し、これにより、サンプリングされた割り込みを生成するように適合されたサンプリングユニットと、サンプリングされた割り込みを複数の割り込みセグメントに分割し、これら割り込みセグメントの各々が一つまたは複数のサンプリングされた割り込みを含んでおり、割り込みセグメントごとに、複数の割り込みセグメントの中から最高の優先度を有する割り込みを決定し、応答されるべき割り込みとして指定された全ての割り込みセグメントの中から最高の優先度を有する割り込みを識別するように適合された優先調停ユニットと、を含む割り込みコントローラを提供する。
任意選択として、本発明に係る割り込みコントローラにおいて、優先調停ユニットは、複数の割り込みセグメントの一つを次々に選択し、選択された割り込みセグメントにおける割り込みを調停モジュールに対して送り出すように適合された選択モジュールと、選択モジュールによって選択された割り込みによる調停、および調停先行回の中間調停結果を通じて、調停現行回の中間調停結果として最高の優先度を有する割り込みを識別するように適合された調停モジュールを含み、この調停モジュールは、調停モジュールが選択モジュールによって選択された最終の割り込みセグメントにおける割り込みに対して調停を実行し、応答されるべき割り込みとして調停最終回の結果を取り扱うとき、調停最終回を完了する。
任意選択として、本発明に係る割り込みコントローラは、サンプリングユニットに結合されて、割り込みの構成情報を保存するように適合された割り込み構成ユニットをさらに含み、この構成情報は、一つまたは複数の後続する情報、すなわち割り込み優先度、割り込み処理状態および割り込み許可を含む。
任意選択として、本発明に係る割り込みコントローラは、優先調停ユニットを制御して、割り込みに対する調停を実施し、全ての割り込みが調査された後に調停を完了するように適合された調停反復制御ユニットをさらに含む。
任意選択として、本発明に係る割り込みコントローラにおいて、調停反復制御ユニットは、優先調停ユニットを制御して、プリセット条件を満足する割り込みに対して調停を実施し、プリセット条件を満足する全ての割り込みが調査された後に調停を完了するようにさらに適合されており、このプリセット条件は、割り込み処理状態が保留中の状態になることである。
任意選択として、本発明に係る割り込みコントローラにおいて、調停反復制御ユニットは、優先調停ユニットを誘発して、割り込み群が保留中の状態にある割り込みを含み、かつ、優先調停ユニットが調停の実施中でないときに、反復調停を実施させるようにさらに適合されている。
任意選択として、本発明に係る割り込みコントローラにおいて、選択モジュールによってサポートされる入力マルチチャンネル選択の数量は、受信された割り込みの数量、および調停モジュールによってサポートされる入力マルチチャンネル選択の数量によって決定されており、その調停モジュールによってサポートされる入力量マルチチャンネル選択の数量は、受信された割り込みの数量によって決定される。
任意選択として、本発明に係る割り込みコントローラにおいて、優先調停ユニットは、受信された種々の割り込みを順序性のある、またはランダム性のある方式で複数の割り込みセグメントに分割し、調停によって割り込みセグメントの一つを選択するようにさらに適合される。
任意選択として、本発明に係る割り込みコントローラにおいて、優先調停ユニットは、受信された割り込みを複数の割り込みセグメントに分割する前に、全く割り込みを含まない割り込みソースを遮り、割り込みを含む割り込みソースにおける割り込みを分割するようにさらに適合される。
任意選択として、本発明に係る割り込みコントローラは、割り込み構成ユニットに結合されて、割り込み優先度およびプリセット優先度を比較し、割り込み優先度がプリセット優先度より高くなるとき、優先調停ユニットに割り込みを入力するように適合された閾値比較ユニットをさらに含む。
本発明に関するもう一つの態様によると、本発明は、上述されており、割り込みコントローラと結合されて種々の割り込みソースからの割り込みをサンプリングし、処理されるべき割り込みを選択するように適合された割り込みコントローラと、割り込みコントローラと結合されて、割り込みコントローラによって選択された割り込みを処理するプロセッサコアとを含む。
任意選択として、本発明に係るプロセッサにおいて、プロセッサコアは、割り込みコントローラによって選択された割り込みの割り込み優先度がプロセッサコアで処理中の割り込みの割り込み優先度よりも高いとき、処理中の割り込みに対する処理を中断し、割り込みコントローラによって選択された割り込みに対する処理を開始するように適合されている。
任意選択として、本発明に係るプロセッサにおいて、プロセッサコアは、割り込みコントローラによって選択された割り込みの割り込み優先度がプロセッサコアで処理中の割り込みの割り込み優先度よりも高くないとき、割り込みコントローラによって選択された割り込みに対する処理を抜かして進むように適合されている。
本発明に関するさらに別の態様によると、本発明は、上述されたプロセッサ、および割り込みソースを含むシステム・オン・チップを提供する。すなわち、割り込みソースは、プロセッサに結合されて、プロセッサによって処理されるべき割り込みを生成する。
本発明に関するさらにもう一つ別の態様によると、本発明は、上述されたシステム・オン・チップを含むインテリジェント・デバイスを提供する。
本発明に関する問題解決によると、優先調停ユニットは、調停を通じて、反復調停の方式で応答されるべき割り込みを識別し、これにより、調停ロジックリソースを低減する。主な原理は、調停ロジックの点に関して、使用される調停ロジックは少量にすぎないことである。調停の各回の間、調停ロジックは、全ての割り込みの一部に対して調停を実施するにすぎない。調停を通じて得られた割り込みは、中間調停結果として保存される。それから、全ての調停が優先調停ユニットを経由するまで、調停の複数回が実施される。最後には、優先調停ユニットによって出力される結果は最終の割り込み結果となる。
上述の、および関連の目的を達成するために、幾つかの説明的な態様が、添付図面を参照しつつ、後続する説明と組み合わせて本明細書で記述される。これらの態様は、本明細書で記述された原理を実行することができ、全ての態様およびそれらと等価的な態様が、保護されるべき主題の範囲内に入ることを意図する。本開示に関する上記の他の目的、特徴および利点は、添付図面を参照しつつ、後続する詳細な説明を読み取ることによってより明確になる。本開示の全体を通して、同一の参照番号は、一般的に、同一の部分、または要素を表す。
本発明の一実施形態による、プロセッサ100を例証する模式図である。
本発明の一実施形態による、割り込みコントローラ200を例証する模式図である。
本発明の一実施形態による、優先調停ユニット230を例証する模式図である。
本発明の一実施形態による、コンピュータシステム1200を例証する模式図である。
本発明の一実施形態による、システム・オン・チップ(SoC)1500を例証する模式図である。
発明の詳細説明
本開示の例示的な実施形態は、添付図面を参照しつつ、より詳細に以下に記述されることになる。添付図面は本開示の例示的な実施形態を示すが、そのことは、本開示が種々の形態で実装され得ると理解されるべきであり、本明細書で記述された実施形態に限定されるべきでない。それよりも、これらの実施形態は、本開示がよりよく理解されることになり、本開示の範囲が当業者に十分に伝達されることが可能になるように、提供される。
本開示の例示的な実施形態は、添付図面を参照しつつ、より詳細に以下に記述されることになる。添付図面は本開示の例示的な実施形態を示すが、そのことは、本開示が種々の形態で実装され得ると理解されるべきであり、本明細書で記述された実施形態に限定されるべきでない。それよりも、これらの実施形態は、本開示がよりよく理解されることになり、本開示の範囲が当業者に十分に伝達されることが可能になるように、提供される。
図1は、本発明の一実施形態による、プロセッサ100の模式図を例証する。図1に例証されるように、処理システム190は、プロセッサ100、およびプロセッサ100に結合された種々の割り込みソース210(割り込みソース210は、例えば、外部のI/Oデバイスおよびタイマーである)を含む。割り込みソース210は、プロセッサ100によって処理される種々のタイプの割り込みを生成する。プロセッサ100は、プロセッサコア150および割り込みコントローラ200を含む。プロセッサコア150は、割り込みコントローラ200に結合され、割り込みコントローラ200によって選択された割り込みを処理する。
プロセッサコア150は、命令処理デバイス110およびプロセッサリソース120をさらに含む。命令処理デバイス110は、プロセッサ200における命令処理の構成要素であり、復号用の命令コードに対する取出し、それから復号後に得られた種々の命令に対する実行を含む処理を実施する。命令処理デバイス110は、同時の割り込みに応答し、プロセッサ100における命令実行用の手続きフローを修正し、対応する割り込み処理ルーチンを実行する。命令処理デバイス110がプロセッサ100の機能に関するロジック部であることは、注目される必要がある。プロセッサ100における全ての命令関連部分は、本発明の保護範囲を超えることなく、命令処理デバイス110の一部として分類され得る。
一実施形態によると、命令処理デバイス110は、命令取出ユニット112、命令復号ユニット114、および命令実行ユニット116を含む。命令取出ユニット112は、命令ストレージ領域130から実行すべき命令コードを獲得し、獲得された命令コードを命令復号ユニット112に送信する。
命令コードは、通常、演算コードおよびアドレスコードを示しており、演算コードは、実施されるべき演算を示し、アドレスコードは、演算コードが実行される際における演算対象の番地または内容を示す。命令復号ユニット114は、命令コードを復号して解析し、これにより、命令の演算コードを決定し、演算の特質および方法をさらに決定する。
それから、命令復号ユニット114は、命令実行ユニット116に復号された命令を送信する。その命令は、命令実行ユニット116で実行される。本発明の一実施形態によると、命令実行ユニット116は、特定命令の実行に使用される種々の実行ユニットを含む。特定命令を実行する命令実行ユニットの特定形態は、本発明の中で限定されない。命令を実行することが可能な全ての命令実行ユニット116は、本発明の保護範囲に含まれる。
命令の実行時に、命令実行ユニット116は、種々のレジスタおよびデータストレージ領域140などの、プロセッサリソース120にアクセスし、これにより、例えば、レジスタおよびデータストレージ領域140からデータを獲得し、レジスタまたはデータストレージ空間に実行結果を書き込む。
プロセッサコア150は、割り込み処理モジュール152をさらに備える。命令処理デバイス110によって命令が処理されている間に、割り込み処理モジュール152は、命令処理ユニット110を通じてプロセッサで実行される手順を変更し、割り込みを処理すべき外部割り込みに対応して割り込みサービスルーチンを実行するため、外部割り込みに対処する。
一実施形態によると、割り込みに対処する際、プロセッサコア150は、現行のプロセッサステータスおよびプロセッサ実行サイト(プロセッサのプログラムカウンタ(PC))をまず保存し、応答されるべき割り込みに関する割り込み情報に基づいて割り込みサービスルーチンの登録アドレスを取得し、このアドレスに跳躍して割り込み処理タスクを開始する。割り込み処理タスクを完了した後、プロセッサコア150は、割り込み復帰命令を実行する。プロセッサは、以前に保存されたプロセッサステータスを復元し、以前のサイト(保存されたプログラムカウンタ)に復帰して、実行を継続する。割り込み処理モジュール152は、命令処理デバイス110の使用によって上記の割り込み応答処理を実施することができる。
割り込みコントローラ200は、プロセッサコア150に結合されており、処理されるべき割り込みを選択して、演算用にプロセッサコア150に送信する。各割り込みは、対応する割り込み優先度を有する。プロセッサ100は、割り込み群における割り込み優先度に基づいて割り込み処理順序を決定する。複数の割り込みが同時に発生するとき、最高の優先度を有する割り込みが最初に処理される。
割り込みコントローラ200によって選択された割り込みの割り込み優先度がプロセッサコア150で処理中の割り込みの割り込み優先度より高いとき、プロセッサコア150は、処理中の割り込みに対する処理を中断し、割り込みコントローラ200によって選択された割り込みに対する処理を開始する。同じように、割り込みコントローラ200によって選択された割り込みの割り込み優先度がプロセッサコア150で処理中の割り込みの割り込み優先度より高くないとき、プロセッサコア150は、割り込みコントローラ200によって選択された割り込みに対する処理を抜かして進む。
本発明に関するこの実施形態によると、割り込みコントローラ200は、受信された割り込みを区分けして、複数の割り込みセグメントを取得し、それから、調停によって割り込みセグメントの各々から一つの割り込みを選択して、最高の優先度を有する割り込みを識別する。割り込みコントローラ200は、反復的に複数回に亘る調停プロセスを繰り返し、全ての割り込みが調査された後に、調停を完了し、最高の優先度を有する割り込みを決定する。命令処理デバイス110は、割り込みサービスルーチンを実行する。
図2は、本発明の一実施形態による割り込みコントローラ200を示す模式図を例証する。割り込みコントローラ200は、割り込みコントローラ200に結合される複数の割り込みソース210から割り込みを獲得し、処理のためにプロセッサコア150へ送信されるべき割り込みを選択する。
図2に例証されるように、割り込みコントローラ200は、サンプリングユニット220および優先調停ユニット230を含む。サンプリングユニット220は、割り込みコントローラ200に結合される割り込みソース210からの種々の割り込みを受信する。一般的には、外部の割り込みソース210のクロックは、プロセッサのクロックとは非同期の関係にある。サンプリングユニット220は、外部割り込みソース210をプロセッサのクロックに同期させ、サンプリングを実施して、有効な割り込み情報を生成する。さらに、割り込みソース210は、二つの異なるトリガー属性、すなわちレベルトリガーおよびエッジトリガー(またはパルストリガー)を有する。サンプリングユニット220は、これら二つの異なるトリガー方式をサンプリングし、これらを一つの処理方式に統合する。
優先調停ユニット230は、サンプリングユニット220から受信された割り込み群から最高の優先度を有する割り込みを決定し、応答処理のためにプロセッサコア150へ送信されるべき割り込みとして割り込みを取り扱う。優先調停ユニット230は、受信された種々の割り込みを複数の割り込みセグメントにまず区分けする。概して、割り込みセグメントの各々は、一つまたは複数のサンプリングされた割り込みを含む。本発明に関するこの実施形態によると、区分けされた各割り込みセグメントに含まれる割り込みの数量は、一定量であってよく、または、動的に調整されてもよい。このことは、本発明に関するこの実施形態の中で限定されない。それから、優先調停ユニット230は、全ての割り込みの中で最高の優先度を有する割り込みが、調停を通じて識別され、応答されるべき割り込みとして取り扱われるまで、セグメントごとに、選択されたセグメントにおける最高の優先度を有する割り込みを決定する。
図3は、本発明に係る一実施例に係る優先調停ユニット230を示す模式図を例証する。図3に例証されるように、優先調停ユニット230は、選択モジュール232および調停モジュール234を含む。
一つの実施形態において、選択モジュール232は、受信された割り込みから、調停のために調停モジュール234へ送信されるべき割り込みを選択することを担当する。具体的には、選択モジュール232は、次々に複数の割り込みセグメントの一つを選択し、選択された割り込みセグメントにおける割り込みを調停のために調停モジュール233に送信する。
割り込みセグメントに対して調停モジュール234によって実施される各調停は、調停回と呼ばれる。各調停回において、調停モジュール234は、調停を通じて、中間調停結果として割り込みセグメントにおいて最高の優先度を有する割り込みを識別する。本発明に関するこの実施形態によると、調停モジュール234は、選択モジュール232によって選択された割り込みによる調停、および調停先行回の中間調停結果を通じて、調停現行回の中間調停結果として最高の優先度を有する割り込みを識別する。調停モジュール234が、選択モジュール232によって選択された最終の割り込みセグメントにおける割り込みに対する調停を実施し、応答されるべき割り込みとして調停最終回の結果を取り扱うとき、調停モジュール234は、調停最終回を完了する。
図3に例証される割り込みの数量、並びに選択モジュール232および調停モジュール234に展開されるマルチチャンネル選択用に使用されるセレクタに関する入出力信号の数量が、単なる例示に過ぎないことは、注目される必要がある。本発明に関するこの実施形態は、それらの数量に限定されない。マルチチャンネル選択用に使用されるセレクタの実装は、本発明に関するこの実施形態の中で限定されない。
さらに、優先調停ユニット230は、割り込みに関して事前に構成された構成情報に基づく調停を通じて、最高の優先度を有する割り込みを識別する。この構成情報は、一つまたは複数の後続する情報、すなわち割り込み優先度、割り込み処理状態および割り込み許可を含む。
任意選択として、割り込みコントローラ200は、割り込みの構成情報を保存することに適合する割り込み構成ユニット240をさらに含む。図2に例証されるように、割り込み構成ユニット240は、サンプリングユニット220に結合される。割り込み構成ユニット240は、割り込みの構成情報(割り込み優先度、割り込み処理状態、および割り込み許可を含む)を保存する。プロセッサによる処理ステータスに依存するので、割り込みは、割り込み保留中(ペンディング)の状態および割り込み活性化(アクティブ)の状態を含む、複数の処理状態を有する。割り込み保留中(ペンディング)の状態は、割り込みが割り込みソース210によって生成され、サンプリングユニット220によって受信されるが、応答されないままにプロセッサコア150によって処理されることを示す。割り込み活性化(アクティブ)の状態は、割り込みがサンプリングユニット220によって受信されるだけでなく、プロセッサコア150によって処理されるも、その処理が未完了であることを示す。これは、プロセッサコア150によって処理中のケースだけでなく、プロセッサコア150により高い優先度を有する割り込みを実行させる割り込みの入れ子に起因した実行中断ケースも含む。
割り込みの入れ子は、プロセッサコア150がより低い優先度を有する割り込みを処理中であるとき、プロセッサコア150がより高い優先度を有する新しい割り込みを受信することを意味する。このケースにおいて、プロセッサコア150は、より低い優先度を有する割り込みの処理を中断し、割り込みのサイト(プログラムカウンタ(PC)を含む)を保存し、対応するスタックに関連するレジスタの内容を押し出し、より高い優先度を有する割り込みに対応する処理の実行を開始する。このようにして、割り込みの入れ子は発生する。割り込みの入れ子が比較的多量の階層を有するとき、比較的多量の割り込みに関する情報の保存が必要となることから、プロセッサに関する比較的多量のリソースが消費され得る。
一実施例によると、割り込み構成ユニット240は、レジスタを使用して、割り込みの構成情報を保存し、これらのレジスタに関して対応する所在地の値を変化することにより、割り込みの状態を変更することができる。
任意選択として、割り込み構成ユニット240は、割り込みを取り入れて処理すべきかどうかの命令に対する各割り込みの許可ビットをさらに保存する。サンプリングユニット220は、割り込みの許可ビットの値に基づいて割り込みを取り入れるかどうかを決定することができる。
本発明に関するこの実施形態によると、割り込みコントローラ200は、調停反復制御ユニット250をさらに含む。さらに図2に例証されるように、調停反復制御ユニット250は、優先調停ユニット230に結合されており、優先調停ユニット230を制御することに適合し、これにより、受信された種々の割り込みに対して調停を実施し、全ての割り込みが調査された後に調停を完了する。
幾つかの好適な実施形態において、調停反復制御ユニット250は、優先調停ユニット230を制御し、これにより、プリセット条件を満足する割り込みに対して調停を実施し、プリセット条件を満足する全ての割り込みが調査された後に調停を完了し、ここで、プリセット条件は、割り込み処理状態が保留中(ペンディング)の状態になることである。
調停反復制御ユニット250は、割り込み調停の誘発、中間調停用の割り込み選択、および調停完了の判定を制御する。
割り込み調停の誘発のために、調停反復制御ユニット250は、優先調停ユニット230を制御し、優先調停ユニット230を誘発して、受信された種々の割り込みが保留中(ペンディング)の状態にある割り込みを含み、かつ、優先調停ユニット230が調停を実施中でないとき、優先調停ユニット230に反復調停を実施させる。
中間調停用の割り込み選択のために、調停反復制御ユニット250は、優先調停ユニット230を制御し、これにより、受信された種々の割り込みを順序性のある、またはランダム性のある方式で複数の割り込みセグメントに区分けし、全ての割り込みが調査されるまで、調停によって複数の割り込みセグメントの一つを選択する。合計9個の割り込みが三つの割り込みセグメントに受信されて区分けされることを仮定する。各割り込みセグメントにおける割り込みの数量は、順序性のある方式で一定とすることができる。具体的には、最初の割り込み3個が一つの割り込みセグメントとして使用され、中央の割り込み3個が一つの割り込みセグメントとして使用され、最後の割り込み3個が一つの割り込みセグメントとして使用される。(確かなことに、各割り込みセグメントにおける割り込みの量は、代替的に動的に調整されることがあり得る。例えば、最初の割り込み4個が一つの割り込みセグメントとして使用され、中央の割り込み3個が一つの割り込みセグメントとして使用され、最後の割り込み2個が一つの割り込みセグメントとして使用される。このことは、本明細書で限定されない。)さらに、割り込みは、ランダム性のある方式で三つの割り込みセグメントに区分けされることが代替的にあり得る。割り込みの個数を特定する方法は、一番目、四番目、七番目の割り込みを一つの割り込みセグメントとして、二番目、五番目、八番目の割り込みを一つの割り込みセグメントとして、三番目、六番目、九番目の割り込みを一つの割り込みセグメントとして使用するように用いられることさえもあり得る。割り込み群を複数の割り込みセグメントに区分けし、これにより、割り込みの調査を完了する方法は、本発明に関する実施形態の中で限定されない。
幾つかの他の実施形態において、調停反復制御ユニット250は、優先調停ユニット230を制御し得て、これにより、保留中の状態にあるこれらの割り込みのみを調査する。
調停完了の判定のために、調停反復制御ユニット250は、優先調停ユニット230を制御し、これにより、全ての割り込みが繰り返しサイクルの中で繰り返されさえすれば、調停を完了する。
優先調停ユニット230によって実施される反復調停に関するロジックをさらに記述するため、例示が以下に提示される。
割り込みソースの数量は1024個であり、調停モジュール234は、32+1個の割り込み(この1は中間調停結果である)から一つを選択するという優先調停をサポートする。選択モジュール232は、32個の割り込みから一つを選択する32個のセレクタをサポートすることが必要となる。比較的単純な反復調停実行に関するロジックが後続のように設計されることがあり得る。すなわち、1024個の割り込みを32個の割り込みセグメントに区分けし、各割り込みセグメントは32個の割り込みを含む。1024個の割り込みを順次に32個の割り込みセグメントに区分けする。調停の各回で一つの割り込みセグメントを選択する、すなわち、繰り返しサイクルの中で合計32回繰り返す。それから、選択モジュール232における32個のセレクタの選択信号は、調停回の数量となる。各セレクタは、現行回で反復されるべき割り込みを選択する。最終の調停回の後に、調停モジュール234によって出力される割り込みは、最終の調停から取得された割り込みとなる。
選択モジュール232および調停モジュール234の両方がセレクタ(すなちわ、多対一のデータセレクタ)を使用する例示は、記述の簡易性のために本明細書で用いられることに注目する必要がある。これは、本発明に関するこの実施形態の中で限定されない。選択モジュール232および調停モジュール234は、マルチチャンネルの割り込み信号を受信し、出力のために受信された割り込みから一つを選択するマルチチャンネル選択機能(マルチプレクサなど)を有する任意のタイプのデバイスを使用し得る。
次のことが上記の例示から習得することができる。すなわち、受信された割り込みの数量がN個であるとき、調停モジュール234によってサポートされた割り込みの数量はM+1個(すなわち、調停モジュール234によってサポートされた入力マルチチャネル選択信号の数量)になる。このとき、選択モジュール232は、マルチチャンネル選択機能を有するセレクタM個を必要とする。各セレクタは、[N/M]対1の仕様を有し、すなわち割り込み信号[N/M]個の入力および割り込み信号1個の出力をサポートする。[N/M]は、切り上げを示す。すなわち、N/Mが整数である場合、このとき[N/M]=N/Mである。また、N/Mが整数でない場合、このとき[N/M]=N/M+1である。換言すると、選択モジュール232によってサポートされた入力マルチチャンネルセレクタの個数(すなわち、[N/M])は、受信された割り込みの数量(すなわち、N)、および調停モジュール234によってサポートされた入力マルチチャンネルセレクタの数量(すなわち、M)によって決定される。
調停モジュール234によってサポートされた入力マルチチャンネル選択の数量(すなわち、M)は、受信された割り込みの数量(すなわち、N)によって決定される。概して、Mは、それがNより小さい限り、任意の数であり得る。
上述されているように、優先調停ユニット230は、全ての割り込みではなく、保留中の状態にある割り込みのみを調査することができ、すなわち、繰り返しサイクルの中で任意の反復回のみを選択することができる。優先調停ユニット230の反復調停速度を最適化し、高速処理を実装するため、本発明に関するさらに幾つかの実施形態において、優先調停ユニット230は、受信された割り込みを複数の割り込みセグメントに区分けする前に、割り込みを含まない割り込みソースをさらに遮り、割り込みを含む割り込みソースのみにおける割り込みを区分けし得る。例えば、割り込みソースの数量が1024個であるが、割り込み20個のみが実際に受信される場合、優先調停ユニット230は、残りの割り込みソース1004個を遮り、後続の反復調停のためにこれらの割り込み20個のみを区分し得る。
別の実施形態によると、割り込みコントローラ200は、割り込み構成ユニット240に結合された閾値比較ユニット260をさらに含む。閾値比較ユニット260は、割り込み優先度をプリセット優先度と比較しており、割り込み優先度がプリセット優先度よりも高いとき、反復調停のために優先調停ユニット230に対して割り込みを入力する。
プリセット優先度は、閾値レジスタに保存されてよいし、設定および修正を受けてもよい。プリセット優先度に関する特定の保存形態は、本発明の中で限定されない。プリセット優先度を読み取り、変更することを可能とする全ての方法は、本発明の保護範囲に含まる。
さらに幾つかの実施形態によると、割り込み構成ユニット240は、特定割り込みの割り込み優先度を最高値として設定する。特定割り込みが優先調停ユニット230に入るとき、反復調停は必要なくなり、特定割り込みは応答されるべき割り込みとして直接に出力される。この方法は、特定割り込みに対して迅速な応答を実装する。
確かなことに、閾値比較ユニット260は特定割り込みのためにプリセット優先度を設定するために代替的に使用され得て、そのため、反復調停はプリセット優先度よりも高い優先度を有する特定割り込みに対してもはや実施されないし、特定割り込みは直接応答して処理される。これは、他の割り込みに関する処理に影響を与えることなく、特定割り込みに対する迅速な応答を実装する。
本発明に係る割り込みコントローラ200は、優先調停ユニット230を使用し、これにより、調停ロジックリソースを低減するために、反復調停の方式で応答されるべき割り込みを、調停を通じて、識別する。主な原理は、調停ロジックの点に関して、使用される調停ロジックは少量にすぎないということである。調停の各回の間、調停ロジックは、全ての割り込みの一部に対して調停を実施するだけである。調停を通して得られた割り込みは、中間調停結果として保存される。それから、調停の複数回は、全ての調停が優先調停ユニット230を経由するまで、実施される。最後には、優先調停ユニット230によって出力される結果が最終の割り込みの結果になる。同時に、割り込みコントローラ200は、調停反復制御ユニット250をさらに使用し、これにより、優先調停ユニット230の調停ロジックを制御して、条件を満足する全ての調査された割り込みのために調停を完了する。この条件は、保留中の状態にある割り込みなど、実際の要件に基づいて設定されてよく、そのため、調停処理はより効率的かつ柔軟になる。
結論として、本発明に係る割り込みコントローラ200は、少量のリソースだけを使用することによって、多量の割り込みソースのために調停をサポートすることができる。さらに、割り込みコントローラ200は、高度に拡張可能であり、割り込みソースに関する様々なタイプのための構成をサポートすることができる。
図4は、本発明の一実施形態に係るコンピュータシステム1200を示す模式図を例証する。図4に示されるコンピュータシステム1200は、ラップトップ、デスクトップコンピュータ、ハンドヘルドPC、個人情報端末、エンジニアリングワークステーション、サーバ、ネットワークデバイス、ネットワークハブ、スイッチ、組込プロセッサ、デジタル信号プロセッサ(DSP)、グラフィックデバイス、ビデオゲームデバイス、セットトップボックス、マイクロコントローラ、携帯電話、携帯メディアプレイヤー、ハンドヘルドデバイス、および種々の他の電子デバイスに適用され得る。本発明はこれらに限定されず、説明において開示されたプロセッサ、および/または、他の実行ロジックを含む全てのシステムが本発明の保護範囲に含まれる。
図4に示されるように、システム1200は、一つまたは複数のプロセッサ1210および1215を含む。これらのプロセッサは、コントローラハブ1220に結合される。一つの実施形態において、コントローラハブ1220は、グラフィックメモリコントローラハブ(GMCH)1290および入出力ハブ(IOH)1250(別のチップに配置されてよい)を含む。GMCH1290は、メモリ1240およびコプロセッサ1245に結合されたメモリコントローラおよびグラフィックコントローラを含む。IOH1250は、GMCH1290に対して入出力(i/O)デバイス1260を結合する。代替的には、メモリコントローラおよびグラフィックコントローラは、プロセッサ内に統合されており、そのため、メモリ1240およびコプロセッサ1245がプロセッサ1210に対して直接的に結合される。この場合、コントローラハブ1220は、IOH1250のみを含む。
付加的なプロセッサ1215に関する任意選択の特性は、図4における破線によって表示される。プロセッサ1210または1215の各々は、本明細書で記述されたプロセッサコアを一つまたは複数個含んでよく、図1に例証されたプロセッサ100に関する特定版であってもよい。
メモリ1240は、例えば、ダイナミックランダムアクセスメモリ(DRAM)、相変化メモリ(PCM)、またはこれらの組合せであってよい。少なくとも一つの実施形態において、コントローラハブ1220は、フロントサイドバス(FSB)などのマルチドロップバス、QuickPathインターコネクト(QPI)などのポイント・ツー・ポイント・インターフェース、または類似のコネクション1295を通じて、プロセッサ1210および1215と通信する。
一つの実施形態において、コプロセッサ1245は、高スループットのMICプロセッサ、ネットワークまたは通信プロセッサ、圧縮エンジン、グラフィック処理ユニット、一般的用途のグラフィック処理ユニット(GPGPU)、または組込プロセッサなどの、専用プロセッサである。一つの実施形態において、コントローラハブ1220は、統合グラフィックアクセラレータであってよい。
一つの実施形態において、プロセッサ1210は、一般的なタイプのデータ処理演算を制御する命令を実行する。これらの命令に組み込まれるものは、コプロセッサ命令であってよい。プロセッサ1210は、これらのコプロセッサ命令を識別しており、この命令は、例えば、付属のコプロセッサ1245によって実行されることが必要になるタイプである。したがって、プロセッサ1210は、これらのコプロセッサ命令(またはコプロセッサ命令を表す制御信号)をコプロセッサ1245に対してコプロセッサバスまたは他のインターコネクトを渡って発行する。
図5は、本発明の一実施例に係るシステム・オン・チップ(SoC)1500を示す模式図を例証する。図5に示されるように、インターコネクション・ユニット1502は、アプリケーション・プロセッサ1510(例えば、図1に例証されるプロセッサ100、これは図5に示されない)、システム・エージェント・ユニット1110、バス・コントローラ・ユニット1116、統合メモリ・コントローラ・ユニット1114、一つまたは複数のコプロセッサ1520、スタティック・ランダム・アクセス・メモリ(SRAM)ユニット1530、ダイレクト・メモリ・アクセス(DRM)ユニット1532、および一つまたは複数の外部ディスプレイに対する接続用のディスプレイ・ユニット1540に結合される。アプリケーション・プロセッサ1510は、一つまたは複数のコア1102A-Nの組合せ、および共有キャッシュ・ユニット1106をさらに含み得る。コプロセッサ1520は、統合グラフィックロジック、画像プロセッサ、音声プロセッサ、およびビデオ・プロセッサを含む。一つの実施形態において、コプロセッサ1520は、ネットワークまたは通信プロセッサ、圧縮エンジン、GPGPU、高スループットMICプロセッサ、または組込プロセッサなどの、専用プロセッサを含む。
上述されたシステム・オン・チップは、インテリジェント・デバイスにおける応答機能を実装するためにインテリジェント・デバイスの内部に含まれてよく、関連する制御プログラムの実行に限定されず、データ解析、演算および処理、ネットワーク通信、インテリジェント・デバイスの周辺機器制御などを含む。
このようなインテリジェント・デバイスは、モバイル端末および個人情報端末などの専用インテリジェント・デバイスを含む。このデバイスは、本発明に関する一つまたは複数のシステム・オン・チップを含み、これにより、データ処理を実施し、または、このデバイスの周辺機器を制御する。
このようなインテリジェント・デバイスは、特定機能用に設計された専用デバイス、例えば、スマートスピーカーおよびスマート表示デバイスをも含む。これらのデバイスは、本発明に関するシステム・オン・チップを含み、これにより、通信、認識、データ処理などの、付加的な機能を有するスピーカーまたは表示デバイスを提供するために、スピーカーまたは表示デバイスを制御する。
このようなインテリジェント・デバイスは、種々のIoTおよびAIoT機器をも含む。これらのデバイスは、本発明に関するシステム・オン・チップを含み、これにより、データ処理、例えば、AI演算、またはデータ通信および伝送を実施し、これにより、より高密度でよりインテリジェントなデバイスの配分を実装する。
このようなインテリジェント・デバイスは、車両の中で使用されることもあり得て、例えば、車両のインテリジェント運転を可能とするデータ処理を提供するために、車載機器として実装されてよく、または、車両内で組み立てられてもよい。
このようなインテリジェント機器は、ホームおよびエンターテインメント分野で使用されることもあり得て、例えば、スマートスピーカー、スマート空調機、スマート冷蔵庫、スマート表示デバイスなどとして実装されてよい。これらのデバイスは、本発明に関するシステム・オン・チップを含み、これにより、ホームおよびエンターテインメントのデバイスをインテリジェント化し、データ演算および周辺機器制御を実施する。
さらに、このようなインテリジェント機器は、産業分野で使用されることもあり得て、例えば、産業制御デバイス、センシングデバイス、IoTデバイス、AIoTデバイス、ブレーキデバイスなどとして実装されてよい。これらのデバイスは、本発明に関するシステム・オン・チップを含み、これにより、産業装置をインテリジェント化し、データ演算および周辺機器制御を実施する。
インテリジェント・デバイスに関する上記の説明は単なる例示に過ぎず、本発明に係るインテリジェント・デバイスはその説明に限定されない。本発明に関するシステム・オン・チップを使用することによってデータ処理の実施を可能とする全てのインテリジェント・デバイスは、本発明の保護範囲内に入る。
本開示を簡素化し、一つまたは複数の発明の態様に関する理解を助けるために、本発明の例示的な実施形態に関する上記の説明において、本発明に関する種々の特徴が、単体の実施形態、図表、またはそれらに関する説明の中でともにグループ化されることもあるということは、理解される必要がある。しかしながら、開示された方法は、特許請求の範囲に記載された発明が、各請求項で明示的に引用された特徴より多くの特徴を必要とするという意図を反映するようには、解釈されるべきでない。それよりも、下記の特許請求の範囲が反映するように、発明の態様は、上記で開示された単体の実施形態に関する全ての特徴よりも少ない特徴に存在する。したがって、詳細な説明に続く特許請求の範囲は、これにより明示的にこの開示された説明に組み込まれており、各請求項は、本発明における別の実施形態として自立する。
当業者は、本明細書で開示された例示におけるデバイスのモジュール、ユニット、またはコンポーネントが、実施例に記述されたデバイスにおいて配置され得て、または、代替として、例示におけるデバイスとは異なる一つまたは複数のデバイスの中に設けられ得ると、理解する必要がある。上記の例示で記述されたモジュール群は、単体のモジュールに統合してよく、または、複数のサブモジュールに分割されてもよい。
当業者は、実施形態における機器内のモジュールが、適応的に変更されて、実施形態におけるデバイスとは異なる一つまたは複数の機器に設けられ得ると、理解することができる。実施形態におけるモジュール群、ユニット群、またはコンポーネント群は、単体のモジュール、ユニット、または構成要素に統合されてよく、さらに、これらは、複数のサブモジュール、サブユニット、またはサブコンポーネントに分割されてもよい。記述(添付の特許請求の範囲、態様、および図面を含む)に開示された全ての特徴、および、同様に開示された任意の方法またはデバイスに関する全てのプロセスまたはユニットは、少なくとも幾つかの特徴および/またはプロセス、またはユニットが相互に排他的であることを除いて、任意の方法で結び付けられてよい。特に明記されていない限り、記述(添付の特許請求の範囲、態様、および図面を含む)に開示された各特徴は、同一、等価的、または類似の目的に役立つ代替的な特徴に置き換えられてよい。
さらに、当業者は、本明細書で記述された幾つかの実施形態は、他の実施形態に含まれた、一部ではあるが他ではない特徴を含むが、異なる実施形態における特徴の組合せは、本発明の範囲内であり、異なる実施形態を形成することを意味すると、理解することができる。例えば、下記の特許請求の範囲において、特許請求の範囲に記載された実施形態の任意の一つは、任意の組合せに用いられてよい。
さらに、幾つかの実施形態は、コンピュータシステムのプロセッサによって、または、その機能を実行する他のデバイスによって実装され得る方法の組合せまたは方法の要素として、本明細書で記述される。したがって、方法または方法の要素を実装するために必要な命令を有するプロセッサは、その方法または方法の要素を実装するためのデバイスを形成する。さらに、デバイスの実施形態で記述された要素は、本発明を実装する目的のための要素によって実行される機能を実装するためのデバイスの例示である。
本明細書で使用されるように、特に指定がない限り、一般的な対象を説明するための「第一の」、「第二の」、「第三の」などの、序数の使用は、同様のオブジェクトを含む異なる実態を単に表しており、そのように記述されたオブジェクトは、時間、空間、並び替え、または任意の他の態様において一定の順序を有する必要があることを含むことを意図しない。
本発明は限られた数量の実施形態によって記述されているが、上記の説明から利益を得るため、当業者は、他の実施形態がそれによって記述された本発明の範囲内で着想され得ると、理解することができる。さらに、明細書で使用される言語は、本発明の主題に対する解釈または定義のためよりむしろ、可読性および教授の目的のために主に選択されていることに注目する必要がある。したがって、付加された特許請求の範囲および趣旨から逸脱することなくなされた多くの変更や変形は、通常の当業者にとって明白となる。本発明の範囲に関して、本発明に関する開示は、制限的というよりむしろ、説明的になっており、本発明の範囲は付加された特許請求の範囲によって定義される必要がある。
Claims (16)
- 種々の割り込みソースから受信された割り込みをサンプリングして、サンプリングされた割り込みを生成するように適合されたサンプリングユニットと、
優先調停ユニットであって、
前記サンプリングされた割り込みを複数の割り込みセグメントに分割し、
各割り込みセグメントごとに、前記複数の割り込みセグメントの中から最高の優先度を有する割り込みを決定し、および
応答されるべき割り込みに指定された前記複数の割り込みセグメントの中から前記最高の優先度を有する割り込みを識別するように適合された優先調停ユニットと
を備えることを特徴とする、割り込みコントローラ。 - 前記優先調停ユニットが、
前記複数の割り込みセグメントの一つを次々に選択し、前記選択された割り込みセグメントにおける割り込みを調停モジュールに送信することに適合する選択モジュールと、
前記選択モジュールによって選択された割り込み、および調停先行回の中間調停結果による調停を通じて、調停現行回の中間調停結果として最高の優先度を有する割り込みを識別することに適合する前記調停モジュールと
を備え、
前記調停モジュールは、前記調停モジュールが前記選択モジュールによって選択された最終の割り込みセグメントにおける割り込みに対して調停を実施し、前記応答されるべき割り込みとして調停最終回の結果を取り扱うとき、調停最終回を完了することを特徴とする、請求項1記載の割り込みコントローラ。 - 前記サンプリングユニットに結合され、前記割り込みの構成情報を保存するように適合された割り込み構成ユニットであって、前記構成情報が一つまたは複数の後続する情報、すなわち割り込み優先度、割り込み処理状態、および割り込み許可を含む、割り込み構成ユニット
をさらに備えることを特徴とする、請求項2に記載の割り込みコントローラ。 - 前記優先調停ユニットを制御して、前記割り込みに対して調停を実施し、全ての割り込みが調査された後に前記調停を完了するように適合された調停反復制御ユニット
をさらに備えることを特徴する、請求項3に記載の割り込みコントローラ。 - 前記調停反復制御ユニットが、前記優先調停ユニットを制御して、プリセット条件を満足する割り込みに対して調停を実施し、前記プリセット条件を満足する全ての割り込みが調査された後に前記調停を完了するように適合されたことを特徴とする、請求項4に記載の割り込みコントローラ。
- 前記プリセット条件が、割り込み処理状態が保留中の状態であることを特徴とする、請求項5に記載の割り込みコントローラ。
- 前記調停反復制御ユニットが、前記優先調停ユニットを誘発して、前記割り込みが前記保留中の状態にある割り込みを含み、かつ、前記優先調停ユニットが調停の実施中でないとき、反復調停を実施させるように適合されたことを特徴とする、請求項6に記載の割り込みコントローラ。
- 前記選択モジュールによってサポートされた入力マルチチャンネル選択の数量が、受信された割り込みの数量、および前記調停モジュールによってサポートされた入力マルチチャンネル選択の数量によって決定され、
前記調停モジュールによってサポートされた入力マルチチャンネル選択の前記数量が、受信された割り込みの前記数量によって決定される
ことを特徴とする、請求項7に記載の割り込みコントローラ。 - 前記優先調停ユニットが、順序性のある方法、またはランダム性のある方式で、前記受信された種々の割り込みを複数の割り込みセグメントに分割し、調停によって前記複数の割り込みセグメントの一つを選択するようにさらに適合されたことを特徴とする、請求項8に記載の割り込みコントローラ。
- 前記優先調停ユニットが、前記受信された割り込みを前記複数の割り込みセグメントに分割する前に、割り込みを含まない割り込みソースを遮って、割り込みを含む割り込みソースにおける割り込みを分割するようにさらに適合されたことを特徴とする、請求項9に記載の割り込みコントローラ。
- 前記割り込み構成ユニットに結合され、前記割り込みの優先度およびプリセット優先度を比較し、前記割り込みの優先度が前記プリセット優先度より高いとき、前記優先調停ユニットに前記割り込みを入力するように適合された閾値比較ユニット
をさらに備えることを特徴とする、請求項3に記載の割り込みコントローラ。 - 前記割り込みコントローラに結合された前記種々の割り込みソースから前記割り込みをサンプリングするように適合された、請求項1乃至11のいずれか1項に記載の割り込みコントローラと、
前記割り込みコントローラに結合され、前記割り込みコントローラによって選択された前記割り込みを処理するプロセッサコアと
を備えることを特徴とする、プロセッサ。 - 前記割り込みコントローラによって選択された前記割り込みの割り込み優先度が、前記プロセッサコアで処理中の割り込みの割り込み優先度より高いとき、前記プロセッサコアは、処理中の前記割り込みに対する処理を中断し、前記割り込みコントローラによって選択された前記割り込みに対する処理を開始するように適合された
ことを特徴とする、請求項12に記載のプロセッサ。 - 前記割り込みコントローラによって選択された前記割り込みの前記割り込み優先度が、前記プロセッサコアで処理中の前記割り込みの割り込み優先度より高くないとき、前記プロセッサコアは、前記割り込みコントローラによって選択された前記割り込みに対する処理を抜かして進むように適合されたことを特徴とする、請求項12または13のいずれかに記載のプロセッサ。
- 請求項12乃至14のいずれか1項に記載のプロセッサと、
前記プロセッサに結合され、前記プロセッサによって処理されるべき割り込みを発生する前記種々の割り込みソースと
を備えることを特徴とする、システム・オン・チップ。 - 請求項15に記載のシステム・オン・チップを備えることを特徴とする、インテリジェント・デバイス。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910912610.1A CN112559403B (zh) | 2019-09-25 | 2019-09-25 | 一种处理器及其中的中断控制器 |
CN201910912610.1 | 2019-09-25 | ||
PCT/US2020/051446 WO2021061514A1 (en) | 2019-09-25 | 2020-09-18 | Processor and interrupt controller therein |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022550059A true JP2022550059A (ja) | 2022-11-30 |
JPWO2021061514A5 JPWO2021061514A5 (ja) | 2023-07-11 |
Family
ID=74880942
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022519121A Pending JP2022550059A (ja) | 2019-09-25 | 2020-09-18 | プロセッサおよびその内部の割り込みコントローラ |
Country Status (5)
Country | Link |
---|---|
US (1) | US11237994B2 (ja) |
EP (1) | EP4035016A4 (ja) |
JP (1) | JP2022550059A (ja) |
CN (1) | CN112559403B (ja) |
WO (1) | WO2021061514A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11579920B2 (en) * | 2020-07-21 | 2023-02-14 | Arm Limited | Virtual processor interrupt tracking |
CN117170745B (zh) * | 2023-11-03 | 2024-01-12 | 睿思芯科(深圳)技术有限公司 | Risc-v外部中断的处理方法、系统及相关设备 |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63238630A (ja) * | 1987-03-26 | 1988-10-04 | Toshiba Corp | マイクロプロセツサの割込み制御装置 |
US5410710A (en) * | 1990-12-21 | 1995-04-25 | Intel Corporation | Multiprocessor programmable interrupt controller system adapted to functional redundancy checking processor systems |
JP2855298B2 (ja) * | 1990-12-21 | 1999-02-10 | インテル・コーポレーション | 割込み要求の仲裁方法およびマルチプロセッサシステム |
US5918057A (en) * | 1997-03-20 | 1999-06-29 | Industrial Technology Research Institute | Method and apparatus for dispatching multiple interrupt requests simultaneously |
US5958036A (en) | 1997-09-08 | 1999-09-28 | Lucent Technologies Inc. | Circuit for arbitrating interrupts with programmable priority levels |
GB2339035B (en) * | 1998-04-29 | 2002-08-07 | Sgs Thomson Microelectronics | A method and system for transmitting interrupts |
CN1105690C (zh) | 1999-06-15 | 2003-04-16 | 中国洛阳浮法玻璃集团有限责任公司 | 无铜翡翠绿浮法玻璃着色剂 |
KR100528476B1 (ko) * | 2003-07-22 | 2005-11-15 | 삼성전자주식회사 | 컴퓨터 시스템의 인터럽트 처리 장치 |
JP2005092780A (ja) * | 2003-09-19 | 2005-04-07 | Matsushita Electric Ind Co Ltd | リアルタイムプロセッサシステム及び制御方法 |
CN1277161C (zh) * | 2003-12-12 | 2006-09-27 | 中兴通讯股份有限公司 | 可编程中断控制器 |
US20070106827A1 (en) | 2005-11-08 | 2007-05-10 | Boatright Bryan D | Centralized interrupt controller |
US7433985B2 (en) | 2005-12-28 | 2008-10-07 | Intel Corporation | Conditional and vectored system management interrupts |
JP5173714B2 (ja) * | 2008-09-30 | 2013-04-03 | ルネサスエレクトロニクス株式会社 | マルチスレッドプロセッサ及びその割り込み処理方法 |
US7849247B2 (en) * | 2008-10-14 | 2010-12-07 | Freescale Semiconductor, Inc. | Interrupt controller for accelerated interrupt handling in a data processing system and method thereof |
CN101673221B (zh) * | 2009-10-22 | 2013-02-13 | 同济大学 | 一种嵌入式片上多处理器的中断处理方法 |
JP5512383B2 (ja) * | 2010-05-12 | 2014-06-04 | ルネサスエレクトロニクス株式会社 | 計算機システム |
US8909836B2 (en) * | 2012-10-08 | 2014-12-09 | Andes Technology Corporation | Interrupt controller, apparatus including interrupt controller, and corresponding methods for processing interrupt request event(s) in system including processor(s) |
CN103106113A (zh) * | 2013-02-25 | 2013-05-15 | 广东威创视讯科技股份有限公司 | 一种中断事件处理方法和处理设备 |
US9430421B2 (en) * | 2014-03-12 | 2016-08-30 | Arm Limited | Interrupt signal arbitration |
US9575912B2 (en) * | 2014-04-08 | 2017-02-21 | Infineon Technologies Ag | Service request interrupt router with shared arbitration unit |
CN105095128B (zh) * | 2014-05-22 | 2020-04-03 | 中兴通讯股份有限公司 | 中断处理方法及中断控制器 |
KR20180083688A (ko) * | 2017-01-13 | 2018-07-23 | 삼성전자주식회사 | 애플리케이션 프로세서 및 집적 회로 |
US10423550B2 (en) * | 2017-10-25 | 2019-09-24 | International Business Machines Corporation | Managing efficient selection of a particular processor thread for handling an interrupt |
CN110737616B (zh) * | 2018-07-20 | 2021-03-16 | 瑞昱半导体股份有限公司 | 处理中断优先级的电路系统 |
US10545893B1 (en) * | 2019-01-11 | 2020-01-28 | Arm Limited | Interrupt controller and method of operation of an interrupt controller |
CN111752877A (zh) * | 2019-03-27 | 2020-10-09 | 阿里巴巴集团控股有限公司 | 一种处理器及其中的中断控制器 |
CN110083563B (zh) * | 2019-04-01 | 2022-10-28 | 吉林大学 | 一种基于循环优先级实现公平仲裁的仲裁电路 |
-
2019
- 2019-09-25 CN CN201910912610.1A patent/CN112559403B/zh active Active
-
2020
- 2020-09-18 EP EP20870151.6A patent/EP4035016A4/en active Pending
- 2020-09-18 JP JP2022519121A patent/JP2022550059A/ja active Pending
- 2020-09-18 US US17/025,482 patent/US11237994B2/en active Active
- 2020-09-18 WO PCT/US2020/051446 patent/WO2021061514A1/en unknown
Also Published As
Publication number | Publication date |
---|---|
EP4035016A1 (en) | 2022-08-03 |
US20210089482A1 (en) | 2021-03-25 |
US11237994B2 (en) | 2022-02-01 |
EP4035016A4 (en) | 2023-08-30 |
CN112559403A (zh) | 2021-03-26 |
CN112559403B (zh) | 2024-05-03 |
WO2021061514A1 (en) | 2021-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7861065B2 (en) | Preferential dispatching of computer program instructions | |
KR101817397B1 (ko) | 하나의 아키텍처의 코드 모듈이 다른 아키텍처의 라이브러리 모듈을 사용할 수 있게 하는 아키텍처 간 호환성 모듈 | |
JP6006248B2 (ja) | 命令エミュレーションプロセッサ、方法、およびシステム | |
US20090172348A1 (en) | Methods, apparatus, and instructions for processing vector data | |
US9354892B2 (en) | Creating SIMD efficient code by transferring register state through common memory | |
US20090260013A1 (en) | Computer Processors With Plural, Pipelined Hardware Threads Of Execution | |
JP2021525420A (ja) | ハードウェアアクセラレーションのためのハードウェアリソースの埋込みスケジューリング | |
KR102187912B1 (ko) | 인터럽트들의 세트들을 구성하는 장치 및 방법 | |
WO2006021473A1 (en) | Message delivery across a plurality of processors | |
CN107957965B (zh) | 服务质量序数修改 | |
CN112540796B (zh) | 一种指令处理装置、处理器及其处理方法 | |
JP2020087499A (ja) | スタティックランダムアクセスメモリにアクセスするための方法、装置、機器及び記憶媒体 | |
JP2022550059A (ja) | プロセッサおよびその内部の割り込みコントローラ | |
CN114168271B (zh) | 一种任务调度方法、电子设备及存储介质 | |
US8959319B2 (en) | Executing first instructions for smaller set of SIMD threads diverging upon conditional branch instruction | |
US11467946B1 (en) | Breakpoints in neural network accelerator | |
US20080126747A1 (en) | Methods and apparatus to implement high-performance computing | |
CN110688160B (zh) | 一种指令流水线处理方法、系统、设备及计算机存储介质 | |
JP5922353B2 (ja) | プロセッサ | |
US10997277B1 (en) | Multinomial distribution on an integrated circuit | |
Ciobanu | The Events Priority in the nMPRA and Consumption of Resources Analysis on the FPGA. | |
WO2022140043A1 (en) | Condensed command packet for high throughput and low overhead kernel launch | |
US11119787B1 (en) | Non-intrusive hardware profiling | |
US10803007B1 (en) | Reconfigurable instruction | |
US9460033B2 (en) | Apparatus and method for interrupt collecting and reporting status and delivery information |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230629 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230629 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20240531 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240618 |