JP2005513612A - 有限状態機械制御コードを選択的に用いるプロセッサアーキテクチャ - Google Patents

有限状態機械制御コードを選択的に用いるプロセッサアーキテクチャ Download PDF

Info

Publication number
JP2005513612A
JP2005513612A JP2003553412A JP2003553412A JP2005513612A JP 2005513612 A JP2005513612 A JP 2005513612A JP 2003553412 A JP2003553412 A JP 2003553412A JP 2003553412 A JP2003553412 A JP 2003553412A JP 2005513612 A JP2005513612 A JP 2005513612A
Authority
JP
Japan
Prior art keywords
fsm
microinstruction
digital processor
control circuit
memory
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
JP2003553412A
Other languages
English (en)
Inventor
ポール エル. マスター,
ダブリュー. ジェームス シェウアーマン,
Original Assignee
クイックシルバー テクノロジー、インコーポレイテッド
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 クイックシルバー テクノロジー、インコーポレイテッド filed Critical クイックシルバー テクノロジー、インコーポレイテッド
Publication of JP2005513612A publication Critical patent/JP2005513612A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • G06F9/30189Instruction operation extension or modification according to execution mode, e.g. mode flag
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/223Execution means for microinstructions irrespective of the microinstruction function, e.g. decoding of microinstructions and nanoinstructions; timing of microinstructions; programmable logic arrays; delays and fan-out problems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
    • G06F9/325Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for loops, e.g. loop detection or loop counter

Abstract

マイクロ命令を実行するマイクロコード命令キャッシュと組み合わせた有限状態機械を含むマイクロプロセッサアーキテクチャである。通常、頻繁に繰り返してループされた演算の短いシーケンスを生じるマイクロ命令が有限状態機械(FSM)で実施される。FSMを使用することは、キャッシュまたはレジスタセットで命令をループさせるよりもよりエネルギー効率が良い。さらに、キャッシュまたは他のメモリ指向アプローチの柔軟性は、マイクロコード命令を実行する際に、依然として利用可能である。マイクロ命令は、IDタグによって(キャッシュ演算とは対する)FSM演算として特定される。

Description

