JPH04263322A - マイクロコンピュータ - Google Patents

マイクロコンピュータ

Info

Publication number
JPH04263322A
JPH04263322A JP3045883A JP4588391A JPH04263322A JP H04263322 A JPH04263322 A JP H04263322A JP 3045883 A JP3045883 A JP 3045883A JP 4588391 A JP4588391 A JP 4588391A JP H04263322 A JPH04263322 A JP H04263322A
Authority
JP
Japan
Prior art keywords
instruction
instruction code
microcomputer
prefetch buffer
address
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
JP3045883A
Other languages
English (en)
Inventor
Fumiki Sato
佐藤 文樹
Koichi Fujita
紘一 藤田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP3045883A priority Critical patent/JPH04263322A/ja
Publication of JPH04263322A publication Critical patent/JPH04263322A/ja
Priority to US08/311,833 priority patent/US5524221A/en
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/226Microinstruction function, e.g. input/output microinstruction; diagnostic microinstruction; microinstruction format
    • 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/321Program or instruction counter, e.g. incrementing
    • 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

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はマイクロコンピュータ、
特に処理速度の改善に関するものである。
【0002】
【従来の技術】図3は従来の技術によるマイクロコンピ
ュータMを示す図である。図において、1はマイクロ命
令が格納されているROM(以下単にマイクロROMと
いう)、2はこのマイクロROM内のアドレスフィール
ド、3はマイクロ命令フィールド、4はマイクロROM
1に対するアドレスデコーダ、5は実行ユニット、6は
可変長で各命令をフェッチする命令プリフェッチバッフ
ァ、7はバスインフェースユニット、8は命令プリフェ
ッチバッファ内の次に読み出すデータを示すデータポイ
ンタである。9は外部データバス、10は外部アドレス
バス、11は外部制御信号線であり、これらのバス9,
10,信号線11を通じて、マイクロコンピュータMは
外部メモリ12や周辺装置と接続される。
【0003】次に動作について説明する。図4は従来の
技術によるマイクロコンピュータの動作を示す図である
【0004】簡単のためマイクロコンピュータはイミデ
ィエートデータ(即値)を使用する命令を実行すると仮
定する。外部メモリ19のRAMにはユーザプログラム
…ADD,RA ,ABS…等のプログラムが格納され
ており、このプログラムがバスライン9,10,11を
介してプリフェッチバッファ6にステップ命令毎に、A
DD,RA ,ABS,ABS,SUB…のように転送
されているものとする。
【0005】図4において、時刻t0 から始まるサイ
クルで、実行ユニット5は前命令の最後のマイクロ命令
に基づき、次の命令コードをバスインタフェースユニッ
ト7に対して要求し、プログラムカウンタ18の内容に
1を加算する。バスインタフェースユニット7はこの要
求を受けて、データが有効であれば命令プリフェッチバ
ッファ6から1ステップの命令コード(データ)をアド
レスデコーダ4に送る。このデータはアドレスデコーダ
4によってデコードされ、マイクロROM1がアクセス
され、マイクロROM1は命令コードを構成し、まず実
行すべきマイクロ命令を実行ユニット5に対し出力する
。 マイクロROM1はまた同時にアドレスデコーダ4に対
して次にアクセスすべきマイクロ命令のアドレスを出力
する。
【0006】次の時刻t1 で始まるサイクルでは、実
行ユニット5はまず入力したマイクロ命令を実行し、こ
のマイクロ命令のワード数を検出する。また、バスイン
タフェースユニット7に対して次のイミディエートデー
タを要求し、データポインタ8に前に読み出した1ステ
ップ命令コード(イミディエートデータ)のワード数を
加算させる。バスインタフェースユニット7は、データ
が有効であれば、命令プリフェッチバッファ6からの要
求に対して次の1ステップの命令コード(相当するオペ
ランド)を読み出し、アドレスデコーダ4に送る。
【0007】次のt2 のサイクルでは、命令プリフェ
ッチバッファ6が出力した命令コード(データ)に基づ
いて、再びマイクロROM1をアクセスする。前のマイ
クロ命令に基づき実行ユニット5は次の命令コードをバ
スインタフェースユニット7に要求する。以下前述した
t0 ,t1 の動作を繰り返して、マイクロコンピュ
ータMはユーザプログラムの各命令を実行していく。
【0008】
【発明が解決しようとする課題】従来のマイクロコンピ
ュータは以上のように命令を実行して行くので、各マイ
クロ命令を実行した後でなければ、次の命令コードが命
令プリフェッチバッファ6のどの位置にあるか分らない
という問題があった。
【0009】この発明は上記のような問題点を解消する
ためになされたもので、マイクロ命令の実行前に次の命
令コードの位置が分かるようにした高速処理可能なマイ
クロコンピュータを得ることを目的とする。
【0010】
【課題を解決するための手段】この発明に係るマイクロ
コンピュータは、図1に示すように、各種の命令コード
からなるユーザプログラムを外部から取り込むバスイン
タフェースユニット7と、このバスインタフェースユニ
ット7から複数の命令コードを入力して記憶する命令プ
リフェッチバッファ6と、この命令プリフェッチバッフ
ァ6から読み出した命令コードのデータを入力してアド
レスを発生するデコーダ4と、命令コードを構成する各
種のマイクロ命令を予め記憶しているマイクロROM1
と、アドレスに従ってマイクロROM1から読み出した
マイクロ命令を入力して処理する実行ユニット5とを備
えたマイクロコンピュータにおいて、命令プリフェッチ
バッファ6内の命令コードに番地付けを行う内部デコー
ダ17と、好ましくはマイクロROM1内に設けられ、
各種のマイクロ命令の長さを示すワード数を記憶するワ
ード数フィールド12と、バスインタフェースユニット
7内に設けられ、ワード数を入力して命令プリフェッチ
バッファ6内の命令コードのアドレスを指示する位置算
出手段14とを備えた。
【0011】
【作用】この発明に係るマイクロコンピュータは、位置
算出手段14によって、命令プリフェッチバッファ6内
の、次に読み出すべきステップの命令コードの位置を、
マイクロROM1の命令のワード数を示すフィールド1
2に置かれたデータより求める。これにより、前の命令
ワードのマイクロ命令を実行すると同時に、次のステッ
プの命令コードを命令プリフェッチバッファ6から読み
出すことができる。従ってパイプライン処理の実行項目
が増加するので全体としてマイクロコンピュータの処理
が大幅にアップする。
【0012】
【実施例】図1は本発明によるマイクロコンピュータの
一実施例を示すブロック図であり、同図において、1は
マイクロ命令を格納するROM(以下単にマイクロRO
Mという)であって、2はこのマイクロROM1内のア
ドレスフィールド、3はマイクロ命令フィールド、12
はこのマイクロ命令の長さを表わすワード数を示すワー
ド数フィールドである。4はマイクロROM1に対する
アドレスデコーダ、5はマイクロ命令を処理する実行ユ
ニットである。6は可変長で各命令をフェッチする命令
プリフェッチバッファ、7はバスインタフェースユニッ
ト、8は次に読み出すオペランドの位置を示すデータポ
インタ、13は次に読み出す命令コードの位置を出力す
る命令コードポインタ、9は外部データバス、10は外
部アドレスバス、11は外部制御信号線であり、これら
のバス,信号線を通じて、マイクロコンピュータは外部
メモリのRAM19や周辺装置と接続される。14は位
置算出手段、15は命令コードポインタ13で示される
データが有効か無効かを判断する判定手段、16は命令
コードポインタ13によって示される1ステップの命令
コードのデータをアドレスデコーダ4に送る命令待機手
段である。17は命令プリフェッチバッファ6に対する
内部デコーダ、18は実行ユニット5内のプログラムカ
ウンタ、23は命令コードのデータを一時的に保持する
データラッチ、24はデータラッチ23の内容とマイク
ロROM1からのデータを加算する加算器である。
【0013】これらデータラッチ23,加算器24,命
令コードポインタ13は全体で命令コードの位置を算出
する位置算出手段14を構成している。又命令コードポ
インタ13の出力は、スイッチングゲート25を介して
データラッチ23の入力に与えられ、同時に命令待機手
段16の内部デコーダ17に与えられている。又加算器
24と命令コードポインタ13との間には別のスイッチ
ングゲート26が設けられている。
【0014】さて判定手段15はラストデータポインタ
(LDP)20と減算器21とレジスタ22とから構成
され、命令コードポインタ13の出力は、減算器21の
一方の入力に、又LDP20の出力は他方の入力に与え
られている。LDP20は命令プリフェッチバッファ6
内で有効なデータと無効なデータとの境界を示すポイン
タで、減算器21の出力の最上位ビットが0のとき命令
コードは有効,1のとき無効と定義する。
【0015】ユーザプログラムを構成する命令コードは
データ長がそれぞれ異なりワード数が同一ではなく、又
各命令コードはワード数の異なるマイクロ命令によって
構成されている。
【0016】次に動作について説明する。簡単のためマ
イクロコンピュータはイミディエートデータ(プログラ
ム組み込みデータ)を使用する命令を実行すると仮定す
る。又ユーザプログラムはRAM19から読み込んで命
令プリフェッチバッファ6に移される。
【0017】第2図において、時刻t0 から始まるサ
イクルのはじめで実行ユニット5は前命令の最後のマイ
クロ命令に基づき、次の命令コードをバスインタフェー
スユニット7に対して要求し、プログラムカウンタ18
の内容に1を加算する。バスインタフェースユニット7
はデータが有効であれば、命令プリフェッチバッファ6
から1ステップの命令コード(データ)をアドレスデコ
ーダ4に送る。この命令コードの位置を指定するデータ
は命令コードポインタ13から出力され、かつデータラ
ッチ23に記憶される。このデータはアドレスデコーダ
4によってデコードされ、マイクロROM1がアクセス
される。マイクロROM1は次のサイクルで行うべきマ
イクロ命令(このマイクロ命令は命令コードを構成し、
これに従って、実行ユニット5は命令の実行と、次命令
の命令コードの要求を行う)を実行ユニット5に出力す
る。また、マイクロROM1はアドレスデコーダ4に対
して次のサイクルでアクセスすべきマイクロ命令のアド
レスを出力し、更にワード数フィールドにもとづきバス
インタフェースユニット7と実行ユニット5に対して、
このマイクロ命令のワード数を出力する。バスインタフ
ェースユニット7はワード数を受けて、命令コードポイ
ンタ13の内容にワード数を加算する。又実行ユニット
5はプログラムカウンタ18の内容にワード数を加算す
る。次の時刻t1 で始まるサイクルでは、実行ユニッ
ト5は受信したマイクロ命令を実行する。同時に前サイ
クルのマイクロ命令に基づき、バスインタフェースユニ
ット7に対して次のイミディエートデータと次の命令の
命令コードを要求する。バスインタフェースユニット7
は要求されたイミディエートデータが有効であれば、要
求されたワード数のイミディエートデータを命令プリフ
ェッチバッファ6から読み出して実行ユニット5に送る
。 そして、バスインタフェースユニット7はデータポイン
タ8の内容にワード数を加算し、また、要求された命令
コードが有効であれば、命令プリフェッチバッファ6か
ら位置算出手段14を用いてアドレスを決定して、要求
された命令コードに相当するデータをアドレスデコーダ
4に送る。そして命令コードポインタ13の内容にマイ
クロROM1から送られるワード数を加算器24を用い
て加算する。このときデータポインタ8と命令コードポ
インタ13が一致したら、データポインタ8の内容に1
を加える。
【0018】このようにして、この発明に係るマイクロ
コンピュータはユーザプログラムの各命令を並行処理で
実行していく。時刻t1 では、マイクロ命令のワード
数がマイクロROM1のワード数フィールドから位置算
出手段14の加算器24に入力され、前回(時刻t0 
)での命令コードポインタ13の位置データもデータラ
ッチ23から加算器24に入力されている。加算器24
はこれらの加算値を命令コードポインタ13に出力し、
この値が次に読み出すべき命令コードのアドレスデータ
となる。即ち、位置算出手段14は命令プリフェッチバ
ッファ6内で、次に読み出すべき例えば“ABS”の位
置を、前に読み出した“ADD,RA ”のマイクロ命
令をマイクロROM1から読み出た時点で知ることがで
きる。各マイクロ命令を実行する前にワード数を知るこ
とにより次に読み出すべき命令コードの位置を知ること
ができ、従って命令プリフェッチバッファ6からの読み
出し時期を早くすることができる。また、マイクロRO
M内にマイクロ命令の長さを示すワード数を記憶するこ
とにより、他のメモリにこれを設けるものと比較して製
造が容易となる。また、位置算出手段14を単にラッチ
23,加算器24,コードポインタ13で構成できるの
で,簡単な構成にできる。
【0019】
【発明の効果】以上説明してきたように、この発明によ
れば、命令プリフェッチバッファ内の命令コードに番地
付けを行う内部デコーダと、マイクロROM内に設けら
れ、各種のマイクロ命令の長さを示すワード数を記憶す
るワード数フィールドと、バスインタフェースユニット
内に設けられ前記ワード数を入力して命令プリフェッチ
バッファ内の命令コードのアドレスを指示する位置算出
手段とを備えた構成としたので、命令プリフェッチバッ
ファ内の次に行うべき命令の命令コードの位置を、マイ
クロROMの命令ワード数を示すフィールドに置かれた
データより求めることができる。実行ユニットが命令の
全てを処理終了する以前に、次の命令の命令コードを読
み出すことが可能となり、高速な処理可能なマイクロコ
ンピュータを得ることが出来る。
【図面の簡単な説明】
【図1】この発明の一実施例によるマイクロコンピュー
タの構成図である。
【図2】この発明の動作を示すタイミングチャートであ
る。
【図3】従来のマイクロコンピュータの構成図である。
【図4】従来の動作を示すタイミングチャートである。
【符号の説明】
1  マイクロROM 4  デコーダ 5  実行ユニット 6  命令プリフェッチバッファ 7  バスインタフェースユニット 8  データポインタ 12  ワード数フィールド 13  命令コードポインタ 14  位置算出手段 15  判定手段 16  命令待機手段 17  内部デコーダ 18  プログラムカウンタ 19  外部RAM 20  テストデータポインタ 21  減算器 22  レジスタ 23  データラッチ 24  加算器 25,26  スイッチゲート

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】  各種の命令コードからなるユーザプロ
    グラムを外部から取り込むバスインタフェースユニット
    と、このバスインタフェースユニットから複数の命令コ
    ードを入力して記憶する命令プリフェッチバッファと、
    この命令プリフェッチバッファから読み出した命令コー
    ドのデータを入力してアドレスを発生するデコーダと、
    前記命令コードを構成する各種のマイクロ命令を予め記
    憶しているマイクロROMと、前記アドレスに従って前
    記マイクロROMから読み出したマイクロ命令を入力し
    て処理する実行ユニットとを備えたマイクロコンピュー
    タにおいて、前記命令プリフェッチバッファ内の命令コ
    ードに番地付けを行う内部デコーダと、前記各種のマイ
    クロ命令の長さを示すワード数を記憶するワード数フィ
    ールドと、この数フィールドのワード数を入力し、これ
    と前回読み出された命令コードの位置とを加算すること
    により、前記命令プリフェッチバッファ内の次回の命令
    コードのアドレスを算出する位置算出手段とを備えたこ
    とを特徴とするマイクロコンピュータ。
  2. 【請求項2】上記位置算出手段を、前回読み出された命
    令コードの位置をラッチするラッチと、このラッチの出
    力と上記ワードフィールドのワード数に相当するデータ
    とを加算する加算器と、この加算器の出力にもとづき命
    令コードの位置を出力するコードポインタとを備えたこ
    とを特徴とする請求項1のマイクロコンピュータ。
  3. 【請求項3】上記ワード数フィールドを上記マイクロR
    OM内に設けたことを特徴とする請求項1のマイクロコ
    ンピュータ。
