(57)【要約】  複数の読出し部からのリード要求に応じてデータを読み出すＦＩＦＯメモリを簡易な構成で実現する。  ライトポインタ制御部は、各々にデータが保持される複数のエントリが設けられた先入れ先出しデータ保持部に対してデータ書込みが要求されると複数のエントリのうちライトポインタの示すエントリにデータを書き込んでライトポインタを更新する。また、リードポインタ制御部は、互いに異なる読出し部に対応付けられた複数のリードポインタのうちデータ読出しを要求した読出し部に対応するリードポインタの示すエントリからデータを読み出して対応するリードポインタを更新する。
2017013931.tif 000002
【特許請求の範囲】
【請求項１】
各々にデータが保持される複数のエントリが設けられた先入れ先出しデータ保持部に対してデータ書込みが要求されると前記複数のエントリのうちライトポインタの示すエントリにデータを書き込んで前記ライトポインタを更新するライトポインタ制御部と、
互いに異なる読出し部に対応付けられた複数のリードポインタのうちデータ読出しを要求した前記読出し部に対応するリードポインタの示す前記エントリから前記データを読み出して前記対応するリードポインタを更新するリードポインタ制御部と
を具備する先入れ先出し制御回路。
【請求項２】
前記ライトポインタ制御部は、前記データ書込みが要求されるたびに現在の時刻を前記データとともに前記先入れ先出しデータ保持部にさらに書き込む
請求項１記載の先入れ先出し制御回路。
【請求項３】
前記データ保持部は、前記エントリごとに前記時刻を保持し、
前記リードポインタ制御部は、前記リードポインタの示す前記エントリに対応する前記時刻を前記先入れ先出しデータ保持部からさらに読み出す
請求項２記載の先入れ先出し制御回路。
【請求項４】
前記データ保持部は、前記書き込まれた時刻のうち最新の時刻のみを最新時刻として保持し、
前記リードポインタ制御部は、前記リードポインタの示す前記エントリに対応する時刻が保持されていない場合には前記対応する時刻を前記最新時刻から生成する
請求項２記載の先入れ先出し制御回路。
【請求項５】
前記ライトポインタ制御部は、前記先入れ先出しデータ保持部からデータが溢れると前記データを書き込まずにバッファフル応答を供給する
請求項１記載の先入れ先出し制御回路。
【請求項６】
前記ライトポインタ制御部は、前記先入れ先出しデータ保持部からデータが溢れるとバッファフル応答を供給して前記ライトポインタの示すエントリにデータを書き込み、前記ライトポインタおよび前記リードポインタを更新する
請求項１記載の先入れ先出し制御回路。
【請求項７】
前記読出し部により読み出されていない前記データの個数を示すデータ数情報を前記読出し部ごとに保持するデータ数情報保持部をさらに具備し、
前記ライトポインタ制御部は、前記先入れ先出しデータ保持部からデータが溢れたか否かを前記データ数情報に基づいて判断し、
前記リードポインタ制御部は、前記読出し部により読み出すことのできる前記データが存在しないか否かを前記読出し部に対応する前記データ数情報に基づいて判断する
請求項１記載の先入れ先出し制御回路。
【請求項８】
前記リードポインタ制御部は、前記読出し部に対応する前記データ数情報と前記ライトポインタとから前記リードポインタを生成する
請求項７記載の先入れ先出し制御回路。
【請求項９】
前記読出し部により読み出すことのできる前記データが存在しないか否かを示すエンプティフラグを前記読出し部ごとに保持するエンプティフラグ保持部をさらに具備し、
前記ライトポインタ制御部は、前記先入れ先出しデータ保持部からデータが溢れたか否かを前記読出し部に対応する前記エンプティフラグと前記ライトポインタおよび前記対応するリードポインタとに基づいて判断し、
前記リードポインタ制御部は、前記読出し部により読み出すことのできる前記データが存在しないか否かを前記読出し部に対応する前記エンプティフラグに基づいて判断する
請求項１記載の先入れ先出し制御回路。
【請求項１０】
前記先入れ先出しデータ保持部からデータが溢れたか否かを示すフルフラグを前記読出し部ごとに保持するフルフラグ保持部をさらに具備し、
前記ライトポインタ制御部は、前記先入れ先出しデータ保持部からデータが溢れたか否かを前記読出し部に対応する前記フルフラグに基づいて判断し、
前記リードポインタ制御部は、前記読出し部により読み出すことのできる前記データが存在しないか否かを前記読出し部に対応する前記フルフラグと前記ライトポインタおよび前記対応するリードポインタとに基づいて判断する
請求項１記載の先入れ先出し制御回路。
【請求項１１】
所定の閾値を前記読出し部ごとに保持する閾値保持部をさらに具備し、
前記リードポインタ制御部は、前記読出し部により読み出されていない前記データの個数が前記読出し部に対応する前記所定の閾値を超えると前記データに対する処理について割込みを前記読出し部に要求する
請求項１記載の先入れ先出し制御回路。
【請求項１２】
各々にデータが保持される複数のエントリが設けられた先入れ先出しデータ保持部と、
前記先入れ先出しデータ保持部に対してデータ書込みが要求されると前記複数のエントリのうちライトポインタの示すエントリにデータを書き込んで前記ライトポインタを更新するライトポインタ制御部と、
互いに異なる読出し部に対応付けられた複数のリードポインタのうちデータ読出しを要求した前記読出し部に対応するリードポインタの示す前記エントリから前記データを読み出して前記対応するリードポインタを更新するリードポインタ制御部と
を具備する記憶装置。
【請求項１３】
前記記憶装置のステータスの通知が要求されると前記ステータスを生成するステータス管理部をさらに具備する
請求項１２記載の記憶装置。
【請求項１４】
各々にデータが保持される複数のエントリが設けられた先入れ先出しデータ保持部に対してデータ書込みが要求されると前記複数のエントリのうちライトポインタの示すエントリにデータを書き込んで前記ライトポインタを更新するライトポインタ制御手順と、
互いに異なる読出し部に対応付けられた複数のリードポインタのうちデータ読出しを要求した前記読出し部に対応するリードポインタの示す前記エントリから前記データを読み出して前記対応するリードポインタを更新するリードポインタ制御手順と
を具備する先入れ先出し制御回路の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、先入れ先出し制御回路、記憶装置、および、先入れ先出し制御回路の制御方法に関する。詳しくは、複数の読出し部からのリード要求に応じてデータを出力する先入れ先出し制御回路、記憶装置、および、先入れ先出し制御回路の制御方法に関する。
【背景技術】
【０００２】
従来より、データを入力順に処理するシステムにおいて、先入れ先出し（ＦＩＦＯ：First In First Out）方式でデータをバッファリングするＦＩＦＯメモリがよく用いられている。例えば、複数のデータを保持することができるＦＩＦＯ回路と、ＦＩＦＯ制御回路と、ＲＡＭ（Random Access Memory）とを設けたＦＩＦＯメモリが提案されている（例えば、特許文献１参照。）。【０００３】
上述のＦＩＦＯメモリには、ＣＰＵ（Central Processing Unit）＃０およびＣＰＵ＃１などの複数の読出し部のそれぞれから個別にリード要求が入力される。ＦＩＦＯ読出し回路は、ＣＰＵ＃０およびＣＰＵ＃１の一方からのリード要求の個数が他方より多いと、それらの差分の個数のデータをＲＡＭに退避させる。例えば、一方のＣＰＵ＃０から３回に亘ってリード要求を受け取り、他方のＣＰＵ＃１から１回だけリード要求を受け取った場合を考える。この場合にＦＩＦＯ制御回路は、データＤ０、Ｄ１およびＤ２の３つのデータを順にＦＩＦＯ回路から取り出し、それらのデータの全てをＣＰＵ＃０に供給し、ＣＰＵ＃１にはデータＤ０のみを供給する。そして、ＦＩＦＯ制御回路は、ＣＰＵ＃１に供給しなかったデータＤ１およびＤ２をＲＡＭに退避させておく。その後に、ＣＰＵ＃１から、さらにリード要求を受け取ると、ＦＩＦＯ制御回路は退避させておいたデータＤ１やＤ２を読み出してＣＰＵ＃１に供給する。このように、ＲＡＭにデータを退避させておくことにより、２つのＣＰＵは独立してＦＩＦＯ回路からデータを読み出すことができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−１８６０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述の従来技術では、ＦＩＦＯ回路に加えて、データを退避しておくＲＡＭをさらに設ける必要があり、その分、ＦＩＦＯメモリのコストや回路規模が増大するという問題がある。【０００６】
本技術はこのような状況に鑑みて生み出されたものであり、複数の読出し部からのリード要求に応じてデータを読み出すＦＩＦＯメモリを簡易な構成で実現することを目的とする。
【課題を解決するための手段】
【０００７】
本技術は、上述の問題点を解消するためになされたものであり、その第１の側面は、各々にデータが保持される複数のエントリが設けられた先入れ先出しデータ保持部に対してデータ書込みが要求されると上記複数のエントリのうちライトポインタの示すエントリにデータを書き込んで上記ライトポインタを更新するライトポインタ制御部と、互いに異なる読出し部に対応付けられた複数のリードポインタのうちデータ読出しを要求した上記読出し部に対応するリードポインタの示す上記エントリから上記データを読み出して上記対応するリードポインタを更新するリードポインタ制御部とを具備する先入れ先出し制御回路、および、その制御方法である。これにより、複数のリードポインタのうちデータ読出しを要求した読出し部に対応するリードポインタの示すエントリからデータが読み出されるという作用をもたらす。【０００８】
また、この第１の側面において、上記ライトポインタ制御部は、上記データ書込みが要求されるたびに現在の時刻を上記データとともに上記先入れ先出しデータ保持部にさらに書き込んでもよい。これにより、データおよび現在の時刻が書き込まれるという作用をもたらす。【０００９】
また、この第１の側面において、上記データ保持部は、上記エントリごとに上記時刻を保持し、上記リードポインタ制御部は、上記リードポインタの示す上記エントリに対応する上記時刻を上記先入れ先出しデータ保持部からさらに読み出してもよい。これにより、エントリごとに保持された時刻が読み出されるという作用をもたらす。【００１０】
また、この第１の側面において、上記データ保持部は、上記書き込まれた時刻のうち最新の時刻のみを最新時刻として保持し、上記リードポインタ制御部は、上記リードポインタの示す上記エントリに対応する時刻が保持されていない場合には上記対応する時刻を上記最新時刻から生成してもよい。これにより、最新時刻から、対応する時刻が生成されるという作用をもたらす。【００１１】
また、この第１の側面において、上記ライトポインタ制御部は、上記先入れ先出しデータ保持部からデータが溢れると上記データを書き込まずにバッファフル応答を供給してもよい。これにより、データが溢れるとバッファフル応答が供給されるという作用をもたらす。【００１２】
また、この第１の側面において、上記ライトポインタ制御部は、上記先入れ先出しデータ保持部からデータが溢れるとバッファフル応答を供給して上記ライトポインタの示すエントリにデータを書き込み、上記ライトポインタおよび上記リードポインタを更新してもよい。これにより、データが溢れると、ライトポインタの示すエントリにデータが書き込まれるという作用をもたらす。【００１３】
また、この第１の側面において、上記読出し部により読み出されていない上記データの個数を示すデータ数情報を上記読出し部ごとに保持するデータ数情報保持部をさらに具備し、上記ライトポインタ制御部は、上記先入れ先出しデータ保持部からデータが溢れたか否かを上記データ数情報に基づいて判断し、上記リードポインタ制御部は、上記読出し部により読み出すことのできる上記データが存在しないか否かを上記読出し部に対応する上記データ数情報に基づいて判断してもよい。これにより、データ数に基づいてデータが溢れたか否かと、読み出すことのできる上記データが存在しないか否かとが判断されるという作用をもたらす。【００１４】
また、この第１の側面において、前記リードポインタ制御部は、前記読出し部に対応する前記データ数情報と前記ライトポインタとから前記リードポインタを生成してもよい。これにより、読出し部に対応するデータ数情報とライトポインタとからリードポインタが生成されるという作用をもたらす。【００１５】
また、この第１の側面において、上記読出し部により読み出すことのできる上記データが存在しないか否かを示すエンプティフラグを上記読出し部ごとに保持するエンプティフラグ保持部をさらに具備し、上記ライトポインタ制御部は、上記先入れ先出しデータ保持部からデータが溢れたか否かを上記読出し部に対応する上記エンプティフラグと上記ライトポインタおよび上記対応するリードポインタとに基づいて判断し、上記リードポインタ制御部は、上記読出し部により読み出すことのできる上記データが存在しないか否かを上記読出し部に対応する上記エンプティフラグに基づいて判断してもよい。これにより、エンプティフラグに基づいて読み出すことのできる上記データが存在しないか否かが判断されるという作用をもたらす。【００１６】
また、この第１の側面において、上記先入れ先出しデータ保持部からデータが溢れたか否かを示すフルフラグを上記読出し部ごとに保持するフルフラグ保持部をさらに具備し、上記ライトポインタ制御部は、上記先入れ先出しデータ保持部からデータが溢れたか否かを上記読出し部に対応する上記フルフラグに基づいて判断し、上記リードポインタ制御部は、上記読出し部により読み出すことのできる上記データが存在しないか否かを上記読出し部に対応する上記フルフラグと上記ライトポインタおよび上記対応するリードポインタとに基づいて判断してもよい。これにより、フルフラグに基づいてデータが溢れたか否かが判断されるという作用をもたらす。【００１７】
また、この第１の側面において、所定の閾値を上記読出し部ごとに保持する閾値保持部をさらに具備し、上記リードポインタ制御部は、上記読出し部により読み出されていない上記データの個数が上記読出し部に対応する上記所定の閾値を超えると上記データに対する処理について割込みを上記読出し部に要求してもよい。これにより、読み出されていないデータの個数が読出し部に対応する所定の閾値を超えるとデータに対する処理について割込みが要求されるという作用をもたらす。【００１８】
また、本技術の第２の側面は、各々にデータが保持される複数のエントリが設けられた先入れ先出しデータ保持部と、上記先入れ先出しデータ保持部に対してデータ書込みが要求されると上記複数のエントリのうちライトポインタの示すエントリにデータを書き込んで上記ライトポインタを更新するライトポインタ制御部と、互いに異なる読出し部に対応付けられた複数のリードポインタのうちデータ読出しを要求した上記読出し部に対応するリードポインタの示す上記エントリから上記データを読み出して上記対応するリードポインタを更新するリードポインタ制御部とを具備する記憶装置である。これにより、複数のリードポインタのうちデータ読出しを要求した読出し部に対応するリードポインタの示すエントリからデータが読み出されるという作用をもたらす。【００１９】
また、この第１の側面において、上記記憶装置のステータスの通知が要求されると上記ステータスを生成するステータス管理部をさらに具備してもよい。これにより、ステータスの通知の要求に応じてステータスが生成されるという作用をもたらす。
【発明の効果】
【００２０】
本技術によれば、複数の読出し部からのリード要求に応じてデータを読み出すＦＩＦＯメモリを簡易な構成で実現することができるという優れた効果を奏し得る。なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
【図面の簡単な説明】
【００２１】
【図１】本技術の第１の実施の形態における情報処理装置の一構成例を示すブロック図である。
【図２】本技術の第１の実施の形態におけるＦＩＦＯメモリの一構成例を示すブロック図である。
【図３】本技術の第１の実施の形態におけるＦＩＦＯデータ保持部の一構成例を示す図である。
【図４】本技術の第１の実施の形態における管理情報保持部に保持されるデータの一例を示す図である。
【図５】本技術の第１の実施の形態におけるライトポインタ制御部の動作の一例を示す図である。
【図６】本技術の第１の実施の形態におけるリードポインタ制御部の動作の一例を示す図である。
【図７】本技術の第１の実施の形態におけるエンキュー処理の一例を示すフローチャートである。
【図８】本技術の第１の実施の形態におけるデキュー処理の一例を示すフローチャートである。
【図９】本技術の第１の実施の形態の第１の変形例におけるライトポインタ制御部の動作の一例を示す図である。
【図１０】本技術の第１の実施の形態の第１の変形例におけるエンキュー処理の一例を示すフローチャートである。
【図１１】本技術の第１の実施の形態の第２の変形例における管理情報保持部に保持されるデータの一例を示す図である。
【図１２】本技術の第１の実施の形態の第２の変形例におけるライトポインタ制御部の動作の一例を示す図である。
【図１３】本技術の第１の実施の形態の第２の変形例におけるリードポインタ制御部の動作の一例を示す図である。
【図１４】本技術の第１の実施の形態の第２の変形例におけるエンキュー処理の一例を示すフローチャートである。
【図１５】本技術の第１の実施の形態の第２の変形例におけるデキュー処理の一例を示すフローチャートである。
【図１６】本技術の第１の実施の形態の第３の変形例における管理情報保持部に保持されるデータの一例を示す図である。
【図１７】本技術の第１の実施の形態の第３の変形例におけるライトポインタ制御部の動作の一例を示す図である。
【図１８】本技術の第１の実施の形態の第３の変形例におけるリードポインタ制御部の動作の一例を示す図である。
【図１９】本技術の第１の実施の形態の第３の変形例におけるエンキュー処理の一例を示すフローチャートである。
【図２０】本技術の第１の実施の形態の第３の変形例におけるデキュー処理の一例を示すフローチャートである。
【図２１】本技術の第１の実施の形態の第４の変形例における管理情報保持部に保持されるデータの一例を示す図である。
【図２２】本技術の第１の実施の形態の第４の変形例におけるリードポインタ制御部の動作の一例を示す図である。
【図２３】本技術の第１の実施の形態の第４の変形例におけるデキュー処理の一例を示すフローチャートである。
【図２４】本技術の第１の実施の形態の第５の変形例におけるＦＩＦＯ制御回路の一構成例を示すブロック図である。
【図２５】本技術の第１の実施の形態の第５の変形例における管理情報保持部に保持されるデータの一例を示す図である。
【図２６】本技術の第１の実施の形態の第６の変形例におけるＦＩＦＯ制御回路の一構成例を示すブロック図である。
【図２７】本技術の第１の実施の形態の第７の変形例における情報処理装置の一構成例を示すブロック図である。
【図２８】本技術の第１の実施の形態の第８の変形例におけるＦＩＦＯメモリの一構成例を示すブロック図である。
【図２９】本技術の第２の実施の形態における情報処理装置の一構成例を示すブロック図である。
【図３０】本技術の第２の実施の形態におけるＦＩＦＯデータ保持部の一構成例を示す図である。
【図３１】本技術の第２の実施の形態におけるライトポインタ制御部の動作の一例を示す図である。
【図３２】本技術の第２の実施の形態におけるリードポインタ制御部の動作の一例を示す図である。
【図３３】本技術の第２の実施の形態における情報処理装置の動作の一例を示すフローチャートである。
【図３４】本技術の第２の実施の形態の変形例におけるＦＩＦＯデータ保持部の一構成例を示す図である。
【図３５】本技術の第２の実施の形態の変形例におけるリードポインタ制御部の動作の一例を示す図である。
【図３６】本技術の第２の実施の形態の変形例におけるデキュー処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００２２】
以下、本技術を実施するための形態（以下、実施の形態と称する）について説明する。説明は以下の順序により行う。
１．第１の実施の形態（データ処理部ごとにリードポインタを保持する例）
２．第２の実施の形態（データ処理部ごとにリードポインタを保持し、データおよび時刻情報を保持する例）
【００２３】
＜１．第１の実施の形態＞
［情報処理装置の構成例］
図１は、本技術の第１の実施の形態における情報処理装置１００の一構成例を示すブロック図である。この情報処理装置１００は、データ生成部１１０と、ＦＩＦＯメモリ２００と、複数のデータ処理部１２０とを備える。
【００２４】
データ生成部１１０は、データを生成してＦＩＦＯメモリ２００に書き込むものである。例えば、加速度センサ、イメージセンサや通信モジュールなどの様々な回路がデータ生成部１１０として想定される。また、このデータ生成部１１０は、ＦＩＦＯメモリ２００との間で制御情報をやり取りする。
【００２５】
この制御情報は、例えば、初期化要求、ライト要求、リード要求、および、応答を含む。初期化要求は、ＦＩＦＯメモリ２００の初期化を要求するものである。ライト要求は、ＦＩＦＯメモリ２００に対してデータの書込みを要求するものである。リード要求は、ＦＩＦＯメモリ２００に対してデータの読出しを要求するものである。応答は、ライト要求やリード要求に対するＦＩＦＯメモリ２００からの応答であり、バッファフルやバッファエンプティなどの通知を含む。
【００２６】
また、初期化要求は、データ生成部１１０またはデータ処理部１２０により供給される。ライト要求は、データ生成部１１０により、書き込む対象のデータとともに供給される。リード要求は、データ処理部１２０により供給される。
【００２７】
ＦＩＦＯメモリ２００は、先入れ先出し方式で複数のデータを保持するものである。このＦＩＦＯメモリ２００は、データ生成部１１０およびデータ処理部１２０のそれぞれの処理速度や転送速度の差を補うためのバッファとして用いられる。なお、ＦＩＦＯメモリ２００は、特許請求の範囲に記載の記憶装置の一例である。
【００２８】
データ処理部１２０は、ＦＩＦＯメモリ２００からデータを読み出して処理するものである。複数のデータ処理部１２０（データ処理部＃０やデータ処理部＃１など）のそれぞれは、独立してＦＩＦＯメモリ２００にリード要求を供給してデータを読み出すことができる。これらのデータ処理部１２０として、例えば、ＣＰＵが想定される。なお、データ処理部１２０は、特許請求の範囲に記載の読出し部の一例である。
【００２９】
［ＦＩＦＯメモリの構成例］
図２は、本技術の第１の実施の形態におけるＦＩＦＯメモリ２００の一構成例を示すブロック図である。このＦＩＦＯメモリ２００は、入力インターフェース２１０、ＦＩＦＯデータ保持部２２０、ＦＩＦＯ制御回路２３０および出力インターフェース２５０を備える。また、ＦＩＦＯ制御回路２３０は、ライトポインタ制御部２３１と、複数のリードポインタ制御部２３２（リードポインタ制御部＃０やリードポインタ制御部＃１など）と、管理情報保持部２４０とを備える。なお、ＦＩＦＯ制御回路２３０は、特許請求の範囲に記載の先入れ先出し制御回路の一例である。
【００３０】
ここで、リードポインタ制御部２３２は、データ処理部１２０がデータを読み出すための通信チャネルである読出しポートごとに設けられる。これらの読出しポートのそれぞれには、互いに異なるデータ処理部１２０が割り当てられる。すなわち、リードポインタ制御部２３２のそれぞれに、互いに異なるデータ処理部１２０が対応付けられている。例えば、データ処理部＃０にリードポインタ制御部＃０が対応付けられ、データ処理部＃１にリードポインタ制御部＃１が対応付けられる。
【００３１】
入力インターフェース２１０は、データ生成部１１０とＦＩＦＯデータ保持部２２０およびＦＩＦＯ制御回路２３０との間でデータおよび制御情報を送受信するものである。
【００３２】
ＦＩＦＯデータ保持部２２０は、複数のデータを保持するものである。このＦＩＦＯデータ保持部２２０には複数のエントリが設けられ、それらのエントリのそれぞれにデータが保持される。なお、ＦＩＦＯデータ保持部２２０は、特許請求の範囲に記載の先入れ先出しデータ保持部の一例である。
【００３３】
管理情報保持部２４０は、ＦＩＦＯデータ保持部２２０を管理するための管理情報を保持するものである。例えば、管理情報として、ライトポインタ、リードポインタおよびデータ数情報が保持される。ライトポインタは、ＦＩＦＯデータ保持部２２０における、データを書き込むためのエントリを示す。また、リードポインタおよびデータ数情報は、データ処理部１２０ごとに設けられる。このリードポインタは、対応するデータ処理部１２０がデータを読み出すためのエントリを示す。データ数情報は、ＦＩＦＯデータ保持部２２０に保持されているデータのうち、対応するデータ処理部１２０により読み出されてないデータの個数（言い換えれば、読出し可能なバッファリング中のデータ数）を示す。
【００３４】
ライトポインタ制御部２３１は、ライト要求に従ってライトポインタの示すエントリにデータを書き込み、ライトポインタを更新するものである。このライトポインタ制御部２３１は、初期化要求が供給されると、データ数情報の全てとライトポインタとを初期値（例えば、「０」）にする。
【００３５】
また、ライト要求が供給されると、ライトポインタ制御部２３１は、ＦＩＦＯデータ保持部２２０についてバッファフルであるか否かを判断する。例えば、ライトポインタ制御部２３１は、管理情報保持部２４０のデータ数情報を参照し、いずれかのデータ数が、エントリの総数（以下、「バッファサイズ」と称する。）である場合にバッファフルと判断する。バッファフルである場合には、ライトポインタ制御部２３１は、データ生成部１１０からのデータを破棄し、バッファフルの応答をデータ生成部１１０に返す。
【００３６】
一方、バッファフルでない場合にライトポインタ制御部２３１は、管理情報保持部２４０からライトポインタを取得し、そのライトポインタの示すエントリにデータを書き込む。例えば、ライトポインタ制御部２３１は、ドライバ（不図示）を制御し、ライトポインタの示すエントリにデータを書き込ませる。また、ライトポインタ制御部２３１は、増分や減分などによりライトポインタを更新（例えば、インクリメント）し、全てのデータ数を増分（例えば、インクリメント）する。
【００３７】
リードポインタ制御部２３２は、リード要求に従ってリードポインタの示すエントリからデータを読み出し、リードポインタを更新するものである。このリードポインタ制御部２３２は、初期化要求が供給されると、リードポインタを初期値にする。
【００３８】
また、対応するデータ処理部１２０からリード要求が供給されると、リードポインタ制御部２３２は、そのデータ処理部１２０により読み出すことのできるデータが存在しない状態（すなわち、バッファエンプティ）であるか否かを判断する。例えば、リードポインタ制御部２３２は、管理情報保持部２４０から、リード要求に係るデータ処理部１２０に対応するデータ数情報を読み出し、そのデータ数情報が初期値である場合にバッファエンプティと判断する。バッファエンプティである場合には、リードポインタ制御部２３２は、リード要求に係るデータ処理部１２０にバッファエンプティの応答を返す。
【００３９】
一方、バッファエンプティでない場合にリードポインタ制御部２３２は、対応するリードポインタを管理情報保持部２４０から取得し、そのリードポインタの示すエントリからデータを読み出す。例えば、リードポインタ制御部２３２は、ドライバ（不図示）を制御し、リードポインタの示すエントリからデータを読み出させる。また、リードポインタ制御部２３２は、増分や減分などにより対応するリードポインタを更新（例えば、インクリメント）し、対応するデータ数を減分（例えば、デクリメント）する。
【００４０】
出力インターフェース２５０は、データ処理部１２０とＦＩＦＯデータ保持部２２０およびＦＩＦＯ制御回路２３０との間でデータおよび制御情報を送受信するものである。
【００４１】
図３は、本技術の第１の実施の形態におけるＦＩＦＯデータ保持部２２０の一構成例を示す図である。同図において、エントリ番号が割り当てられた矩形の図形のそれぞれはエントリを示す。同図に例示するように、ＦＩＦＯデータ保持部には、複数のエントリが設けられる。ここで、エントリ番号は、エントリを識別するための番号であり、ライトポインタおよびリードポインタには、このエントリ番号が設定されるものとする。
【００４２】
初期化要求が供給されると、ＦＩＦＯ制御回路２３０は、ライトポインタＷＰと、リードポインタＲＰ０およびＲＰ１などの複数のリードポインタとを、例えば、「０」に初期化する。すなわち、初期状態の各ポインタは、エントリ番号「０」のエントリを示す。また、ＦＩＦＯ制御回路２３０は、データ数情報Ｎ０およびＮ１を「０」に初期化する。ここで、リードポインタＲＰ０およびデータ数情報Ｎ０は、データ処理部＃０に対応づけられ、リードポインタＲＰ１およびデータ数情報Ｎ１は、データ処理部＃１に対応づけられているものとする。
【００４３】
初期化後にデータＤ０の書込みを要求するライト要求がデータ生成部１１０により供給されると、ＦＩＦＯ制御回路２３０は、そのデータＤ０をライトポインタの示すエントリ番号「０」のエントリに書き込む。また、ＦＩＦＯ制御回路２３０は、ライトポインタを「１」に更新し、データ数情報Ｎ０およびＮ１の両方を「１」に更新する。同様に、データＤ１のライト要求とデータＤ２のライト要求とが順に供給されると、ＦＩＦＯ制御回路２３０は、それらのデータをライトポインタの示すエントリ番号「１」および「２」のエントリに順に書き込む。また、ライトポインタは「２」に更新され、次いで「３」に更新される。データ数情報Ｎ０およびＮ１の両方は「２」に更新され、次いで「３」に更新される。
【００４４】
そして、データ処理部＃０のみによりリード要求が供給されると、ＦＩＦＯ制御回路２３０は、対応するリードポインタＲＰ０の示すエントリ番号「０」のエントリからデータＤ０を読み出してデータ処理部＃０に供給する。また、ＦＩＦＯ制御回路２３０は、リードポインタＲＰ０を「１」に更新し、対応するデータ数情報Ｎ０を「２」に更新する。一方、この時点でデータ処理部＃１からのリード要求は無いため、対応するリードポインタＲＰ１およびデータ数情報Ｎ１は初期値のままである。
【００４５】
また、ライトポインタおよびリードポインタの更新において、それらのポインタが最後のエントリ番号であると、ＦＩＦＯ制御回路２３０は、そのポインタを最初のエントリ番号に更新する。このように先頭と末尾がつながった循環構造のバッファは、リングバッファと呼ばれる。
【００４６】
このように、ＦＩＦＯ制御回路２３０は、データ処理部＃０および＃１のそれぞれについて、個別にリードポインタを制御するため、ＦＩＦＯ制御回路２３０に、データの退避用のＲＡＭ等を設ける必要がなくなる。したがって、複数のデータ処理部１２０からのリード要求に応じてデータを読み出すＦＩＦＯ制御回路２３０を簡易な構成により実現することができる。
【００４７】
なお、ＦＩＦＯ制御回路２３０は、ポインタのそれぞれをエントリ番号「０」に初期化しているが、「０」以外の番号に初期化してもよい。また、ＦＩＦＯ制御回路２３０は、ポインタのそれぞれを、アクセスのたびにインクリメントしているが、インクリメントの代わりにデクリメントしてもよい。また、ＦＩＦＯ制御回路２３０は、ＦＩＦＯメモリ２００がリングバッファとなるように、最後のエントリ番号を最初のエントリ番号に更新しているが、ＦＩＦＯを実現することができるのであれば、この構成に限定されない。例えば、ＦＩＦＯ制御回路２３０は、最もデータ数の多いリードポインタのエントリからデータが読み出されるたびに、データの全てをエントリ番号が少なくなる方向に１つずつ詰めて全てのポインタを更新する制御を行ってもよい。
【００４８】
図４は、本技術の第１の実施の形態における管理情報保持部２４０に保持されるデータの一例を示す図である。管理情報保持部２４０は、ポインタ保持部２４１およびデータ数情報保持部２４２を備える。ポインタ保持部２４１は、ライトポインタＷＰと、複数のデータ処理部１２０のそれぞれに対応するリードポインタ（ＲＰ０およびＲＰ１など）とを保持するものである。データ数情報保持部２４２は、複数のデータ処理部１２０のそれぞれに対応するデータ数情報（データ数情報Ｎ０やＮ１など）を保持するものである。
【００４９】
［ライトポインタ制御部の動作例］
図５は、本技術の第１の実施の形態におけるライトポインタ制御部２３１の動作の一例を示す図である。初期化要求が供給されると、ライトポインタ制御部２３１は、全データ数情報とライトポインタとを初期化する。
【００５０】
また、ライト要求が供給され、いずれかのデータ数がバッファサイズ（すなわち、バッファフル）である場合にライトポインタ制御部２３１は、データを破棄し、バッファフルの応答をデータ生成部１１０に返す。一方、バッファフルでない場合にライトポインタ制御部２３１は、ライトポインタの示すエントリにデータを書き込み、ライトポインタを更新する。更新においてライトポインタの示す番号が最後のエントリ番号であると、そのライトポインタは最初のエントリ番号に更新される。また、ＦＩＦＯ制御回路２３０は、全てのデータ数を増分する。
【００５１】
[リードポインタ制御部の動作例]
図６は、本技術の第１の実施の形態におけるリードポインタ制御部２３２の動作の一例を示す図である。
【００５２】
初期化要求が供給されると、リードポインタ制御部２３２は、リードポインタを初期化する。
【００５３】
また、リード要求が供給され、対応するデータ数が「０」（すなわち、バッファエンプティ）である場合にリードポインタ制御部２３２は、バッファエンプティの応答を対応するデータ処理部１２０に返す。一方、バッファエンプティでない場合にリードポインタ制御部２３２は、リードポインタの示すエントリからデータを読み出し、リードポインタを更新する。更新においてリードポインタの示す番号が最後のエントリ番号であると、そのリードポインタは最初のエントリ番号に更新される。また、ＦＩＦＯ制御回路２３０は、対応するデータ数を減分する。
【００５４】
図７は、本技術の第１の実施の形態におけるエンキュー処理の一例を示すフローチャートである。このエンキュー処理は、ライト要求に応じて実行される。
【００５５】
ライトポインタ制御部２３１は、データ数情報に基づいてバッファフルであるか否かを判断する（ステップＳ９１１）。バッファフルでない場合（ステップＳ９１１：Ｎｏ）にライトポインタ制御部２３１は、ライトポインタの示すエントリにデータを書き込み（ステップＳ９１２）、ライトポインタを更新する（ステップＳ９１３）。また、ライトポインタ制御部２３１は、全データ数を増分する（ステップＳ９１４）。
【００５６】
一方、バッファフルである場合（ステップＳ９１１：Ｙｅｓ）にライトポインタ制御部２３１は、バッファフルの応答をデータ生成部１１０に返す（ステップＳ９１５）。ステップＳ９１４またはＳ９１５の後、ライトポインタ制御部２３１は、エンキュー処理を終了する。
【００５７】
図８は、本技術の第１の実施の形態におけるデキュー処理の一例を示すフローチャートである。このデキュー処理は、リード要求に応じて実行される。
【００５８】
リードポインタ制御部２３２は、対応するデータ数情報に基づいてバッファエンプティであるか否かを判断する（ステップＳ９３１）。バッファエンプティでない場合（ステップＳ９３１：Ｎｏ）にリードポインタ制御部２３２は、対応するリードポインタの示すエントリからデータを読み出し（ステップＳ９３２）、そのリードポインタを更新する（ステップＳ９３３）。また、リードポインタ制御部２３２は、対応するデータ数を減分する（ステップＳ９３４）。
【００５９】
一方、バッファエンプティである場合（ステップＳ９３１：Ｙｅｓ）にリードポインタ制御部２３２は、バッファエンプティの応答を、リード要求に係るデータ処理部１２０に返す（ステップＳ９３５）。ステップＳ９３４またはＳ９３５の後、リードポインタ制御部２３２は、デキュー処理を終了する。
【００６０】
このように、本技術の第１の実施の形態によれば、ＦＩＦＯ制御回路２３０が互いに異なるデータ処理部に対応付られたリードポインタを更新するため、ＲＡＭを用いることなく複数のデータ処理部からのリード要求に応じたデータを読み出すことができる。
【００６１】
［第１の変形例］
上述の第１の実施の形態では、ＦＩＦＯ制御回路２３０は、バッファ（ＦＩＦＯデータ保持部２２０）が溢れたときに、ライト要求に係るデータを破棄していたが、データを破棄せずに書き込んでもよい。この第１の実施の形態の第１の変形例におけるＦＩＦＯ制御回路２３０は、バッファフルの際にライト要求に係るデータを書き込む点において第１の実施の形態と異なる。
【００６２】
図９は、本技術の第１の実施の形態の第１の変形例におけるライトポインタ制御部２３１の動作の一例を示す図である。
【００６３】
第１の変形例のライトポインタ制御部２３１は、ライト要求が供給され、バッファフルである場合に、ライトポインタの示すエントリにデータを書き込む。また、ライトポインタ制御部２３１は、ライトポインタと同じエントリを示すリードポインタをライトポインタとともに更新する。例えば、ライトポインタＷＰおよびリードポインタＲＰ０が両方とも「１」である場合には、それらのポインタは両方とも「２」に更新される。また、ライトポインタ制御部２３１は、バッファフルの応答をデータ生成部１１０に返す。この制御により、古い方のデータが破棄され、新しい方のデータが優先して書き込まれる。なお、バッファフルで無い場合と、初期化要求の場合とにおける第１の変形例のライトポインタ制御部２３１の動作は、第１の実施の形態と同様である。
【００６４】
図１０は、本技術の第１の実施の形態の第１の変形例におけるエンキュー処理の一例を示すフローチャートである。この第１の変形例のエンキュー処理は、ステップＳ９１６およびＳ９１７をさらに実行する点において第１の実施の形態と異なる。
【００６５】
バッファフルである場合（ステップＳ９１１：Ｙｅｓ）、ライトポインタ制御部２３１は、ライトポインタの示すエントリにデータを書き込む（ステップＳ９１６）。また、ライトポインタ制御部２３１は、ライトポインタと同じエントリを示すリードポインタをライトポインタとともに更新し（ステップＳ９１７）、ステップＳ９１５を実行する。
【００６６】
このように、本技術の第１の実施の形態の第１の変形例によれば、ＦＩＦＯ制御回路２３０は、ＦＩＦＯデータ保持部２２０が溢れた場合にデータを書き込んでポインタを更新するため、ライト要求に係るデータを破棄せずにバッファリングを行うことができる。
【００６７】
［第２の変形例］
上述の第１の実施の形態では、ＦＩＦＯ制御回路２３０は、データ数情報をデータ処理部１２０ごとに保持しておき、そのデータ数情報からバッファエンプティおよびバッファフルのそれぞれの状態を判断していた。しかし、データ処理部１２０の個数が増大するほど保持するデータ数情報の個数が多くなり、管理情報保持部２４０の容量が増大するおそれがある。この第１の実施の形態の第２の変形例におけるＦＩＦＯ制御回路２３０は、管理情報保持部２４０の容量を削減した点において第１の実施の形態と異なる。
【００６８】
図１１は、本技術の第１の実施の形態の第２の変形例における管理情報保持部２４０に保持されるデータの一例を示す図である。この第２の変形例の管理情報保持部２４０は、データ数情報保持部２４２の代わりに、エンプティフラグ保持部２４３を備える点において第１の実施の形態と異なる。
【００６９】
エンプティフラグ保持部２４３は、複数のデータ処理部１２０のそれぞれに対応付けてエンプティフラグを保持するものである。このエンプティフラグは、対応するデータ処理部１２０から見て、バッファエンプティであるか否かを示す。例えば、バッファエンプティである場合にエンプティフラグに「１」が設定され、そうでない場合に「０」が設定される。
【００７０】
データ数情報を保持する第１の実施の形態では、データ処理部１２０ごとに、少なくとも２ビットのデータ数情報を保持する必要があった。例えば、エントリが２つのみである場合、それらに保持されるデータ数は０個、１個および２個のいずれかであるため、２ビットのデータ数情報が必要となる。これに対して、第２の変形例では、データ処理部１２０ごとに、１ビットのエンプティフラグを保持すればよい。このため、管理情報保持部２４０の容量を削減することができる。
【００７１】
図１２は、本技術の第１の実施の形態の第２の変形例におけるライトポインタ制御部２３１の動作の一例を示す図である。初期化要求が供給されると、第２の変形例のライトポインタ制御部２３１は、全てのエンプティフラグとライトポインタとを初期化する。
【００７２】
また、ライト要求が供給されると、第２の変形例のライトポインタ制御部２３１は、ライトポインタがいずれかのリードポインタと一致し、かつ、その一致するリードポインタに対応するエンプティフラグが「０」であるという条件が成立するか否かを判断する。この条件が成立する際にライトポインタ制御部２３１は、バッファフルと判定し、成立しない場合にバッファフルでないと判定する。
【００７３】
バッファフルである場合における第２の変形例のライトポインタ制御部２３１の動作は、第１の実施の形態と同様である。一方、バッファフルでない場合にライトポインタ制御部２３１は、データの書込みと、ライトポインタの更新とを行い、全てのエンプティフラグを「０」にする。
【００７４】
なお、第２の変形例においてバッファが溢れた際にライトポインタ制御部２３１は、第１の変形例と同様の制御を行ってもよい。
【００７５】
図１３は、本技術の第１の実施の形態の第２の変形例におけるリードポインタ制御部２３２の動作の一例を示す図である。初期化要求時の第２の変形例のリードポインタ制御部２３２の動作は、第１の実施の形態と同様である。
【００７６】
リード要求が供給されると、第２の変形例のリードポインタ制御部２３２は、対応するエンプティフラグが「１」であるか否かによりバッファエンプティであるか否かを判断する。
【００７７】
バッファエンプティである場合における第２の変形例のリードポインタ制御部２３２の動作は、第１の実施の形態と同様である。一方、バッファエンプティでない場合にリードポインタ制御部２３２は、データの読出しと、対応するリードポインタの更新とを行い、ライトポインタと対応するリードポインタとが一致するか否かを判断する。一致するのであれば、リードポインタ制御部２３２は、対応するエンプティフラグを「１」に更新する。
【００７８】
図１４は、本技術の第１の実施の形態の第２の変形例におけるエンキュー処理の一例を示すフローチャートである。この第２の変形例のエンキュー処理は、ステップＳ９１１およびＳ９１４の代わりにステップＳ９１８およびＳ９１９を実行する点において第１の実施の形態と異なる。
【００７９】
第２の変形例のライトポインタ制御部２３１は、ライトポインタがいずれかのリードポインタと一致し、かつ、その一致するリードポインタに対応するエンプティフラグが「０」であるという条件が成立するか否かを判断する。この条件が成立する際にライトポインタ制御部２３１は、バッファフルと判定し、成立しない場合にバッファフルでないと判定する（ステップＳ９１８）。
【００８０】
また、ライトポインタ制御部２３１は、ライトポインタの更新（ステップＳ９１３）の後に、全てのエンプティフラグを「０」にする（ステップＳ９１９）。
【００８１】
図１５は、本技術の第１の実施の形態の第２の変形例におけるデキュー処理の一例を示すフローチャートである。この第２の変形例のエンキュー処理は、ステップＳ９３１およびＳ９３４の代わりにステップＳ９３６、Ｓ９３７およびＳ９３８を実行する点において第１の実施の形態と異なる。
【００８２】
第２の変形例のリードポインタ制御部２３２は、対応するエンプティフラグが「１」であるか否かによりバッファエンプティであるか否かを判断する（ステップＳ９３６）。
【００８３】
また、リードポインタ制御部２３２は、対応するリードポインタの更新（ステップＳ９３３）の後に、ライトポインタと対応するリードポインタとが一致するか否かを判断する（ステップＳ９３７）。一致する場合に（ステップＳ９３７：Ｙｅｓ）、リードポインタ制御部２３２は、対応するエンプティフラグを「１」に更新する（ステップＳ９３８）。一方、一致しない場合（ステップＳ９３７：Ｎｏ）またはステップＳ９３８の後に、リードポインタ制御部２３２は、デキュー処理を終了する。
【００８４】
このように、本技術の第１の実施の形態の第２の変形例によれば、ＦＩＦＯ制御回路２３０はデータ処理部ごとにエンプティフラグを保持するため、データ処理部ごとにデータ数情報を保持する構成と比較して管理情報保持部２４０の容量を削減することができる。
【００８５】
［第３の変形例］
上述の第１の実施の形態では、ＦＩＦＯ制御回路２３０は、データ数情報をデータ処理部１２０ごとに保持しておき、そのデータ数情報からバッファエンプティおよびバッファフルのそれぞれの状態を判断していた。しかし、データ処理部１２０の個数が増大するほど、管理情報保持部２４０の容量が増大してしまうおそれがある。この第１の実施の形態の第３の変形例におけるＦＩＦＯ制御回路２３０は、管理情報保持部２４０の容量を削減した点において第１の実施の形態と異なる。
【００８６】
図１６は、本技術の第１の実施の形態の第３の変形例における管理情報保持部２４０に保持されるデータの一例を示す図である。この第３の変形例の管理情報保持部２４０は、データ数情報保持部２４２の代わりに、フルフラグ保持部２４４を備える点において第１の実施の形態と異なる。
【００８７】
フルフラグ保持部２４４は、複数のデータ処理部１２０のそれぞれに対応付けてフルフラグを保持するものである。このフルフラグは、対応するデータ処理部１２０から見て、バッファフルであるか否かを示す。例えば、バッファフルである場合にフルフラグに「１」が設定され、そうでない場合に「０」が設定される。
【００８８】
図１７は、本技術の第１の実施の形態の第３の変形例におけるライトポインタ制御部２３１の動作の一例を示す図である。初期化要求が供給されると、ライトポインタ制御部２３１は、全てのフルフラグとライトポインタとを初期化する。
【００８９】
また、ライト要求が供給されると、第３の変形例のライトポインタ制御部２３１は、いずれかのフルフラグが「１」であるか否かによりバッファフルであるか否かを判断する。バッファフルである場合における第２の変形例のライトポインタ制御部２３１の動作は、第１の実施の形態と同様である。一方、バッファフルでない場合にライトポインタ制御部２３１は、データの書込みと、ライトポインタの更新とを行い、ライトポインタといずれかのリードポインタとが一致するか否かを判断する。一致するのであれば、ライトポインタ制御部２３１は、その一致するリードポインタに対応するフルフラグを「１」に更新する。
【００９０】
なお、第３の変形例においてバッファが溢れた際にライトポインタ制御部２３１は、第１の変形例と同様の制御を行ってもよい。
【００９１】
図１８は、本技術の第１の実施の形態の第３の変形例におけるリードポインタ制御部２３２の動作の一例を示す図である。初期化要求時の第３の変形例のリードポインタ制御部２３２の動作は、第１の実施の形態と同様である。
【００９２】
また、リード要求が供給されると、第３の変形例のリードポインタ制御部２３２は、ライトポインタが対応するリードポインタと一致し、かつ、対応するフルフラグが「０」であるという条件が成立するか否かを判断する。この条件が成立する際にリードポインタ制御部２３２は、バッファエンプティと判定し、成立しない場合にバッファエンプティでないと判定する。
【００９３】
バッファエンプティである場合における第３の変形例のリードポインタ制御部２３２の動作は、第１の実施の形態と同様である。一方、バッファエンプティでない場合にリードポインタ制御部２３２は、データの読出しと、リードポインタの更新とを行い、対応するフルフラグを「０」にする。
【００９４】
なお、第３の変形例において、ＦＩＦＯメモリ２００は、データ処理部１２０ごとにエンプティフラグに加えてフルフラグを保持し、そのフルフラグに基づいてバッファフルであるか否かを判断してもよい。
【００９５】
図１９は、本技術の第１の実施の形態の第３の変形例におけるエンキュー処理の一例を示すフローチャートである。この第３の変形例のエンキュー処理は、ステップＳ９１１およびＳ９１４の代わりに、ステップＳ９２０、Ｓ９２１およびＳ９２２を実行する点において第１の実施の形態と異なる。
【００９６】
第３の変形例のライトポインタ制御部２３１は、いずれかのフルフラグが「１」であるか否かによりバッファフルであるか否かを判断する（ステップＳ９２０）。
【００９７】
また、ライトポインタ制御部２３１は、ライトポインタの更新（ステップＳ９１３）の後に、ライトポインタといずれかのリードポインタとが一致するか否かを判断する（ステップＳ９２１）。いずれかが一致する場合に（ステップＳ９２１：Ｙｅｓ）、ライトポインタ制御部２３１は、その一致するリードポインタに対応するフルフラグを「１」に更新する（ステップＳ９２２）。一方、いずれも一致しない場合（ステップＳ９２１：Ｎｏ）またはステップＳ９２２の後に、ライトポインタ制御部２３１は、エンキュー処理を終了する。
【００９８】
図２０は、本技術の第１の実施の形態の第３の変形例におけるデキュー処理の一例を示すフローチャートである。この第３の変形例のデキュー処理は、ステップＳ９３１およびＳ９３４の代わりに、ステップＳ９３９およびＳ９４０を実行する点において第１の実施の形態と異なる。
【００９９】
第３の変形例のリードポインタ制御部２３２は、ライトポインタが対応するリードポインタと一致し、かつ、対応するフルフラグが「０」であるという条件が成立するか否かを判断する。この条件が成立する際にリードポインタ制御部２３２は、バッファエンプティと判定し、成立しない場合にバッファエンプティでないと判定する（ステップＳ９３９）。
【０１００】
また、リードポインタ制御部２３２は、リードポインタの更新（ステップＳ９３３）の後に、対応するフルフラグを「０」にする（ステップＳ９４０）。
【０１０１】
このように、本技術の第１の実施の形態の第３の変形例によれば、ＦＩＦＯ制御回路２３０はデータ処理部ごとにフルフラグを保持するため、データ処理部ごとにデータ数情報を保持する構成と比較して、管理情報保持部２４０の容量を削減することができる。
【０１０２】
［第４の変形例］
上述の第１の実施の形態では、ＦＩＦＯ制御回路２３０は、データ処理部１２０ごとのリードポインタを管理情報保持部２４０に保持していたが、データ処理部１２０の個数が多くなるほど、管理情報保持部２４０の容量が増大してしまう。この第１の実施の形態の第４の変形例のＦＩＦＯ制御回路２３０は、管理情報保持部２４０の容量を削減した点において第１の実施の形態と異なる。
【０１０３】
図２１は、本技術の第１の実施の形態の第４の変形例における管理情報保持部２４０に保持されるデータの一例を示す図である。この第４の変形例の管理情報保持部２４０は、ポインタ保持部２４１にライトポインタのみを保持し、リードポインタを保持しない点において第１の実施の形態と異なる。
【０１０４】
図２２は、本技術の第１の実施の形態の第４の変形例におけるリードポインタ制御部２３２の動作の一例を示す図である。リード要求が供給され、バッファエンプティでない場合にリードポインタ制御部２３２は、対応するデータ数とライトポインタとから、対応するリードポインタを生成する。例えば、ライトポインタをインクリメントにより更新していた場合、対応するデータ数をライトポインタから減算した値が、リードポインタの示すエントリ番号となる。そして、リードポインタ制御部２３２は、生成したリードポインタの示すエントリからデータを読み出し、データ数を減分する。これにより、対応するリードポインタが更新される。
【０１０５】
また、第４の変形例におけるリードポインタ制御部２３２のバッファエンプティの際の動作は、第１の実施の形態と同様である。また、第４の変形例では、初期化要求時にリードポインタ制御部２３２がリードポインタを初期化する必要はない。なお、第４の変形例においてバッファが溢れた際にライトポインタ制御部２３１は、第１の変形例と同様の制御を行ってもよい。
【０１０６】
図２３は、本技術の第１の実施の形態の第４の変形例におけるデキュー処理の一例を示すフローチャートである。この第４の変形例のデキュー処理は、ステップＳ９３３の代わりにステップＳ９４１を実行する点において第１の実施の形態と異なる。
【０１０７】
バッファエンプティでない場合（ステップＳ９３１：Ｎｏ）にリードポインタ制御部２３２は、対応するデータ数とライトポインタとから、対応するリードポインタを生成する（ステップＳ９４１）。そして、リードポインタ制御部２３２は、そのリードポインタの示すエントリからデータを読み出し（ステップＳ９３２）、データ数を減分する（ステップＳ９３４）。
【０１０８】
このように、本技術の第１の実施の形態の第４の変形例によれば、ＦＩＦＯ制御回路２３０は、リードポインタを保持せずにリード要求のたびにライトポインタからリードポインタを生成するため、管理情報保持部２４０の容量を削減することができる。
【０１０９】
［第５の変形例］
上述の第１の実施の形態では、ＦＩＦＯ制御回路２３０は、データ処理部１２０にバッファエンプティのみを通知していたが、データ処理部１２０に他の通知を行うこともできる。例えば、ＦＩＦＯ制御回路２３０は、読出し可能なデータ数が閾値を超えたときに、そのデータに対する処理について割込みを要求する通知をデータ処理部１２０に行ってもよい。割込みの通知を受けたデータ処理部１２０が、ＦＩＦＯメモリ２００から読み出したデータに対する処理を他の処理に割り込ませて実行することにより、ＦＩＦＯメモリ２００からデータが溢れることを抑制することができる。この第１の実施の形態の第５の変形例のＦＩＦＯ制御回路２３０は、読出し可能なデータ数が閾値を超えたときに割込みを要求する点において第１の実施の形態と異なる。
【０１１０】
図２４は、本技術の第１の実施の形態の第５の変形例におけるＦＩＦＯ制御回路２３０の一構成例を示すブロック図である。この第５の変形例のＦＩＦＯ制御回路２３０は、割込み通知部２３３をさらに備える点において第１の実施の形態と異なる。
【０１１１】
割込み通知部２３３は、読出し可能なデータ数が閾値を超えたときに、ＦＩＦＯメモリ２００から読み出したデータに対する処理について割込みを要求する割込み通知をデータ処理部１２０に供給するものである。データ数と比較するための閾値は、複数のデータ処理部１２０のそれぞれに対応付けて予め管理情報保持部２４０に保持される。これらの閾値は、データ生成部１１０やデータ処理部１２０などにより設定される。割込み通知部２３３は、それぞれのデータ数と、対応する閾値とを比較し、いずれかのデータ数が対応する閾値を超えると、そのデータ数に対応するデータ処理部１２０に割込み通知を供給する。
【０１１２】
図２５は、本技術の第１の実施の形態の第５の変形例における管理情報保持部２４０に保持されるデータの一例を示す図である。第４の変形例の管理情報保持部２４０は、割込み閾値保持部２４５をさらに備える点において第１の実施の形態と異なる。
【０１１３】
割込み閾値保持部２４５は、複数のデータ処理部１２０のそれぞれに対応付けて、データ数と比較するための閾値を保持するものである。いずれかのデータ数が、対応する閾値を超えたときに割込み通知が供給される。
【０１１４】
このように、本技術の第１の実施の形態の第５の変形例によれば、ＦＩＦＯ制御回路２３０は、読出し可能なデータ数が閾値を超えたときに割込みを要求するため、ＦＩＦＯメモリ２００からデータが溢れることを抑制することができる。
【０１１５】
［第６の変形例］
上述の第１の実施の形態の第５の変形例では、データ生成部１１０およびデータ処理部１２０は、ＦＩＦＯメモリ２００で読出し可能なデータ数などのステータスを参照することができなかった。しかし、ＦＩＦＯメモリ２００がステータスを生成してデータ生成部１１０およびデータ処理部１２０に通知する構成とすれば、データ生成部１１０等は、そのステータスを参照することができる。この第１の実施の形態の第６の変形例のＦＩＦＯメモリ２００は、ステータスを通知する点において第５の変形例と異なる。
【０１１６】
図２６は、本技術の第１の実施の形態の第６の変形例におけるＦＩＦＯ制御回路２３０の一構成例を示すブロック図である。この第６の変形例のＦＩＦＯ制御回路２３０は、ステータス管理部２３４をさらに備える点において第５の変形例と異なる。
【０１１７】
ステータス管理部２３４は、ＦＩＦＯメモリ２００のステータスを生成してデータ生成部１１０またはデータ処理部１２０に通知するものである。ここで、第５の変形例のデータ生成部１１０およびデータ処理部１２０は、ステータスの通知を要求することができる。その要求に応じて、ステータス管理部２３４は、ステータスを生成して要求元に通知する。ステータスは、例えば、複数のデータ処理部１２０のそれぞれについてのデータ数情報、エンプティフラグ、フルフラグ、バッファアンダーランフラグおよびバッファオーバーフローフラグ、割込みフラグのうち少なくとも１つを含む。ここで、バッファアンダーランフラグは、バッファエンプティの状態で、リード要求が行われたか否かを示す。また、バッファオーバーフローフラグは、バッファフルの状態で、ライト要求が行われたか否かを示す。割込みフラグは、割込み通知が供給されたか否かを示す。これらのフラグは、読出しポート（データ処理部１２０）ごとに生成される。
【０１１８】
このように、本技術の第１の実施の形態の第６の変形例によれば、ＦＩＦＯ制御回路２３０がステータスを通知するため、データ生成部１１０やデータ処理部１２０は、そのステータスを参照して適切にデータを処理することができる。
【０１１９】
［第７の変形例］
上述の第１の実施の形態では、複数のデータ処理部１２０のそれぞれと、ＦＩＦＯメモリ２００とは信号線により接続されていたが、データ処理部１２０の個数が多くなると信号線の配線が複雑になるおそれがある。この第１の実施の形態の第７の変形例における情報処理装置１００は、配線を簡易化した点において第１の実施の形態と異なる。
【０１２０】
図２７は、本技術の第１の実施の形態の第７の変形例における情報処理装置１００の一構成例を示すブロック図である。この第７の変形例の情報処理装置１００は、バス１３０をさらに備える点において第１の実施の形態と異なる。
【０１２１】
バス１３０は、複数のデータ処理部１２０と、データ生成部１１０と、ＦＩＦＯメモリ２００とが互いにデータや制御情報をやり取りする共通の経路である。データ処理部１２０、データ生成部１１０およびＦＩＦＯメモリ２００のそれぞれは、バス１３０に接続される。
【０１２２】
このように、本技術の第１の実施の形態の第７の変形例によれば、複数のデータ処理部１２０はバス１３０を介してＦＩＦＯメモリ２００に接続されるため、データ処理部１２０のそれぞれを信号線により接続する構成と比較して配線を簡易にすることができる。
【０１２３】
［第８の変形例］
上述の第１の実施の形態では、ＦＩＦＯ制御回路２３０は、入力インターフェース２１０と出力インターフェース２５０とを介してデータを入出力していたが、これらのインターフェースを１つの入出力インターフェースに統合してもよい。この第１の実施の形態の第８の変形例のＦＩＦＯ制御回路２３０は、１つの入出力インターフェースを介してデータを入出力する点において第１の実施の形態と異なる。
【０１２４】
図２８は、本技術の第１の実施の形態の第８の変形例におけるＦＩＦＯメモリ２００の一構成例を示すブロック図である。この第７の変形例のＦＩＦＯメモリ２００は、入力インターフェース２１０および出力インターフェース２５０の代わりに入出力インターフェース２１１を備える点において第１の実施の形態と異なる。
【０１２５】
入出力インターフェース２１１は、データ生成部１１０およびデータ処理部１２０と、ＦＩＦＯデータ保持部２２０およびＦＩＦＯ制御回路２３０との間でデータおよび制御情報をやり取りするものである。
【０１２６】
このように、本技術の第１の実施の形態の第８の変形例によれば、ＦＩＦＯメモリ２００に入出力インターフェース２１１を設けたため、ＦＩＦＯ制御回路２３０は、その入出力インターフェース２１１を介してデータを入出力することができる。
【０１２７】
［第２の実施の形態］
上述の第２の実施の形態では、ＦＩＦＯメモリ２００は、データが生成された時刻を保持していなかったが、そのデータを処理する際に時刻が必要となる場合もある。例えば、データ処理部１２０が、加速度データおよびＧＰＳ（Global Positioning System）データを同期させる際に、それらのデータが生成された時刻を取得する必要が生じる。この第２の実施の形態のＦＩＦＯメモリ２００は、データが生成された時刻をさらに保持する点において第１の実施の形態と異なる。
【０１２８】
図２９は、本技術の第２の実施の形態における情報処理装置１００の一構成例を示すブロック図である。この第２の実施の形態の情報処理装置１００は、リアルタイムクロック１４０を備える点において第１の実施の形態と異なる。
【０１２９】
リアルタイムクロック１４０は、現在時刻を示す時刻情報を生成するものである。また、第２の実施の形態において、データ生成部１１０として、データ生成部＃０および＃１が設けられ、リアルタイムクロック１４０としてリアルタイムクロック＃０および＃１が設けられる。さらに、ＦＩＦＯメモリ２００としてＦＩＦＯメモリ＃０、＃１および＃２が設けられ、データ処理部１２０としてデータ処理部＃０、＃１、＃２、＃３および＃４が設けられる。
【０１３０】
データ生成部＃０は、例えば、ＧＰＳモジュールであり、ＧＰＳ衛星からデータを受信するたびに、そのデータをＧＰＳデータとしてＦＩＦＯメモリ＃０にライト要求とともに供給する。
【０１３１】
ＦＩＦＯメモリ＃０は、ライト要求に応じて、ＧＰＳデータと、リアルタイムクロック＃０により生成された時刻情報とを保持する。
【０１３２】
データ処理部＃０は、ＧＰＳデータおよび時刻情報をＦＩＦＯメモリ＃０から読み出して、それらを処理するものである。このデータ処理部＃０は、例えば、時間ごとのＧＳＰデータの履歴を作成する処理を行う。
【０１３３】
データ生成部＃１は、例えば、加速度センサであり、加速度を測定するたびに、測定値を示す加速度データをＦＩＦＯメモリ＃１にライト要求とともに供給する。
【０１３４】
ＦＩＦＯメモリ＃１は、ライト要求に応じて、ＧＰＳデータと、リアルタイムクロック＃１により生成された時刻情報とを保持する。
【０１３５】
データ処理部＃１は、ＧＳＰデータおよび加速度データを同期させて処理するものである。例えば、データ処理部＃１は、ＧＰＳデータの受信感度が一定値より高い場合には、そのＧＰＳデータから位置情報を生成する。一方、受信感度が一定値以下の場合にデータ処理部＃１は、高感度で受信した直近のＧＰＳデータと、そのＧＰＳデータの受信時刻から現在時刻までの加速度データとに基づいて位置情報を生成する。このように、加速度データでＧＰＳデータを補間することにより、高精度な位置情報が得られる。データ処理部＃１は、生成した位置情報を高精度位置情報として時刻情報とともにＦＩＦＯメモリ＃２に書き込む。
【０１３６】
データ処理部＃２は、加速度データおよび時刻情報をＦＩＦＯメモリ＃１から読み出して、それらを処理するものである。このデータ処理部＃１は、例えば、時間ごとの加速度データを解析して情報処理装置１００を携帯するユーザの歩数を計数する。データ処理部＃１は、歩数を時刻情報毎に生成して、歩数および時刻情報をデータ処理部＃４に供給する。
【０１３７】
データ処理部＃３は、高精度位置情報および時刻情報をＦＩＦＯメモリ＃２から読み出して、それらを処理するものである。例えば、データ処理部＃３は、それぞれの高精度位置情報の示す位置を地図上に表示する処理や、高精度位置情報の履歴を作成する処理などを行う。
【０１３８】
データ処理部＃４は、高精度位置情報および時刻情報をＦＩＦＯメモリ＃２から読み出し、それらと歩数および時刻情報とを処理するものである。例えば、データ処理部＃４は、高精度位置情報と歩数とを時刻情報により対応付けて、高精度位置情報の示す位置ごとの歩数を地図上に表示する処理や、高精度位置情報および歩数の履歴を作成する処理などを行う。
【０１３９】
なお、情報処理装置１００に、データ生成部１１０およびリアルタイムクロック１４０を２個ずつ、ＦＩＦＯメモリ２００を３個、データ処理部１２０を５個設けているが、それぞれの個数は、実現する機能に応じて適宜変更することができる。
【０１４０】
図３０は、本技術の第２の実施の形態におけるＦＩＦＯデータ保持部２２０の一構成例を示す図である。この第２の実施の形態のＦＩＦＯデータ保持部２２０は、バッファデータ保持領域２２１および時刻情報保持領域２２２を備える。
【０１４１】
バッファデータ保持領域２２１には、複数のエントリが設けられ、それぞれにデータが保持される。時刻情報保持領域２２２は、エントリごとに時刻情報が保持される領域である。
【０１４２】
図３１は、本技術の第２の実施の形態におけるライトポインタ制御部２３１の動作の一例を示す図である。この第２の実施の形態のライトポインタ制御部２３１の動作は、データを書き込む際に、時刻情報とともに書き込む点以外は、第１の実施の形態と同様である。
【０１４３】
図３２は、本技術の第２の実施の形態におけるリードポインタ制御部２３２の動作の一例を示す図である。この第２の実施の形態のリードポインタ制御部２３２の動作は、データを読み出す際に、時刻情報とともに読み出す点以外は、第１の実施の形態と同様である。
【０１４４】
図３３は、本技術の第２の実施の形態における情報処理装置１００の動作の一例を示すフローチャートである。この動作は、例えば、所定のアプリケーションが実行されたときに開始する。
【０１４５】
情報処理装置１００は、ＧＰＳデータおよび時刻情報を生成し（ステップＳ９５１）、その一方、加速度データおよび時刻情報を生成する（ステップＳ９５２）。そして、情報処理装置１００は、加速度データから歩数を算出し（ステップＳ９５３）、ＧＰＳデータおよび加速度データから高精度位置情報を生成する（ステップＳ９５４）。情報処理装置１００は、また、ＧＰＳデータを処理し（ステップＳ９５５）、高精度位置情報と歩数とを時刻情報により対応付けて処理する（ステップＳ９５６）。また、情報処理装置１００は、高精度位置情報を処理する（ステップＳ９５７）。
【０１４６】
このように、本技術の第２の実施の形態によれば、ＦＩＦＯメモリ２００がデータを時刻情報とともに保持するため、情報処理装置１００は、複数の種類のデータを時刻情報に対応付けて処理を行うことができる。
【０１４７】
［変形例］
上述の第２の実施の形態では、ＦＩＦＯメモリ２００は、エントリごとに時刻情報を保持していたが、エントリ数が多いほど、時刻情報の保持に必要なメモリ容量が増大してしまう。この第２の実施の形態の変形例のＦＩＦＯメモリ２００は、メモリ容量を削減した点において第２の実施の形態と異なる。
【０１４８】
図３４は、本技術の第２の実施の形態の変形例におけるＦＩＦＯデータ保持部２２０の一構成例を示す図である。このＦＩＦＯデータ保持部２２０は、時刻情報保持領域２２２に、最新の時刻情報のみを保持する点において第２の実施の形態と異なる。ライトポインタの示すエントリの直前のエントリには、最新のデータが書き込まれているため、このデータに対応する時刻情報のみが保持される。この最新の時刻情報は、データが書き込まれるたびに更新される。例えば、ライトポインタ制御部２３１は、ライトポインタの示すエントリにデータＤ６および時刻情報Ｔ６を書き込む際に、時刻情報保持領域２２２に、その時刻情報Ｔ６を保持する。ライトポインタ制御部２３１は次いで、データＤ７および時刻情報Ｔ７を書き込む際に、時刻情報保持領域２２２の時刻情報をＴ７に更新する。
【０１４９】
図３５は、本技術の第２の実施の形態の変形例におけるリードポインタ制御部２３２の動作の一例を示す図である。この第２の実施の形態のリードポインタ制御部２３２は、時刻情報を必要に応じて生成する点において第１の実施の形態と異なる。前述したように、時刻情報保持領域２２２には、最新の時刻情報しか保持されていない。このため、リードポインタ制御部２３２は、リードポインタの示すエントリに対応する時刻情報が最新のものでない場合、その対応する時刻情報を、最新の時刻情報から生成する。データ生成部１１０がデータを生成する周期をＰとし、読出し可能なデータ数をＮとし、最新の時刻情報の示す時刻をＴｃすると、対応する時刻情報の示す時刻Ｔｒは、次の式１により求められる。時刻Ｔｃ、時刻Ｔｒ、および周期Ｐの単位は、例えば、秒である。
Ｔｒ＝Ｔｃ−Ｐ×（Ｎ−１）                ・・・式１
【０１５０】
図３６は、本技術の第２の実施の形態の変形例におけるデキュー処理の一例を示すフローチャートである。この第２の実施の形態のデキュー処理は、ステップＳ９４１、Ｓ９４２およびＳ９４３をさらに実行する点において第１の実施の形態と異なる。
【０１５１】
リードポインタ制御部２３２は、リード要求に応じてデータを読み出し（ステップＳ９３２）、リードポインタの示すエントリに対応する時刻情報がＦＩＦＯデータ保持部２２０に保持されているか否かを判断する（ステップＳ９４１）。保持されている場合に（ステップＳ９４１：Ｙｅｓ）リードポインタ制御部２３２は、その時刻情報を読み出す（ステップＳ９４２）。一方、保持されていない場合に（ステップＳ９４１：Ｎｏ）リードポインタ制御部２３２は、対応する時刻情報を式１などを用いて生成する（ステップＳ９４３）。ステップＳ９４２またはＳ９４３の後に、リードポインタ制御部２３２は、ステップＳ９３３以降を実行する。
【０１５２】
このように、本技術の第２の実施の形態の第２の変形例によれば、ＦＩＦＯメモリ２００は、最新の時刻情報のみを保持するため、エントリごとに時刻情報を保持する場合と比較して、メモリ容量を削減することができる。
【０１５３】
なお、上述の実施の形態は本技術を具現化するための一例を示したものであり、実施の形態における事項と、特許請求の範囲における発明特定事項とはそれぞれ対応関係を有する。同様に、特許請求の範囲における発明特定事項と、これと同一名称を付した本技術の実施の形態における事項とはそれぞれ対応関係を有する。ただし、本技術は実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において実施の形態に種々の変形を施すことにより具現化することができる。
【０１５４】
また、上述の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えてもよく、また、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。この記録媒体として、例えば、ＣＤ（Compact Disc）、ＭＤ（MiniDisc）、ＤＶＤ（Digital Versatile Disc）、メモリカード、ブルーレイディスク（Blu-ray（登録商標）Disc）等を用いることができる。
【０１５５】
なお、本明細書に記載された効果はあくまで例示であって、限定されるものではなく、また、他の効果があってもよい。
【０１５６】
なお、本技術は以下のような構成もとることができる。
（１）各々にデータが保持される複数のエントリが設けられた先入れ先出しデータ保持部に対してデータ書込みが要求されると前記複数のエントリのうちライトポインタの示すエントリにデータを書き込んで前記ライトポインタを更新するライトポインタ制御部と、
互いに異なる読出し部に対応付けられた複数のリードポインタのうちデータ読出しを要求した前記読出し部に対応するリードポインタの示す前記エントリから前記データを読み出して前記対応するリードポインタを更新するリードポインタ制御部と
を具備する先入れ先出し制御回路。
（２）前記ライトポインタ制御部は、前記データ書込みが要求されるたびに現在の時刻を前記データとともに前記先入れ先出しデータ保持部にさらに書き込む
前記（１）記載の先入れ先出し制御回路。
（３）前記データ保持部は、前記エントリごとに前記時刻を保持し、
前記リードポインタ制御部は、前記リードポインタの示す前記エントリに対応する前記時刻を前記先入れ先出しデータ保持部からさらに読み出す
前記（２）記載の先入れ先出し制御回路。
（４）前記データ保持部は、前記書き込まれた時刻のうち最新の時刻のみを最新時刻として保持し、
前記リードポインタ制御部は、前記リードポインタの示す前記エントリに対応する時刻が保持されていない場合には前記対応する時刻を前記最新時刻から生成する
前記（２）記載の先入れ先出し制御回路。
（５）前記ライトポインタ制御部は、前記先入れ先出しデータ保持部からデータが溢れると前記データを書き込まずにバッファフル応答を供給する
前記（１）から（４）のいずれかに記載の先入れ先出し制御回路。
（６）前記ライトポインタ制御部は、前記先入れ先出しデータ保持部からデータが溢れるとバッファフル応答を供給して前記ライトポインタの示すエントリにデータを書き込み、前記ライトポインタおよび前記リードポインタを更新する
前記（１）から（４）のいずれかに記載の先入れ先出し制御回路。
（７）前記読出し部により読み出されていない前記データの個数を示すデータ数情報を前記読出し部ごとに保持するデータ数情報保持部をさらに具備し、
前記ライトポインタ制御部は、前記先入れ先出しデータ保持部からデータが溢れたか否かを前記データ数情報に基づいて判断し、
前記リードポインタ制御部は、前記読出し部により読み出すことのできる前記データが存在しないか否かを前記読出し部に対応する前記データ数情報に基づいて判断する
前記（１）から（６）のいずれかに記載の先入れ先出し制御回路。
（８）前記リードポインタ制御部は、前記読出し部に対応する前記データ数情報と前記ライトポインタとから前記リードポインタを生成する
前記（７）記載の先入れ先出し制御回路。
（９）前記読出し部により読み出すことのできる前記データが存在しないか否かを示すエンプティフラグを前記読出し部ごとに保持するエンプティフラグ保持部をさらに具備し、
前記ライトポインタ制御部は、前記先入れ先出しデータ保持部からデータが溢れたか否かを前記読出し部に対応する前記エンプティフラグと前記ライトポインタおよび前記対応するリードポインタとに基づいて判断し、
前記リードポインタ制御部は、前記読出し部により読み出すことのできる前記データが存在しないか否かを前記読出し部に対応する前記エンプティフラグに基づいて判断する
前記（１）から（６）のいずれかに記載の先入れ先出し制御回路。
（１０）前記先入れ先出しデータ保持部からデータが溢れたか否かを示すフルフラグを前記読出し部ごとに保持するフルフラグ保持部をさらに具備し、
前記ライトポインタ制御部は、前記先入れ先出しデータ保持部からデータが溢れたか否かを前記読出し部に対応する前記フルフラグに基づいて判断し、
前記リードポインタ制御部は、前記読出し部により読み出すことのできる前記データが存在しないか否かを前記読出し部に対応する前記フルフラグと前記ライトポインタおよび前記対応するリードポインタとに基づいて判断する
前記（１）から（６）のいずれかに記載の先入れ先出し制御回路。
（１１）所定の閾値を前記読出し部ごとに保持する閾値保持部をさらに具備し、
前記リードポインタ制御部は、前記読出し部により読み出されていない前記データの個数が前記読出し部に対応する前記所定の閾値を超えると前記データに対する処理について割込みを前記読出し部に要求する
前記（１）から（１０）のいずれかに記載の先入れ先出し制御回路。
（１２）各々にデータが保持される複数のエントリが設けられた先入れ先出しデータ保持部と、
前記先入れ先出しデータ保持部に対してデータ書込みが要求されると前記複数のエントリのうちライトポインタの示すエントリにデータを書き込んで前記ライトポインタを更新するライトポインタ制御部と、
互いに異なる読出し部に対応付けられた複数のリードポインタのうちデータ読出しを要求した前記読出し部に対応するリードポインタの示す前記エントリから前記データを読み出して前記対応するリードポインタを更新するリードポインタ制御部と
を具備する記憶装置。
（１３）前記記憶装置のステータスの通知が要求されると前記ステータスを生成するステータス管理部をさらに具備する
前記（１２）記載の記憶装置。
（１４）各々にデータが保持される複数のエントリが設けられた先入れ先出しデータ保持部に対してデータ書込みが要求されると前記複数のエントリのうちライトポインタの示すエントリにデータを書き込んで前記ライトポインタを更新するライトポインタ制御手順と、
互いに異なる読出し部に対応付けられた複数のリードポインタのうちデータ読出しを要求した前記読出し部に対応するリードポインタの示す前記エントリから前記データを読み出して前記対応するリードポインタを更新するリードポインタ制御手順と
を具備する先入れ先出し制御回路の制御方法。
【符号の説明】
【０１５７】
１００  情報処理装置
１１０  データ生成部
１２０  データ処理部
１３０  バス
１４０  リアルタイムクロック
２００  ＦＩＦＯメモリ
２１０  入力インターフェース
２１１  入出力インターフェース
２２０  ＦＩＦＯデータ保持部
２２１  バッファデータ保持領域
２２２  時刻情報保持領域
２３０  ＦＩＦＯ制御回路
２３１  ライトポインタ制御部
２３２  リードポインタ制御部
２３３  割込み通知部
２３４  ステータス管理部
２４０  管理情報保持部
２４１  ポインタ保持部
２４２  データ数情報保持部
２４３  エンプティフラグ保持部
２４４  フルフラグ保持部
２４５  割込み閾値保持部
２５０  出力インターフェース
【図１】
2017013931.tif 000003
【図２】
2017013931.tif 000004
【図３】
2017013931.tif 000005
【図４】
2017013931.tif 000006
【図５】
2017013931.tif 000007
【図６】
2017013931.tif 000008
【図７】
2017013931.tif 000009
【図８】
2017013931.tif 000010
【図９】
2017013931.tif 000011
【図１０】
2017013931.tif 000012
【図１１】
2017013931.tif 000013
【図１２】
2017013931.tif 000014
【図１３】
2017013931.tif 000015
【図１４】
2017013931.tif 000016
【図１５】
2017013931.tif 000017
【図１６】
2017013931.tif 000018
【図１７】
2017013931.tif 000019
【図１８】
2017013931.tif 000020
【図１９】
2017013931.tif 000021
【図２０】
2017013931.tif 000022
【図２１】
2017013931.tif 000023
【図２２】
2017013931.tif 000024
【図２３】
2017013931.tif 000025
【図２４】
2017013931.tif 000026
【図２５】
2017013931.tif 000027
【図２６】
2017013931.tif 000028
【図２７】
2017013931.tif 000029
【図２８】
2017013931.tif 000030
【図２９】
2017013931.tif 000031
【図３０】
2017013931.tif 000032
【図３１】
2017013931.tif 000033
【図３２】
2017013931.tif 000034
【図３３】
2017013931.tif 000035
【図３４】
2017013931.tif 000036
【図３５】
2017013931.tif 000037
【図３６】
2017013931.tif 000038
【国際調査報告】
2017013931.tif 000039
2017013931.tif 000040
2017013931.tif 000041