(発明の背景)
本出願は、概して、デジタルプロセッシングに関し、より詳細には、プロセッサの電力消費を減少させるデジタルプロセッサマイクロアーキテクチャに関する。
マイクロプロセッサ設計の電力消費を減少させることは、より多くの携帯用デジタル処理アプリケーション(例えば、セルラー電話、パーソナルデジタルアシスタント(PDA)、ポケットブックコンピュータ)の増加が評判となるにつれて、より重要となっている。また、デジタルプロセッサがより高速になり、プロセス技術がより高密度の設計を可能にするにつれて、新しいプロセッサ設計で現れる実効キャパシタンス、Ceffが増加する。この増加したCeff実効キャパシタンスは、所望の速度を達成するために異常に高い電力量を必要とし得る。プロセッサのマイクロ格納装置、キャッシュ、バッファ、レジスタおよび他の領域で重要なランダムアクセスメモリ(RAM)および読み出し専用メモリ(ROM)を含む従来のプロセッサのアーキテクチャは、実効Ceffにより妨げられる高速スイッチングの必要条件により、より多くの電力を必要とすることが、近年予測されている。
従来では、プロセッサレベルでメモリを豊富に用いることが望ましいとされていた。プログラムのストアにより、プロセッサは、更新された命令セット機能により再設定され得る。マイクロプロセッサ命令の設計、すなわち「命令セット」は、ハードウェアの設計に大きな影響を与えることない程度に変更され得る。マイクロ命令キャッシュを用いることによって、何回も繰り返す必要のある命令は、実行されるループ内の命令を高速キャッシュに置くことによって、より高速にアクセス可能となる。しかし、大容量のメモリおよびメモリキャッシュを用いることはまた、セルアレイ、制御ライン、デコードロジック等を必要し、その動作がCeffによって非常に大きく影響を受ける。概して、格納装置へのアクセスは、中央処理演算装置(CPU)命令の実行に所望のスピードにおいて大きなオーバーヘッドを有する。
従来技術は、マイクロ命令または命令キャッシュを極端に小さくすることによって、および、大きく、複雑な命令例えば、VLIW(very long instruction word)またはCISC(Complex Instruction Set Computer)アプローチを用いることによって、最近のプロセッサアーキテクチャ設計においてメモリデバイスの使用を最小化することを試みてきた。これらのアプローチは、大きな命令ワード(large instruction word)を用い、そうでなければ、複数のより単純な命令を必要とする1つ以上の関数を実行し得る。極端にいうと、単純な複合マイクロ命令は、1つのループの全体であり得る。従って、マイクロ命令を小さな1つのワードキャッシュに保ち、かつ、同じマイクロ命令を何回も実行することによって、頻繁に実行されるループおよび関数が実効され得る。しかし、レジスタ、メモリまたはキャッシュをループさせる単純な演算は、レジスタメモリ、制御メモリおよび関連するサポート回路内の多くのトランジスタでの信号の高速スイッチングを必要とする。このようなアプローチは、Ceffが大きく、異常である。より多くの回路およびチップを制御するためにトランジスタの密度をより大きくするという傾向は、Ceffを急速に増加させる。マイクロプロセッサの他の局面は、レジスタおよびメモリ指向のアプローチをさらに妨げ得る。
従って、従来技術の1つ以上の欠点を軽減するシステムを提供することが望ましい。
(発明の要旨)
本発明の1つの実施形態は、マイクロコード命令(「マイクロ命令」)キャッシュとの組み合わせで有限状態機械を用いる。通常、頻繁にループされる演算の短いシーケンスを生じる選択された命令は、有限状態機械(FSM)で実装される。FSMを使用することは、キャッシュまたはレジスタセットの命令をループさせることよりもよりエネルギー効率が良い。さらに、マイクロコード命令の実行において、キャッシュ、または他のメモリ指向アプローチの柔軟性が依然として利用可能である。
より好ましい実施形態では、1つのマイクロ命令または多くのマイクロ命令は、IDタグによって(キャッシュ演算に対抗する)FSM演算として識別される。マイクロ命令の他のフィールドは、用いるFSM回路のタイプを特定し、マイクロ命令を実施するためのFSMの設定を導き、そして、特定のフィールドが(例えば、キャッシュまたはレジスタ内の)1つ以上のFSMで、および/または、メモリ指向演算において実装されるべきことを示すために用いられ得る。
1つの実施形態では、本発明は、マイクロ命令に応答して、演算を実行するデジタルプロセッサを提供する。このデジタルプロセッサは、実行されるべき演算に関連するデータを格納するメモリと、この演算に関連する関数を実行する有限要素機械(FSM)と、データをこのレジスタに提供し、該マイクロ命令に応答して該FSMの実行を開始する制御回路とを含む。
図1は、本発明の好ましい実施形態を示す。
図1において、マイクロプロセッサアーキテクチャ100は、マイクロプロセッサアーキテクチャのコンポーネントによる実行のためのマイクロ命令を格納するマイクロ格納装置102を含む。当該分野には公知であるように、そのような命令は、メモリおよびレジスタアクセス、論理的および数学的データ演算、シーケンス演算、および、デジタルプロセシングシステムのハードウェアに指示するシステムメモリ(図示せず)に格納された命令に従って他の演算に対して、機能を実行させるように導く。
マイクロ格納装置102は、カレントマイクロ命令の位置にアクセスするためにプログラムカウンタによってインデックス付けされる。このカレントマイクロ命令のデータは、カレント命令106として出力される。なお、別々のレジスタまたはラッチがこのカレント命令を保持するために用いられてもよく、データが単純にマイクロ格納装置から直接出力されてもよい。マイクロ命令にアクセスし、これらのマイクロ命令をアクセスしかつ操作する多くのアプローチが可能であり、これらは本発明の範囲内である。
カレントマイクロ命令は、制御回路108によって用いられる。この制御回路108は、有限状態機械(FSM)112、FSM設定110、ならびに、レジスタ114およびループ制御116等のメモリ指向回路に、カレントマイクロ命令に従って機能を実行させるように導く。また、制御回路108は、システムの他のコンポーネント(例えば、プログラムカウンタ104、演算算術/論理ハードウェアおよびシーケンスハードウェア118、ならびにシステムメモリアクセス等)を導き、または、制御するために用いられ得る。
レジスタ114およびループ制御116は、当該分野で公知のマイクロ命令ループコンポーネントであり得る。他の標準的なアーキテクチャコンポーネントも用いられ得る。好ましい実施形態では、制御回路108は、カレント命令、またはカレント命令の一部がFSMプロセシングを用いる際に適切であるか、または、指定されているかどうかを判定する。適切である場合、制御回路108は、FSM112をカレント命令のデータに従って用いるように導く。FSMが設定されている用途では、FSM設定回路110は、所望なように、FSM112を予め設定するために用いられ得る。なお、任意の数の設定可能な、または固定したFSMが用いられてもよい。図示を簡単にするために、図1では、FSMを1つだけ示している。
制御回路108は、所望なように、様々な様態で実施され得る。例えば、単純な実施では、制御回路は、カレント命令の中の(または、マイクロ格納装置からの)制御信号およびデータを、適切なコンポーネント(例えば、FSM112またはレジスタ114)にハードワイヤルーティングすること以上のものを必要としない。他の実施は、マイクロ命令からの情報をより柔軟に制御、生成、処理、モニタ等を行い、そして、その情報を用いてコンポーネントを制御するために、マルチプレクサ、ゲート、または、他のデバイスを用いることができる。
なお、メモリ指向回路は、1つのレジスタおよびループ制御以外であってもよい。例えば、複数のレジスタが用いられてもよい。例えば、メモリバンクが用いられてもよく、高速メモリがキャッシュなどとして用いられてもよい。概して、FSMは、さらなるFSMを含む、あらゆるタイプのコンピュータアーキテクチャとの組み合わせで用いられてもよい。
FSM設定回路110は、より早い命令によって呼び出されて、異なるマイクロ命令によって後に用いられるためにFSMを準備し得る。あるいは、命令の一部が設定回路を介してFSMの設定を導くための用いられ得、一方、同じ命令の他の部分がFSMの実行を制御することを支援する。いくつかの用途では、FSMの制御は、実行を開始するためにFSMを単に呼び出すこと以上に関わる必要はない。
図2A〜Cは、異なるタイプのFSM制御マイクロ命令を示す。
図2Aでは、マイクロ命令200は、CPU回路の演算を導くための典型的なフィールド204を含む。典型的なフィールドは、例えば、ネクストアドレスフィールド、算術論理ユニット(ALU)制御フィールド、レジスタアクセスフィールド、メモリアクセス、アクセスモード等であってもよい。さらに、202のFSM制御ビットFSMCTLが予約されている。FSMCTLは0にセットされると、本発明のFSMの特徴は呼び出されない。この場合、CPUは、従来のプロセッサとして動作し得る。しかし、FSMTLが1にセットされる場合、フィールド204、および次の命令の次のフィールドは、FSM処理を呼び出し得る。
図2Bは、FSM制御がイネーブルされる場合のマイクロ命令フォーマットを示す。
図2Bでは、マイクロ命令200は、FSM制御ビット202を1にセットする。これは、FSMCTL制御フィールド206をイネーブルするか、そうでなければ、他の目的のために用いられる。マイクロ命令セットの設計に応じて、208等のさらなるフィールドは、FSM制御のために用いられ得る。多くの異なる実施形態では、マイクロ命令(単数または複数)がインタプリタされて、FSMをいつ制御するのか、およびどのように制御するのかを決定する多くの異なる構成がある。例えば、他のアプローチは、FSM制御用の固定した、所定のフィールドを用い得ることにより、FSM制御ビットが必要ではない。FSM用の設定情報は、これらのフィールドに格納され得る。
図2Cは、複数の命令が用いられる場合のFSM制御モードを示す。
図2Cでは、FSM制御ビットは1にセットされる。その後、FSMCTLフィールド212は、ワード200に続く多くのマイクロ命令ワードがFSM制御のためにどのように用いられるべきかを示している。この例では、マイクロ命令200の残りのフィールド、および次の2つのマイクロ命令214および216がFSMに関する目的のためにそれら全体で用いられ得る。
他の実施形態では、FSM制御ビットは、デジタルプロセシングシステム内のハードウェアによって生成される信号から導かれてもよいし、外部ソースから得られてもよいし、外部ソースから導かれてもよい。「電力節約モード」信号を図1の制御回路108に提供することが1つの改良点である。オンであるときには、制御回路108は、可能な限り多くのFSM実行ユニットハードウェアを利用することを試みる。オフであるときには、実行速度に重点を置かれる。ある1つのアプローチは、実行される異なる関数にパラレルな命令を提供することである。マイクロ命令の一方のセットはFSM指向であり、他方のセットは非FSM指向である。制御回路は、電力節約モードによって導かれるように、所望の(FSM、または非FSM)命令をマイクロ格納装置から選択的に取り出し得る。FSMと通常のマイクロ格納演算との両方は、並行に実行していてもよい。
図3は、図1のFSM110等のFSM回路が呼び出されるかどうかを決定するルーチンの基本的なステップを示すフローチャートである。
図3では、フローチャート300のルーチンは、ステップ302で開始する。ステップ304では、実行されるべき次のマイクロ命令が得られる。ステップ306では、FSMモード実行が所望であるか、導かれるかに関して決定がなされる。上述したように、この決定は、得られたマイクロ命令自体、異なるマイクロ命令、または、制御信号の情報からなされ得る。所望ではない場合、非FSMの様態でマイクロ命令の関数または演算を実行するために、ステップ308が実行される。
しかし、ステップ306で、FSMモード実行を用いることが所望である場合、FSMモードが利用可能であるかどうかをチェックするために、ステップ310が次に実行される。たとえ所望であるとしても、FSMモードは、FSM実行ユニット(図1の112)の有用性不足、または他のリソース不足を含む様々な理由により利用可能ではない場合もある。二重セットのマイクロ命令が用いられて、同じ演算に対してFSMまたは非FSMモードを可能にする、ある実施形態では、全ての演算に二重FSMマイクロ命令が提供され得ないために、FSMモードは、実行可能ではない。FSMモードが可能ではない場合に、ステップ308は、非FSMモードでマイクロ命令の演算を実行するように実行される。
FSMモードが可能である場合、ステップ312が実行されて、設定データが必要とされるかどうかをチェックする。必要とされる場合、ステップ314は、設定データを得る。設定データは、マイクロ命令、システム内のいずれかの場所にあるデータ、または、頻繁に用いられるタスク用のハードワイヤの回路によって提供され得る。設定後、または、設定は必要ではないと判定された場合、実行はステップ316に進む。ステップ316では、マイクロ命令は、FSMモードで実行され、ルーチンがステップ318で終了する。
なお、図3のステップによって記載された機能は、多くの異なる様態で達成され得る。図3に示されたステップにステップが追加されてもよいし、図3に示されたステップからステップを削除してもよい。このステップは修正され得、本発明の範囲を逸脱することなく、シーケンスが変化され得る。この機能は、ハードウェア、ソフトウェア、または両者の組み合わせによって達成され得る。
本発明が上記の特定の実施形態に関して記載されてきたが、これらの実施形態は、本発明の単なる例示であって、制限するものではない。例えば、たとえ、本発明の局面が電力消費を有利にも減少させることを説明していたとしても、本発明は、他の実行ユニットと共にFSMを用いることが他の理由から望ましい設計に適用され得る。いくつかの応用では、電力消費が実際に増加し得る。例えば、ある設計における面積を減少させることが達成され得、より高速の特定のマイクロ命令の実装が実現され得(結果的に高速性能である)、マイクロ命令の長さ、複雑さ、編成、実行等において利点が得られ得る。
FSM実行と非FSM実行とは区別されてきたが、これらの用語は、特別のFSM実行ユニット回路を用いるか、特定の命令、命令のセットまたは命令の一部用のこのような回路を用いないかのいずれかを意味することを意図している。用語「非FSM」、または類似のものは、FSMが用いられないことを意味していない。「FSM」は、FSM回路のみが用いられることも意味していない。例えば、非FSMは、なおFSM回路を用いるが、図1のFSM112として図示される特定FSM回路ではない。当該技術分野では、FSMは多くの異なる機能を実施するように用いられる設計アプローチである。例えば、FSMが制御回路108およびALUハードウェア/シーケンサ118で用いられ得るように、FSMを用いて、制御信号を生成することがよくある。FSM実行ハードウェアを用いること、または用いないことに関する本明細書中の説明は、マイクロ命令のフィールド、制御信号、あるいは、他のコンポーネント、または本明細書中で説明されるか暗示されたアプローチに従って選択可能である専用のFSM回路を含む。専用回路のタイプは、幅広く変化し得る。同様の専用回路は、異なる命令に対して、または、後の時間に実行される同じ命令に対してさえも用いられる必要はない。
従って、本発明の範囲は、添付の特許請求の範囲によってのみ決定されるべきである。
図1は、本発明の基本的な要素を示す。 図2Aは、マイクロ命令のFSM制御指示表示の第1の図である。 図2Bは、マイクロ命令のFSM制御指示表示の第2の図である。 図2Cは、マイクロ命令のFSM制御指示表示の第3の図である。 図3は、FSM回路が呼び出されるかどうかを判定するルーチンの基本的なステップのフローチャートである。

