JP4305400B2 - マイクロコンピュータ - Google Patents
マイクロコンピュータ Download PDFInfo
- Publication number
- JP4305400B2 JP4305400B2 JP2005053050A JP2005053050A JP4305400B2 JP 4305400 B2 JP4305400 B2 JP 4305400B2 JP 2005053050 A JP2005053050 A JP 2005053050A JP 2005053050 A JP2005053050 A JP 2005053050A JP 4305400 B2 JP4305400 B2 JP 4305400B2
- Authority
- JP
- Japan
- Prior art keywords
- interrupt
- instruction
- execution
- program
- cpu
- 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.)
- Expired - Fee Related
Links
Images
Description
即ち、図7(a)に示すように、例えば全ての命令が1サイクルで実行されており、プログラムカウンタの値(命令フェッチアドレス)が「1」ずつ増加している場合に割込み要求が発生すると、その割込みは保留されずに直ちに割込み処理がその先頭アドレス「200」より開始される。これに対して、図7(b)に示すように、実行時間が2サイクルの命令が実行されている途中に割込み要求が発生すると、その割込みは1サイクル分保留されるため割込み処理の開始タイミングが遅れてしまう。
本発明は上記事情に鑑みてなされたものであり、その目的は、タイマの割込み処理を1サイクルもずれることなく行なうことが可能なマイクロコンピュータを提供することにある。
その結果、割込み要求の発生時点から割込み処理の開始時点までの時間は、当該処理が保留されなかった場合と保留された場合とで同一になる。従って、割り込み処理の定時性がサイクルベースで確保されるようになる。
以下、本発明の第1実施例について図1乃至図3を参照して説明する。図1は、本発明のマイクロコンピュータ(マイコン)1の構成を、要旨にかかる部分のみ概略的に示す機能ブロック図である。マイコン1は、CPU2,プログラムメモリ3,データメモリ4,周辺回路5や割込みコントローラ11などによって構成されている。
CPU2は、その内部に、プログラムカウンタ(PC)6,プログラムメモリ3よりフェッチした命令をデコードする命令デコード部(IDEC)7,デコードされた命令を実行する実行部(EXE)8,レジスタファイル9,割込み制御部10等を備えている。実行部8は、命令の実行において分岐条件が成立した場合に、CPU2内部の他の機能部が参照可能な分岐条件成立信号をアクティブにすると共に、分岐先のアドレス(分岐アドレス)を出力する。また、実行部8は、実行している命令の長さが2サイクル以上となる特殊命令の場合は、同様に他の機能部が参照可能な割込み保留信号をアクティブ(ハイ)にするようになっている。
この場合、割込み要求は保留されることなく、直ちにメインプログラム19から割込み処理プログラム20に分岐して割込み処理が実行される。すると、割込み要求の発生から、割込み処理が実質的に開始される(アドレス「204」)までの期間は4サイクルとなる。その4サイクルの間はnop命令が実行される。尚、CPU2に対して出力される割込み信号はクロック同期化されており、割込み要求はCPU2によりサイクルの開始時点で認識されるようになっている。
また、割込み制御部10は、割込み保留信号の出力期間を保留カウンタ17によってカウントし、そのカウント値に応じてフェッチアドレスの増分値を設定するので、割り込み処理の定時性を容易に確保することができる。
図4乃至図6は本発明の第2実施例を示すものであり、第1実施例と同一部分には同一符号を付して説明を省略し、以下異なる部分についてのみ説明する。第2実施例のマイコン1Aでは、使用される特殊命令は実行時間が2サイクルのものに限定されている場合に対応した構成であり、第1実施例のマイコン1より割り込み保留カウンタ17が取り除かれている。そして、加算器15の一方には、割込みベクタのアドレス増分「1」が固定的に与えられている。
また、割込み処理プログラム19Aは、図5に示すように、先頭アドレス「200」にのみnop命令が配置されており、次のアドレス「201」より実質的な割込み処理が開始されるように記述されている。
以上のように第2実施例によれば、一般命令と特殊命令との実行時間差が固定的(この場合、1サイクル)である場合、第1実施例で使用した保留カウンタ17は不要となるので、マイコン1Aの構成をより簡単にすることができる。
CPUが実行する命令のサイズは、1バイトに限ることなく2バイトや4バイト、或いはそれ以上であっても良い。例えば、命令サイズが4バイトの場合は、加算器13に与えるアドレスの増分を「4」とする。また、割込み保留カウンタ17のカウント増分も、4バイトの一般命令の実行時間が1サイクルであれば「4」に設定すれば良い。
Claims (2)
- 制御プログラムが記憶されているメモリと、
このメモリよりフェッチした命令をデコードするデコード部と、このデコード部によってデコードされた命令を実行する実行部と、割込みを制御する割込み制御部とを備えるCPUとで構成され、
前記制御プログラムの一部である割込み処理プログラムは、その先頭から実質的な割込み処理を開始する命令の直前までに1つ以上のnop命令を配置するように記述されており、
前記CPUの実行部は、実行時間が1サイクルである一般命令に対して実行時間が2サイクルである特殊命令を実行した場合に、後者の実行時間が前者を上回る時間に応じて割込み保留信号を外部に出力するように構成され、
前記割込み制御部は、割込み要求が発生した時点で前記割込み保留信号が出力されていると、当該信号の出力期間に応じて、前記割込み処理プログラムに対する命令のフェッチアドレス値を増加させるように構成されていることを特徴とするマイクロコンピュータ。 - 前記割込み制御部は、前記割込み保留信号の出力期間をカウントするカウンタを備え、前記カウンタのカウント値に応じて、前記フェッチアドレスの増分値を設定するように構成されていることを特徴とする請求項1記載のマイクロコンピュータ。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005053050A JP4305400B2 (ja) | 2005-02-28 | 2005-02-28 | マイクロコンピュータ |
US11/312,830 US7725694B2 (en) | 2004-12-21 | 2005-12-21 | Processor, microcomputer and method for controlling program of microcomputer |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005053050A JP4305400B2 (ja) | 2005-02-28 | 2005-02-28 | マイクロコンピュータ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006236215A JP2006236215A (ja) | 2006-09-07 |
JP4305400B2 true JP4305400B2 (ja) | 2009-07-29 |
Family
ID=37043765
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005053050A Expired - Fee Related JP4305400B2 (ja) | 2004-12-21 | 2005-02-28 | マイクロコンピュータ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4305400B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5370115B2 (ja) | 2009-12-14 | 2013-12-18 | 株式会社デンソー | 車載装置 |
-
2005
- 2005-02-28 JP JP2005053050A patent/JP4305400B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2006236215A (ja) | 2006-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4770664B2 (ja) | マイクロプロセッサおよびそれを用いたマイクロコンピュータ | |
JP2008047145A (ja) | デュアルスレッドプロセッサ | |
JP2007249323A (ja) | マイクロコンピュータ | |
EP2996034B1 (en) | Execution flow protection in microcontrollers | |
KR20070107814A (ko) | 의존성 명령을 패킷으로 그룹핑하여 실행하는 프로세서 및방법 | |
JP3202497B2 (ja) | 情報処理装置 | |
JP4893427B2 (ja) | マイクロコンピュータシステム | |
US6968410B2 (en) | Multi-threaded processing of system management interrupts | |
JP4305400B2 (ja) | マイクロコンピュータ | |
JP2008262437A (ja) | プロセッサシステムおよび例外処理方法 | |
US6985986B2 (en) | Variable cycle interrupt disabling | |
JP5644380B2 (ja) | 情報処理装置 | |
JP7276755B2 (ja) | 処理速度整合回路およびマイクロプロセッサ | |
US20080126753A1 (en) | Embedded system and operating method thereof | |
JP3755168B2 (ja) | プログラマブルコントローラ | |
US20050216704A1 (en) | Device and method for managing a microprocessor instruction set | |
JP7069870B2 (ja) | 情報処理装置 | |
JP2814800B2 (ja) | マイクロコンピュータ | |
JP4702004B2 (ja) | マイクロコンピュータ | |
US20100153688A1 (en) | Apparatus and method for data process | |
JP2014119953A (ja) | コンピュータ及び割り込みサービスルーチンの実行方法 | |
JP2004062319A (ja) | データ処理装置 | |
JP2009199424A (ja) | マイクロコンピュータ | |
JP2689894B2 (ja) | マイクロプログラム制御型情報処理装置 | |
JP2001125610A (ja) | 制御装置,およびこの制御装置が実行するためのプログラムを生成するプログラミングツール |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070308 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080919 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081007 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081113 |
|
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: 20090407 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090420 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4305400 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120515 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120515 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130515 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140515 Year of fee payment: 5 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |