JPH05250311A - バス制御装置 - Google Patents

バス制御装置

Info

Publication number
JPH05250311A
JPH05250311A JP1271292A JP1271292A JPH05250311A JP H05250311 A JPH05250311 A JP H05250311A JP 1271292 A JP1271292 A JP 1271292A JP 1271292 A JP1271292 A JP 1271292A JP H05250311 A JPH05250311 A JP H05250311A
Authority
JP
Japan
Prior art keywords
bus
signal
instruction
request
prefetch
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.)
Withdrawn
Application number
JP1271292A
Other languages
English (en)
Inventor
Atsushi Okamura
淳 岡村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP1271292A priority Critical patent/JPH05250311A/ja
Publication of JPH05250311A publication Critical patent/JPH05250311A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Bus Control (AREA)

Abstract

(57)【要約】 【構成】プリフェッチ手段15は演算処理装置10が次
に実行する命令を予め取込み、命令デコーダ手段14は
このプリフェッチ手段15に取込まれた命令をデコード
し、外部バス要求手段23は外部バスへのバス転送要求
をバス調停回路に出力する。プリフェッチ手段15が取
込んだ命令列をデコード手段14がデコードし、外部バ
スのアクセス状態を予測して前記外部バス要求手段15
を起動させる事により、実際のアクセスより前にバスを
獲得できるようにした事を特徴とする。 【効果】メモリ装置が充分速いとし、マスタが2台のシ
ステムで、交互にバスを獲得する条件であれば、1回の
アクセスで約50〜100nSの時間を節約する事がで
き、標準的なバスアクセスが、200nS程度のシステ
ムでは約25%から50%のメモリアクセスの高速化が
図られる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、演算処理装置において
外部バスを制御するバス制御装置に関する。
【0002】
【従来の技術】複数の演算処理装置がメモリ装置、又は
IO装置を一つのバス上で共有する事ができるのが、標
準バスのマルチマスタ機能である。この標準バスに接続
される装置には大きく分けて、マスタとスレーブと呼ば
れる装置がある。このマスタとは、バスに対してのアク
セスの主体であり、データの転送要求を発生させる装置
で演算処理装置、DMA装置を含むIO装置などがこの
カテゴリに属し、一方スレーブとは、転送要求を受けと
る装置でメモリ、DMAを含まないIO等はこれに属す
る。これら標準バスではデータ転送には一定の手続きが
きめられており、これをデータ転送サイクルとよぶ。デ
ータ転送サイクルは、マスタとスレーブの間での0個以
上のデータの転送で構成されている。
【0003】図4に標準的なマイクロプロセッサ用VM
E(Versa Module European)バ
スのブロック図を示す。マスタ41はVMEのバスアク
セスを行なう主体であり、演算処理装置10と、バスリ
クエスタ23と、VMEバスインタフェース36とで構
成される。バスリクエスタ23は演算処理装置10から
データ転送要求(バスアクセス)を受け、VMEの規格
にあった形でバスリクエスト(バスのアクセス権要求)
を発生する。この要求は、更にバス調停回路44で調停
されバスアクセス許可信号となる。この信号を受取り、
バスインターフェース36に対して転送サイクルの開始
を指示する。バスインタフェース36は演算処理装置1
0からの信号をVMEバスの規格に合せる回路で、電流
/電圧規格、タイミング等がそれである。信号53はバ
スを通しての、データの転送サイクルを開始する信号、
信号57はバスが獲得できた為、データの転送サイクル
を始めても良いという信号、信号54はデータが、バス
インタフェースまで転送されてきた事を示す信号、信号
55はバスアクセスをする時の、タイミング、状況を示
す信号、バス56は演算装置10と外部バス62に間を
つなぐバスを示す。
【0004】また、信号30はバス52が使用中である
事を示す信号で、アービトレーションで使用され、バス
リクエスト信号28は当該マスタが、データの転送を要
求している事を示す。バスグラント信号29は当該マス
タに対してデータの転送を許可する信号であり、信号6
0はデータ転送サイクルに於ける、タイミング又は、ス
テータスを示す信号、信号61はデータ転送サイクルの
ハンドシェイク用の信号などを示す。
【0005】メモリ装置42はマスタ41及び、マスタ
41aによって共有されるメモリ装置で、スレーブモジ
ュールの1つであり、メモリ及びコントロール回路で構
成されるメモリ装置を本体37とバスインタフェース3
8から構成される。
【0006】信号63はメモリから値が読み出された事
を示す信号、信号64はメモリが選択された事を示す信
号、バス65はメモリに対する読み出し及び書込みの為
のアドレス及びデータバスである。信号66はメモリか
らの値がバス上で確定、またはメモリに対する書込みが
終了した事を示す信号、信号67はデータ転送サイクル
がメモリからの読み出し、メモリへの書込みである事を
示す信号等のステータスを示す。
【0007】IO装置43はスレーブモジュールの一つ
でマスタ41及びマスタ41aによって共有されるIO
装置であり、IO装置とのインターフェース40及びI
Oの制御装置39からなる。信号69〜71はIOの制
御回路39と、バスインターフェース40を結ぶ信号線
である。
【0008】VMEバスの信号線は、データの転送に用
いられるデータ転送バス51と、各マスタ41,41a
からの要求を受けて調停を行ない、マスタに対してアク
セス権を与えるアービトレーションバス52とがある。
データ転送バス51はアドレス、データ、及び制御線で
構成され、アービトレーションバス52はバス要求、バ
ス許可、バス使用中等の線で構成されており、バス要求
の優先度によって、一度に1つのマスタのみがバスを使
用する事を許す装置、バス調停回路44に接続されてい
る。
【0009】このVMEバス上に構成されたシステム
は、複数のマスタ41,41a、メモリ42、IO装置
43等で構成されている。VMEバスの規格を満たして
設計されているマスタは、演算処理装置10のデータ転
送要求をVMEバス上での要求に変換するリクエスタ
(バスアクセス権要求回路)23と、演算処理装置10
とデータ転送バスの結合の為のインターフェース36と
を持つ。スレーブとしては、バスをドライブする為、又
はバスの信号を認識する為のバスインターフェース3
8,40のみを持つ。
【0010】このVMEバスのデータ転送に関するタイ
ミングは、図5に示される。この図では、0レベルは信
号が有効である事を示し、1レベルは有効でない事を示
す。ここで各信号について説明する。
【0011】演算処理装置10からの転送要求信号8
5,86は、内部的に発生される要求を示し、数字は複
数のマスタの各々に対応する。信号87,88は信号8
5,86がリクエスタ(23)を通って、標準バス規格
に合わされて出力されたバスの獲得要求信号、信号2
9,89はバスの要求に対するバス調停回路44の答
で、これが有効であれば、その要求は受けつけられた事
を示す。バス使用中信号30は、この信号が有効である
間はいずれかのマスタがバスを使用している事を示し、
データ転送バス34は太くなっている部分が何等かのデ
ータ転送を行なっていることを示す。
【0012】まず、複数のマスタの一方の演算処理装置
10で発生した転送要求t10はバス25を通ってリク
エスタ23に伝えられる。リクエスタ23は、バスを獲
得する為に、アービトレーションバス51に対して、バ
ス要求t11を発生する。このバス要求t11を受け取
ったバス調停回路44は優先条件を調べて、要求に対応
する転送許可t12を発生する。同時に、マスタ41a
のリクエスタ(23)はマスタ41のバス要求を受け取
って、バスの解放t13を行なう。
【0013】転送許可t12とバスの解放t13とを確
認したリクエスタ23は、バス使用中の信号を有効t1
4とし、転送要求の解除t15と、バスインターフェー
ス36の動作の開始を伝える。マスタ41の転送要求の
解除を確認したバス調停回路44は、転送許可の信号を
解除する(t16)。このため演算装置の転送要求が発
生してから転送開始まで、つまり区間t10〜t14が
全くの待ち時間となる。
【0014】また、転送許可を一度受け取った演算装置
10は、優先的にバスの連続使用許可が与えられてお
り、一般的には、他の演算装置の要求があってから初め
て、バスの使用権の解放を行なう。1回のアービトレー
ションでは約50nSの時間が必要であり、これがバス
アクセス毎のオーバーヘッドとなってしまうため、一度
使用権をとった演算装置が連続してアクセスするように
なっている場合が多い。つまり、毎回バスの使用権を調
停してからデータ転送サイクルを開始するのではなく、
他のマスタからの転送要求がてでから解放する様に構成
されている。
【0015】また、アービトレーションバス52には、
緊急の為のバス解放命令としてバスクリアという信号が
用意されている。これは、何等かの理由で即座の解放も
場合によっては必要である為、バスクリアを受け取った
バスマスタは、速やかに現在実行中のデータ転送サイク
ルを終了させて、バスを明渡さなければならない事が定
義されている。通常の演算装置は、バスを使用する事を
予め示す信号を持っていない為、予め要求を出して置く
という事が不可能であり、実際の要求が発生してから、
これをリクエスタに伝え、データの転送要求を発生させ
る事になる。バスの調停には、約50n秒近い時間が必
要である為、データの転送要求がでてから50n秒以上
立ってから、転送を開始する事となる。
【0016】図5には、マスタが2個の場合の転送、及
びバス調停の動作に関するタイミングも示されている。
図において、演算装置10で発生した転送要求は、リク
エスタ23に対して送られ、リクエスタ23はアービト
レーションバス53上にバスを要求する信号を出力す
る。これを受取ったバス調停回路44は他の要求を調
べ、この要求に対して優先権が認められれば、転送許可
信号をリクエスタ23に対して送り返す。これを受け取
ったマスタ41は、データの転送サイクルを実行する。
【0017】転送サイクルが終了してもデータの転送権
は他のマスタ41aによる転送権の要求があるまで解放
せず、次回の転送に備えてこの権利を持ち続ける。つま
り、続いて起こるデータの転送サイクルは、毎回、調停
を行なわずに、連続して転送を実行する事ができるわけ
である。しかし、現在データの転送権を持っているマス
タから転送権を開放させる手順も踏まなければならない
為、このやり方で設計されたリクエスタは、調停を必要
とする始めのアクセスに対して、余計な時間がかかる。
【0018】
【発明が解決しようとする課題】上述した従来のバス制
御装置を用いてマルチプロセッサを実現した場合は、図
5のようなデータ転送サイクルとなる。ここでマスタ4
1とマスタ41aとが交互にアクセスを行なった場合、
最も頻繁にアービトレーションが発生する。また、単に
バスを獲得する場合でも、演算処理装置10による実際
のアクセスが発生した後に、バス要求を発生させ、バス
使用許可を得てから、データ転送を開始するため、無駄
な時間が多く発生する。このため標準バスを用いた場
合、演算装置の命令の実行に対して多くのデータアクセ
ス待ち時間を発生させ、性能が下ってしまう、問題があ
った。
【0019】本発明の目的は、このような問題を解決
し、プリフェッチ手段により命令列を予め解析してデー
タアクセスの発生を予測し、バス制御を事前に行い、デ
ータアクセス待ち時間を短縮したバス制御装置を提供す
ることにある。
【0020】
【課題を解決するための手段】本発明の構成は、演算処
理装置が次に実行する命令を予め取込むプリフェッチ手
段と、このプリフェッチ手段に取込まれた命令をデコー
ドする命令デコード手段と、外部バスへのバス転送要求
をバス調停回路に出力する外部バス要求手段とを含むバ
ス制御装置において、前記プリフェッチ手段が取込んだ
命令列を前記デコード手段がデコードし、前記外部バス
のアクセス状態を予測して前記外部バス要求手段を起動
させる事により、実際のアクセスより前にバスを獲得で
きるようにした事を特徴とする。
【0021】
【実施例】図1は本発明の一実施例のブロック図であ
る。図において、演算処理装置10はメモリから命令列
を読み込み、その手続に従って演算を行ない、この装置
10中の一部である命令解析ユニット11は命令列を解
析し、実行ユニットに引渡す。オペランドデータ12は
ストアに使用されるデータ、またはロード時に目的のア
ドレスのデータがここに入れられ、又は、命令の実行解
析の後に、それがストア/ロードを含む命令であった場
合、この装置がデータを要求する。実行アドレス発生部
13はオペランドデータ12をロード、又はストアする
先のアドレスを出力する。
【0022】デコーダ14はプリフェッチバッファ15
の内容をデコードし、バスを使用する命令や、プリフェ
ッチの状態、命令の種類等をデコードし、バスを獲得す
る動作を開始するか、又はバスを解放する信号を発生す
るかを決定する。プリフェッチバッファ15は命令のプ
リフェッチ(先取り)を行ない、分岐命令まで連続的に
命令を読み出しこのバッファに取込む。論理和回路16
は命令やデータの要求がある事をバスシーケンサ22に
伝え、実際のバストランザクションを開始する要求を伝
える。
【0023】マルチプレクサ19は命令のプリフェッチ
用のアドレスおよびデータのロード/セーブ用のアドレ
スを取込み、アドレスバッファ20に供給する。バスシ
ーケンサ22は、バスの転送を行なうタイミングを作
る。バスリクエスタ23はデコーダ14による先行バス
要求を受け取ってバス調停回路(44)に対して、演算
装置10が外部バスを要求していることを示すバス要求
信号28を発生する。また、使用許可に対して使用中で
ある事を示す出力及びバスシーケンサ22の起動,使用
後のバスの解放等を行う。
【0024】バス許可信号29は演算装置がバスを使用
しても良い事を示す信号で、バス調停回路(44)によ
って許可を与えられる演算装置に対して伝えられる。バ
ス使用中信号30が有効である間は、バスを使用中の演
算装置がある事を示し、バスを使用している、又は獲得
している演算装置によって発生される。他のバス要求信
号31は他のマスタがバスを要求している事を示し、バ
スを獲得した演算装置は速やかにバスを解放しなければ
ならない。
【0025】本実施例の装置は、命令を解析実行する演
算処理装置10、次に実行する命令を予め取込んで置く
プリフェッチバッファ15、転送タイミングの制御を行
なうバスシーケンサ22、プリフェッチバッファ22に
取込んだ命令をデコードしバス要求,バス解放を作り出
すデコーダ14、このデコーダ14で作り出されたバス
要求,バス解放を受けて、VMEの手続きになおすリク
エスタ23、及びバスインターフェース36を主体に構
成される。演算処理装置10は、外部バス3に接続され
た、メモリ装置42からアドレス昇順に命令を読出して
順に解析実行を行なう。命令の実行に伴なって必要なデ
ータの読込み書出しも同様のバスを通じて、メモリ装置
とのやり取りで行なう。
【0026】演算処理装置10は、分岐命令の無い場合
は現在のプログラムカウンタの指し示す値から、昇順に
命令を実行する為、プリフェッチをする事ができる。プ
リフェッチはこれから実行される筈である命令列をプリ
フェッチバッファ15に取込む動作である。つまり、プ
リフェッチバッファ15に取込まれた命令は、次に実行
される事が判っている命令であり、この命令をデコーダ
14でデコードする事で、演算処理装置がどんな動作を
するかを予測する事ができる。このプリフェッチバッフ
ァ15に取込まれた命令列の実行クロック数、バスのア
クセスの有無、等を知る事で、次のサイクルにバスをア
クセスする事が判った場合、すなわち、次のサイクル
が、メモリからのロード命令かメモリへのストア命令で
ある場合、及びプリフェッチバッファ15の1/2が空
になった場合、又は現在分岐命令が実行中で、分岐結果
によってプリフェッチをしなければならない場合に、予
めバスを獲得する為の先行バス要求が発生する。
【0027】反対に、デコードによってある一定期間バ
スのアクセスがないと判断される場合、つまりプリフェ
ッチバッファ15に命令が一杯であり、その命令列に分
岐命令もロードストア命令も存在しない場合に、バス解
放を示す信号を発生させる。
【0028】先行バス要求及びバス解放の信号を受け
て、バスにアクセスが発生する前にバスを獲得したり、
必要ない場合にできるだけ速やかにバスを解放する様に
リクエスタを構成する。
【0029】図2は図1の実施例の動作を説明するタイ
ミング図である。デコーダ(14)によって発生される
バス解放信号81,82は、プリフェッチバッファ(1
5)に外部アクセスが必要な命令が入っていない時に発
生する。また、先行転送要求信号83,84もデコーダ
(14)によって発生され、これからのサイクルがバス
アクセスを伴う時に発生し、プリフェッチバッファ(1
5)に外部アクセスが必要な命令が入っているか、又
は、プリフェッチバッファが空になった場合に発生す
る。演算装置転送要求信号85,86は演算装置10の
転送要求信号で、演算装置が実際のデータアクセスに対
して発生され、この期間が長いほど演算装置は待たされ
る事になる。信号87,88は、標準バス規格に合わさ
れて出力されたバスの獲得要求信号でこの信号は信号2
8に対応する。
【0030】演算処理装置10が必要としているデータ
アクセスが発生する前に、デコーダ14によって作られ
た、先行バス要求によってバスリクエスタ23を動作さ
せる。バスの獲得がされる先行転送要求信号83は、マ
スタ1の転送要求信号87(t2)になり、これから、
転送許可信号29が与えられ、バスを獲得する事ができ
るようになる。実際の転送要求はt5にあるため、即座
の応答が可能となる。
【0031】図3は本発明の第2の実施例の構成を示す
ブロック図である。本実施例は、第1の実施例のプリフ
ェッチバッファ15aの前段に命令キャッシュメモリ1
7が接続された場合を示す。このキャッシュメモリ17
によって、命令のプリフェッチ時に外部バスを使用する
確率が減少し、更にバス解放を示す時間が増加する。
【0032】この場合、プリフェッチの過程が変更にな
る。プログラムカウンタの値から昇順に行なわれるプリ
フェッチ動作は、まずキャッシュメモリ17に対して行
なわれる。このキャッシュメモリ17は、要求された番
地の内容が自分自身の中に存在するかどうかで、ヒット
又はミスを返す。これを受取ったデコーダ14aは、こ
のプリフェッチが、現在行なえる状態にあるかどうか
を、他のロード/セーブ命令と照し合せてデコードし、
バスの先行獲得を行なう為の信号を発生する。バスの解
放に関しては第1の実施例と同様である。
【0033】
【発明の効果】以上説明したように本発明は、メモリ装
置が充分速いとし、マスタが2台のシステムで、交互に
バスを獲得する条件であれば、1回のアクセスで約50
〜10GnSの時間を節約する事ができ、標準的なバス
アクセスが、200nS程度のシステムでは約25%か
ら50%のメモリアクセスの高速化が図られるという効
果がある。
【0034】この種のバス制御装置は、マルチプロセッ
サによる高速化を目指して考えられたスヌープ方式のキ
ャッシュメモリに比べて小さなシステムで効果的であ
り、従来のシステム製品(VMEバスなど)の製品にそ
のまま適用する事ができ、これらを改造することなく高
速化が図られる。
【図面の簡単な説明】
【図1】本発明の一実施例のブロック図。
【図2】図1の動作を説明するタイミングチャート。
【図3】本発明の第2の実施例のブロック図。
【図4】従来例のバス制御装置を含むマルチマスタシス
テムのブロック図。
【図5】図4のデータ転送サイクルを説明するタイミン
グチャート。
【符号の説明】
10,10a,10b 演算処理装置 11 命令解析ユニット 12 オペランドデータ 13 オペランドアドレス 14 デコーダ 15 プリフェッチバッファ 16 OR 17 命令キャッシュメモリ 19 マルチプレクサ 20 アドレスバスバッファ 21 データバスバッファ 22 バスシーケンサ 23 バスリクエスタ 34 データバス 28 バス要求信号 29 バス許可信号 30 バス使用中信号 31 他のバス要求信号 32 転送終了信号 33 転送信号 35 アドレスバス 36,38,40 バスインタフェース 37 メモリ 39 IO部 41 マスタ(1),(2) 42 メモリ装置 43 IO装置 44 バス調停装置 51 データ転送バス 52 アービトレーションバス

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 演算処理装置が次に実行する命令を予め
    取込むプリフェッチ手段と、このプリフェッチ手段に取
    込まれた命令をデコードする命令デコード手段と、外部
    バスへのバス転送要求をバス調停回路に出力する外部バ
    ス要求手段とを含むバス制御装置において、前記プリフ
    ェッチ手段が取込んだ命令列を前記デコード手段がデコ
    ードし、前記外部バスのアクセス状態を予測して前記外
    部バス要求手段を起動させる事により、実際のアクセス
    より前にバスを獲得できるようにした事を特徴とするバ
    ス制御装置。
