JPS62501940A - マイクロプログラム・コントロ−ラの改良 - Google Patents

マイクロプログラム・コントロ−ラの改良

Info

Publication number
JPS62501940A
JPS62501940A JP61501315A JP50131586A JPS62501940A JP S62501940 A JPS62501940 A JP S62501940A JP 61501315 A JP61501315 A JP 61501315A JP 50131586 A JP50131586 A JP 50131586A JP S62501940 A JPS62501940 A JP S62501940A
Authority
JP
Japan
Prior art keywords
memory
instruction
register
address
current instruction
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
JP61501315A
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 JPS62501940A publication Critical patent/JPS62501940A/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/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/262Arrangements for next microinstruction selection
    • G06F9/264Microinstruction selection based on results of processing
    • G06F9/267Microinstruction selection based on results of processing by instruction selection on output of storage

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)
  • Advance Control (AREA)
  • Debugging And Monitoring (AREA)

Abstract

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

Description

【発明の詳細な説明】 マイクロプログラム・コントローラの改良本発明は、指定のアドレスに命令を格 納するメモリ、現在命令を保持するレジスタ及び算術論理装置(ALU)を有し 、このALUは現在命令を実行しこれによって次の命令の選択を変更するほか外 部データを処理しかつメモリ内の対応するアドレスをアクセスすることを特徴と するマイクロプログラム・コントローラに関する。
出願人にとって既知の従来技術のコントローラにおいては、(通常の場合、有限 状態オートマクの)電子ディジタル計算装置は「マイクロプログラム・シーケン サ」によって通常の場合制御されている。この装置は、ループ・アレンジメント 内に接続された、コード化命令を含むメモリと、レジスタとを具備している。最 も簡単なアレンジメントが第1図に示しである。第1図において、レジスタRは 現在マイクロ命令を保持し、このマイクロ命令は算術/論理装置(ALU)に供 給され、そしてこのALUはこの命令を実行するとともに所用に応じ外部データ を処理する。マイクロ命令の付加フィールドは、実行対象の次の命令のメモリ・ アドレスを提供する。
実際のシステムにおいては、この「次のアドレス」はALU出力による更新が可 能であり、「条件付き飛越し」機能を提供する。
出願人にとって既知の他の従来技術のシステムは、コントロール・テータ株式会 社(Control Data Corporation)の名においてオース トラリヤ特許明細書第535105及び538215号に開示されている。この 開示によるシステムは、各々のメモリ・バンクごとに別々のレジスタとサポート 回路、バス等の使用を必要とするものである。
本発明の主たる目的は、計算された飛越しおよび/またはサブルーチンを可能な らしめこれによりパイプライン・アーキテクチャのスピードとコンバインされた シングル・パス・マシンのプログラミングの容易性を提供するエンホンスされた 機能を有するマイクロプログラム・コントローラを提供することである。
この目的を考慮した本発明によれば、指定のアドレスに命令を格納するメモリ、 次の命令のアドレスをメモリ内に含む現在命令を保持するレジスタ及び現在命令 を実行してこれによって次の命令の選択を変更するほか外部データを処理する算 術論理装置を具備するマイクロプログラム−コントローラを提供し、このマイク ロプログラム・コントローラにおいて、メモリを2つのバンクに分割してその各 々のメモリの出力が起りうる次の命令である出力をレジスタに接続されている第 1のマルチプレックサに供給することと、算術論理装置によって発生した(「0 」および「1」を含む)種々の条件のすべての数を一度に1個づつ前記現在命令 の実行と同時に入力として取り込むためかつ第1のマルチプレックサにおける次 の命令のいずれかが次に実行されるべくレジスタにロードされるかを決定する2 進出力を生じるために第2のマルチプレックサを設けることとから成る改良を施 すものである。
詰まるところ、条件付飛越し機能の殆んど大半は、事実上、ツウ・ウェイ判断す なわち(ある条件のもとて)IF、(これを実行し)THEN Do、(さもな ければ他を実行する)OTHERWI SE Doによる判断であると認識され る。新しいアーキテクチャは、この種の判断を最適化するように設計されている 。
添付の線図により従来技術のシステムと本発明とを照合することができ、第】図 および第2図は既知のマイクロプログラム・シーケンサのブロック図である。
第3図は本発明によるマイクロプログラマのブロック図を示す。
第4図は本発明により構成されたモディファイド・マイクロプログラム・コント ローラのブロック図である。
第1図および第2図について説明すると、第1図の回状破線矢印は種々の動作の タイム・シーケンスを示している。この経路を回る全遅延時間は、マシンの最大 スピードを制限する。メモリにおける遅延時間とALUにおける遅延時間とは経 路遅延の断熱最大構成要素を呈し、かつ実用システムにおいてCよ相等しいこと が多いので、第2図のスキームはこれらの機能を並列進行せしめることによって (第2図の2個の矢印を参照のこと)マシンのスピードを2倍にするため使用す ることができる。
第2図において、現在命令とこの後続命令アドレスとは2個のレジスタR1およ びR2内に保持されている。
同IIに、メモリはREの入力に現在命令を引渡し、この現在命令の後続命令の アドレス(すなわち、2番目の後続)はALUによってR2に引渡される。両レ ジスタはシステム・クロックに基づいて同時に更新する。「パイプライン方式( pipelining) Jとして知られているこのスキームは広く使用されて いる。
パイプライン化システムの不利な点は、2個のレジスタを現在/後続用に使用す ることにある先天的なものである。制御の流れに影響を与えること(すなわち、 飛越し)を望む命令は、条件付き飛越しの実行に際しそのアドレスがすでにラッ チされている後続命令に影響を与えることは不可能である。この命令はその2番 目の後続命令に影響を与えることが可能であるにすぎない。このことζよプログ ラミングに著しい不都合を招く結果になっている。これはさらに、最短可能性プ ログラム「ループ」が、たとえ1つの命令がすべての所要機能を実施するために (与えられたALU構成において)十分であるとしても、少なくとも2つの命令 を包含する制約を強いるものである。
本発明に基づくスキームは、第3図に詳しく示しである。この場合のメモリは、 各々が最初のサイズ(全体的サイズはプログラム要求によって指示される)の半 分であろ2つのバンク(AおよびB)に分割され、かつ第2図のレジスタR2は いずれかのメモリ・バンクの出力をレジスタRに引渡すことが可能なマルチプレ ックサM1によって置換されている。2本の並列経路は以前のとおりで、回状破 線矢印で示されている。
現在命令はRから出力され、ALUは所望数値の計算を開始する。可能性のある インクレスト(ゼロ、ネガティブ等)の種々の条件が、定数値0および1ととも に、二次マルチプレックサM2に入力として提供される。M2は命令によって指 定されたところに従ってこれら入力の1つを選択し、かっ2進出力rsWITc HJを生じろ。
この間に、現在命令のアドレス・フィールドは両メモリ・バンクを同時にアクセ ス完了していて、2つの可能性後続命令を生じろ。また、スピードの遅いプロセ ス、すなわちA L U (33能および、メモリ・アクセスも同時に始まる。
最後に、信号rsWITcHJが、マルチプレックサM1に従って、前記2つの 可能性後続命令のいずれかが実際にRにロードされて次に実行されるかを判断す る。このことから現在命令はその直後続命令をモディファイ完了したことになり 、簡単なプログラミング方法を(第1図のように)使用することができる。命令 の後続命令アドレスをコード化してそれ自身に対してポイントすることによって 、1命令「ループ」を生じることができる。ルーピング条件が確立している限り 、(メモリの1つのバンク内の)命令は繰返し実行され、この条件が失われると 、代りに一方の命令が実行されそしてプログラムが進行する。
通常の命令、すなわち条件効果を有しない命令は単にM2にリテラル人力0およ び1の一方を選択せしめる、従って制御の流れを所要に応じてバンクAまたばB に明白に導く。
マルチウェイ分岐モディフィケーションALUによって計算された値にもとづき マルチウェイ分岐を実施するための有限能力は多く望まれるところである。この ような機能は、マルチプレックサM1を、現在命令および次のアドレス・フィー ルドをそれぞれ取扱う2つのセクションに分割することによって、第3図のアー キテクチャに容易に付加することが可能で、これによって第4図のアーキテクチ ャをもたらす。現在命令のフィールドは、次のアドレス・フィールドのほとんど の作動と同様に、上述のごとく作動する。アドレス・フィールドの部分には、A LUによって以前にロードされたレジスタから供給された付加入力チャンネル( 第4図のrBRANCHJ )が付与されている。現在命令内の制御ビットは必 要の場合この付加選択を可能ならしめ、これにより選択アドレス・フィールドを 以前に計算された値と置換する。
リテラル出力モディフィケーション 使用頻度は小であるにもかかわらず重要な機能は、マイクロプログラムにとって 一定の時間にALUに対してリテラル値を供給する能力である。この機能はLI TERALレジスクを付加することによって得られる(第4図)。
マシン・サイクルことに、1つのメモリーバンク (この例においては、メモリ ・バンクB)内の現在値はこのレジスタにロードされ、所要の場合ALUによっ て読出し可能である。これはリテラル・レジスタに有意味データをロードする命 令はバンクAに常駐しなければならないことを意味するが、これは対応するバン クBの記憶位置は命令ではなくリテラル・データを内容として有しているからで ある。一方のバンクから他方のバンクへの分岐処理に何らの不利益も付帯しない ので、これは問題でない。一旦ロードされると、リテラル・レジスタ内の値はま さにもう1つのALU入力となり、所要の場合アクセスさnろ。
サブルーチン・モディフィケーション L I T E RA LレジスタがBRANCHレジスタにデータを渡すこと が可能であれば(すなわち、実際に、両しジスクが同一レジスタであれば)、単 一レベルのサブルーチン・リンゲージを提供するための巧みな手段がある。
複数のレジスタ・セットによって複数のザブルーチン・ネスティング・レベルを 提供しうるであろう。この簡単なスキームは上記のほか単にサブルーチンのバン クAからの呼び出しを可能ならしめるものであり、深刻な問題でない。
第1図 第2図 国際V@交報告 ANNEX To THE INTERNATIONAL 5EARCHREP DRT 0NINTERNATIONAL APPLICATION No、ρ CT/ALI 86100041

Claims (4)

    【特許請求の範囲】
  1. 1.指定のアドレスに命令を格納すろメモリと、次の命令のアドレスを前記メモ リ内に含む現在命令を保持するレジスタと、前記現在命令を実行してこれによっ て次の命令の選択を変更すろほか外部データを処理すろ算術論理回路とを具備す ろマイクロプログラム・コントローラにおいて、 このマイクロプログラム・コントローラの改良は、前記メモリを2つまたはそれ 以上のバンクに分割してその各々のメモリの出力が起りうる次の命令である前記 メモリ出力を命令レジスタに接続されている第1のマルチプレックサに供給すろ ことと、算術論理装置によって発生した(「1」および「0」を含む)種々の条 件のすべての数を一度に1個づつ現在命令の実行と同時に入力として取り込むた めかつ前記第1のマルチプレックサにおけろ次の命令のいずれかが次に実行され ろべくレジスタにロードされるかを決定すろ2進出力を生じろために第2のマル チプレックサを設けろこととを具備すろことを特徴とすろマイクロプログラム・ コントローラの改良。
  2. 2.前記第1のマルチプレックサは2つのセクションに分割され前記の現在命令 および次のアドレス・フィールドをそれぞれ取扱いかつ前記算術論理装置によっ て以前ロードされたレジスタから供給された付加入力チャンネルを有するアドレ ス・フィールドを提供することを特徴とすろ請求の範囲第1項に記載の発明。
  3. 3.前記マイクロプロセッサの一定時間におけろ前記算術論理装置に対すろリテ ラル値の供給を可能ならしめるためLITERALレジスタが付加されているこ とを特徴とする請求の範囲第1項または第2項に記載の発明。
  4. 4.サブルーチン・ネスティング・レベルの単一または複数レベルを提供すろた めの手段を具備すろことを特徴とする上記請求の範囲のいづれかに記載の発明。
JP61501315A 1985-02-20 1986-02-19 マイクロプログラム・コントロ−ラの改良 Pending JPS62501940A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
AU9383 1985-02-20
AUPG938385 1985-02-20

Publications (1)

Publication Number Publication Date
JPS62501940A true JPS62501940A (ja) 1987-07-30

Family

ID=3770948

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61501315A Pending JPS62501940A (ja) 1985-02-20 1986-02-19 マイクロプログラム・コントロ−ラの改良

Country Status (4)

Country Link
EP (1) EP0215028A4 (ja)
JP (1) JPS62501940A (ja)
AU (1) AU582424B2 (ja)
WO (1) WO1986005015A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5119484A (en) * 1987-02-24 1992-06-02 Digital Equipment Corporation Selections between alternate control word and current instruction generated control word for alu in respond to alu output and current instruction
DE3882298T2 (de) * 1987-02-24 1994-02-24 Digital Equipment Corp Schaltung zur steuersignalerzeugung für eine arithmetische logische einheit in einem digitalverarbeitungsgerät.
JPH04328634A (ja) * 1991-04-26 1992-11-17 Nec Corp マイクロプログラム制御装置
EP0522513A2 (en) * 1991-07-09 1993-01-13 Hughes Aircraft Company High speed parallel microcode program controller
US6629262B1 (en) * 1999-09-30 2003-09-30 Toshiba Tec Kabushiki Kaisha Multiplexed storage controlling device

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3570006A (en) * 1968-01-02 1971-03-09 Honeywell Inc Multiple branch technique
JPS5410219B2 (ja) * 1973-12-07 1979-05-02
US3909797A (en) * 1973-12-13 1975-09-30 Honeywell Inf Systems Data processing system utilizing control store unit and push down stack for nested subroutines
US4459666A (en) * 1979-09-24 1984-07-10 Control Data Corporation Plural microcode control memory
US4336602A (en) * 1979-09-24 1982-06-22 Control Data Corporation Network for generating modified microcode addresses
DE3009121C2 (de) * 1980-03-10 1982-02-18 Siemens AG, 1000 Berlin und 8000 München Mikroprogramm-Steuereinrichtung
DE3376893D1 (en) * 1982-10-18 1988-07-07 Nec Corp Information processing apparatus and its instruction control system
JPS59128642A (ja) * 1983-01-14 1984-07-24 Hitachi Ltd マイクロプログラム制御機器のパイプライン方式

Also Published As

Publication number Publication date
WO1986005015A1 (en) 1986-08-28
EP0215028A1 (en) 1987-03-25
AU5459986A (en) 1986-09-10
EP0215028A4 (en) 1987-07-23
AU582424B2 (en) 1989-03-23

Similar Documents

Publication Publication Date Title
CA1248638A (en) Three phased pipelined signal processor
JPS6217252B2 (ja)
JPS6313215B2 (ja)
JPS585847A (ja) 命令ブランチ機構
JPS59117666A (ja) ベクトル処理装置
CA1180455A (en) Pipelined microprocessor with double bus architecture
US4491908A (en) Microprogrammed control of extended integer and commercial instruction processor instructions through use of a data type field in a central processor unit
US5197145A (en) Buffer storage system using parallel buffer storage units and move-out buffer registers
JPS62501940A (ja) マイクロプログラム・コントロ−ラの改良
JPS6049340B2 (ja) 分岐命令先取り方式
US3942156A (en) Indirect arithmetic control
JPH02197924A (ja) 中央演算処理装置
JPH0222413B2 (ja)
WO1984000833A1 (en) Pre-execution next address calculating mechanism
JP3607548B2 (ja) ベクトル演算装置
JPS6116334A (ja) デ−タ処理装置
JPS607295B2 (ja) デ−タ処理装置
Craig et al. PIPE: A High Performance VLSI Processor Implementation
JPS58146945A (ja) プログラム分岐制御装置
JPS5949643A (ja) デ−タ処理装置
JPH0218732B2 (ja)
JPS6028014B2 (ja) マイクロプロセツサ
Katz et al. PIPE: A HIGH PERFORMANCE VLSI PROCESSOR IMPLEMENTATION GL Craig JR Goodman
JPS6136657B2 (ja)
JPS6277647A (ja) コンピュ−タシステムに用いられるマイクロ命令の制御装置