JPS62502430A - 透過ラッチを用いるマイクロプログラム可能な装置 - Google Patents

透過ラッチを用いるマイクロプログラム可能な装置

Info

Publication number
JPS62502430A
JPS62502430A JP61501145A JP50114586A JPS62502430A JP S62502430 A JPS62502430 A JP S62502430A JP 61501145 A JP61501145 A JP 61501145A JP 50114586 A JP50114586 A JP 50114586A JP S62502430 A JPS62502430 A JP S62502430A
Authority
JP
Japan
Prior art keywords
output
latch
memory
microinstruction
input
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.)
Pending
Application number
JP61501145A
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 JPS62502430A publication Critical patent/JPS62502430A/ja
Pending legal-status Critical Current

Links

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/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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • G06F9/3869Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるため要約のデータは記録されません。

Description

【発明の詳細な説明】 〔発明の名称〕 透過ラッチを用いるマイクロプログラム可能な装置〔技術分野ゴ 本発明は、ディジタル情報または信号処理システムの分野に関し、特にこのシス テムの処理または制御装置に関する。更に、本発明はこのような情報または信号 の処理システムの制御装置内のプログラム(特にマイクロプログラム)される制 御経路に関する。
〔従来技術〕 マイクロプログラミングは、30年以上もの間ディジタル・コンピュータにおけ る制御装置または他のディジタル・コントローラの設計および使用のための方法 として存在してきた手法である。(以下本文においては、用語「ディジタル・コ ンピュータ」はそれ自体で用いられるが、他のディジタル的に制御される装置も また意味しかつこれを含むものと理解されたい。)ディジタル・コンピュータに おいては、制御装置はプロセッサ即ち中央処理装置を意味することもある。制御 装置は、システム内の全てのハードウェアのアクティビティを指令するシステム の部分である。例えば、制御装置は、メモリーから命令を取出させ、命令を復号 して行われるべき操作を決定し、データのソースおよび宛先を決定し、データの 移動および所要の操作を行わせ、次いで停止操作が実行されるまでプロセス全体 を反復する。ハードヮイアド制御即ち従来の制御においては、制御装置のロジッ クはゲート、フリップフロップその他の素子の太きなプレイを用いて機械が構築 される時内部で物理的に配線される。このようなハードワイアド構造は、ある予 め定めた方法における「機械(または機械レベル)」命令の固定されたレパート リを実行することができるように意図されている。
機械命令の実行はデータのレジスタ間の移動を必要とするが、機械命令は、デー タの移動が単独であるかもしくは他のアクティビティと同時に生じるかの如何は 問題にしない。従って、データのレジスタ間の移動の比較的大きな制御を許容す るマイクロ命令と呼ばれる低レベルのセットを定義することが可能である。機械 レベルの命令の実行は関連するあるシーケンスのマククロ命令の実行によって得 られ、このシーケンスはしばしばマイクロプログラムと呼ばれる。
使用し得る機械レベルの各命令のためのマイクロプログラムは制御メモリー内に 格納することができるが、このメモリーはまた制御ストア、マイクロプログラム またはマイクロコード・メモリーとも呼ばれる。ある特定の機械命令を実行する ため、対応するマイクロプログラムが実行される。ユーザが自身のマイクロプロ グラムの書込みが許されるようにシステムが構成される時、ユーザ生成マイクロ プログラムの格納のため使用されるメモリーは、しばしば書込み可能な制御スト アまたは変更可能な制御メモリーと呼ばれる。ユーザによるマイクロプログラミ ングは、自らが新たな機械レベルの命令の生成(メーカが供給する命令セットの 増補)を可能にし、別のコンピュータ用とされる命令セットを用いて書かれたソ フトウェアをあるコンピータが受入れることを可能にするためしばしば用いられ る。これはエミュレーションと呼ばレル。
マイクロプログラム可能な機械におけるマイクロプログラム・メモリーは次の2 つの部分にしばしば分けられる。即ち、(1)メーカにより指定される如き機械 の基本的な命令セットを実行するためのマイクロコードを保有する続出し専用メ モリー(R(Thi)、および(2)書込み可能な制御ストアのためのランダム ・アクセス・メモリー(RAM)である。ビット・スライス・マイクロプロセッ サと呼ばれるあるマイクロプログラム可能なマイクロプロセッサは、予め選定さ れた機械レベルの命令セットを伴わず、全ての更に高いレベルの命令をユーザが 生成したマ・イクロ命令から生成されたままとする。
アルコンピユータ・システムのマイクロプログラム可能な制御機構は、プログラ ム・シーケンサおよび演算論理装置、レジスタおよび制御用フリップフロップの 如き他の種々のものに基づいて作動する。これらの種々の装置は、一般に「資源 」と呼ばれる。本論の目的のためには、シーケンサは、例えこれが通常個別に処 理されようとも、資源として考えてよい。各マイクロ命令は、マイクロプログラ ムされたシステムにおける資源および制御回線の各々を制御し、所要の操作およ びレジスタ間の転送を行うため1つ以上のビットを有する。このため、マイクロ 命令のビットはデータならびに指令を含み得る。従って、マイクロ命令はしばし ば非常に大きなものとなり、50.60あるいはそれ以上のビットを包含し得る 。1つのマイクロ命令内のビットが全ての資源に対して加えられて資源がクロッ クされる時、1つのマイクロ命令が実行される。
機械の命令は、1つのマイクロプログラム、即ちある予め定めたシーケンスにお けるいくつかのマイクロ命令の実行によって行われる。連続する各マイクロ命令 のアドレスはプログラム・シーケンサに°よって生成される。各マイクロ命令の 間に与えられた条件信号および命令を用いるシーケンサは、その内容が読出され る次のマイクロコードのアドレスを決定する。このマイクロコード・アドレスは 、制御メモリーに対してシーケンサによって与えられ、短い時間(メモリーのア クセス時間)の後、対応するマイクロ命令がマイクロプログラム・メモリーの出 カニ現われる。各マイクロ命令は、1つのクロック信号のある予め定めたエツジ において、マイクロプログラム・メモリーの出力に現われる。
多(のシステムおよびアプリケーションにおいて、マイクロ命令の実行速度は大 きな関心事である。多くの要因がマイクロ命令の実行時間に影響を及ぼすが、マ イクロプログラムのメモリー・アクセスはしばしば命令サイクルの実質的部分を 費やすため、最も重要な要因の1つはマイクロプログラムのメモリー・アクセス 時間である。このようなアクセス時間を短縮するため、もし最速のマイクロプロ グラム・メモリーが既に使用されていなければコストの追加の犠牲において更に 速いマイクロプログラム・メモリーを使用することもできるが、マイクロプログ ラム・メモリーのコストはアクセス時間とは逆に変化する。
即ち、メモリーの速度が太き(なればなる程、そのコストは高(なる。逐次では なく他の操作と同時にある操作が生じることを許容するアーキテクチャを用いる ことにより他の改善が得られる。
しかし、あるマイクロプログラムが実行中である時ゆ、このプログラム全体の完 了までその構成マイクロ命令はある意図された予め定めたシーケンスで実行され なければならないが、これはこのマイクロプログラムが対応するある機械命令を 実現する1つの方法として作動するためである。このことは、同時性の可能性を 制限する。各マイクロ命令が次のマイクロ命令に進む前に実行するに充分な時間 を許容することが更に重要である。
このような作動条件は、一般に、その時のマイクロ命令が完全に実行されるまで は、次のマイクロ命令をシステムの資源に対して与えさせないことにより保証さ れる。現在と次の命令間の分離は、マイクロプログラム・メモリーの出力に所謂 「パイプライン」レジスタまたはラッチを置(ことにより達成される。
このパイプライン・レジスタの出力状態は、例えその入力ターミナルが次のマイ クロ命令を受取りつつある場合でも、その時のマイクロ命令である。上記のよう に、パイプライン・レジスタの出力は、その時のマイクロ命令が完全に実行され た後のみ次のマイクロ命令を変更することを許容される。
米国、カルフォルニア州すニーピル市のAdvanced Micr。
1)evices 社製のモデルAm2900マイクロプロセツサ(スライス型 )ファミリを使用する如きある従来技術のシステムにおいては、マイクロプログ ラム・メモリーの出力側のパイプライン・レジスタはシステムを実質的に2つの 部分に分割する。即ち、マイクロ命令の一部がシーケンサへ戻されて実行すべき 次のマイクロ命令のアドレスを決定する間、データ操作の制御ビソトはシステム 資源へ出る。このアドレスはマイクロプログラム・メモリーに対して送られ、メ モリーのアクセス時間が経過した後、次のマイクロ命令はパイプライン・レジス タの入力側に存在する。このため、資源が1つの命令を実行中、次の命令はマイ クロプログラム・メモリーから取出される途中である。
パイプライン・レジスタの存在は、逐次ではな(マイクロ命令の取出しをデータ 操作の少な(とも一部と同時に生じさせる。
し7かし、システム資源の少なくともあるものにおいては、マイクロ命令の実行 は基本的な操作ではなく、それ自体がステップまたは事象の内部シーケンスを含 む。このような事象のあるものは、他のステップが生じる前に必要とされる条件 を「セットアツプ」する予備操作であり、これらの1セツトアツプ」ステップは 、例えば、データまたは信号が宛先の点に進むのを待機する如き単純操作である 。即ち、資源のデータ入力におけるオペランドの値が資源内の適当な場所に進む ため、あるいは命令が実行できる前にある動作を資源内に生じさせるため時間を 要し得る。このため、資源は、セットアツプ条件が満たされるまでその最終操作 を実施することができない。従って、従来技術のシステムは、前のマイクロ命令 が完全に実行されるまで1つのマイクロ命令の実行を開始することさえしない。
従来技術のシステムはまた、少な(とも別の効率低下を蒙むる。棧々の資源の速 度の如何に拘らず、パイプライン・レジスタは同時に全ての資源に対して新たな 命令ビットを供給する。
このため、比較的遅い資源が命令サイクルを完了する間、比較的速い資源は遊休 (非生産的)状態に止まるおそれがある。更に、マイクロプログラム・メモリー に要求される速度は、最も遅い資源により(ある命令サイクル時間)支配される 。速度を必要としないかあるいは利用されないほとんどの資源に対してさえ、あ る速度のメモリーの犠牲力;要求される。
従って、本発明の目的は、マイクロ命令の実行がこれまで可能であったよりも更 に容易に開始できるシステムの提供にある。
本発明の別の目的は、マイクロ命令の実行以前に資源において生じなげればなら ない。予備的なセットアツプ操作によって生じる遅れを減らし、これにより1つ の命令サイクルの期間を短縮するマイクロプログラムされた制御装置の提供にあ る。
本発明の更に別の目的は、速度が比較的速く高価なマイクロプログラム・メモリ ーの使用を必要とすることな(命令サイクル時間を短縮することにある。
本発明の他の目的は、命令ザイクル時間を増加せずまたおそらくは短縮すること のない、速度の遅い、従って比較的安価なマイクロプログラム・メモリーの使用 を可能にすることにある。
本発明の更に他の目的は、各セグメントの速度を適当な資源の速度と整合させ得 るようにマイクロプログラム・メモリーの区分子ヒを可能にすることにある。
〔発明の要約〕
本発明によれば、上記の目的は、マイクロプログラム・シーケンサ(および、必 要に応じて、システムの他の資源とも)と共働して、従来のパイプライン・レジ スタに代る新しいマイクロ命令ラッチ機構を用いることによって達成される。こ のラッチ機構は、シーケンサまたは他の資源に、前の命令サイクルが完了する前 に新たな各命令に対するその設定アップ操作を開始させる。次の命令におけるこ の「予見」により、前の71クロ命令サイクルの完了と同時に次の命令を更に迅 速に実行させる。
説明の目的のため、本発明については、他の資源またはマイクロプロ、グラムさ れた装置とも共に使用することができるが、シーケンサに対するその使途の項に おいて論述することになろう。
上記の動作を達成するため、先に述べた従来のパイプライン・レジスタは1対の 結合されたラッチにより置換され、即ち、所謂「透過する」ラッチをマイクロプ ログラム・メモリーの出力側とシーケンサの入力側との間に置き、別のラッチを シーケンサの出力側とその出力の宛先との間に置(。あるマイクロ命令の適当な ビットが、この透過ラッチを介してシーケンサに対して与えられる。透過ラッチ は、その状態がある制御即ちラッチの「付勢」入力に対し与えられる「付勢」信 号によって選択される2状態の装置である。第1の状態(即ち、「付勢された」 即ち「透過する」状態)においては、ある伝播遅れの後、ラッチの出力信号がラ ンチの各データ人力に対して加えられる信号に追従し、第2の状態(即ち、「消 勢された」)即ち「ラッチ動作」の状態においては、ラッチが消勢される特等透 過ランチの出力がラッチの各データ入力における信号の値を保持する。
透過ラッチの「付勢」入力はンベルを感知する、即ち、ラッチは七〇付勢入力に 対して加えられる信号がローである時透過状態にあり、付勢信号がハイになる時 ラッチ状態にある。
シーケンサに対するクロック信号はまた、クロック信号の反対方向は透過ラッチ に対する付勢信号として作用するが、もし出力ランチが透過ラッチであればこの 出力ラッチに対する付勢信号として作用し、あるいはもしこれがエツジ・トリガ ー・タイプのラッチであれば出力ラッチに対するクロック信号として作用する。
シーケンサから出力されるマイクロコード・アドレスは、シーケンサの出力ラン チを介して得られろ。このため、次のマイクロコード・アドレス(ある特定のマ イクロ命令の実行の他の結果)が出力ラッチから得られると直ちに、透過する入 力ラッチが次のサイクルに対するシーケンサおよびデータを命令に露呈させる。
このため、命令がシーケンサに対してクロックされる前でさえ、データをシーケ ンサに伝播させ、その時の命令アドレスが依然としてシーケンサの出力ラッチに 存在している開法の命令に対するセットアツプ条件が生じ得る。このように、こ れらのセットアツプ条件は、その時のアドレスが出力ラッチにおいて更新されか つ新たなマイクロ命令が入力ラッチに対しラッチされる前に完了(もしくは少な くとも部分的に完了)され得る。
本発明については、特に文末の請求の範囲において明らかにされる。本発明の上 記および他の目的2%徴および利点については、図面と関連して読むべき以降の 詳細な記述を照合することにより更によ(理解することができよう。
〔図面の簡単な説明〕
図において、 第1図は従来技術によるマイクロプログラムされたシステムのブロック図、 第2図は本発明によるマイクロプログラム・システムのプロ第3A図は、従来技 術によるパイプライン状のマイクロプログラム・シーケンサを示すタイミング図 、第3B図は、本発明によるシーケンサの作用を示すタイミング図、 第4A図愈、−)に第4C図は、クロック信号およびクロック信号と関連する入 出力ラッチの各状態をそれぞれ示すタイミング図、および 第5図はマイクロコード・メモリーが多重メモリーまたはメモリー・セグメント に再分割された本発明の別の実施態様のブロック図である。
〔実施例の詳細な説明〕
例示的な従来技術のマイクロプログラムによるプロセッサ・システム10が第1 図に示される。これにおいては、マイクロプログラム・メモリー(制御ストアま たは制御メモリーとも呼ばれる)12は、実行すべきマイクロ命令を保有する。
マイクロプログラム・メモリー12の出力は、予め構成されたピットにおいて、 マイクロ命令シーケンサ16から回線14上に与えられるアドレスによって指定 される場所の内容を保有する。プログラム・シーケンサは命令の流れを制御する 。これは、どのアドレス、がマイクロプログラム・メモリーがら読出されるかを 判定し、これが更にシステムの全ての素子の作動を支配する。シーケンサは、命 令2条件信号およびこれに与えられる命令に基づいて、マイクロコード・メモリ ーから読出されるべき連続するアドレスを決定する。シーケンサに対して与えら れる命令は、色々な種類の飛越し、サブルーチンの分岐および戻りの同様に条件 付き命令を含むことができる。シーケンサによって生成される各アドレスは、1 づつ増分されるその時のアドレスが、外部ンースにより与えられる絶対アドレス または相対アドレスか、マスク可能で順位が付された多数の割込みベクトルの1 つか、内部のランダム・アクセス・メモリーからの飛越しアドレスか、あるいは スタックの最上部から得たアドレスのいずれかであり得る。
メモリー12からの各マイクロ命令は、命令サイクルが開始するような時まで、 パイプライン・レジスタ18によってシーケンサおよび他の資源から隔離され、 次いで命令がパイプライン・レジスタの出力に対し与えられる。マイクロ命令の 種々のピット・フィールドは、シーケンサ16およびアドレス・ゼネレータ20 および演算装置22の如きシステムの他の資源によって読出される。次いで、各 資源は適当な出力を生じるように作動する。
伝えば、アドレス・ゼネレータ20は、演算装置22によって使用されあるいは 演算されるべきデータおよび係数を含むデータ・メモリー24におけるアドレス 、あるいはデータ・バス26に置かれあるいはこれから取出されるべきデータま たは係数のアドレスを選択する。
このようなマイクロプログラムされた制御装置の作動速度は2つのパラメータ、 即ちマイクロプログラム・メモリーのクロック対アドレス時間、およびあるマイ クロ命令に対する最小サイクルによって特徴比できる。これらパラメータは共に 、システムの各資源が作動しなければならない速度を決定する。
ある方向におけるパイプライン・レジスタの使用は命令サイクルの連続する対を 分割して、次の命令が既に取出されつつある間命令の実行を可能にする。パイプ ライン・レジスタは典型的にはクロックされるラッチである。現存する命令は、 次の命令が取出されつつある間パイプライン・レジスタに保持され、次の命令は 実際に隔離状態に保持され、前の命令サイクルが終るまではシーケンサ(または 他の資源)に対して与えられない。
その結果、その時の命令の実行は次の命令の同時の取出によって影響を受けない 。
本発明を包含するシステムに対する対照し得るブロック図が第2図に示される。
これにおいては、パイプライン・レジスタは出力ラッチ32,34.36 と組 合せた透過ラッチ30により置換されている。クロック信号(CLK)が必要に 市じて、シーケンサ16および資源20.22ならびに出力ラッチの「付勢」タ ーミナルに対して与えられる。クロック信号の反転状態CLK*が透過ラッチ3 0の付勢ターミナルに対して与えられる。CLK信号の1つのサイクルが命令サ イクルを定義する。
クロック信号(CLK)がローである間、透過ラッチ30は付勢され、従ってそ の透過状態にあり、このためデータおよび命令がラッチの入力ターミナルから( 即ち、マイクロプログラム・メモリーから)その出力ターミナルへ送られ、この ターミナルから前記データおよび命令はマイクロ命令の種々のピットな受取る諸 装置に対して与えられる。クロックがローの状態の時出力ラッチ32.34.3 6 は消勢され即ちラッチされることになり、そのためこれらラッチはこの間隔 において前の命令サイクルの結果を保持することになる。
CLK信号がハイになると、入力ラッチ30は消勢(ラッチ)されまたマイクロ 命令を保持し、出力ラッチ32,34.36 は付勢されて前の命令サイクルの 結果を出力ラッチに対して送らせる。
このように、クロック信号がローでありかつ入力ラッチが付勢される間命令の復 号がセットアツプ時間において生じるが、出力および状態はセットアツプ時間の 間ラッチされ、あるいは立上るエツジ・クロックのローからハイへの遷移時にク ロックされる。
資源は、前の命令からの出力が各出力ラッチに捕捉されるまでその新たな入力に 応答して検索できない如何なることも行わない。換言すれば、出力は新たな入力 がラッチされると同時に開放される。
実際に、状態ラッチ(図示せず)は、前の結果がラッチされるまでは新たな状態 情報を送らない。
本発明により提供される作動シーケンスおよびタイミングを、第3A図および第 3B図のタイミングにおいて従来技術と比較する。第3A図には従来技術が示さ れている。同図では、最初のマイクロ命令が時点T、においてマイクロプログラ ム・メモリー12の出力側に現われる。ある時間の後、時点T2においシーケン サ16が次のマイクロコード・アドレスの確定を開始する。シーケンサは時点T 、で終了し、時点T4 において新たなアドレスがマイクロプログラム・メモリ ー12に与えられ、次のマ・イクロ命令がメモリー出力に現われる。この新たな 命令は時点T、においてバイプラ・イン・レジスタに対してクロックされて、古 い内容と置換する。このため、1・つの命令サイクルが時点T2〜T、に及び、 T、と14間の間隔はメモリーのアドレス対命令時間となる。対照として、本発 明の動作を第5B図に示す。同図においては、前記の事例と同様に、最初の命令 が同じ時点T1においてマイクロプログラム、・メモリ・−12の出力に現われ ることを始めの前提とする。この時点で、入力ラッチ30がその透過状態にあり 、そのため最初の命令がT1 で始まるシーケンサの入力に提示され、このため シーケンサはセットアツプ操作の実施を開始し、内部取出しを行ってデータ(こ の用語は、本文においては、「命令」とも呼ばれる情報をこれに限定することな (含むように用いられる)を内部の宛先に向けて進める。クロック信号が時点T 2において状態を変更する時、入力ラッチの状態は「ランチ」され、シーケンサ は次のアドレスの計算を完了する。シーケンサは既にその動作を開始し。
たため、時点Ts(第6A図における完了時点)よりも早いある時点T6におい ゛〔計算を完了する。
本発明によれば、あるマイクロ命令のビットがシーケンサの入力に対し与えられ る時点から次のマイクロコード・アドレスがその出力に現われる時までの時間が 短縮する。もしある固定されたクロック・、サイクルが用いられるならば、シー ケンサの応答時間におけるこの短縮は、マイクロコード・メモリーに対して一旦 アドレス指定されたその出力命令を提供する余分な時間を提供する。このため、 ある選択されたクロック速度の場合に、速度が比較的遅い(従って、比較的高価 でない)マイクロコード・メモリー乞使用することができる。反対に、同じ速度 のメモリーの場合には、クロック・サイクルは短(することができ、その結果命 令サイクルが速(なり、単位時間当り比較的大きな操作回数乞実施する能力をも たらす。典型的には、もし予め70ナノ秒の1つのクロック・サイクルが用いら れるならば、本発明は命令からシーケンサにおける出力アドレスまでの時間を約 20ナノ秒だけ短縮することができる。このため、命令す、1クルは20ナノ秒 だけ短縮することができ、あるいはマイクロコード・メモリーのアドレス対出力 の待ち速度を20ナノ秒だけ増加させることができる。このことは、このような システムにおいてはマイクロコード・メモリーのコストが他の構成素子のコス) Yかなりの程度上回り得るため、非常に重要となる。このように、速度が比較的 遅いメモリーを用いることによるマイクロコード・メモリーのコストの低減でき ろということは、システム全体のコストの低減に大きな効果を持つことができる 。例えば、もしマイクロコード・メモリー・が64,000ワードからなるもの とし、例えば64ビツトである、即ち各マイクロ命令が64ビツトの長さである ものとすれば、60ナノ秒のメモリーのコストは数千ドルにもなり得よう。対照 として、もし50ナノ秒のメモリ、−が用いられるならば、コストは30乃至4 0%減少し得ることになろう。
同様に、もしアドレス・ゼネレータが本発明を用いて付勢されてより迅速にアド レスを提供するならば、データ・メモリーが作動する時間が長(なり、速度の比 較的遅い従って比較的安価なデータ・メモリーを使用することも可能となる。し ばI−ばマイクロコード・メ七り−よりも更に多くのデータ・メモリーが提供さ れることになり、このため速度の遅いメモリーの使用によるコスト節減は、速度 の遅いマイクロコード・メモリーの使用によるコスト節減よりも更に大きなもの となり得る。
本発明のラッチ装置は、j1A次操作のあるものを実施する際の有利なスタート ラ可能にするため、1つの命令サイクルの過程における順次操作を行う装置と関 連して最も効果的である。
クロック信号とラッチの状態との間の関係は、第4A図乃至第4C図に示されて いる。クロック信号(CLK)は参考のため第4A図に示されている。入力ラッ チ60の状態は第4B図に示されているが、出力ラッチ62(例えば)の状態は 第4C図に示されている。
本発明の別の態様が第5図に示されろが、同図において図示されるようにマイク ロコード・メモリー12が多重記憶素子(またはメモリー・セグメント)に再分 割部5区分され、このようなマイクロコード・メモリー素子12A、12B、1 2Cの6つが例示のため示されている。記憶素子12A〜12Cは共通にアトし ・ス指定されるが異なるアドレス対出力時間乞有し、その結果速度の低下が許容 され得る場合に速度の遅いメモリーラ使用することができる。このため、例えば 、マイクロコード・メモリー・セグメントの速度とデータ・メモリーの如き資源 の速度との間にある妥協が許される。各システムの資源は、関連する記憶素子と インターフェースするだめの透過ラッチ30A〜30Cと関連付けられる。
本発明の別の利点は、シーケンサが条件信号(条件フラッグとも呼ばれる)に対 して更に迅速に応答できることである。条件信号は、レジスタの桁溢れの如き示 された1つの事象が生じたかどうかを示すものである。条件信号は種々の装置に よって構成され、これはしばしば条件信号を生じてこれを別のパイプ° ライン の遅延を要することなく適当な時点において使用されるようシーケンサに持込む ことを可能にする重要な限定要因である。本発明においては、シーケンサはセッ トアツプの合間における条件入力およびデータ/命令の探索が可能で、その結果 最小の遅延量でこれらに対する作動が可能となる。
更に、パイプライン・レジスタは透過ラッチにおけるものの2倍もの記憶ビット 当りのトランジスタを必然的に有するため、パイプライン・レジスタの代りの1 対の透過ラッチ(1つはソースの入力側、他方はその出力側)の使用は、それ以 上の遅れをほとんど生じない。従って、この手法は集積回路における構成によ( 適合する。
本発明の実施例について本文に述べたが、当業者には種々の変更、修正および改 善が容易に着想されることが明らかであろう。このような明瞭な変更、修正およ び改善については、本文には明示的には記述しないが黙示的に示され、かつ本発 明の主旨および範囲内にあるものである。例えば、第2図はマイクロコード・メ モリ7の出力のバッファリングにおいて完全にバ1゛プライン・レジスタに代替 する透過ラッチを示すが、本発明の利点のあるものは別の形態によって得られる ことを理解すべきである。このように、透過ラッチが(無論、出力ラッチと組合 せて)少なくともシーケンサまたはアドレス・ゼネレータに対する入力バッファ として使用される限り、パイプライン・レジスタはシステムの資源のあるものに 対する入力をバッファするため使用することもできる。更にパイプライン・レジ スタは、アドレス・ゼネレータの入力側における透過ラッチと共に、シーケンサ の出力側に用いることもでき、これによりアドレス・ゼネレータは、対照的にも しパイプライン・レジスタがアドレス・ゼネレータの入力側に用いられるならば 資源が新たな情報から隔離される時であるクロック・サイクルのローの部分の間 に、適当なマイクロ命令のピット・フィールドを「探索」するため役立つことに なる。更に、本発明はマイクロプログラム・システムの関連において説明したが 、この環境は単に例示の目的のため用いたものに過ぎない。他のタイプの命令お よび命令タイプの組合せを本発明を用いて実行することができる。例えば、レベ ルの高い命令をシーケンサにより与えられろアドレスに応答して取出すこともで き、マイクロ命令は演算装置の如き選択された資源のみに与えられる。
従って、本文の記述は例示のみを意図するもので限定するものではなく、本発明 は交尾の請求の範囲およびこれと相当の内容によってのみ限定され定義されるも のである。
COO 国 際 調 査 報 宍 la+++M+ha*−^eo11CI+n−NO,PCT/l’s 8610 0243ANNEX To TF、E INTERNATIONAL 5EAR C4(REPORT ON

Claims (18)

    【特許請求の範囲】
  1. 1.命令メモリーから命令を受取りかつこれを処理するためプログラムされた制 御装置に使用される装置において、a.複数のデータ入力と、各データ入力と関 連する出力ターミナルと、透過ラツチの状態を制御するため付勢信号を受取るラ ツチ付勢入力ターミナルとを有する透過ラツチを設け、該透過ラツチは付勢信号 が予め定義された付勢状態で与えられる時その透過状態にあり、前記付勢信号が 予め定義されたラツチ状態で与えられる時は前記ラツチがラツチ状態にあり、b .入力ターミナルと出力ターミナルとを有するシステムの資源を設け、 c.前記透過ラツチのデータ入力ターミナルは、前記命令メモリーの出力側から これに与えられる各命令から選択された出力ビツトを受取るよう結合され、透過 ラツチの出力ターミナルは前記システムの資源の選択された入力ターミナルに結 合され、d.複数のデータ入力ターミナルと各データ入力ターミナルと関連する 出力ターミナルとを有する出力ラツチを設け、e.前記システムの資源の出力は 、前記出力ラツチのデータ入力ターミナルに対して結合されることを特徴とする 装置。
  2. 2.f.前記出力ラツチが該ラツチの状態を制御するためクロツク信号を受取る ようになつており、 g.前記資源と関連する前記透過ラツチが、その付勢入力ターミナルにおいてか かるクロツク信号の反転した状態を受取るようになつており、 h.前記の反転したクロツク信号が前記透過ラツチに対する付勢信号を含むこと を更に特徴とする請求の範囲第1項記載の装置。
  3. 3.マイクロ命令を実行する情報処理システムであつて、マイクロ命令メモリー と、入力ターミナルと出力ターミナルを有するシステム資源と、前記マイクロ命 令メモリーに対し取出されるべきマイクロ命令の連続アドレスを提供する装置と を含み、前記マイクロ命令メモリーはそのアドレス入力に対して与えられるアド レスに応答してその出力にマイクロ命令を与えるようになつているシステムにお いて、 a.複数のデータ入力ターミナルと、各データ入力ターミナルと関連する1つの 出力ターミナルと、透過ラツチの状態を制御するため付勢信号を受取るラツチ付 勢入力ターミナルとを有する透過ラツチを設け、該透過ラツチは前記付勢信号が 予め定義された付勢状態で与えられる時はその透過状態にあり、また該ラツチは 前記付勢信号が予め定義されたラツチ状態において与えられる時はラツチ状態に あり、 b.前記透過ラツチのデータ入力ターミナルは前記マイクロ命令メモリーから前 記マイクロ命令の出力に与えられる各マイクロ命令から選択された出力ビツトを 受取るよう結合され、前記透過ラツチの出力ターミナルは前記システムの選択さ れた入力ターミナルに対し結合され、 c.複数のデータ入力ターミナルおよび各データ入力ターミナルと関連する1つ の出力ターミナルとを有する出力ラツチと、d.前記システムの資源の出力が前 記出力ラツチのデータ入力ターミナルに対し結合されることを特徴とするシステ ム。
  4. 4.システムの資源と関連する出力ラツチに対して与えられ、前記クロツク信号 の反転した状態が前記資源と関連する透過ラツチの付勢入力に対してその付勢信 号として与えられることを更に特徴とする請求の範囲第3項記載のシステム。
  5. 5.前記マイクロ命令メモリーに対して取出されるべき前記の連続するマイクロ 命令アドレスを与える前記装置がシーケンサであり、 e.第2の透過ラツチを設け、そのデータ入力ターミナルが、前記マイクロ命令 メモリーからその出力に与えられる各マイクロ命令から選択された出力ビツトを 受取るよう結合され、その出力ターミナルが前記シーケンサのデータ入力に対し て結合されることを更に特徴とする請求の範囲第3項記載のシステム。
  6. 6.f.複数のデータ入力ターミナルおよび各データ入力ターミナルと関連する 1つの出力ターミナルとを有する第2の出力ラツチを設け、 g.前記シーケンサの出力が前記第2の出力ラツチのデータ入力ターミナルに結 合され、 h.前記第2の出力ラツチの出力ターミナルが、命令メモリーのアドレス入力タ ーミナルの各々に対して作用的に結合されることを更に特徴とする請求の範囲第 5項記載のシステム。
  7. 7.デイジタル命令を実行するためのデイジタル情報処理システムであつて、連 続する命令の何れか2つがそれぞれ第1と第2の命令と呼ばれるシステムにおい て、a.アドレス指定可能な場所に命令を格納しかつかかる場所に対して与えら れるアドレス信号に応答して該場所から命令を供給する命令メモリーと、 b.与えられたクロツク信号に応答するクロツクされる素子を含み、入力ターミ ナルと出力ターミナルとを有するプログラム・シーケンサとを設け、 C.前記シーケンサの出力ターミナルが前記命令メモリーに対して作用的に結合 され、該メモリーに対し前記命令メモリーから取出されるべき次の命令を示すた めのアドレス信号を前記命令メモリーに与え、 d.前記シーケンサの入力ターミナルに対して、前記命令メモリーにより与えら れる各命令の予め定めたビツト・フイールドを与えるラツチ装置を設け、該ラツ チ装置は、前記シーケンサが前記命令メモリーに対して第1の命令に応答するシ ーケンサにより生成されるアドレス信号を与える前に、前記シーケンサに対して 前記第2の命令の予め定めたビツト・フイールドを与えることを特徴とするシス テム。
  8. 8.前記の予め定めたビツト・フイールドを前記シーケンサの入力ターミナルに 対して与える装置が、(i)前記命令メモリーの出力に与えられる各命令から選 択されたビツトを前記命令メモリーから受取るよう結合された透過ラツチを含み 、該透過ラツチは透過状態とラツチ状態とを有し、該ラツチの状態はその付勢入 力ターミナルに対して与えられる付勢信号に対し与えられる付勢信号の状態によ り選択され、(ii)前記クロツク信号の反転状態が前記付勢信号として前記付 勢入力に対し与えられ、 (iii)前記透過ラツチの出力ターミナルが前記シーケンサの入力ターミナル の各々に対して結合されることを更に特徴とする請求の範囲第7項記載のシステ ム。
  9. 9.前記命令がマイクロ命令であることを更に特徴とする請求の範囲第8項記載 のシステム。
  10. 10.e.入力ターミナルの各々が前記シーケンサの各出力ターミナルに対し結 合された出力ラツチと、 f.前記出力ラツチの出力ターミナルが前記命令メモリーのアドレス入力ターミ ナルの各々に対して結合されることを更に特徴とする請求の範囲第8項記載のシ ステム。
  11. 11.前記命令がマイクロ命令であることを更に特徴とする請求の範囲第10項 記載のシステム。
  12. 12.マイクロ命令を実行し、マイクロ命令メモリーと、マイクロプログラム・ シーケンサと、前記マイクロ命令の種々のビツト・フイールドを受取りこれにつ いて作動するシステムの資源とを有するデイジタル情報処理システムにおいて、 a.前記マイクロ命令メモリーから、その出力に与えられる各マイクロ命令から 選択されたビツトを受取るよう結合された透過ラツチを設け、 b.前記透過ラツチの出力ターミナルは、前記シーケンサのマイクロ命令入力タ ーミナルの各々と結合され、c.前記シーケンサの各出力ターミナルに対してそ の入力ターミナルの各々が結合された出力ラツチを設け、d.前記出力ラツチの 出力ターミナルが、前記マイクロ命令メモリーのアドレス入力ターミナルの各々 と結合されることを特徴とするシステム。
  13. 13.マイクロ命令を実行する情報処理システムであつて、マイクロ命令メモリ ーと、該マイクロ命令メモリーに対して取出されるべきマイクロ命令の連続する アドレスを与えるシーケンサとを含み、前記マイクロ命令メモリーはその出力に おいてそのアドレス入力に対し与えられたアドレスに応答してマイクロ命令を与 えるシステムにおいて、 a.複数の入力と各入力と関連する1つの出力とを有する透過ラツチを設け、 b.該透過ラツチの入力は、前記マイクロ命令メモリーから、前記マイクロ命令 メモリーの出力に与えられた各命令から選択された出力ビツトを受取るよう結合 され、前記透過ラツチの出力は前記シーケンサの入力に対して結合され、c.複 数の入力と各入力と関連する1つの出力とを有する出力ラツチを設け、 d.前記シーケンサの出力は前記出力ラツチの入力に対して結合され、 e.前記出力ラツチの出力が前記マイクロ命令メモリーのアドレス入力に対して 結合されることを特徴とするシステム。
  14. 14.前記クロツク信号が前記シーケンサに対し与えられ、前記クロツク信号の 反転状態が前記透過ラツチの付勢入力に対して与えられることを更に特徴とする 請求の範囲第13項記載のシステム。
  15. 15.マイクロ命令を実行する情報処理システムであつて、マイクロ命令メモリ ーと、取出されるべきマイクロ命令の連続アドレスを前記マイクロ命令メモリー に対して与えるシーケンサとを含み、前記マイクロ命令メモリーはその出力にお いてそのアドレス入力に対し与えられるアドレスに応答してマイクロ命令を与え るシステムにおいて、 a.前記マイクロ命令メモリーは複数のメモリー・セグメントに分割され、各イ モリー・セグメントは各マイクロ命令の予め定めたビツトを与え、更に他のメモ リー・セグメントのアドレス対出力時間とは独立的にアドレス対出力応答で作動 し、b.各メモリー・セグメント毎に複数の入力と各入力と関連する1つの出力 とを有する透過ラツチを設け、c.第1の透過ラツチの入力が、前記マイクロ命 令メモリーの第1のセグメントから、前記マイクロ命令メモリーの出力に与えら れる各マイクロ命令から選択された出力ビツトを受取るよう結合され、かかる第 1の透過ラツチの出力が前記シーケンサの入力に対して結合され、 d.他の各透過ラツチの入力が、前記マイクロ命令メモリーの他のセグメントか ら、各マイクロ命令から選択された他の出力ビツトを受取るよう結合され、かか る他の各透過ラツチの出力が前記システム資源の1つの入力に対し結合され、e .前記シーケンサおよびシステムの各資源に対し、複数の入力と各入力と関連す る1つの出力とを有する関連する出力ラツチを設け、 f.前記シーケンサの出力が前記の関連する出力ラツチの入力に対し結合され、 g.かかる出力ラツチの出力が前記マイクロ命令メモリーのアドレス入力に対し て結合されることを特徴とするシステム。
  16. 16.マイクロ命令を実行する情報処理システムであつて、マイクロ命令メモリ ーと、アドレス・ゼネレータと、該アドレス・ゼネレータによりアドレス指定可 能なデータ・メモリーと、前記マイクロ命令メモリーに対し取出されるべきマイ クロ命令メモリーの連続するアドレスを与える装置とを含み、前記マイクロ命令 メモリーが、その出力において、そのアドレス入力に対し与えられるアドレスに 応答してマイクロ命令を与えるシステムにおいて、 a.複数の入力および各入力と関連する1つの出力とを有する透過ラツチを設け 、 b.該透過ラツチの入力が、前記マイクロ命令メモリーから、その出力に与えら れる各マイクロ命令から選択された出力ビツトを受取るように結合され、前記透 過ラツチの出力は前記アドレス・ゼネレータの選択された入力に対し結合され、 c.複数の入力と各入力と関連する1つの出力とを有する出力ラツチを設け、 d.前記アドレス・ゼネレータのアドレス出力が前記出力ラツチの入力に結合さ れ、 e.前記出力ラツチの出力が前記データ・メモリーのアドレス入力に結合される ことを特徴とするシステム。
  17. 17.クロツク信号が前記アドレス・ゼネレータに対し与えられ、前記クロツク 信号の反転状態が前記透過ラツチの付勢入力に対し与えられることを更に特徴と する請求の範囲第16項記載のシステム。
  18. 18.第1と第2の状態間で交互に現われるクロツク信号により制御される情報 処理システムにおいて命令メモリーから取出されるべき命令の連続するアドレス を生じるため使用される命令シーケンサを操作する方法において、 a.前記クロツク信号が第1の状態にある間、命令メモリーから取出されるべき 次の命令のアドレスを生成するために、使用されるべき1組の情報を前記シーケ ンサに対して与え、b.該クロツク信号をシーケンサに対して与え、クロツク信 号の状態における第1の状態から第2の状態への変化に応答して、前記の組の情 報を用いて前記シーケンサが次の命令のアドレスを計算することからなることを 特徴とする方法。
JP61501145A 1985-02-11 1986-02-04 透過ラッチを用いるマイクロプログラム可能な装置 Pending JPS62502430A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/700,666 US4791551A (en) 1985-02-11 1985-02-11 Microprogrammable devices using transparent latch
US700666 1985-02-11

Publications (1)

Publication Number Publication Date
JPS62502430A true JPS62502430A (ja) 1987-09-17

Family

ID=24814422

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61501145A Pending JPS62502430A (ja) 1985-02-11 1986-02-04 透過ラッチを用いるマイクロプログラム可能な装置

Country Status (4)

Country Link
US (1) US4791551A (ja)
EP (1) EP0214184A1 (ja)
JP (1) JPS62502430A (ja)
WO (1) WO1986004700A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62226231A (ja) * 1986-03-27 1987-10-05 Toshiba Corp プロセツサ
US5053941A (en) * 1986-08-29 1991-10-01 Sun Microsystems, Inc. Asynchronous micro-machine/interface
GB2194657B (en) * 1986-08-29 1991-05-15 Sun Microsystems Inc Asynchronous micro-machine/interface
US5053952A (en) * 1987-06-05 1991-10-01 Wisc Technologies, Inc. Stack-memory-based writable instruction set computer having a single data bus
JPH01205336A (ja) * 1988-02-12 1989-08-17 Nec Corp シーケンサ制御回路
DE68927218T2 (de) * 1988-10-18 1997-02-06 Hewlett Packard Co Verfahren und Vorrichtung für Zustandskode in einem Zentralprozessor
US5134693A (en) * 1989-01-18 1992-07-28 Intel Corporation System for handling occurrence of exceptions during execution of microinstructions while running floating point and non-floating point instructions in parallel
US5838933A (en) * 1993-10-21 1998-11-17 Sun Microsystems, Inc. Control circuit and method for a first-in first-out data pipeline
US5859995A (en) * 1994-11-02 1999-01-12 Advanced Micro Devices, Inc. Method and apparatus for coordinating combinatorial logic-clocked state machines
EP0715251B1 (en) * 1994-11-29 2000-07-26 International Business Machines Corporation One cycle processor for real time processing
US5937177A (en) * 1996-10-01 1999-08-10 Sun Microsystems, Inc. Control structure for a high-speed asynchronous pipeline
US9141386B2 (en) * 2010-09-24 2015-09-22 Intel Corporation Vector logical reduction operation implemented using swizzling on a semiconductor chip

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS537336B2 (ja) * 1973-12-29 1978-03-16
US4197579A (en) * 1978-06-06 1980-04-08 Xebec Systems Incorporated Multi-processor for simultaneously executing a plurality of programs in a time-interlaced manner
US4450525A (en) * 1981-12-07 1984-05-22 Ibm Corporation Control unit for a functional processor
US4594661A (en) * 1982-02-22 1986-06-10 International Business Machines Corp. Microword control system utilizing multiplexed programmable logic arrays
US4573118A (en) * 1983-03-31 1986-02-25 Fairchild Camera & Instrument Corporation Microprocessor with branch control

Also Published As

Publication number Publication date
US4791551A (en) 1988-12-13
EP0214184A1 (en) 1987-03-18
WO1986004700A1 (en) 1986-08-14

Similar Documents

Publication Publication Date Title
US6115808A (en) Method and apparatus for performing predicate hazard detection
US9032185B2 (en) Active memory command engine and method
JPS62502430A (ja) 透過ラッチを用いるマイクロプログラム可能な装置
JPH0346850B2 (ja)
KR100210205B1 (ko) 스톨캐쉬를 제공하기 위한 장치 및 방법
US5907693A (en) Autonomously cycling data processing architecture
JPH05342084A (ja) データ記憶装置及びデータ記憶方法
US6012138A (en) Dynamically variable length CPU pipeline for efficiently executing two instruction sets
US4430708A (en) Digital computer for executing instructions in three time-multiplexed portions
EP0164418B1 (en) Microprogram control system
US5586337A (en) Programmable controller with timing control
JPS63228225A (ja) ディジタルコンピュータシステム
JPH02235289A (ja) 自己刻時レジスターファイル
JPH02197924A (ja) 中央演算処理装置
KR102643031B1 (ko) 프로그램 가능 시퀀서와 이를 이용한 시스템 온 칩 장치
JP2000020309A (ja) デジタルシグナルプロセッサ
JPH0222414B2 (ja)
JPS61161509A (ja) 高速シ−ケンス演算方式及びその装置
KR19980059782A (ko) 프로세서의 메모리 다중 액세스 회로
JPH04328635A (ja) スコアボード制御装置
JPH05127894A (ja) 命令実行方式
JP2002244846A (ja) プロセッサとその回路ソースを記録したコンピュータ読み取り可能な記録媒体、及びプロセッサ用の処理プログラムを機械語に変換するアセンブラ
JPH01188949A (ja) メモリアクセス制御装置
JP2000066893A (ja) 演算処理装置
JPS60233731A (ja) デイジタル情報処理装置