Claims (11)

  1. マイクロ命令に応答して、演算を実行するデジタルプロセッサであって、該デジタルプロセッサは、
    実行されるべき該演算に関連するデータを格納するメモリと、
    該演算に関連する関数を実行する有限状態機械(FSM)と、
    レジスタにデータを提供して、該マイクロ命令に応答して該FSMの実行を開始する制御回路と
    を含む、デジタルプロセッサ。
  2. 前記メモリに格納された前記データに繰り返してアクセスするループ制御回路をさらに含む、請求項1に記載のデジタルプロセッサ。
  3. 前記制御回路は、マイクロ命令のうちの少なくとも一部が前記FSMによって実施されているかを決定するID検出回路を含む、請求項1に記載のデジタルプロセッサ。
  4. 複数のFSMをさらに含み、前記制御回路は、該複数のFSMのうちの1つ以上の演算を選択的に呼び出すFSM実行回路を含む、請求項1に記載のデジタルプロセッサ。
  5. 設定可能なFSMをさらに含み、前記制御回路は、前記マイクロ命令に関連する所定の関数のために設定されるように該設定可能なFSMを導く設定回路を含む、請求項1に記載のデジタルプロセッサ。
  6. 前記メモリは、レジスタを含む、請求項1に記載のデジタルプロセッサ。
  7. 前記メモリは、マイクロ格納装置を含む、請求項1に記載のデジタルプロセッサ。
  8. 前記メモリは、キャッシュを含む、請求項1に記載のデジタルプロセッサ。
  9. マイクロ命令を実行するコンピュータプロセッサであって、該コンピュータプロセッサは、
    有限状態機械(FSM)と、
    反復レジスタと、
    該FSMおよび該反復レジスタを制御して、該マイクロ命令のうちの少なくとも1つを実施する制御回路と
    を含む、コンピュータプロセッサ。
  10. 前記FSMおよび前記反復レジスタは、同時に演算される、請求項9に記載のコンピュータプロセッサ。
  11. マイクロ命令を実行する方法であって、該方法は、有限状態機械と反復レジスタとの両方を用いて、該マイクロ命令によって示された関数のうちの少なくとも一部を1つを実施するステップを包含する、方法。