JP3045883A 1991-02-18 1991-02-18 マイクロコンピュータ Pending JPH04263322A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP3045883A JPH04263322A (ja) 1991-02-18 1991-02-18 マイクロコンピュータ
US08/311,833 US5524221A (en) 1991-02-18 1994-09-23 Next instruction pointer calculation system for a microcomputer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3045883A JPH04263322A (ja) 1991-02-18 1991-02-18 マイクロコンピュータ

Publications (1)

Publication Number Publication Date
JPH04263322A true JPH04263322A (ja) 1992-09-18

Family

ID=12731636

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3045883A Pending JPH04263322A (ja) 1991-02-18 1991-02-18 マイクロコンピュータ

Country Status (2)

Country Link
US (1) US5524221A (ja)
JP (1) JPH04263322A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6453388B1 (en) * 1992-06-17 2002-09-17 Intel Corporation Computer system having a bus interface unit for prefetching data from system memory

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63113634A (ja) * 1986-10-30 1988-05-18 Nec Corp プログラムカウンタ相対アドレス計算方式
JPH01154261A (ja) * 1987-12-11 1989-06-16 Toshiba Corp 情報処理装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4742451A (en) * 1984-05-21 1988-05-03 Digital Equipment Corporation Instruction prefetch system for conditional branch instruction for central processor unit
JP2554050B2 (ja) * 1986-02-26 1996-11-13 株式会社日立製作所 デ−タ処理方法
US4926323A (en) * 1988-03-03 1990-05-15 Advanced Micro Devices, Inc. Streamlined instruction processor
JPH0766324B2 (ja) * 1988-03-18 1995-07-19 三菱電機株式会社 データ処理装置
US5241637A (en) * 1990-01-05 1993-08-31 Motorola, Inc. Data processor microsequencer having multiple microaddress sources and next microaddress source selection

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63113634A (ja) * 1986-10-30 1988-05-18 Nec Corp プログラムカウンタ相対アドレス計算方式
JPH01154261A (ja) * 1987-12-11 1989-06-16 Toshiba Corp 情報処理装置

