コンピュータシステム
【課題】割り込みを実現するために必要なCPUのピン数が少なく、且つ、どのI/O装置から割り込み要求があったかを判別するためにポーリングを必要としないコンピュータシステムを提供する。
【解決手段】CPUは割り込み要求信号用入力ポート及びタイミング参照信号用出力ポートを備え、I/O装置はタイミング参照信号用入力ポート及び割り込み要求信号用出力ポートを備える。複数の前記割り込み要求信号用出力ポートが前記割り込み要求信号用入力ポートにワイヤードOR接続される。前記I/O装置は、前記CPUに対して割り込み要求を行う場合、前記タイミング参照信号を利用して、前記I/O装置各々個別に事前に割り当てられるタイミング区間において、前記割り込み要求信号用出力ポートから出力する割り込み要求信号をアクティブ状態にする。
【解決手段】CPUは割り込み要求信号用入力ポート及びタイミング参照信号用出力ポートを備え、I/O装置はタイミング参照信号用入力ポート及び割り込み要求信号用出力ポートを備える。複数の前記割り込み要求信号用出力ポートが前記割り込み要求信号用入力ポートにワイヤードOR接続される。前記I/O装置は、前記CPUに対して割り込み要求を行う場合、前記タイミング参照信号を利用して、前記I/O装置各々個別に事前に割り当てられるタイミング区間において、前記割り込み要求信号用出力ポートから出力する割り込み要求信号をアクティブ状態にする。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、CPU(Central Processing Unit)と、複数のI/O装置(入出力装置)とを備えるコンピュータシステムに関する。
【背景技術】
【0002】
従来のコンピュータシステムでは、I/O装置からCPUへの割り込み要求通知を次に示す二つの方式(第1の割り込み要求通知方式、第2の割り込み要求通知方式)のいずれかで行うことが一般的であった。
【0003】
まず、第1の割り込み要求通知方式について説明する。図11は、第1の割り込み要求通知方式を行う従来のコンピュータシステムの概略構成例を示す図である。図11では、コンピュータシステムが15個のI/O装置を備える場合の構成を図示している。図11に示す従来のコンピュータシステムでは、割り込み要求信号を受け取る入力ポート(割り込み要求信号用入力ポート)I_#1〜I_#15をCPU11がI/O装置12_#1〜12_#15の個数分すなわち15個備え、割り込み要求信号伝送ラインがI/O装置12_#1〜12_#15の個数分すなわち15本設けられ、各割り込み要求信号伝送ラインによってCPU1の各割り込み要求信号用入力ポートI_#1〜I_#15と各I/O装置12_#1〜12_#15の割り込み要求信号用出力ポートOとが接続されている。ただし、CPU11内のプライオリティエンコーダ(不図示)を外付けにすれば、CPU11の割り込み要求信号用入力ポートを15個から4個に減らすことは可能である。
【0004】
図11に示す従来のコンピュータシステムでは、どのI/O装置から割り込み要求があったかを、CPU11がハードウェアで判別することができる。そして、その判別結果に従って、CPU11は、割り込み要求をしたI/O装置用の割り込みベクターをメインメモリ13から読み出し、その読み出したベクター(サービスルーチンの先頭アドレス)に基づいて、割り込み要求をしたI/O装置用の割り込みサービスルーチンにアクセスし、割り込み要求をしたI/O装置用の割り込みサービス処理を実行する。例えば、割り込み要求をしたI/O装置がI/O装置12_#2である場合、上記の割り込み要求をしたI/O装置用の割り込みベクターは「マスカブル割り込み#2ベクター」となり、上記の割り込み要求をしたI/O装置用の割り込みサービスルーチンは「割り込み#2のサービスルーチン」となる。なお、割り込みサービス処理の実行前にスタックポインタSPを用いてプログラムカウンタPCの値等をメモリスタック内に待避させておき、割り込みサービス処理の完了後に復帰させる。
【0005】
次に、第2の割り込み要求通知方式について説明する。図12は、第2の割り込み要求通知方式を行う従来のコンピュータシステムの概略構成例を示す図である。図12では、図11と同様に、コンピュータシステムが15個のI/O装置を備える場合の構成を図示している。図12に示す従来のコンピュータシステムでは、CPU21が割り込み要求信号用入力ポートIを1つ備え、各I/O装置22_#1〜22_#15のオープンドレイン出力又はオープンコレクタ出力の割り込み要求信号用出力ポートOがCPU21の割り込み要求信号用入力ポートIにワイヤードOR接続され、さらにCPU21の割り込み要求信号用入力ポートIがプルアップ抵抗24に接続されている。図12に示す従来のコンピュータシステムでは、どれか1つ以上のI/O装置から割り込み要求信号が出力されると、CPU1の割り込み要求信号用入力ポートIが静的にLowになる。したがって、図12に示す従来のコンピュータシステムでは、どのI/O装置から割り込み要求があったかを、CPU21がハードウェアで判別することができない。このため、割り込み要求信号用入力ポートIがLowになると、CPU21は、マスカブル割り込みベクターをメインメモリ23から読み出し、その読み出したベクター(サービスルーチンの先頭アドレス)に基づいて、割り込み共通のサービスルーチンにアクセスし、割り込み共通のサービスルーチン(ソフトウェア)によってどのI/O装置が割り込み要求をしているかをポーリングで判別してから割り込みサービス処理を実行する。なお、割り込みサービス処理の実行前にスタックポインタSPを用いてプログラムカウンタPCの値等をメモリスタック内に待避させておき、割り込みサービス処理の完了後に復帰させる。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開平7−28392号公報(段落0004及び0005)
【発明の概要】
【発明が解決しようとする課題】
【0007】
上述した第1の割り込み要求通知方式は、どのI/O装置から割り込み要求があったかを判別するためにポーリングを必要としないという長所、及び、割り込みサービスルーチンをI/O装置毎で独立させることができるという長所を有している反面、割り込みを実現するために必要なCPUのピン数が多くなるという短所を有している。
【0008】
また、上述した第2の割り込み要求通知方式は、割り込みを実現するために必要なCPUのピン数が少ないという長所を有している反面、どのI/O装置から割り込み要求があったかを判別するためにポーリングが必要であるという短所、及び、割り込みサービスルーチンが全てのI/O装置で共通であって割り込みサービスルーチンをI/O装置毎で独立させることができないという短所を有している。
【0009】
本発明は、上記の状況に鑑み、割り込みを実現するために必要なCPUのピン数が少なく、且つ、どのI/O装置から割り込み要求があったかを判別するためにポーリングを必要としないコンピュータシステムを提供することを目的とする。
【課題を解決するための手段】
【0010】
上記目的を達成するために本発明に係るコンピュータシステムは、CPUと、複数のI/O装置とを備えるコンピュータシステムであって、前記CPUは割り込み要求信号用入力ポート及びタイミング参照信号用出力ポートを備え、前記I/O装置はタイミング参照信号用入力ポート及び割り込み要求信号用出力ポートを備え、複数の前記割り込み要求信号用出力ポートが前記割り込み要求信号用入力ポートにワイヤードOR接続され、前記CPUは、一定周期のパルス信号であってパルス幅が前記一定周期の1/3より小さいタイミング参照信号を生成して前記タイミング参照信号用出力ポートから出力し、前記I/O装置は、前記CPUに対して割り込み要求を行う場合、前記タイミング参照信号用入力ポートに入力される前記タイミング参照信号を利用して、前記タイミング参照信号の一周期を3つ以上に分割して得られる3つ以上のタイミング区間のうち前記I/O装置各々個別に事前に割り当てられるタイミング区間において、前記割り込み要求信号用出力ポートから出力する割り込み要求信号をアクティブ状態にし、前記CPUは、前記割り込み要求信号用入力ポートに入力される前記割り込み要求信号がアクティブ状態であるか否かを各タイミング区間単位で判定する構成(第1の構成)としている。
【0011】
上記第1の構成によると、割り込みを実現するために必要なCPUのピン数が割り込み要求信号用入力ポート及びタイミング参照信号用出力ポートの2個で済む。また、上記第1の構成によると、どのI/O装置から割り込み要求があったかを割り込み要求信号がアクティブ状態になっているタイミング区間によって判別することができるので、どのI/O装置から割り込み要求があったかを判別するためにポーリングを必要としない。
【0012】
また、上記第1の構成のコンピュータシステムにおいて、前記I/O装置毎の割り込みサービスルーチンを格納するメモリを備え、前記CPUは、前記割り込み要求信号がアクティブ状態であるか否かの判定結果に基づいて、割り込み要求をした前記I/O装置の前記割り込みサービスルーチンにアクセスし、割り込み要求をした前記I/O装置用の割り込みサービス処理を実行する構成(第2の構成)であることが好ましい。
【0013】
上記第2の構成によると、割り込みサービスルーチンをI/O装置毎で独立させることができる。
【0014】
また、上記第1の構成又は上記第2の構成のコンピュータシステムにおいて、前記タイミング参照信号のパルス幅が前記タイミング参照信号の一定周期の1/N(Nは3以上の自然数)であり、前記タイミング区間は、前記タイミング参照信号の立ち上がりを基準として前記タイミング参照信号の一定周期をN分割して得られる区間であり、前記I/O装置は、前記CPUに対して割り込み要求を行う場合、前記タイミング参照信号用入力ポートに入力される前記タイミング参照信号を利用して、前記タイミング参照信号を前記タイミング参照信号のパルス幅の整数倍の時間遅らせた複数種の遅延信号に近似する複数種のタイミング信号を生成し、複数種の前記タイミング信号の中から前記I/O装置各々個別に事前に割り当てられるタイミング区間に対応するタイミング信号を選択することによって、前記I/O装置各々個別に事前に割り当てられるタイミング区間において、前記割り込み要求信号用出力ポートから出力する割り込み要求信号をアクティブ状態にする構成(第3の構成)であることが好ましい。
【0015】
上記第3の構成によると、I/O装置は、CPU側でタイミング参照信号を生成する際に用いた割り込み処理用クロック信号と位相及び周期の少なくとも一つが異なるクロック信号を利用して、タイミング信号を生成することができる。したがって、CPU側でタイミング参照信号を生成する際に用いた割り込み処理用クロック信号と位相も周期も同じクロック信号をI/O装置側で用意する必要がなくなる。
【0016】
また、上記第3の構成のコンピュータシステムにおいて、前記CPUは、前記タイミング区間のほぼ中央で前記割り込み要求信号がアクティブ状態であるか否かを判定する構成(第4の構成)であることが好ましい。
【0017】
上記第4の構成によると、近似によるタイミング信号のずれによって問題が生ずることを確実に防止することができる。
【発明の効果】
【0018】
本発明によると、割り込みを実現するために必要なCPUのピン数が少なく、且つ、どのI/O装置から割り込み要求があったかを判別するためにポーリングを必要としないコンピュータシステムを実現することができる。
【図面の簡単な説明】
【0019】
【図1】本発明の一実施形態に係るコンピュータシステムの概略構成を示す図である。
【図2A】本発明の一実施形態に係るコンピュータシステムにおける各種信号の一例を示すタイミングチャートである。
【図2B】本発明の一実施形態に係るコンピュータシステムにおける各種信号の他の例を示すタイミングチャートである。
【図3】本発明の一実施形態に係るコンピュータシステムが備えるCPUのI/O部分の一回路構成例を示す図である。
【図4】本発明の一実施形態に係るコンピュータシステムが備えるCPUのI/O部分の各種信号の一例を示すタイミングチャートである。
【図5】タイミング参照信号とその遅延信号を示すタイミングチャートである。
【図6】本発明の一実施形態に係るコンピュータシステムが備えるCPUのI/O部分の一回路構成例を示す図である。
【図7】本発明の一実施形態に係るコンピュータシステムが備えるCPUのI/O部分の各種信号の一例を示すタイミングチャートである。
【図8】各デコード信号の立ち上がりタイミングを示す図である。
【図9】本発明の一実施形態に係るコンピュータシステムが備えるCPUのI/O部分の他の回路構成例を示す図である。
【図10】本発明の一実施形態に係るコンピュータシステムが備えるCPUのI/O部分の更に他の回路構成例を示す図である。
【図11】第1の割り込み要求通知方式を行う従来のコンピュータシステムの概略構成例を示す図である。
【図12】第2の割り込み要求通知方式を行う従来のコンピュータシステムの概略構成例を示す図である。
【発明を実施するための形態】
【0020】
本発明の実施形態について図面を参照して以下に説明する。
【0021】
<コンピュータシステムの全体構成>
本発明の一実施形態に係るコンピュータシステムの概略構成を図1に示す。図1に示す本発明の一実施形態に係るコンピュータシステムは、CPU1と、15個のI/O装置2_#1〜2_#15と、メインメモリ3と、プルアップ抵抗4とを備えている。本発明に係るコンピュータシステムが備えるI/O装置の個数は2個以上であれば良く特に限定されないが、図1に示す本発明の一実施形態に係るコンピュータシステムでは、一例として15個のI/O装置を備える構成としている。
【0022】
図1に示す本発明の一実施形態に係るコンピュータシステムでは、CPU1が割り込み要求信号用入力ポートIを1つ備え、各I/O装置2_#1〜2_#15のオープンドレイン出力又はオープンコレクタ出力の割り込み要求信号用出力ポートOがCPU1の割り込み要求信号用入力ポートIにワイヤードOR接続され、さらにCPU1の割り込み要求信号用入力ポートIがプルアップ抵抗4に接続されている。
【0023】
さらに、図1に示す本発明の一実施形態に係るコンピュータシステムでは、CPU1がタイミング参照信号用出力ポートOを1つ備え、タイミング参照信号IREFがCPU1のタイミング参照信号用出力ポートOから各I/O装置2_#1〜2_#15のタイミング参照信号用入力ポートIに供給される。
【0024】
CPU1は、一定周期のパルス信号であってパルス幅が前記一定周期の1/Nであるタイミング参照信号IREFを生成する。なお、Nは3以上の自然数であり、本実施形態ではN=16としている。
【0025】
I/O装置2_#i(iは1以上15以下の自然数)は、CPU1に対して割り込み要求を行う場合、タイミング参照信号用入力ポートIに入力されるタイミング参照信号IREFを利用して、タイミング参照信号IREFの一周期をタイミング参照信号IREFの立ち上がりを基準としてN分割したタイミング区間T0〜T15(図2A及び図2B参照)のうちI/O装置2_#iに事前に割り当てられるタイミング区間Tiにおいて、割り込み要求信号用出力ポートOから出力する割り込み要求信号をLow状態すなわちアクティブ状態にする。
【0026】
したがって、CPU1の割り込み要求信号用入力ポートIに入力される割り込み要求信号ITRQ_Lの理想的なタイミングチャートは、例えばI/O装置2_#2から割り込み要求があった場合には図2Aに示すようになり、また、例えばI/O装置2_#4及びI/O装置2_#12から割り込み要求があった場合には図2Bに示すようになる。
【0027】
CPU1は、割り込み要求信号用入力ポートIに入力される割り込み要求信号ITRQ_LがLow状態すなわちアクティブ状態であるか否かを各タイミング区間単位で判定することによって、どのI/O装置から割り込み要求があったか、及びその要求が割り込みのプリオリティを満たしているかを、CPU1がハードウェアで判別することができる。そして、その判別結果に従って、CPU1は、割り込み要求をしたI/O装置用の割り込みベクターをメインメモリ3から読み出し、その読み出したベクター(サービスルーチンの先頭アドレス)に基づいて、割り込み要求をしたI/O装置用の割り込みサービスルーチンにアクセスし、割り込み要求をしたI/O装置用の割り込みサービス処理を実行する。例えば、割り込み要求をしたI/O装置がI/O装置2_#2である場合、上記の割り込み要求をしたI/O装置用の割り込みベクターは「マスカブル割り込み#2ベクター」となり、上記の割り込み要求をしたI/O装置用の割り込みサービスルーチンは「割り込み#2のサービスルーチン」となる。なお、割り込みサービス処理の実行前にスタックポインタSPを用いてプログラムカウンタPCの値等をメモリスタック内に待避させておき、割り込みサービス処理の完了後に復帰させる。
【0028】
図1に示す本発明の一実施形態に係るコンピュータシステムは、割り込みを実現するために必要なCPUのピン数が2個で済むという長所、どのI/O装置から割り込み要求があったかを判別するためにポーリングを必要としないという長所、及び、割り込みサービスルーチンをI/O装置毎で独立させることができるという長所を有している。
【0029】
<CPUのI/O部分の構成>
次に、CPU1のI/O部分について説明する。CPU1のI/O部分の一回路構成例を図3に示す。また、CPU1のI/O部分の各種信号の一例を図4のタイムチャートに示す。図4に示すタイムチャートは、I/O装置2_#1、I/O装置2_#2、I/O装置2_#7、及びI/O装置2_#15それぞれから割り込み要求があった場合の例を示している。
【0030】
分周器101は、CPU1のクロック信号CPU_CLKを分周して割り込み処理用クロック信号INTERRUPT_CLK(図4参照)を生成する。4bitバイナリカウンタ102は、割り込み処理用クロック信号INTERRUPT_CLKに同期してカウント動作を行う。なお、4bitバイナリカウンタ102のカウンタ値(10進数)0〜15は図2A及び図2Bに示したタイミング区間T0〜T15に対応している。ANDゲート103は、4bitバイナリカウンタ102の全ビットの論理積IREF0(図4参照)をDフリップフロップ104のD端子に送出する。Dフリップフロップ104は、割り込み処理用クロック信号INTERRUPT_CLKの立ち上がりタイミングで、ANDゲート103の出力信号IREF0の状態を保持して、タイミング参照信号IREF(図4参照)としてQ端子から出力する。Dフリップフロップ104のQ端子から出力されるタイミング参照信号IREFは、CPU1のタイミング参照信号用出力ポートO(図1参照)から出力される。また、Dフリップフロップ104のQ端子から出力されるタイミング参照信号IREFによって4bitバイナリカウンタ102がリセットされる。なお、本実施形態では、図4に示す通りタイミング参照信号IREFのパルス幅を一例として880nSとしている。
【0031】
ノイズフィルタ105は、CPU1の割り込み要求信号用入力ポートI(図1参照)に入力される割り込み要求信号ITRQ_L(図4参照)の反転信号からノイズを除去し、ノイズを除去した割り込み要求信号ITRQ_Lの反転信号を、Dフリップフロップ106_#15〜106_#1によって構成され割り込み処理用クロック信号INTERRUPT_CLKの立ち下がりタイミングでシフトを行うシフトレジスタに供給する。
【0032】
データセレクタ107_#i(iは1以上15以下の自然数)は、タイミング参照信号IREFが“1(High)”のとき、シフトレジスタの(16−i)段目出力すなわちDフリップフロップ106_#iのQ端子から出力されるデータをDフリップフロップ108_#iのD端子に送出し、タイミング参照信号IREFが“0(Low)”のとき、Dフリップフロップ108_#iのQ端子から出力されるデータRQjをDフリップフロップ108_#iのD端子に戻す。このようにしてシリアルデータである割り込み要求信号ITRQ_LはパラレルデータRQ15〜RQ1に変換される。CPU1は、そのパラレルデータRQ15〜RQ1を用いて、どのI/O装置から割り込み要求があったかを、CPU11内のプライオリティエンコーダ(不図示)等のハードウェアで判別する。
【0033】
<I/O装置のI/O部分の構成>
次に、I/O装置2_#iのI/O部分について説明する。上述した通り、I/O装置2_#iは、CPU1に対して割り込み要求を行う場合、タイミング参照信号用入力ポートIに入力されるタイミング参照信号IREFを利用して、タイミング参照信号IREFの一周期をN分割したタイミング区間T0〜T15(図2A及び図2B参照)のうちI/O装置2_#iに事前に割り当てられるタイミング区間Tiにおいて、割り込み要求信号用出力ポートOから出力する割り込み要求信号をLow状態すなわちアクティブ状態にする。このような動作を実現するために、例えば、I/O装置2_#iが、タイミング参照信号IREFをタイミング参照信号IREFのパルス幅の1〜15倍の時間遅らせた15種の遅延信号(図5に示すタイミング信号TIM1〜TIM15)を生成し、タイミング信号TIM1〜TIM15の中のタイミング信号TIMiを利用して、タイミング区間Tiにおいて割り込み要求信号をLow状態にすればよい。
【0034】
しかしながら、通常、CPU1側でタイミング参照信号IREFを生成する際に用いた割り込み処理用クロック信号INTERRUPT_CLKと位相も周期も同じクロック信号をI/O装置2_#i側で用意することができないので、タイミング信号TIM1〜TIM15を生成する回路を、タイミング参照信号IREFが入力されるシフトレジスタの様な簡単な回路によって実現することができない。
【0035】
このため、I/O装置2_#iのI/O部分を例えば図6に示す回路構成とし、I/O装置2_#iが、タイミング信号TIM1〜TIM15に近似するタイミング信号TIM1A〜TIM15Aを生成するようにする。また、I/O装置2_#iのI/O部分の各種信号の一例を図7に示す。なお、図7には、I/O装置2_#iのI/O部分の各種信号以外に、理想的なタイミング信号TIM1及びTIM2も参考のために図示している。
【0036】
I/O装置2_#iは、タイミング参照信号IREFのパルス幅の1/6以下の周期を持つクロック信号を持っているものとし、このクロック信号をサンプリングクロック信号SMP_CLKと呼ぶ。本実施形態では、タイミング参照信号IREFのパルス幅を880nSとしているので、サンプリングクロック信号SMP_CLKの周波数は約6.8MHz以上になる。本実施形態では、サンプリングクロック信号SMP_CLKの周波数を10MHzとする。
【0037】
Dフリップフロップ201は、タイミング参照信号IREFをサンプリングクロック信号SMP_CLKに同期させてQ端子から出力する。Dフリップフロップ202、Dフリップフロップ203、及びANDゲート204は、サンプリングクロック信号SMP_CLKに同期していないタイミング参照信号IREF(図7参照)を同期させた後、タイミング参照信号IREFの立ち上がり検出信号IREF_RISE(図7参照)を生成する。
【0038】
8bitカウンタ205は、RES端子に入力された立ち上がり検出信号IREF_RISEによって同期リセットされ、サンプリングクロック信号SMP_CLKに同期してカウント動作を行う(図7参照)。
【0039】
タイミングデコーダ206は、8bitカウンタ205のカウンタ値に基づいて、デコード信号TMS1〜TMS15及びTMS15Dを生成する。デコード信号TMSi(iは1以上15以下の自然数)は、割り込みが発生する場合(サンプリングクロック信号SMP_CLKの立ち上がりタイミングでINT_PENの状態を保持するDフリップフロップ207のQ端子から出力されるINT_REQが“1(High)”の場合)におけるタイミング信号TIMiA(iは1以上15以下の自然数)の立ち上がりを決定するための信号である。デコード信号TMS15Dは、割り込みが発生する場合(サンプリングクロック信号SMP_CLKの立ち上がりタイミングでINT_PENの状態を保持するDフリップフロップ207のQ端子から出力されるINT_REQが“1(High)”の場合)におけるタイミング信号TIM15Aの立ち下がりを決定するための信号である。
【0040】
タイミング参照信号IREFの立ち上がりからタイミング信号TIMi(iは1以上15以下の自然数)の立ち上がりまでの遅延時間及びタイミング参照信号IREFの立ち上がりからタイミング信号TIM15の立ち下がりまでの遅延時間は図8に示す通りである。「I/O装置側において、入力信号IREFに同期した信号がある」と一般的には想定できないので、サンプリングクロック信号SMP_CLKを使って入力信号IREFに続くタイミングに近い信号を作ると、各デコード信号の立ち上がりタイミング範囲は図8に示すようになる。そして、タイミング信号TIMiAのパルス幅がサンプリングクロック信号SMP_CLKのクロック数8個分または9個分になるように、図8に示す通りに各デコード信号の立ち上がりタイミングを決定する。この決定したタイミング(8bitカウンタ205のカウンタ値)を図6では、各デコード信号横に記載している。
【0041】
SRフリップフロップ208_i(iは1以上15以下の自然数)は、サンプリングクロック信号SMP_CLKの立ち上がりに同期して、立ち上がり検出信号IREF_RISEによってリセットされ、INT_REQとデコード信号TMSiとが共に“1(High)”であればセットされ、デコード信号TMS(i+1)(ただしi=15のときはデコード信号TMS15D)が“1(High)”であればリセットされ、Q端子からタイミング信号TIMiAを出力する。
【0042】
タイミング選択レジスタ209には、I/O装置毎に個別に設定される設定値が予め設定されている。本実施形態では、I/O装置2_#i(iは1以上15以下の自然数)に対してiとなる4bitデータを設定値として設定している。なお、割り込みが不要なI/O装置であれば、本実施形態の構成のI/O装置においてタイミング選択レジスタ209に設定される設定値を0にすればよい。
【0043】
セレクタ210は、タイミング選択レジスタ209に保持されている設定値に基づいて、設定値がiであればタイミング信号TIMiAを選択して出力する。そして、セレクタ210から出力されるタイミング信号はオープンドレイン出力で各I/O装置の割り込み要求信号用出力ポートOから出力される。
【0044】
図6に示す構成例では、割り込みが発生する場合(サンプリングクロック信号SMP_CLKの立ち上がりタイミングでINT_PENの状態を保持するDフリップフロップ207のQ端子から出力されるINT_REQが“1(High)”の場合)におけるタイミング信号TIMiA(iは1以上15以下の自然数)が、理想的なタイミング信号TIMi(図5参照)に対して若干ずれるが、CPU1が各タイミング区間のほぼ中央で割り込み要求信号ITRQ_Lを検知するようにすれば、当該ずれによって問題が生ずることはない。
【0045】
<その他>
以上、本発明に係る実施形態について説明したが、本発明の範囲はこれに限定されるものではなく、発明の主旨を逸脱しない範囲で種々の変更を加えて実行することができる。
【0046】
例えば、I/O装置のI/O部分の回路構成において、図6のようにSRフリップフロップ208_iの前段にANDゲートを設けるのではなく、図9のようにSRフリップフロップとセレクタ210との間にANDゲートを設けてもよく、また、図10に示すようにセレクタ210の後段にANDゲートを設けるようにしてもよい。
【0047】
また例えば、I/O装置のI/O部分の回路構成において、図6のようにオープンドレイン出力にするのではなく、オープンコレクタ出力にしてもよい。
【符号の説明】
【0048】
1、11、21 CPU
2_#1〜2_#15 I/O装置
12_#1〜12_#15 I/O装置
22_#1〜22_#15 I/O装置
3、13、23 メインメモリ
4、24 プルアップ抵抗
101 分周器
102 4bitバイナリカウンタ
103 ANDゲート
104 Dフリップフロップ
105 ノイズフィルタ
106_#1〜106_#15 Dフリップフロップ
107_#1〜107_#15 データセレクタ
108_#1〜108_#15 Dフリップフロップ
201〜203 Dフリップフロップ
204 ANDゲート
205 8bitカウンタ
206 タイミングデコーダ
207 Dフリップフロップ
208_1〜208_15 SRフリップフロップ
209 タイミング選択レジスタ
210 セレクタ
PC プログラムカウンタ
SP スタックポインタ
【技術分野】
【0001】
本発明は、CPU(Central Processing Unit)と、複数のI/O装置(入出力装置)とを備えるコンピュータシステムに関する。
【背景技術】
【0002】
従来のコンピュータシステムでは、I/O装置からCPUへの割り込み要求通知を次に示す二つの方式(第1の割り込み要求通知方式、第2の割り込み要求通知方式)のいずれかで行うことが一般的であった。
【0003】
まず、第1の割り込み要求通知方式について説明する。図11は、第1の割り込み要求通知方式を行う従来のコンピュータシステムの概略構成例を示す図である。図11では、コンピュータシステムが15個のI/O装置を備える場合の構成を図示している。図11に示す従来のコンピュータシステムでは、割り込み要求信号を受け取る入力ポート(割り込み要求信号用入力ポート)I_#1〜I_#15をCPU11がI/O装置12_#1〜12_#15の個数分すなわち15個備え、割り込み要求信号伝送ラインがI/O装置12_#1〜12_#15の個数分すなわち15本設けられ、各割り込み要求信号伝送ラインによってCPU1の各割り込み要求信号用入力ポートI_#1〜I_#15と各I/O装置12_#1〜12_#15の割り込み要求信号用出力ポートOとが接続されている。ただし、CPU11内のプライオリティエンコーダ(不図示)を外付けにすれば、CPU11の割り込み要求信号用入力ポートを15個から4個に減らすことは可能である。
【0004】
図11に示す従来のコンピュータシステムでは、どのI/O装置から割り込み要求があったかを、CPU11がハードウェアで判別することができる。そして、その判別結果に従って、CPU11は、割り込み要求をしたI/O装置用の割り込みベクターをメインメモリ13から読み出し、その読み出したベクター(サービスルーチンの先頭アドレス)に基づいて、割り込み要求をしたI/O装置用の割り込みサービスルーチンにアクセスし、割り込み要求をしたI/O装置用の割り込みサービス処理を実行する。例えば、割り込み要求をしたI/O装置がI/O装置12_#2である場合、上記の割り込み要求をしたI/O装置用の割り込みベクターは「マスカブル割り込み#2ベクター」となり、上記の割り込み要求をしたI/O装置用の割り込みサービスルーチンは「割り込み#2のサービスルーチン」となる。なお、割り込みサービス処理の実行前にスタックポインタSPを用いてプログラムカウンタPCの値等をメモリスタック内に待避させておき、割り込みサービス処理の完了後に復帰させる。
【0005】
次に、第2の割り込み要求通知方式について説明する。図12は、第2の割り込み要求通知方式を行う従来のコンピュータシステムの概略構成例を示す図である。図12では、図11と同様に、コンピュータシステムが15個のI/O装置を備える場合の構成を図示している。図12に示す従来のコンピュータシステムでは、CPU21が割り込み要求信号用入力ポートIを1つ備え、各I/O装置22_#1〜22_#15のオープンドレイン出力又はオープンコレクタ出力の割り込み要求信号用出力ポートOがCPU21の割り込み要求信号用入力ポートIにワイヤードOR接続され、さらにCPU21の割り込み要求信号用入力ポートIがプルアップ抵抗24に接続されている。図12に示す従来のコンピュータシステムでは、どれか1つ以上のI/O装置から割り込み要求信号が出力されると、CPU1の割り込み要求信号用入力ポートIが静的にLowになる。したがって、図12に示す従来のコンピュータシステムでは、どのI/O装置から割り込み要求があったかを、CPU21がハードウェアで判別することができない。このため、割り込み要求信号用入力ポートIがLowになると、CPU21は、マスカブル割り込みベクターをメインメモリ23から読み出し、その読み出したベクター(サービスルーチンの先頭アドレス)に基づいて、割り込み共通のサービスルーチンにアクセスし、割り込み共通のサービスルーチン(ソフトウェア)によってどのI/O装置が割り込み要求をしているかをポーリングで判別してから割り込みサービス処理を実行する。なお、割り込みサービス処理の実行前にスタックポインタSPを用いてプログラムカウンタPCの値等をメモリスタック内に待避させておき、割り込みサービス処理の完了後に復帰させる。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開平7−28392号公報(段落0004及び0005)
【発明の概要】
【発明が解決しようとする課題】
【0007】
上述した第1の割り込み要求通知方式は、どのI/O装置から割り込み要求があったかを判別するためにポーリングを必要としないという長所、及び、割り込みサービスルーチンをI/O装置毎で独立させることができるという長所を有している反面、割り込みを実現するために必要なCPUのピン数が多くなるという短所を有している。
【0008】
また、上述した第2の割り込み要求通知方式は、割り込みを実現するために必要なCPUのピン数が少ないという長所を有している反面、どのI/O装置から割り込み要求があったかを判別するためにポーリングが必要であるという短所、及び、割り込みサービスルーチンが全てのI/O装置で共通であって割り込みサービスルーチンをI/O装置毎で独立させることができないという短所を有している。
【0009】
本発明は、上記の状況に鑑み、割り込みを実現するために必要なCPUのピン数が少なく、且つ、どのI/O装置から割り込み要求があったかを判別するためにポーリングを必要としないコンピュータシステムを提供することを目的とする。
【課題を解決するための手段】
【0010】
上記目的を達成するために本発明に係るコンピュータシステムは、CPUと、複数のI/O装置とを備えるコンピュータシステムであって、前記CPUは割り込み要求信号用入力ポート及びタイミング参照信号用出力ポートを備え、前記I/O装置はタイミング参照信号用入力ポート及び割り込み要求信号用出力ポートを備え、複数の前記割り込み要求信号用出力ポートが前記割り込み要求信号用入力ポートにワイヤードOR接続され、前記CPUは、一定周期のパルス信号であってパルス幅が前記一定周期の1/3より小さいタイミング参照信号を生成して前記タイミング参照信号用出力ポートから出力し、前記I/O装置は、前記CPUに対して割り込み要求を行う場合、前記タイミング参照信号用入力ポートに入力される前記タイミング参照信号を利用して、前記タイミング参照信号の一周期を3つ以上に分割して得られる3つ以上のタイミング区間のうち前記I/O装置各々個別に事前に割り当てられるタイミング区間において、前記割り込み要求信号用出力ポートから出力する割り込み要求信号をアクティブ状態にし、前記CPUは、前記割り込み要求信号用入力ポートに入力される前記割り込み要求信号がアクティブ状態であるか否かを各タイミング区間単位で判定する構成(第1の構成)としている。
【0011】
上記第1の構成によると、割り込みを実現するために必要なCPUのピン数が割り込み要求信号用入力ポート及びタイミング参照信号用出力ポートの2個で済む。また、上記第1の構成によると、どのI/O装置から割り込み要求があったかを割り込み要求信号がアクティブ状態になっているタイミング区間によって判別することができるので、どのI/O装置から割り込み要求があったかを判別するためにポーリングを必要としない。
【0012】
また、上記第1の構成のコンピュータシステムにおいて、前記I/O装置毎の割り込みサービスルーチンを格納するメモリを備え、前記CPUは、前記割り込み要求信号がアクティブ状態であるか否かの判定結果に基づいて、割り込み要求をした前記I/O装置の前記割り込みサービスルーチンにアクセスし、割り込み要求をした前記I/O装置用の割り込みサービス処理を実行する構成(第2の構成)であることが好ましい。
【0013】
上記第2の構成によると、割り込みサービスルーチンをI/O装置毎で独立させることができる。
【0014】
また、上記第1の構成又は上記第2の構成のコンピュータシステムにおいて、前記タイミング参照信号のパルス幅が前記タイミング参照信号の一定周期の1/N(Nは3以上の自然数)であり、前記タイミング区間は、前記タイミング参照信号の立ち上がりを基準として前記タイミング参照信号の一定周期をN分割して得られる区間であり、前記I/O装置は、前記CPUに対して割り込み要求を行う場合、前記タイミング参照信号用入力ポートに入力される前記タイミング参照信号を利用して、前記タイミング参照信号を前記タイミング参照信号のパルス幅の整数倍の時間遅らせた複数種の遅延信号に近似する複数種のタイミング信号を生成し、複数種の前記タイミング信号の中から前記I/O装置各々個別に事前に割り当てられるタイミング区間に対応するタイミング信号を選択することによって、前記I/O装置各々個別に事前に割り当てられるタイミング区間において、前記割り込み要求信号用出力ポートから出力する割り込み要求信号をアクティブ状態にする構成(第3の構成)であることが好ましい。
【0015】
上記第3の構成によると、I/O装置は、CPU側でタイミング参照信号を生成する際に用いた割り込み処理用クロック信号と位相及び周期の少なくとも一つが異なるクロック信号を利用して、タイミング信号を生成することができる。したがって、CPU側でタイミング参照信号を生成する際に用いた割り込み処理用クロック信号と位相も周期も同じクロック信号をI/O装置側で用意する必要がなくなる。
【0016】
また、上記第3の構成のコンピュータシステムにおいて、前記CPUは、前記タイミング区間のほぼ中央で前記割り込み要求信号がアクティブ状態であるか否かを判定する構成(第4の構成)であることが好ましい。
【0017】
上記第4の構成によると、近似によるタイミング信号のずれによって問題が生ずることを確実に防止することができる。
【発明の効果】
【0018】
本発明によると、割り込みを実現するために必要なCPUのピン数が少なく、且つ、どのI/O装置から割り込み要求があったかを判別するためにポーリングを必要としないコンピュータシステムを実現することができる。
【図面の簡単な説明】
【0019】
【図1】本発明の一実施形態に係るコンピュータシステムの概略構成を示す図である。
【図2A】本発明の一実施形態に係るコンピュータシステムにおける各種信号の一例を示すタイミングチャートである。
【図2B】本発明の一実施形態に係るコンピュータシステムにおける各種信号の他の例を示すタイミングチャートである。
【図3】本発明の一実施形態に係るコンピュータシステムが備えるCPUのI/O部分の一回路構成例を示す図である。
【図4】本発明の一実施形態に係るコンピュータシステムが備えるCPUのI/O部分の各種信号の一例を示すタイミングチャートである。
【図5】タイミング参照信号とその遅延信号を示すタイミングチャートである。
【図6】本発明の一実施形態に係るコンピュータシステムが備えるCPUのI/O部分の一回路構成例を示す図である。
【図7】本発明の一実施形態に係るコンピュータシステムが備えるCPUのI/O部分の各種信号の一例を示すタイミングチャートである。
【図8】各デコード信号の立ち上がりタイミングを示す図である。
【図9】本発明の一実施形態に係るコンピュータシステムが備えるCPUのI/O部分の他の回路構成例を示す図である。
【図10】本発明の一実施形態に係るコンピュータシステムが備えるCPUのI/O部分の更に他の回路構成例を示す図である。
【図11】第1の割り込み要求通知方式を行う従来のコンピュータシステムの概略構成例を示す図である。
【図12】第2の割り込み要求通知方式を行う従来のコンピュータシステムの概略構成例を示す図である。
【発明を実施するための形態】
【0020】
本発明の実施形態について図面を参照して以下に説明する。
【0021】
<コンピュータシステムの全体構成>
本発明の一実施形態に係るコンピュータシステムの概略構成を図1に示す。図1に示す本発明の一実施形態に係るコンピュータシステムは、CPU1と、15個のI/O装置2_#1〜2_#15と、メインメモリ3と、プルアップ抵抗4とを備えている。本発明に係るコンピュータシステムが備えるI/O装置の個数は2個以上であれば良く特に限定されないが、図1に示す本発明の一実施形態に係るコンピュータシステムでは、一例として15個のI/O装置を備える構成としている。
【0022】
図1に示す本発明の一実施形態に係るコンピュータシステムでは、CPU1が割り込み要求信号用入力ポートIを1つ備え、各I/O装置2_#1〜2_#15のオープンドレイン出力又はオープンコレクタ出力の割り込み要求信号用出力ポートOがCPU1の割り込み要求信号用入力ポートIにワイヤードOR接続され、さらにCPU1の割り込み要求信号用入力ポートIがプルアップ抵抗4に接続されている。
【0023】
さらに、図1に示す本発明の一実施形態に係るコンピュータシステムでは、CPU1がタイミング参照信号用出力ポートOを1つ備え、タイミング参照信号IREFがCPU1のタイミング参照信号用出力ポートOから各I/O装置2_#1〜2_#15のタイミング参照信号用入力ポートIに供給される。
【0024】
CPU1は、一定周期のパルス信号であってパルス幅が前記一定周期の1/Nであるタイミング参照信号IREFを生成する。なお、Nは3以上の自然数であり、本実施形態ではN=16としている。
【0025】
I/O装置2_#i(iは1以上15以下の自然数)は、CPU1に対して割り込み要求を行う場合、タイミング参照信号用入力ポートIに入力されるタイミング参照信号IREFを利用して、タイミング参照信号IREFの一周期をタイミング参照信号IREFの立ち上がりを基準としてN分割したタイミング区間T0〜T15(図2A及び図2B参照)のうちI/O装置2_#iに事前に割り当てられるタイミング区間Tiにおいて、割り込み要求信号用出力ポートOから出力する割り込み要求信号をLow状態すなわちアクティブ状態にする。
【0026】
したがって、CPU1の割り込み要求信号用入力ポートIに入力される割り込み要求信号ITRQ_Lの理想的なタイミングチャートは、例えばI/O装置2_#2から割り込み要求があった場合には図2Aに示すようになり、また、例えばI/O装置2_#4及びI/O装置2_#12から割り込み要求があった場合には図2Bに示すようになる。
【0027】
CPU1は、割り込み要求信号用入力ポートIに入力される割り込み要求信号ITRQ_LがLow状態すなわちアクティブ状態であるか否かを各タイミング区間単位で判定することによって、どのI/O装置から割り込み要求があったか、及びその要求が割り込みのプリオリティを満たしているかを、CPU1がハードウェアで判別することができる。そして、その判別結果に従って、CPU1は、割り込み要求をしたI/O装置用の割り込みベクターをメインメモリ3から読み出し、その読み出したベクター(サービスルーチンの先頭アドレス)に基づいて、割り込み要求をしたI/O装置用の割り込みサービスルーチンにアクセスし、割り込み要求をしたI/O装置用の割り込みサービス処理を実行する。例えば、割り込み要求をしたI/O装置がI/O装置2_#2である場合、上記の割り込み要求をしたI/O装置用の割り込みベクターは「マスカブル割り込み#2ベクター」となり、上記の割り込み要求をしたI/O装置用の割り込みサービスルーチンは「割り込み#2のサービスルーチン」となる。なお、割り込みサービス処理の実行前にスタックポインタSPを用いてプログラムカウンタPCの値等をメモリスタック内に待避させておき、割り込みサービス処理の完了後に復帰させる。
【0028】
図1に示す本発明の一実施形態に係るコンピュータシステムは、割り込みを実現するために必要なCPUのピン数が2個で済むという長所、どのI/O装置から割り込み要求があったかを判別するためにポーリングを必要としないという長所、及び、割り込みサービスルーチンをI/O装置毎で独立させることができるという長所を有している。
【0029】
<CPUのI/O部分の構成>
次に、CPU1のI/O部分について説明する。CPU1のI/O部分の一回路構成例を図3に示す。また、CPU1のI/O部分の各種信号の一例を図4のタイムチャートに示す。図4に示すタイムチャートは、I/O装置2_#1、I/O装置2_#2、I/O装置2_#7、及びI/O装置2_#15それぞれから割り込み要求があった場合の例を示している。
【0030】
分周器101は、CPU1のクロック信号CPU_CLKを分周して割り込み処理用クロック信号INTERRUPT_CLK(図4参照)を生成する。4bitバイナリカウンタ102は、割り込み処理用クロック信号INTERRUPT_CLKに同期してカウント動作を行う。なお、4bitバイナリカウンタ102のカウンタ値(10進数)0〜15は図2A及び図2Bに示したタイミング区間T0〜T15に対応している。ANDゲート103は、4bitバイナリカウンタ102の全ビットの論理積IREF0(図4参照)をDフリップフロップ104のD端子に送出する。Dフリップフロップ104は、割り込み処理用クロック信号INTERRUPT_CLKの立ち上がりタイミングで、ANDゲート103の出力信号IREF0の状態を保持して、タイミング参照信号IREF(図4参照)としてQ端子から出力する。Dフリップフロップ104のQ端子から出力されるタイミング参照信号IREFは、CPU1のタイミング参照信号用出力ポートO(図1参照)から出力される。また、Dフリップフロップ104のQ端子から出力されるタイミング参照信号IREFによって4bitバイナリカウンタ102がリセットされる。なお、本実施形態では、図4に示す通りタイミング参照信号IREFのパルス幅を一例として880nSとしている。
【0031】
ノイズフィルタ105は、CPU1の割り込み要求信号用入力ポートI(図1参照)に入力される割り込み要求信号ITRQ_L(図4参照)の反転信号からノイズを除去し、ノイズを除去した割り込み要求信号ITRQ_Lの反転信号を、Dフリップフロップ106_#15〜106_#1によって構成され割り込み処理用クロック信号INTERRUPT_CLKの立ち下がりタイミングでシフトを行うシフトレジスタに供給する。
【0032】
データセレクタ107_#i(iは1以上15以下の自然数)は、タイミング参照信号IREFが“1(High)”のとき、シフトレジスタの(16−i)段目出力すなわちDフリップフロップ106_#iのQ端子から出力されるデータをDフリップフロップ108_#iのD端子に送出し、タイミング参照信号IREFが“0(Low)”のとき、Dフリップフロップ108_#iのQ端子から出力されるデータRQjをDフリップフロップ108_#iのD端子に戻す。このようにしてシリアルデータである割り込み要求信号ITRQ_LはパラレルデータRQ15〜RQ1に変換される。CPU1は、そのパラレルデータRQ15〜RQ1を用いて、どのI/O装置から割り込み要求があったかを、CPU11内のプライオリティエンコーダ(不図示)等のハードウェアで判別する。
【0033】
<I/O装置のI/O部分の構成>
次に、I/O装置2_#iのI/O部分について説明する。上述した通り、I/O装置2_#iは、CPU1に対して割り込み要求を行う場合、タイミング参照信号用入力ポートIに入力されるタイミング参照信号IREFを利用して、タイミング参照信号IREFの一周期をN分割したタイミング区間T0〜T15(図2A及び図2B参照)のうちI/O装置2_#iに事前に割り当てられるタイミング区間Tiにおいて、割り込み要求信号用出力ポートOから出力する割り込み要求信号をLow状態すなわちアクティブ状態にする。このような動作を実現するために、例えば、I/O装置2_#iが、タイミング参照信号IREFをタイミング参照信号IREFのパルス幅の1〜15倍の時間遅らせた15種の遅延信号(図5に示すタイミング信号TIM1〜TIM15)を生成し、タイミング信号TIM1〜TIM15の中のタイミング信号TIMiを利用して、タイミング区間Tiにおいて割り込み要求信号をLow状態にすればよい。
【0034】
しかしながら、通常、CPU1側でタイミング参照信号IREFを生成する際に用いた割り込み処理用クロック信号INTERRUPT_CLKと位相も周期も同じクロック信号をI/O装置2_#i側で用意することができないので、タイミング信号TIM1〜TIM15を生成する回路を、タイミング参照信号IREFが入力されるシフトレジスタの様な簡単な回路によって実現することができない。
【0035】
このため、I/O装置2_#iのI/O部分を例えば図6に示す回路構成とし、I/O装置2_#iが、タイミング信号TIM1〜TIM15に近似するタイミング信号TIM1A〜TIM15Aを生成するようにする。また、I/O装置2_#iのI/O部分の各種信号の一例を図7に示す。なお、図7には、I/O装置2_#iのI/O部分の各種信号以外に、理想的なタイミング信号TIM1及びTIM2も参考のために図示している。
【0036】
I/O装置2_#iは、タイミング参照信号IREFのパルス幅の1/6以下の周期を持つクロック信号を持っているものとし、このクロック信号をサンプリングクロック信号SMP_CLKと呼ぶ。本実施形態では、タイミング参照信号IREFのパルス幅を880nSとしているので、サンプリングクロック信号SMP_CLKの周波数は約6.8MHz以上になる。本実施形態では、サンプリングクロック信号SMP_CLKの周波数を10MHzとする。
【0037】
Dフリップフロップ201は、タイミング参照信号IREFをサンプリングクロック信号SMP_CLKに同期させてQ端子から出力する。Dフリップフロップ202、Dフリップフロップ203、及びANDゲート204は、サンプリングクロック信号SMP_CLKに同期していないタイミング参照信号IREF(図7参照)を同期させた後、タイミング参照信号IREFの立ち上がり検出信号IREF_RISE(図7参照)を生成する。
【0038】
8bitカウンタ205は、RES端子に入力された立ち上がり検出信号IREF_RISEによって同期リセットされ、サンプリングクロック信号SMP_CLKに同期してカウント動作を行う(図7参照)。
【0039】
タイミングデコーダ206は、8bitカウンタ205のカウンタ値に基づいて、デコード信号TMS1〜TMS15及びTMS15Dを生成する。デコード信号TMSi(iは1以上15以下の自然数)は、割り込みが発生する場合(サンプリングクロック信号SMP_CLKの立ち上がりタイミングでINT_PENの状態を保持するDフリップフロップ207のQ端子から出力されるINT_REQが“1(High)”の場合)におけるタイミング信号TIMiA(iは1以上15以下の自然数)の立ち上がりを決定するための信号である。デコード信号TMS15Dは、割り込みが発生する場合(サンプリングクロック信号SMP_CLKの立ち上がりタイミングでINT_PENの状態を保持するDフリップフロップ207のQ端子から出力されるINT_REQが“1(High)”の場合)におけるタイミング信号TIM15Aの立ち下がりを決定するための信号である。
【0040】
タイミング参照信号IREFの立ち上がりからタイミング信号TIMi(iは1以上15以下の自然数)の立ち上がりまでの遅延時間及びタイミング参照信号IREFの立ち上がりからタイミング信号TIM15の立ち下がりまでの遅延時間は図8に示す通りである。「I/O装置側において、入力信号IREFに同期した信号がある」と一般的には想定できないので、サンプリングクロック信号SMP_CLKを使って入力信号IREFに続くタイミングに近い信号を作ると、各デコード信号の立ち上がりタイミング範囲は図8に示すようになる。そして、タイミング信号TIMiAのパルス幅がサンプリングクロック信号SMP_CLKのクロック数8個分または9個分になるように、図8に示す通りに各デコード信号の立ち上がりタイミングを決定する。この決定したタイミング(8bitカウンタ205のカウンタ値)を図6では、各デコード信号横に記載している。
【0041】
SRフリップフロップ208_i(iは1以上15以下の自然数)は、サンプリングクロック信号SMP_CLKの立ち上がりに同期して、立ち上がり検出信号IREF_RISEによってリセットされ、INT_REQとデコード信号TMSiとが共に“1(High)”であればセットされ、デコード信号TMS(i+1)(ただしi=15のときはデコード信号TMS15D)が“1(High)”であればリセットされ、Q端子からタイミング信号TIMiAを出力する。
【0042】
タイミング選択レジスタ209には、I/O装置毎に個別に設定される設定値が予め設定されている。本実施形態では、I/O装置2_#i(iは1以上15以下の自然数)に対してiとなる4bitデータを設定値として設定している。なお、割り込みが不要なI/O装置であれば、本実施形態の構成のI/O装置においてタイミング選択レジスタ209に設定される設定値を0にすればよい。
【0043】
セレクタ210は、タイミング選択レジスタ209に保持されている設定値に基づいて、設定値がiであればタイミング信号TIMiAを選択して出力する。そして、セレクタ210から出力されるタイミング信号はオープンドレイン出力で各I/O装置の割り込み要求信号用出力ポートOから出力される。
【0044】
図6に示す構成例では、割り込みが発生する場合(サンプリングクロック信号SMP_CLKの立ち上がりタイミングでINT_PENの状態を保持するDフリップフロップ207のQ端子から出力されるINT_REQが“1(High)”の場合)におけるタイミング信号TIMiA(iは1以上15以下の自然数)が、理想的なタイミング信号TIMi(図5参照)に対して若干ずれるが、CPU1が各タイミング区間のほぼ中央で割り込み要求信号ITRQ_Lを検知するようにすれば、当該ずれによって問題が生ずることはない。
【0045】
<その他>
以上、本発明に係る実施形態について説明したが、本発明の範囲はこれに限定されるものではなく、発明の主旨を逸脱しない範囲で種々の変更を加えて実行することができる。
【0046】
例えば、I/O装置のI/O部分の回路構成において、図6のようにSRフリップフロップ208_iの前段にANDゲートを設けるのではなく、図9のようにSRフリップフロップとセレクタ210との間にANDゲートを設けてもよく、また、図10に示すようにセレクタ210の後段にANDゲートを設けるようにしてもよい。
【0047】
また例えば、I/O装置のI/O部分の回路構成において、図6のようにオープンドレイン出力にするのではなく、オープンコレクタ出力にしてもよい。
【符号の説明】
【0048】
1、11、21 CPU
2_#1〜2_#15 I/O装置
12_#1〜12_#15 I/O装置
22_#1〜22_#15 I/O装置
3、13、23 メインメモリ
4、24 プルアップ抵抗
101 分周器
102 4bitバイナリカウンタ
103 ANDゲート
104 Dフリップフロップ
105 ノイズフィルタ
106_#1〜106_#15 Dフリップフロップ
107_#1〜107_#15 データセレクタ
108_#1〜108_#15 Dフリップフロップ
201〜203 Dフリップフロップ
204 ANDゲート
205 8bitカウンタ
206 タイミングデコーダ
207 Dフリップフロップ
208_1〜208_15 SRフリップフロップ
209 タイミング選択レジスタ
210 セレクタ
PC プログラムカウンタ
SP スタックポインタ
【特許請求の範囲】
【請求項1】
CPUと、複数のI/O装置とを備えるコンピュータシステムであって、
前記CPUは割り込み要求信号用入力ポート及びタイミング参照信号用出力ポートを備え、前記I/O装置はタイミング参照信号用入力ポート及び割り込み要求信号用出力ポートを備え、複数の前記割り込み要求信号用出力ポートが前記割り込み要求信号用入力ポートにワイヤードOR接続され、
前記CPUは、一定周期のパルス信号であってパルス幅が前記一定周期の1/3より小さいタイミング参照信号を生成して前記タイミング参照信号用出力ポートから出力し、
前記I/O装置は、前記CPUに対して割り込み要求を行う場合、前記タイミング参照信号用入力ポートに入力される前記タイミング参照信号を利用して、前記タイミング参照信号の一周期を3つ以上に分割して得られる3つ以上のタイミング区間のうち前記I/O装置各々個別に事前に割り当てられるタイミング区間において、前記割り込み要求信号用出力ポートから出力する割り込み要求信号をアクティブ状態にし、
前記CPUは、前記割り込み要求信号用入力ポートに入力される前記割り込み要求信号がアクティブ状態であるか否かを各タイミング区間単位で判定することを特徴とするコンピュータシステム。
【請求項2】
前記I/O装置毎の割り込みサービスルーチンを格納するメモリを備え、
前記CPUは、前記割り込み要求信号がアクティブ状態であるか否かの判定結果に基づいて、割り込み要求をした前記I/O装置の前記割り込みサービスルーチンにアクセスし、割り込み要求をした前記I/O装置用の割り込みサービス処理を実行することを特徴とする請求項1に記載のコンピュータシステム。
【請求項3】
前記タイミング参照信号のパルス幅が前記タイミング参照信号の一定周期の1/N(Nは3以上の自然数)であり、
前記タイミング区間は、前記タイミング参照信号の立ち上がりを基準として前記タイミング参照信号の一定周期をN分割して得られる区間であり、
前記I/O装置は、前記CPUに対して割り込み要求を行う場合、前記タイミング参照信号用入力ポートに入力される前記タイミング参照信号を利用して、前記タイミング参照信号を前記タイミング参照信号のパルス幅の整数倍の時間遅らせた複数種の遅延信号に近似する複数種のタイミング信号を生成し、複数種の前記タイミング信号の中から前記I/O装置各々個別に事前に割り当てられるタイミング区間に対応するタイミング信号を選択することによって、前記I/O装置各々個別に事前に割り当てられるタイミング区間において、前記割り込み要求信号用出力ポートから出力する割り込み要求信号をアクティブ状態にすることを特徴とする請求項1または請求項2に記載のコンピュータシステム。
【請求項4】
前記CPUは、前記タイミング区間のほぼ中央で前記割り込み要求信号がアクティブ状態であるか否かを判定することを特徴とする請求項3に記載のコンピュータシステム。
【請求項1】
CPUと、複数のI/O装置とを備えるコンピュータシステムであって、
前記CPUは割り込み要求信号用入力ポート及びタイミング参照信号用出力ポートを備え、前記I/O装置はタイミング参照信号用入力ポート及び割り込み要求信号用出力ポートを備え、複数の前記割り込み要求信号用出力ポートが前記割り込み要求信号用入力ポートにワイヤードOR接続され、
前記CPUは、一定周期のパルス信号であってパルス幅が前記一定周期の1/3より小さいタイミング参照信号を生成して前記タイミング参照信号用出力ポートから出力し、
前記I/O装置は、前記CPUに対して割り込み要求を行う場合、前記タイミング参照信号用入力ポートに入力される前記タイミング参照信号を利用して、前記タイミング参照信号の一周期を3つ以上に分割して得られる3つ以上のタイミング区間のうち前記I/O装置各々個別に事前に割り当てられるタイミング区間において、前記割り込み要求信号用出力ポートから出力する割り込み要求信号をアクティブ状態にし、
前記CPUは、前記割り込み要求信号用入力ポートに入力される前記割り込み要求信号がアクティブ状態であるか否かを各タイミング区間単位で判定することを特徴とするコンピュータシステム。
【請求項2】
前記I/O装置毎の割り込みサービスルーチンを格納するメモリを備え、
前記CPUは、前記割り込み要求信号がアクティブ状態であるか否かの判定結果に基づいて、割り込み要求をした前記I/O装置の前記割り込みサービスルーチンにアクセスし、割り込み要求をした前記I/O装置用の割り込みサービス処理を実行することを特徴とする請求項1に記載のコンピュータシステム。
【請求項3】
前記タイミング参照信号のパルス幅が前記タイミング参照信号の一定周期の1/N(Nは3以上の自然数)であり、
前記タイミング区間は、前記タイミング参照信号の立ち上がりを基準として前記タイミング参照信号の一定周期をN分割して得られる区間であり、
前記I/O装置は、前記CPUに対して割り込み要求を行う場合、前記タイミング参照信号用入力ポートに入力される前記タイミング参照信号を利用して、前記タイミング参照信号を前記タイミング参照信号のパルス幅の整数倍の時間遅らせた複数種の遅延信号に近似する複数種のタイミング信号を生成し、複数種の前記タイミング信号の中から前記I/O装置各々個別に事前に割り当てられるタイミング区間に対応するタイミング信号を選択することによって、前記I/O装置各々個別に事前に割り当てられるタイミング区間において、前記割り込み要求信号用出力ポートから出力する割り込み要求信号をアクティブ状態にすることを特徴とする請求項1または請求項2に記載のコンピュータシステム。
【請求項4】
前記CPUは、前記タイミング区間のほぼ中央で前記割り込み要求信号がアクティブ状態であるか否かを判定することを特徴とする請求項3に記載のコンピュータシステム。
【図1】
【図2A】
【図2B】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2A】
【図2B】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2012−221373(P2012−221373A)
【公開日】平成24年11月12日(2012.11.12)
【国際特許分類】
【出願番号】特願2011−88550(P2011−88550)
【出願日】平成23年4月12日(2011.4.12)
【出願人】(000134109)株式会社デジタル (224)
【公開日】平成24年11月12日(2012.11.12)
【国際特許分類】
【出願日】平成23年4月12日(2011.4.12)
【出願人】(000134109)株式会社デジタル (224)
[ Back to top ]