JP2003553412A 2001-12-13 2002-12-10 有限状態機械制御コードを選択的に用いるプロセッサアーキテクチャ Withdrawn JP2005513612A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/022,776 US7231508B2 (en) 2001-12-13 2001-12-13 Configurable finite state machine for operation of microinstruction providing execution enable control value
PCT/US2002/039574 WO2003052591A2 (en) 2001-12-13 2002-12-10 Processor architecture selectively using finite-state-machine for control code

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2008186582A Division JP2009032257A (ja) 2001-12-13 2008-07-17 有限状態機械制御コードを選択的に用いるプロセッサアーキテクチャ

Publications (1)

Publication Number Publication Date
JP2005513612A true JP2005513612A (ja) 2005-05-12

Family

ID=21811376

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2003553412A Withdrawn JP2005513612A (ja) 2001-12-13 2002-12-10 有限状態機械制御コードを選択的に用いるプロセッサアーキテクチャ
JP2008186582A Pending JP2009032257A (ja) 2001-12-13 2008-07-17 有限状態機械制御コードを選択的に用いるプロセッサアーキテクチャ

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2008186582A Pending JP2009032257A (ja) 2001-12-13 2008-07-17 有限状態機械制御コードを選択的に用いるプロセッサアーキテクチャ

Country Status (5)

