JP2007213225A - メモリアクセス調停装置 - Google Patents
メモリアクセス調停装置 Download PDFInfo
- Publication number
- JP2007213225A JP2007213225A JP2006031238A JP2006031238A JP2007213225A JP 2007213225 A JP2007213225 A JP 2007213225A JP 2006031238 A JP2006031238 A JP 2006031238A JP 2006031238 A JP2006031238 A JP 2006031238A JP 2007213225 A JP2007213225 A JP 2007213225A
- Authority
- JP
- Japan
- Prior art keywords
- memory access
- client
- signal
- arbitration
- priority
- 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
Links
Images
Abstract
【課題】クライアントの平均アクセス性能を正確に制御することが可能なメモリアクセス調停装置を提供すること。
【解決手段】 調停部11は、クライアント1〜3(21〜23)からのメモリアクセス要求(REQ1,REQ2’,REQ3)を優先度に応じて調停する。優先度調整部12は、クライアント2(22)がREQ2を発行してから所定期間だけREQ2_LOW信号をアサートする。そして、AND回路13は、REQ2_LOW信号がアサートされている期間、クライアント2(22)からのREQ2をマスクする。したがって、クライアント2(22)の最低アクセス頻度を保証でき、より優先度の低いクライアント3(23)の調停待ち時間を抑えることが可能となる。
【選択図】図1
【解決手段】 調停部11は、クライアント1〜3(21〜23)からのメモリアクセス要求(REQ1,REQ2’,REQ3)を優先度に応じて調停する。優先度調整部12は、クライアント2(22)がREQ2を発行してから所定期間だけREQ2_LOW信号をアサートする。そして、AND回路13は、REQ2_LOW信号がアサートされている期間、クライアント2(22)からのREQ2をマスクする。したがって、クライアント2(22)の最低アクセス頻度を保証でき、より優先度の低いクライアント3(23)の調停待ち時間を抑えることが可能となる。
【選択図】図1
Description
本発明は、複数のクライアントからのメモリアクセス要求を調停するメモリアクセス調停装置に関し、特に、クライアントの平均アクセス間隔を正しく制御することが可能なメモリアクセス調停装置に関する。
近年、情報処理装置の高機能化、多機能化が進み、装置内の複数のクライアントからのメモリアクセス要求を調停するメモリアクセス調停装置(アービタ)が用いられるようになってきている。このようなメモリアクセス調停装置は、複数のクライアントがメモリなどの1つのリソースを共有する場合に、そのリソースに対する複数のクライアントからのアクセスを調停するものである。
たとえば、外部SDRAM(Synchronous Dynamic Random Access Memory)へのアクセス調停方式として単純な優先度順が採用されている。アクセス要求の発行元であるクライアントからの要求発行間隔が一定の場合には、より優先度の低いクライアントの待ち時間への影響を予測することができる。
しかしながら、要求発行間隔に制限のない優先度の高いクライアントに対しては、メモリアクセス調停装置側で何らかの制限を加えなければ、低優先度のクライアントへの影響を予測することができず、装置全体の動作が破綻する可能性がある。
この問題を解決するために、従来のメモリアクセス調停装置においては、このようなクライアントのアクセス要求を受付けてから一定期間、そのクライアントの優先度を下げるといった処理を行なっていた。これに関連する技術として、特許文献1および特許文献2に開示された発明がある。
特許文献1に開示されたアービタ装置においては、各クライアントからのリクエスト信号が、ホストCPU(Central Processing Unit)からのタイマ値に応じた時間マスクされてから調停が行なわれる。このリクエスト信号のマスクは、グラント信号が送られてきてからタイマ値の間だけ行なわれる。
また、特許文献2に開示されたバス調停装置においては、デバイスに優先順位を設定する手段と、各デバイスのマスク時間を設定する手段とを設け、バス使用したデバイスのバス使用要求をマスク時間だけマスクして、他のデバイスを先順位とするものである。
特開2003−256358号公報
特開2000−259556号公報
上述したように、クライアントのアクセス要求を受付けてから一定期間、そのクライアントの優先度を下げるといった処理を行なう場合には、当該クライアントの平均アクセス間隔は、そのクライアント自身の待ち時間の影響を受けるため、期待通りの性能が出ないといった問題点があった。
また、特許文献1においては、クライアントのアクセス受付けを起点として一定期間要求をマスクした場合、マスク期間をT、平均待ち時間をWとすると、そのクライアントの平均アクセス間隔はT+Wとなる。一般に、Wを予測することは簡単ではないので、クライアントの平均アクセス性能を正確に制御することが困難である。なお、クライアントの平均アクセス性能は、平均アクセス間隔の逆数に比例する。
また、特許文献2においては、デバイスがバス使用してから、そのデバイスのバス使用要求をマスク期間だけマスクするものであるため、特許文献1と同様に、デバイスの平均アクセス性能を正確に制御することが困難である。
本発明は、上記問題点を解決するためになされたものであり、その目的は、クライアントの平均アクセス性能を正確に制御することが可能なメモリアクセス調停装置を提供することである。
本発明のある局面に従えば、メモリアクセス調停装置は、複数のクライアントからのメモリアクセス要求を優先度に応じて調停する調停手段と、特定のクライアントがメモリアクセス要求を発行してから所定期間だけ、特定のクライアントからの次回以降のメモリアクセス要求に対する優先度を変更して調停手段にメモリアクセス要求を出力する変更手段とを含む。
本発明のある局面によれば、変更手段が、特定のクライアントがメモリアクセス要求を発行してから所定期間だけ、特定のクライアントからの次回以降のメモリアクセス要求に対する優先度を変更するので、特定のクライアントの最低アクセス頻度を保証でき、より優先度の低いクライアントの調停待ち時間を抑えることが可能となる。
図1は、本発明の実施の形態におけるメモリアクセス調停装置の概略構成を示すブロック図である。このメモリアクセス調停装置1は、調停部11と、優先度調整部12と、AND回路13と、OR回路14とを含む。図1においては、メモリアクセス調停装置1に3つのクライアント1〜3(21〜23)が接続されており、クライアント2(22)に対してアクセス間隔を調整する場合を示している。なお、クライアント1〜3(21〜23)がアクセスするメモリおよびメモリバスについては、本実施の形態におけるメモリアクセス調停方式とは独立であるため、図示していない。
調停部11は、4つの異なる優先度のクライアント用インタフェースを有しており、priority1が最高優先度であり、以下、priority2、priority3、priority4の順に優先度が低く、priority4が最低優先度となる。
priority1のクライアント用インタフェースには、クライアント1(21)が直接接続される。
クライアント2(22)からのBSY2信号は、priority2のクライアント用インタフェースに直接接続される。AND回路13の入力には、クライアント2(22)からのREQ2信号と、優先度調整部12からのREQ2_LOW信号の反転信号とが接続され、その出力であるREQ2’信号がpriority2のクライアント用インタフェースに入力される。
また、OR回路14の入力には、priority2のクライアント用インタフェースのACK2信号と、priority4のクライアント用インタフェースのACK4信号とが接続され、その出力であるACK2’信号がクライアント2(22)に入力される。
priority3のクライアント用インタフェースには、クライアント3(23)が直接接続される。
各クライアントは、アクセス要求(REQ1〜REQ3)信号によってメモリアクセスを要求し、アクセス許可(ACK1,ACK2’,ACK3)信号がアサートされるとメモリアクセスを開始し、メモリアクセス中はビジー(BSY1〜BSY3)信号をアサートする。
調停部11は、いずれのビジー(BSY1〜BSY3)信号もアサートされていない期間にメモリアクセスの調停を行ない、アクセス要求信号をアサートしているクライアントの中で最も高優先度のクライアントに対してアクセス許可信号をアサートする。
優先度調整部12は、クライアント2(22)の優先度を下げる期間を示す優先度低下(REQ2_LOW)信号を生成する。REQ2_LOW信号がネゲートされている期間、すなわちクライアント2(22)を通常の優先度で調停する期間は、AND回路13がクライアント2(22)からのREQ2信号をそのままREQ2’信号として調停部11に出力する。したがって、REQ2_LOW信号がネゲートされている期間のみ、クライアント2(22)は2番目の優先度で調停される。
一方、REQ2_LOW信号がアサートされている期間、すなわちクライアント2(22)の優先度を下げて調停する期間は、AND回路13がクライアント2(22)からのREQ2信号をマスクする。クライアント2(22)からのREQ2信号は、別途priority4のクライアント用インタフェースに接続されているので、REQ2_LOW信号がアサートされている期間は、クライアント2(22)が4番目の優先度で調停される。
OR回路14は、priority2のクライアント用インタフェースのACK2信号がアサートされた場合またはpriority4のクライアント用インタフェースのACK4信号がアサートされた場合に、ACK2’信号をアサートするので、クライアント2(22)は通常の優先度で調停された場合も、低優先度で調停された場合も、メモリアクセスが許可されたことを認識することができる。
図2は、本発明の実施の形態における優先度調整部12の詳細構成を示すブロック図である。この優先度調整部12は、エッジ検出部31および32と、カウンタ33と、レジスタ34と、比較器35および36と、OR回路37と、AND回路38と、フリップフロップ39とを含む。
エッジ検出部31は、フリップフロップ41と、AND回路42とを含む。エッジ検出部31は、REQ2’信号の立ち上がりエッジを検出して1クロック分のパルスを生成し、カウンタ33にSTART信号として出力する。
エッジ検出部32は、フリップフロップ43と、AND回路44とを含む。エッジ検出部32は、ACK2信号の立ち上がりエッジを検出して1クロック分のパルスを生成し、OR回路37に出力する。
カウンタ33は、初期値が0であり、START信号がアサートされるとカウントを開始する。カウンタ33は、比較器35からのRESET&STOP信号がアサートされると、カウントを停止すると共に、カウント値を初期値の0に戻す。
比較器35は、カウンタ33のカウント値と、レジスタ34に設定された値とを比較し、カウンタ値がレジスタ値以上になるとRESET&STOP信号をアサートする。なお、レジスタ34には、図示しないCPUなどによって任意の値が設定される。
比較器36は、カウンタ33のカウント値が0のときにハイレベルの信号をAND回路38に出力し、カウンタ33のカウント値が0でないときにロウレベルの信号をAND回路38に出力する。
一方、AND回路13からのREQ2’信号がアサートされ、priority2のクライアント用インタフェースのACK2信号がアサートされると、エッジ検出部32が1クロック分のパルスを出力する。このとき、カウンタ33のカウント値が0に戻っていなければ、フリップフロップ39はREQ2_LOW信号をアサートする。カウンタ33のカウント値が0に戻ると、フリップフロップ39はREQ2_LOW信号をネゲートする。
図3は、本発明の実施の形態におけるメモリアクセス調停装置1の動作を説明するための第1のタイミングチャートである。このタイミングチャートにおいては、レジスタ34に“20”が設定されているものとする。
まず、サイクル2において、クライアント1〜3(21〜23)が同時にアクセス要求(REQ1〜REQ3)信号をアサートする。このとき、カウンタ33のカウント値は0であり、REQ2_LOW信号はネゲートされている。したがって、AND回路13は、REQ2’信号をアサートする。このとき、REQ2’信号の立ち上がりが発生したため、カウンタ33はサイクル3からカウントを開始する。
サイクル3において、調停部11はクライアント1(21)の優先度が最高なので、クライアント1(21)を選択してACK1信号をアサートする。クライアント1(21)はACK1信号を受け、サイクル4においてREQ1信号をネゲートし、BSY1信号をアサートしてメモリアクセスを開始する。
サイクル9において、クライアント1(21)はメモリアクセスを完了し、サイクル10においてBSY1信号をネゲートする。このサイクル10で、調停部11は次の調停を行なうが、REQ2’信号およびREQ3信号がアサートされているので、優先度の高いREQ2’信号を選択する。そして、サイクル11において、調停部11はACK2信号をアサートする。クライアント2(22)はACK2’信号を受け、サイクル12においてREQ2信号をネゲートし、BSY2信号をアサートしてメモリアクセスを開始する。
また、サイクル11においてACK2の立ち上がりが発生したため、優先度調整部12はサイクル12においてREQ2_LOW信号をアサートする。
サイクル16において、クライアント2(22)はメモリアクセスを完了し、サイクル17においてBSY2信号をネゲートすると共に、次のアクセス要求のためにREQ2信号をアサートする。このサイクルで、調停部11は次の調停を行なうが、AND回路13によってREQ2信号がマスクされているので、クライアント3(23)からのREQ3信号を選択し、サイクル18でACK3信号をアサートする。クライアント3(23)はACK3信号を受け、サイクル19においてREQ3信号をネゲートし、BSY3信号をアサートしてメモリアクセスを開始する。
サイクル22において、クライアント3(23)がメモリアクセスを行なっているが、カウンタ33のカウント値が“20”となってレジスタ34の値と一致する。そして、サイクル23において、カウンタ33が0にリセットされる。
サイクル24において、フリップフロップ39はカウンタ33のカウント値が“20”になったのを受け、REQ2_LOW信号をネゲートする。このとき、REQ2信号のマスクが解除されて、REQ2’信号がアサートされる。ここで、REQ2’信号の立ち上がりが発生するので、サイクル25から再度カウンタ33のカウントが開始される。
サイクル25において、クライアント3(23)がメモリアクセスを完了し、サイクル26においてBSY3信号をネゲートすると共に、次のアクセス要求のためにREQ3信号をアサートする。このサイクルで調停部11は次の調停を行なうが、REQ2’信号がアサートされているため、調停部11はREQ3信号よりも優先度が高いREQ2’信号を選択し、サイクル27においてACK2信号をアサートする。
このように、クライアント2(22)がアクセス要求をアサートしてから、優先度調整部12のレジスタ34に設定された期間だけクライアント2(22)の次回以降のアクセス要求に対する優先度が最低となる。したがって、クライアント2(22)より優先度が低いクライアントのアクセス要求が継続的に発生している場合に、クライアント2(22)の平均メモリアクセス間隔がレジスタ34に設定された期間以上に制限される。
図4は、本発明の実施の形態におけるメモリアクセス調停装置1の動作を説明するための第2のタイミングチャートである。このタイミングチャートにおいても、レジスタ34に“20”が設定されているものとする。
まず、サイクル2において、クライアント1(21)およびクライアント2(22)が同時にREQ1信号およびREQ2信号をアサートする。このとき、カウンタ33のカウント値は0であり、REQ2_LOW信号はネゲートされている。したがって、AND回路13は、REQ2’信号をアサートする。このとき、REQ2’信号の立ち上がりが発生したため、カウンタ33はサイクル3からカウントを開始する。
サイクル3において、調停部11はクライアント1(21)の優先度が最高なので、クライアント1(21)を選択してACK1信号をアサートする。クライアント1(21)はACK1信号を受け、サイクル4においてREQ1信号をネゲートし、BSY1信号をアサートしてメモリアクセスを開始する。
サイクル9において、クライアント1(21)はメモリアクセスを完了し、サイクル10においてBSY1信号をネゲートする。このサイクル10で、調停部11は次の調停を行なうが、REQ2’信号のみがアサートされているので、REQ2’信号を選択する。そして、サイクル11において、調停部11はACK2信号をアサートする。クライアント2(22)はACK2’信号を受け、サイクル12においてREQ2信号をネゲートし、BSY2信号をアサートしてメモリアクセスを開始する。
また、サイクル11においてACK2の立ち上がりが発生したため、優先度調整部12はサイクル12においてREQ2_LOW信号をアサートする。
サイクル16において、クライアント2(22)はメモリアクセスを完了し、サイクル17においてBSY2信号をネゲートすると共に、次のアクセス要求のためにREQ2信号をアサートする。このサイクルで、調停部11は次の調停を行なうが、AND回路13によってREQ2信号がマスクされている。しかしながら、priority4のクライアント用インタフェースに入力されるREQ2信号がアサートされており、他のアクセス要求信号がアサートされていないため、調停部11はREQ2信号を選択し、サイクル18でACK4信号をアサートする。これにより、クライアント2(22)はACK2’信号を受け、サイクル19においてREQ2信号をネゲートし、BSY2信号をアサートしてメモリアクセスを開始する。
クライアント2(22)のメモリアクセス中のサイクル22において、カウンタ33のカウント値が“20”となってレジスタ34の値と一致する。そして、サイクル23において、カウンタ33が0にリセットされる。
サイクル24において、フリップフロップ39はカウンタ33のカウント値が“20”になったのを受け、REQ2_LOW信号をネゲートする。
このように、クライアント2(22)の優先度が低下している期間中であっても、他のアクセス要求が発生していなければ、クライアント2(22)のアクセスが許可される。また、REQ2_LOW信号のアサート期間中におけるアクセス要求およびアクセス許可に対して、調停部11はその影響を受けることはない。
以上説明したように、本実施の形態におけるメモリアクセス調停装置においては、クライアントによる高優先度でのアクセス要求の発行時(REQ2’信号の立ち上がり)を起点とし、そのアクセス要求が受け付けられた時(ACK2信号の立ち上がり)以降、レジスタに設定された期間が終了するまで当該クライアントの優先度を下げているので、レジスタに設定された期間よりも短い間隔でアクセス要求を発行し続ける場合、必ずレジスタに設定された期間ごとに高優先度のアクセス要求が発生することになり、毎回の調停待ち時間には影響を受けない。
したがって、毎回の調停待ち時間の長短によるゆらぎを排除して考えれば、平均としてレジスタに設定された間隔で高優先度のアクセス要求が許可されることになる。その結果、高優先度でのアクセスが平均としてレジスタに設定された間隔で許可されることを保証すること、すなわち当該クライアントの最低アクセス頻度を保証することが可能となる。
また、レジスタに設定された間隔以上の頻度で当該クライアントのアクセスを許可しないことも保証されるので、より優先度の低いクライアントの調停待ち時間への影響を抑えることが可能となる。
また、レジスタに設定された期間中は低優先度でのアクセスが許可されているので、高優先度でのアクセスを含めたアクセス許可回数が増加することになり、当該クライアントに保証する最低アクセス頻度を満たすことが可能となる。また、これによってメモリバスを有効に利用することが可能となる。
また、低優先度でのアクセスは、他のクライアントのアクセス要求がない場合にのみ許可されるので、より優先度の低いクライアントの調停待ち時間にも影響を与えることはない。
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 メモリアクセス調停装置、11 調停部、12 優先度調整部、13,38,42,44 AND回路、14,37 OR回路、21〜23 クライアント、31,32 エッジ検出部、33 カウンタ、34 レジスタ、35,36 比較器、39,41,43 フリップフロップ。
Claims (5)
- 複数のクライアントからのメモリアクセス要求を優先度に応じて調停する調停手段と、
特定のクライアントがメモリアクセス要求を発行してから所定期間だけ、前記特定のクライアントからの次回以降のメモリアクセス要求に対する優先度を変更して前記調停手段にメモリアクセス要求を出力する変更手段とを含むメモリアクセス調停装置。 - 前記変更手段は、前記特定のクライアントからのメモリアクセス要求の優先度を全てのクライアントの中で最低の優先度に変更する、請求項1記載のメモリアクセス調停装置。
- 前記変更手段は、前記特定のクライアントからの前記次回以降のメモリアクセス要求を前記所定期間だけマスクして前記調停手段の所定優先度のインタフェースに出力するマスク手段を含む、請求項1記載のメモリアクセス調停装置。
- 前記特定のクライアントからのメモリアクセス要求が前記調停手段の最低優先度のインタフェースに接続される、請求項3記載のメモリアクセス調停装置。
- 前記変更手段はさらに、前記所定期間が設定される設定手段と、
前記特定のクライアントからのメモリアクセス要求を検出する第1の検出手段と、
前記第1の検出手段による検出に応じてカウントを開始するカウント手段と、
前記設定手段に設定された所定期間と前記カウント手段によるカウント値とを比較する比較手段と、
前記調停手段からのメモリアクセス許可を検出する第2の検出手段と、
前記第2の検出手段による検出に応じて、前記比較手段によって一致が検出されるまで前記特定のクライアントからのメモリアクセス要求を前記マスク手段にマスクさせるマスク制御手段とを含む、請求項3または4記載のメモリアクセス調停装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006031238A JP2007213225A (ja) | 2006-02-08 | 2006-02-08 | メモリアクセス調停装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006031238A JP2007213225A (ja) | 2006-02-08 | 2006-02-08 | メモリアクセス調停装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007213225A true JP2007213225A (ja) | 2007-08-23 |
Family
ID=38491617
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006031238A Withdrawn JP2007213225A (ja) | 2006-02-08 | 2006-02-08 | メモリアクセス調停装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007213225A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009119009A1 (ja) * | 2008-03-27 | 2009-10-01 | パナソニック株式会社 | アクセス制御装置 |
US7613850B1 (en) | 2008-12-23 | 2009-11-03 | International Business Machines Corporation | System and method utilizing programmable ordering relation for direct memory access |
-
2006
- 2006-02-08 JP JP2006031238A patent/JP2007213225A/ja not_active Withdrawn
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009119009A1 (ja) * | 2008-03-27 | 2009-10-01 | パナソニック株式会社 | アクセス制御装置 |
US8458409B2 (en) | 2008-03-27 | 2013-06-04 | Panasonic Corporation | Access controller |
JP5330264B2 (ja) * | 2008-03-27 | 2013-10-30 | パナソニック株式会社 | アクセス制御装置 |
US7613850B1 (en) | 2008-12-23 | 2009-11-03 | International Business Machines Corporation | System and method utilizing programmable ordering relation for direct memory access |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7062582B1 (en) | Method and apparatus for bus arbitration dynamic priority based on waiting period | |
JP2010286983A (ja) | バス調停回路及びバス調停方法 | |
US20080270658A1 (en) | Processor system, bus controlling method, and semiconductor device | |
JP2009134766A (ja) | 資源要求調停装置、資源要求調停方法、及び、コンピュータプログラム | |
US20190057047A1 (en) | Data storage device and a method for controlling access to a memory device of a data storage device | |
US7650451B2 (en) | Arbiter circuit | |
US9396146B1 (en) | Timing-budget-based quality-of-service control for a system-on-chip | |
JP2007213225A (ja) | メモリアクセス調停装置 | |
JP2008040650A (ja) | バスアービトレーション装置 | |
JP5677007B2 (ja) | バス調停装置、バス調停方法 | |
US6784890B1 (en) | Accelerated graphics port expedite cycle throttling control mechanism | |
EP1424634B1 (en) | Avoidance of extended bus occupancy through simple control operation | |
US7130947B2 (en) | Method of arbitration which allows requestors from multiple frequency domains | |
US20050066097A1 (en) | Resource management apparatus | |
JP2008059047A (ja) | 情報処理システム及びこの制御方法 | |
JP4822429B2 (ja) | バスアクセス調停方法及び半導体集積回路 | |
JPH1139255A (ja) | バス調停装置及びバス調停方法 | |
JP2003016024A (ja) | メモリ制御装置及びlsi | |
US7747806B2 (en) | Resource use management device, resource use management system, and control method for a resource use management device | |
JP2004005589A (ja) | 資源要求調停装置、資源要求調停方法、及び、コンピュータプログラム | |
JP2001117860A (ja) | メモリアクセス優先順位切替制御装置 | |
JPH10334042A (ja) | バス調停制御装置及びバス調停制御方法並びにバス調停制御プログラムを記録した記録媒体 | |
JP5494925B2 (ja) | 半導体集積回路、情報処理装置およびプロセッサ性能保証方法 | |
JP2000298638A (ja) | Dma転送装置 | |
JP2005339260A (ja) | バス制御装置 |
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: 20090512 |