(57)【特許請求の範囲】
【請求項１】
データ処理システム（２０）であって：
命令アドレスを発生し、命令を処理し、該命令の１つが前記命令アドレスの１つに対応する中央演算装置（２２）；
前記中央演算装置（２２）に結合され、命令を供給および受信するメイン・メモリ（２４）；
前記中央演算装置（２２）および前記メイン・メモリ（２４）に結合され、前記命令を受信するキャッシュ・メモリ（２６）であって：
命令を格納する第１部分（３２）；および
有効ビットを格納する第２部分（３４）；
を備え、前記第１部分（３２）内に格納されている現命令の有効ビットが、以前の命令の命令アドレスの前記第２部分（３４）に格納され、前記有効ビットは前記現命令が前記キャッシュ・メモリまたは前記メイン・メモリから供給されるべきか否かを判定するために用いられる前記キャッシュ・メモリ（２６）；ならびに
前記中央演算装置（２２）および前記キャッシュ・メモリ（２６）に結合され、前記キャッシュ・メモリのアクティブ化およびインアクティブ化を制御する状態機械（３０）であって、該状態機械（３０）は制御信号を受け、かつ該制御信号に応じて、前記キャッシュ・メモリ（２６）をアクティブ化し、アドレス比較機能を用いることなく、前記中央演算装置（２２）に命令を供給する状態機械（３０）；
を具備することを特徴とするデータ処理システム（２０）。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一般的にデータ処理に関し、更に特定すれば、データ処理システムにおけるキャッシュおよびそのための方法に関するものである。
【０００２】
【従来の技術】
マイクロプロセッサおよびマイクロコントローラの設計における電力消費削減は、携帯用およびハンドへルド用途の幅広い普及のために、重要性を獲得している。典型的な埋め込み制御システムは、通常、中央演算装置（ＣＰＵ），ならびに多種多様のメモリおよび周辺素子を含む。異なるタイプのメモリが、マイクロコントローラを有する集積回路外部、および／または同一集積回路上に設けられることがあり、キャッシュ・メモリ，ＲＯＭ（リード・オンリ・メモリ），および種々のＳＲＡＭ（スタティック・ランダム・アクセス・メモリ）素子を含むことができる。
【０００３】
大容量の外部メイン・メモリにアクセスするには、大量のエネルギおよび時間を必要とする。したがって、時にはキャッシュと呼ばれる、より小型、高速かつ効率的なメモリを集積回路上で用いれば、メイン・メモリへのアクセス回数を減らすことができる。また、集積回路のサイズをできるだけ小さく保つためには、集積回路上に含ませるメモリは必要十分なものだけにする。
【０００４】
キャッシュＴＡＧは、キャッシュの処理能力を高めるために頻繁に用いられている。キャッシュＴＡＧは、マイクロプロセッサによって供給されるＴＡＧアドレスを受信し、要求された命令および／またはデータがキャッシュ・メモリ内にあるか否かについて判定を行う。要求された命令がキャッシュ内にない場合、マイクロプロセッサはメイン・メモリからその命令を読み出さなければならない。命令をキャッシュに書き込む際、この命令のアドレスの上位ビットは、ＴＡＧアレイに格納される。また、キャッシュＴＡＧは、プロセッサが発生したアドレスをＴＡＧアドレスと比較する比較器を有する。ＴＡＧアドレスおよびプロセッサが発生したアドレスが同じ場合、キャッシュ「ヒット」が得られ、キャッシュＴＡＧによって一致信号が供給され、要求されたデータがキャッシュ・メモリ内に位置することを示す。プロセッサが発生したアドレスとＴＡＧアドレスが同一でない場合、キャッシュ「ミス」が発生し、一致信号は、要求されたデータがキャッシュ・メモリ内に位置しないことを示す。加えて、ＴＡＧアドレスの一部として有効ビットをセットし、キャッシュの比較サイクルの間、格納されたＴＡＧアドレスの有効なヒットを評価することも可能である。
【０００５】
尚、William C. Moyer et al. による、"DISTRIBUTED TAG CACHE MEMORY SYSTEM AND METHOD FOR STORING DATA IN THE SAME" と題し、弁理士整理番号SC09334Aを有する関連出願が本願と同時に出願され、同一譲受人に譲渡されている。
【０００６】
【発明が解決しようとする課題】
高性能マイクロプロセッサのメモリ・システムには、いくつかのレベルの階層を設け、命令およびデータ読み出し効率を高める場合がある。ＣＰＵが命令およびデータを読み出すために消費する電力は、典型的に、メモリ・システムの別のレベルから命令およびデータを取り込む場合に多くなる。したがって、メモリの他のレベルへのメモリ取り込み回数を減らすことが、電力消費削減、特に、電池給電式機器の用途では望ましい。
【０００７】
また、用途によっては、実行時間の大部分を小さなプログラム・ループ上でしばしば費やすものがある。かかる用途の一例は、デジタル信号処理用フィルタの実施であろう。これらの命令の全てまたは一部のためにメイン・メモリに繰り返しアクセスする必要がある場合、電力消費および実行速度双方に悪影響を与えることになる。したがって、繰り返しメイン・メモリにアクセスする必要性を回避しつつ、同時にキャッシュを実施するために必要な表面積を縮小することによって、かかる小ループの実行に伴う電力消費を削減し、実行速度を上昇させることが望ましい。
【０００８】
【課題を解決するための手段】
概して言えば、本発明は、キャッシュを有するデータ処理システムを提供する。キャッシュは「ＴＡＧレス(TAGless) 」であり、即ち、従来のキャッシュのようにＴＡＧアドレスを格納するためのＴＡＧアレイを用いない。また、現命令に対する有効ビットを以前の命令と関連付ける有効ビット・アレイを備え、キャッシュの読み取りの間、次の命令に対する有効ビットを、現命令を読み取るために用いるのと同じインデックスを用いてチェックすることによって、ＴＡＧレス・キャッシュのための簡単な先取り機構(look ahead feature)を提供する。
一実施例によれば、このキャッシュは、フロー変化( ＣＯＦ) 命令に応答して、キャッシュをアクティブ状態に遷移させるために状態機械を用いる。フロー変化命令は、所定の変位未満の短い後方分岐（ＳＢＢ:short backward branch）である。所定の変位は、キャッシュ内のエントリ数未満であるので、キャッシュに全体的に収容可能なループをプログラムが実行している限り、キャッシュはアクティブ状態であり続けることができる。本発明によるキャッシュ・メモリは、例えば、通信用途におけるフィルタ機能のように、時間の切れ目なく膨大な回数繰り返される短いループを有するプログラムに有用である。キャッシュは「ＴＡＧレス」であるので、ＴＡＧアレイおよび比較器は不要となり、集積回路上に必要な表面積が縮小する。
【０００９】
【発明の実施の形態】
図１ないし図４を参照しながら、本発明について更に詳しく説明する。尚、「アサート」および「ニゲート」という用語は、それぞれ、信号，ステータス・ビット，または同様の機構をその論理真または論理虚状態にすることに言及する場合に用いる。論理真状態がデジタル論理レベル１である場合、論理虚状態はデジタル論理レベル０となる。また、論理真状態がデジタル論理レベル０である場合、デジタル虚状態はデジタル論理レベル１となる。
【００１０】
図１は、本発明によるデータ処理システム２０をブロック図形状で示す。データ処理システム２０は、中央演算装置（ＣＰＵ）２２，メイン・メモリ２４，ＴＡＧレス・ループ・キャッシュ２６，マルチプレクサ２８，および状態機械３０を含む。通常、ＣＰＵ２２は複数の命令アドレスを発生する。命令アドレスは、メイン・メモリ２４およびループ・キャッシュ２６に供給される。各命令アドレスはＭビットから成り、Ｍは整数である。Ｍ−Ｐで示すように、Ｍビットの一部のみがループ・キャッシュ２６に供給される。ここで、ＰはＭより小さい整数であり、命令アドレスの大域ＴＡＧ部分(global TAG portion)を表わし、Ｍ−ＰはＩＮＤＥＸ部分である。大域ＴＡＧ部分は、ＴＡＧアレイを有する従来のキャッシュ・メモリにおいて用いられるＴＡＧアドレスと同様である。
【００１１】
状態機械３０を用いて、メイン・メモリ２４またはループ・キャッシュ２６のどちらが命令をＣＰＵ２２に供給するのかを判定し制御する。命令アドレスに応答して、メイン・メモリ２４またはループ・キャッシュ２６は、命令アドレスＭに対応して、マルチプレクサ２８を通じてＣＰＵ２２に命令を供給する。メイン・メモリ２４が命令をＣＰＵ２２に供給する場合、"DATA IN" と称する命令もループ・キャッシュ２６に供給される。命令がループ・キャッシュ２６によって供給されると状態機械３０が判定した場合、命令アドレスＭ−Ｐに対応する、"DATA"と称する命令がＣＰＵ２２に供給される。尚、他の実施例では、ループ・キャッシュ２６は、例えば、ＣＰＵ２２の代わりに、別のデータ処理または格納ユニットに命令を供給する場合もあることを注記しておく。
【００１２】
どこから命令を読み出すべきかを判定するために、状態機械３０は”ＣＯＦ”(change of flow:流れの変化）と称する制御信号，および”ＳＢＢＩ”(short backward branch instruction：短後方分岐命令) と称する制御信号を受信する。ＣＰＵ２２は、ある命令アドレスが一連の命令アドレス内における非連続命令アドレスであるとの判定に応答して、制御信号ＣＯＦを状態機械に供給する。ループ・キャッシュ２６は２つの制御ビットを状態機械３０に供給する。制御ビットの一方は"TRIGGERING SBB"と称し、他方の制御ビットは"VALID BIT" と称する。また、状態機械３０は、ループ・キャッシュ・ヒット信号，およびマルチプレクサ２８を制御するための"LOOP CACHE HIT AND ACTIVE" と称するアクティブ化信号も供給する。状態機械３０は、ループ・キャッシュ２６へのアクセスのタイプを制御するためのリード信号やライト信号のように、"CONTROL" と称する他の制御信号を供給する。
【００１３】
ループ・キャッシュ２６は、アクティブおよびインアクティブという２つの状態を有する。ループ・キャッシュ２６がアクティブ状態にある場合、データをループ・キャッシュ２６から読み出し、マルチプレクサ２８を介してＣＰＵ２２に供給することができる。ループ・キャッシュ２６がインアクティブ状態にある場合、データはマルチプレクサ２８を介してメイン・メモリ２４からＣＰＵ２２に供給され、同時に、データをメイン・メモリ２４から供給し、ループ・キャッシュ２６に書き込むことができる。ループ・キャッシュ２６が機能し、種々の信号に応答する態様については、図２ないし図４を参照しながら後に更に詳しく説明する。
【００１４】
状態機械３０は、制御信号ＣＯＦおよびＳＢＢＩを用いてループ・キャッシュ２６を制御することにより、ＴＡＧアドレスを格納するためのＴＡＧアレイを有する必要性をなくした。データ処理システム２０は、通信システムにおけるフィルタ機能、またはその他の計算集約的なデジタル信号処理機能を与える命令のように、多数回反復されるループを含む命令を実行する場合が最も効率的となる。ループ・キャッシュ２６は、ループの命令全てを含む程大きいので、ループはループ・キャッシュ２６内部から完全に実行可能である。ＣＰＵ２２がループ・キャッシュ２６内に納まるループを検出した場合、ループを判定する命令に、トリガリングＳＢＢビットを用いて、印を付ける、即ち、この命令を示す。その時点で、次の命令をＴＡＧレス・ループからＣＰＵ２２に供給する。命令アドレスのＩＮＤＥＸ部分（Ｍ−Ｐ）のみがループ・キャッシュ２６に供給され、トリガリングＳＢＢが、ＣＰＵ２２がループ・キャッシュ内部から命令を実行していることを判定するので、ＴＡＧアドレスおよび別個のＴＡＧアレイは、データ処理システム２０内には不要となる。また、各命令を読み出す毎のＴＡＧ比較サイクルも不要となる。図示した実施例によれば、メイン・メモリ２４は、ループ内にない命令のためにアクセスされるので、ループ・キャッシュ２６は、ループ・キャッシュ２６内部から完全に実行可能な、時間の切れ目がないループ(tight loop)内で実行時間の殆どを費やすような用途において最も有用である。
【００１５】
ＴＡＧアレイを用いずにデータ処理システム内にキャッシュを実施することによって、集積回路の表面積が縮小されるので、集積回路のコスト低減および複雑度減少も得ることができる。加えて、ＴＡＧアレイへのアクセスが全くなくなるので、データ処理システムにおける電力消費も減少する。
【００１６】
図２は、図１のループ・キャッシュ２６を更に詳細に示す。ループ・キャッシュ２６は、図２では、３つの部分、即ち、"DATA IN" と称する命令を格納するための第１部分３２，第１部分３２に収容された命令各々に対応する有効ビットを格納するための第２部分３４，および状態機械３０から受信された短後方分岐(SBB) ビットを格納するための第３部分３６を有するものとして図示されている。また、ループ・キャッシュ２６は、ラッチ３８およびマルチプレクサ４０も含む。ラッチ３８は、命令アドレスのINDEX 部分を受信するための複数の入力端子と、マルチプレクサ４０の複数の第１入力端子に結合されている複数の出力端子とを有する。また、マルチプレクサ４０の複数の第２入力端子もINDEX 部分を受信する。マルチプレクサ４０の複数の出力端子は、第２部分３４にアドレスするために用いられる。
【００１７】
第２部分３４は、マルチプレクサ４０の出力からINDEX を受信したことに応答してVALID BIT を供給するための出力端子を有する。第１部分３２は、メイン・メモリからの命令を受信するための複数の入力端子と、INDEX の受信に応答して命令を供給する複数の出力端子とを有する。第１部分３２は、"1" ないし"N+1" で示された複数のエントリを有する。各エントリは１つ以上の命令を含んでもよいことを注記しておく。しかしながら、第１部分３２内のエントリ数は、本発明を説明する目的のためには重要ではなく、特定の用途に対して適切な数であればいずれでも可能であることも注記しておく。第２部分３４および第３部分３６は、第１部分３２のエントリ数に対応する数のエントリを有する。第２部分３４は有効ビットを格納し、先に述べたように、有効ビットは、第１部分３２に格納された命令に対する先取り機能を実行するために用いられる。第１部分３２内の各エントリに対応して、第２部分３４内に有効ビットがある。この有効ビットは、対応する命令が有効な場合にアサートされ、逆に、対応する命令が無効の場合、有効ビットはニゲートされる。
【００１８】
先取り機能を実行するために、各INDEX は、ループ・キャッシュ２６へのライト処理の間にラッチ３８にラッチされる。ライト信号はマルチプレクサ４０を制御し、状態機械３０によって供給される。ライト処理の間、第２部分３４は、ラッチ３８内に格納されているINDEX によってアドレスされる。先取り機能を与えるために、ラッチに格納されているINDEX は、一連の命令における直前の命令であり、次のINDEX を用いて第１部分３２にアドレスするのと同時に供給される。一例として、インデックスが、図２に示すように、ライト動作の間にN+1 で示すエントリにアドレスする場合、第２部分３４のエントリN を指し示す、"WRITE" で示す破線によって示すように、マルチプレクサ４０の出力は、エントリN に対応するエントリにアドレスする。
【００１９】
ループ・キャッシュ２６のリード処理の間、状態機械３０からのライト制御信号WRITE がニゲートされ、第１部分３２，第２部分３４，および第３部分３６のエントリN+1 における実線の矢印を用いて図２に示すように、次のインデックスを用いて第１部分３２，第２部分３４，および第３部分３６にアドレスする。読み出される命令は、現命令アドレスに対応し、一方、次の連続命令アドレスに対応する有効ビットが、同じINDEX と同時に読み出される。こうして、データ処理システム２０のＴＡＧレス・ループ・キャッシュに対する命令の有効性判断のために、先取り機構を設ける。
【００２０】
尚、この先取り機構は、有効ビット・アレイを有するいかなるキャッシュとでも使用可能であることを注記しておく。この際、キャッシュがＴＡＧアレイを有するタイプであるか否かは無関係である。これによって、図１に示すメイン・メモリ２４のように、メモリ・システムにおける次のレベルの階層の選択的アクティブ化が可能となり、アクセス毎に次のレベルを自動的にアクティブ化する必要性を回避する。その結果、データ処理システムの電力消費の大幅な削減が可能となる。また、先取り機構は、従来の先取り機構のない主要キャッシュによって誘発される、命令ストリームにおける失速(stall) もなくすことができる。なぜなら、従来のキャッシュは、それがメモリ・システム内の次のレベルの階層にアクセスしなければならないか否かを決定する前に、当該命令が有効であるか否かを調べるために待つ必要があるからである。
【００２１】
要求された命令がループ・キャッシュ２６内に格納されていない場合、メイン・メモリへのアクセスを行う。命令がＣＰＵ２２に供給されるのと同時に、ループ・キャッシュ２６にも命令は書き込まれる。エントリが第１部分３２のある位置に書き込まれると、対応する有効ビットがアサートされ、当該エントリが有効であり、第２部分３４の以前の位置に対応する位置に配置されたことを示す。トリガリングＳＢＢは、「取り込まれた(taken) 」ＳＢＢＩであり、ループ・キャッシュ２６をアクティブ化する。トリガリングＳＢＢが検出された場合、ＳＢＢＩ命令に対応するSBB エントリが第３部分３６においてセットされる。
【００２２】
第１部分３２において一度に１つのエントリのみに、トリガリングＳＢＢを用いて印する(mark)ことができる。この単一のトリガリングＳＢＢビットは、図１ではTRIGGERING SBBと示されている。
【００２３】
図３は、図１の状態機械３０の動作を説明するための状態図である。図３に示すように、状態機械３０は２つの動作状態、即ち、（１）データをメイン・メモリ２４から供給すべきことを示すインアクティブ状態、および（２）データをループ・キャッシュ２６からＣＰＵ２２に供給可能であることを示すアクティブ状態を有する。また、図３には、状態機械３０が一方の状態から他方の状態に遷移するため、または状態機械３０がその現状態に留まるために、満足しなければならない条件も示されている。状態機械３０がインアクティブ状態４０からアクティブ状態４２に遷移するためには、ＣＰＵ２２からの制御ビットＣＯＦをアサートし、ＣＰＵ２２からのＳＢＢＩビットをアサートする。状態機械３０は、トリガリングＳＢＢおよびアサートされたＣＯＦがある場合、またはニゲートされたＣＯＦがある場合、ループ・キャッシュ２６をアクティブ状態に維持する。状態機械３０は、トリガリングＳＢＢビットおよびニゲートされたＣＯＦがある場合、またはＣＯＦがアサートされ、第２部分３４にトリガリングＳＢＢビットがない場合に、ループ・キャッシュ２６をアクティブ状態４２からインアクティブ状態４０に遷移させる。状態機械３０は、ＣＯＦがニゲートされているか、あるいはＳＢＢＩがニゲートされている場合、ループ・キャッシュ２６をインアクティブ状態４０に維持する。
【００２４】
図４は、図１のループ・キャッシュ２６にアクセスするためのフロー・チャートを示す。ステップ４３において、第２部分３４の有効ビット全てをニゲートすることによって、ループ・キャッシュを無効化する。ステップ４４において、ＣＰＵ２２は次の命令アドレスを計算する。ステップ４６において、ループ・キャッシュ２６がアクティブ状態にあるか否かについて判定を行う。ループ・キャッシュ２６がアクティブ状態にある場合、判断ステップ４６からＹＥＳ経路を取り、判断ステップ４８に進む。判断ステップ４８において、以前の命令が、ＣＰＵ２２によって供給される一連の命令においてフローの変化(CＯＦ )を発生させたか否かについて判定を行う。フローの変化があった場合、判断ステップ４８からＹＥＳ経路を取り、判断ステップ５０に進む。判断ステップ５０において、ＣＯＦがトリガリングＳＢＢであるか否かについて判定を行う。フローの変化が、所定変位未満の後方分岐命令によって生じた場合、判断ブロック５０からＹＥＳ経路を取り、判断ステップ５２に進む。判断ステップ５２において、次の命令に対応する有効ビットを見ることにより、次のアドレスに対応する次の命令が有効な命令であるか否かについて判定を行う。次の命令に対する有効ビットがアサートされている場合、判断ステップ５２からＹＥＳ経路を取り、ステップ５４に進む。ステップ５４において、キャッシュ・メモリからＣＰＵ２２命令を供給し、実行する。
【００２５】
しかしながら、判断ステップ５２において、次の命令に対する有効ビットがアサートされていない場合、判断ステップ５２からＮＯ経路を取り、ステップ７０に進む。ステップ７０において、メイン・メモリから次の命令をループ・キャッシュ２６にロードし、次の命令の有効性を判断し、次の命令をＣＰＵ２２に供給し、実行する。ループ・キャッシュに命令がロードされたときはいつでも、対応する有効ビットがセットされる点注意すべきである。
【００２６】
再び判断ステップ５０を参照し、判断ステップ４８から判定されたフロー変化命令がトリガリングＳＢＢでなかった場合、ＮＯ経路を取ってステップ６８に進む。ステップ６８において、有効ビット・アレイである第２部分３４（図２）を無効化し、次の命令をメイン・メモリからＣＰＵ２２に供給し、ループ・キャッシュ２６にロードする。また、ループ・キャッシュ２６をインアクティブ状態４０（図３）に遷移させる。ステップ６８において、フローはステップ４４の開始に戻り、次の命令アドレスをＣＰＵ２２によって計算する。
【００２７】
再び判断ステップ４８を参照し、直前の命令がフロー変化命令でなかった場合、ＮＯ経路を取って、判断ステップ６６に進む。判断ステップ６６において、直前の命令が所定の変位の後方分岐（トリガリングＳＢＢ）を発生し、キャッシュ・メモリをアクティブ化させたか否かについて判定を行う。命令がトリガリングＳＢＢでなかった場合、判断ステップ６６からＮＯ経路を取り、判断ステップ５２に進む。直前の命令がトリガリングＳＢＢである場合、判断ステップ６６からＹＥＳ経路を取ってステップ６８に進み、前述のようにフローはステップ６８から続けられる。
【００２８】
再び、判断ステップ４６を参照し、ＮＯ経路を取って、ループ・キャッシュ２６がインアクティブ状態にあることを示した場合、判断ステップ５６において、フローの変化があったか否かについて判定を行う。判断ステップ５６において、直前のアドレスにフローの変化がなかった場合、ＮＯ経路を取ってステップ６２に進む。ステップ６２において、次の命令がメイン・メモリからＣＰＵ２２に供給される間に、ループ・キャッシュ２６に次の命令がロードされる。ステップ６２の後、フローは再びステップ４４から続けられる。
【００２９】
再び判断ステップ５６を参照し、直前の命令がフローの変化であった場合、ＹＥＳ経路を取って判断ステップ５８に進む。判断ステップ５８において、短後方分岐命令(SＢＢＩ )がＣＰＵ２２によってアサートされ、状態機械３０に供給されたか否かについて判定を行う。ＳＢＢＩがアサートされなかった場合、ＮＯ経路を取ってステップ６４に進み、ループ・キャッシュ２６は無効化され、ループ・キャッシュ２６およびＣＰＵ２２には、メイン・メモリ２４から次の命令が供給される。ステップ６４の後、プログラム・フローは再びステップ４４から続けられる。
【００３０】
再び判断ステップ５８を参照し、命令が短後方分岐命令であることが示された場合、ＹＥＳ経路を取ってステップ６０に進む。ステップ６０において、ループ・キャッシュ２６をアクティブ化し、ＳＢＢビットがトリガ分岐命令(triggering branch instruction) に対しセットされる。また、ループ・キャッシュ２６からＣＰＵ２２に次の命令を供給する。ステップ６０の後、プログラム・フローは再びステップ４４から続けられる。これらのステップは、命令アドレスがもはやなくなり、プログラム・フローが停止するときまで、次の命令アドレス毎に繰り返される。
【００３１】
以上、好適実施例の関連において本発明を説明したが、本発明は、多数の方法で変更が可能であり、先に具体的に詳述した実施例以外にも多数の実施例が想定可能であることは、当業者には明白であろう。したがって、本発明の真の精神および範囲に該当する本発明の変更は全て特許請求の範囲に含まれることを意図するものである。
【図面の簡単な説明】
【図１】本発明によるデータ処理システムを示すブロック図。
【図２】図１のループ・キャッシュを示すブロック図。
【図３】図１の状態機械の状態図。
【図４】本実施例による無ＴＡＧキャッシュ・メモリをアクティブ化する方法のフロー・チャート。
【符号の説明】
２０    データ処理システム
２２    中央演算装置（ＣＰＵ）
２４    メイン・メモリ
２６    ＴＡＧレス・ループ・キャッシュ
２８    マルチプレクサ
３０    状態機械
３２    第１部分
３４    第２部分
３６    第３部分
３８    ラッチ
４０    マルチプレクサ
【図１】
0004057114.tif 000002
【図２】
0004057114.tif 000003
【図３】
0004057114.tif 000004
【図４】
0004057114.tif 000005