JP2015511049A - コンテキストスイッチを伴うマイクロコントローラ - Google Patents
コンテキストスイッチを伴うマイクロコントローラ Download PDFInfo
- Publication number
- JP2015511049A JP2015511049A JP2015501841A JP2015501841A JP2015511049A JP 2015511049 A JP2015511049 A JP 2015511049A JP 2015501841 A JP2015501841 A JP 2015501841A JP 2015501841 A JP2015501841 A JP 2015501841A JP 2015511049 A JP2015511049 A JP 2015511049A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- register
- context
- registers
- bank
- 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.)
- Granted
Links
- 230000006870 function Effects 0.000 claims abstract description 55
- 238000012545 processing Methods 0.000 claims abstract description 6
- 238000000034 method Methods 0.000 claims description 28
- 230000004044 response Effects 0.000 claims description 10
- 230000001960 triggered effect Effects 0.000 claims description 6
- 230000001939 inductive effect Effects 0.000 claims description 2
- 230000006386 memory function Effects 0.000 claims 1
- 239000000872 buffer Substances 0.000 description 19
- 238000013507 mapping Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000009977 dual effect Effects 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 239000007983 Tris buffer Substances 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
Images
Classifications
-
- 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
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/30123—Organisation of register space, e.g. banked or distributed register file according to context, e.g. thread buffers
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/30101—Special purpose registers
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/30138—Extension of register space, e.g. register cache
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
Abstract
Description
本願は、米国仮特許出願61/613,802号(2012年3月21日出願)の利益を主張し、その出願は、その全体が本明細書に援用される。
本開示は、マイクロコントローラに関し、特に、自動コンテキストスイッチ能力を有するマイクロコントローラに関する。
実施形態によると、マイクロプロセッサまたはマイクロコントローラデバイスは、中央処理ユニット(CPU)と、CPUと結合されたデータメモリであって、そのデータメモリは、複数のメモリバンクに分割され、バンク選択レジスタが、どのメモリバンクが、現在、CPUと結合されているかを決定する、データメモリと、第1のセットの特殊機能レジスタおよび第2のセットの特殊機能レジスタであって、コンテキストスイッチの発生に応じて、第1のセットの特殊機能レジスタまたは第2のセットの特殊機能レジスタのいずれかが、CPUのためのアクティブコンテキストレジスタとして選択され、対応する他方のセットの特殊機能レジスタは、非アクティブコンテキストレジスタとして選択され、アクティブコンテキストレジスタのレジスタのうちの少なくともいくつかは、データメモリのうちの3つ以上のメモリバンクにメモリマップされ、非アクティブコンテキストレジスタの全レジスタは、データメモリ内の少なくとも1つのメモリ位置にメモリマップされている、特殊機能レジスタとを備えてもよい。
前述のマイクロコントローラにおけるベースラインCPUは、多くの場合、割込能力を有していない。ベースラインCPUに割込を追加することは、特有の短所および制限を提示する。種々の実施形態によるコンテキストスイッチは、それらの短所の多くを克服する。
−割込のベクトル化
−割込復帰命令。
Claims (22)
- マイクロプロセッサまたはマイクロコントローラデバイスであって、前記デバイスは、
中央処理ユニット(CPU)と、
前記CPUと結合されたデータメモリであって、前記データメモリは、複数のメモリバンクに分割され、バンク選択レジスタが、どのメモリバンクが、現在、前記CPUと結合されているかを決定する、データメモリと、
第1のセットの特殊機能レジスタおよび第2のセットの特殊機能レジスタであって、コンテキストスイッチの発生に応じて、前記第1のセットの特殊機能レジスタまたは前記第2のセットの特殊機能レジスタのいずれかが、前記CPUのためのアクティブコンテキストレジスタとして選択され、対応する他方のセットの特殊機能レジスタは、非アクティブコンテキストレジスタとして選択され、前記アクティブコンテキストレジスタのレジスタのうちの少なくともいくつかは、前記データメモリのうちの3つ以上のメモリバンクにメモリマップされ、前記非アクティブコンテキストレジスタのうちの全レジスタは、前記データメモリ内の少なくとも1つのメモリ位置にメモリマップされている、第1のセットの特殊機能レジスタおよび第2のセットの特殊機能レジスタと
を備える、デバイス。 - 前記非アクティブコンテキストレジスタのうちの全レジスタは、前記複数のメモリバンクのうちの1つのメモリバンクのみにメモリマップされている、請求項1に記載のデバイス。
- 前記アクティブコンテキストレジスタのレジスタのうちの少なくともいくつかは、前記データメモリの全メモリバンクにメモリマップされている、請求項1に記載のデバイス。
- 前記コンテキストレジスタは、作業レジスタ、ステータスレジスタ、間接アドレスを定義するためのファイル選択レジスタ、および、バンク選択レジスタを備える、請求項1に記載のデバイス。
- 前記アクティブコンテキストレジスタの前記ステータスレジスタおよび前記ファイル選択レジスタのみが、前記データメモリの全メモリバンクにメモリマップされ、前記作業レジスタおよび前記バンク選択レジスタは、メモリマップされないレジスタである、請求項4に記載のデバイス。
- 前記非アクティブコンテキストレジスタは、前記データメモリの最後のメモリバンクにメモリマップされている、請求項1に記載のデバイス。
- 前記CPUと結合された割込ユニットをさらに備え、前記コンテキストスイッチは、割込によって誘発される、請求項1に記載のデバイス。
- 前記コンテキストスイッチは、ソフトウェアによって誘発される、請求項1に記載のデバイス。
- 前記デバイスは、4つのメモリバンクを備える、請求項1に記載のデバイス。
- 前記非アクティブコンテキストレジスタは、第4のバンクにのみメモリマップされている、請求項9に記載のデバイス。
- マイクロプロセッサまたはマイクロコントローラデバイスを動作させる方法であって、前記マイクロプロセッサまたはマイクロコントローラデバイスは、中央処理ユニット(CPU)と、前記CPUと結合されたデータメモリであって、前記データメモリは、複数のメモリバンクに分割されている、データメモリと、第1のセットの特殊機能レジスタおよび第2のセットの特殊機能レジスタであって、前記第1のセットの特殊機能レジスタまたは前記第2のセットの特殊機能レジスタのいずれかは、アクティブコンテキストを形成し、対応する他方のセットは、非アクティブコンテキストを形成する、特殊機能レジスタとを備え、前記方法は、
前記第1のセットのレジスタまたは前記第2のセットのレジスタのいずれかをアクティブコンテキストとして選択し、対応する他方のセットのレジスタを非アクティブコンテキストとして選択するステップであって、前記アクティブコンテキストレジスタのレジスタのうちの少なくともいくつかは、前記データメモリのうちの3つ以上のメモリバンクにメモリマップされ、前記非アクティブコンテキストレジスタの全レジスタは、前記データメモリ内の少なくとも1つのメモリ位置にメモリマップされる、ステップと、
コンテキストスイッチの発生に応じて、前記第1のセットのレジスタと第2のセットのレジスタとの間を、それぞれ、アクティブコンテキスト、非アクティブコンテキストとして切り替えるステップと
を含む、方法。 - 前記非アクティブコンテキストレジスタのうちの全レジスタは、前記複数のメモリバンクのうちの1つのメモリバンクのみにメモリマップされる、請求項11に記載の方法。
- 前記コンテキストスイッチを割込によって誘発することをさらに含む、請求項11に記載の方法。
- 前記コンテキストスイッチは、ソフトウェアによって誘発される、請求項11に記載の方法。
- 前記デバイスは、4つのメモリバンクを備える、請求項11に記載の方法。
- 前記非アクティブコンテキストレジスタは、第4のバンクにのみメモリマップされる、請求項15に記載のデバイス。
- 前記アクティブコンテキストのレジスタのうちの少なくともいくつかは、前記データメモリの全メモリバンクにメモリマップされる、請求項11に記載の方法。
- 前記コンテキストレジスタは、作業レジスタ、ステータスレジスタ、間接アドレスを定義するためのファイル選択レジスタ、および、バンク選択レジスタを備える、請求項11に記載の方法。
- 前記アクティブコンテキストレジスタの前記ステータスレジスタおよび前記ファイル選択レジスタのみが、前記データメモリの全メモリバンクにメモリマップされ、前記作業レジスタおよび前記バンク選択レジスタは、メモリマップされないレジスタである、請求項18に記載の方法。
- 前記非アクティブコンテキストレジスタは、前記データメモリの最後のメモリバンクにメモリマップされる、請求項11に記載の方法。
- 前記アクティブコンテキストを通してそれぞれのメモリバンクを選択することによって、前記非アクティブコンテキストのレジスタにアクセスすることと、前記非アクティブコンテキストレジスタにアクセスすることとをさらに含む、請求項11に記載の方法。
- 複数の割込を生成することを含み、割込の発生に応じて、コンテキストスイッチが生じ、割込ルーチンが、実行され、前記割込ルーチンは、前記割込ルーチンの以前の実行中に選択されたレジスタセットに記憶された値を使用する、請求項11に記載の方法。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261613802P | 2012-03-21 | 2012-03-21 | |
US61/613,802 | 2012-03-21 | ||
US13/830,377 US9195497B2 (en) | 2012-03-21 | 2013-03-14 | Microcontroller with context switch |
US13/830,377 | 2013-03-14 | ||
PCT/US2013/032876 WO2013142450A1 (en) | 2012-03-21 | 2013-03-19 | Microcontroller with context switch |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015511049A true JP2015511049A (ja) | 2015-04-13 |
JP6143841B2 JP6143841B2 (ja) | 2017-06-07 |
Family
ID=49213440
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015501841A Active JP6143841B2 (ja) | 2012-03-21 | 2013-03-19 | コンテキストスイッチを伴うマイクロコントローラ |
Country Status (7)
Country | Link |
---|---|
US (1) | US9195497B2 (ja) |
EP (1) | EP2828740B1 (ja) |
JP (1) | JP6143841B2 (ja) |
KR (1) | KR20140135796A (ja) |
CN (1) | CN104303143B (ja) |
TW (1) | TWI574152B (ja) |
WO (1) | WO2013142450A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10297003B2 (en) * | 2015-09-21 | 2019-05-21 | Qualcomm Incorporated | Efficient saving and restoring of context information for context switches |
CN105868003B (zh) * | 2016-03-25 | 2019-08-13 | 浙江大学 | 一种基于tms320c6747的任务上下文切换优化方法 |
CN117555599B (zh) * | 2024-01-10 | 2024-04-05 | 睿思芯科(成都)科技有限公司 | 加快关键数据访问速度的芯片设计方法、系统及相关设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006506751A (ja) * | 2002-11-18 | 2006-02-23 | エイアールエム リミテッド | 安全モードと非安全モードとを切り換えるプロセッサ |
US20090144481A1 (en) * | 2007-11-30 | 2009-06-04 | Microchip Technology Incorporated | Enhanced Microprocessor or Microcontroller |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5115506A (en) | 1990-01-05 | 1992-05-19 | Motorola, Inc. | Method and apparatus for preventing recursion jeopardy |
US6134653A (en) * | 1998-04-22 | 2000-10-17 | Transwitch Corp. | RISC processor architecture with high performance context switching in which one context can be loaded by a co-processor while another context is being accessed by an arithmetic logic unit |
US6553487B1 (en) * | 2000-01-07 | 2003-04-22 | Motorola, Inc. | Device and method for performing high-speed low overhead context switch |
WO2004046925A1 (en) * | 2002-11-18 | 2004-06-03 | Arm Limited | Security mode switching via an exception vector |
US8689215B2 (en) * | 2006-12-19 | 2014-04-01 | Intel Corporation | Structured exception handling for application-managed thread units |
US7996651B2 (en) | 2007-11-30 | 2011-08-09 | Microchip Technology Incorporated | Enhanced microprocessor or microcontroller |
TWI493351B (zh) * | 2009-11-16 | 2015-07-21 | Via Tech Inc | 通用串列匯流排主機控制方法和通用串列匯流排主機控制器 |
-
2013
- 2013-03-14 US US13/830,377 patent/US9195497B2/en active Active
- 2013-03-19 CN CN201380025205.9A patent/CN104303143B/zh active Active
- 2013-03-19 EP EP13713695.8A patent/EP2828740B1/en active Active
- 2013-03-19 WO PCT/US2013/032876 patent/WO2013142450A1/en active Application Filing
- 2013-03-19 KR KR1020147027368A patent/KR20140135796A/ko active IP Right Grant
- 2013-03-19 JP JP2015501841A patent/JP6143841B2/ja active Active
- 2013-03-20 TW TW102109903A patent/TWI574152B/zh active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006506751A (ja) * | 2002-11-18 | 2006-02-23 | エイアールエム リミテッド | 安全モードと非安全モードとを切り換えるプロセッサ |
US20090144481A1 (en) * | 2007-11-30 | 2009-06-04 | Microchip Technology Incorporated | Enhanced Microprocessor or Microcontroller |
Also Published As
Publication number | Publication date |
---|---|
TW201351139A (zh) | 2013-12-16 |
CN104303143A (zh) | 2015-01-21 |
TWI574152B (zh) | 2017-03-11 |
CN104303143B (zh) | 2018-07-24 |
JP6143841B2 (ja) | 2017-06-07 |
KR20140135796A (ko) | 2014-11-26 |
EP2828740A1 (en) | 2015-01-28 |
US9195497B2 (en) | 2015-11-24 |
US20130254476A1 (en) | 2013-09-26 |
WO2013142450A1 (en) | 2013-09-26 |
EP2828740B1 (en) | 2024-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2903001T3 (es) | Aparatos y métodos de hardware para detección de corrupción de memoria | |
US10241791B2 (en) | Low energy accelerator processor architecture | |
US11341085B2 (en) | Low energy accelerator processor architecture with short parallel instruction word | |
KR20100101090A (ko) | 개선된 마이크로프로세서 또는 마이크로컨트롤러 | |
US20110082999A1 (en) | Data processing engine with integrated data endianness control mechanism | |
JP4226085B2 (ja) | マイクロプロセッサ及びマルチプロセッサシステム | |
EP2396723B1 (en) | Microcontroller with special banking instructions and method therefor | |
US7996651B2 (en) | Enhanced microprocessor or microcontroller | |
JP6143841B2 (ja) | コンテキストスイッチを伴うマイクロコントローラ | |
CN111984317A (zh) | 用于对存储器中的数据进行寻址的系统和方法 | |
TWI339354B (en) | Microcontroller instruction set | |
EP3323039B1 (en) | A method for enlarging data memory in an existing microprocessor architecture with limited memory addressing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160309 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170308 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20170428 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170509 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6143841 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |