(57)【要約】先入れ先出し（ＦＩＦＯ）メモリ・システム（１０）は、第１及び第２ＦＩＦＯ（Ａ及びＢ）を含む。第１及び第２マルチプレクサ（１２、１４）は、各々、データを受け取る２つの入力端子を有する。第１マルチプレクサ（１２）の出力端子が第１ＦＩＦＯ（Ａ）に結合され、第２マルチプレクサ（１４）の出力端子が第２ＦＩＦＯ（Ｂ）に結合されている。データが第１データ形式であることに応答して、ライト制御論理回路（９０、９５、１００）を用いて、第１及び第２ＦＩＦＯ（Ａ、Ｂ）にデータが交互に書き込まれる。データが第２データ形式であることに応答して、ライト制御論理回路（９０、９５、１００）を用いて、第１及び第２ＦＩＦＯ（Ａ、Ｂ）に同時にデータが書き込まれる。
2005505029.tif 000002
【特許請求の範囲】
【請求項１】
先入れ先出し（ＦＩＦＯ）メモリ・システムであって、
第１データ入力端子と、第２データ入力端子と、データ出力端子と、制御端子とを有する第１マルチプレクサと、
複数のエントリを有し、該複数のエントリの各々が、前記第１マルチプレクサのデータ出力端子に結合された入力端子を有する第１ＦＩＦＯメモリと、
前記第１マルチプレクサの第１データ入力端子に結合された第１データ入力端子と、前記第１マルチプレクサの第２データ入力端子に結合された第２データ入力端子と、データ出力端子と、制御端子とを有する第２マルチプレクサと、
複数のエントリを有し、該複数のエントリの各々が、前記第２マルチプレクサのデータ出力端子に結合された入力端子を有する第２ＦＩＦＯメモリと、
前記第１及び第２マルチプレクサの各々の前記制御端子にライト制御信号を供給し、前記第１及び第２データ入力のいずれかにおいて受け取ったデータを前記第１及び第２ＦＩＦＯメモリに交互に書き込むライト制御論理回路と、
を備えていることを特徴とするＦＩＦＯメモリ・システム。
【請求項２】
請求項１記載のＦＩＦＯメモリ・システムであって、更に、前記ライト制御論理回路に結合され、前記第１及び第２データ入力が第１データ形式を受けたことに応答して、前記ライト制御論理回路に、前記第１及び第２ＦＩＦＯメモリにデータを同時に書き込ませる同時エントリ論理回路を備えているＦＩＦＯメモリ・システム。
【請求項３】
請求項１記載のＦＩＦＯメモリ・システムであって、更に、
前記第１ＦＩＦＯメモリの複数のエントリの各々のデータ出力端子に結合された第１データ入力端子と、前記第２ＦＩＦＯメモリの複数のエントリのデータ出力端子に結合された第２データ入力端子と、制御端子とを有する第３マルチプレクサと、
前記第１ＦＩＦＯメモリの複数のエントリの各々のデータ出力端子に結合された第１データ入力端子と、前記第２ＦＩＦＯメモリの複数のデータ出力端子に結合された第２データ入力端子と、制御端子とを有する第４マルチプレクサと、
前記第３及び第４マルチプレクサの各々の前記制御端子にリード制御信号を供給するリード制御論理回路であって、データが書き込まれたときと同じ順序で、前記第１及び第２ＦＩＦＯメモリからデータを読み出させるリード制御論理回路と、
を備えているＦＩＦＯメモリ・システム。
【請求項４】
請求項１記載のＦＩＦＯメモリ・システムにおいて、前記データがリアル・タイム・デバッグ・メッセージとして特徴付けられたＦＩＦＯメモリ・システム。
【請求項５】
請求項１記載のＦＩＦＯメモリ・システムであって、更に、
前記第１ＦＩＦＯメモリにデータを書き込んでいる間、前記第１ＦＩＦＯメモリの複数のエントリの各々を順次指し示す第１カウンタと、
前記第２ＦＩＦＯメモリにデータを書き込んでいる間、前記第２ＦＩＦＯメモリの複数のエントリの各々を順次指し示す第２カウンタと、
を備えているＦＩＦＯメモリ・システム。
【請求項６】
請求項１記載のＦＩＦＯメモリ・システムにおいて、前記ライト制御論理回路が、
入力端子と出力端子とを有する反転器と、
前記反転器の出力端子に結合された入力端子と、前記反転器の入力端子に結合された出力端子とを有するフリップ・フロップであって、前記ライト制御信号を前記出力端子から供給する、フリップ・フロップと、
を備えているＦＩＦＯメモリ・システム。
【請求項７】
先入れ先出し（ＦＩＦＯ）メモリ・システムにアクセスする方法であって、前記ＦＩＦＯメモリ・システムが、第１ＦＩＦＯメモリ及び第２ＦＩＦＯメモリを有し、該第１及び第２ＦＩＦＯメモリの各々が複数のエントリを有し、前記第１ＦＩＦＯメモリの複数のエントリの各々の入力端子が第１マルチプレクサの出力端子に結合されており、前記第２ＦＩＦＯメモリの複数のエントリの各々の入力端子が第２マルチプレクサの出力端子に結合されており、前記方法が、
前記第１マルチプレクサの第１入力端子及び前記第２マルチプレクサの第１入力端子においてデータを受け取るステップと、
前記第１マルチプレクサの第２入力端子及び前記第２マルチプレクサの第２入力端子においてデータを受け取るステップと、
前記第１及び第２マルチプレクサの出力端子からの前記データを、前記第１及び第２ＦＩＦＯメモリに交互に書き込むステップと、
を備えていることを特徴とする方法。
【請求項８】
請求項７記載の方法において、第１及び第２カウンタの増分に応答して、前記第１及び第２ＦＩＦＯメモリの順次エントリに前記データが格納され、前記第１カウンタが前記第１ＦＩＦＯメモリに対応し、前記第２カウンタが前記第２ＦＩＦＯメモリに対応する方法。
【請求項９】
請求項７記載の方法において、前記交互に書き込むステップは、前記データが第１データ形式であることに応答して、前記第１及び第２マルチプレクサの出力端子から、前記第１及び第２ＦＩＦＯメモリに前記データが書き込まれる方法。
【請求項１０】
請求項７記載の方法であって、更に、前記データが第２データ形式であることに応答して、前記第１及び第２マルチプレクサの出力端子から、前記第１及び第２ＦＩＦＯメモリに前記データを書き込むステップを含む方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的に、メモリ・システム・ストレージを有する集積回路に関し、更に特定すれば、先入れ先出し（ＦＩＦＯ）メモリ構造を利用した集積回路に関する。
【背景技術】
【０００２】
集積回路のデータ処理システム上に実装されたリアル・タイム・デバッグ・システムでは、まずデバッグ・メッセージを格納した後、デバッグ・ツールにこのメッセージを出力する必要がある。デバッグ・メッセージを一時的に格納するためには、通常先入れ先出し（ＦＩＦＯ）メモリ・システムが用いられる。あるメッセージでは、同時に格納しなければならない多数のエントリを有する場合があり、また他のメッセージでは、個別に格納しなければならないエントリを有する場合もある。
【０００３】
同じＦＩＦＯ構造に両種類のメッセージを格納するためには、デュアル・ポートＦＩＦＯを用いることができ、あるいは別個の専用ＦＩＦＯを用いることもできる。しかしながら、デュアル・ポートＦＩＦＯは、両種類のメッセージの格納を可能にするにはエントリ毎にマルチプレクサが必要となるので、実現するには大きな表面積が必要となる。また、多数のマルチプレクサがあるため、マルチプレクサ選択線を制御するためにかなりの量のロジックも必要となり、これに対応して、ロジックの切換による電力消費増大が伴う。
【０００４】
ＦＩＦＯメモリ・システムを実現する別の方法として、２つの別個の専用ＦＩＦＯを用いることがあげられる。例えば、一方のＦＩＦＯがアドレス情報のみを受け取り、他方のＦＩＦＯがデータのみを受け取るようにすればよい。これには、集積回路上の表面積が狭くて済み、設計の複雑度が低下するという利点がある。しかしながら、デュアル・ポートＦＩＦＯと比較すると、これはＦＩＦＯ利用効率の低下を招く虞れがある。何故なら、ＦＩＦＯの一方が満杯になりオーバーフローしていても、他方のＦＩＦＯは満杯になっていないことが有り得るからである。
【０００５】
従って、格納領域を有効に利用するＦＩＦＯメモリ・システムを有することが望ましく、それを実行するために必要な制御論理を最小化できる。
【発明を実施するための最良の形態】
【０００６】
本発明は、添付図面に、限定としてではなく、一例として図示されている。図面では、同様の参照番号は同様の要素を示している。
図面における要素は、簡略化及び明確化のために図示されており、必ずしも同じ拡縮率で描かれている訳ではない。例えば、図面における要素の一部は、他の要素に対して誇張されており、本発明の実施形態の理解を深めるのに役立つようにしている場合もある。
【０００７】
図１に、本発明による先入れ先出し（ＦＩＦＯ）メモリ・システム１０を示す。一形態では、ＦＩＦＯメモリ・システム１０は、ＦＩＦＯ  Ａ及びＦＩＦＯ  Ｂとして図示した、２つのＦＩＦＯを有する。尚、ＦＩＦＯメモリ・システム１０は、いずれの数のＦＩＦＯを用いても実現可能であることは、当然言うまでもない。ＦＩＦＯ  Ａ及びＦＩＦＯ  Ｂの各々は、任意の数のストレージ・エントリを有することができる。ＦＩＦＯ  ＡはＮ個のエントリを有し、ＦＩＦＯＢはＭ個のエントリを有し、Ｎ及びＭは整数値であると仮定する。入力Ａがマルチプレクサ１２の第１入力と、マルチプレクサ１４の第１入力とに接続されている。入力Ｂが、マルチプレクサ１２の第２入力とマルチプレクサ１４の第２入力とに接続されている。フリップ・フロップ１６の出力に設けたＤ型フリップ・フロップ１６が、ＷＲＩＴＥ信号を供給し、これをマルチプレクサ１２及びマルチプレクサ１４の各々の制御入力に接続する。フリップ・フロップ１６の出力は、反転器１８の入力に接続されている。反転器１８の出力は、フリップ・フロップ１６のＤ入力に接続されている。マルチプレクサ１２の出力は、エントリ０、エントリ１からエントリＮまでのような、ＦＩＦＯ  Ａの各エントリに接続されている。マルチプレクサ１４の出力は、エントリ０、エントリ１からエントリＭまでのような、ＦＩＦＯ  Ｂの各エントリに接続されている。ＦＩＦＯ  Ａの各エントリは、出力端子も有し、この出力端子は互いに接続されると共に、マルチプレクサ２０の第１入力にも接続されている。ＦＩＦＯ  Ｂの各エントリも出力端子を有し、この出力端子は互いに接続されていると共に、マルチプレクサ２２の第１入力にも接続されている。ＦＩＦＯ  Ａの出力端子は、マルチプレクサ２０の第２入力にも接続されている。ＦＩＦＯ  Ｂの出力端子は、マルチプレクサ２０の第２入力にも接続されている。Ｄ型フリップ・フロップ２３は、ＲＥＡＤ制御信号を供給するＱ出力を有し、この出力Ｑはマルチプレクサ２０及びマルチプレクサ２２の各々の制御端子に接続されている。フリップ・フロップ２３の出力は、反転器２４の入力に接続されている。マルチプレクサ２０の出力は、入出力（Ｉ／Ｏ）ユニット２５の第１入力に接続されている。マルチプレクサ２２の出力は、入出力ユニット２５の第２入力に接続されている。入出力ユニットは、Ｉ／Ｏ端子（図示せず）とインターフェースする。
【０００８】
動作において、ＦＩＦＯメモリ・システム１０は、同時に多数のエントリに効率的に書き込みを行うことができる。マルチプレクサ１２またはマルチプレクサ１４のいずれかのような単一のマルチプレクサを、ＦＩＦＯ  ＡまたはＦＩＦＯ  Ｂのいずれかの各ライト・ポート即ち入力端子にそれぞれ配置している。説明の目的上、パケット形態の情報が、入力Ａ及び入力Ｂにおいて受け取られると仮定する。図２に関連付けて以下で説明するように、入力Ａまたは入力Ｂのいずれかから、ＦＩＦＯ  ＡまたはＦＩＦＯ  Ｂの内一方のみに、単一のパケット即ちデータの一部を書き込むことができる。
【０００９】
図１に示すように、入力Ａ及び入力Ｂからの２つのパケットまたはデータの一部を同時にＦＩＦＯ  Ａ及びＦＩＦＯ  Ｂに書き込むことができる。フリップ・フロップ１６は、１ビット・ライト・レジスタとして機能し、ＷＲＩＴＥ制御信号は、ＦＩＦＯ  ＡまたはＦＩＦＯ  Ｂの一方を指し示すために用いられる。ＷＲＩＴＥ制御信号が論理１の値を有する場合、マルチプレクサ１２は入力Ａを選択して出力として与え、マルチプレクサ１４は入力Ｂを選択して出力として与える。ＷＲＩＴＥ制御信号が論理０の値を有する場合、マルチプレクサ１２は入力Ｂを選択して出力として与え、マルチプレクサ１４は入力Ａを選択して出力として与える。更に、反転器１８は、フリップ・フロップ１６のクロック入力（図示せず）に接続されたライト・クロック信号（図示せず）に制御されてエントリ・ライト動作が１回行われる毎に、フリップ・フロップ１６の論理状態を反転させるように機能する。加えて、２回のライト動作を同時に実行することがＦＩＦＯメモリ・システム１０内の動作に必要とされる場合、フリップ・フロップ１６の論理状態は同一のままとなる。同時に書き込むためには、入力Ａ及び入力Ｂの各々からの情報を書き込めばよく、あるいは入力Ａまたは入力Ｂの一方のみに連続的に結合される情報をＦＩＦＯ  Ａ及びＦＩＦＯＢに書き込めばよい。１回のエントリ・リード動作と同様に、フリップ・フロップ２３は、１ビット・リード・レジスタとして機能し、ＲＥＡＤ制御信号を用いてＦＩＦＯ  ＡまたはＦＩＦＯ  Ｂの一方を指し示す。ＲＥＡＤ制御信号が論理１の値を有する場合、マルチプレクサ２０はＦＩＦＯ  Ａの出力を選択して出力として与え、マルチプレクサ２２はＦＩＦＯ  Ｂの出力を選択して出力として与える。ＲＥＡＤ制御信号が論理０の値を有する場合、マルチプレクサ２０はＦＩＦＯ  Ｂの出力を選択して出力として与え、マルチプレクサ２２はＦＩＦＯ  Ａの出力を選択して出力として与える。ＲＥＡＤ制御信号は、フリップ・フロップ２３のクロック入力（図示せず）に接続されたリード・クロック信号に応答して発生する。更に、反転器２４は、リード動作が１回行われる毎に、フリップ・フロップの論理状態を反転させるように機能する。加えて、２回のリード動作が同時に行われる場合、フリップ・フロップ２３の論理状態は同一のままとなる。フリップ・フロップ２３、反転器２４、ならびにマルチプレクサ２０及び２２は、ＦＩＦＯ  Ａ及びＦＩＦＯ  Ｂからの２つのパケット即ちデータの一部を同時に読み取ることができるように機能する。加えて、１つのパケット即ちデータの一部は、マルチプレクサ２０またはマルチプレクサ２２のいずれかからの出力を介して、いずれのＦＩＦＯからでも読み出すことができる。したがって、ＦＩＦＯメモリ・システム１０は、両種類の動作を遂行するために、同じＦＩＦＯメモリ構造を用いることができるので、所定の処理動作を実施するためには多数のエントリに同時に格納し、他の処理動作を実施するときには１つずつのエントリに格納するので、非常に効率的である。
【００１０】
ＦＩＦＯ毎に１つのマルチプレクサ回路のみを用いて各ＦＩＦＯに対してライト動作を行うことは、大きなコスト節約を意味する。ＦＩＦＯエントリ毎にマルチプレクサを設けることを回避するのに加えて、余分な制御回路も回避される。その結果、用いるマルチプレクサ数の削減により、電力消費が大幅に節約できる。更に、マルチプレクサを除去すると不要となる制御回路も取り除くために、その結果一層の電力節約となる。また、本発明は、多数のＦＩＦＯを用いるように拡張することができる。この場合、システムにおいて１回のライト動作及び同時ライト動作を実行するにはＦＩＦＯ毎にマルチプレクサが１つあればよく、システムにおいて１回のリード動作及び同時リード動作を実行するには、ＦＩＦＯ毎にマルチプレクサが１つあればよい。各ＦＩＦＯには、書き込む情報を供給するために１つのマルチプレクサだけを接続するが、入力Ａまたは入力Ｂのいずれからの情報でも、ＦＩＦＯ  ＡまたはＦＩＦＯ  Ｂのいずれに書き込むこともできる。尚、入力Ａ及び入力Ｂはデータ、アドレス情報、制御情報、または２つ以上の組み合わせの形態で情報を受け取り、格納することができるのは言うまでもない。加えて、「データ」という用語は、図示したＦＩＦＯに格納されるあらゆる形式の情報も包含することができる。
【００１１】
図２は、図１のＦＩＦＯメモリ・システム１０の一実施形態を更に詳しく示す。図２に示すように、ＦＩＦＯメモリ・システム３０も同様に、入力Ａ及び入力Ｂを有し、ＦＩＦＯ  ＡまたはＦＩＦＯ  Ｂあるいは双方に格納する情報を受け取る。マルチプレクサ３２は、入力Ａに接続された第１入力を有し、更に入力Ｂに接続された第２入力を有する。マルチプレクサ３４は、入力Ａに接続された第１入力を有し、更に入力Ｂに接続された第２入力を有する。マルチプレクサ３２の出力は、ＦＩＦＯ  Ａの複数のＮ個のエントリの各々に接続されている。ＦＩＦＯ  Ａの第１エントリは、フリップ・フロップ３５〜３８のような、複数のフリップ・フロップ回路を有する。ＦＩＦＯ  ＡのＮ番目のエントリは、フリップ・フロップ４５〜４８のような、複数のフリップ・フロップ回路を有する。フリップ・フロップ３５〜３８及び４５〜４８の各々は、マルチプレクサ３２の出力に接続されたＤ入力を有する。フリップ・フロップ３５〜３８の各々は、ＡＮＤゲート５０の第１入力に接続されたＱ出力を有する。ＡＮＤゲート５０の第２入力は、ＦＩＦＯ  Ａの最初のリード・イネーブル信号であることを意味する、ＲＥＡＤ  ＥＮＡＢＬＥ  Ａ（０）信号に接続されている。ＡＮＤゲート５１は、クロック信号を受け取る第１入力と、ＷＲＩＴＥ  ＥＮＡＢＬＥ  Ａ（０）信号（ＦＩＦＯ  Ａに対する最初のライト・イネーブル信号を意味する）を受ける第２入力と、フリップ・フロップ３５〜３８の各クロック入力に接続された出力とを有する。フリップ・フロップ４５〜４９の各々は、ＡＮＤゲート５３の第１入力に接続されたＱ出力を有する。ＡＮＤゲート５３の第２入力は、ＦＩＦＯ  ＡのＮ番目のリード・イネーブル信号を意味する、ＲＥＡＤ  ＥＮＡＢＬＥ  Ａ（Ｎ）信号に接続されている。ＡＮＤゲート５５は、クロック信号を受け取る第１入力と、ＷＲＩＴＥ  ＥＮＡＢＬＥ  ＡＮ信号（ＦＩＦＯ  Ａに対するＮ番目のライト・イネーブル信号を意味する）を受け取る第２入力と、フリップ・フロップ４５〜４８の各クロック入力に接続された出力とを有する。ＡＮＤゲート５０の出力は、ＡＮＤゲート５３の出力と、マルチプレクサ６０の第１入力と、マルチプレクサ６２の第１入力とに接続されている。マルチプレクサ６０の出力は、入出力（Ｉ／Ｏ）ユニット６４の第１入力に接続されている。
【００１２】
マルチプレクサ３４の出力は、ＦＩＦＯ  Ｂの複数のＭ個のエントリの各々に接続されている。ＦＩＦＯ  Ｂの第１エントリは、フリップ・フロップ７０〜７３のような、複数のフリップ・フロップ回路を有する。ＦＩＦＯ  ＢのＭ番目のエントリは、フリップ・フロップ７５〜７８のような、複数のフリップ・フロップ回路を有する。フリップ・フロップ７０〜７３及び７５〜７８の各々は、マルチプレクサ３４の出力に接続されたＤ入力を有する。フリップ・フロップ７０〜７３の各々は、ＡＮＤゲート８０の第１入力に接続されたＱ出力を有する。ＡＮＤゲート８０の第２入力は、ＦＩＦＯ  Ｂの最初のリード・イネーブル信号を意味する、ＲＥＡＤ  ＥＮＡＢＬＥ  Ｂ（０）信号に接続されている。ＡＮＤゲート８１は、クロック信号を受け取る第１入力と、ＷＲＩＴＥ  ＥＮＡＢＬＥ  Ｂ（０）信号（ＦＩＦＯ  Ｂに対する最初のライト・イネーブル信号を意味する）を受け取る第２入力と、フリップ・フロップ７０〜７３の各クロック入力に接続された出力とを有する。フリップ・フロップ７５〜７９の各々は、ＡＮＤゲート８３の第１入力に接続されたＱ出力を有する。ＡＮＤゲート８３の第２入力は、ＦＩＦＯ  ＢのＭ番目のリード・イネーブル信号を意味する、ＲＥＡＤ  ＥＮＡＢＬＥ  Ｂ（Ｍ）信号に接続されている。ＡＮＤゲート８５は、クロック信号を受け取る第１入力と、ＷＲＩＴＥ  ＥＮＡＢＬＥ  Ｂ（Ｍ）信号（ＦＩＦＯ  Ｂに対するＭ番目のライト・イネーブル信号を意味する）を受け取る第２入力と、フリップ・フロップ７５〜７８の各クロック入力に接続された出力とを有する。ＡＮＤゲート８０の出力は、ＡＮＤゲート８３の出力と、マルチプレクサ６０の第２入力と、マルチプレクサ６２の第２入力とに接続されている。マルチプレクサ６２の出力は、入出力（Ｉ／Ｏ）ユニット６４の第２入力に接続されている。入出力ユニット６４は、出力ポートに接続された出力を有する。一形態では、入出力ユニット６４の出力は、ＩＥＥＥ  ＩＳＴＯ  ５００１規格を履行する際のデバッグの目的で、Ｎｅｘｕｓに準拠したソフトウエア・ツールに接続されている。
【００１３】
加えて、ＦＩＦＯメモリ・システム３０は、ヘッド・カウンタ回路８８、テール・カウンタ回路８９、ライト制御論理回路９０、及びリード制御論理回路９１を、ＦＩＦＯ  Ａとの関連で有する。ＦＩＦＯメモリ・システム３０は、ヘッド・カウンタ９３、テール・カウンタ回路９４、ライト制御論理回路９５、及びリード制御論理回路９６を有する。ヘッド・カウンタ８８及びテール・カウンタ８９は、それぞれ、ライト制御論理回路９０及びリード制御論理回路９１の入力に接続された出力を有する。ライト制御論理回路９０の出力は、ＦＩＦＯ  Ａにライト・イネーブル信号を供給し、リード制御論理回路９１の第１出力はＦＩＦＯ  Ａにリード・イネーブル信号を供給する。ヘッド・カウンタ９３及びテール・カウンタ９４は、それぞれ、ライト制御論理回路９５及びリード制御論理回路９６の入力に接続された出力を有する。ライト制御論理回路９５の出力は、ＦＩＦＯ  Ｂにライト・イネーブル信号を供給し、リード制御論理回路９６の第１出力は、ＦＩＦＯ  Ｂにリード・イネーブル信号を供給する。リード制御論理回路９６の第２出力は、ライト制御論理回路９５の第２入力に接続されている。同時エントリ論理回路１００は、リード制御論理回路９１の第２入力と、ライト制御論理回路９０の第２入力と、ライト制御論理回路９５の第２入力と、ＡＮＤゲート１０１の第１入力と、ＡＮＤゲート１０２の第１入力と、リード制御論理回路９６の第２入力とに接続された出力を有する。クロック信号は、ＡＮＤゲート１０１及びＡＮＤゲート１０２の各々の第２入力に接続されている。ＡＮＤゲート１０１の出力は、フリップ・フロップ１０５のクロック入力に接続されている。フリップ・フロップ１０５のＱ出力は、ＲＥＡＤ信号を供給し、反転器１０６の入力に接続されている。反転器１０６の出力は、フリップ・フロップ１０５のＤ入力に接続されている。ＡＮＤゲート１０２の出力は、フリップ・フロップ１０８のクロック入力に接続されている。フリップ・フロップ１０８のＱ出力は、ＷＲＩＴＥ信号を供給し、反転器１０９の入力に接続されている。反転器１０９の出力は、フリップ・フロップ１０８のＤ入力に接続されている。
【００１４】
動作において、図２に詳しく示すように、ＦＩＦＯ  Ａ及びＦＩＦＯ  Ｂは、ＦＩＦＯ
Ａの第１エントリに対するフリップ・フロップ３５〜３８のように、複数のフリップ・フロップ回路を用いた特定のエントリを有する。図２に示すクロック信号は、同期クロックであり、図示した回路とは独立して発生され、同じクロック信号が、前述のクロック入力全てに用いられる。図１の動作と同様、マルチプレクサ３２が論理１状態のＷＲＩＴＥ制御信号を受け取ると、入力Ａがその出力に渡される。マルチプレクサ３２が論理０状態のＷＲＩＴＥ制御信号を受け取ると、入力Ｂがその出力に渡される。マルチプレクサ３４が論理１状態のＷＲＩＴＥ制御信号を受け取ると、入力Ｂがその出力に渡される。マルチプレクサ３４が論理０状態のＷＲＩＴＥ制御信号を受け取ると、入力Ａがその出力に渡される。同様に、ＲＥＡＤ制御信号が論理１状態にあるとき、マルチプレクサ６０はＦＩＦＯ  Ａの出力を受け渡し、マルチプレクサ６２はＦＩＦＯ  Ｂの出力を受け渡す。ＲＥＡＤ制御信号が論理０状態にあるとき、マルチプレクサ６０はＦＩＦＯ  Ｂの出力を受け渡し、マルチプレクサ６２はＦＩＦＯ  Ａの出力を受け渡す。
【００１５】
図示のように、ヘッド・カウンタ８８は、ＦＩＦＯ  Ａにおいて指定した先頭のエントリを指し示す順次計数値を保持するように機能し、テール・カウンタ８９は、ＦＩＦＯ  Ａにおいて指定した最後のエントリを指し示す順次計数値を保持するように動作する。ＦＩＦＯ  Ａは、巡回キューとして機能し、先頭アドレスと終端アドレスとを有する。終端アドレスまで達すると先頭アドレスに戻る。ライト制御論理回路９０及びリード制御論理回路９１は、ＦＩＦＯ  Ａと連動し、ヘッド・カウンタ及びテール・カウンタを用いて、部分的に、いつライト動作またはリード動作をイネーブルすべきかを制御する。ライト制御論理回路９０及びリード制御論理回路９１の出力は、多数の導体から成り、その各々がＦＩＦＯ  Ａの個々のエントリに対応する。ヘッド・カウンタ８８及びテール・カウンタ８９の出力は、ＦＩＦＯ  Ａに対するポインタとして機能する。何故なら、これら２つの出力は、ＦＩＦＯ  Ａ内のどのエントリに対してライトまたはリードが行われているかについて、それぞれ判定するからである。ＦＩＦＯ  Ｂについても、ヘッド・カウンタ９３、テール・カウンタ９４、ライト制御論理回路９５、及びリード制御論理回路９６に関して同様の動作が行われる。
【００１６】
同時エントリ論理回路１００は、ＦＩＦＯメモリ・システム３０において、いつＦＩＦＯ  Ａ及びＢ双方に対する同時ライト動作を行うべきか、いつＦＩＦＯ  Ａ及びＢ双方に対する同時リード動作を行うべきか、いつＦＩＦＯ  ＡまたはＢの一方にライト動作を行い、他方のＦＩＦＯにリード動作を行うべきか、いつＦＩＦＯ  ＡまたはＢの一方の１つのエントリに対してリード動作を行い、同じＦＩＦＯの別のエントリにライト動作を行うべきか、そしていつＦＩＦＯ  Ａ及びＢ双方に対するライト動作を、ＦＩＦＯ  Ａ及びＢ内の異なるエントリに対して行うリード動作と同時に行うべきか、検出するように機能する。同時に複数のエントリ動作をいつ行うべきか知らせるイベント及び機構は多数ある。例えば、あるデータ処理システムでは、ある種の命令をデコードし、プロセッサ（図示せず）が同時多数ＦＩＦＯ動作を行うことを指令することができる。一形態では、ＦＩＦＯ
Ａ及びＦＩＦＯ  Ｂと通信するデータは、データ処理デバッグ機能に関連するリアル・タイム・デバッグ・メッセージである。同時エントリ動作は、１つ以上のＦＩＦＯに対する多数のリード及びライト・ネーブル信号の発生によって遂行される。同時エントリ・イベントがある場合、ＡＮＤゲート１０１及び１０２がインアクティブとなって、フリップ・フロップ１０５及び１０８へのクロックを動作不能にする。フリップ・フロップ１０５及び１０８を動作不能にすると、図１に関連付けて既に論じたように、マルチプレクサ３２及び３４がＦＩＦＯ  Ａ及びＢ間で切り換える動作が禁止される。切換動作を動作不能にすることによって、同時エントリ・イベントが開始する前に、同じＦＩＦＯで次のエントリにアクセスすることが可能となる。
【００１７】
以上の説明から、オーバーヘッドを簡略化し、電力消費を低減したＦＩＦＯメモリ構造が提供されたことが認められるはずである。ここに教示したＦＩＦＯメモリ・システムは、小型であり、コスト削減及び電力節約をもたらす。一用法では、本発明は、処理システムに共通に実装されているデバッグ回路に特に有効である。多数の情報エントリに同時に格納する必要があるので、この機能に伴う制御及び回路は、本発明を用いることによって、大幅に削減される。尚、本発明は、デバッグに関する以外の目的でＦＩＦＯストレージ構造を利用する処理システムにおいても使用可能であることは勿論言うまでもない。加えて、本発明は、あらゆる種類のトランジスタ、及びあらゆる種類の半導体製造プロセスを用いても実施可能である。
【００１８】
本発明を実施する装置は、殆どの部分において、当業者には公知の電子部品及び回路で構成されているので、回路の詳細については、先に例示したように、本発明の基礎となる概念の理解及び認識のために必要と見なされる以上には説明せず、本発明の教示がわかりにくくなったり、これから逸脱することがないようにした。
【００１９】
本明細書では、具体的な実施形態を参照しながら本発明の説明を行った。しかしながら、特許請求の範囲に明示した本発明の範囲から逸脱することなく、種々の修正や変更が可能であることを当業者は認識できるであろう。したがって、本明細書及び図面は、限定的な意味ではなく、例示的な意味で解釈することとし、かかる修正は全て本発明の範囲に含まれることを意図している。
【００２０】
具体的な実施形態に関して、効果、その他の利点、及び問題に対する解決策について説明した。しかしながら、効果、利点、問題に対する解決策、及びいずれの効果、利点または解決策をもたらす、または一層際立たせるいずれの要素（複数の要素）も、いずれのまたは全ての請求項の重要な、必要な、または必須の特徴としては解釈しないこととする。ここで用いる場合、「備える」、「備えている」またはその他のあらゆる派生語は、非排他的包含に該当することを意図しており、要素のリストを構成するプロセス、方法、品目、または装置は、これらの要素を含むだけでなく、明示的には掲示されていないその他の要素、あるいはこのようなプロセス、方法、品目、または装置には固有のその他の要素も含むこととする。
【図面の簡単な説明】
【００２１】
【図１】本発明の一実施形態による先入れ先出しメモリ・システムをブロック図形態で示す図。
【図２】図１の先入れ先出しメモリ・システムの更なる詳細をブロック図形態で示す図。
【図１】
2005505029.tif 000003
【図２】
2005505029.tif 000004
【国際公開パンフレット】
2005505029.tif 000005
2005505029.tif 000006
2005505029.tif 000007
2005505029.tif 000008
2005505029.tif 000009
2005505029.tif 000010
2005505029.tif 000011
2005505029.tif 000012
2005505029.tif 000013
2005505029.tif 000014
2005505029.tif 000015
2005505029.tif 000016
2005505029.tif 000017
2005505029.tif 000018
2005505029.tif 000019
2005505029.tif 000020
2005505029.tif 000021
2005505029.tif 000022
2005505029.tif 000023
2005505029.tif 000024
2005505029.tif 000025
2005505029.tif 000026
【国際公開パンフレット（コレクトバージョン）】
2005505029.tif 000027
【国際調査報告】
2005505029.tif 000028
2005505029.tif 000029
2005505029.tif 000030