Country Link
US (2) US7231508B2 (ja)
JP (2) JP2005513612A (ja)
AU (1) AU2002363987A1 (ja)
TW (1) TWI289785B (ja)
WO (1) WO2003052591A2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004043788A1 (de) * 2003-09-11 2005-04-14 Ingo Franz Programm Generator
TW200821923A (en) * 2006-11-08 2008-05-16 Ite Tech Inc Data processing apparatus for loop operation and method thereof
ATE463788T1 (de) * 2007-06-26 2010-04-15 Ericsson Telefon Ab L M Datenverarbeitungseinheit für anweisungen in geschachtelten schleifen
TWI432953B (zh) 2010-12-09 2014-04-01 Ind Tech Res Inst 具電源管理之超長指令處理器以及其電源管理裝置與方法
US9626333B2 (en) 2012-06-02 2017-04-18 Intel Corporation Scatter using index array and finite state machine
US11269643B2 (en) * 2017-04-09 2022-03-08 Intel Corporation Data operations and finite state machine for machine learning via bypass of computational tasks based on frequently-used data values
CN114138341B (zh) * 2021-12-01 2023-06-02 海光信息技术股份有限公司 微指令缓存资源的调度方法、装置、程序产品以及芯片

Family Cites Families (112)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US555417A (en) * 1896-02-25 baron
US3938639A (en) * 1973-11-28 1976-02-17 The Cornelius Company Portable dispenser for mixed beverages
US4076145A (en) * 1976-08-09 1978-02-28 The Cornelius Company Method and apparatus for dispensing a beverage
US4377246A (en) * 1977-06-13 1983-03-22 The Cornelius Company Apparatus for dispensing a carbonated beverage
US4143793A (en) * 1977-06-13 1979-03-13 The Cornelius Company Apparatus and method for dispensing a carbonated beverage
US4252253A (en) * 1978-02-21 1981-02-24 Mcneil Corporation Drink dispenser having central control of plural dispensing stations
US4181242A (en) * 1978-05-30 1980-01-01 The Cornelius Company Method and apparatus for dispensing a beverage
US4577782A (en) * 1983-05-02 1986-03-25 The Cornelius Company Beverage dispensing station
US4578799A (en) * 1983-10-05 1986-03-25 Codenoll Technology Corporation Method and apparatus for recovering data and clock information from a self-clocking data stream
DK279985A (da) * 1984-06-25 1985-12-26 Isoworth Ltd Fremgangsmaade og apparat til carbonisering
US4993604A (en) * 1985-09-13 1991-02-19 The Coca-Cola Company Low-cost post-mix beverage dispenser and syrup supply system therefor
US4982876A (en) * 1986-02-10 1991-01-08 Isoworth Limited Carbonation apparatus
GB2186265B (en) * 1986-02-10 1989-11-01 Isoworth Ltd Beverage dispensing apparatus
US4811214A (en) * 1986-11-14 1989-03-07 Princeton University Multinode reconfigurable pipeline computer
US5381546A (en) * 1987-04-13 1995-01-10 Gte Laboratories Incorporated Control process for allocating services in communications systems
US4800492A (en) * 1987-05-13 1989-01-24 The Coca-Cola Company Data logger for a post-mix beverage dispensing system
US4905231A (en) * 1988-05-03 1990-02-27 American Telephone And Telegraph Company, At&T Bell Laboratories Multi-media virtual circuit
US4901887A (en) * 1988-08-08 1990-02-20 Burton John W Beverage dispensing system
US6986142B1 (en) * 1989-05-04 2006-01-10 Texas Instruments Incorporated Microphone/speaker system with context switching in processor
US5090015A (en) * 1989-02-06 1992-02-18 Motorola, Inc. Programmable array logic self-checking system
US5193151A (en) * 1989-08-30 1993-03-09 Digital Equipment Corporation Delay-based congestion avoidance in computer networks
WO1991012991A1 (en) * 1990-02-27 1991-09-05 The Coca-Cola Company Multiple fluid space dispenser and monitor
US5099418A (en) * 1990-06-14 1992-03-24 Hughes Aircraft Company Distributed data driven process
US5190189A (en) * 1990-10-30 1993-03-02 Imi Cornelius Inc. Low height beverage dispensing apparatus
US5301100A (en) * 1991-04-29 1994-04-05 Wagner Ferdinand H Method of and apparatus for constructing a control system and control system created thereby
US5193718A (en) * 1991-06-25 1993-03-16 Imi Cornelius Inc. Quick electronic disconnect for a beverage dispensing valve
WO1994009595A1 (en) * 1991-09-20 1994-04-28 Shaw Venson M Method and apparatus including system architecture for multimedia communications
US5278986A (en) * 1991-12-13 1994-01-11 Thinking Machines Corporation System and method for compiling a source code supporting data parallel variables
US5269442A (en) * 1992-05-22 1993-12-14 The Cornelius Company Nozzle for a beverage dispensing valve
US5603043A (en) * 1992-11-05 1997-02-11 Giga Operations Corporation System for compiling algorithmic language source code for implementation in programmable hardware
US5297400A (en) * 1993-02-17 1994-03-29 Maytag Corporation Liquid dispensing assembly for a refrigerator
US5379343A (en) * 1993-02-26 1995-01-03 Motorola, Inc. Detection of unauthorized use of software applications in communication units
US5483658A (en) * 1993-02-26 1996-01-09 Grube; Gary W. Detection of unauthorized use of software applications in processing devices
DE59401478D1 (de) * 1993-03-15 1997-02-13 Siemens Ag Verfahren zur maschinellen erzeugung von nebenläufig bearbeitbaren befehlsgruppen aus einem programm für superskalare mikroprozessoren
US5870427A (en) * 1993-04-14 1999-02-09 Qualcomm Incorporated Method for multi-mode handoff using preliminary time alignment of a mobile station operating in analog mode
US5388062A (en) * 1993-05-06 1995-02-07 Thomson Consumer Electronics, Inc. Reconfigurable programmable digital filter architecture useful in communication receiver
US5517667A (en) * 1993-06-14 1996-05-14 Motorola, Inc. Neural network that does not require repetitive training
US5732563A (en) * 1993-09-22 1998-03-31 Imi Cornelius Inc. Electronically controlled beverage dispenser
CA2126265A1 (en) * 1993-09-27 1995-03-28 Michael Robert Cantone System for synthesizing field programmable gate array implementations from high level circuit descriptions
JP3594309B2 (ja) * 1993-09-28 2004-11-24 株式会社ナムコ パイプライン処理装置,クリッピング処理装置,3次元シミュレータ装置及びパイプライン処理方法
US5862961A (en) * 1993-10-26 1999-01-26 Imi Cornelius Inc. Connection device for dispensing fluid from a bottle
US5721854A (en) * 1993-11-02 1998-02-24 International Business Machines Corporation Method and apparatus for dynamic conversion of computer instructions
US5491823A (en) * 1994-01-25 1996-02-13 Silicon Graphics, Inc. Loop scheduler
US5729754A (en) * 1994-03-28 1998-03-17 Estes; Mark D. Associative network method and apparatus
US5608643A (en) * 1994-09-01 1997-03-04 General Programming Holdings, Inc. System for managing multiple dispensing units and method of operation
FR2724273B1 (fr) * 1994-09-05 1997-01-03 Sgs Thomson Microelectronics Circuit de traitement de signal pour mettre en oeuvre un algorithme de viterbi
US5600810A (en) * 1994-12-09 1997-02-04 Mitsubishi Electric Information Technology Center America, Inc. Scaleable very long instruction word processor with parallelism matching
KR0146100B1 (ko) * 1995-01-07 1998-09-15 이헌조 가전기기의 실사용상태 정보수집 및 분석장치
US5706191A (en) * 1995-01-19 1998-01-06 Gas Research Institute Appliance interface apparatus and automated residence management system
US5696906A (en) * 1995-03-09 1997-12-09 Continental Cablevision, Inc. Telecommunicaion user account management system and method
US5611867A (en) * 1995-04-12 1997-03-18 Maytag Corporation Method of selecting a wash cycle for an appliance
US6021186A (en) * 1995-04-17 2000-02-01 Ricoh Company Ltd. Automatic capture and processing of facsimile transmissions
US5751295A (en) * 1995-04-27 1998-05-12 Control Systems, Inc. Graphics accelerator chip and method
US5822308A (en) * 1995-07-17 1998-10-13 National Semiconductor Corporation Multi-tasking sequencer for a TDMA burst mode controller
US5842004A (en) * 1995-08-04 1998-11-24 Sun Microsystems, Inc. Method and apparatus for decompression of compressed geometric three-dimensional graphics data
US5706976A (en) * 1995-12-21 1998-01-13 Purkey; Jay Floyd Vending machine inventory control device
US6510510B1 (en) * 1996-01-25 2003-01-21 Analog Devices, Inc. Digital signal processor having distributed register file
US5889816A (en) * 1996-02-02 1999-03-30 Lucent Technologies, Inc. Wireless adapter architecture for mobile computing
US6393046B1 (en) * 1996-04-25 2002-05-21 Sirf Technology, Inc. Spread spectrum receiver with multi-bit correlator
US6346824B1 (en) * 1996-04-09 2002-02-12 Xilinx, Inc. Dedicated function fabric for use in field programmable gate arrays
US5822313A (en) * 1996-05-24 1998-10-13 National Semiconductor Corporation Seamless handover in a cordless TDMA system
US5887174A (en) * 1996-06-18 1999-03-23 International Business Machines Corporation System, method, and program product for instruction scheduling in the presence of hardware lookahead accomplished by the rescheduling of idle slots
US6023742A (en) * 1996-07-18 2000-02-08 University Of Washington Reconfigurable computing architecture for providing pipelined data paths
US5890014A (en) * 1996-08-05 1999-03-30 Micronet Technology, Inc. System for transparently identifying and matching an input/output profile to optimal input/output device parameters
US5889989A (en) * 1996-09-16 1999-03-30 The Research Foundation Of State University Of New York Load sharing controller for optimizing monetary cost
US6021492A (en) * 1996-10-09 2000-02-01 Hewlett-Packard Company Software metering management of remote computing devices
US6016395A (en) * 1996-10-18 2000-01-18 Samsung Electronics Co., Ltd. Programming a vector processor and parallel programming of an asymmetric dual multiprocessor comprised of a vector processor and a risc processor
US6041322A (en) * 1997-04-18 2000-03-21 Industrial Technology Research Institute Method and apparatus for processing data in a neural network
US5860021A (en) * 1997-04-24 1999-01-12 Klingman; Edwin E. Single chip microcontroller having down-loadable memory organization supporting "shadow" personality, optimized for bi-directional data transfers over a communication channel
US5886537A (en) * 1997-05-05 1999-03-23 Macias; Nicholas J. Self-reconfigurable parallel processor made from regularly-connected self-dual code/data processing cells
FI105251B (fi) * 1997-06-18 2000-06-30 Nokia Mobile Phones Ltd Menetelmä aikajakoisen solukkoverkon tukiasemien tunnistamiseksi matkaviestimessä ja matkaviestin
IL126149A (en) * 1997-09-09 2003-07-31 Sanctum Ltd Method and system for protecting operations of trusted internal networks
US6195788B1 (en) * 1997-10-17 2001-02-27 Altera Corporation Mapping heterogeneous logic elements in a programmable logic device
US5873045A (en) * 1997-10-29 1999-02-16 International Business Machines Corporation Mobile client computer with radio frequency transceiver
FR2770659A1 (fr) * 1997-10-31 1999-05-07 Sgs Thomson Microelectronics Processeur de traitement perfectionne
US6173389B1 (en) * 1997-12-04 2001-01-09 Billions Of Operations Per Second, Inc. Methods and apparatus for dynamic very long instruction word sub-instruction selection for execution time parallelism in an indirect very long instruction word processor
US6039219A (en) * 1998-01-20 2000-03-21 Bach; Lanae E. Liquid dispensing system for a refrigerator
US6691148B1 (en) * 1998-03-13 2004-02-10 Verizon Corporate Services Group Inc. Framework for providing quality of service requirements in a distributed object-oriented computer system
US6202130B1 (en) * 1998-04-17 2001-03-13 Motorola, Inc. Data processing system for processing vector data and method therefor
GB9818377D0 (en) * 1998-08-21 1998-10-21 Sgs Thomson Microelectronics An integrated circuit with multiple processing cores
US6442672B1 (en) * 1998-09-30 2002-08-27 Conexant Systems, Inc. Method for dynamic allocation and efficient sharing of functional unit datapaths
US6718541B2 (en) * 1999-02-17 2004-04-06 Elbrus International Limited Register economy heuristic for a cycle driven multiple issue instruction scheduler
US6510138B1 (en) * 1999-02-25 2003-01-21 Fairchild Semiconductor Corporation Network switch with head of line input buffer queue clearing
US6570877B1 (en) * 1999-04-07 2003-05-27 Cisco Technology, Inc. Search engine for forwarding table content addressable memory
US6526570B1 (en) * 1999-04-23 2003-02-25 Sun Microsystems, Inc. File portability techniques
EP1061437A1 (en) * 1999-06-16 2000-12-20 STMicroelectronics S.r.l. Improved control unit for electronic microcontrollers or microprocessors
US6347346B1 (en) * 1999-06-30 2002-02-12 Chameleon Systems, Inc. Local memory unit system with global access for use on reconfigurable chips
US6349346B1 (en) * 1999-09-23 2002-02-19 Chameleon Systems, Inc. Control fabric unit including associated configuration memory and PSOP state machine adapted to provide configuration address to reconfigurable functional unit
US6694380B1 (en) * 1999-12-27 2004-02-17 Intel Corporation Mapping requests from a processing unit that uses memory-mapped input-output space
US6967999B2 (en) * 1999-12-30 2005-11-22 Infineon Technologies Ag Method and apparatus to support multi standard, multi service base-stations for wireless voice and data networks
ATE366958T1 (de) * 2000-01-14 2007-08-15 Texas Instruments France Mikroprozessor mit ermässigtem stromverbrauch
JP4558879B2 (ja) * 2000-02-15 2010-10-06 富士通株式会社 テーブルを用いたデータ処理装置および処理システム
US7181542B2 (en) * 2000-04-12 2007-02-20 Corente, Inc. Method and system for managing and configuring virtual private networks
US6691143B2 (en) * 2000-05-11 2004-02-10 Cyberguard Corporation Accelerated montgomery multiplication using plural multipliers
US20020010848A1 (en) * 2000-05-29 2002-01-24 Shoichi Kamano Data processing system
US6675265B2 (en) * 2000-06-10 2004-01-06 Hewlett-Packard Development Company, L.P. Multiprocessor cache coherence system and method in which processor nodes and input/output nodes are equal participants
GB0019341D0 (en) * 2000-08-08 2000-09-27 Easics Nv System-on-chip solutions
JP3473695B2 (ja) * 2000-08-30 2003-12-08 Necエレクトロニクス株式会社 W−cdmaシステムにおけるセルサーチ方法及び回路
EP1241817A4 (en) * 2000-10-06 2003-01-22 Yozan Inc RECEIVER
US6842895B2 (en) * 2000-12-21 2005-01-11 Freescale Semiconductor, Inc. Single instruction for multiple loops
US6753873B2 (en) * 2001-01-31 2004-06-22 General Electric Company Shared memory control between detector framing node and processor
US6925167B2 (en) * 2001-02-01 2005-08-02 Estech Systems, Inc. Service observing in a voice over IP telephone system
US7225279B2 (en) * 2002-06-25 2007-05-29 Nvidia Corporation Data distributor in a computation unit forwarding network data to select components in respective communication method type
US7653710B2 (en) * 2002-06-25 2010-01-26 Qst Holdings, Llc. Hardware task manager
US7061928B2 (en) * 2001-03-26 2006-06-13 Azurn Networks, Inc. Unified XML voice and data media converging switch and application delivery system
US7969431B2 (en) * 2001-06-29 2011-06-28 National Instruments Corporation Graphical program node for generating a measurement program
US20030023830A1 (en) * 2001-07-25 2003-01-30 Hogenauer Eugene B. Method and system for encoding instructions for a VLIW that reduces instruction memory requirements
US6986021B2 (en) * 2001-11-30 2006-01-10 Quick Silver Technology, Inc. Apparatus, method, system and executable module for configuration and operation of adaptive integrated circuitry having fixed, application specific computational elements
US20040015970A1 (en) * 2002-03-06 2004-01-22 Scheuermann W. James Method and system for data flow control of execution nodes of an adaptive computing engine (ACE)
US7076781B2 (en) * 2002-05-31 2006-07-11 International Business Machines Corporation Resource reservation for large-scale job scheduling
US6859434B2 (en) * 2002-10-01 2005-02-22 Comsys Communication & Signal Processing Ltd. Data transfer scheme in a communications system incorporating multiple processing elements
US7200837B2 (en) * 2003-08-21 2007-04-03 Qst Holdings, Llc System, method and software for static and dynamic programming and configuration of an adaptive computing architecture

