JP3769428B2 - Information processing apparatus capable of holding floating interrupt and interrupt condition change instruction execution method - Google Patents
Information processing apparatus capable of holding floating interrupt and interrupt condition change instruction execution method Download PDFInfo
- Publication number
- JP3769428B2 JP3769428B2 JP27800699A JP27800699A JP3769428B2 JP 3769428 B2 JP3769428 B2 JP 3769428B2 JP 27800699 A JP27800699 A JP 27800699A JP 27800699 A JP27800699 A JP 27800699A JP 3769428 B2 JP3769428 B2 JP 3769428B2
- Authority
- JP
- Japan
- Prior art keywords
- interrupt
- condition change
- cpu
- change instruction
- floating
- 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
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
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61P—SPECIFIC THERAPEUTIC ACTIVITY OF CHEMICAL COMPOUNDS OR MEDICINAL PREPARATIONS
- A61P25/00—Drugs for disorders of the nervous system
- A61P25/02—Drugs for disorders of the nervous system for peripheral neuropathies
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61P—SPECIFIC THERAPEUTIC ACTIVITY OF CHEMICAL COMPOUNDS OR MEDICINAL PREPARATIONS
- A61P25/00—Drugs for disorders of the nervous system
- A61P25/28—Drugs for disorders of the nervous system for treating neurodegenerative disorders of the central nervous system, e.g. nootropic agents, cognition enhancers, drugs for treating Alzheimer's disease or other forms of dementia
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61P—SPECIFIC THERAPEUTIC ACTIVITY OF CHEMICAL COMPOUNDS OR MEDICINAL PREPARATIONS
- A61P27/00—Drugs for disorders of the senses
- A61P27/02—Ophthalmic agents
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61P—SPECIFIC THERAPEUTIC ACTIVITY OF CHEMICAL COMPOUNDS OR MEDICINAL PREPARATIONS
- A61P35/00—Antineoplastic agents
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61P—SPECIFIC THERAPEUTIC ACTIVITY OF CHEMICAL COMPOUNDS OR MEDICINAL PREPARATIONS
- A61P35/00—Antineoplastic agents
- A61P35/04—Antineoplastic agents specific for metastasis
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61P—SPECIFIC THERAPEUTIC ACTIVITY OF CHEMICAL COMPOUNDS OR MEDICINAL PREPARATIONS
- A61P43/00—Drugs for specific purposes, not provided for in groups A61P1/00-A61P41/00
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61P—SPECIFIC THERAPEUTIC ACTIVITY OF CHEMICAL COMPOUNDS OR MEDICINAL PREPARATIONS
- A61P9/00—Drugs for disorders of the cardiovascular system
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61P—SPECIFIC THERAPEUTIC ACTIVITY OF CHEMICAL COMPOUNDS OR MEDICINAL PREPARATIONS
- A61P9/00—Drugs for disorders of the cardiovascular system
- A61P9/10—Drugs for disorders of the cardiovascular system for treating ischaemic or atherosclerotic diseases, e.g. antianginal drugs, coronary vasodilators, drugs for myocardial infarction, retinopathy, cerebrovascula insufficiency, renal arteriosclerosis
Landscapes
- Health & Medical Sciences (AREA)
- Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Chemical & Material Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Animal Behavior & Ethology (AREA)
- Public Health (AREA)
- Chemical & Material Sciences (AREA)
- Chemical Kinetics & Catalysis (AREA)
- Pharmacology & Pharmacy (AREA)
- Medicinal Chemistry (AREA)
- Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
- Organic Chemistry (AREA)
- Veterinary Medicine (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Theoretical Computer Science (AREA)
- Biomedical Technology (AREA)
- Neurology (AREA)
- Neurosurgery (AREA)
- Physics & Mathematics (AREA)
- Heart & Thoracic Surgery (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Cardiology (AREA)
- Urology & Nephrology (AREA)
- Hospice & Palliative Care (AREA)
- Oncology (AREA)
- Vascular Medicine (AREA)
- Psychiatry (AREA)
- Ophthalmology & Optometry (AREA)
- Bus Control (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は複数のCPUを備えた情報処理装置に係り、更に詳しくは、複数のCPUのいずれもが実行可能な割込みとしての浮動割込みの保留がない場合に割込み条件変更命令を直ちに実行する情報処理装置に関する。
【0002】
【従来の技術】
複数のCPUを備える情報処理装置において、CPUに割込み処理を実行させる場合に各種の種類がある。例えば特定のCPUを指定して割込み処理を行わせる場合や、全てのCPUに割込み処理を行わせるブロードキャスト割込みの場合や、複数のCPUのうち、どのCPUに割込み処理を行わせてもよい浮動割込み(イベント的に来る割込み)の場合などがある。本発明では、この浮動割込みの保留が行われる情報処理装置を対象とする。
【0003】
一般に割込みの処理は直ちに実行されるとは限らず、その実行が保留されることがある。複数のCPUのうちで、例えば1つのCPUがプログラム内の割込み条件変更命令を解読し、その命令を実行しようとする場合を考える。この割込み条件変更命令とは、例えば後述する割込み許可マスクを変更するような命令である。
【0004】
一般にこの割込み条件変更命令を実行する場合には、情報処理装置内に現在の割込み条件で処理すべき割込みが保留されているかいないかを調べ、処理すべき割込みが保留されていればその割込み処理を行ってから、また処理すべき割込みが保留されていなければ直ちにその命令を実行することになる。
【0005】
このように保留されている浮動割込みの処理について、入出力割込みを浮動割込みの1つの例として、従来の処理方式を説明する。図13は保留されている入出力割込みの処理を説明するための情報処理装置の基本構成ブロック図である。同図において情報処理装置は入出力プロセッサ(IOP)50、例えば主記憶などの記憶装置を制御するためのメモリコントロールユニット(MCU)51、複数の中央処理装置(CPU)520 〜52n から構成されている。各CPU520 〜52n の中には、それぞれのCPUにおける命令の制御を行う命令制御部530 〜53n が設けられている。
【0006】
図13において入出力割込み、例えば複数の入出力チャネルのそれぞれに対応する割込みは、浮動割込みとしてIOP50から、例えばその保留を示す信号と共にMCU51に送られる。MCU51の内部では、後述するペンディングラッチの内部に、それぞれチャネルに対応して浮動割込みが保留されているかいないかを示すデータが記憶される。
【0007】
一方割込み条件を変更する割込み条件変更命令は、複数のCPU520 〜52n のうち例えば1つのCPUによって解読され、その命令を実行する必要性が生じる。浮動割込みは前述のようにどのCPUが処理を行ってもよいものであり、このためこの時点で各CPUの内部の命令制御部530 〜53n は、それぞれその内部に記憶されている割込み許可マスク、すなわち各入出力チャネルに対応してそのCPUに対して割込みが許可されているかいないかを示すマスクの値をMCU51に送る。
【0008】
この割込み許可マスクと前述のペンディングラッチには、各チャネルに対応して1対1に対応するデータが格納されているため、MCUは保留されている浮動割込みに対応する入出力チャネルのマスクの値が例えば1であり、かつ優先順位が一番高いCPUの内部の命令制御部に対して割込み処理要求信号(トリガ信号)を送信し、その命令制御部によって制御されるCPUはこのトリガ信号の受信を契機として割込み処理を開始する。
【0009】
図14は従来における割込み条件変更命令処理のフローチャートである。同図において処理が開始されるとまずステップS10で例えばある1つのCPUによって割込み条件変更命令が解読され、その命令の実行の必要性が生じる。するとステップS11で各CPUの命令制御部から割込み許可マスクがMCUに送信され、MCU側ではその割込み条件変更命令の実行の前に、保留されている浮動割込みがあれば、それを処理させるCPUを選択して、そのCPUに対してトリガ信号を送信するための選択処理を開始する。
【0010】
各CPU側の命令制御部においては、割込み許可マスクを送信した時点(S11)で、MCU側から送られる可能性のあるトリガ信号を待つために、カウンタ、例えば後述するプロセスウエイトカウンタを起動し、ステップS12でそのカウンタがタイムアウトしたか否かを判定し、まだタイムアウトしていない場合にはステップS13でトリガ信号が送信されてきたか否かを判定し、トリガ信号がきていない場合にはステップS12以降の処理を繰り返す。
【0011】
そしてステップ12でカウンタがタイムアウトにならない前に、ステップS13でトリガ信号が送信されてきたと判定されると、ステップS14で保留されていた割込みの処理が、トリガ信号を受信した、すなわち選択されたCPUによって実行される。選択されなかったCPUではステップS12でカウンタがタイムアウトになったと判定された時点でステップS15の割込み条件変更命令が実行され、例えば命令制御部内に格納されている割込み許可マスクの書換えが行われる。
【0012】
図15は図13に対応して、特にMCUの構成を詳細に示した情報処理装置の構成ブロック図である。同図において保留されている浮動割込みの処理について説明する。同図においてまず▲1▼でIOP50から入出力(IO)割込みを保留する信号(セットペンディング)と共に、例えば128個の入出力チャネルのうちどのチャネルに対応する割込みであるかを示すIOラプチャ(RUPT)ID(7ビット+パリティ検査ビットP)がMCU51に送られてくる。これらの値は一旦10ビットのラッチ70に格納され、IOラプチャIDの値はデコーダ71によってデコードされ、▲2▼で128個のチャネルにそれぞれ対応する32ビットを持つ4つのペンディングラッチ721 〜724 のうちで、割込みが保留される入出力チャネルに対応するビットが例えば1とされる。
【0013】
あるCPUで割込み条件変更命令の解読が行われ、その実行の必要性が生じると各CPUの内部の命令制御部によって、そのCPUに各入出力チャネルに対応する割込みが許可されているかいないかを示すIOラプチャマスク790 〜7915の内容128ビットが、▲4▼で例えば32時分割で4ビットずつシリアルに転送される。このシリアル転送は特に32時分割に限定されるものではない。
【0014】
MCU51の内部で前述のように保留さている浮動割込みを処理させるためのCPUを選択するプライオリティ(優先順位)回路75は、このCPU側から送られた割込み許可マスクとペンディングラッチの格納内容を比較して、保留されている浮動割込みに対して各CPUによる割込みが許可されているかいないかを判定する。このため▲3▼で、各ペンディングラッチ721 〜724 の格納内容が、セレクタ731 〜734 を介して、マスクセレクトカウンタの選択制御によりプライオリティ回路75に対してシリアルに転送される。ここでマスクセレクトカウンタは、この時分割転送のためのカウンタであり、必ずしもマスク選択だけを意味するものではない。
【0015】
プライオリティ回路75では、ペンディングラッチの格納内容とCPU側から送られる割込み許可マスクとを比較して、割込みが許可されているCPUのうちで待機状態にあり、しかも同一条件では、例えば物理的に若い機番を持つCPUを、保留されている割込みを処理させるCPUとして選択する。ここで待機状態にあるCPUの情報は、▲5▼でCPUウエイトステートイン信号としてプライオリティ回路75に与えられる。
【0016】
プライオリティ回路75は、選択したCPUに対応するラッチ、すなわちCPU520 〜5215と1対1に対応するラッチ760 〜7615のうちの1つにトリガ信号(IOラプチャトリガ)と、入出力チャネル番号に対応するIOラプチャID(パリティ検査ビットPを含む8ビット)を与え、その内容はラッチ770 〜7715のいずれか1つを介して、例えば16時分割シリアル転送を用いて、マスクセレクトカウンタの選択制御により▲6▼でCPU側に送られる。送られた信号は、CPU側で命令制御部内にあるラッチ780 〜7815のいずれかに格納され、保留されている割込みの処理に用いられる。
【0017】
CPU側での割込み処理が完了すると、解除信号(CPU_IO_RUPT_CNTL_IN)として、▲7▼でリセットラプチャペンディングとリセットラプチャトリガ信号が、例えば16時分割でMCU51にシリアル転送され、ペンディングラッチ721 〜724 内、および各CPUに対応するラッチ760 〜7615の中の対応するビットがリセットされる。
【0018】
【発明が解決しようとする課題】
以上述べたように、従来の保留割込みの処理方式では、各CPUの命令制御部は割込み許可マスクをMCU側に送信した後で、自CPUで処理すべき割込みがあるか否かを判断するためには、MCU側から送られるトリガ信号を待たなければならない。MCU側では保留されている割込みを処理させるべきCPUに対してのみトリガ信号を送信するため、保留されている割込みを処理する必要がないCPUであっても、図14のステップS12で説明したようにカウンタのタイムアウトまで待たなければならないという問題点があった。
【0019】
更にそもそもMCU側で保留されている浮動割込みが全くない場合にも、全てのCPUはタイマのタイムアウトまで待たなければ割込み条件変更命令を実行できないことになり、CPU側で例えば割込み許可マスクを書き換える命令が解読されるたびに各CPUが無駄な待ち時間を持つことになり、このことによって情報処理装置の性能が低下するという問題点があった。
【0020】
本発明の課題は、上述の問題点に鑑み、浮動割込みの保留が全くない場合、または自CPUで処理すべき保留割込みがない場合には、無駄な待ち時間を持つ必要をなくすことによって、割込み条件変更命令の処理を高速化することである。
【0021】
【課題を解決するための手段】
図1は本発明の原理構成ブロック図である。同図(a) は、後述する第1の実施形態に対応する原理構成ブロック図であり、複数のCPUを備え、複数のCPUのいずれもが実行可能な割込みとしての浮動割込みを保留できる情報処理装置1の原理構成を示す。
【0022】
図1(a) において割込み保留信号生成手段2は、例えばメモリコントロールユニットの内部に設けられ、浮動割込みの保留の有無を示す信号を常に複数のCPU30 〜3n に送るものである。
【0023】
割込み条件変更命令実行制御手段40 〜4n は、各CPU30 〜3n の内部に設けられ、割込み条件変更命令が発行され、かつ割込み保留信号生成手段2から送られている信号が割込みの保留なしを示している時に、その割込み条件変更命令を直ちに自CPUに実行させる制御を行うものである。
【0024】
この第1の実施形態に対応する割込み条件変更命令実行方法としては、浮動割込みの保留の有無を示し、常に送られてくる信号を受け取り、割込み条件変更命令が発行され、かつ前記の信号が割込みの保留なしを示している時、その割込み条件変更命令を直ちに実行する方法を用いることができる。
【0025】
またこの第1の実施形態に対応して、浮動割込みを保留できる情報処理装置において使用される記憶媒体として、浮動割込みの保留の有無を示し、常に送られてくる信号を受け取るステップと、割込み条件変更命令が発行され、かつ送られてくる信号が割込みの保留なしを示している時、その割込み条件変更命令を直ちに実行するステップとを、コンピュータに実行させるためのプログラムを格納したコンピュータ読取り可能可搬型記憶媒体を用いることができる。
【0026】
このように本発明の第1の実施形態においては、複数のCPUを備え、浮動割込みを保留できる情報処理装置において、そもそも保留されている浮動割込みがない場合には各CPUにおいて割込み条件変更命令を直ちに実行することが可能となる。この割込み条件変更命令は、例えば複数の入出力チャネルに対応してその入出力チャネルに対する割込みがそのCPUに許可されているか否かを示す割込み許可マスクを変更する命令であり、保留されている浮動割込みがない場合には、従来のように例えばMCUから送られる割込み処理要求信号としてのトリガ信号を待つことなく、割込み条件変更命令発行の時点で直ちにその命令を実行することが可能となる。
【0027】
図1(b) は本発明の第2の実施形態に対応する原理構成ブロック図である。同図はプロセスの処理に対応して、CPUやメモリなどの資源としてのドメインがそれぞれディスパッチされる複数のCPUを備え、その複数のCPUのいずれもが実行可能な割込みとしての浮動割込みを保留できる情報処理装置5の原理構成を示す。
【0028】
図1(b) において、ドメイン毎割込み保留信号生成手段6は例えばメモリコントロールユニットの内部に設けられ、ドメインのそれぞれに対応して浮動割込みの保留の有無を示す信号を常に複数のCPU70 〜7n に送るものである。
【0029】
割込み保留判定手段80 〜8n は、複数のCPU70 〜7n のそれぞれの内部に設けられ、ドメイン毎割込み保留信号生成手段6からの信号を用いて、自CPUがディスパッチされているドメインに対する浮動割込み保留の有無を判定するものである。
【0030】
この第2の実施形態においては、各CPUが割込み条件変更命令実行制御手段を更に備えることも可能である。この割込み条件変更命令実行制御手段は、割込み条件変更命令が発行され、かつ割込み保留判定手段が自CPUがディスパッチされているドメインに対する割込み保留がないと判定した時に、その割込み条件変更命令を直ちに自CPUに実行させる制御を行うものである。
【0031】
第2の実施形態における割込み条件変更命令実行方法として、ドメインのそれぞれに対応して浮動割込みの保留の有無を示し、常に送られてくる信号を受け取り、その受け取った信号を用いて、自CPUがディスパッチされているドメインに対応する浮動割込みの保留の有無を判定し、割込み条件変更命令が発行され、かつ前記の判定の結果自CPUがディスパッチされているドメインに対する割込みの保留がないと判定された時、その割込み条件変更命令を直ちに実行する方法を用いることができる。
【0032】
またこの第2の実施形態に対応して、浮動割込みを保留できる情報処理装置において使用される記憶媒体として、ドメインのそれぞれに対応して浮動割込みの保留の有無を示し、常に送られてくる信号を受け取るステップと、受け取った信号を用いて、自CPUがディスパッチされているドメインに対応する浮動割込みの保留の有無を判定するステップと、割込み条件変更命令が発行され、かつ前述の判定の結果自CPUがディスパッチされているドメインに対する割込みの保留がないと判定された時、その割込み条件変更命令を直ちに実行するステップとを、コンピュータに実行させるためのプログラムを格納したコンピュータ読取り可能可搬型記憶媒体を用いることもできる。
【0033】
このように本発明の第2の実施形態においては、プロセスの処理に対応してドメインが複数のCPUに対してそれぞれディスパッチするため、自CPUがディスパッチされているドメイン以外のドメインに対応する浮動割込みが保留されていても、割込み条件変更命令の発行に際して割込み処理要求信号、すなわちトリガ信号が来るのを待つ必要はない。従ってドメイン毎割込み保留信号生成手段6からの信号によって、自CPUがディスパッチされているドメインに対する浮動割込みの保留がない場合には、割込み条件変更命令が発行された時点でその命令を直ちに実行することが可能となる。
【0034】
【発明の実施の形態】
図2は本発明の第1の実施形態における情報処理装置の基本構成ブロック図でしる。同図においては図13のIOプロセッサが省略され、また複数のCPUのうち1つだけが示されている。
【0035】
図2において、メモリコントロールユニット(MCU)11の内部には、図15で説明したペンディングラッチ13、プライオリティ(優先順位決定)回路15に加えて、本発明に固有の割込み保留信号生成回路14が備えられる。割込み保留信号生成回路14は、ペンディングラッチ13に格納され、図15では128個の入出力チャネルに対応して、浮動割込みが保留されているかいないかを示す信号を生成し、その信号をラプチャペンディング信号としてCPU12側に出力する。またプライオリティ回路15からは、前述のように保留されている割込みを処理させるCPUに対してIOラプチャトリガ信号と、IOラプチャID信号とが出力される。
【0036】
CPU12の内部には、割込み許可マスクが格納されているIOラプチャマスクのラッチ16と、割込み保留情報を用いたプロセスウェイト信号生成回路17、および割込み処理制御部18が備えられる。
【0037】
ある1つのCPUによって割込み条件変更命令が解読され、その実行が必要になると、割込み処理制御部18は、割込み保留情報を用いたプロセスウェイト信号生成回路17に対して、スタートプロセスウェイトカウンタ信号を出力する。この信号によって割込み保留情報を用いたプロセスウェイト信号生成回路17の内部の、後述するプロセスウェイトカウンタが動作を開始する。
【0038】
一方MCU11側から入力されるラプチャペンディング信号の内容によって、MCU11側で浮動割込みの保留が記憶されていることが示されていれば、割込み保留情報を用いたプロセスウェイト信号生成回路17は、プロセスウェイトカウンタが動作中であることを示すプロセスウェイトカウンタオン信号を割込み処理制御部18に対して出力する。
【0039】
またこの時点で、IOラプチャマスク16の内容がCPU_IOラプチャマスクイン信号としてMCU11の内部のプライオリティ回路15に送られ、プライオリティ回路15は前述のようにペンディングラッチ13の格納内容と比較して保留されている浮動割込みを処理させることのできるCPUを判定し、その中で優先順位に従って1つのCPUを選択し、選択したCPUに対してIOラプチャトリガ信号と、IOラプチャID信号とを送り、保留されていた割込みの処理を実行させる。
【0040】
このようにプロセスウェイトカウンタは割込み条件変更命令が解読されると同時に起動される。そしてこのカウンタは全てのCPU12からMCU11に対して割込み許可マスクの内容が送られ(t1 )、MCU11側で処理すべき割込みの保留の有無を確認し(t2 )、MCU11から選択されたCPU12にトリガ信号を送信し(t3 )、CPU12がトリガ信号を受信する(t4 )までの時間、すなわちT=t1 +t2 +t3 +t4 の間動作する。
【0041】
CPU12側では、プロセスウェイトカウンタオン信号が割込み処理制御部18に入力されている期間、すなわちカウンタがタイムアウトするまでの期間はMCU11からのトリガ信号を待ち、トリガ信号が入力されれば保留されている割込み処理を実行することになるが、トリガ信号が来ない状態でプロセスウェイトカウンタがタイムアウトになると、プロセスウェイトカウンタオン信号が入力されなくなり、この時点で割込み条件変更命令を実行することができる。
【0042】
またMCU11側から与えられるラプチャペンディング信号によって、全ての入出力チャネルに対応する浮動割込みが保留されていないと判定されると、割込み保留情報を用いたプロセスウェイト信号生成回路17からはプロセスウェイトカウンタオン信号が割込み処理制御部18に対して出力されず、割込み処理制御部18はスタートプロセスウェイトカウンタ信号を出力した直後から、割込み条件変更命令の実行が可能となる。
【0043】
なおここでは処理すべき割込みの保留が1つだけの場合について説明したが、保留が2つ以上の場合にも同様の制御が行われる。
図3は本発明の第1の実施形態における割込み条件変更命令の処理フローチャートである。同図を図14の従来例と比較すると、ステップS2で保留されている浮動割込みがあるか否かが、図2で説明したラプチャペンディング信号によって判定され、1つも保留されている割込みがないと判定された時には、ステップS7で直ちに割込み条件変更命令が実行される点が基本的に異なっている。
【0044】
図4は図2の割込み保留信号生成回路14の構成例を示す。同図においては全てのペンディングラッチ、図15では128個のラッチの内容がオアゲート21に与えられ、128個のラッチのうち1つでも浮動割込みの保留を示す“1”が格納されている場合には、オアゲート21の出力するラプチャペンディング信号はHとなる。
【0045】
図5は図2のCPU12の内部に設けられる割込み保留情報を用いたプロセスウェイト信号生成回路17の構成ブロック図である。同図においてプロセスウェイト信号生成回路17は、図2のMCU11側から送られるラプチャペンディング信号を格納するためのラッチ23、割込み処理制御部18から割込み条件変更命令の解読の時点で入力されるスタートプロセスウェイトカウンタ信号が与えられるプロセスウェイトカウンタ24、およびプロセスウェイト信号、すなわちプロセスウェイトカウンタオン信号を出力するアンドゲート25から構成されている。
【0046】
プロセスウェイトカウンタ24の出力は、プロセスウェイトカウンタが動作している間はHとなる。ラッチ23に格納されているラプチャペンディング信号の値がH、すなわち1つでも浮動割込みが保留されている場合には、プロセスウェイトカウンタ24がタイムアウトになるまではアンドゲート25からプロセスウェイトカウンタオン信号が出力され、この信号がHの間はCPUによる割込み条件変更命令の処理はロックされる。
【0047】
図6は第1の実施形態における情報処理装置の詳細構成ブロック図である。図15の従来例とほぼ類似しており、詳細な説明は省略するが、第1の実施形態に特有な部分として割込み保留信号生成回路28が追加されている点が基本的に異なっている。この回路は図4で説明したものであり、ペンディングラッチの格納内容としての128ビットのうち1ビットでも浮動割込みの保留を示す“1”が格納されていれば、ラプチャペンディング信号としてHが出力される。このラプチャペンディング信号はMCU11の内部で各CPUに対応するラッチ760 〜7615に格納される。
【0048】
このため、このラッチのビット数は図15の9ビットに比較して、ラプチャペンディング信号の値を格納する1ビットが追加され、それぞれ10ビットとなっている。また保留されている割込みの処理のために、選択されたCPUに送られるIOラプチャトリガ信号、IOラプチャID信号を格納するCPU側のラッチ780 〜7815も、更にラプチャペンディング信号の値を格納するために、それぞれ10ビットとなっている。
【0049】
図7は第2の実施形態における情報処理装置の基本構成ブロック図である。第2の実施形態においては、複数のCPUとメモリの領域がプロセスの処理に対応してドメインとして割り当てられる場合に、保留されている浮動割込みの処理が行われる。保留されている浮動割込みがある1つのドメインに対応するものである場合には、他のドメインがディスパッチされているCPUは、割込み条件変更命令が発行された時には自プロセッサのドメインは保留されている浮動割込みとは無関係であるので、直ちに割込み条件変更命令を実行することが可能である。
【0050】
図7を図2と比較すると、MCU11の内部の割込み保留信号生成回路に代わってドメイン毎の割込み保留信号生成回路31が設けられており、またCPU12側では割込み保留情報を用いたプロセスウェイト信号生成回路に代わってプロセスウェイトカウンタ32、ドメイン毎の割込み保留識別回路33、ドメインイコールnラッチ34、およびアンドゲート35が設けられている点が異なっている。
【0051】
MCU11側のドメイン毎の割込み保留信号生成回路31は、例えばドメインがn個あるとすると、そのn個のドメインにそれぞれ対応して、保留されている浮動割込みがあるかないかを示すラプチャペンディングドメインn信号を生成して、CPU12側に出力する。
【0052】
CPU12側では、この信号はドメイン毎の割込み保留識別回路33に与えられる。ドメイン毎の割込み保留識別回路33に対しては、ドメインイコールnラッチ34の格納内容も与えられる。このラッチは自CPUがどのドメインにディスパッチされているかを示すデータを格納しているものである。
【0053】
ドメイン毎の割込み保留識別回路33は、これらの信号の入力に対応して、自CPUがディスパッチされているドメインに対応する割込みの保留があるか否かを識別し、そのような保留がある場合にはラプチャペンディングドメイン信号をアンドゲート35に出力する。アンドゲート35は、図5で説明したアンドゲート25に対応し、ドメイン毎の割込み保留識別回路33の出力するラプチャペンディングドメイン信号はラッチ23の出力に相当する。
【0054】
このため割込み処理制御部18からスタートプロセスウェイトカウンタ信号が入力された時点から、アンドゲート35の出力としてのプロセスウェイトカウンタオン信号がHとなり、割込み処理制御部18は、MCU11側からトリガ信号が与えられるか、あるいはプロセスウェイトカウンタ32がタイムアウトとなり、プロセスウェイトカウンタオン信号がLとなるのを待つことになる。
【0055】
この第2の実施形態における割込み条件変更命令の処理フローチャートは基本的に図3と同じであるが、ステップS2において各ドメインに対応して浮動割込みの保留の有無を示し、MCU側から常に送られてくる信号を用いて自CPUがディスパッチされているドメインに対応して保留されている浮動割込みがあるか否かが判定される。
【0056】
図8はドメインに対応した、ペンディングラッチの格納内容と、割込み許可マスクとしてのIOサブクラスマスクの説明図である。同図(a) はペンディングラッチの格納内容の例であり、図15で説明したように例えば128個の入出力チャネルに対応する論理的な入出力経路としてのサブクラスが128本(各ドメインに対して8本)あることを示す。図8(b) は割込み許可マスクとしてのIOサブクラスマスクの格納内容の例である。
【0057】
IOサブクラスマスクは、対応するサブクラスに対して割込みが許可されているか否かを示すもの、あるいはそのドメインの中での割込み要求の優先順位を決めるものである。図8(b) ではドメイン0に対応してサブクラス1に対するビットが“1”となっており、このサブクラスに対して割込みが許可されていること、あるいはこのサブクラスに対して割込みの優先度があるということが示されている。例えば図15においてIOプロセッサは、どのドメインのどのサブクラスに対するIO割込みであるかをIOラプチャID(7ビット)によって示して、MCU51に送ることになる。
【0058】
図9はドメイン毎の割込み保留情報を用いたIO割込み処理方式の説明図である。同図において、MCU11側でペンディングラッチの格納内容からドメイン毎の割込み保留信号生成回路31によって生成されたラプチャペンディングドメインn信号が、ラッチ36,37を介して、例えば16時分割でCPU側にシリアル転送される。このシリアル転送については図15におけると同様である。
【0059】
CPU12側では、MCU11側から送られたドメイン毎の割込み保留信号、ラプチャペンディングドメインn信号が、ラッチ38を介してラッチ39に格納される。その格納内容は、図7におけると同様に、ドメインイコールnラッチ34の格納内容と共にドメイン毎の割込み保留識別回路33に与えられ、その出力がHとなっている間、図7におけると同様に、アンドゲート35の出力するプロセスウェイトカウンタオン信号がHとなる。
【0060】
図10はドメイン毎の割込み保留信号生成回路の構成例である。同図では、図8で説明したように、16個のドメインに対応してペンディングラッチのそれぞれ8ビットの内容がオアゲート410 〜4115に与えられ、各ドメイン0〜15に対応するラプチャペンディングドメイン信号が出力される。
【0061】
図11はドメイン毎の割込み保留識別回路の構成例である。同図において識別回路は、図10のオアゲート410 〜4115がそれぞれ出力するドメイン0〜15に対応するラプチャペンディングドメイン信号が一方の入力端子に、また他方の入力端子にはドメインイコールnラッチ34の出力としての自CPUがどのドメインに割り当てられているかを示す信号がそれぞれ入力されるアンドゲート420 〜4215、およびこれらのアンドゲートの出力が入力されるオアゲート43から構成されている。
【0062】
前述のようにドメインイコールnラッチ34は自CPUがどのドメインにデイパッチされているかを示すデータを保持しているラッチであり、例えば自CPUがドメイン0にディスパッチされているものとすると、図11でアンドゲート420 に入力されているドメインイコール0信号がHとなる。この時ドメイン0に対応する浮動割込みが保留されていることを示すラプチャペンディングドメイン0信号がHであれば、アンドゲート420 の出力、およびオアゲート43の出力はHとなり、オアゲート43の出力するラプチャペンディングドメイン信号、すなわち自CPUが割り当てられているドメインに対応して浮動割込みが保留されていることを示す信号がHとなる。
【0063】
最後に、本発明の割込み条件変更処理などのプログラムのコンピュータへのローディングについて、図12を用いて説明する。図12において、コンピュータ45は本体46とメモリ47とによって構成されている。本体46は、以上において説明した複数のCPU、おびびメモリコントロールユニット(MCU)などを備えているものとする。
【0064】
本発明の特許請求の範囲第6,第7項に記載されているプログラムや、図3に示されているプログラムなどはメモリ47に格納され、本体46によってそのプログラムが実行されることによって、例えば割込み条件変更命令の実行が行われる。
【0065】
メモリ47としてはランダムアクセスメモリ(RAM)、ハードディスク、光ディスク、光磁気ディスクなど、様々な形式のメモリを使用することができる。またこれらのプログラムは可搬型記憶媒体48に記録され、そのプログラムがコンピュータ45にロードされることによって、あるいはプログラム提供者側から回線49を介して送られ、コンピュータ45にロードされることによって実行されることも可能である。可搬型記憶媒体48としてはフロッピィディスク、CD−ROM,光ディスク、光磁気ディスクなど、市販されている様々な形式の記憶媒体を使用することが可能である。
【0066】
【発明の効果】
以上詳細に説明したように、本発明によれば割込み条件変更命令が発行された時点で保留されている浮動割込みが1つもない場合には、この割込み条件変更命令をCPUが直ちに実行することが可能となる。また各CPUにドメインが割り当てられており、保留されている浮動割込みが自CPUがディスパッチされているドメインに対応するものでない場合にも、直ちに割込み条件変更命令を実行することができ、情報処理装置の性能向上に寄与するところが大きい。
【図面の簡単な説明】
【図1】本発明の原理構成ブロック図である。
【図2】本発明の第1の実施形態における情報処理装置の基本構成を示すブロック図である。
【図3】第1の実施形態における割込み条件変更命令の処理フローチャートである。
【図4】割込み保留信号生成回路の構成例を示す図である。
【図5】割込み保留情報を用いたプロセスウェイト信号生成回路の構成例を示す図である。
【図6】第1の実施形態における情報処理装置の詳細構成を示すブロック図である。
【図7】本発明の第2の実施形態における情報処理装置の基本構成を示すブロック図である。
【図8】ペンディングラッチとIOサブクラスマスクの格納内容の例を示す図である。
【図9】第2の実施形態において保留されている割込みの処理方式を説明する図である。
【図10】ドメイン毎の割込み保留信号生成回路の構成例を示す図である。
【図11】ドメイン毎の割込み保留識別回路の構成例を示す図である。
【図12】本発明を実現するためのプログラムのコンピュータへのローディングを説明する図である。
【図13】本発明が対象とする情報処理装置の基本構成を示すブロック図である。
【図14】割込み条件変更命令の処理フローチャートの従来例である。
【図15】情報処理装置の従来例の詳細構成を示すブロック図である。
【符号の説明】
1,5 情報処理装置
2 割込み保留信号生成手段
30 〜3n ,70 〜7n CPU
40 〜4n 割込み条件変更命令実行制御手段
80 〜8n 割込み保留判定手段
11 メモリコントロールユニット(MCU)
12 CPU(中央処理装置)
13 ペンディングラッチ
14 割込み保留信号生成回路
15 プライオリティ回路
17 割込み保留情報を用いたプロセスウェイト信号生成回路
18 割込み処理制御部
31 ドメイン毎の割込み保留信号生成回路
32 プロセスウェイトカウンタ
33 ドメイン毎の割込み保留識別回路[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an information processing apparatus including a plurality of CPUs, and more specifically, information processing that immediately executes an interrupt condition change instruction when there is no floating interrupt pending as an interrupt that can be executed by any of the plurality of CPUs. Regarding the device.
[0002]
[Prior art]
There are various types of information processing apparatuses including a plurality of CPUs when the CPU executes interrupt processing. For example, when a specific CPU is specified and interrupt processing is performed, when a broadcast interrupt is performed that causes all CPUs to perform interrupt processing, or a floating interrupt that may cause any CPU among multiple CPUs to perform interrupt processing (Interrupts that come in the event). The present invention is directed to an information processing apparatus in which this floating interrupt is suspended.
[0003]
In general, interrupt processing is not always executed immediately, and execution may be suspended. Consider a case in which, for example, one CPU among a plurality of CPUs decodes an interrupt condition change instruction in a program and tries to execute the instruction. This interrupt condition change instruction is, for example, an instruction for changing an interrupt permission mask described later.
[0004]
In general, when executing this interrupt condition change instruction, it is checked whether or not an interrupt to be processed with the current interrupt condition is pending in the information processing device. If an interrupt to be processed is pending, the interrupt processing is performed. If an interrupt to be processed is not pending, the instruction is immediately executed.
[0005]
Regarding the processing of floating interrupts held in this way, a conventional processing method will be described using an input / output interrupt as an example of a floating interrupt. FIG. 13 is a block diagram of the basic configuration of the information processing apparatus for explaining the pending input / output interrupt processing. In FIG. 1, an information processing apparatus includes an input / output processor (IOP) 50, a memory control unit (MCU) 51 for controlling a storage device such as a main memory, and a plurality of central processing units (CPU) 52. 0 ~ 52 n It is composed of Each
[0006]
In FIG. 13, an input / output interrupt, for example, an interrupt corresponding to each of a plurality of input / output channels, is sent from the
[0007]
On the other hand, an interrupt condition change instruction for changing an interrupt condition is sent to a plurality of
[0008]
Since this interrupt permission mask and the above-described pending latch store data corresponding to each channel on a one-to-one basis, the MCU sets the mask value of the input / output channel corresponding to the pending floating interrupt. Is, for example, 1 and the interrupt processing request signal (trigger signal) is transmitted to the instruction control unit in the CPU having the highest priority, and the CPU controlled by the instruction control unit receives this trigger signal. Triggers interrupt processing when triggered by
[0009]
FIG. 14 is a flowchart of conventional interrupt condition change instruction processing. When the process is started in the figure, an interrupt condition change instruction is first decoded by, for example, one CPU in step S10, and the necessity of executing the instruction arises. Then, in step S11, an interrupt permission mask is transmitted from the instruction control unit of each CPU to the MCU. On the MCU side, if there is a floating interrupt pending before the execution of the interrupt condition change instruction, the CPU for processing the interrupt is changed. A selection process for transmitting a trigger signal to the CPU is started.
[0010]
The instruction control unit on each CPU side activates a counter, for example, a process wait counter to be described later, in order to wait for a trigger signal that may be sent from the MCU side at the time of transmitting the interrupt permission mask (S11), In step S12, it is determined whether or not the counter has timed out. If it has not timed out yet, it is determined in step S13 whether or not a trigger signal has been transmitted. Repeat the process.
[0011]
If it is determined in step S12 that the trigger signal has been transmitted before the counter has timed out in
[0012]
FIG. 15 is a block diagram of the configuration of the information processing apparatus corresponding to FIG. 13 and particularly showing the configuration of the MCU in detail. In the figure, the pending floating interrupt process will be described. In the figure, first, in (1), an IO rupture (RUPT) indicating which of the 128 input / output channels corresponds to an interrupt together with a signal (set pending) for holding an input / output (IO) interrupt from the IOP 50. ) ID (7 bits + parity check bit P) is sent to the
[0013]
When an interrupt condition change instruction is decoded by a certain CPU and the necessity of execution occurs, it is determined whether an interrupt corresponding to each input / output channel is permitted to the CPU by the instruction control unit in each CPU.
[0014]
The priority (priority)
[0015]
The
[0016]
The
[0017]
When the interrupt processing on the CPU side is completed, as the release signal (CPU_IO_RUPT_CNTL_IN), the reset rupture pending and the reset rupture trigger signal are serially transferred to the
[0018]
[Problems to be solved by the invention]
As described above, in the conventional pending interrupt processing method, the instruction control unit of each CPU transmits an interrupt permission mask to the MCU side, and then determines whether or not there is an interrupt to be processed by the own CPU. Therefore, it is necessary to wait for a trigger signal sent from the MCU side. Since the MCU side transmits a trigger signal only to a CPU that should process a pending interrupt, even a CPU that does not need to process a pending interrupt has been described in step S12 of FIG. There was a problem that had to wait until the counter timed out.
[0019]
Furthermore, even if there are no floating interrupts pending on the MCU side, all CPUs cannot execute the interrupt condition change instruction unless they wait until the timer times out, and the CPU side rewrites the interrupt permission mask, for example. Each time the CPU is decoded, each CPU has a wasteful waiting time, which causes a problem that the performance of the information processing apparatus is lowered.
[0020]
In view of the above problems, the problem of the present invention is that if there is no floating interrupt pending, or there is no pending interrupt to be processed by the own CPU, the need for having a wasteful waiting time is eliminated. This is to speed up the processing of the condition change instruction.
[0021]
[Means for Solving the Problems]
FIG. 1 is a block diagram showing the principle of the present invention. FIG. 4A is a block diagram of the principle configuration corresponding to the first embodiment to be described later, and includes information processing that can hold a floating interrupt as an interrupt that can be executed by any of the plurality of CPUs. The principle structure of the
[0022]
In FIG. 1 (a), an interrupt hold signal generating means 2 is provided, for example, in the memory control unit, and a signal indicating whether or not a floating interrupt is held is always sent to a plurality of
[0023]
Interrupt condition change instruction execution control means 4 0 ~ 4 n Each CPU3 0 ~ 3 n When the interrupt condition change command is issued and the signal sent from the interrupt hold signal generation means 2 indicates that no interrupt is held, the CPU immediately executes the interrupt condition change command. Control is performed.
[0024]
As an interrupt condition change instruction execution method corresponding to the first embodiment, it is indicated whether floating interrupts are pending, an always sent signal is received, an interrupt condition change instruction is issued, and the signal is interrupted. A method of immediately executing the interrupt condition change instruction can be used.
[0025]
Corresponding to the first embodiment, as a storage medium used in an information processing apparatus capable of holding a floating interrupt, a step of indicating whether or not a floating interrupt is held and receiving a signal always sent, and an interrupt condition A computer-readable program that stores a program for causing a computer to execute a step for immediately executing the interrupt condition change command when a change command is issued and the signal sent indicates no interrupt pending. A portable storage medium can be used.
[0026]
As described above, in the first embodiment of the present invention, in an information processing apparatus that includes a plurality of CPUs and can hold a floating interrupt, if there is no floating interrupt that is originally held, an interrupt condition change instruction is issued to each CPU. It can be executed immediately. This interrupt condition change instruction is, for example, an instruction for changing an interrupt permission mask indicating whether or not an interrupt to the input / output channel is permitted to the CPU corresponding to a plurality of input / output channels. When there is no interrupt, it is possible to execute the instruction immediately when the interrupt condition change instruction is issued without waiting for a trigger signal as an interrupt processing request signal sent from the MCU, for example.
[0027]
FIG. 1B is a block diagram of the principle configuration corresponding to the second embodiment of the present invention. This figure includes a plurality of CPUs each dispatching a domain as a resource such as a CPU and a memory corresponding to the process processing, and any of the plurality of CPUs can hold a floating interrupt as an executable interrupt. A principle configuration of the
[0028]
In FIG. 1B, an interrupt hold signal generating means 6 for each domain is provided in, for example, a memory control unit, and a signal indicating whether or not floating interrupts are held corresponding to each domain is always sent to a plurality of
[0029]
Interrupt hold determination means 8 0 ~ 8 n A plurality of
[0030]
In the second embodiment, each CPU can further include an interrupt condition change instruction execution control means. The interrupt condition change instruction execution control means immediately issues the interrupt condition change instruction when the interrupt condition change instruction is issued and the interrupt hold determination means determines that there is no interrupt hold for the domain to which the CPU is dispatched. The control to be executed by the CPU is performed.
[0031]
As an interrupt condition change instruction execution method in the second embodiment, whether or not a floating interrupt is held corresponding to each of the domains is indicated, a signal always sent is received, and the own CPU uses the received signal. It is determined whether there is a floating interrupt pending corresponding to the domain being dispatched, an interrupt condition change instruction is issued, and it is determined that there is no interrupt pending for the domain to which the CPU is dispatched as a result of the above determination. At that time, a method of immediately executing the interrupt condition change instruction can be used.
[0032]
Corresponding to the second embodiment, as a storage medium used in an information processing apparatus capable of holding a floating interrupt, a signal indicating whether floating interrupt is held corresponding to each domain is always sent. Using the received signal, a step for determining whether or not a floating interrupt corresponding to the domain to which the CPU is dispatched is pending, an interrupt condition change instruction is issued, and the result of the above determination A computer-readable portable storage medium storing a program for causing a computer to execute a step of immediately executing an interrupt condition change instruction when it is determined that there is no interrupt pending for a domain to which the CPU is dispatched It can also be used.
[0033]
As described above, in the second embodiment of the present invention, because the domain dispatches to a plurality of CPUs corresponding to the process processing, the floating interrupt corresponding to a domain other than the domain to which the own CPU is dispatched. However, when an interrupt condition change instruction is issued, there is no need to wait for an interrupt processing request signal, that is, a trigger signal. Therefore, if there is no floating interrupt pending for the domain to which the CPU is dispatched according to the signal from the interrupt pending signal generating means 6 for each domain, the instruction is immediately executed when the interrupt condition change command is issued. Is possible.
[0034]
DETAILED DESCRIPTION OF THE INVENTION
FIG. 2 is a block diagram showing the basic configuration of the information processing apparatus according to the first embodiment of the present invention. In FIG. 13, the IO processor of FIG. 13 is omitted, and only one of a plurality of CPUs is shown.
[0035]
2, in addition to the pending
[0036]
The
[0037]
When an interrupt condition change instruction is decoded by a certain CPU and needs to be executed, the interrupt
[0038]
On the other hand, if the content of the rapture pending signal input from the MCU 11 side indicates that the floating interrupt hold is stored on the MCU 11 side, the process wait
[0039]
At this time, the contents of the
[0040]
In this way, the process wait counter is activated at the same time as the interrupt condition change instruction is decoded. In this counter, the contents of the interrupt permission mask are sent from all the
[0041]
On the
[0042]
If it is determined by the rapture pending signal given from the MCU 11 side that floating interrupts corresponding to all input / output channels are not held, the process wait
[0043]
Although the case where there is only one interrupt pending to be processed has been described here, the same control is performed when there are two or more pending interrupts.
FIG. 3 is a processing flowchart of an interrupt condition change instruction in the first embodiment of the present invention. Comparing this figure with the conventional example of FIG. 14, it is determined by the rapture pending signal described in FIG. 2 whether there is a floating interrupt pending in step S2, and there is no interrupt pending. When the determination is made, the point that the interrupt condition change instruction is immediately executed in step S7 is basically different.
[0044]
FIG. 4 shows a configuration example of the interrupt hold
[0045]
FIG. 5 is a block diagram showing the configuration of the process wait
[0046]
The output of the process wait
[0047]
FIG. 6 is a block diagram illustrating a detailed configuration of the information processing apparatus according to the first embodiment. Although it is almost similar to the conventional example of FIG. 15 and detailed description thereof is omitted, it is fundamentally different in that an interrupt pending
[0048]
For this reason, the number of bits of this latch is 10 bits, as compared with the 9 bits of FIG. 15, with 1 bit added to store the value of the rapture pending signal. In addition, a CPU-
[0049]
FIG. 7 is a block diagram of the basic configuration of the information processing apparatus in the second embodiment. In the second embodiment, when a plurality of CPUs and memory areas are allocated as domains corresponding to process processing, pending floating interrupt processing is performed. If a floating interrupt that is pending corresponds to one domain, the CPU to which the other domain is dispatched has its own processor domain pending when an interrupt condition change instruction is issued Since it is unrelated to the floating interrupt, it is possible to immediately execute the interrupt condition change instruction.
[0050]
When FIG. 7 is compared with FIG. 2, an interrupt hold
[0051]
For example, when there are n domains, the interrupt pending
[0052]
On the
[0053]
In response to the input of these signals, the interrupt
[0054]
Therefore, the process wait counter ON signal as the output of the AND
[0055]
The processing flowchart of the interrupt condition change instruction in the second embodiment is basically the same as that shown in FIG. 3, but in step S2, it indicates whether floating interrupts are pending for each domain and is always sent from the MCU side. It is determined whether or not there is a floating interrupt pending corresponding to the domain to which the CPU is dispatched using the incoming signal.
[0056]
FIG. 8 is an explanatory diagram of the contents stored in the pending latch and the IO subclass mask as an interrupt permission mask corresponding to the domain. FIG. 14A shows an example of the contents stored in the pending latch. As described in FIG. 15, for example, there are 128 subclasses as logical input / output paths corresponding to 128 input / output channels (for each domain). 8). FIG. 8B shows an example of stored contents of an IO subclass mask as an interrupt permission mask.
[0057]
The IO subclass mask indicates whether or not an interrupt is permitted for the corresponding subclass, or determines the priority of interrupt requests in the domain. In FIG. 8B, the bit for
[0058]
FIG. 9 is an explanatory diagram of an IO interrupt processing method using interrupt hold information for each domain. In the figure, the rupture-pending domain n signal generated by the interrupt hold
[0059]
On the
[0060]
FIG. 10 is a configuration example of an interrupt pending signal generation circuit for each domain. In FIG. 8, as described with reference to FIG. 8, the contents of each 8-bit pending latch corresponding to 16 domains are OR gates 41. 0 ~ 41 15 And a rapture pending domain signal corresponding to each of the
[0061]
FIG. 11 is a configuration example of an interrupt pending identification circuit for each domain. In the figure, the identification circuit is the OR gate 41 of FIG. 0 ~ 41 15 The rupture-pending domain signals corresponding to the
[0062]
As described above, the domain
[0063]
Finally, loading of a program such as an interrupt condition changing process of the present invention into a computer will be described with reference to FIG. In FIG. 12, the
[0064]
The program described in
[0065]
As the memory 47, various types of memory such as a random access memory (RAM), a hard disk, an optical disk, and a magneto-optical disk can be used. These programs are recorded in the
[0066]
【The invention's effect】
As described above in detail, according to the present invention, when there is no floating interrupt pending when the interrupt condition change instruction is issued, the CPU can immediately execute the interrupt condition change instruction. It becomes possible. Further, even when a domain is assigned to each CPU and the suspended floating interrupt does not correspond to the domain to which the own CPU is dispatched, the interrupt condition change instruction can be immediately executed. This greatly contributes to the improvement in performance.
[Brief description of the drawings]
FIG. 1 is a block diagram showing the principle configuration of the present invention.
FIG. 2 is a block diagram showing a basic configuration of the information processing apparatus according to the first embodiment of the present invention.
FIG. 3 is a processing flowchart of an interrupt condition change instruction in the first embodiment.
FIG. 4 is a diagram illustrating a configuration example of an interrupt pending signal generation circuit.
FIG. 5 is a diagram illustrating a configuration example of a process wait signal generation circuit using interrupt hold information.
FIG. 6 is a block diagram illustrating a detailed configuration of the information processing apparatus according to the first embodiment.
FIG. 7 is a block diagram showing a basic configuration of an information processing apparatus according to a second embodiment of the present invention.
FIG. 8 is a diagram illustrating an example of stored contents of a pending latch and an IO subclass mask;
FIG. 9 is a diagram illustrating a processing method for a pending interrupt in the second embodiment.
FIG. 10 is a diagram illustrating a configuration example of an interrupt pending signal generation circuit for each domain.
FIG. 11 is a diagram illustrating a configuration example of an interrupt pending identification circuit for each domain.
FIG. 12 is a diagram for explaining loading of a program for realizing the present invention into a computer.
FIG. 13 is a block diagram showing a basic configuration of an information processing apparatus targeted by the present invention.
FIG. 14 is a conventional example of a processing flowchart of an interrupt condition change instruction.
FIG. 15 is a block diagram showing a detailed configuration of a conventional example of an information processing apparatus.
[Explanation of symbols]
1,5 Information processing equipment
2 Interrupt hold signal generation means
3 0 ~ 3 n , 7 0 ~ 7 n CPU
4 0 ~ 4 n Interrupt condition change instruction execution control means
8 0 ~ 8 n Interrupt hold determination means
11 Memory control unit (MCU)
12 CPU (Central Processing Unit)
13 Pending latch
14 Interrupt hold signal generation circuit
15 Priority circuit
17 Process wait signal generation circuit using interrupt hold information
18 Interrupt processing controller
31 Interrupt hold signal generation circuit for each domain
32 Process wait counter
33 Interrupt hold identification circuit for each domain
Claims (6)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27800699A JP3769428B2 (en) | 1999-09-30 | 1999-09-30 | Information processing apparatus capable of holding floating interrupt and interrupt condition change instruction execution method |
US09/533,034 US6535943B1 (en) | 1999-09-30 | 2000-03-22 | Information processing device enabling floating interrupt to be pending and a method executing an interrupt condition change instruction |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27800699A JP3769428B2 (en) | 1999-09-30 | 1999-09-30 | Information processing apparatus capable of holding floating interrupt and interrupt condition change instruction execution method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001101014A JP2001101014A (en) | 2001-04-13 |
JP3769428B2 true JP3769428B2 (en) | 2006-04-26 |
Family
ID=17591330
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP27800699A Expired - Fee Related JP3769428B2 (en) | 1999-09-30 | 1999-09-30 | Information processing apparatus capable of holding floating interrupt and interrupt condition change instruction execution method |
Country Status (2)
Country | Link |
---|---|
US (1) | US6535943B1 (en) |
JP (1) | JP3769428B2 (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3541791B2 (en) * | 2000-09-13 | 2004-07-14 | 船井電機株式会社 | Method for detecting hang-up of MCU in 2MCU system and 2MCU system |
US7831979B2 (en) * | 2004-04-28 | 2010-11-09 | Agere Systems Inc. | Processor with instruction-based interrupt handling |
WO2008066511A1 (en) * | 2006-11-27 | 2008-06-05 | Intel Corporation | Centralized interrupt controller |
US8972642B2 (en) * | 2011-10-04 | 2015-03-03 | Qualcomm Incorporated | Low latency two-level interrupt controller interface to multi-threaded processor |
TWI586230B (en) * | 2012-07-18 | 2017-06-01 | 鐘化股份有限公司 | Reinforcing plate-integrated flexible printed circuit |
US8924615B2 (en) | 2012-10-26 | 2014-12-30 | Arm Limited | Communication of message signalled interrupts |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0619747B2 (en) | 1984-01-18 | 1994-03-16 | 株式会社日立製作所 | I / O instruction execution method, I / O interrupt processing method, and computer system using them |
US5261054A (en) * | 1988-12-22 | 1993-11-09 | Sun Microsystems, Inc. | System for storing a history of sampled pointer signals when a pointer interrupt routine is interrupted by a higher priority interrupt |
US5581770A (en) * | 1992-06-04 | 1996-12-03 | Mitsubishi Denki Kabushiki Kaisha | Floating interruption handling system and method |
JPH06187178A (en) | 1992-12-18 | 1994-07-08 | Hitachi Ltd | Input and output interruption control method for virtual computer system |
JPH06250849A (en) | 1993-02-26 | 1994-09-09 | Fujitsu Ltd | Task scheduling system |
JPH0711784B2 (en) | 1993-06-14 | 1995-02-08 | 株式会社日立製作所 | Computer system |
JPH08214209A (en) | 1995-02-02 | 1996-08-20 | Olympus Optical Co Ltd | Film picture inputting device |
US5640571A (en) * | 1995-03-01 | 1997-06-17 | Intel Corporation | Interrupt steering for a computer system |
US5708814A (en) * | 1995-11-21 | 1998-01-13 | Microsoft Corporation | Method and apparatus for reducing the rate of interrupts by generating a single interrupt for a group of events |
US6091705A (en) * | 1996-12-20 | 2000-07-18 | Sebring Systems, Inc. | Method and apparatus for a fault tolerant, software transparent and high data integrity extension to a backplane bus or interconnect |
US6279067B1 (en) * | 1999-01-13 | 2001-08-21 | Ati International Srl | Method and apparatus for detecting interrupt requests in video graphics and other systems |
-
1999
- 1999-09-30 JP JP27800699A patent/JP3769428B2/en not_active Expired - Fee Related
-
2000
- 2000-03-22 US US09/533,034 patent/US6535943B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US6535943B1 (en) | 2003-03-18 |
JP2001101014A (en) | 2001-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1062578B1 (en) | Method and apparatus for handling multiple level-triggered and edge-triggered interrupts | |
US4737932A (en) | Processor | |
US4218739A (en) | Data processing interrupt apparatus having selective suppression control | |
US6115778A (en) | Method and apparatus for handling interrupts through the use of a vector access signal | |
RU2137182C1 (en) | Execution of data processing instruction | |
JPS5827222A (en) | Status information transfer | |
US5371857A (en) | Input/output interruption control system for a virtual machine | |
JPS6275865A (en) | Interruption control system | |
JP3769428B2 (en) | Information processing apparatus capable of holding floating interrupt and interrupt condition change instruction execution method | |
US4393459A (en) | Status reporting with ancillary data | |
CA1178378A (en) | High-speed external memory system | |
EP0290942B1 (en) | Guest machine execution control system for virtual machine system | |
WO2023241307A1 (en) | Method and apparatus for managing threads | |
JP2007299126A (en) | Controller and program for controller | |
JPH0786865B2 (en) | Multiprocessor level change synchronizer | |
JPH09167117A (en) | Microcomputer and real time system using the microcomputer | |
JPH0789323B2 (en) | Multiple interrupt control method | |
JPH08249269A (en) | Method and device for controlling dma transfer | |
JPH1011387A (en) | Information processor | |
JPH0646093A (en) | Long time storage supervisory system for memory resource | |
JP2000215153A (en) | Dma data transfer control method and input and output processor | |
JPH11327798A (en) | Data transfer controller | |
JP2004185506A (en) | Data writer, data writing method, its program, and computer readable recording medium recording the program | |
JPS622349B2 (en) | ||
JPS584365B2 (en) | Reset control system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050801 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050816 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051017 |
|
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: 20060131 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060206 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090210 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100210 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110210 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110210 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120210 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130210 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130210 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140210 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |