"多気筒内燃機関が有する複数の気筒から排出された排ガスが集合する前記機関の排気通路の排気集合部よりも下流側の位置に配設された三元触媒と、前記排気通路の前記排気集合部と前記三元触媒との間の位置に配設される上流側空燃比センサと、前記排気通路の前記三元触媒の下流側の位置に配設される下流側空燃比センサと、前記上流側空燃比センサの出力値に基いて取得される検出空燃比に相当する値を所定の目標空燃比に相当する値に一致させるためのメインフィードバック量を前記検出空燃比に相当する値と前記目標空燃比に相当する値とに基いて決定するメインフィードバック制御手段と、前記下流側空燃比センサの出力値を所定の下流側目標値に一致させるためのサブフィードバック量を少なくとも前記下流側空燃比センサの出力値と前記下流側目標値との偏差に応じた値を積分することにより得られる積分処理値に基いて算出するとともに、前記積分処理値又は前記サブフィードバック量に基いて前記サブフィードバック量の学習値を取得し且つ前記取得された学習値を所定のガード幅内に規制するサブフィードバック制御手段と、複数の燃料噴射弁であって、それぞれが前記複数の気筒のそれぞれの燃焼室に供給される混合気に含まれる燃料を噴射するように構成された複数の燃料噴射弁と、前記メインフィードバック量、前記サブフィードバック量及び前記学習値に基いて前記燃料噴射弁から噴射される燃料の量を補正することにより前記複数の燃料噴射弁のそれぞれから噴射される燃料の量の指示値である指示燃料噴射量を決定する指示燃料噴射量決定手段と、前記指示燃料噴射量に応じた量の燃料が前記複数の燃料噴射弁のそれぞれから噴射されるように前記複数の燃料噴射弁に噴射指示信号を送出する噴射指示信号送出手段と、を備える内燃機関の燃料噴射量制御装置であって、前記複数の気筒のそれぞれの燃焼室に供給される混合気の空燃比である気筒別空燃比の前記複数の気筒間における不均一性の程度が大きいほど大きくなる空燃比不均衡指標値を取得する空燃比不均衡指標値取得手段と、前記燃料のアルコール濃度を取得するアルコール濃度取得手段と、前記ガード幅を、前記取得された空燃比不均衡指標値が大きいほど大きくするとともに前記取得されたアルコール濃度が高いほど大きくする学習値ガード幅変更手段と、を備えた燃料噴射量制御装置。請求項1に記載の燃料噴射量制御装置において、前記サブフィードバック制御手段は、前記取得された空燃比不均衡指標値が大きいほど前記学習値の変化速度が大きくなり且つ前記取得されたアルコール濃度が高いほど前記学習値の変化速度が大きくなるように前記学習値の変化速度を変更するように構成された、燃料噴射量制御装置。請求項2に記載の燃料噴射量制御装置において、前記サブフィードバック制御手段は、前記下流側空燃比センサの出力値と前記下流側目標値との偏差に応じた値として同偏差に所定のゲインを乗じた値を採用し、前記取得された実際の空燃比不均衡指標値が大きいほど前記ゲインを大きい値に設定し、且つ、前記取得された実際のアルコール濃度が高いほど前記ゲインを大きい値に設定する、ことにより前記学習値の変化速度を変更するように構成された、燃料噴射量制御装置。請求項2に記載の燃料噴射量制御装置において、前記サブフィードバック制御手段は、所定の学習間隔時間の経過毎に前記学習値を更新するとともに、前記取得された空燃比不均衡指標値が大きいほど前記学習間隔時間を短い時間に設定し、且つ、前記取得された実際のアルコール濃度が高いほど前記学習間隔時間を短い時間に設定する、ことにより前記学習値の変化速度を変更するように構成された、燃料噴射量制御装置。請求項1乃至請求項4の何れか一項に記載の燃料噴射量制御装置であって、前記検出空燃比に相当する値は前記検出空燃比そのものの値であり、前記目標空燃比に相当する値は前記目標空燃比そのものの値であり、前記機関の吸入空気量が大きいほど、且つ、前記取得された空燃比不均衡指標値が大きいほど、且つ、前記取得されたアルコール濃度が高いほど、前記目標空燃比を小さい空燃比に設定するか又は前記検出空燃比を大きい空燃比へと補正するリッチ化手段を備えた燃料噴射量制御装置。多気筒内燃機関が有する複数の気筒から排出された排ガスが集合する前記機関の排気通路の排気集合部よりも下流側の位置に配設された三元触媒と、前記排気通路の前記排気集合部と前記三元触媒との間の位置に配設される上流側空燃比センサと、前記排気通路の前記三元触媒の下流側の位置に配設される下流側空燃比センサと、前記上流側空燃比センサの出力値に基いて取得される検出空燃比に相当する値を所定の目標空燃比に相当する値に一致させるためのメインフィードバック量を前記検出空燃比に相当する値と前記目標空燃比に相当する値とに基いて決定するメインフィードバック制御手段と、前記下流側空燃比センサの出力値を所定の下流側目標値に一致させるためのサブフィードバック量を前記下流側空燃比センサの出力値に基いて算出するとともに、前記算出されたサブフィードバック量を所定のガード幅内に規制することによりサブフィードバック量を決定するサブフィードバック制御手段と、複数の燃料噴射弁であって、それぞれが前記複数の気筒のそれぞれの燃焼室に供給される混合気に含まれる燃料を噴射するように構成された複数の燃料噴射弁と、前記メインフィードバック量及び前記サブフィードバック量に基いて前記燃料噴射弁から噴射される燃料の量を補正することにより前記複数の燃料噴射弁のそれぞれから噴射される燃料の量の指示値である指示燃料噴射量を決定する指示燃料噴射量決定手段と、前記指示燃料噴射量に応じた量の燃料が前記複数の燃料噴射弁のそれぞれから噴射されるように前記複数の燃料噴射弁に噴射指示信号を送出する噴射指示信号送出手段と、を備える内燃機関の燃料噴射量制御装置であって、前記複数の気筒のそれぞれの燃焼室に供給される混合気の空燃比である気筒別空燃比の前記複数の気筒間における不均一性の程度が大きいほど大きくなる空燃比不均衡指標値を取得する空燃比不均衡指標値取得手段と、前記燃料のアルコール濃度を取得するアルコール濃度取得手段と、前記ガード幅を、前記取得された空燃比不均衡指標値が大きいほど大きくするとともに前記取得されたアルコール濃度が高いほど大きくするサブフィードバック量ガード幅変更手段と、を備えた燃料噴射量制御装置。請求項1乃至請求項6の何れか一項に記載の燃料噴射量制御装置において、前記空燃比不均衡指標値取得手段は、前記上流側空燃比センサが配設された位置を通過する前記排ガスの空燃比の変動が大きいほど大きくなる基本パラメータを前記上流側空燃比センサの出力値に基づいて取得するとともに、前記基本パラメータに相関を有する値である基本パラメータ相関値に基づいて前記空燃比不均衡指標値を取得するように構成された燃料噴射量制御装置。請求項7に記載の燃料噴射量制御装置において、前記空燃比不均衡指標値取得手段は、前記上流側空燃比センサの出力値Vabyfsの時間についての微分値ddt、前記上流側空燃比センサの出力値に基いて取得される前記検出空燃比abyfsの時間についての微分値ddt、前記上流側空燃比センサの出力値Vabyfsの時間についての二階微分値d2dt2、及び、前記上流側空燃比センサの出力値に基いて取得される前記検出空燃比abyfsの時間についての二階微分値d2dt2、のうちの一つに応じた値を前記基本パラメータとして取得するように構成された燃料噴射量制御装置。請求項7又は請求項8に記載の燃料噴射量制御装置において、前記空燃比不均衡指標値取得手段は、前記基本パラメータ相関値を、前記基本パラメータに応じる値、前記機関の回転速度に応じる値及び前記機関の吸入空気量に応じる値に基いて補正し、前記補正により得られた補正後値に基いて前記空燃比不均衡指標値を取得するように構成された燃料噴射量制御装置。請求項7乃至請求項9の何れか一項に記載の燃料噴射量制御装置において、前記空燃比不均衡指標値取得手段は、前記基本パラメータ相関値を前記取得されたアルコール濃度に基いて補正し、この補正により得られた補正後値に基いて前記空燃比不均衡指標値を取得するように構成された燃料噴射量制御装置。多気筒内燃機関が有する複数の気筒から排出された排ガスが集合する前記機関の排気通路の排気集合部よりも下流側の位置に配設された三元触媒と、前記排気通路の前記排気集合部と前記三元触媒との間の位置に配設される上流側空燃比センサと、複数の燃料噴射弁であって、それぞれが前記複数の気筒のそれぞれの燃焼室に供給される混合気に含まれる燃料を噴射するように構成された複数の燃料噴射弁と、前記上流側空燃比センサの出力値に基いて取得される検出空燃比に相当する値を所定の目標空燃比に相当する値に一致させるためのメインフィードバック量を前記検出空燃比に相当する値と前記目標空燃比に相当する値とに基いて決定するとともに、前記決定されたメインフィードバック量に基いて前記燃料噴射弁から噴射される燃料の量を補正することにより前記複数の燃料噴射弁のそれぞれから噴射される燃料の量の指示値である指示燃料噴射量を決定する指示燃料噴射量決定手段と、前記指示燃料噴射量に応じた量の燃料が前記複数の燃料噴射弁のそれぞれから噴射されるように前記複数の燃料噴射弁に噴射指示信号を送出する噴射指示信号送出手段と、前記上流側空燃比センサが配設された位置を通過する前記排ガスの空燃比の変動が大きいほど大きくなる基本パラメータを前記上流側空燃比センサの出力値に基づいて取得するとともに、前記複数の気筒のそれぞれの燃焼室に供給される混合気の空燃比である気筒別空燃比の前記複数の気筒間における不均一性の程度が大きいほど大きくなる空燃比不均衡指標値を前記基本パラメータに相関を有する値である基本パラメータ相関値に基づいて取得する空燃比不均衡指標値取得手段と、を備える内燃機関の燃料噴射量制御装置であって、前記空燃比不均衡指標値取得手段は、前記燃料のアルコール濃度を取得するとともに、前記基本パラメータ相関値を前記取得されたアルコール濃度に基いて補正し、前記補正により得られた補正後値に基いて前記空燃比不均衡指標値を取得するように構成され、前記指示燃料噴射量決定手段は、前記取得された空燃比不均衡指標値が大きいほど前記指示燃料噴射量により定まる指示空燃比がより小さくなるように前記指示燃料噴射量を増大補正するように構成された燃料噴射量制御装置。請求項11に記載の燃料噴射量制御装置において、前記空燃比不均衡指標値取得手段は、前記基本パラメータ相関値を、前記基本パラメータに応じる値、前記機関の回転速度に応じる値及び前記機関の吸入空気量に応じる値に基いて補正し、この補正により得られた補正後値に基いて前記空燃比不均衡指標値を取得するように構成された燃料噴射量制御装置。請求項11又は請求項12に記載の燃料噴射量制御装置において、前記指示燃料噴射量決定手段は、前記取得された空燃比不均衡指標値が大きいほど前記目標空燃比がより小さくなるように前記目標空燃比を変更することにより前記指示燃料噴射量を増大補正するように構成された燃料噴射量制御装置。請求項13に記載の燃料噴射量制御装置において、前記指示燃料噴射量決定手段は、前記機関の吸入空気量が大きいほど前記目標空燃比がより小さくなるように前記目標空燃比を変更するように構成された燃料噴射量制御装置。請求項13又は請求項14に記載の燃料噴射量制御装置において、前記指示燃料噴射量決定手段は、前記燃料のアルコール濃度が高いほど前記目標空燃比が大きくなるように前記目標空燃比を変更するように構成された燃料噴射量制御装置。多気筒内燃機関が有する複数の気筒から排出された排ガスが集合する前記機関の排気通路の排気集合部よりも下流側の位置に配設された三元触媒と、前記排気通路の前記排気集合部と前記三元触媒との間の位置に配設される上流側空燃比センサと、複数の燃料噴射弁であって、それぞれが前記複数の気筒のそれぞれの燃焼室に供給される混合気に含まれる燃料を噴射するように構成された複数の燃料噴射弁と、前記上流側空燃比センサの出力値に基いて取得される検出空燃比に相当する値を理論空燃比に対応する値に設定された目標空燃比に相当する値に一致させるためのメインフィードバック量を前記検出空燃比に相当する値と前記目標空燃比に相当する値とに基いて決定するとともに、前記決定されたメインフィードバック量に基いて前記燃料噴射弁から噴射される燃料の量を補正することにより前記複数の燃料噴射弁のそれぞれから噴射される燃料の量の指示値である指示燃料噴射量を決定する指示燃料噴射量決定手段と、前記指示燃料噴射量に応じた量の燃料が前記複数の燃料噴射弁のそれぞれから噴射されるように前記複数の燃料噴射弁に噴射指示信号を送出する噴射指示信号送出手段と、前記上流側空燃比センサが配設された位置を通過する前記排ガスの空燃比の変動が大きいほど大きくなる基本パラメータを前記上流側空燃比センサの出力値に基づいて取得するとともに、前記複数の気筒のそれぞれの燃焼室に供給される混合気の空燃比である気筒別空燃比の前記複数の気筒間における不均一性の程度が大きいほど大きくなる空燃比不均衡指標値を前記基本パラメータに相関を有する値である基本パラメータ相関値に基づいて取得する空燃比不均衡指標値取得手段と、前記機関の運転状態に基いて前記三元触媒の温度である触媒温度を推定する触媒温度推定手段と、を備える内燃機関の燃料噴射量制御装置であって、前記触媒温度推定手段は、前記取得された空燃比不均衡指標値が大きいほど前記推定される触媒温度が高くなるように前記触媒温度を推定するように構成され、前記指示燃料噴射量決定手段は、前記推定された触媒温度が所定閾値温度よりも高い場合、前記指示燃料噴射量により定まる指示空燃比が理論空燃比よりも小さくなるように前記指示燃料噴射量を増大補正するか、又は、所定のフューエルカット条件が成立した場合に実行される燃料噴射停止制御の実行を禁止する、ように構成された燃料噴射量制御装置。請求項16に記載の燃料噴射量制御装置において、前記触媒温度推定手段は、前記燃料のアルコール濃度を取得するとともに、前記取得されたアルコール濃度が高いほど前記推定される触媒温度が低くなるように前記触媒温度を推定するように構成された燃料噴射量制御装置。請求項16又は請求項17に記載の燃料噴射量制御装置において、前記空燃比不均衡指標値取得手段は、前記基本パラメータ相関値を、前記基本パラメータに応じる値、前記機関の回転速度に応じる値及び前記機関の吸入空気量に応じる値に基いて補正し、前記補正により得られた補正後値に基いて前記空燃比不均衡指標値を取得するように構成された燃料噴射量制御装置。請求項16乃至請求項18の何れか一項に記載の燃料噴射量制御装置において、前記空燃比不均衡指標値取得手段は、前記燃料のアルコール濃度を取得するとともに、前記基本パラメータ相関値を前記取得されたアルコール濃度に基いて補正し、この補正により得られた補正後値に基いて前記空燃比不均衡指標値を取得するように構成された燃料噴射量制御装置。以下、本発明の各実施形態に係る内燃機関の燃料噴射量制御装置以下、単に制御装置とも称呼する。について図面を参照しながら説明する。この制御装置は、内燃機関に供給される混合気の空燃比機関の空燃比を制御する空燃比制御装置の一部であり、更に、空燃比気筒間インバランス判定装置の一部でもある。<第1実施形態>構成図1は、第1実施形態に係る制御装置以下、第1制御装置とも称呼する。を、4サイクル火花点火式多気筒直列4気筒内燃機関10に適用したシステムの概略構成を示している。内燃機関10は、機関本体部20と、吸気系統30と、排気系統40と、を含む。機関本体部20は、シリンダブロック部及びシリンダヘッド部を含む。機関本体部20は、複数の気筒燃焼室21を備えている。各気筒は、図示しない吸気ポート及び排気ポートと連通している。吸気ポートと燃焼室21との連通部は図示しない吸気弁により開閉される。排気ポートと燃焼室21との連通部は図示しない排気弁により開閉される。各燃焼室21には図示しない点火プラグが配設されている。吸気系統30は、インテークマニホールド31、吸気管32、複数の燃料噴射弁33、及び、スロットル弁34を備えている。インテークマニホールド31は、複数の枝部31aとサージタンク31bとを備えている。複数の枝部31aのそれぞれの一端は、複数の吸気ポートのそれぞれに接続されている。複数の枝部31aの他端はサージタンク31bに接続されている。吸気管32の一端はサージタンク31bに接続されている。吸気管32の他端には図示しないエアフィルタが配設されている。燃料噴射弁33は、一つの気筒燃焼室21に対して一つずつ配設されている。燃料噴射弁33は吸気ポートに設けられている。即ち、複数の気筒のそれぞれは、他の気筒とは独立して燃料供給を行う燃料噴射弁33を備えている。燃料噴射弁33は、噴射指示信号に応答し、正常である場合にその噴射指示信号に含まれる指示燃料噴射量の燃料を吸気ポート従って、燃料噴射弁33に対応する気筒内に噴射するようになっている。より具体的に述べると、燃料噴射弁33は、指示燃料噴射量に応じた時間だけ開弁する。燃料噴射弁33に供給されている燃料の圧力は一定に維持されている。従って、燃料噴射弁33が正常であれば、燃料噴射弁33は指示燃料噴射量の燃料を噴射する。しかしながら、燃料噴射弁33に異常が発生すると、燃料噴射弁33は指示燃料噴射量とは相違する量の燃料を噴射するようになる。これにより、気筒別空燃比の気筒間における不均一性が発生する。スロットル弁34は、吸気管32内に回動可能に配設されている。スロットル弁34は、吸気通路の開口断面積を可変とするようになっている。スロットル弁34は、図示しないスロットル弁アクチュエータにより吸気管32内で回転駆動されるようになっている。排気系統40は、エキゾーストマニホールド41、エキゾーストパイプ42、エキゾーストパイプ42に配設された上流側触媒43、及び、上流側触媒43よりも下流においてエキゾーストパイプ42に配設された図示しない下流側触媒を備えている。エキゾーストマニホールド41は、複数の枝部41aと集合部41bとを備えている。複数の枝部41aのそれぞれの一端は、複数の排気ポートのそれぞれに接続されている。複数の枝部41aのそれぞれの他端は集合部41bに集合している。この集合部41bは、複数2以上であり、本例では4つの気筒から排出された排ガスが集合する部分であるから、排気集合部HKとも称呼される。エキゾーストパイプ42は集合部41bに接続されている。排気ポート、エキゾーストマニホールド41及びエキゾーストパイプ42は、排気通路を構成している。上流側触媒43及び下流側触媒のそれぞれは、所謂、白金、ロジウム及びパラジウム等の貴金属触媒物質からなる活性成分を担持する三元触媒装置排気浄化用の触媒である。各触媒は、各触媒に流入するガスの空燃比が三元触媒のウインドウ内の空燃比例えば、理論空燃比であるとき、HC,CO,H2などの未燃成分を酸化するとともに窒素酸化物NOxを還元する機能を有する。この機能は触媒機能とも称呼される。更に、各触媒は、酸素を吸蔵貯蔵する酸素吸蔵機能を有する。各触媒は、酸素吸蔵機能により空燃比が理論空燃比から偏移したとしても未燃成分及び窒素酸化物を浄化することができる。つまり、酸素吸蔵機能により、ウインドウの幅が拡大する。酸素吸蔵機能は、触媒に担持されているセリアCeO2等の酸素吸蔵材によってもたらされる。このシステムは、熱線式エアフローメータ51、スロットルポジションセンサ52、水温センサ53、クランクポジションセンサ54、インテークカムポジションセンサ55、上流側空燃比センサ56、下流側空燃比センサ57、アクセル開度センサ58、及び、アルコール濃度センサ59を備えている。エアフローメータ51は、吸気管32内を流れる吸入空気の質量流量吸入空気流量Gaに応じた信号を出力するようになっている。即ち、吸入空気量Gaは、単位時間あたりに機関10に吸入される吸入空気量を表す。スロットルポジションセンサ52は、スロットル弁34の開度スロットル弁開度を検出し、スロットル弁開度TAを表す信号を出力するようになっている。水温センサ53は、内燃機関10の冷却水の温度を検出し、冷却水温THWを表す信号を出力するようになっている。冷却水温THWは、機関10の暖機状態機関10の温度を表すパラメータである。クランクポジションセンサ54は、クランク軸が10°回転する毎に幅狭のパルスを有するとともに同クランク軸が360°回転する毎に幅広のパルスを有する信号を出力するようになっている。この信号は、後述する電気制御装置70によって機関回転速度NEに変換される。インテークカムポジションセンサ55は、インテークカムシャフトが所定角度から90度、次いで90度、更に180度回転する毎に一つのパルスを出力するようになっている。後述する電気制御装置70は、クランクポジションセンサ54及びインテークカムポジションセンサ55からの信号に基づいて、基準気筒例えば第1気筒の圧縮上死点を基準とした絶対クランク角度CAを取得するようになっている。この絶対クランク角度CAは、基準気筒の圧縮上死点において0°クランク角度に設定され、クランク軸の回転角度に応じて720°クランク角度まで増大し、その時点にて再び0°クランク角度に設定される。上流側空燃比センサ56は、エキゾーストマニホールド41の集合部41b排気集合部HKと上流側触媒43との間の位置においてエキゾーストマニホールド41及びエキゾーストパイプ42の何れかに配設されている。上流側空燃比センサ56は、本発明における空燃比センサに相当する。上流側空燃比センサ56は、例えば、特開平11-72473号公報、特開2000-65782号公報及び特開2004-69547号公報等に開示された拡散抵抗層を備える限界電流式広域空燃比センサである。上流側空燃比センサ56は、図3に示したように、空燃比検出部56aを有している。空燃比検出部56aは、図示しない金属からなる中空円筒体の保護カバーの内部に収容されている。保護カバーの側面及び下面には貫通孔が設けられている。排ガスは、側面の貫通孔を通して保護カバー内に流入し、空燃比検出部56aに到達し、その後、下面の貫通孔を通して保護カバー外に流出する。即ち、保護カバーに到達した排ガスは、保護カバーの下面の貫通孔近傍を流れる排ガスの流れにより、保護カバーの内部へと吸い込まれる。このため、保護カバーの内部における排ガスの流速は、保護カバーの下面の貫通孔近傍を流れる排ガスの流速従って、単位時間あたりの吸入空気量である吸入空気量Gaに応じて変化する。従って、上流側空燃比センサ56の排気通路を流れる排ガスの空燃比に対する出力応答性応答性は、吸入空気量Gaが大きいほど高くなる。図3のA~Cに示したように、空燃比検出部56aは、固体電解質層561と、排ガス側電極層562と、大気側電極層基準ガス側電極層563と、拡散抵抗層564と、第一壁部565と、触媒部566と、第二壁部567と、ヒータ568と、を含んでいる。固体電解質層561は酸素イオン導電性酸化物焼結体である。本例において、固体電解質層561は、ZrO2ジルコニアにCaOを安定剤として固溶させた安定化ジルコニア素子である。固体電解質層561は、その温度が活性温度以上であるとき、周知の酸素電池特性及び酸素ポンプ特性を発揮する。排ガス側電極層562は、白金Pt等の触媒活性の高い貴金属からなる。排ガス側電極層562は、固体電解質層561の一つの面上に形成されている。排ガス側電極層562は、化学メッキ等により浸透性を十分に有するように即ち、多孔質状に形成されている。大気側電極層563は、白金Pt等の触媒活性の高い貴金属からなる。大気側電極層563は、固体電解質層561の他の面上であって、固体電解質層561を挟んで排ガス側電極層562に対向するように形成されている。大気側電極層563は、化学メッキ等により浸透性を十分に有するように即ち、多孔質状に形成されている。大気側電極層563は、基準ガス側電極層とも称呼される。拡散抵抗層拡散律速層564は、多孔質セラミック耐熱性無機物質からなる多孔質層である。拡散抵抗層564は、排ガス側電極層562の外側表面を覆うように、例えば、プラズマ溶射法等により形成されている。第一壁部565は、緻密であってガスを透過させないアルミナセラミックスからなる。第一壁部565は拡散抵抗層564の角部一部を除いて拡散抵抗層564を覆うように形成されている。即ち、第一壁部565は拡散抵抗層564の一部を外部に露呈させる貫通部を備えている。触媒部566は、第一壁部565の貫通部を閉じるように貫通部に形成されている。触媒部566は、上流側触媒43と同様、酸化還元反応を促進する触媒物質及び酸素吸蔵機能を発揮する酸素吸蔵材を担持している。触媒部566は多孔質体である。従って、図3のB及び図3のCに白抜きの矢印により示したように、排ガス前述した保護カバーの内部に流入した排ガスは、触媒部566を通過して拡散抵抗層564に到達し、その排ガスは更に拡散抵抗層564を通過して排ガス側電極層562に到達する。第二壁部567は、緻密であってガスを透過させないアルミナセラミックスからなる。第二壁部567は大気側電極層563を収容する空間である大気室56Aを形成するように構成されている。大気室56Aには大気が導入されている。上流側空燃比センサ56には電源569が接続されている。電源569は、大気側電極層563側が高電位となり、排ガス側電極層562が低電位となるように、電圧V=Vpを印加する。ヒータ568は第二壁部567に埋設されている。ヒータ568は後述する電気制御装置70によって通電されたときに発熱し、固体電解質層561、排ガス側電極層562及び大気側電極層563を加熱し、それらの温度を調整するようになっている。このような構造を有する上流側空燃比センサ56は、図3のBに示したように、排ガスの空燃比が理論空燃比よりもリーン側の空燃比であるとき、拡散抵抗層564を通って排ガス側電極層562に到達した酸素をイオン化して大気側電極層563へと通過させる。この結果、電源569の正極から負極へと電流Iが流れる。この電流Iの大きさは、図4に示したように、電圧Vを所定電圧Vpに設定すると、排ガス側電極層562に到達した酸素の量酸素分圧、酸素濃度、従って、排ガスの空燃比に比例した一定値となる。上流側空燃比センサ56は、この電流即ち、限界電流ILを電圧に変換した値を出力値Vabyfsとして出力する。これに対し、図3のCに示したように、排ガスの空燃比が理論空燃比よりもリッチ側の空燃比であるとき、上流側空燃比センサ56は、大気室56Aに存在する酸素をイオン化して排ガス側電極層562へと導き、拡散抵抗層564を通って排ガス側電極層562に到達する未燃物HC,CO及びH2等を酸化する。この結果、電源569の負極から正極へと電流Iが流れる。この電流Iの大きさも、図4に示したように、電圧Vを所定電圧Vpに設定すると、排ガス側電極層562に到達した未燃物の量未燃物の分圧、未燃物の濃度、即ち、排ガスの空燃比に比例した一定値となる。上流側空燃比センサ56は、この電流即ち、限界電流ILを電圧に変換した値を出力値Vabyfsとして出力する。即ち、空燃比検出部56aは、図5の実線L1により示したように、上流側空燃比センサ56の配設位置を流れ、且つ、保護カバーの貫通孔を通って空燃比検出部56aに到達しているガスの空燃比に応じた出力値Vabyfsを空燃比センサ出力として出力する。換言すると、上流側空燃比センサ56は、空燃比検出部56aの拡散抵抗層564を通過して排ガス側電極層562に到達したガスの酸素分圧酸素濃度、酸素量及び未燃物の分圧未燃物の濃度、未燃物量に応じて変化する出力値Vabyfsを出力する。この出力値Vabyfsは、空燃比検出部56aに到達しているガスの空燃比が大きくなるほどリーンとなるほど増大する。即ち、出力値Vabyfsは、気筒別空燃比の不均一性が発生しておらず即ち、各気筒の空燃比が気筒間において同じであり、且つ、使用される燃料がアルコールを含んでいないとき即ち、燃料のアルコール濃度が0であるとき、図5の実線に示したように変化する。出力値Vabyfsは、空燃比検出部56aに到達しているガスの空燃比が理論空燃比であるとき、理論空燃比相当値Vstoichに一致する。後述する電気制御装置70は、図5に示した空燃比変換テーブルマップMapabyfsを記憶している。電気制御装置70は、上流側空燃比センサ56の出力値Vabyfsを空燃比変換テーブルMapabyfsに適用することにより、実際の上流側空燃比abyfsを検出する即ち、検出空燃比abyfsを取得する。なお、検出空燃比abyfsそのものは、当然、検出空燃比abyfsに相当する値である。このように、上流側空燃比センサ56は、機関10の排気通路であって排気集合部HKと三元触媒43との間の位置に配設されるとともに、空燃比検出素子固体電解質層561と、前記空燃比検出素子561を挟んで対向するように配設された排ガス側電極層562及び基準ガス側電極層563と、前記排ガス側電極層562を覆う多孔質層拡散抵抗層564と、を有する空燃比センサであって、前記空燃比センサが配設された位置を通過する排ガスのうち前記多孔質層564を通って前記排ガス側電極層562に到達した排ガスに含まれる酸素の量及び未燃物の量に応じた出力値を出力する空燃比センサる空燃比センサである。と言うことができる。ところで、排ガスに含まれる水素を含む未燃物は、触媒部566においてある程度まで浄化される。しかし、排ガスに多量の未燃物が含まれる場合、その未燃物を触媒部566において完全に浄化することはできない。その結果、拡散抵抗層564の外表面には、酸素、及び、その酸素に対して過剰な未燃物が到達する場合が生じる。更に、前述したように、水素は他の未燃物よりも分子径が小さいので、水素は他の未燃物と比較して拡散抵抗層564を優先的に拡散する。再び、図1を参照すると、下流側空燃比センサ57は、エキゾーストパイプ42内に配設されている。下流側空燃比センサ57の配設位置は、上流側触媒43よりも下流側であり、且つ、下流側触媒よりも上流側即ち、上流側触媒43と下流側触媒との間の排気通路である。下流側空燃比センサ57は、周知の起電力式の酸素濃度センサ安定化ジルコニア等の固体電解質を用いた周知の濃淡電池型の酸素濃度センサである。下流側空燃比センサ57は、排気通路であって下流側空燃比センサ57が配設されている部位を通過するガスである被検出ガスの空燃比に応じた出力値Voxsを発生するようになっている。換言すると、出力値Voxsは、上流側触媒43から流出し且つ下流側触媒に流入するガスの空燃比に応じた値である。この出力値Voxsは、図6に示したように、被検出ガスの空燃比が理論空燃比よりもリッチのとき最大出力値max例えば、約0.9V~1.0Vとなる。出力値Vabyfsは、被検出ガスの空燃比が理論空燃比よりもリーンのとき最小出力値min例えば、約0.1V~0Vとなる。更に、出力値Voxsは、被検出ガスの空燃比が理論空燃比であるとき最大出力値maxと最小出力値minの略中間の電圧Vst中間電圧Vst、理論空燃比相当電圧Vst、例えば、約0.5Vとなる。出力値Voxsは、被検出ガスの空燃比が理論空燃比よりもリッチな空燃比からリーンな空燃比へと変化する際に最大出力値maxから最小出力値minへと急変する。同様に、出力値Voxsは、被検出ガスの空燃比が理論空燃比よりもリーンな空燃比からリッチな空燃比へと変化する際に最小出力値minから最大出力値maxへと急変する。なお、下流側空燃比センサ57も、固体電解質層と、固体電解質層を挟んで対向するように固体電解質層の両面に配設された排ガス側電極層及び大気側基準ガス側電極層とを備え、且つ、排ガス側電極層は多孔質層保護層により覆われている。従って、被検出ガスは、多孔質層を通過する際に酸素平衡後ガス酸素及び未燃物が化合した後のガスへと変化し、排ガス側電極層に到達する。水素は、他の未燃物よりも、その多孔質層を容易に通過する。但し、上流側触媒43により、気筒別空燃比の不均一性が生じた際に発生する過剰な水素は特別な場合を除き浄化される。従って、下流側空燃比センサ57の出力値Voxsは、特別な場合を除き、気筒別空燃比の不均一性の程度によって変化しない。図1に示したアクセル開度センサ58は、運転者によって操作されるアクセルペダルAPの操作量Accpアクセルペダル操作量、アクセルペダルAPの開度を表す信号を出力するようになっている。アクセルペダル操作量Accpは、アクセルペダルAPの操作量が大きくなるとともに大きくなる。アルコール濃度センサ59は、複数の燃料噴射弁33と図示しない燃料タンクとを接続する燃料供給管FPに配設されている。アルコール濃度センサ59は、燃料に含まれるアルコール濃度エタノール濃度を表す信号Etを出力するようになっている。アルコール濃度センサ59は周知である例えば、特開2005-201670号公報、及び、特開平7-77507号公報等を参照。。アルコール濃度センサ59は、燃料の誘電率に基づいてアルコール濃度を検出する静電容量式のセンサであってもよく、燃料の屈折率に基づいてアルコール濃度を検出する光学式のセンサであってもよい。電気制御装置70は、CPU、CPUが実行するプログラム、テーブルマップ、関数及び定数等を予め記憶したROM、CPUが必要に応じてデータを一時的に格納するRAM、バックアップRAM、並びに、ADコンバータを含むインターフェース等からなる周知のマイクロコンピュータである。バックアップRAMは、機関10を搭載した車両の図示しないイグニッションキースイッチの位置オフ位置、始動位置及びオン位置等の何れかに関わらず、車両に搭載されたバッテリから電力の供給を受けるようになっている。バックアップRAMは、バッテリから電力の供給を受けている場合、CPUの指示に応じてデータを格納するデータが書き込まれるとともに、そのデータを読み出し可能となるように保持記憶する。従って、バックアップRAMは、機関10の運転停止中においてもデータを保持することができる。バックアップRAMは、バッテリが車両から取り外される等によりバッテリからの電力供給が遮断されると、データを保持することができない。そこで、CPUは、バックアップRAMへの電力供給が再開されたとき、バックアップRAMに保持されるべきデータを初期化デフォルト値に設定するようになっている。なお、バックアップRAMは、EEPROM等の読み書き可能な不揮発性メモリであってもよい。電気制御装置70は、上述したセンサ等と接続され、CPUにそれらのセンサからの信号を供給するようになっている。更に、電気制御装置70は、CPUの指示に応じて、各気筒に対応して設けられた点火プラグ実際にはイグナイタ、各気筒に対応して設けられた燃料噴射弁33、及び、スロットル弁アクチュエータ等に駆動信号指示信号を送出するようになっている。なお、電気制御装置70は、取得されたアクセルペダルの操作量Accpが大きくなるほどスロットル弁開度TAが大きくなるように、スロットル弁アクチュエータに指示信号を送出するようになっている。即ち、電気制御装置70は、運転者により変更される機関10の加速操作量アクセルペダル操作量Accpに応じて機関10の吸気通路に配設されたスロットル弁34の開度を変更するスロットル弁駆動手段を備えている。第1制御装置による燃料噴射量制御の概要次に、第1制御装置による燃料噴射量制御空燃比フィードバック制御の概要について説明する。1.上流側空燃比センサ56の出力値とアルコール濃度との関係について燃料のアルコール濃度本例においては、エタノール割合が高くなるほど、その燃料の燃焼によってより多くの水素が発生する。このため、上流側空燃比センサ56の拡散抵抗層564の外表面に到達する水素の量も多くなる。この結果、アルコール濃度が大きいときに排ガス側電極層562に到達する水素の濃度分圧は、アルコール濃度が小さいときに排ガス側電極層562に到達する水素の濃度分圧よりも、格段に高くなる。故に、図7に示したように、上流側空燃比センサ56の出力値Vabyfsは、アルコール濃度が大きくなるほど、機関10の真の空燃比排ガスの真の空燃比に対してよりリッチ側の空燃比に対応した値に移行する。換言すれば、排ガスの真の空燃比が一定であっても、アルコール濃度が大きくなるほど出力値Vabyfsは小さくなる。なお、図7に示した各線は、気筒別空燃比の不均一性が発生していない場合であって、且つ、以下の各場合における出力値Vabyfsと排ガスの真の空燃比との関係を示す。実線C1:アルコール濃度が0である場合。このとき、アルコール濃度が第1濃度又は基準アルコール濃度であると表現する。なお、この実線C1は図5の実線L1と一致している。破線C2:アルコール濃度が第1濃度よりも大きい第2濃度である場合。一点鎖線C3:アルコール濃度が第2濃度よりも大きい第3濃度である場合。二点鎖線C4:アルコール濃度が第3濃度よりも大きい第4濃度である場合。いま、排ガスの真の空燃比が図7に示した値cであると仮定する。この場合、アルコール濃度が第1濃度、第2濃度、第3濃度及び第4濃度であるとき、出力値VabyfsはV1、V2、V3及びV4V1>V2>V3>V4のそれぞれになる。即ち、前述したように、排ガスの真の空燃比が一定であっても、アルコール濃度が大きくなるほど、出力値Vabyfsは小さくなる。従って、気筒別空燃比の不均一性が生じておらず、且つ、アルコール濃度が0である場合に対して定められている空燃比変換テーブルMapabyfsにより変換される空燃比は、アルコール濃度が大きくなるほど、真の空燃比cに対してよりリッチ側の空燃比となる。即ち、例えば、実際の出力値Vabyfsが図7に示した値V3であるとすると、空燃比変換テーブルMapabyfsにより変換される空燃比は空燃比aである。換言すると、電気制御装置70は、排ガスの空燃比がaであると認識する。しかしながら、アルコール濃度が第2濃度であれば排ガスの真の空燃比は空燃比bb>aであり、アルコール濃度が第3濃度であれば排ガスの真の空燃比は空燃比cc>bであり、アルコール濃度が第4濃度であれば排ガスの真の空燃比は空燃比dd>cである。このように、実際の出力値Vabyfsがある一定値である場合、アルコール濃度が大きくなるほど、空燃比変換テーブルMapabyfsにより得られる空燃比は排ガスの真の空燃比よりもリッチ側の空燃比小さい空燃比となる。これが、アルコール濃度に起因するリーン誤制御が発生する理由である。2.上流側空燃比センサ56の出力値と気筒別空燃比の不均一性の程度との関係について一方、燃料のアルコール濃度が一定の場合であっても、気筒別空燃比の不均一性の程度が大きくなるほど、より多くの未燃物が発生する。即ち、機関の空燃比の平均が例えば理論空燃比である場合、気筒別空燃比の不均一性が発生していない場合には、各気筒から相対的に少ない水素が発生するのに対し図2のH0を参照。、気筒別空燃比の不均一性の程度が大きくなると、理論空燃比よりもリッチ側の空燃比の混合気が供給される気筒から極めて多い水素が発生する図2のH2,H3を参照。。そのため、気筒別空燃比の不均一性の程度が大きくなるほど、拡散抵抗層564の外表面に到達する水素の量も多くなる。この結果、気筒別空燃比の不均一性の程度が大きいときに排ガス側電極層562に到達する水素の濃度分圧は、気筒別空燃比の不均一性の程度が小さいときに排ガス側電極層562に到達する水素の濃度分圧よりも、格段に高くなる。故に、気筒別空燃比の不均一性の程度が大きくなるほど、上流側空燃比センサ56の出力値は、機関10の真の空燃比排ガスの真の空燃比に対し、よりリッチ側の空燃比に対応した値に移行する。換言すると、実際の出力値Vabyfsがある一定値である場合、気筒別空燃比の不均一性の程度が大きくなるほど、空燃比変換テーブルMapabyfsにより得られる空燃比は排ガスの真の空燃比よりもリッチ側の空燃比小さい空燃比となる。これが、気筒別空燃比の不均一性に起因するリーン誤制御が発生する理由である。3.サブフィードバック量とサブFB学習値によるリーン誤制御の補償ところで、排ガスに含まれる水素は三元触媒43により浄化酸化される。下流側空燃比センサ57は三元触媒43の下流に配設されている。よって、下流側空燃比センサ57の出力値Voxsは、アルコール濃度及び/又は気筒別空燃比の不均一性の程度に応じて変化する水素量の影響を受け難い。従って、下流側空燃比センサ57の出力値Voxsが三元触媒43のウインドウ内の空燃比である基準空燃比例えば、理論空燃比等に相当する値に一致するように、燃料噴射量をフィードバック制御すれば、アルコール濃度及び/又は気筒別空燃比の不均一性の程度に関わらず、排ガスの真の空燃比の平均は基準空燃比に実質的に一致する。その結果、エミッションを良好に維持することができる。このフィードバック制御はサブフィードバック制御と称呼される。サブフィードバック制御において使用される制御量はサブフィードバック量と称呼される。サブフィードバック量は、下流側空燃比センサ57の出力値Voxsが基準空燃比例えば、理論空燃比等に相当する下流側目標値Voxsrefに一致するように、目標空燃比abyfrを実質的に変化させる量である。サブフィードバック量は、目標空燃比abyfrを直接的に変化させる値であってもよく、上流側空燃比センサ56の出力値Vabyfsをサブフィードバック量により補正することによって目標空燃比abyfrを実質的間接的に変化させる値であってもよい。サブフィードバック量は、下流側空燃比センサ57の出力値Voxsが目標値Voxsrefよりもリッチ側の値であるときには目標空燃比abyfrを実質的にリーン側へと移行させ、出力値Voxsが目標値Voxsrefよりもリーン側の値であるときには目標空燃比abyfrを実質的にリッチ側へと移行させる。サブフィードバック量の学習値サブFB学習値は、サブフィードバック量の定常成分に応じて変化する値である。例えば、サブフィードバック量が、出力値Voxsと下流側目標値Voxsrefとの偏差D出力偏差量DVoxsを用いたPID制御又はPI制御等に則して算出される場合、即ち、サブフィードバック量が偏差Dについての比例項及び積分項を少なくとも含んでいる場合、その積分項に相当する値がサブフィードバック量の定常成分である。サブFB学習値は、バックアップRAMに格納される。サブFB学習値は、例えば、サブフィードバック制御条件が不成立であってサブフィードバック量の更新がなされない状況においても燃料噴射量制御に用いられる。従って、例えば機関の始動時等において、サブFB学習値を使用することにより、排ガスの空燃比機関10の空燃比を適正値に近づけることができる。一方、サブフィードバック量及び/又はサブFB学習値には、誤った制御によりそれらが過大又は過小にならないように、ガードが設けられている。即ち、サブフィードバック量は、サブフィードバック量下限値よりも小さくならないように、且つ、サブフィードバック量上限値よりも大きくならないように、サブフィードバック用のガード幅サブフィードバック量上限値~サブフィードバック量下限値内に規制される。同様に、サブFB学習値は、サブFB学習値下限値よりも小さくならないように、且つ、サブFB学習値上限値よりも大きくならないように、サブFB学習値用のガード幅サブFB学習値上限値~サブFB学習値下限値内に規制される。ところが、このようなガード幅は、例えば、アルコールを含んでいない燃料が使用されていない場合を想定して設定される。従って、アルコール含有燃料が使用されているときに気筒別空燃比の不均一性の程度が大きくなると、サブフィードバック量及び/又はサブFB学習値は、ガード幅内に規制され即ち、ガード幅を定める上記上限値及び/又は下限値に一致し、本来到達すべき適正値リーン誤補正を補償し得る値に到達することができない。その結果、エミッションが悪化する虞がある。そこで、第1制御装置は、サブフィードバック量及び/又はサブFB学習値が適正値に到達し得るように、燃料のアルコール濃度及び気筒別空燃比の不均一性の程度実際には、気筒別空燃比の不均一性の程度を表す空燃比不均衡指標値に基いて、それらのガード幅を変更する。この結果、アルコール濃度及び気筒別空燃比の不均一性の程度に関わらず、サブフィードバック量及び/又はサブFB学習値が適正値に達することが可能となる。よって、エミッションが悪化することを回避することができる。更に、第1制御装置においては、それらのガード幅が不必要に拡大されない。従って、例えば、アルコール濃度が低い燃料が使用され且つ気筒別空燃比の不均一性の程度が小さい場合等において、誤った制御によりサブフィードバック量及び/又はサブFB学習値が過大又は過小になることを回避することができる。その結果、エミッションが悪化することを回避することができる。4.空燃比不均衡指標値の取得、及び、空燃比気筒間インバランス判定の概要次に、第1制御装置が採用した空燃比不均衡指標値の取得及び空燃比気筒間インバランス判定について説明する。空燃比不均衡指標値は、燃料噴射弁33の特性が変化すること等に起因する気筒別空燃比の不均一性気筒間における空燃比の不均一性、インバランスの程度を表すパラメータである。第1制御装置は、空燃比不均衡指標値を次のようにして取得する。1第1制御装置は、所定のパラメータ取得条件空燃比不均衡指標値取得条件が成立している場合、上流側空燃比センサ56の出力値Vabyfsにより表される空燃比前記検出空燃比abyfsの単位時間一定のサンプリング時間ts当たりの変化量を取得する。この検出空燃比abyfsの単位時間当たりの変化量は、その単位時間が例えば4m秒程度の極めて短い時間であるとき、検出空燃比abyfsの時間についての微分値時間微分値ddt、一階微分値ddtであると言うこともできる。従って、検出空燃比abyfsの単位時間当たりの変化量は検出空燃比変化率ΔAFとも称呼される。更に、検出空燃比変化率ΔAFは基本指標量又は基本パラメータとも称呼される。2第1制御装置は、一つの単位燃焼サイクル期間において取得された複数の検出空燃比変化率ΔAFの絶対値|ΔAF|の平均値AveΔAFを求める。単位燃焼サイクル期間は、一つの上流側空燃比センサ56に到達する排ガスを排出している気筒の総てにおいて、各一回の燃焼行程が終了するのに要するクランク角度が経過する期間である。本例の機関10は、直列4気筒4サイクルエンジンであり、且つ、一つの上流側空燃比センサ56には第1~第4気筒からの排ガスが到達する。よって、単位燃焼サイクル期間は720°クランク角度が経過する期間である。3第1制御装置は、複数の単位燃焼サイクル期間のそれぞれに対して求めた平均値AveΔAFの平均値を求め、その値を空燃比不均衡指標値RIMBインバランス判定用パラメータとして採用する。空燃比不均衡指標値RIMBは、空燃比気筒間インバランス割合指標値、又は、インバランス割合指標値、とも称呼される。なお、空燃比不均衡指標値RIMBは、このように求められる値に限定されることはなく、後述する種々の方法により取得され得る。上述したように求められる空燃比不均衡指標値RIMB検出空燃比変化率ΔAFに相関する値は、気筒間における空燃比の不均一性の程度、即ち、気筒別空燃比差が大きくなるほど大きくなる値である。即ち、空燃比不均衡指標値RIMBは、複数の気筒のそれぞれの燃焼室に供給される混合気の空燃比の気筒間における差気筒別空燃比差が大きいほど大きくなる値である。以下、この理由について説明する。上流側空燃比センサ56には、各気筒からの排ガスが点火順故に、排気順に到達する。気筒別空燃比差がない場合、各気筒から排出され且つ上流側空燃比センサ56に到達する排ガスの空燃比は互いに略同一である。従って、気筒別空燃比差がない場合の検出空燃比abyfsは、例えば、図8のBにおいて破線C1により示したように変化する。即ち、気筒間における空燃比の不均一性がない場合、上流側空燃比センサ56の出力値Vabyfsの波形は略平坦である。このため、図8のCにおいて破線C3により示したように、気筒別空燃比差がない場合、検出空燃比変化率ΔAFの絶対値は小さい。一方、特定気筒例えば、第1気筒に対して燃料を噴射する燃料噴射弁33の特性が指示燃料噴射量よりも多い燃料を噴射する特性となると、気筒別空燃比差が大きくなる。即ち、その特定気筒の排ガスの空燃比インバランス気筒の空燃比と、その特定気筒以外の気筒の排ガスの空燃比非インバランス気筒の空燃比と、は大きく相違する。従って、空燃比気筒間インバランス状態が発生している場合の検出空燃比abyfsは、例えば図8のBの実線C2により示したように、単位燃焼サイクル期間毎に大きく変動する。このため、図8のCにおいて実線C4により示したように、空燃比気筒間インバランス状態が発生している場合、検出空燃比変化率ΔAFの絶対値は大きくなる。しかも、検出空燃比変化率ΔAFの絶対値|ΔAF|は、インバランス気筒の空燃比が非インバランス気筒の空燃比から乖離するほど大きく変動する。例えば、インバランス気筒の空燃比と非インバランス気筒の空燃比との差の大きさが第1の値であるときの検出空燃比abyfsが図8Bの実線C2のように変化するとすれば、インバランス気筒の空燃比と非インバランス気筒の空燃比との差の大きさが第1の値の値よりも大きい第2の値であるときの検出空燃比abyfsは図8Bの一点鎖線C2aのように変化する。従って、図9に示したように、検出空燃比変化率ΔAFの絶対値|ΔAF|の複数の単位燃焼サイクル期間における平均値AveΔAF空燃比不均衡指標値RIMBは、インバランス気筒の空燃比が非インバランス気筒の空燃比から乖離するほど実際のインバランス割合が大きくなるほど大きくなる。即ち、空燃比不均衡指標値RIMBは、気筒別空燃比の気筒間における不均一性の程度が大きくなるほど大きくなる。なお、第1制御装置は、空燃比不均衡指標値RIMBを取得すると、その空燃比不均衡指標値RIMBとインバランス判定用閾値RIMBthとを比較するように構成されていてもよい。この場合、第1制御装置は、空燃比不均衡指標値RIMBがインバランス判定用閾値RIMBthよりも大きいとき、空燃比気筒間インバランス状態が発生したと判定するように構成されていてもよい。更に、第1制御装置は、空燃比不均衡指標値RIMBがインバランス判定用閾値RIMBthよりも小さいとき、空燃比気筒間インバランス状態が発生していないと判定するように構成されていてもよい。実際の作動<燃料噴射量制御>第1制御装置のCPUは、図10に示した燃料噴射制御ルーチンを、任意の気筒のクランク角度が吸気上死点前の所定クランク角度となる毎に、その気筒に対して繰り返し実行するようになっている。前記所定クランク角度は、例えば、BTDC90°CA吸気上死点前90°クランク角度である。クランク角度が前記所定クランク角度に一致した気筒は燃料噴射気筒とも称呼される。CPUは、この燃料噴射制御ルーチンにより、指示燃料噴射量Fiの計算及び燃料噴射の指示を行う。任意の気筒のクランク角度が吸気上死点前の所定クランク角度と一致すると、CPUはステップ1000から処理を開始し、ステップ1010にてフューエルカットフラグXFCの値が0であるか否かを判定する。フューエルカットフラグXFCの値は、フューエルカットフラグXFCの値が0である場合にフューエルカット条件以下、FC条件と表記する。が成立したとき、1に設定される。フューエルカットフラグXFCの値は、フューエルカットフラグXFCの値が1である場合にフューエルカット終了条件が成立したとき、0に設定される。更に、フューエルカットフラグXFCの値は、機関10の始動時に実行されるイニシャルルーチンにおいて0に設定される。いま、フューエルカットフラグXFCの値が0であると仮定する。この場合、CPUは、以下に述べるステップ1020乃至ステップ1060の処理を順に行い、ステップ1095に進んで本ルーチンを一旦終了する。ステップ1020:CPUは、エアフローメータ51により計測された吸入空気量Ga、クランクポジションセンサ54の信号に基いて取得された機関回転速度NE、及び、ルックアップテーブルMapMcGa,NEに基いて燃料噴射気筒の1回の吸気行程において、その燃料噴射気筒に吸入される空気量である筒内吸入空気量Mckを取得する。筒内吸入空気量Mckは、各吸気行程に対応されながらRAM内に記憶される。筒内吸入空気量Mckは、周知の空気モデル吸気通路における空気の挙動を模した物理法則に従って構築されたモデルにより算出されてもよい。ステップ1030:CPUは、目標空燃比abyfr上流側目標空燃比abyfrを決定する。目標空燃比abyfrは、上流側触媒43のウインドウ内の所定の基準空燃比に設定される。基準空燃比は、吸入空気量Ga及び上流側触媒43の劣化度等に応じて理論空燃比の近傍の値に変更され得る。本例において、目標空燃比abyfrは、理論空燃比stoichに設定されている。なお、目標空燃比abyfrは、当然、目標空燃比abyfrに相当する値である。ステップ1040:CPUは、筒内吸入空気量Mckを目標空燃比abyfrで除することにより基本燃料噴射量Fbaseを求める。従って、基本燃料噴射量Fbaseは、理論空燃比stoichを得るために計算上必要な燃料噴射量のフィードフォワード量である。このステップ1040は、機関に供給される混合気の空燃比を目標空燃比abyfrに一致させるためのフィードフォワード制御手段基本燃料噴射量算出手段を構成している。ステップ1050:CPUは、基本燃料噴射量Fbaseをメインフィードバック量DFiにより補正することにより、指示燃料噴射量Fiを算出する。より具体的には、CPUは、基本燃料噴射量Fbaseにメインフィードバック量DFiを加えることにより、指示燃料噴射量Fiを算出する。指示燃料噴射量Fiは、複数の燃料噴射弁33のそれぞれから噴射される燃料の量の指示値である。メインフィードバック量DFiは、機関の空燃比を目標空燃比abyfrに一致させるための空燃比フィードバック量であり、上流側空燃比センサ56の出力値Vabyfsを変換した検出空燃比abyfsに基いて求められる空燃比のフィードバック量である。メインフィードバック量DFiの算出方法については後述する。ステップ1060:CPUは、指示燃料噴射量Fiの燃料を燃料噴射気筒に対応して設けられている燃料噴射弁33から噴射させるための噴射指示信号を、その燃料噴射弁33に送出する。即ち、ステップ1060は、指示燃料噴射量Fiに応じた量の燃料が複数の燃料噴射弁33のそれぞれから噴射されるように、複数の燃料噴射弁33に噴射指示信号を送出する噴射指示信号送出手段を構成している。この結果、機関の空燃比を目標空燃比abyfrに一致させるために必要な量必要と推定される量の燃料が燃料噴射気筒の燃料噴射弁33から噴射させられる。即ち、ステップ1020乃至ステップ1060は、空燃比センサ56に到達する排ガスを排出している複数の気筒2以上の気筒、本例においては総ての気筒の燃焼室21に供給される混合気の空燃比が目標空燃比abyfrとなるように指示燃料噴射量Fiを制御する指示燃料噴射量制御手段を構成している。一方、CPUがステップ1010の処理を実行する時点において、フューエルカットフラグXFCの値が1であるとFC条件が成立していると、CPUはそのステップ1010にてNoと判定し、ステップ1095に直接進んで本ルーチンを一旦終了する。この場合、ステップ1060の処理による燃料噴射が実行されないので、フューエルカット制御燃料供給停止制御が実行される。<メインフィードバック量の算出>CPUは図11にフローチャートにより示したメインフィードバック量算出ルーチンを所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、CPUはステップ1100から処理を開始し、ステップ1105に進んでメインフィードバック制御条件上流側空燃比フィードバック制御条件が成立しているか否かを判定する。メインフィードバック制御条件は以下の総ての条件が成立したときに成立する。A1上流側空燃比センサ56が活性化している。A2機関の負荷KLが閾値KLth以下である。A3フューエルカット制御中でない。なお、負荷KLは、ここでは下記の1式により求められる負荷率である。この負荷KLに代え、アクセルペダル操作量Accpが用いられても良い。1式において、Mcは筒内吸入空気量であり、ρは空気密度単位はg/l、Lは機関10の排気量単位はl、4は機関10の気筒数である。KL=Mc/ρL/4100...1いま、メインフィードバック制御条件が成立しているものとして説明を続ける。この場合、CPUはステップ1105にてYesと判定して以下に述べるステップ1110乃至ステップ1140の処理を順に行い、ステップ1195に進んで本ルーチンを一旦終了する。ステップ1110:CPUは、下記2式に従ってフィードバック制御用出力値Vabyfcを取得する。2式において、Vabyfsは上流側空燃比センサ56の出力値、Vafsfbは下流側空燃比センサ57の出力値Voxsに基づいて算出されるサブフィードバック量である。サブフィードバック量の算出方法については後述する。Vabyfc=VabyfsVafsfb...2ステップ1115:CPUは、下記3式に示したように、上記フィードバック制御用出力値Vabyfcを図5に示したテーブルMapabyfsに適用することにより、フィードバック制御用空燃比abyfscを得る。abyfsc=MapabyfsVabyfc...3ステップ1120:CPUは、下記4式に従って、現時点よりもNサイクル前の時点において燃焼室21に実際に供給された燃料の量である筒内燃料供給量Fck-Nを求める。即ち、CPUは、現時点よりもNサイクル即ち、N720°クランク角度前の時点における筒内吸入空気量Mck-Nを上記フィードバック制御用空燃比abyfscにより除すことにより、筒内燃料供給量Fck-Nを求める。Fck-N=Mck-N/abyfsc...4このように、筒内燃料供給量Fck-Nを求めるために、現時点からNサイクル前の筒内吸入空気量Mck-Nをフィードバック制御用空燃比abyfscで除すのは、燃焼室21内での混合気の燃焼により生成された排ガスが上流側空燃比センサ56に到達するまでにNサイクルに相当する時間を要しているからである。ステップ1125:CPUは、下記5式に従って、現時点よりもNサイクル前の時点において燃焼室21に供給されるべきであった燃料の量である目標筒内燃料供給量Fcrk-Nを求める。即ち、CPUは、現時点からNサイクル前の筒内吸入空気量Mck-Nを目標空燃比abyfrで除すことにより、目標筒内燃料供給量Fcrk-Nを求める。なお、5式において用いられる目標空燃比abyfrは、現時点からNサイクル前の目標空燃比abyfrk-Nであることが好ましい。Fcr=Mck-N/abyfr...5ステップ1130:CPUは、上記6式に従って、筒内燃料供給量偏差DFcを取得する。即ち、CPUは、目標筒内燃料供給量Fcrk-Nから筒内燃料供給量Fck-Nを減じることにより、筒内燃料供給量偏差DFcを求める。この筒内燃料供給量偏差DFcは、Nストローク前の時点で筒内に供給された燃料の過不足分を表す量となる。DFc=Fcrk-N-Fck-N...6ステップ1135:CPUは、下記7式に従って、メインフィードバック量DFiを求める。この7式において、Gpは予め設定された比例ゲイン、Giは予め設定された積分ゲインである。更に、7式の値SDFcは筒内燃料供給量偏差DFcの積分値である。つまり、CPUは、フィードバック制御用空燃比abyfscを目標空燃比abyfrに一致させるための比例積分制御によりメインフィードバック量DFiを算出する。DFi=GpDFcGiSDFc...7ステップ1140:CPUは、その時点における筒内燃料供給量偏差DFcの積分値SDFcに上記ステップ1130にて求められた筒内燃料供給量偏差DFcを加えることにより、新たな筒内燃料供給量偏差の積分値SDFcを取得する。以上により、メインフィードバック量DFiが比例積分制御により求められ、このメインフィードバック量DFiが前述した図10のステップ1050の処理により指示燃料噴射量Fiに反映される。一方、図11のステップ1105の判定時において、メインフィードバック制御条件が不成立であると、CPUはそのステップ1105にてNoと判定してステップ1145に進み、メインフィードバック量DFiの値を0に設定する。次いで、CPUは、ステップ1150にて筒内燃料供給量偏差の積分値SDFcに0を格納する。その後、CPUは、ステップ1195に進んで本ルーチンを一旦終了する。このように、メインフィードバック制御条件が不成立であるとき、メインフィードバック量DFiは0に設定される。従って、基本燃料噴射量Fbaseのメインフィードバック量DFiによる補正は行わない。<サブフィードバック量及びサブFB学習値の算出>CPUは、サブフィードバック量Vafsfb及びサブフィードバック量Vafsfbの学習値サブFB学習値Vafsfbgを算出するために、図12示したルーチンを所定時間の経過毎に実行している。従って、所定のタイミングになると、CPUはステップ1200から処理を開始し、ステップ1205に進んでサブフィードバック制御条件が成立しているか否かを判定する。サブフィードバック制御条件は以下の総ての条件が成立したときに成立する。なお、本例において、サブフィードバック制御条件とサブフィードバック量の学習条件とは同じである。但し、サブフィードバック量の学習条件は、サブフィードバック制御条件に他の条件負荷KLが所定範囲内である等の条件が付加されてもよい。B1メインフィードバック制御条件が成立している。B2下流側空燃比センサ57が活性化している。いま、サブフィードバック制御条件が成立していると仮定して説明を続ける。この場合、CPUはステップ1205にてYesと判定し、以下に述べるステップ1210乃至ステップ1240の処理を順に行い、サブフィードバック量Vafsfbを算出する。ステップ1210:CPUは、下記8式に従って、下流側目標値Voxsrefと下流側空燃比センサ57の出力値Voxsとの差である出力偏差量DVoxsを取得する。即ち、CPUは、下流側目標値Voxsrefから現時点の下流側空燃比センサ57の出力値Voxsを減じることにより出力偏差量DVoxsを求める。下流側目標値Voxsrefは、基準空燃比本例において理論空燃比に相当する値Vst0.5Vに設定されている。DVoxs=Voxsref-Voxs...8ステップ1215:CPUは、ゲインK所定の調整値K、積分ゲインKを決定する。なお、第1制御装置において、ゲインKは一定値に定められている。ステップ1220:CPUは、積分処理値SDVoxs出力偏差量の積分処理値SDVoxsを、下記9式に基いて更新する。即ち、CPUは、ステップ1215に進んだ時点における積分処理値SDVoxsに上記ステップ1210にて求めた出力偏差量DVoxsとゲインKとの積KDVoxsを加えることにより、新たな積分処理値SDVoxsを求める積分処理値SDVoxsを更新する。。即ち、積分処理値SDVoxsは、下流側空燃比センサ57の出力値Voxsと下流側目標値Voxsrefとの偏差DVoxsに応じた値KDVoxsを積分することにより得られるSDVoxs=SDVoxsKDVoxs...9上記9式から理解されるように、積分処理値SDVoxsの1回あたりの更新量は、出力偏差量DVoxsにゲインKを乗じた値KDVoxsである。他の実施形態において、このゲインKが変更されることにより、積分処理値SDVoxsの1回あたりの更新量KDVoxsが変更される。ゲインKが変更されると、サブフィードバック量及びサブFB学習値の変化速度が変更される。ステップ1225:CPUは、下記10式に従って、上記ステップ1210にて算出した出力偏差量DVoxsから本ルーチンを前回実行した際に算出された出力偏差量である前回出力偏差量DVoxsoldを減じることにより、新たな出力偏差量の微分値時間微分値DDVoxsを求める。DDVoxs=DVoxs-DVoxsold...10ステップ1230:CPUは、下記11式に従って、サブフィードバック量Vafsfbを求める。この11式において、Kpは予め設定された比例定数、Kiは予め設定された積分定数、Kdは予め設定された微分定数である。11式におけるKpDVoxsは比例項、KiSDVoxsは積分項、KdDDVoxsは微分項に対応する。なお、微分項KdDDVoxsは省略され得る。Vafsfb=KpDVoxsKiSDVoxsKdDDVoxs...11このように算出されるサブフィードバック量Vafsfbは、出力値Voxsが下流側目標値Voxsrefよりも小さいとき即ち、出力偏差量DVoxsが正であるとき、次第に大きくなるように決定される。即ち、出力値Voxsにより示される空燃比が下流側目標値Voxsrefにより示される空燃比よりもリーン側の空燃比であるとき、サブフィードバック量Vafsfbは増大する。サブフィードバック量Vafsfbが大きくなると、フィードバック制御用出力値Vabyfcは大きくなる上記2式及び図11のステップ1110を参照。。即ち、フィードバック制御用出力値Vabyfcはより大きい値リーン側の値へと補正される。その結果、フィードバック制御用空燃比abyfscは大きくなるリーン側の空燃比になるので、メインフィードバック量を用いたメインフィードバック制御により、機関の空燃比はリッチ側より小さい値へと制御される。これに対し、サブフィードバック量Vafsfbは、出力値Voxsが下流側目標値Voxsrefよりも大きいとき、次第に小さくなるように決定される。即ち、出力値Voxsにより示される空燃比が下流側目標値Voxsrefにより示される空燃比よりもリッチ側の空燃比であるとき、サブフィードバック量Vafsfbは減少する。サブフィードバック量Vafsfbが小さくなると負の値になると、フィードバック制御用出力値Vabyfcは小さくなる上記2式及び図11のステップ1110を参照。。即ち、フィードバック制御用出力値Vabyfcは、より小さい値リッチ側の値へと補正される。その結果、フィードバック制御用空燃比abyfscは小さくなるリッチ側の空燃比になるので、メインフィードバック量を用いたメインフィードバック制御により、機関の空燃比はリーン側より大きい値へと制御される。ステップ1235:CPUは、上記ステップ1210にて算出した出力偏差量DVoxsを前回出力偏差量DVoxsoldとして格納する。ステップ1240:CPUは、サブフィードバック量Vafsfbをサブフィードバック用のガード幅内に規制する。即ち、CPUは図13に示したガード処理ルーチンを実行することにより、サブフィードバック量Vafsfbをサブフィードバック量の上限値VlimitRとサブフィードバック量の下限値VlimitLとの間の値に規制する。図13に示したルーチンについては後述する。次に、CPUはステップ1245に進み、学習間隔時間Tthを決定する。第1制御装置において、学習間隔時間Tthは一定時間に設定されている。次いで、CPUはステップ1250に進み、前回のサブFB学習値Vafsfbgの更新時点から学習間隔時間Tthが経過しているか否かを判定する。このとき、前回のサブFB学習値Vafsfbgの更新時点から学習間隔時間Tthが経過していなければ、CPUはステップ1250にてNoと判定し、ステップ1295に直接進んで本ルーチンを一旦終了する。これに対し、CPUがステップ1250の処理を実行する時点において、前回のサブFB学習値Vafsfbgの更新時点から学習間隔時間Tthが経過していると、CPUはステップ1250にてYesと判定してステップ1255に進み、その時点の積分処理値SDVoxsと積分定数Kiとの積KiSDVoxsをサブFB学習値VafsfbgとしてバックアップRAMに格納する。このように、CPUは、サブフィードバック量Vafsfbが更新される期間よりも長い期間が経過した時点におけるサブフィードバック量Vafsfbの定常成分積分項、定常項KiSDVoxsを、サブFB学習値Vafsfbgとして取り込む。積分処理値SDVoxsは、サブフィードバック制御即ち、サブフィードバック量Vafsfbの更新が十分に長い期間に渡って安定して実行されたとき所定の値収束値SDVoxs1に収束する。換言すると、収束値SDVoxs1は、サブフィードバック量の定常成分に応じた値である。収束値SDVoxs1は、例えば、エアフローメータ51の空気量測定誤差、上流側空燃比センサ56の空燃比検出誤差、気筒別空燃比の不均一性の程度、及び、アルコール濃度等を反映した値である。次いで、CPUはステップ1260に進み、サブFB学習値VafsfbgをサブFB学習値用のガード幅内に規制する。即ち、CPUは図14に示したガード処理ルーチンを実行することにより、サブFB学習値VafsfbgをサブFB学習値の上限値VglimitRとサブFB学習値の下限値VglimitLとの間の値に規制する。図14に示したルーチンについては後述する。その後、CPUはステップ1295に進んで本ルーチンを一旦終了する。以上の処理により、サブフィードバック量VafsfbとサブFB学習値Vafsfbgとが更新される。一方、サブフィードバック制御条件が成立していない場合、CPUはステップ1205にてNoと判定し、ステップ1265に進んでサブFB学習値Vafsfbgの値をサブフィードバック量Vafsfbとして設定する。この結果、サブフィードバック制御条件が不成立であるとき、図11のステップ1110にて使用されるサブフィードバック量VafsfbはサブFB学習値Vafsfbgに一致する。次いで、CPUはステップ1270に進み、サブフィードバック量Vafsfbを積分定数Kiにより除した値Vafsfbg/Kiを積分処理値SDVoxsとして設定する。その後、CPUはステップ1295に進み、本ルーチンを一旦終了する。以上に述べたようにして、メインフィードバック制御及びサブフィードバック制御が実行される。<サブフィードバック量のガード処理>前述したように、CPUは図12のステップ1240に進んだとき、図13に示したルーチンを実行することにより、サブフィードバック量Vafsfbをサブフィードバック用のガード幅内に規制する。即ち、CPUは図12のステップ1240に進んだとき、図13のステップ1300から処理を開始してステップ1310に進み、サブフィードバック量の上限値VlimitRを実際のアルコール濃度Et及び別途算出されている実際の空燃比不均衡指標値RIMBに基いて決定する。サブフィードバック量の上限値VlimitRは、リッチ補正側ガード値VlimitRとも称呼される。より具体的に述べると、CPUはステップ1310にて、実際のアルコール濃度エタノール濃度Etと実際の空燃比不均衡指標値RIMBとを、ステップ1310内に記載したルックアップテーブルに適用することにより、上限値VlimitRを決定する。このルックアップテーブルによれば、上限値VlimitRは、アルコール濃度本例では、エタノール濃度Etが高いほど大きくなり、且つ、空燃比不均衡指標値RIMBが大きいほど大きくなるように決定される。なお、このステップ1310のブロック内のテーブルに記載された数値は一例である。次に、CPUはステップ1320に進んでサブフィードバック量Vafsfbが上限値VlimitR以上であるか否かを判定する。このとき、サブフィードバック量Vafsfbが上限値VlimitR以上であれば、CPUはステップ1330に進み、サブフィードバック量Vafsfbを上限値VlimitRに一致させる。この結果、サブフィードバック量Vafsfbは上限値VlimitRよりも大きくならないように制限される。一方、CPUがステップ1320の処理を実行する時点において、サブフィードバック量Vafsfbが上限値VlimitR未満であれば、CPUはステップ1340に進んでサブフィードバック量の下限値VlimitLに一定値本例において、-0.1を設定する。下限値VlimitLはリーン補正側ガード値VlimitLとも称呼される。次いで、CPUはステップ1350に進み、サブフィードバック量Vafsfbが下限値VlimitL以下であるか否かを判定する。このとき、サブフィードバック量Vafsfbが下限値VlimitL以下であれば、CPUはステップ1360に進み、サブフィードバック量Vafsfbを下限値VlimitLに一致させる。この結果、サブフィードバック量Vafsfbは下限値VlimitLより小さくならないように制限される。その後、CPUはステップ1395に進み、本ルーチンを一旦終了する。一方、CPUがステップ1350の処理を実行する時点において、サブフィードバック量Vafsfbが下限値VlimitLよりも大きければ、CPUはステップ1395に直接進んで本ルーチンを一旦終了する。この結果、サブフィードバック量Vafsfbは、下限値VlimitL以上であって、且つ、上限値VlimitR以下の値に設定される。<サブFB学習値のガード処理>前述したように、CPUは図12のステップ1260に進んだとき、図14に示したルーチンを実行することにより、サブFB学習値VafsfbgをサブFB学習値用のガード幅内に規制する。即ち、CPUは図12のステップ1260に進んだとき、図14のステップ1400から処理を開始してステップ1410に進み、サブFB学習値の上限値VglimitRを実際のアルコール濃度エタノール濃度Et及び別途算出されている実際の空燃比不均衡指標値RIMBに基いて決定する。より具体的に述べると、CPUはステップ1410にて、実際のアルコール濃度Etと実際の空燃比不均衡指標値RIMBとを、ステップ1410内に記載したルックアップテーブルに適用することにより、上限値VglimitRを決定する。このルックアップテーブルによれば、上限値VglimitRは、アルコール濃度Etが高いほど大きくなり、且つ、空燃比不均衡指標値RIMBが大きいほど大きくなるように決定される。なお、このステップ1410のブロック内のテーブルに記載された数値は一例であり、更に、図13のステップ1310のブロック内にテーブルに記載された対応する領域アルコール濃度Etと空燃比不均衡指標値RIMBとにより定まる領域の数値と相違していてもよい一般には、ステップ1410のテーブルの各ブロックには、ステップ1310のテーブルの対応するブロック内の数値よりも小さい値が設定される。。次に、CPUはステップ1420乃至ステップ1460のうちの必要なステップの処理を行い、サブFB学習値Vafsfbgを下限値VglimitL以上であって、且つ、上限値VglimitR以下の値に制限する。即ち、サブFB学習値VafsfbgをサブFB学習値用のガード幅内に規制する。上限値VglimitRはサブFB学習値のリッチ補正側ガード値VglimitRとも称呼され、下限値VglimitLはサブFB学習値のリーン補正側ガード値VglimitLとも称呼される。下限値VglimitLは一定値-0.1である。ステップ1420乃至ステップ1460は、図13のステップ1320乃至ステップ1360とそれぞれ同様である。従って、以下、簡単に説明する。CPUは、ステップ1420にてサブFB学習値Vafsfbgが上限値VglimitR以上であると判定すると、ステップ1430に進んでサブFB学習値Vafsfbgを上限値VglimitRに一致させる。この結果、サブFB学習値Vafsfbgは上限値VglimitRよりも大きくならないように制限される。一方、CPUがステップ1420の処理を実行する時点において、サブFB学習値Vafsfbgが上限値VglimitR未満であれば、CPUはステップ1440に進んでサブFB学習値の下限値VglimitLに一定値本例において、-0.1を設定する。次いで、CPUはステップ1450以降に進み、サブFB学習値Vafsfbgが下限値VglimitL以下であれば、ステップ1460にてサブFB学習値Vafsfbgを下限値VglimitLに一致させる。この結果、サブFB学習値Vafsfbgは下限値VglimitLよりも小さくならないように制限される。<空燃比不均衡指標値の取得、及び、空燃比気筒間インバランス判定>次に、空燃比不均衡指標値を取得するための処理について説明する。CPUは、4ms所定の一定サンプリング時間tsが経過する毎に、図15にフローチャートにより示したルーチンを実行するようになっている。従って、所定のタイミングになると、CPUはステップ1500から処理を開始してステップ1505に進み、パラメータ取得許可フラグXkyokaの値が1であるか否かを判定する。このパラメータ取得許可フラグXkyokaの値は、絶対クランク角度CAが0°クランク角度になった時点において後述するパラメータ取得条件空燃比不均衡指標値取得許可条件が成立しているときに1に設定され、パラメータ取得条件が不成立になった時点において直ちに0に設定される。パラメータ取得条件は、以下の総ての条件条件C1乃至条件C5が成立したときに成立する。従って、パラメータ取得条件は、以下の総ての条件条件C1乃至条件C5のうちの少なくとも一つが不成立であるとき、成立しない。勿論、パラメータ取得条件を構成する条件は、以下の条件C1乃至条件C5に限定されることはない。条件C1エアフローメータ51により取得される吸入空気量Gaが、所定範囲内である。即ち、吸入空気量Gaが、低側閾値空気流量GaLoth以上であり且つ高側閾値空気流量GaHith以下である。条件C2機関回転速度NEが所定範囲内である。即ち、機関回転速度NEが、低側閾値回転速度NELoth以上であり且つ高側閾値回転速度NEHith以下である。条件C3冷却水温THWが閾値冷却水温THWth以上である。条件C4メインフィードバック制御条件が成立している。条件C5フューエルカット制御中でない。いま、パラメータ取得許可フラグXkyokaの値が1であると仮定する。この場合、CPUはステップ1505にてYesと判定してステップ1510に進み、その時点の上流側空燃比センサ56の出力値Vabyfsを取得する。次に、CPUはステップ1520に進み、ステップ1510にて取得した出力値Vabyfsを図5に示した空燃比変換テーブルMapabyfsに適用することにより、今回の検出空燃比abyfsを取得する。なお、CPUは、ステップ1515の処理の前に、本ルーチンを前回実行したときに取得した検出空燃比abyfsを前回の検出空燃比abyfsoldとして記憶する。即ち、前回の検出空燃比abyfsoldは、現時点から4msサンプリング時間ts前の時点における検出空燃比abyfsである。前回の検出空燃比abyfsoldの初期値は、機関10の始動時に実行されるイニシャルルーチンにおいて理論空燃比に相当する値に設定されている。次に、CPUはステップ1520に進んで、A検出空燃比変化率ΔAFを取得し、B検出空燃比変化率ΔAFの絶対値|ΔAF|の積算値SAFDを更新し、且つ、C検出空燃比変化率ΔAFの絶対値|ΔAF|の、積算値SAFDへの積算回数カウンタCnを更新する。以下、これらの更新方法について具体的に説明する。A検出空燃比変化率ΔAFの取得。検出空燃比変化率ΔAF微分値ddtは、空燃比不均衡指標値RIMBの元データとなるデータ基本指標量、基本パラメータである。CPUは、この検出空燃比変化率ΔAFを、今回の検出空燃比abyfsから前回の検出空燃比abyfsoldを減じることによって取得する。即ち、今回の検出空燃比abyfsをabyfsn、前回の検出空燃比abyfsoldをabyfsn-1と表記すると、CPUはステップ1520にて今回の検出空燃比変化率ΔAFnを下記の12式に従って求める。ΔAFn=abyfsn-abyfsn-1...12B検出空燃比変化率ΔAFの絶対値|ΔAF|の積算値SAFDの更新。CPUは今回の積算値SAFDnを下記の13式に従って求める。即ち、CPUは、ステップ1520に進んだ時点における前回の積算値SAFDn-1に上記算出した今回の検出空燃比変化率ΔAFnの絶対値|ΔAFn|を加えることにより、積算値SAFDを更新する。SAFDn=SAFDn-1|ΔAFn|...13積算値SAFDに今回の検出空燃比変化率の絶対値|ΔAFn|を積算する理由は、図8のB及びCからも理解されるように、検出空燃比変化率ΔAFnは正の値にも負の値にもなるからである。なお、積算値SAFDも、上述したイニシャルルーチンにおいて0に設定されるようになっている。C検出空燃比変化率ΔAFの絶対値|ΔAF|の、積算値SAFDへの積算回数カウンタCnの更新。CPUは、下記の14式に従って、カウンタCnの値を1だけ増大する。Cnnは更新後のカウンタCnであり、Cnn-1は更新前のカウンタCnである。このカウンタCnの値は上述したイニシャルルーチンにおいて0に設定されるとともに、後述するステップ1530及びステップ1570にても0に設定される。従って、カウンタCnの値は、積算値SAFDに積算された検出空燃比変化率ΔAFの絶対値|ΔAF|のデータ数を示す。Cnn=Cnn-11...14次に、CPUはステップ1525に進み、基準気筒本例では第1気筒の圧縮上死点を基準としたクランク角度CA絶対クランク角度CAが720°クランク角度になっているか否かを判定する。このとき、絶対クランク角度CAが720°クランク角度未満であると、CPUはステップ1525にてNoと判定してステップ1595に直接進み、本ルーチンを一旦終了する。なお、ステップ1525は、検出空燃比変化率ΔAFの絶対値|ΔAF|の平均値を求めるための最小単位の期間を定めるステップであり、ここでは単位燃焼サイクル期間である720°クランク角度がその最小期間に相当する。勿論、この最小期間は720°クランク角度よりも短くてもよいが、サンプリング時間tsの複数倍の長さ以上の期間であることが望ましい。更に、最小期間は、単位燃焼サイクル期間の自然数倍の期間であることが望ましい。一方、CPUがステップ1525の処理を行う時点において、絶対クランク角度CAが720°クランク角度になっていると、CPUはそのステップ1525にてYesと判定し、ステップ1530に進む。CPUは、ステップ1530にて、D検出空燃比変化率ΔAFの絶対値|ΔAF|の平均値AveΔAFを算出し、E平均値AveΔAFの積算値Saveを更新し、且つ、F積算回数カウンタCsを更新する。以下、これらの更新方法について具体的に説明する。D検出空燃比変化率ΔAFの絶対値|ΔAF|の平均値AveΔAFの算出。CPUは、下記の15式に示したように、積算値SAFDをカウンタCnの値により除することにより、検出空燃比変化率ΔAFの絶対値|ΔAF|の平均値AveΔAFを算出する。この後、CPUは積算値SAFD及びカウンタCnの値を0に設定する。AveΔAF=SAFD/Cn...15E平均値AveΔAFの積算値Saveの更新。CPUは今回の積算値Savenを下記の16式に従って求める。即ち、CPUは、ステップ1530に進んだ時点における前回の積算値Saven-1に上記算出した今回の平均値AveΔAFを加えることにより、積算値Saveを更新する。この積算値Savenの値は上述したイニシャルルーチンにおいて0に設定されるとともに、後述するステップ1565にても0に設定される。Saven=Saven-1AveΔAF...16F積算回数カウンタCsの更新。CPUは、下記の17式に従って、カウンタCsの値を1だけ増大する。Csnは更新後のカウンタCsであり、Csn-1は更新前のカウンタCsである。このカウンタCsの値は上述したイニシャルルーチンにおいて0に設定されるとともに、後述するステップ1565にても0に設定される。従って、カウンタCsの値は、積算値Saveに積算された平均値AveΔAFのデータ数を示す。Csn=Csn-11...17次に、CPUはステップ1535に進み、カウンタCsの値が閾値Csth以上であるか否かを判定する。このとき、カウンタCsの値が閾値Csth未満であると、CPUはそのステップ1535にてNoと判定し、ステップ1595に直接進んで本ルーチンを一旦終了する。なお、閾値Csthは自然数であり、2以上であることが望ましい。一方、CPUがステップ1535の処理を行う時点において、カウンタCsの値が閾値Csth以上であると、CPUはそのステップ1535にてYesと判定してステップ1540に進む。CPUは、そのステップ1540にて、下記18式に従って積算値SaveをカウンタCsの値=Csthによって除することにより、空燃比不均衡指標値RIMB=空燃比変動指標量AFDを取得する。空燃比不均衡指標値RIMBは、検出空燃比変化率ΔAFの絶対値|ΔAF|の各単位燃焼サイクル期間における平均値AveΔAFを、複数Csth個の単位燃焼サイクル期間について平均した値である。空燃比不均衡指標値RIMBは、インバランス判定用パラメータとも称呼される。RIMB=AFD=Save/Csth...18次に、CPUはステップ1545に進み、ステップ1540にて算出した空燃比不均衡指標値RIMBを、バックアップRAM内に空燃比不均衡指標値RIMBの学習値RIMBgakuとして格納記憶する。なお、CPUは、既にバックアップRAM内に格納されている学習値RIMBgaku=RIMBgakun-1と、今回得られた空燃比不均衡指標値RIMBと、を下記19式に従って加重平均し、その加重平均値RIMBgakunを新たな学習値RIMBgakuとしてバックアップRAM内に格納してもよい。19式において、βは0より大きく1より小さい所定値である。RIMBgakun=βRIMBgakun-11-βRIMB...19次に、CPUはステップ1565に進み、空燃比不均衡指標値RIMBを算出するために用いられる各値ΔAF,SAFD,Cn,AveΔAF,Save,及び,Cs等を0に設定クリアする。その後、CPUはステップ1595に進んで本ルーチンを一旦終了する。CPUがステップ1505に進んだ際にパラメータ取得許可フラグXkyokaの値が1でなければ、CPUはそのステップ1505にてNoと判定してステップ1570に進む。CPUは、そのステップ1570にて平均値AveΔAFを算出するために用いられる各値ΔAF,SAFD,及び,Cn等を0に設定クリアする。次いで、CPUはステップ1595に進んで本ルーチンを一旦終了する。なお、CPUは、空燃比気筒間インバランス状態が発生しているか否かの判定を、機関10が始動されてから停止されるまでの1回の運転中に一度のみ実行してもよい。但し、CPUは、機関10が始動されてから停止されるまでの1回の運転中に、空燃比不均衡指標値RIMBを繰り返し更新する。以上、説明したように、第1制御装置は、上流側空燃比センサ56の出力値Vabyfsに基いて取得される検出空燃比abyfs気筒別空燃比の不均一性が生じておらず且つアルコール濃度が0である場合における出力値Vabyfsと排ガスの真の空燃比との関係に実際の出力値Vabyfsを適用することにより得られる空燃比を所定の目標空燃比abyfrに一致させるためのメインフィードバック量DFiを検出空燃比abyfsと目標空燃比abyfrとに基いて決定するメインフィードバック制御手段図11と、下流側空燃比センサ57の出力値Voxsを所定の下流側目標値Voxsrefに一致させるためのサブフィードバック量Vafsfbを、少なくとも出力値Voxsと下流側目標値Voxsrefとの偏差に応じた値を積分することにより得られる積分処理値SDVoxsに基いて算出するとともに図12のステップ1220、前記積分処理値SDVoxsに基いてサブフィードバック量の学習値サブFB学習値Vafsfbgを算出し図12のステップ1255、且つ、その算出されたサブFB学習値Vafsfbgを所定のガード幅サブFB学習値のガード幅内に規制する図12のステップ1260、及び、図14を参照。、サブフィードバック制御手段図12と、メインフィードバック量DFi、サブフィードバック量Vafsfb、及び、サブFB学習値Vafsfbgに基いて燃料噴射弁33から噴射される燃料の量を補正することにより指示燃料噴射量Fi複数の燃料噴射弁33のそれぞれから噴射される燃料の量の指示値を決定する指示燃料噴射量決定手段図10のステップ1050、図11のステップ1110、図12のステップ1230及びステップ1265等と、指示燃料噴射量Fiに応じた量の燃料が複数の燃料噴射弁33のそれぞれから噴射されるように前記複数の燃料噴射弁33に噴射指示信号を送出する噴射指示信号送出手段図10のステップ1060と、を備える内燃機関の燃料噴射量制御装置であって、前記複数の気筒のそれぞれの燃焼室に供給される混合気の空燃比である気筒別空燃比の前記複数の気筒間における不均一性の程度が大きいほど大きくなる空燃比不均衡指標値RIMBを取得する空燃比不均衡指標値取得手段図15と、燃料のアルコール濃度Etを取得するアルコール濃度取得手段アルコール濃度センサ59と、前記ガード幅サブFB学習値のガード幅を、前記取得された空燃比不均衡指標値RIMBが大きいほど大きくするとともに前記取得されたアルコール濃度Etが高いほど大きくする学習値ガード幅変更手段図14のステップ1410と、を備える。従って、アルコール濃度Etが高く且つ空燃比不均衡指標値RIMBが大きくなった場合であっても、サブFB学習値Vafsfbgがリーン誤補正を補償し得る値へと到達し得るので、エミッションが悪化することを回避することができる。なお、CPUは、図12のステップ1255において、サブFB学習値Vafsfbgを、サブフィードバック量Vafsfbに基いて算出してもよい。この場合、例えば、CPUは下記20式に従ってサブフィードバック量Vafsfbの加重平均を求め、その加重平均値をサブFB学習値Vafsfbgとして取得してもよい。つまり、サブFB学習値Vafsfbgは、サブフィードバック量Vafsfbの定常成分に応じた値であればよい。20式において、値γ重み係数γは0より大きく1より小さい所定値、Vafsfbgnは更新されたサブFB学習値Vafsfbg、Vafsfbgn-1は更新前のサブFB学習値Vafsfbg、Vafsfbnは図12のステップ1230において新たに算出されたサブフィードバック量Vafsfbである。Vafsfbgn=1-γVafsfbgn-1γVafsfbn...20更に、第1制御装置は、サブフィードバック量Vafsfb及びサブFB学習値Vafsfbgの機関10の空燃比をリッチ側に補正する限界値を、アルコール濃度Etが高くなるほど、且つ、空燃比不均衡指標値RIMBが大きくなるほど、大きくしていると言うこともできる。<第2実施形態>次に、本発明の第2実施形態に係る制御装置以下、単に第2制御装置と称呼する。について説明する。サブFB学習値の変化速度サブFB学習値の更新速度は、誤学習防止を目的として、一般に比較的小さく設定されている。しかしながら、高いアルコール濃度の燃料が給油され且つその直後に気筒別空燃比の不均一性の程度が大きくなると、サブFB学習値は大きく変化しなければならない。従って、サブFB学習値のガード幅を大きくしたとしても、サブFB学習値が適正値に到達するまでに長時間を要するので、サブFB学習値が適正値に到達できない場合が発生する。例えば、サブFB学習値が適正値に到達する前に機関10の運転が終了されると、次に機関10が始動されたときの学習値は適正値から乖離しているので、エミッションが悪化する。そこで、第2制御装置は、空燃比不均衡指標値RIMBが大きいほどサブFB学習値の変化速度が大きくなり、且つ、アルコール濃度Etが高いほどサブFB学習値の変化速度が大きくなるように、サブFB学習値の変化速度を変更する。実際の作動第2制御装置のCPUは、図10乃至図15に示したルーチンを実行する。更に、第2制御装置のCPUは、図12のステップ1215に進んだとき図16に示した積分ゲイン決定ルーチンを実行するようになっている。図10乃至図15に示したルーチンについては説明済みである。従って、以下、図16に示したルーチンについて説明する。CPUは、図12のステップ1215に進んだとき、図16のステップ1600から処理を開始してステップ1610に進み、ゲインK積分ゲインKを決定する。より具体的に述べると、CPUはステップ1610内に記載されたルックアップテーブルに実際のアルコール濃度エタノール濃度Et及び実際の空燃比不均衡指標値RIMBを適用することにより、ゲインKを決定する。このルックアップテーブルによれば、アルコール濃度Etが高いほどゲインKが大きくなり、且つ、空燃比不均衡指標値RIMBが大きいほどゲインKが大きくなるように、ゲインKが算出される。その後、CPUはステップ1695を経由して図12のステップ1220以降に進む。前述したように、積分処理値SDVoxsの1回あたりの更新量は、出力偏差量DVoxsにゲインKを乗じた値KDVoxsである図12のステップ1220を参照。。従って、ゲインKが大きくなると、積分処理値SDVoxsの1回あたりの更新量KDVoxsが増大する。一方、サブフィードバック量Vafsfbは、積分処理値SDVoxsと積分定数Kiとの積からなる積分項を含む。サブFB学習値Vafsfbgは、積分処理値SDVoxsと積分定数Kiとの積である。よって、ゲインKが変更されると、サブフィードバック量Vafsfbの変化速度及びサブFB学習値Vafsfbgの変化速度が増大する。この結果、サブフィードバック量Vafsfb及びサブFB学習値Vafsfbgは、速やかに適正値へと近づくことができる。従って、アルコール濃度Etが高く且つ気筒別空燃比の不均一性の程度が大きくなった場合においても、サブフィードバック量Vafsfb及び/又はサブFB学習値Vafsfbgにより、機関の空燃比排ガスの空燃比を適正値に近づけることができる。以上、説明したように、第2制御装置のサブフィードバック制御手段は、取得された空燃比不均衡指標値RIMBが大きいほどサブFB学習値Vafsfbgの変化速度が大きくなり、且つ、取得されたアルコール濃度Etが高いほどサブFB学習値Vafsfbgの変化速度が大きくなるように、サブFB学習値Vafsfbgの変化速度を変更するように構成されている図12のステップ1215、ステップ1220及び図16を参照。。更に、サブフィードバック制御手段は、サブフィードバック量Vafsfbを算出するために使用される下流側空燃比センサ57の出力値Voxsと下流側目標値Voxsrefとの偏差出力偏差量DVoxsに応じた値として、その偏差出力偏差量DVoxsに所定のゲインKを乗じた値積分処理値SDVoxs=KDVoxsを採用し、実際の空燃比不均衡指標値RIMBが大きいほど前記ゲインKを大きい値に設定し、且つ、前記取得された実際のアルコール濃度Etが高いほど前記ゲインKを大きい値に設定する、ことによりサブFB学習値Vafsfbgの変化速度を変更するように構成されている図16。なお、第2制御装置は、積分ゲインKを変更することに代え、或いは、積分ゲインKを変更することに加え、学習間隔時間Tthを変更することにより、サブFB学習値Vafsfbgの変化速度を変更してもよい。即ち、この場合、第2制御装置のCPUは図12のステップ1245に進んだとき、学習間隔時間Tthを実際のアルコール濃度Et及び実際の空燃比不均衡指標値RIMBに基いて設定する。より具体的に述べると、第2制御装置のCPUは、実際のアルコール濃度Etが高くなるほど学習間隔時間Tthを短く設定し、且つ、実際の空燃比不均衡指標値RIMBが大きくなるほど学習間隔時間Tthを短く設定する。この結果、サブFB学習値Vafsfbgが、変化する出力偏差量DVoxsにゲインKを乗じた値KDVoxsに近づけられる設定される時間間隔が短くなるので、サブFB学習値Vafsfbgの変化速度を増大することができる。更に、サブFB学習値Vafsfbgが上記20式に従って算出される場合、CPUは、実際の空燃比不均衡指標値RIMBが大きいほど前記重み係数γを大きい値に設定し、且つ、前記取得された実際のアルコール濃度Etが高いほど前記重み係数γを大きい値に設定することにより、サブFB学習値Vafsfbgの変化速度を変更増大してもよい。<第3実施形態>次に、本発明の第3実施形態に係る制御装置以下、単に第3制御装置と称呼する。について説明する。上述したように、サブフィードバック量Vafsfbのガード幅が拡大され、サブFB学習値Vafsfbgのガード幅が拡大され、更に、サブフィードバック量Vafsfb及び/又はサブFB学習値Vafsfbgの変化速度が増大されることにより、サブフィードバック量Vafsfb及び/又はサブFB学習値Vafsfbgがそれぞれの適正値に近づく。よって、リーン誤制御が発生することを回避することができる。しかしながら、機関10の吸入空気量Gaが大きくなると、多量の水素が発生するため、上流側空燃比センサ56の出力値がよりリッチ側の値へと移行する。これは、上流側空燃比センサ56の触媒部566が、吸入空気量が大きい場合に多量に発生した水素を十分に処理酸化できなくなるからであると考えられる。従って、吸入空気量が大きい場合高吸入空気量領域において、サブフィードバック量Vafsfb及び/又はサブFB学習値Vafsfbgによっても、リーン誤制御の発生を抑制できず、エミッションが悪化する場合がある。特に、吸入空気量Gaが急激に大きくなった場合、サブフィードバック量Vafsfb及び/又はサブFB学習値Vafsfbgがそれらの適正値と乖離した値となっている状態が継続するので、エミッションが大きく悪化する場合も生じる。そこで、第3制御装置は、吸入空気量Gaが大きいほど、且つ、空燃比不均衡指標値RIMBが大きいほど、且つ、アルコール濃度Etが高いほど、メインフィードバック制御に用いられる上流側目標空燃比abyfrを小さい空燃比に設定するか又は検出空燃比abyfsを大きい空燃比へと補正する即ち、フィードバック制御用空燃比abyfscを大きくする。これにより、吸入空気量Gaが大きい場合にあっても、メインフィードバック制御の結果として得られる排ガスの真の空燃比が上流側触媒43のウインドウ内の空燃比となるので、リーン誤補正によってエミッションが悪化する可能性をより低減することができる。実際の作動第3制御装置のCPUは、図10乃至図16に示したルーチンを実行する。更に、第3制御装置のCPUは、図10のステップ1030に進んだとき図17に示した目標空燃比決定ルーチンを実行するようになっている。図10乃至図16に示したルーチンについては説明済みである。従って、以下、図17に示したルーチンについて説明する。CPUは、図10のステップ1030に進んだとき、図17のステップ1700から処理を開始してステップ1710に進み、目標空燃比補正量dafを決定する。より具体的に述べると、CPUは、ステップ1710内に記述したルックアップテーブルに実際の吸入空気量Ga及び実際の空燃比不均衡指標値RIMBを適用することにより、目標空燃比補正量dafを算出する。このルックアップテーブルによれば、目標空燃比補正量dafは次のように決定される。目標空燃比補正量dafは、吸入空気量Gaが大きくなるほど大きくなる。目標空燃比補正量dafは、空燃比不均衡指標値RIMBが大きくなるほど大きくなる。目標空燃比補正量dafは、低吸入空気量領域において0に設定される。目標空燃比補正量dafは、空燃比不均衡指標値RIMBが実質的に0であるとき、0に設定される。次に、CPUはステップ1720に進み、アルコール濃度補正値kETを取得する。より具体的に述べると、CPUはステップ1720内に記述したルックアップテーブルに実際のアルコール濃度Et本例においては、エタノール濃度を適用することにより、アルコール濃度補正値kETを算出する。このルックアップテーブルによれば、アルコール濃度Etが高いほどアルコール濃度補正値kETは大きくなるように算出される。次に、CPUはステップ1730に進み、基準空燃比である理論空燃比stoichから目標空燃比補正量dafとアルコール濃度補正値kETとの積kETdafを減じた値を、目標空燃比abyfrとして採用する。なお、サブフィードバック量及びサブFB学習値が、目標空燃比abyfrを補正するように用いられる場合、それらによって補正された後の目標空燃比から積kETdafが減じられた値が、目標空燃比abyfrとして設定される。その後、CPUはステップ1795を経由して図10のステップ1030に進む。この目標空燃比abyfrは、図11のステップ1125にても使用される。従って、ステップ1730図17は、リッチ化手段に相当している。この結果、目標空燃比abyfrは次のように変更させられる。目標空燃比abyfrは、吸入空気量Gaが大きくなるほど、理論空燃比stoichとの差の絶対値の大きさが大きくなるように、小さくなるよりリッチ側の空燃比に設定される。。目標空燃比abyfrは、空燃比不均衡指標値RIMBが大きくなるほど、理論空燃比stoichとの差の絶対値の大きさが大きくなるように、小さくなるよりリッチ側の空燃比に設定される。。目標空燃比abyfrは、アルコール濃度Etが高くなるほど、理論空燃比stoichとの差の絶対値の大きさが大きくなるように、小さくなるよりリッチ側の空燃比に設定される。。従って、指示燃料噴射量Fiは、吸入空気量Gaが増大するほど吸入空気量Gaの増大に見合う分目標空燃比abyfrが一定である場合に吸入空気量Gaの増加に基いて増加する指示燃料噴射量Fiの増加量よりも更に大きい量だけ大きくなり、且つ、空燃比不均衡指標値RIMB及び/又はアルコール濃度Et大きくなるほど大きくなる。この結果、吸入空気量Gaと指示燃料噴射量Fiとにより決定される指示空燃比は、吸入空気量Gaが大きくなるほど、空燃比不均衡指標値RIMBが大きくなるほど、アルコール濃度Etが高くなるほど、より小さくなるように修正される。従って、吸入空気量Ga、気筒別空燃比の不均一性の程度、及び、アルコール濃度に応じて、指示燃料噴射量Fiが適切に制御されるので、リーン誤補正が確実に回避され、窒素酸化物の排出量が増大することを回避することができる。なお、第3制御装置は、目標空燃比abyfrを修正する代わりに、メインフィードバック制御に用いられる検出空燃比フィードバック制御用出力値Vabyfcを、吸入空気量Ga、空燃比不均衡指標値RIMB、及び、アルコール濃度Etの何れかが大きくなるほどより大きい空燃比になるように補正することにより、実質的に目標空燃比を小さい値へと変更してもよい。<第4実施形態>次に、本発明の第4実施形態に係る制御装置以下、単に第4制御装置と称呼する。について説明する。第4制御装置は、上流側空燃比センサ56として下流側空燃比センサ57と同じ起電力式の酸素濃度センサ安定化ジルコニア等の固体電解質を用いた周知の濃淡電池型の酸素濃度センサを使用する点において第1制御装置と相違している。前述したように、起電力式の酸素濃度センサも多孔質層を備える。従って、起電力式の酸素濃度センサが排気集合部HKと上流側触媒43との間に配設されると、起電力式の酸素濃度センサの出力値Voxsは、水素の選択的拡散の影響を受ける。このため、図18に示したように、排ガスの真の空燃比に対する出力値Voxsは、アルコール濃度に応じて変化する。更に、図19に示したように、排ガスの真の空燃比に対する出力値Voxsは、気筒別空燃比の不均一性の程度に応じて変化する。一般に、起電力式の酸素濃度センサがメインフィードバック制御のための上流側空燃比センサとして使用される場合、出力値Voxsが前記基準空燃比例えば、理論空燃比に対応した値Vstに設定された目標値Vrefに一致するように空燃比のフィードバック制御が実行される。即ち、出力値Voxsに基いて取得される検出空燃比に相当する値が、目標空燃比に相当する値に一致するように、メインフィードバック量DFiが算出される。従って、アルコール濃度及び/又は気筒別空燃比の不均一性の程度が大きくなるに従って、メインフィードバック制御の結果として得られる排ガスの真の空燃比の平均は、基準空燃比よりもリーン側の空燃比へと移行してしまう。即ち、リーン誤制御が発生する。そこで、第4制御装置は、第1制御装置と同様、サブフィードバック量Vafsfbのガード幅をアルコール濃度Etが高いほど、且つ、空燃比不均衡指標値RIMBが大きいほど拡大する。更に、第4制御装置は、第1制御装置と同様、サブFB学習値のガード幅をアルコール濃度Etが高いほど、且つ、空燃比不均衡指標値RIMBが大きいほど拡大する。更に、第4制御装置は、第2制御装置と同様、サブフィードバック量Vafsfbの変化速度及びサブFB学習値Vafsfbgの変化速度を変更する。第4制御装置のCPUは、メインフィードバック制御を以下のように実行する。即ち、第4制御装置は、上流側空燃比センサ56の位置に配設された起電力式酸素濃度センサの出力値Voxsが目標空燃比abyfrに相当する値である目標値Vref例えば、Vst=0.5Vに一致するように、下記21式に従って、メインフィードバック量DFiを求める。この21式において、Kppは予め設定された比例定数、Kiiは予め設定された積分定数、Kddは予め設定された微分定数である。また、出力偏差量Dsは目標値Vrefから出力値Voxsを減じた値である。SDsは出力偏差量Dsの積分値、DDsは出力偏差量Dsの微分値である。DFi=KppDsKiiSDsKddDDs...21このように、CPUは、上流側空燃比センサ56の位置に配設された起電力式の酸素濃度センサの出力値Voxsを目標値Vrefに一致させるための比例積分微分PID制御によりメインフィードバック量DFiを求める。このメインフィードバック量DFiは、図10のステップ1050にて使用される。なお、第4制御装置のCPUは、上流側空燃比センサ56の位置に配設された起電力式の酸素濃度センサの出力値Voxsの微分値ddtに基いて空燃比不均衡指標値RIMBを取得する。<第5実施形態>次に、本発明の第5実施形態に係る制御装置以下、単に第5制御装置と称呼する。について説明する。第5制御装置は、空燃比不均衡指標値RIMBに代えて空燃比不均衡指標値の学習値RIMBgaku以下、単に指標学習値RIMBgakuとも称呼する。を用いてサブフィードバック量Vafsfbのガード幅実際にはサブフィードバック量Vafsfbの上限値VlimitR及びサブFB学習値のガード幅実際にはサブFB学習値の上限値VglimitRを決定する点において、第1制御装置と相違する。更に、第5制御装置は、指標学習値RIMBgakuを以下のように求める。指標学習値RIMBgakuは補正後空燃比不均衡指標値RIMBgakuとも称呼される。1第5制御装置は、補正後空燃比不均衡指標値RIMBgakuを求めるための基本値基本指標値、又は、基本パラメータとして、検出空燃比abyfsの時間微分値ddt即ち、検出空燃比変化率ΔAFを求める上記12式を参照。。なお、基本パラメータは、検出空燃比abyfsの二階微分値d2dt2、上流側空燃比センサ56の出力値Vabyfsの時間微分値ddt、及び、出力値Vabyfsの二階微分値d2dt2、等であってもよく、更に、これらの値の単位燃焼サイクル期間における平均値AveΔAFであってもよい。2第5制御装置は、第1制御装置と同様、検出空燃比変化率ΔAFの絶対値|ΔAF|の各単位燃焼サイクル期間における平均値AveΔAFを、複数Csth個の単位燃焼サイクル期間について平均することによって、基本空燃比不均衡指標値RIMBbを取得する上記18式を参照。。この基本空燃比不均衡指標値RIMBbは、基本パラメータに相関を有する値であるので、基本パラメータ相関値RIMBbとも称呼される。更に、基本空燃比不均衡指標値RIMBbは、後述する補正がなされる前の値であるので、補正前空燃比不均衡指標値RIMBbとも称呼される。3第5制御装置は、基本空燃比不均衡指標値RIMBb基本パラメータ相関値を基本空燃比不均衡指標値RIMBb基本パラメータに応じる値、機関回転速度NE機関回転速度に応じる値、吸入空気量Ga吸入空気量Gaに応じる値、及び、アルコール濃度Etに基いて補正することにより、指標学習値RIMBgakuを求める。このように、基本空燃比不均衡指標値RIMBbを基本空燃比不均衡指標値RIMBb、機関回転速度NE及び吸入空気量Gaに基いて補正する理由は、気筒別空燃比の不均一性の程度インバランス割合がある値であっても、基本パラメータである検出空燃比変化率ΔAF従って、基本空燃比不均衡指標値RIMBbは機関回転速度NE及び吸入空気量Gaに応じて変動するからである。更に、気筒別空燃比の不均一性の程度が異なれば、機関回転速度NE及び吸入空気量Gaが基本空燃比不均衡指標値RIMBbに及ぼす影響の程度が変化するからである。基本空燃比不均衡指標値RIMBbをアルコール濃度Etにも基いて補正する理由は、アルコール濃度Etが高いほど水素の発生量が多くなるので、図20に示したように、気筒別空燃比の不均一性の程度がある値であっても検出空燃比変化率ΔAFはアルコール濃度Etに応じて変動するからである。実際の作動以下、第5制御装置の作動について説明する。第5制御装置のCPUは、図10乃至図14に示したルーチンを第1制御装置のCPUと同様に実行する。但し、第5制御装置のCPUは、図13のステップ1310及び図14のステップ1410において、空燃比不均衡指標値RIMBに代えて指標学習値RIMBgaku即ち、補正後の空燃比不均衡指標値RIMBgakuを各ルックアップテーブルに適用することによって、各ガード値上限値VlimitR及び上限値VglimitRを取得する。更に、第5制御装置のCPUは、図15に代わる図21に示したルーチンを4ms所定の一定サンプリング時間tsが経過する毎に実行するようになっている。なお、図21に示したステップのうち既に説明したステップと同一の処理を行うためのステップには、そのような既に説明したステップと同一の符号が付されている。これらのステップの詳細な説明は適宜省略される。カウンタCsの値が閾値Csth以上となった時点においてCPUが図21のステップ1535に進むと、CPUはそのステップ1535にてYesと判定し、以下に述べるステップ2110乃至ステップ2150の処理を順に行う。ステップ2110:CPUは、下記22式に従って積算値SaveをカウンタCsの値=Csthによって除することにより、基本空燃比不均衡指標値RIMBb=基本パラメータ相関値を取得する。基本空燃比不均衡指標値RIMBbは、検出空燃比変化率ΔAFの絶対値|ΔAF|の各単位燃焼サイクル期間における平均値AveΔAFを、複数Csth個の単位燃焼サイクル期間について平均した値である。RIMBb=Save/Csth...22ステップ2120:CPUは、機関回転速度NE、吸入空気量Ga及び基本空燃比不均衡指標値RIMBbをルックアップテーブルMapK1dt検出空燃比変化率ΔAFを基本パラメータとして取得する図21のステップ1520を参照。。この基本パラメータは、上流側空燃比センサ56が配設された位置を通過する排ガスの空燃比の変動が大きいほど大きくなる値である。そして、第5制御装置は、基本パラメータである検出空燃比変化率ΔAFの平均値即ち、基本パラメータに相関を有する値を基本パラメータ相関値としての基本空燃比不均衡指標値RIMBbとして求める図21のステップ1520乃至ステップ1535、及び、ステップ2110を参照。。更に、第5制御装置は、基本パラメータ相関値である基本空燃比不均衡指標値RIMBbカウンタ閾値Csthが1の場合、基本パラメータを、基本パラメータに応じる値である基本空燃比不均衡指標値RIMBb、機関回転速度NE及び吸入空気量Gaに基いて補正しステップ2120乃至ステップ2140を参照。、その補正により得られた補正後値RIMBcに基いて補正後の空燃比不均衡指標値=指標学習値RIMBgakuを取得するように構成されているステップ2150を参照。。従って、補正後の空燃比不均衡指標値指標学習値RIMBgakuは、吸入空気量Ga、機関回転速度NE及びアルコール濃度Etの影響が排除された値となるので、気筒別空燃比の複数の気筒間における不均一性の程度インバランス割合を精度良く表す。その結果、この指標学習値RIMBgakuに基づいて取得される上限値VlimitR及び上限値VglimitRが真のインバランス割合に応じた値となる。その結果、サブフィードバック量Vafsfbのガード幅及びサブFB学習値Vafsfbgのガード幅が、真のインバランス割合に応じた適切な幅となる。よって、インバランス割合が大きくなった場合においてもサブフィードバック量Vafsfb及びサブFB学習値Vafsfbgが適切な値へと変化できるので、エミッションを良好に維持することができる。更に、インバランス割合が小さい場合にサブフィードバック量Vafsfb及びサブFB学習値Vafsfbgが不適切な値になる可能性を回避することができる。なお、第1補正係数K1及び第2補正係数K2は、一つの補正係数Kt即ち、K1K2に相当する値として求められ得る。この場合、ルックアップテーブルMapKtNE,Ga,RIMBb,Etを用いても良く、NE,Ga,RIMBb,Etを変数とする関数により補正係数Ktを求めてもよい。この関数の最も単純な一例は、下記25式の通りである。25式において、a1、a2、a3及びa4は係数であり、これらは一定値であってもよく、更に、NE,Ga,RIMBb及びEtのうちの少なくとも一つを変数とする関数により求められる値であってもよい。Kt=a1NEa2Gaa3RIMBba4Et...25<第6実施形態>次に、本発明の第6実施形態に係る制御装置以下、単に第6制御装置と称呼する。について説明する。第6制御装置は、第5制御装置と同様にして指標学習値RIMBgakuを取得する。そして、この指標学習値RIMBgakuを空燃比不均衡指標値RIMBと見做して目標空燃比abyfrの補正量dafを決定する。更に、アルコール濃度Etに基づいて補正量dafを補正し、補正された補正量K3dafに基いて目標空燃比abyfrを補正決定する。実際の作動第6制御装置のCPUは、図10乃至図14、及び図21に示したルーチンを実行する。更に、第6制御装置のCPUは、図10のステップ1030に進んだとき図25に示した目標空燃比決定ルーチンを実行するようになっている。図10乃至図14、及び図21に示したルーチンについては説明済みである。従って、以下、図25に示したルーチンについて説明する。CPUは、図10のステップ1030に進んだとき、図25のステップ2500から処理を開始してステップ2510に進み、目標空燃比補正量dafを決定する。より具体的に述べると、CPUは、ステップ2510内に記述したルックアップテーブルに吸入空気量Ga、及び、図21のステップ2150にて求められている指標学習値RIMBgaku即ち、補正後値RIMBcを適用することにより、目標空燃比補正量dafを算出する。このルックアップテーブルは、図17のステップ1710に示したルックアップテーブルと同様のテーブルである。次に、CPUはステップ2520に進み、アルコール濃度補正値第3補正係数K3を取得する。より具体的に述べると、CPUはステップ2520内に記述したルックアップテーブルに実際のアルコール濃度Et本例においては、エタノール濃度を適用することにより、アルコール濃度補正値K3を算出する。このルックアップテーブルによれば、アルコール濃度Etが高いほどアルコール濃度補正値K3は小さくなるように算出される。次に、CPUはステップ2530に進み、基準空燃比である理論空燃比stoichから目標空燃比補正量dafとアルコール濃度補正値K3との積K3dafを減じた値を、目標空燃比abyfrとして採用する。なお、サブフィードバック量及びサブFB学習値が、目標空燃比abyfr自体を直接補正するように用いられる場合、それらによって補正された後の目標空燃比から積K3dafが減じられた値が、目標空燃比abyfrとして設定される。その後、CPUはステップ2595を経由して図10のステップ1030に進む。この目標空燃比abyfrは、図11のステップ1125にても使用される。従って、ステップ2530図25は、リッチ化手段に相当し、積K3dafはリッチ補正量と言うこともできる。前述したように、気筒別空燃比の不均一性の程度インバランス割合が大きくなった場合に発生するリーン誤制御はサブフィードバック量Vafsfb及び/又はサブFB学習値Vafsfbgにより補償することができる。しかしながら、機関の吸入空気量Gaが大きくなると、多量の水素が発生するため、上流側空燃比センサ56の出力値Vabyfsがよりリッチ側の値へと移行する。これは、吸入空気量Gaが大きい場合、多量に発生した水素を上流側空燃比センサ56の触媒部566において十分に処理できなくなるからであると考えられる。従って、第6制御装置は、第3制御装置と同様、高吸入空気量領域において目標空燃比abyfrをリッチ側へと移行する。このとき、目標空燃比abyfrの移行量即ち、リッチ補正量である積K3dafは、吸入空気量Ga、機関回転速度NE及びアルコール濃度Etの影響が排除された指標学習値RIMBgakuに基いて決定される。よって、第6制御装置によれば、目標空燃比abyfrを真のインバランス割合に応じたより適切な値に設定することができ、機関の空燃比がリーンになることによって発生するNOxの量を低減することができる。その一方、アルコール濃度エタノール濃度Etが高くなると、燃焼温度が低下するので、NOxの発生量が減少する。このため、アルコール濃度Etが高い場合、アルコール濃度Etが低い場合に比較して、気筒別空燃比の不均一性の程度インバランス割合が大きくなった場合にNOx発生量低減のために必要とされるリッチ補正量K3dafの大きさは小さくなる。更に、アルコール濃度Etが高くなると、HC及びCOが増加する傾向がある。係る観点から、第6制御装置は、ステップ2520及びステップ2530の処理により、アルコール濃度Etが高いほどリッチ補正量K3dafの大きさを小さくしている。この結果、高吸入空気量領域を含め、気筒別空燃比の不均一性の程度インバランス割合が大きくなった場合であっても、アルコール濃度Etに依らず、より適切な空燃比制御が行われ得る。よって、エミッションを良好な値に維持することができる。以上、説明したように、第6制御装置は、前記燃料のアルコール濃度を取得するとともに、前記基本パラメータ相関値を前記取得されたアルコール濃度に基いて補正し図21のステップ2130乃至ステップ2150を参照。、前記補正により得られた補正後値RIMBcに基いて前記空燃比不均衡指標値即ち、補正後の空燃比不均衡指標値である指標学習値RIMBgakuを取得する空燃比不均衡指標値取得手段図21のルーチンを参照。と、前記取得された空燃比不均衡指標値が大きいほど前記指示燃料噴射量により定まる指示空燃比がより小さくなるように前記指示燃料噴射量を増大補正する指示燃料噴射量決定手段図25のステップ2510及びステップ2530を参照。と、を備える。更に、前記空燃比不均衡指標値取得手段は、前記基本パラメータ相関値基本空燃比不均衡指標値RIMBbを、前記基本パラメータに応じる値、前記機関の回転速度に応じる値及び前記機関の吸入空気量に応じる値に基いて補正し、前記補正により得られた補正後値RIMBcに基いて前記補正後の空燃比不均衡指標値指標学習値RIMBgakuを取得するように構成されている図21のステップ2110乃至ステップ2150を参照。。加えて、前記指示燃料噴射量決定手段は、前記取得された空燃比不均衡指標値指標学習値RIMBgakuが大きいほど前記目標空燃比がより小さくなるように前記目標空燃比を変更することにより前記指示燃料噴射量を増大補正するように構成されている図25のステップ2510及びステップ2530を参照。。更に、前記指示燃料噴射量決定手段は、前記燃料のアルコール濃度が高いほど理論空燃比stoich以下の範囲において前記目標空燃比が大きくなるように、前記目標空燃比を変更するように構成されている図25のステップ2520及びステップ2530を参照。。<第7実施形態>次に、本発明の第7実施形態に係る制御装置以下、単に第7制御装置と称呼する。について説明する。第7制御装置は、上流側触媒43の温度触媒温度TempCCROを、例えば、吸入空気量又は負荷、及び、機関回転速度等の機関運転状態パラメータに基いて推定し、その推定した触媒温度TempCCROに基いて触媒過熱防止用燃料増量制御、及び、触媒加熱防止用フューエルカット禁止制御を行う。更に、第7制御装置は、触媒温度TempCCROを推定する際、アルコール濃度Etを考慮する。その他の点は第6制御装置と同様である。実際の作動第7制御装置のCPUは、図10乃至図14、及び図21に示したルーチンを第6制御装置のCPUと同様に実行する。更に、第7制御装置のCPUは、図26乃至図28に示したルーチンのそれぞれを所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、CPUは図26のステップ2600から処理を開始し、以下に述べるステップ2610乃至ステップ2650の処理を順に行い、ステップ2695に進んで本ルーチンを一旦終了する。ステップ2610:CPUは、機関運転状態を表す吸入空気量Ga又は、負荷KL及び機関回転速度NEの機関運転状態パラメータに基いて排気温度Texを推定する。即ち、CPUは吸入空気量Ga及び機関回転速度NEをルックアップテーブルMapTexGa,NEに適用することによって、排気温度Texを取得する。ステップ2620:CPUは、排気温度Texに基いて補正前触媒温度Tcbを取得する。より具体的に述べると、CPUは下記の26式に基いて補正前触媒温度Tcbを算出する。補正前触媒温度Tcbは、排気温度Texに一次遅れ処理を施した値である。26式の左辺のTcbnは更新後の補正前触媒温度Tcbであり、右辺のTcbn-1は更新前の補正前触媒温度Tcbである。26式におけるbは0より大きく1より小さい定数である。なお、CPUは他の計算式一次遅れフィルタ処理に則って、排気温度Texに基いて補正前触媒温度Tcbを取得してもよい。Tcbn=bTex1-bTcbn-1...26ステップ2630:CPUは指標学習値RIMBgakuをルックアップテーブルMapKtc1RIMBgakuに適用することにより、第1触媒温度補正係数Ktc1を取得する。このテーブルMapKtc1RIMBgakuによれば、第1触媒温度補正係数Ktc1は指標学習値RIMBgakuが大きくなるほど1以上の範囲において次第に大きくなるように決定される。もちろん、CPUは指標学習値RIMBgakuを変数とする関数により第1触媒温度補正係数Ktc1を算出してもよい。ステップ2640:CPUは、アルコール濃度エタノール濃度EtをルックアップテーブルMapKtc2Etに適用することにより、第2触媒温度補正係数Ktc2を取得する。このテーブルMapKtc2Etによれば、第2触媒温度補正係数Ktc2はアルコール濃度Etが高くなるほど1以下の範囲において次第に小さくなるように決定される。もちろん、CPUはアルコール濃度Etを変数とする関数により第2触媒温度補正係数Ktc2を算出してもよい。ステップ2650:CPUは、補正前触媒温度Tcbを第1触媒温度補正係数Ktc1及び第2触媒温度補正係数Ktc2に基いて補正することにより、補正後の触媒温度TempCCROを取得する。より具体的に述べると、CPUは下記の27式に従って、補正前触媒温度Tcbに第1触媒温度補正係数Ktc1と第2触媒温度補正係数Ktc2との積を乗じることによって触媒温度TempCCROを算出する。TempCCRO=Ktc1Ktc2Tcb...27以上、説明したように、補正前触媒温度Tcbは、第1触媒温度補正係数Ktc1に基いて、指標学習値RIMBgakuが大きくなるほど、即ち、気筒別空燃比の不均一性の程度インバランス割合が大きくなるほど、高くなるように補正される。これは、気筒別空燃比の不均一性の程度が大きい場合、触媒43にはリッチな空燃比とリーンな空燃比とが短い周期にて交互に流入するため、触媒43における酸化還元反応が頻繁に繰り返され、その結果、触媒43の温度が速やかに上昇するからである。この結果、気筒別空燃比の不均一性の程度に関らず、触媒温度TempCCROが精度良く推定される。更に、補正前触媒温度Tcbは、第2触媒温度補正係数Ktc2に基いて、アルコール濃度Etが高くなるほど、低くなるように補正される。これは、アルコール濃度Etが高いほど燃焼温度が低下するため、排ガス温度が低くなるので、結果として、触媒43の温度も低くなるからである。この結果、アルコール濃度Etに関らず、触媒温度TempCCROが精度良く推定される。更に、所定のタイミングになると、CPUは図27のステップ2700から処理を開始してステップ2510に進み、指標学習値RIMBgakuと吸入空気量Gaとに基いて目標空燃比補正量dafを取得する。この処理は図25のステップ2510の処理と同じである。次に、CPUはステップ2520に進み、アルコール濃度Etに基いてアルコール濃度補正値第3補正係数K3を取得する。この処理は図25のステップ2520の処理と同じである。次に、CPUはステップ2710に進み、図26のステップ2650にて推定されている補正後の触媒温度TempCCROが過熱防止閾値温度TCth以下であるか否かを判定する。このとき、触媒温度TempCCROが過熱防止閾値温度TCth以下であると、CPUはステップ2710にてYesと判定してステップ2530に進み、基準空燃比である理論空燃比stoichから目標空燃比補正量dafとアルコール濃度補正値K3との積K3dafを減じた値を、目標空燃比abyfrとして採用する。この処理は図25のステップ2530の処理と同じである。その後、CPUはステップ2795に進み、本ルーチンを一旦終了する。これに対し、触媒温度TempCCROが過熱防止閾値温度TCthよりも高いと、CPUはステップ2710にてNoと判定してステップ2720に進み、目標空燃比abyfrを、理論空燃比stoichから正の所定値Cを減じた値stoich-C>0に設定する。値stoich-Cは、理論空燃比stoichよりも小さく、触媒43の温度を低下させることができる値に設定されている。更に、値stoich-Cは、値stoich-K3dafの最小値以下の値に設定されている。以上の処理により目標空燃比abyfrが決定される。この処理によれば、より精度良く推定された触媒温度TempCCROが過熱防止閾値温度TCthよりも高い場合、目標空燃比abyfrがリッチな空燃比理論空燃比stoichよりも小さい空燃比stoich-Cに設定される。従って、触媒43の過熱を無駄な燃料を消費することなく且つ確実に回避することができる。更に、所定のタイミングになると、CPUは図28のルーチンの処理をステップ2800から開始する。このルーチンにより、フューエルカットフラグXFCの値が設定される。CPUはステップ2810に進むと、フューエルカットフラグXFCの値が0であるか否かを判定する。いま、フューエルカットフラグXFCの値は0であり、フューエルカット制御燃料噴射停止制御が実行されていないと仮定する。この場合、CPUはステップ2810にてYesと判定してステップ2820に進み、スロットル弁開度TAが0であるか否かを判定する。スロットル弁開度TAが0でなければ、CPUはステップ2820にてNoと判定し、ステップ2895に直接進んで本ルーチンを一旦終了する。スロットル弁開度TAが0であると、CPUはステップ2820にてYesと判定してステップ2830に進み、機関回転速度NEがフューエルカット開始回転速度閾値NEFC以上であるか否かを判定する。このとき、機関回転速度NEがフューエルカット開始回転速度閾値NEFC未満であると、CPUはステップ2830にてNoと判定し、ステップ2895に直接進んで本ルーチンを一旦終了する。これに対し、機関回転速度NEがフューエルカット開始回転速度閾値NEFC以上であると、フューエルカット条件が成立していることになる。そこで、CPUはステップ2830にてYesと判定してステップ2840に進み、図26のステップ2650にて推定されている触媒温度TempCCROがフューエルカット禁止温度TFCth以下であるか否かを判定する。このとき、触媒温度TempCCROがフューエルカット禁止温度TFCthよりも高いと、CPUはステップ2840にてNoと判定し、ステップ2895に直接進んで本ルーチンを一旦終了する。従って、フューエルカットフラグXFCの値は0に維持される1に変更されないので、フューエルカット制御の実行が禁止される。これに対し、触媒温度TempCCROがフューエルカット禁止温度TFCth以下であれば、CPUはステップ2840にてYesと判定してステップ2850に進み、フューエルカットフラグXFCの値を1に設定する。この結果、CPUは図10のステップ1010にてYesと判定してステップ1095に直接進む。従って、ステップ1060が実行されないので、燃料噴射が停止フューエルカットが実行される。フューエルカットフラグXFCの値が1に設定された状態において、CPUがステップ2810に進むと、CPUはそのステップ2810にてNoと判定してステップ2860に進み、スロットル弁TAが0より大きいか否かを判定する。このとき、スロットル弁TAが0より大きいと、CPUはステップ2860にてYesと判定してステップ2870に進み、フューエルカットフラグXFCの値を0に設定する。この結果、フューエルカット制御が終了し、燃料噴射が再び開始される。一方、スロットル弁開度TAが0である場合、CPUはステップ2860にてNoと判定してステップ2880に進み、機関回転速度NEがフューエルカット終了回転速度閾値NERTthよりも低いか否かを判定する。フューエルカット終了回転速度閾値NERTthは、フューエルカット開始回転速度閾値NEFCよりも小さい。このとき、機関回転速度NEがフューエルカット終了回転速度閾値NERTthよりも低いと、CPUはステップ2880にてYesと判定してステップ2870に進み、フューエルカットフラグXFCの値を0に設定する。この結果、フューエルカット制御が終了し、燃料噴射が再び開始される。これに対し、機関回転速度NEがフューエルカット終了回転速度閾値NERTth以上であると、CPUはステップ2880にてNoと判定してステップ2895に直接進んで本ルーチンを一旦終了する。これにより、フューエルカットフラグXFCの値は1に維持されるので、フューエルカット制御が継続される。以上、説明したように、第7制御装置は、前記機関の運転状態に基いて三元触媒43の温度である触媒温度を推定する触媒温度推定手段図26を参照。と、前記指示燃料噴射量決定手段と、を備える内燃機関の燃料噴射量制御装置であって、前記触媒温度推定手段は、取得された空燃比不均衡指標値指標学習値RIMBgakuが大きいほど前記推定される触媒温度TempCCROが高くなるように触媒温度TempCCROを推定するように構成され図26のステップ2630及びステップ2650を参照。、前記指示燃料噴射量決定手段は、前記推定された触媒温度TempCCROが所定閾値温度TCth、TFCthよりも高い場合、前記指示燃料噴射量により定まる指示空燃比が理論空燃比よりも小さくなるように前記指示燃料噴射量を増大補正するか図27のステップ2720及び図10のステップ1040等を参照。、又は、所定のフューエルカット条件が成立した場合図28のステップ2820及びステップ2830の両ステップにおけるYesとの判定を参照。に実行される燃料噴射停止制御の実行を禁止する図28のステップ2840におけるNoとの判定を参照。。従って、触媒43の過熱を回避しながら、無駄に燃料を消費することを回避することができる。以上、説明したように、本発明の各実施形態に係る内燃機関の燃料噴射量制御装置は、アルコール濃度及び/又は気筒別空燃比の不均一性の程度が大きくなることによって発生するリーン誤制御をできるだけ発生しないようにすることができる。従って、排ガスの空燃比を目標空燃比に近づけることができるので、NOx等の排出物の量を低減することができる。本発明は上記実施形態に限定されることはなく、本発明の範囲内において種々の変形例を採用することができる。例えば、各実施形態の空燃比不均衡指標値取得手段は、空燃比不均衡指標値RIMBを、次に述べるように取得してもよい。なお、以下において値Xに相関する値とは、例えば、所定期間例えば、単位燃焼サイクル期間又は単位燃焼サイクル期間の自然数倍の期間において取得された複数の値Xの絶対値の平均値、及び、所定期間の値Xの最大値と最小値との差等、値Xに応じて変化する値を意味する。A前記空燃比不均衡指標値取得手段は、空燃比不均衡指標値RIMBとして、上流側空燃比センサ56が配設された位置を通過する排ガスの空燃比の変動変動幅が大きくなるほど大きくなる値を取得するように構成され得る。より具体的に述べると、前記空燃比不均衡指標値取得手段は、前記上流側空燃比センサの出力値Vabyfs出力値Vabyfsをハイパスフィルタ処理した値を含むの時間についての微分値ddt、前記上流側空燃比センサの出力値に基いて取得される前記検出空燃比abyfs検出空燃比abyfsをハイパスフィルタ処理した値を含むの時間についての微分値ddt、前記上流側空燃比センサの出力値Vabyfsの時間についての二階微分値d2dt2、及び、前記上流側空燃比センサの出力値に基いて取得される前記検出空燃比abyfsの時間についての二階微分値d2dt2、のうちの一つに応じた値を基本パラメータとして取得するとともに、同取得した基本パラメータに相関する値に基づいて空燃比不均衡指標値RIMBを取得するように構成され得る。なお、出力値Vabyfsと検出空燃比abyfsとは実質的に比例関係にあるので図5を参照。、二階微分値d2dt2は、検出空燃比abyfsの時間についての二階微分値d2dt2と同様の傾向を示す。従って、二階微分値d2dt2は、気筒別空燃比差が小さい場合には図8のDの破線C5に示したように相対的に小さい値となり、気筒別空燃比差が大きい場合には図8のDの実線C6に示したように相対的に大きい値となる。なお、二階微分値d2dt2は、現時点の出力値Vabyfsから一定のサンプリング時間前の出力値Vabyfsを減じることにより一定のサンプリング時間毎の微分値ddtを求め、新たに求められた微分値ddtから一定のサンプリング時間前の微分値ddtを減じることにより求めることができる。また、二階微分値d2dt2は、図15のステップ1520において得られた検出空燃比変化率ΔAFから、一定のサンプリング時間前に得られた検出空燃比変化率ΔAFを減じることにより求めることができる。前記空燃比不均衡指標値取得手段は、出力値Vabyfs出力値Vabyfsをハイパスフィルタ処理した値を含むの所定期間例えば、単位燃焼サイクル期間の自然数倍の期間における最大値と最小値との差ΔXに相関する値、又は、出力値Vabyfsにより表される検出空燃比abyfs検出空燃比abyfsをハイパスフィルタ処理した値を含むの所定期間における最大値と最小値との差ΔYに相関する値を、空燃比不均衡指標値RIMBとして取得するように構成され得る。図8のBに示した実線C2及び破線C1から明らかなように、この差ΔYΔYの絶対値は、気筒別空燃比差が大きいほど大きくなる。従って、差ΔXΔXの絶対値は、気筒別空燃比差が大きいほど大きくなる。前記空燃比不均衡指標値取得手段は、空燃比不均衡指標値RIMBとして、出力値Vabyfs出力値Vabyfsをハイパスフィルタ処理した値を含むの所定期間例えば、単位燃焼サイクル期間おける軌跡長に相関する値、又は、出力値Vabyfsにより表される検出空燃比abyfs検出空燃比abyfsをハイパスフィルタ処理した値を含むの前記所定期間における軌跡長に相関する値を取得するように構成され得る。これらの軌跡長は、図8のBからも明らかなように、気筒別空燃比差が大きいほど大きくなる。更に、気筒別空燃比の不均一性の程度が大きくなるほど、各気筒の発生するトルクが大きく相違する。従って、機関10の回転変動が大きくなる。そこで、前記空燃比不均衡指標値取得手段は、前記機関10の回転速度の変動が大きくなるほど大きくなる値を前記空燃比不均衡指標値として取得するように構成されてもよい。更に、上記各制御装置は、V型エンジンにも適用することができる。その場合、V型エンジンは右バンクに属する2以上の気筒の排気集合部よりも下流に右バンク上流側触媒を備える。更に、そのV型エンジンは、左バンクに属する2以上の気筒の排気集合部よりも下流に左バンク上流側触媒を備える。加えて、そのV型エンジンは、右バンク上流側触媒の上流及び下流に右バンク用の上流側空燃比センサ及び下流側空燃比センサをそれぞれ備え、左バンク上流側触媒の上流及び下流に左バンク用の上流側空燃比センサ及び下流側空燃比センサをそれぞれ備えることができる。各上流側空燃比センサは、上記空燃比センサ56と同様、各バンクの排気集合部と各バンクの上流側触媒との間に配設される。この場合、右バンク用のメインフィードバック制御及びサブフィードバック制御が実行され、それとは独立して左バンク用のメインフィードバック制御及びサブフィードバック制御が実行される。この場合、制御装置は、右バンク用の上流側空燃比センサの出力値に基いて右バンク用の空燃比不均衡指標値RIMBを求め、その空燃比不均衡指標値RIMBとアルコール濃度Etとに基いて、右バンク用のサブフィードバック量のガード幅、サブFB学習値のガード幅、サブFB学習値の変化速度及び目標空燃比abyfrを変更する。同様に、制御装置は、左バンク用の上流側空燃比センサの出力値に基いて左バンク用の空燃比不均衡指標値RIMBを求め、その空燃比不均衡指標値RIMBとアルコール濃度Etとに基いて、左バンク用のサブフィードバック量のガード幅、サブFB学習値のガード幅、サブFB学習値の変化速度及び目標空燃比abyfrを変更する。"