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
Links
- 238000000034 method Methods 0.000 claims description 4
- 230000008676 import Effects 0.000 claims 1
- 101100087530 Caenorhabditis elegans rom-1 gene Proteins 0.000 abstract description 14
- 101100305983 Mus musculus Rom1 gene Proteins 0.000 abstract description 14
- 238000010586 diagram Methods 0.000 description 5
- 230000015654 memory Effects 0.000 description 4
- 101001106432 Homo sapiens Rod outer segment membrane protein 1 Proteins 0.000 description 2
- 102100021424 Rod outer segment membrane protein 1 Human genes 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/22—Microcontrol or microprogram arrangements
- G06F9/226—Microinstruction function, e.g. input/output microinstruction; diagnostic microinstruction; microinstruction format
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/321—Program or instruction counter, e.g. incrementing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction 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や周辺装置と接続される。
ュータ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…のように転送
されているものとする。
ィエートデータ(即値)を使用する命令を実行すると仮
定する。外部メモリ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に対
して次にアクセスすべきマイクロ命令のアドレスを出力
する。
クルで、実行ユニット5は前命令の最後のマイクロ命令
に基づき、次の命令コードをバスインタフェースユニッ
ト7に対して要求し、プログラムカウンタ18の内容に
1を加算する。バスインタフェースユニット7はこの要
求を受けて、データが有効であれば命令プリフェッチバ
ッファ6から1ステップの命令コード(データ)をアド
レスデコーダ4に送る。このデータはアドレスデコーダ
4によってデコードされ、マイクロROM1がアクセス
され、マイクロROM1は命令コードを構成し、まず実
行すべきマイクロ命令を実行ユニット5に対し出力する
。 マイクロROM1はまた同時にアドレスデコーダ4に対
して次にアクセスすべきマイクロ命令のアドレスを出力
する。
【0006】次の時刻t1 で始まるサイクルでは、実
行ユニット5はまず入力したマイクロ命令を実行し、こ
のマイクロ命令のワード数を検出する。また、バスイン
タフェースユニット7に対して次のイミディエートデー
タを要求し、データポインタ8に前に読み出した1ステ
ップ命令コード(イミディエートデータ)のワード数を
加算させる。バスインタフェースユニット7は、データ
が有効であれば、命令プリフェッチバッファ6からの要
求に対して次の1ステップの命令コード(相当するオペ
ランド)を読み出し、アドレスデコーダ4に送る。
行ユニット5はまず入力したマイクロ命令を実行し、こ
のマイクロ命令のワード数を検出する。また、バスイン
タフェースユニット7に対して次のイミディエートデー
タを要求し、データポインタ8に前に読み出した1ステ
ップ命令コード(イミディエートデータ)のワード数を
加算させる。バスインタフェースユニット7は、データ
が有効であれば、命令プリフェッチバッファ6からの要
求に対して次の1ステップの命令コード(相当するオペ
ランド)を読み出し、アドレスデコーダ4に送る。
【0007】次のt2 のサイクルでは、命令プリフェ
ッチバッファ6が出力した命令コード(データ)に基づ
いて、再びマイクロROM1をアクセスする。前のマイ
クロ命令に基づき実行ユニット5は次の命令コードをバ
スインタフェースユニット7に要求する。以下前述した
t0 ,t1 の動作を繰り返して、マイクロコンピュ
ータMはユーザプログラムの各命令を実行していく。
ッチバッファ6が出力した命令コード(データ)に基づ
いて、再びマイクロROM1をアクセスする。前のマイ
クロ命令に基づき実行ユニット5は次の命令コードをバ
スインタフェースユニット7に要求する。以下前述した
t0 ,t1 の動作を繰り返して、マイクロコンピュ
ータMはユーザプログラムの各命令を実行していく。
【0008】
【発明が解決しようとする課題】従来のマイクロコンピ
ュータは以上のように命令を実行して行くので、各マイ
クロ命令を実行した後でなければ、次の命令コードが命
令プリフェッチバッファ6のどの位置にあるか分らない
という問題があった。
ュータは以上のように命令を実行して行くので、各マイ
クロ命令を実行した後でなければ、次の命令コードが命
令プリフェッチバッファ6のどの位置にあるか分らない
という問題があった。
【0009】この発明は上記のような問題点を解消する
ためになされたもので、マイクロ命令の実行前に次の命
令コードの位置が分かるようにした高速処理可能なマイ
クロコンピュータを得ることを目的とする。
ためになされたもので、マイクロ命令の実行前に次の命
令コードの位置が分かるようにした高速処理可能なマイ
クロコンピュータを得ることを目的とする。
【0010】
【課題を解決するための手段】この発明に係るマイクロ
コンピュータは、図1に示すように、各種の命令コード
からなるユーザプログラムを外部から取り込むバスイン
タフェースユニット7と、このバスインタフェースユニ
ット7から複数の命令コードを入力して記憶する命令プ
リフェッチバッファ6と、この命令プリフェッチバッフ
ァ6から読み出した命令コードのデータを入力してアド
レスを発生するデコーダ4と、命令コードを構成する各
種のマイクロ命令を予め記憶しているマイクロROM1
と、アドレスに従ってマイクロROM1から読み出した
マイクロ命令を入力して処理する実行ユニット5とを備
えたマイクロコンピュータにおいて、命令プリフェッチ
バッファ6内の命令コードに番地付けを行う内部デコー
ダ17と、好ましくはマイクロROM1内に設けられ、
各種のマイクロ命令の長さを示すワード数を記憶するワ
ード数フィールド12と、バスインタフェースユニット
7内に設けられ、ワード数を入力して命令プリフェッチ
バッファ6内の命令コードのアドレスを指示する位置算
出手段14とを備えた。
コンピュータは、図1に示すように、各種の命令コード
からなるユーザプログラムを外部から取り込むバスイン
タフェースユニット7と、このバスインタフェースユニ
ット7から複数の命令コードを入力して記憶する命令プ
リフェッチバッファ6と、この命令プリフェッチバッフ
ァ6から読み出した命令コードのデータを入力してアド
レスを発生するデコーダ4と、命令コードを構成する各
種のマイクロ命令を予め記憶しているマイクロROM1
と、アドレスに従ってマイクロROM1から読み出した
マイクロ命令を入力して処理する実行ユニット5とを備
えたマイクロコンピュータにおいて、命令プリフェッチ
バッファ6内の命令コードに番地付けを行う内部デコー
ダ17と、好ましくはマイクロROM1内に設けられ、
各種のマイクロ命令の長さを示すワード数を記憶するワ
ード数フィールド12と、バスインタフェースユニット
7内に設けられ、ワード数を入力して命令プリフェッチ
バッファ6内の命令コードのアドレスを指示する位置算
出手段14とを備えた。
【0011】
【作用】この発明に係るマイクロコンピュータは、位置
算出手段14によって、命令プリフェッチバッファ6内
の、次に読み出すべきステップの命令コードの位置を、
マイクロROM1の命令のワード数を示すフィールド1
2に置かれたデータより求める。これにより、前の命令
ワードのマイクロ命令を実行すると同時に、次のステッ
プの命令コードを命令プリフェッチバッファ6から読み
出すことができる。従ってパイプライン処理の実行項目
が増加するので全体としてマイクロコンピュータの処理
が大幅にアップする。
算出手段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からのデータを加算する加算器である。
一実施例を示すブロック図であり、同図において、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が設けられている。
令コードポインタ13は全体で命令コードの位置を算出
する位置算出手段14を構成している。又命令コードポ
インタ13の出力は、スイッチングゲート25を介して
データラッチ23の入力に与えられ、同時に命令待機手
段16の内部デコーダ17に与えられている。又加算器
24と命令コードポインタ13との間には別のスイッチ
ングゲート26が設けられている。
【0014】さて判定手段15はラストデータポインタ
(LDP)20と減算器21とレジスタ22とから構成
され、命令コードポインタ13の出力は、減算器21の
一方の入力に、又LDP20の出力は他方の入力に与え
られている。LDP20は命令プリフェッチバッファ6
内で有効なデータと無効なデータとの境界を示すポイン
タで、減算器21の出力の最上位ビットが0のとき命令
コードは有効,1のとき無効と定義する。
(LDP)20と減算器21とレジスタ22とから構成
され、命令コードポインタ13の出力は、減算器21の
一方の入力に、又LDP20の出力は他方の入力に与え
られている。LDP20は命令プリフェッチバッファ6
内で有効なデータと無効なデータとの境界を示すポイン
タで、減算器21の出力の最上位ビットが0のとき命令
コードは有効,1のとき無効と定義する。
【0015】ユーザプログラムを構成する命令コードは
データ長がそれぞれ異なりワード数が同一ではなく、又
各命令コードはワード数の異なるマイクロ命令によって
構成されている。
データ長がそれぞれ異なりワード数が同一ではなく、又
各命令コードはワード数の異なるマイクロ命令によって
構成されている。
【0016】次に動作について説明する。簡単のためマ
イクロコンピュータはイミディエートデータ(プログラ
ム組み込みデータ)を使用する命令を実行すると仮定す
る。又ユーザプログラムはRAM19から読み込んで命
令プリフェッチバッファ6に移される。
イクロコンピュータはイミディエートデータ(プログラ
ム組み込みデータ)を使用する命令を実行すると仮定す
る。又ユーザプログラムは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
を加える。
イクルのはじめで実行ユニット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で構成できるの
で,簡単な構成にできる。
コンピュータはユーザプログラムの各命令を並行処理で
実行していく。時刻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の命令ワード数を示すフィールドに置かれた
データより求めることができる。実行ユニットが命令の
全てを処理終了する以前に、次の命令の命令コードを読
み出すことが可能となり、高速な処理可能なマイクロコ
ンピュータを得ることが出来る。
れば、命令プリフェッチバッファ内の命令コードに番地
付けを行う内部デコーダと、マイクロ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】 各種の命令コードからなるユーザプロ
グラムを外部から取り込むバスインタフェースユニット
と、このバスインタフェースユニットから複数の命令コ
ードを入力して記憶する命令プリフェッチバッファと、
この命令プリフェッチバッファから読み出した命令コー
ドのデータを入力してアドレスを発生するデコーダと、
前記命令コードを構成する各種のマイクロ命令を予め記
憶しているマイクロROMと、前記アドレスに従って前
記マイクロROMから読み出したマイクロ命令を入力し
て処理する実行ユニットとを備えたマイクロコンピュー
タにおいて、前記命令プリフェッチバッファ内の命令コ
ードに番地付けを行う内部デコーダと、前記各種のマイ
クロ命令の長さを示すワード数を記憶するワード数フィ
ールドと、この数フィールドのワード数を入力し、これ
と前回読み出された命令コードの位置とを加算すること
により、前記命令プリフェッチバッファ内の次回の命令
コードのアドレスを算出する位置算出手段とを備えたこ
とを特徴とするマイクロコンピュータ。 - 【請求項2】上記位置算出手段を、前回読み出された命
令コードの位置をラッチするラッチと、このラッチの出
力と上記ワードフィールドのワード数に相当するデータ
とを加算する加算器と、この加算器の出力にもとづき命
令コードの位置を出力するコードポインタとを備えたこ
とを特徴とする請求項1のマイクロコンピュータ。 - 【請求項3】上記ワード数フィールドを上記マイクロR
OM内に設けたことを特徴とする請求項1のマイクロコ
ンピュータ。
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)
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)
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)
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 |
-
1991
- 1991-02-18 JP JP3045883A patent/JPH04263322A/ja active Pending
-
1994
- 1994-09-23 US US08/311,833 patent/US5524221A/en not_active Expired - Fee Related
Patent Citations (2)
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) | デイジタル信号処理装置 |