JPS58501560A - マイクロプロセツサ - Google Patents

マイクロプロセツサ

Info

Publication number
JPS58501560A
JPS58501560A JP57503026A JP50302682A JPS58501560A JP S58501560 A JPS58501560 A JP S58501560A JP 57503026 A JP57503026 A JP 57503026A JP 50302682 A JP50302682 A JP 50302682A JP S58501560 A JPS58501560 A JP S58501560A
Authority
JP
Japan
Prior art keywords
data
instruction
memory
address
instructions
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
JP57503026A
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 JPS58501560A publication Critical patent/JPS58501560A/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/30Arrangements for executing machine instructions, e.g. instruction decode
    • 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/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/355Indexed addressing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • 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/3802Instruction prefetching
    • 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/3824Operand accessing
    • 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

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 インターリーブ・アドレス入力およびインターリーブ命令およびデータ出力を有 するメモリーを備えたマイクロプロセッサ 発明の背景 本発明はマイクロプロセッサに関し、さらに詳述すれば、外部メモリー・フェッ チを必要としない命令と、外部メモリー・フェッチを必要とする命令を採用する マイクロプロセッサに関する。外部メモリー・フェッチを必要としない命令は、 タイプ■命令という一方、外部メモリーから必要なデータをフェッチする必要が ある命令は、以下タイプ■命令という。一般に、タイプ■命令は2つの部分から 成立つ:1つの部分はオペランド−フェッチ・ルールであり、他方はオペレーシ ョンルールである。タイプ■命令を言語表現化すれば、例えば゛アキュムレータ を補完せよ、′となる一方、タイプ■命令を言語表現化すれば例えば“指標レジ スタR3によってポイントされたメモリ・−の内容をフェッチしこの番号をアキ ュムレータに加えよ。″となる。
マイクロプロセッサ、特にシグナルプロセッサ、の性能を測るのに非常に重要な 要素は、1秒間に行うこするためのよく知られた技術は一般に゛パイプライン化 といわれるもので、これにより1つまたはそれ以上数の命令が、最初の命令の実 行が完了するまえに、フェッチされる。
またマイクロプロセッサ技術においては、より少ないバスを用い、入出力ビンの 数を減す一方、外部メモリーを簡単にし、かつフAン・ノイマン技術を可能にす ることが好ましく、これにより命令およびデータ・メ[リ−は同じ装置を共用す ることができる。
本発明は、特にタイプエおよびタイプ■に命令を採用するマイクロプロセッサに 適しており、2つのバス、すなわちアドレス・バスと命令データ・バスとてパイ プライン化が可能である。そのような機械では異った種類の命令や、それに伴な うR゛延は、処理動作の編制に困難をきたす一方、貴重な演算時間の浪費につな かり、1秒間に達成することのできる動作回数を減する従って、本発明の目的は 、マイクロプロセッサの演算機能を高めることにある; 本発明の他の目的は、マイクロプロセッサのサイクルを最適に利用するために、 機械内での、異った数種類の命令に関連する動作流れの同期を達成することにあ る。
本発明の特筆すべき目的は、パイプライン方式、2種類命令方式、および2ハス 技術を採用したマイクロプロセッサの効率を高めることにある。
上述の目的を達成するために、本発明はデータ・アドレルをバッファーする手段 、命令を遅延される手段、およびこれらの素子を制御する制御手段を設け、最適 な処理を達成するものである。
本発明によって、いくつかの利点がもたらされる。
初めに、命令およびデータを同じバスにインター・リーブすることができること である。各サイクルにおいて有用なメモリー・フェッチが行なわれる。命令をエ ンコードするに際し、最大の融通性が得られる。命令の実行速度は可能な限りほ とんど均一にすることかで第1図は、本発明の好ましい実施例のブロック線図を 示す。
第2A図は、命令およびデータがインター・リーブ4 されている様子、それらのアドレスおよびそれらがアドレス・バスに現われてく る相対的なタイミング、そして命令データ・バスの好ましい実施例を示す。
第2B図は、バス仲介器として作用するlR8−1゜5信号の動作を示す。
第2C図は、第2図の他の動作に対応し、デコーダ入力のタイミングを示す。
第2D図は、第2図の他の動作に対応し、DABバッファーのローディングのタ イミングおよびデコーダの出力タイミングを示す。
第2E図は、lR30,IIItlll信号およびXレジスターの内容ならびに 命令レジスター、実行レジスターの位置およびタイミングを示す。
第3図は、好ましい実施例を示すのに、有益な典型的なプログラム・セグメント を示す。
第4図は、好ましい実施例の状態シーケンサの動作を表わす真理表および状態プ ログラムである。
第5図は、状態シーケンサのロジック・ダイヤグラムである。
第6図は、例証的な命令フォーマットを示す。
好ましい実施例のマイクロプロセッサの構造を第1図に示す。図示する如く、こ のマイクロプロセッサは、2本のバス、すなわちアドレス・バス11および命令 /データ・バス13を利用するものである。マイクロプロセッサのロジックの組 合せや、デコーダによる実際的な遅延は、オペランド・フェッチ・ルールの翻訳 、およびオペランドのアドレスの発生のために、11/2サイクルでディクテー トする。11/2サイクルは、またアドレスを与えたり、メモリーからデータを 呼出すために必要である。全時間、すなわち3サイクルは、好ましいロジック族 NMO8LSIと一致し、かつ好ましい実施例の“パイプライン化遅延パを構成 する。
このロジック・タイプは、またシステムが動作するクロックの最大速度をディク テートする。
第1図はプログラム・カウンタおよびスタック15を示し、該スタック15は、 プログラム・アドレス・バス(PAB)12を通り、セレ、クタ14を介してメ モリー装[19をアドレスするアドレス・レジスタ17へ、プログラム・アドレ スを供給する。
プログラム・カウンタ15からのアドレスに応答して、力し、該出力をメモリー 出力レジスタ23に送り、ざらに命令/データ・バス13を通り出力レジスタ2 5へ送る。
アドレス・レジスタは第1図に示す5つの゛フレーミング(framing )  ”レジスター7.23.36,39.25のうちの1つである。これらの゛レ ジスタ″は記憶用のためではなく、むしろこれらを通る信号を整形し、鋭くし、 かつ適当に遅延させるために設けである。
該命令は、アドレス命令デコーダ29へ与えられ、命令レジスタ27へと導かれ る。プログラム・カウンターへとつながっている制御線30は、ジャンプ、サブ ルーチン・コールおよびリターンを制御する。
アドレス命令デコーダ24は、命令のオペランド設置部分をデコードし、そして 、デコードされた出力を、データ・アドレス制御線31を介・してデータ・アド レス発生器33へ供給する。データ・アドレス発生器33は、データ・アドレス を出力し、それをデータ・アドレス・バス(DAB)11を介して弾性バッファ ー35へ送る一方、該弾性バッファー35は、例えば1つのデータ・アドレスを 記憶し、後でそれをセレクタ14およびアドレスレジスター7を介して、メモリ ー装置19へ供給する。
好ましくは、データ・アドレス発生器は、公知の間接的なアドレス技術を採用す る。好ましい実施例では、4つの指標レジスタを採用し、夫々の指標レジスタか らアドレスが発生可能になっている。デコーダ29は、適辺な指標レジスタを選 択する。動作において考察された命令は、置替え分野および指標レジスタを読め という命令を含むことも可能である。命令された指標レジスタ内のアドレスは、 アドレス・バスに読みだされると共に、これと平行してその内容は置替え分野の 内容に基づき増加または減少される。
あるオペランド・フェッチ・ルールにおいては、記憶・書込み操作が実行される ことを要求されることもある。この場合WRITE信号60は、アドレス・レジ スタ17を介し、ACCREG43に存在するデータを、レジスタ62を介して メモリーに書込み可能な状態にもたらす。リード(Read)サイクルの結果と 同様にして、これと同じデータは命令データ・バスに現われる。
有益なアドレス発生技術は、他にも知られており、本発明は上述の特定技術にの みに限定されるものではない。
命令は、またマイクロプロセッサによって将来なされるべき実行のために、命令 レジスタ27に保持される。
8 実行は、従来の回路によって達成きれ、該従来の回路には実行レジスタ36、操 作デコーダ37、レジスタ39、演算ロジック・ユニット(ALU)41、アキ ュムレータ43およびデータ・レジスタ45を含む。操作デコーダは命令をデコ ードし、デコードした出力を実行レジスタへ供給する。データ・レジスタ45は 、実行レジスタ36に保持された命令を実行するために必要なデータ・ワードを 記憶する。データ・レジスタ45のローディングは、JR8O信号53によって 制御される。AI−U41への線47の他方のデータ入力は、アキコムレータ4 3の出力である。
演算部分には一組以上、好ましくは二組、のアキュムレータを採用する。従って 、ALU41への゛A″入力は、第1または第2アキユムレータのいずれか一方 からの信号を受ける。好ましくは、命令は設けられ、それによりメモリー19に 戻されるべきいずれかのアキュムレータの出力を可能にする。ALU41それ自 身は、通常パイプライン遅延のいくつかのユニットと関連性がある。以下に説明 する如く、好ましい実施例におけるデータは、レジスタ39に適切な命令が送ら れると同時に、A1−U41のB入力に到達するように時間調整さ特表昭58− 5015 に (1(4)れている。
本発明においては、アドレス・バス11での命令アドレスおよびデータ・アドレ スの最適なインターリ−ビン7グおよび命令/データ・バスにおいての命令およ びデータの最適なインターリ−ピングは、DOB (バス上のデータ)発生器4 5によって達成される。図示する如く、DO8発生器45はアドレス命令デコー ダ2つから入力を受ける。これはDAR(データ・アドレス・リクJスl−)信 号であり、この信号は、データ・アドレス発生器によるデータ・アドレスの発生 と同時に発生する。
DAR信号は、デコードされた命令がデータ・フェッチを伴うか否かを示す。
DOB発生器45は、5本の線49,51,52.53に制御信号を供給する。
線53上の制御信号I R8Oが真実であれば、命令レジスタはシフトされる。
もし制御信号lR30が誤りであれば、X REGd5はロードされる。
制御信号DAB But’ Load 、49は、い−) D A B 11を DABバッファー38にロードすべきかを決定する。
線52上の制御信号PAB 5ELECTは、プログラム・アドレス・バス(P AB)15からのプログラム・0 アドレスがアドレス・レジスタにゲートされたか否かを決定する。PAB 5E LECTi50上の制御信号は、データ・アドレス発生器の出力がアドレス・レ ジスタ17に出力されたか否かを決定する。制御信号DAB BUF 5EL5 1はDABバッファー38の出力がアドレス・レジスタ17に直接に出力された かどうかを決定する。従って制御信号50および51は、バッファーの゛弾力性 ″を与えるものである。また、DO8発生器がデータ・アドレス出力を引起す場 合は、プログラム・カウンター15を禁止する。
DO8発生器の機能は、マイクロ−タイミング・スロット(IR8信号)の発生 、DAB、DABバッファーおよびPABバスのための仲介バスとしての作用お よびプログラム・カウンターの増加である。
第4図は好ましい実施例におけるDO8発生器の設定を示す。第5図は、可能な 全ての状態の状態地図、および1つの状態から他の状態への移°動のための必要 な条件を示す。
D08発生器は、マイクロプロセッサおよびALUの回路のための命令およびデ ータ・タイミング・スロット(マイクロルタイミング)を発生する。第5刊は、 可能な全ての状態の状態地図1つの状態から、他の状態への移動のだめの必要な 条件を示す。
上述した如く命令は、2種類のタイプに分けることがt゛きる: A、オペランドをフェッチするものであって:すなわちデータ・スロットを0) 作するものである。(タイプ■) B、オペランドをフェッチしないものであって:すなわちデータ・スロットを創 作しないものである。
(タイプ■) データ・スロットおよび命令フェッチをインター・リーブするルールは: 1、もし必要であれば、命令Nのためのデータ・スロットは命令N+2を7エツ チ′した後、即座に創作される。
2、命令フェッチは全てのデータ・スロットのすぐ後に続く。
DO8発生器はデータ・アドレスまたは命令アドレスのいずれか一方を選択する 。フェッチした結果は3バス・サイクル後のメインデコーダh日らのDO8発生 12 パイプライン構造(ハードウェアの違延)によるものである。
アドレス命令デコーダは、DAR(データ・アドレスイ・リクエスト)と呼ばれ る信号を発生する。タイプ■命令に応答してこの信号は真実とされ、またタイプ ■命令に応答してこの信号は誤りとされる。
好ましい実施例においては、外部でトリガーされるリセッ1へ(例えばパワーオ ンに応答するもの)がある。
リセット・サイクルは状態14においてDO8発生器を離れる。それはタイプ■ 命令がデコードされないかぎり(DAR=O) 、状態14にとどまる。
この状態において、PCカウンターは増加され、その内容はアドレス・バスに廻 され、かつlR8−1゜5信号は真実とされ、命令はデ・−タ・バスにある旨指 示され表示される。TR8信号は、他のマイクロプロセッサ回路のために指示お よびデータ・スロットを確立するので、最も重要な信号である。、もし、状態1 4において、DAR=1、DABバスが可能とされ、その内容がアドレス・バス に直接移されたとすれば、PCカウンターはその増加が禁止される。このTR8 信号はローになり、発生器は状態6に突入する。
状態6において、PCカウンターは増加される。もし、DAR=Oであれば、P Cの内容はアドレス・バス上に乗せられる。TR3信号はハイとなり、発生器は ゛状態10に入る。もし、DAR=1であれば、PCの内容はアドレス・バスに 乗せられ、TR8はハイになり、DABバッファー38はDABバスの内容でロ ードされ、そして発生器は状態11に入る。
状態10において、PCカウンターは増加される。もし、D=Oであれば、PC の内容はアドレス・バスに乗せられ、TR8はハイとなり、そして発生器は状態 12に入る。もし、DRA=1であれば、PCの内容はアドレス・バスに乗せら れ、TR8はハイとなり、DASバッファー38はDABバスの内容でロードさ れそして発生器は状態13に入る。
状態11において、PCカウンターはカウントが禁止される。もし、D−〇であ れば、DABバッファー38の内容はアドレス・バスに乗せられ、TR3はハイ に位置され、そしてDOB発生器は状態4に入る。もし、DAR=1であれば、 DABバッファー38の内容はアドレス・バスに乗せられ、続いてDABバスに 保持される新しい情報でレジスタはロードされる。IIjS信4 号はハイとなり、そしてDOB発生器は状態5に入る。
状態4,5,12.13においては、デコー タ29はI/Dバス13にデータ が乗っているという理由で不能にされ、状態4において、PCは増加され、その 内容はアドレス・バスに乗せられる。TR8はローになり、データはデータ・バ スに存在することを告げる。DOB発生9器は状態10に入る。
状態5においてPCは増加し、そしてその内容はアドレス・バスに乗せられる。
DABバッファー38は、[)ABババス内容でもってロードされる。TR8は ローとなり、そしてDOB発生器は状態11に入る。
状態13において、PCはカウントすることが禁止される。DABバッファー3 8の内容は、アドレス・バスに乗せられる。TR8はローになり、そしてDOB は状態6に入る。
状M12において、PCは増加され、そしてその内容はアドレス・バスに乗せら れる。TR3はローになり。
そしてDOBは状態14に入る。
従って、DO8発生器の機能はマイクロータイミン5 グ・スロット(TR3信号)を発生すること、DABDABバッファーおよびP ABバスのための仲介バスとして作用すること、およびプログラム・カウンター の増加することである。
DO8発生器のロジック設定は、第5図に示されている。これにはいくつかのイ ンバータ 55,56,57,58 :いくつかのANDゲート60,61,6 2,63,64 :いくつかのNORゲー1〜67.68,69,70 :そし て4つのDフリップ−フロップ73.74.75 、76 :を含み、図示する 如く接続されている。発生器の入力はDARであり、そして発生された出力には lR8−1,5およびDABB、UF LOAD:DAB BUF 、5ELE CT、PAB 5ELFCT/PCINC,REMENT+および[)AB 5 ELEC王制御信号を含む。この回路の機能は、第4図のDOB発生器の真理表 、および状態シーケンス・ダイヤグラムによって表わされる。
次に第2図および第3図を参照しながら動作の一例を説明する。まず初めに機械 の状態は1列に並ぶ3つの指示がメモリーからフェッチされ、夫々はデータ・フ ェッチを必要とするものと仮定する。第3図はそのような一連の指示を必要とす るルーチンのセグメント16 を示す。
第2図においてIo、II、I2夫々はデータ・スロワl〜を必要とする。Ic はできるだけ速く、デコードさh、Ioによって要求されるデータ・スロットの ためのアドレスADoはDABに乗せられ、そしてその後できるかぎり速くアド レス・バス11に乗せられる。
特筆すべきは、メモリー遅延および最小のデコーダ遅延の組み合せは、Ioのた めのアドレスはアドレス・バ2に乗っている、時点Oからバス上の時点ADo点 までの3クロツクサイクルを必要とする。I1はIO近傍のI10バスに達する が、DO8動作ルールによれば、I3のためのアドレス′″3″は、ADI、す なわちアドレス・バス上のI1のためのデータのためのアドレス、を乗せる前に アドレス・バスに乗せられる。
これは11がI/Dバスに乗っている点からIt’sデータ、Dl、がT/Dバ スに乗っている時点までの間における4ユニツトの遅延をもたら、す。同様に、 I2’SデータD2はI4がフェッチされるまではI/Dバスにまで進まず、I 2がI/Dバスに乗っているときからD2がT/Dバスに乗っているまでの間の 5ユニツトの遅延をもたらす。
他方、指示Io、I+、I2はI R8O信号(第2E図に示す)の制御に基づ いて指示レジスタに進む。
データ・スロットが発生されると、lR30はローとな1す、その結果データ・ スロットがI/Dバスに現われてもシフトは行われない。従って、指示レジスタ を介するIoは、データDoがXレジスタにマツプされるよりも1/2クロツク サイクル以前に、実行レジスタに到達する。これは第2E図の線EXECREG お5よひX REGより明らかである。次いで、デコーダの出力C(io)はフ レーミングレジスタ39を介するDoと同時にA L Uに供給される。
第2D図および第2A図はDO8発生器と関連して弾性バッファーの動作を示す 。これはDABバス出pをI10バスと比較することによって特に知ることがで きる。A D oは、IoがI/’Dバスに現われてがら1サイクル後にDAB に現われる。ADIは、11が1/Dバスに現われた後、1クロツクサイクル後 にDABバスに現われ、そのデータ・アドレス・バッファー38において、弾性 バッファー35によりバッファーされる。このバッファー動作と並列的に、指示 3のアドレスはアドレス・バスに乗せられる。アドレス・バス8 に′3″が乗る以前においてはADtはアドレス・バスに現われないので、バッ フ1−の動作を見ることができる。従ってDABからDABバッファーそしてア ドレス・バスヘステップされる。
AD2はD A B 38 (第2D図)において十分長く遅延されるため、A DIおよび°゛4″は、いずれもアドレス・バスに現われる。Doの到達ゆえに 、AD2は2サイクル分留まる。すなわち、Doの到達はlR30の動作により デコーダを不能状態にする。従って、もはや新しいデータ・アドレスを発生させ ることはできない。
第3図は、第2図に示すパターンにより得られる1連の指示を示す。最初の指示 であるIoは、“@レジスタ1を読め”RR1命令で、MVP (“正極をAし へ移動せよ”)動作と組合さって、データ・7エツチを必要とする。11は、R Rl−1であり、Aoに加えよの命令である。(Toには+1が含まれており、 この+1は指標レジスタの増加を示し、従ってこのレジスタにおける次のフェッ チは隣に隣接するメモリーの位置からである。)I2は“レジスタ3を読め”R EGであり°“正極を A1へ移動せよ”である。I3はジャンプであり、14 はジャンプする目的地を与える。I5は“ルジスタ1に書込め“指示である。1 1は減少を含んでいたので、レジスタ1R+を再び命令しb初の位置に戻る。
機械の遅延ゆえ、PCはI4に至るまでは、ジャンプによって影響を受けない。
ジャンプの目標地はI/Dバスに環われ、それゆえ15は以前のPCの古い値か らフェッチされる。I、lLがI/Dバスに現われると、P、Cカウンターは、 次のフェッチが位置8oの’80がらフェッチされるように修正される。アドレ ス3および4における“’PC等しい″場合のパジャンプ″の命令はデータ・ス ロットを必要としない。従って、DO8発生器の動作により、アドレスAD2の 後、中間に全くデータ・スロットをもたない一連の3つの指示が現われる。″ル ジスタ1に書込め″指示であるI5はA、D5の結果となり、それは“5”がア ドレス・バスに乗ったあと3スロツト目に挿入される・。(第2図参照)DO8 発生器45の動作により、一連の命令は可能なかぎり均一に動作され、いくつか のスロットに対しD2が利用可能となる。
ALLJは1サイクルよりも長い動作を行なうことも20 可能である。lR80および命令の性質は、IR3の第2寅行を禁止するために 用いることができる。そして、■レジスターの遅延を用いることにより弾力性を 得ろことができる。
第6図は命令フォーマットの例証的なものを示し、第6A図はタイプ■命令を示 す。例示したものは間接的読取りである。命令の最初の部分はデータ・フェッチ の種類を示す。第2の部分は指標レジスタ接点に加えるべき画賛えを示す。第3 の部分はレジスタの指定を行なう。これら3つの部分はオペランド・フェッチ・ ルールを構成する。第4番目の部分は実行されるべき動作の命令を与える。
第6B図はタイプ■命令の1例を示す。第1ビツトの部分は、特定のレジスタの 内容はオペランドとして用いるべきである旨を示す。尚、レジスタ・フェッチに おいてはバス・サイクルを必要としない。第2部分はレジスタの一致を示し、第 3の部分は実行すべき動作を示す。例えば、この命令は、゛レジスタの内容を取 出しそれをアキュムレータに加えよ”という命令にすることも可能である。本発 明に係る技術の利点は命令のビット位置において自由度が持たせてあり、命令フ ォーマットに固定された要求がないということである。
フドレス に 4゛ 今 −一 ダイブX 全全一@JL表しシヌダとM接的tで読め身 ピ 手続補正書(方劫 昭和58年 7月 6幡圃 =許庁長宮 殿 4件の表示 、;1 PCT/US 82101264 シ明の名称 マイクロプロセッサ 1正をする者 事件との関係 特許出願人 国籍 アメリカ合衆国 」正命令の日付 昭和58年6月7日(発送日)1正の対象 明細書 マイクロプロセッサノ 発明の背景 本発明はマイクロプロセッサに関し、さらに詳述すれば、外部メモリー・フェッ チを必要としない命令と、外部メモリー・フJツヂを必要と覆る命令を採用づる マイクロプロセッサに関する。外部メモリー・フェッチを必要としない命令は、 タイプ■命令という一方、外部メモリーから必要なデータをフェッチする必要が ある命令は、以下タイプ■命令という。一般に、タイプ■命令は2つの部分から 成立つ、1つの部分はオペランド−フェッチ・ルールであり、他方はオペレーシ ョンルールである。タイプ■命令を言語表現化すれlよ、例えば゛アキュムレー タを補完せよ、“となる一方、タイプ■命令を言語表現化すれば例えば“指標レ ジスタR3によってポイントされたメモリーの内容をフェッチしこの番号をアキ ュムレータに加えよ。″となる。
マイクロプロセッサ、特にシグナルプロセラか、の性能を測るのに非常に必要な 要素は、1秒間に行うことのできる動作の数である。そのような利用率を達成国 際調査報告

Claims (1)

  1. 【特許請求の範囲】 1、メモリーは、プログラム・カウンタ一手段またはデータ・アドレスによりア ドレスされ、それに応答し?該メモリーから命令またはデータ・ワードを出力し 、さらに該命令は演算ユニットにより実行されるべき動作の情報を含み、該デー タは該演算ユニットにより処理されるマイクロプロセッサにおいて、該メモリー に与えれるデータ・アドレスおよび命令アドレスをインター・リーブし、さらに 該メモリーから出力されるデータおよび命令をインター・リーブして取出す手段 を設け、命令および対応するデータをALUの実行時間に遅れることなく与える ことを特徴とするマイクロプロセッサ。 2、マイクロプロセッサにおけるメモリー・アクセスをインター・リーブする方 法であって、命令N+にの7エツチ後、もし必要であれば、ただちに命令Nのた めのデータ・スロットを形成し、尚ここでKはパイプライン遅延によって決定さ れ、各データ・スロットの後、ただちに命令をフェッチするようにしたことを特 徴とするマイクロプロセッサのインタリーブ方法。 手段と; 該メモリーから出力される命令を複数個保持する手段仁: 該バッファ一手段および保持手段を制御する一方、該メモリーへの命令アドレス およびデータ・アドレスの供給を制御する手段を設けたことを特徴とするマイク ロプロセッサ。 4、データおよび命令を保持するメモリーと;該メモリーに命令アドレスを与え るためのプログラム・カウンタ一手段と; 該メモリーにメモリー・アドレスを与えるための手なう手段と; 複数の命令を保持する手段であって;該手段に供給し、演算動作を実行する手段 と;およびデータ・アドレスまたは命令アドレスが該メモリーに供給されたかど うかを制御する一方、該命令保持手段を躬御して、命令の到達と該演算動作実行 手段における適正なデータとを同期させて制御する手段を設け24 たことを特徴とするマイクロプロセッサ。
JP57503026A 1981-09-21 1982-09-17 マイクロプロセツサ Pending JPS58501560A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06/304,017 US4541045A (en) 1981-09-21 1981-09-21 Microprocessor architecture employing efficient operand and instruction addressing

Publications (1)

Publication Number Publication Date
JPS58501560A true JPS58501560A (ja) 1983-09-16

Family

ID=23174672

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57503026A Pending JPS58501560A (ja) 1981-09-21 1982-09-17 マイクロプロセツサ

Country Status (11)

Country Link
US (1) US4541045A (ja)
JP (1) JPS58501560A (ja)
KR (1) KR880001170B1 (ja)
AR (1) AR230712A1 (ja)
BE (1) BE894457A (ja)
CA (1) CA1180455A (ja)
FR (1) FR2513410B1 (ja)
GB (1) GB2116339B (ja)
IT (1) IT1155933B (ja)
NZ (1) NZ201809A (ja)
WO (1) WO1983001133A1 (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4719592A (en) * 1982-11-20 1988-01-12 International Computers Limited Sequence generator
US4613935A (en) * 1983-02-02 1986-09-23 Couleur John F Method and apparatus for pipe line processing with a single arithmetic logic unit
JPH0776917B2 (ja) * 1984-12-29 1995-08-16 ソニー株式会社 マイクロコンピユ−タ
JPS6282402A (ja) * 1985-10-07 1987-04-15 Toshiba Corp シ−ケンス制御装置
JPS62152043A (ja) * 1985-12-26 1987-07-07 Nec Corp 命令コ−ドアクセス制御方式
DE3775299D1 (de) * 1986-01-27 1992-01-30 Fujitsu Ltd Zentrale recheneinheit.
US4780883A (en) * 1986-06-26 1988-10-25 Racal Data Communications Inc. Data modem with adaptive synchronized speed change
US4797817A (en) * 1986-12-10 1989-01-10 Ncr Corporation Single cycle store operations in a virtual memory
JP2695157B2 (ja) * 1986-12-29 1997-12-24 松下電器産業株式会社 可変パイプラインプロセッサ
US5097411A (en) * 1987-08-13 1992-03-17 Digital Equipment Corporation Graphics workstation for creating graphics data structure which are stored retrieved and displayed by a graphics subsystem for competing programs
US5251322A (en) * 1987-08-13 1993-10-05 Digital Equipment Corporation Method of operating a computer graphics system including asynchronously traversing its nodes
US5235684A (en) * 1988-06-30 1993-08-10 Wang Laboratories, Inc. System bus having multiplexed command/id and data
US5123097A (en) * 1989-01-05 1992-06-16 Bull Hn Information Systems Inc. Apparatus and method for simultaneous execution of a write instruction and a succeeding read instruction in a data processing system with a store through cache strategy
US5109497A (en) * 1989-01-27 1992-04-28 Hughes Aircraft Company Arithmetic element controller for controlling data, control and micro store memories
US5440749A (en) * 1989-08-03 1995-08-08 Nanotronics Corporation High performance, low cost microprocessor architecture
US7124281B1 (en) * 2000-09-21 2006-10-17 Freescale Semiconductor, Inc. Processing system having sequential address indicator signals
US7493607B2 (en) 2002-07-09 2009-02-17 Bluerisc Inc. Statically speculative compilation and execution
US20050114850A1 (en) 2003-10-29 2005-05-26 Saurabh Chheda Energy-focused re-compilation of executables and hardware mechanisms based on compiler-architecture interaction and compiler-inserted control
US7996671B2 (en) 2003-11-17 2011-08-09 Bluerisc Inc. Security of program executables and microprocessors based on compiler-architecture interaction
US8607209B2 (en) 2004-02-04 2013-12-10 Bluerisc Inc. Energy-focused compiler-assisted branch prediction
US7430642B2 (en) * 2005-06-10 2008-09-30 Freescale Semiconductor, Inc. System and method for unified cache access using sequential instruction information
US20080126766A1 (en) 2006-11-03 2008-05-29 Saurabh Chheda Securing microprocessors against information leakage and physical tampering

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL276236A (ja) * 1961-03-24
US3409879A (en) * 1966-03-30 1968-11-05 Bell Telephone Labor Inc Computer organization employing plural operand storage
US3449723A (en) * 1966-09-12 1969-06-10 Ibm Control system for interleave memory
US3462744A (en) * 1966-09-28 1969-08-19 Ibm Execution unit with a common operand and resulting bussing system
US3699530A (en) * 1970-12-30 1972-10-17 Ibm Input/output system with dedicated channel buffering
US3820079A (en) * 1971-11-01 1974-06-25 Hewlett Packard Co Bus oriented,modular,multiprocessing computer
GB1448866A (en) * 1973-04-13 1976-09-08 Int Computers Ltd Microprogrammed data processing systems
US4050058A (en) * 1973-12-26 1977-09-20 Xerox Corporation Microprocessor with parallel operation
US3906453A (en) * 1974-03-27 1975-09-16 Victor Comptometer Corp Care memory control circuit
US4153932A (en) * 1974-03-29 1979-05-08 Massachusetts Institute Of Technology Data processing apparatus for highly parallel execution of stored programs
JPS605978B2 (ja) * 1974-09-12 1985-02-15 富士通株式会社 記憶装置のアクセス制御方式
CA1059639A (en) * 1975-03-26 1979-07-31 Garvin W. Patterson Instruction look ahead having prefetch concurrency and pipe line features
US4041461A (en) * 1975-07-25 1977-08-09 International Business Machines Corporation Signal analyzer system
JPS6055849B2 (ja) * 1975-12-04 1985-12-06 株式会社東芝 命令制御方式
DE2555963C2 (de) * 1975-12-12 1982-10-28 Ibm Deutschland Gmbh, 7000 Stuttgart Einrichtung zur Funktionsmodifizierung
GB1506972A (en) * 1976-02-06 1978-04-12 Int Computers Ltd Data processing systems
US4062058A (en) * 1976-02-13 1977-12-06 The United States Of America As Represented By The Secretary Of The Navy Next address subprocessor
US4095265A (en) * 1976-06-07 1978-06-13 International Business Machines Corporation Memory control structure for a pipelined mini-processor system
GB1527289A (en) * 1976-08-17 1978-10-04 Int Computers Ltd Data processing systems
US4313160A (en) * 1976-08-17 1982-01-26 Computer Automation, Inc. Distributed input/output controller system
US4089052A (en) * 1976-12-13 1978-05-09 Data General Corporation Data processing system
US4065810A (en) * 1977-01-26 1977-12-27 International Business Machines Corporation Data transfer system
US4149245A (en) * 1977-06-09 1979-04-10 International Business Machines Corporation High speed store request processing control
US4210960A (en) * 1977-09-02 1980-07-01 Sperry Corporation Digital computer with overlapped operation utilizing conditional control to minimize time losses
JPS5454536A (en) * 1977-10-08 1979-04-28 Fujitsu Ltd Data processor
US4164787A (en) * 1977-11-09 1979-08-14 Bell Telephone Laboratories, Incorporated Multiple microprocessor intercommunication arrangement
US4298933A (en) * 1978-07-08 1981-11-03 Tokyo Shibaura Denki Kabushiki Kaisha Data-processing device including means to suppress the execution of unnecessary instructions
JPS6024985B2 (ja) * 1978-08-31 1985-06-15 富士通株式会社 デ−タ処理方式
US4236205A (en) * 1978-10-23 1980-11-25 International Business Machines Corporation Access-time reduction control circuit and process for digital storage devices
US4320453A (en) * 1978-11-02 1982-03-16 Digital House, Ltd. Dual sequencer microprocessor
US4325120A (en) * 1978-12-21 1982-04-13 Intel Corporation Data processing system
US4282572A (en) * 1979-01-15 1981-08-04 Ncr Corporation Multiprocessor memory access system
CA1134952A (en) * 1979-04-24 1982-11-02 Thomas E. Kloos Means and method within a digital processing system for prefetching both operation codes and operands
NL7906416A (nl) * 1979-08-27 1981-03-03 Philips Nv Rekenmachinesysteem, waarbij het programmageheugen geschikt is om doorlopen te worden waarbij niet tot een instruktie behorende gegevens apart gedetekteerd worden.
US4298936A (en) * 1979-11-15 1981-11-03 Analogic Corporation Array Processor
US4373182A (en) * 1980-08-19 1983-02-08 Sperry Corporation Indirect address computation circuit
US4399507A (en) * 1981-06-30 1983-08-16 Ibm Corporation Instruction address stack in the data memory of an instruction-pipelined processor

Also Published As

Publication number Publication date
FR2513410A1 (fr) 1983-03-25
AR230712A1 (es) 1984-05-31
BE894457A (fr) 1983-01-17
GB8312020D0 (en) 1983-06-08
KR880001170B1 (ko) 1988-07-02
WO1983001133A1 (en) 1983-03-31
CA1180455A (en) 1985-01-02
US4541045A (en) 1985-09-10
KR840001728A (ko) 1984-05-16
FR2513410B1 (fr) 1988-10-07
GB2116339B (en) 1985-11-20
IT1155933B (it) 1987-01-28
NZ201809A (en) 1985-12-13
GB2116339A (en) 1983-09-21
IT8268114A0 (it) 1982-09-20

Similar Documents

Publication Publication Date Title
JPS58501560A (ja) マイクロプロセツサ
US5357626A (en) Processing system for providing an in circuit emulator with processor internal state
US5408626A (en) One clock address pipelining in segmentation unit
KR960001273B1 (ko) 단일칩 마이크로컴퓨터
JP3105223B2 (ja) マイクロコンピュータ,マイクロプロセッサおよびコア・プロセッサ集積回路用デバッグ周辺装置
US3753236A (en) Microprogrammable peripheral controller
US7793075B2 (en) Active memory command engine and method
US4229801A (en) Floating point processor having concurrent exponent/mantissa operation
US5347636A (en) Data processor which efficiently accesses main memory and input/output devices
JPS6297036A (ja) 計算機システム
US4348720A (en) Microcomputer arranged for direct memory access
GB2073923A (en) Branching in computer control store
IE970146A1 (en) A data processing system having a self-aligning stack¹pointed and method therefor
US5179671A (en) Apparatus for generating first and second selection signals for aligning words of an operand and bytes within these words respectively
JPH05506323A (ja) 機能停止キャッシュを提供する装置と方法
CA1182579A (en) Bus sourcing and shifter control of a central processing unit
US5666508A (en) Four state two bit recoded alignment fault state circuit for microprocessor address misalignment fault generation
JP2680828B2 (ja) ディジタル装置
US4348723A (en) Control store test selection logic for a data processing system
JPH02126321A (ja) 命令コードのデコード装置
JPH0524537B2 (ja)
JP2924004B2 (ja) 命令コード転送方式
JPH04181454A (ja) データアクセス制御装置
JPH0385636A (ja) 命令先行制御装置
JPS60132239A (ja) マイクロプログラム制御回路