JP1271292A 1992-01-28 1992-01-28 バス制御装置 Withdrawn JPH05250311A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1271292A JPH05250311A (ja) 1992-01-28 1992-01-28 バス制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1271292A JPH05250311A (ja) 1992-01-28 1992-01-28 バス制御装置

Publications (1)

Publication Number Publication Date
JPH05250311A true JPH05250311A (ja) 1993-09-28

Family

ID=11813041

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1271292A Withdrawn JPH05250311A (ja) 1992-01-28 1992-01-28 バス制御装置

Country Status (1)

Country Link
JP (1) JPH05250311A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007058276A (ja) * 2005-08-22 2007-03-08 Shinsedai Kk マルチプロセッサ

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007058276A (ja) * 2005-08-22 2007-03-08 Shinsedai Kk マルチプロセッサ

Similar Documents

Publication Publication Date Title
US5506971A (en) Method and apparatus for performing a snoop-retry protocol in a data processing system
EP0559408B1 (en) A method and apparatus for performing bus arbitration using an arbiter in a data processing system
KR100360064B1 (ko) 고도로파이프라인된버스구조
US5787486A (en) Bus protocol for locked cycle cache hit
US5996036A (en) Bus transaction reordering in a computer system having unordered slaves
KR100742718B1 (ko) 컴퓨터 시스템의 제1 및 제2버스사이에 연결된 투명브리지, 이를 포함하는 시스템 및 컴퓨터 시스템의 제1 및 제2 버스의 브리징 방법
US5611058A (en) System and method for transferring information between multiple buses
US5398244A (en) Method and apparatus for reduced latency in hold bus cycles
US5592631A (en) Bus transaction reordering using side-band information signals
US5949981A (en) Deadlock avoidance in a bridge between a split transaction bus and a single envelope bus
JP2002140289A (ja) 調整可能ワード・サイズ転送とアドレス配列/増加を備えたマイクロコントローラdmaオペレーション
JP2012038293A5 (ja)
US5930485A (en) Deadlock avoidance in a computer system having unordered slaves
US5933612A (en) Deadlock avoidance in a split-bus computer system
US5659760A (en) Microprocessor having interrupt vector generation unit and vector fetching command unit to initiate interrupt processing prior to returning interrupt acknowledge information
JP2000115208A (ja) プロセッサ・インタ―フェ―ス・バスを通じてデ―タを転送する方法および装置
JP2002163228A (ja) 多重コアdsp装置のための外部バス裁定技術
US6959351B2 (en) Handling of a multi-access instruction in a data processing apparatus
US5764932A (en) Method and apparatus for implementing a dual processing protocol between processors
US5881256A (en) Bus interface unit capable of simultaneously proceeding with two bus cycles in a high-performance microprocessor
KR960005395B1 (ko) 최소 경합 프로세서 및 시스템 버스 시스템
JPH05250311A (ja) バス制御装置
JPH0353657B2 (ja)
US5623694A (en) Aborting an I/O operation started before all system data is received by the I/O controller after detecting a remote retry operation
US6266741B1 (en) Method and apparatus to reduce system bus latency on a cache miss with address acknowledgments

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 19990408