Also Published As

Publication number Publication date
US5524221A (en) 1996-06-04

Similar Documents

Publication Publication Date Title
JPH06236268A (ja) 命令の長さを判定する装置と方法
JPS635777B2 (ja)
US6611909B1 (en) Method and apparatus for dynamically translating program instructions to microcode instructions
JPH0430053B2 (ja)
JPS5831014B2 (ja) 命令先取り装置
JP2001092662A (ja) プロセッサコア及びこれを用いたプロセッサ
JPS61204758A (ja) コ・プロセツサ制御方式
JPS634208B2 (ja)
JPS6112288B2 (ja)
US5185870A (en) System to determine if modification of first macroinstruction to execute in fewer clock cycles
JPH0743648B2 (ja) 情報処理装置
JPH04263322A (ja) マイクロコンピュータ
US6233675B1 (en) Facility to allow fast execution of and, or, and test instructions
JPS601655B2 (ja) デ−タプリフェツチ方式
JPS5896345A (ja) 階層型演算方式
JP2619425B2 (ja) シーケンスコントローラ
JPH024010B2 (ja)
JPS6134188B2 (ja)
JP2503223B2 (ja) 先行制御方式
JPH03164945A (ja) データ処理装置
JPH0721018A (ja) マイクロプログラム制御方式の中央処理装置
JPH0241770B2 (ja)
JPS5896346A (ja) 階層型演算方式
JPH01271842A (ja) 情報処理装置
JPH0512009A (ja) デイジタル信号処理装置