Also Published As

Publication number Publication date
US20070271440A1 (en) 2007-11-22
TWI289785B (en) 2007-11-11
TW200300904A (en) 2003-06-16
US20030115553A1 (en) 2003-06-19
WO2003052591A2 (en) 2003-06-26
WO2003052591A3 (en) 2003-12-04
JP2009032257A (ja) 2009-02-12
AU2002363987A1 (en) 2003-06-30
US7231508B2 (en) 2007-06-12
AU2002363987A8 (en) 2003-06-30

Similar Documents

Publication Publication Date Title
US7500085B2 (en) Identifying code for compilation
US10678541B2 (en) Processors having fully-connected interconnects shared by vector conflict instructions and permute instructions
JP2002512399A (ja) 外部コプロセッサによりアクセス可能なコンテキストスイッチレジスタセットを備えたriscプロセッサ
US7308320B2 (en) Processor core for using external extended arithmetic unit efficiently and processor incorporating the same
JP2009032257A (ja) 有限状態機械制御コードを選択的に用いるプロセッサアーキテクチャ
JPH0916471A (ja) プロセッサ
KR20000076310A (ko) 리스크 구조를 갖는 8 비트 마이크로콘트롤러
EP3629155A1 (en) Processor core supporting a heterogeneous system instruction set architecture
US20050015573A1 (en) Digital architecture for reconfigurable computing in digital signal processing
US6735687B1 (en) Multithreaded microprocessor with asymmetrical central processing units
US10203959B1 (en) Subroutine power optimiztion
KR100374401B1 (ko) 마이크로 명령을 기초로 프로그램 가능한 명령을 실행하는하드웨어 장치
US7263621B2 (en) System for reducing power consumption in a microprocessor having multiple instruction decoders that are coupled to selectors receiving their own output as feedback
WO2007057831A1 (en) Data processing method and apparatus
JPH10340129A (ja) 電子システムにおける電力使用量を制御する回路および方法
US7290153B2 (en) System, method, and apparatus for reducing power consumption in a microprocessor
JPH04104350A (ja) マイクロプロセッサ
US6957319B1 (en) Integrated circuit with multiple microcode ROMs
KR101220423B1 (ko) 명령어의 즉시값 지정 방법
YAMADA et al. A low-power embedded RISC microprocessor with an integrated DSP for mobile applications
US20230091167A1 (en) Core-based speculative page fault list
Boddu et al. A Survey on Effective Implementation of Control Scheme in Processors
Praveen et al. A survey on control implementation scheme
CN113568663A (zh) 代码预取指令
UCHIYAMA et al. Embedded processor core with 64-bit architecture and its system-on-chip integration for digital consumer products

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060609

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20060822

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20060829

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061211

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070515

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070813

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070820

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070914

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20071003

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071015

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080418

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080717

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20081010

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20090327

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20100506