JP2010267064A - コンピュータ・システム及びコンピュータ・システムの制御方法 - Google Patents
コンピュータ・システム及びコンピュータ・システムの制御方法 Download PDFInfo
- Publication number
- JP2010267064A JP2010267064A JP2009117642A JP2009117642A JP2010267064A JP 2010267064 A JP2010267064 A JP 2010267064A JP 2009117642 A JP2009117642 A JP 2009117642A JP 2009117642 A JP2009117642 A JP 2009117642A JP 2010267064 A JP2010267064 A JP 2010267064A
- Authority
- JP
- Japan
- Prior art keywords
- interrupt
- level
- mask register
- instruction
- interrupt mask
- 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
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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
Abstract
【解決手段】 CPUの命令デコーダのデコード結果により直接、割込みマスクレジスタの内容を変更できるように、CPUのアーキテクチャに変更が加えられる。このような変更は通常、CPUの設計変更に、多大の手間はかからない。そして、拡張したCALL命令や、拡張したソフトウェア割込み命令がCPUに追加され、拡張したCALL命令や、拡張したソフトウェア割込み命令は、割込みマスクレジスタの値を変更する機能を併せもつ。このような単一命令が、処理の呼び出しと、割込みマスクレジスタの値変更を同時に達成し、さらにその単一命令の実行の間、割込みが禁止されることによって、アトミシティが達成される。
【選択図】 図1
Description
call <移動先の開始アドレスをもつレジスタ番号>
call_cl <移動先の開始アドレスをもつレジスタ番号>,<割込みマスクに設定する値>
int <割込み番号>
int_ch <割込み番号>
#ifndef __DECODER_H
#define __DECODER_H
#include <systemc.h>
SC_MODULE(DECODER)
{
public:
//ポート定義
sc_in<unsigned int> code; //32ビットコード
sc_out<sc_uint<20>> inst; //命令
sc_out<sc_uint<4>> dest; //デスティネーションオペランド
sc_out<sc_uint<4>> src1; //ソースオペランド1
sc_out<sc_uint<4>> src2; //ソースオペランド2
sc_out<sc_uint<4>> mask; //割込みマスクの値
sc_out<sc_uint<4>> int_no; //割込み番号
sc_out<sc_uint<1>> atomicity; //アトミック命令なら1
//プロセスの宣言
void decoder(void);
//コンストラクター
SC_CTOR(DECODER)
{
//プロセスのタイプ
SC_METHOD(decoder);
//センシティビティ・リスト
sensitive << code;
}
};
#endif /* __DECODER_H */
// decoder.hの終わり
#include "decoder.h"
・・・
void MODULE::decoder(void)
{
inst = code.range( 31, 22 ); //命令の抽出
switch( inst )
{
・・・ //他の命令についての動作定義
case CALL:
src1 = code.range( 21, 18);
mask = atom = dest = src2 = int_no = 0;
case CALL_CL:
src1 = code.range( 21, 18 );
mask = code.range( 17, 14 );
atom = 1;
dest = src2 = int_no = 0;
break;
case INT:
int_no = code.range( 21, 18 );
check_user_vector_range( int_no ); //ユーザ定義の範囲内かチェック
atom = 1;
dest = src1 = src2 = mask = 0;
break;
case INT_CH:
int_no = code.range( 21, 18 );
atom = 1;
dest = src1 = src2 = mask = 0;
break;
・・・ //他の命令についての動作定義
}
return;
}
// decoder.cppの終わり
#ifndef __EXECUTOR_H
#define __EXECUTOR_H
#include <systemc.h>
SC_MODULE(DECODER)
{
public:
//ポート定義
sc_in<sc_uint<20>> inst; //命令
sc_in<sc_uint<4>> dest; //デスティネーションオペランド
sc_in<sc_uint<4>> src1; //ソースオペランド1
sc_in<sc_uint<4>> src2; //ソースオペランド2
sc_in<sc_uint<4>> mask; //割込みマスクの値
sc_in<sc_uint<4>> int_no; //割込み番号
sc_in<sc_uint<1>> atomicity; //アトミック命令なら1
・・・ //メモリユニットへのポート,レジスタへのポートなど
//プロセスの宣言
void executor(void);
//コンストラクター
SC_CTOR(EXECUTOR)
{
//プロセスのタイプ
SC_METHOD(executor);
//センシティビティ・リスト
sensitive << inst;
}
};
#endif /* __EXECUTOR_H */
// executor.hの終わり
#include "executor.h"
・・・
void MODULE::executor(void)
{
if( atomicity == 0) {
process_external_interrupt(); //割り込みのチェック
}
switch( inst )
{
・・・ //他の命令についての動作定義
case CALL:
//プログラムカウンタの更新
PC = read_register( src1 );
break;
case CALL_CL:
//システムレジスタをスタックへ保存
store_system_registers (*SP, MR, PC);
SP = SP - 8;
//割り込みマスクの更新
MR = mask;
//プログラムカウンタの更新
PC = read_register( src1 );
break;
case INT:
case INT_CH: //ソフトウェア割り込みを起こす命令と同じ処理
//システムレジスタをスタックへ保存
store_system_registers (*SP, MR, PC);
SP = SP - 8;
//割り込みマスクレジスタの更新
MR = read_intc_ipr( int_no ); //割り込みコントローラから割り込みの優先順位を取得
//プログラムカウンタの更新
PC = read_int_vec( int_no ); //割り込みベクタテーブルから飛び先を取得
break;
・・・ //他の命令についての動作定義
}
return;
}
// executor.cppの終わり
106 ・・・命令デコーダ
108 ・・・実行器
114 ・・・割込みコントローラ
Claims (6)
- 割込みマスクレジスタを有し、割込み処理にレベルがセットされているコンピュータ・システムにおいて、
前記割込みマスクレジスタに設定すべきレベルと、呼び出し先の処理のアドレスを指定する指定手段と、
前記指定手段によって指定された情報に基づき、前記割込みマスクレジスタにレベルを指定しつつ、前記アドレスに制御を移動させる実行手段と、
前記実行手段の動作の間割込みを禁止する手段とを有する、
コンピュータ・システム。 - 前記割込みマスクレジスタに設定すべきレベルが、所定の命令に続くオペランドにより設定される、請求項1のコンピュータ・システム。
- 割込みマスクレジスタと、
個々の割込み毎のレベルを記憶するレベル記憶手段と、
割込みがあったことに応答して、移動先の割込みのレベルを前記レベル記憶手段から取得して、該レベルを前記割込みマスクレジスタに設定しつつ、該割込みに処理を移動させる実行手段と、
前記実行手段の動作の間割込みを禁止する手段とを有する、
コンピュータ・システム。 - 割込みマスクレジスタを有し、割込み処理にレベルがセットされているコンピュータ・システムの制御方法において、
前記割込みマスクレジスタに設定すべきレベルと、呼び出し先の処理のアドレスを指定する指定ステップと、
前記指定手段によって指定された情報に基づき、前記割込みマスクレジスタにレベルを指定しつつ、前記アドレスに制御を移動させる実行ステップと、
前記実行ステップの間割込みを禁止する禁止ステップとを有する、
コンピュータ・システムの制御方法。 - 前記割込みマスクレジスタに設定すべきレベルが、所定の命令に続くオペランドにより設定される、請求項4のコンピュータ・システムの制御方法。
- 割込みマスクレジスタを有し、割込み処理にレベルがセットされているコンピュータ・システムの制御方法において、
割込みがあったことに応答して、移動先の割込みのレベルを前記レベル記憶手段から取得して、該レベルを前記割込みマスクレジスタに設定しつつ、該割込みに処理を移動させる実行ステップと、
前記実行ステップの間割込みを禁止する禁止ステップとを有する、
コンピュータ・システムの制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009117642A JP4897851B2 (ja) | 2009-05-14 | 2009-05-14 | コンピュータ・システム及びコンピュータ・システムの制御方法 |
US12/779,456 US8909835B2 (en) | 2009-05-14 | 2010-05-13 | Computer system and method of controlling computer system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009117642A JP4897851B2 (ja) | 2009-05-14 | 2009-05-14 | コンピュータ・システム及びコンピュータ・システムの制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010267064A true JP2010267064A (ja) | 2010-11-25 |
JP4897851B2 JP4897851B2 (ja) | 2012-03-14 |
Family
ID=43069420
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009117642A Expired - Fee Related JP4897851B2 (ja) | 2009-05-14 | 2009-05-14 | コンピュータ・システム及びコンピュータ・システムの制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8909835B2 (ja) |
JP (1) | JP4897851B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014094217A (ja) * | 2012-11-12 | 2014-05-22 | Sophia Co Ltd | スロットマシン |
JP2015531521A (ja) * | 2012-10-09 | 2015-11-02 | コンチネンタル オートモーティヴ ゲゼルシャフト ミット ベシュレンクテル ハフツングContinental Automotive GmbH | リンクされた複数のプログラムブロックの別々の実行を制御するための方法および制御装置 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5512383B2 (ja) * | 2010-05-12 | 2014-06-04 | ルネサスエレクトロニクス株式会社 | 計算機システム |
US8515863B1 (en) * | 2010-09-01 | 2013-08-20 | Federal Home Loan Mortgage Corporation | Systems and methods for measuring data quality over time |
US9697150B2 (en) * | 2013-09-04 | 2017-07-04 | Jory Schwach | Real-time embedded system |
CN106959859B (zh) * | 2017-03-30 | 2021-08-24 | 北京奇虎科技有限公司 | ***调用函数的调用方法与装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6453237A (en) * | 1987-08-24 | 1989-03-01 | Nec Corp | Multi-interruption control method |
JPH02187829A (ja) * | 1989-01-13 | 1990-07-24 | Mitsubishi Electric Corp | ディジタル信号処理プロセッサ |
JPH03240831A (ja) * | 1990-02-19 | 1991-10-28 | Fujitsu Ltd | 割り込み処理方式 |
JPH0477930A (ja) * | 1990-07-19 | 1992-03-12 | Nec Corp | マイクロコンピュータ |
Family Cites Families (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4250546A (en) * | 1978-07-31 | 1981-02-10 | Motorola, Inc. | Fast interrupt method |
US4573118A (en) * | 1983-03-31 | 1986-02-25 | Fairchild Camera & Instrument Corporation | Microprocessor with branch control |
JPH0743653B2 (ja) * | 1990-07-25 | 1995-05-15 | 株式会社東芝 | 割込みコントローラ |
US5469571A (en) * | 1991-07-15 | 1995-11-21 | Lynx Real-Time Systems, Inc. | Operating system architecture using multiple priority light weight kernel task based interrupt handling |
JP3678759B2 (ja) * | 1992-07-21 | 2005-08-03 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | 割込を発生するための装置および割込を発生するための方法 |
FR2709579B1 (fr) * | 1993-08-31 | 1995-11-17 | Sgs Thomson Microelectronics | Codeur de niveau de priorité. |
US5619706A (en) * | 1995-03-02 | 1997-04-08 | Intel Corporation | Method and apparatus for switching between interrupt delivery mechanisms within a multi-processor system |
DE69622832T2 (de) * | 1995-05-05 | 2003-04-10 | Apple Computer | Vorrichtung und verfahren für kooperative unterbrechungen in einer preemptiven prozessablauffolgeplanungsumgebung |
JPH1074148A (ja) | 1996-08-29 | 1998-03-17 | Nec Ic Microcomput Syst Ltd | 割り込み処理装置 |
US5778220A (en) * | 1996-11-18 | 1998-07-07 | Intel Corporation | Method and apparatus for disabling interrupts in a highly pipelined processor |
US5896549A (en) * | 1997-02-04 | 1999-04-20 | Advanced Micro Devices, Inc. | System for selecting between internal and external DMA request where ASP generates internal request is determined by at least one bit position within configuration register |
US5937199A (en) * | 1997-06-03 | 1999-08-10 | International Business Machines Corporation | User programmable interrupt mask with timeout for enhanced resource locking efficiency |
US5875342A (en) * | 1997-06-03 | 1999-02-23 | International Business Machines Corporation | User programmable interrupt mask with timeout |
US6032245A (en) * | 1997-08-18 | 2000-02-29 | International Business Machines Corporation | Method and system for interrupt handling in a multi-processor computer system executing speculative instruction threads |
US6170033B1 (en) * | 1997-09-30 | 2001-01-02 | Intel Corporation | Forwarding causes of non-maskable interrupts to the interrupt handler |
US7185266B2 (en) * | 2003-02-12 | 2007-02-27 | Alacritech, Inc. | Network interface device for error detection using partial CRCS of variable length message portions |
FR2775370B1 (fr) * | 1998-02-20 | 2001-10-19 | Sgs Thomson Microelectronics | Procede de gestion d'interruptions dans un microprocesseur |
JP4072271B2 (ja) * | 1999-02-19 | 2008-04-09 | 株式会社日立製作所 | 複数のオペレーティングシステムを実行する計算機 |
US6633940B1 (en) * | 1999-10-11 | 2003-10-14 | Ati International Srl | Method and apparatus for processing interrupts in a computing system |
US6651126B1 (en) * | 1999-10-29 | 2003-11-18 | Texas Instruments Incorporated | Snapshot arbiter mechanism |
US6671795B1 (en) * | 2000-01-21 | 2003-12-30 | Intel Corporation | Method and apparatus for pausing execution in a processor or the like |
US6845419B1 (en) * | 2000-01-24 | 2005-01-18 | Freescale Semiconductor, Inc. | Flexible interrupt controller that includes an interrupt force register |
US6732298B1 (en) * | 2000-07-31 | 2004-05-04 | Hewlett-Packard Development Company, L.P. | Nonmaskable interrupt workaround for a single exception interrupt handler processor |
US6674841B1 (en) * | 2000-09-14 | 2004-01-06 | International Business Machines Corporation | Method and apparatus in a data processing system for an asynchronous context switching mechanism |
JP2002175261A (ja) * | 2000-12-05 | 2002-06-21 | Oki Electric Ind Co Ltd | データ転送制御回路 |
US6823414B2 (en) * | 2002-03-01 | 2004-11-23 | Intel Corporation | Interrupt disabling apparatus, system, and method |
US7546446B2 (en) * | 2002-03-08 | 2009-06-09 | Ip-First, Llc | Selective interrupt suppression |
US7130951B1 (en) * | 2002-04-18 | 2006-10-31 | Advanced Micro Devices, Inc. | Method for selectively disabling interrupts on a secure execution mode-capable processor |
US7197587B2 (en) * | 2002-06-19 | 2007-03-27 | Hewlett-Packard Development Company, L.P. | Systems-events core for monitorings system events for a cellular computer system within a parent computer system, system-event manager for monitoring system events for more than one cellular computer system, and related system and method |
JP2004199558A (ja) | 2002-12-20 | 2004-07-15 | Kawasaki Microelectronics Kk | 割込処理調停装置 |
US6928502B2 (en) * | 2003-01-31 | 2005-08-09 | Via Telecom Co., Ltd. | Method and apparatus for processing interrupts at dynamically selectable prioritization levels |
US7496958B2 (en) * | 2003-10-29 | 2009-02-24 | Qualcomm Incorporated | System for selectively enabling operating modes of a device |
US7774585B2 (en) * | 2003-11-12 | 2010-08-10 | Infineon Technologies Ag | Interrupt and trap handling in an embedded multi-thread processor to avoid priority inversion and maintain real-time operation |
GB2409543B (en) * | 2003-12-23 | 2006-11-01 | Advanced Risc Mach Ltd | Interrupt masking control |
US8019914B1 (en) * | 2005-10-07 | 2011-09-13 | Western Digital Technologies, Inc. | Disk drive implementing shared buffer memory with reduced interrupt latency |
US7984281B2 (en) * | 2005-10-18 | 2011-07-19 | Qualcomm Incorporated | Shared interrupt controller for a multi-threaded processor |
JP2007128396A (ja) | 2005-11-07 | 2007-05-24 | Matsushita Electric Ind Co Ltd | 割込制御方法および情報処理装置 |
US7716407B2 (en) * | 2008-01-03 | 2010-05-11 | International Business Machines Corporation | Executing application function calls in response to an interrupt |
US7954012B2 (en) * | 2008-10-27 | 2011-05-31 | International Business Machines Corporation | Hierarchical debug information collection |
-
2009
- 2009-05-14 JP JP2009117642A patent/JP4897851B2/ja not_active Expired - Fee Related
-
2010
- 2010-05-13 US US12/779,456 patent/US8909835B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6453237A (en) * | 1987-08-24 | 1989-03-01 | Nec Corp | Multi-interruption control method |
JPH02187829A (ja) * | 1989-01-13 | 1990-07-24 | Mitsubishi Electric Corp | ディジタル信号処理プロセッサ |
JPH03240831A (ja) * | 1990-02-19 | 1991-10-28 | Fujitsu Ltd | 割り込み処理方式 |
JPH0477930A (ja) * | 1990-07-19 | 1992-03-12 | Nec Corp | マイクロコンピュータ |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015531521A (ja) * | 2012-10-09 | 2015-11-02 | コンチネンタル オートモーティヴ ゲゼルシャフト ミット ベシュレンクテル ハフツングContinental Automotive GmbH | リンクされた複数のプログラムブロックの別々の実行を制御するための方法および制御装置 |
JP2014094217A (ja) * | 2012-11-12 | 2014-05-22 | Sophia Co Ltd | スロットマシン |
Also Published As
Publication number | Publication date |
---|---|
US8909835B2 (en) | 2014-12-09 |
JP4897851B2 (ja) | 2012-03-14 |
US20100293314A1 (en) | 2010-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5680679B2 (ja) | 例外イベントを取り扱うための装置および方法 | |
JP6185487B2 (ja) | ドメイン間で切り替わる際のセキュアなデータの非セキュアなアクセスから隔離された状態での維持 | |
US9645949B2 (en) | Data processing apparatus using privileged and non-privileged modes with multiple stacks | |
US5701493A (en) | Exception handling method and apparatus in data processing systems | |
KR101740224B1 (ko) | 불법 모드 변경처리 | |
JP4897851B2 (ja) | コンピュータ・システム及びコンピュータ・システムの制御方法 | |
US7996659B2 (en) | Microprocessor instruction that allows system routine calls and returns from all contexts | |
KR101249693B1 (ko) | 서브루틴 복귀 메카니즘 선택 | |
US20050257016A1 (en) | Digital signal controller secure memory partitioning | |
CN114003365A (zh) | 用于risc-v架构的快速中断*** | |
GB2461848A (en) | Processor with a privileged stack pointer and a stack pointer used in privileged and non-privileged modes | |
US20030037227A1 (en) | Processor enabling exception handling to be set by program | |
US10762226B2 (en) | Register access control | |
JPH0895798A (ja) | データ処理装置 | |
US20050216708A1 (en) | Processor for performing context switching, a method for performing context switching, a computer program for perform context switching | |
JP2023151592A (ja) | 情報処理装置、及び情報処理装置の動作制御方法 | |
JP2559929B2 (ja) | プログラマブルコントローラ | |
JP2009205351A (ja) | マイクロコンピュータ | |
JP2002207602A (ja) | 制御システムおよび制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110407 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110412 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110502 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110802 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110920 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111011 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111108 |
|
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: 20111129 |
|
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: 20111222 |
|
R150 | Certificate of patent (=grant) or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150106 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |