JPH02163828A - データ処理装置 - Google Patents
データ処理装置Info
- Publication number
- JPH02163828A JPH02163828A JP31896988A JP31896988A JPH02163828A JP H02163828 A JPH02163828 A JP H02163828A JP 31896988 A JP31896988 A JP 31896988A JP 31896988 A JP31896988 A JP 31896988A JP H02163828 A JPH02163828 A JP H02163828A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- signal
- bytes
- gate
- deciding
- 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
Landscapes
- Advance Control (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
この発明は、マイクロコンピュータ等のデータ処理装置
に関し、特に命令の先取り処理の改良に関する。
に関し、特に命令の先取り処理の改良に関する。
バスのアイドル周期を利用して次の命令を予め取り込む
命令の先取り機能は、バスを介してデータ処理を行うマ
イクロコンピュータ等のデータ処理装置の命令実行時間
の短縮に大きく寄与する。
命令の先取り機能は、バスを介してデータ処理を行うマ
イクロコンピュータ等のデータ処理装置の命令実行時間
の短縮に大きく寄与する。
第4図は命令キューバッファを内蔵し、命令先取り機能
を有するバスインターフェース装置を備えたバス幅16
ビツトの16ビツトマイクロコンービユータの命令先取
り機能に関連する部分を示すブロック図である。図にお
いてlは先取りした命令コードを1バイト毎に格納する
命令キューバッファであり、ここでは3つの1バイトの
バッファ1a。
を有するバスインターフェース装置を備えたバス幅16
ビツトの16ビツトマイクロコンービユータの命令先取
り機能に関連する部分を示すブロック図である。図にお
いてlは先取りした命令コードを1バイト毎に格納する
命令キューバッファであり、ここでは3つの1バイトの
バッファ1a。
lb、 lcから構成されている。該命令キューバッフ
ァ1には、図示しないメモリからフェッチサイクル毎に
データバスDB上に読み出された命令コードがバッファ
la、 lb、 lcに各別に対応する入力ゲート2,
3.4を介して格納される。どの入力ゲート2゜3.4
を開閉するかは、それに接続された入力ポインタ5から
のゲート13号によって指示されている。
ァ1には、図示しないメモリからフェッチサイクル毎に
データバスDB上に読み出された命令コードがバッファ
la、 lb、 lcに各別に対応する入力ゲート2,
3.4を介して格納される。どの入力ゲート2゜3.4
を開閉するかは、それに接続された入力ポインタ5から
のゲート13号によって指示されている。
また入力ポインタ5のゲート信号は命令コードが命令キ
ューバッファに格納される毎に更新され、常に次のフェ
ッチサイクルによって取られた命令コードを格納する命
令キューバッファlのバッフy1a+ lb、 lcに
対応する入力ゲート2,3.4を指示する。
ューバッファに格納される毎に更新され、常に次のフェ
ッチサイクルによって取られた命令コードを格納する命
令キューバッファlのバッフy1a+ lb、 lcに
対応する入力ゲート2,3.4を指示する。
一方命令キューバッファlの夫々のバッファla。
lb、 lcは出力ポインタ9からのゲート信号が与え
られる出力ゲート6,7.8を介して図示しないCP(
1(中央演算処理装置)に接続され、そこに格納された
命令コードはCPUからの要求により、出力ゲー トロ
、7.8を介してCP[Iに送られる。
られる出力ゲート6,7.8を介して図示しないCP(
1(中央演算処理装置)に接続され、そこに格納された
命令コードはCPUからの要求により、出力ゲー トロ
、7.8を介してCP[Iに送られる。
どのバッファla、 lb、 lcに格納されている命
令コードをCPUに送るかは、出力ポインタ9からのゲ
ート信号により指示され、出力ポインタ9は格納されて
いる命令コードのうち最先にフェッチされた命令コード
を格納しているバッファ1a+ lb+10に対応する
出力ゲー)6,7.8を指示する。
令コードをCPUに送るかは、出力ポインタ9からのゲ
ート信号により指示され、出力ポインタ9は格納されて
いる命令コードのうち最先にフェッチされた命令コード
を格納しているバッファ1a+ lb+10に対応する
出力ゲー)6,7.8を指示する。
またカウンタ10はマイクロコンピュータの基本動作周
期に基づくマシンサイクル毎に、現在命令キューバッフ
ァ1内に存在する命令コードのバイト数に、フェッチに
よって新しく命令キューバッファ1に格納される命令コ
ードのバイト数を加え、さらにCPuへ送るために命令
キューバソファlから取り出される命令コードのバイト
数を引くという演算を行い、命令キューバッファ1内に
存在する命令コードのバイト数(この例では0〜3)を
計算し、その結果を0ビット格納信号l5P0.1ビッ
ト格納信号rsp tの2ビツトの格納信号として出力
する。
期に基づくマシンサイクル毎に、現在命令キューバッフ
ァ1内に存在する命令コードのバイト数に、フェッチに
よって新しく命令キューバッファ1に格納される命令コ
ードのバイト数を加え、さらにCPuへ送るために命令
キューバソファlから取り出される命令コードのバイト
数を引くという演算を行い、命令キューバッファ1内に
存在する命令コードのバイト数(この例では0〜3)を
計算し、その結果を0ビット格納信号l5P0.1ビッ
ト格納信号rsp tの2ビツトの格納信号として出力
する。
カウンタから出力された0ビット格納信号l5P0゜1
ビット格納信号rsp iは起動条件判定回路11に与
えられる。起動条件判定回路11は、この2つの信号I
SP O,ISP Iと、後述する各信号シDA、CL
Iン11DYQ、 BUSY、aにより命令の先取りを
行うバスサイクルを起動するか否かを判定し、この結果
を起動信号Jllとして出力する。ここで信号νDAは
CPuがバスインターフェース装置に対してデータのり
−ド/ライトを要求する信号であり、この要求は命令コ
ードの先取りよりも優先される。信号CLRは、分岐命
令の実jテにより先取りした命令コードが無効になると
き“L″になるものであり、この信号CLRがL”にな
ると、人出カポインタ5゜9及びカウンタ10は初期化
され、命令キューバッファ1の中身は空になる。この場
合には、信号VDAよりも優先してこの信号CLRによ
ってフェッチサイクルの起動が要求される。信号RDY
QはCPUから命令コードの要求があるときに、命令キ
ューバソファl内にその命令コードが先取りされていな
い場合に“L”になる信号であり、この場合も信号VD
Aに優先してフェッチサイクルの起動が要求される。信
号口は、これが“L″のときに、現在フェッチ又はデー
タのり一ド/ライトのためにバスが使用中であることを
示し、このためBUSY =1L″の間は新しいフェッ
チサイクルは起動できない。
ビット格納信号rsp iは起動条件判定回路11に与
えられる。起動条件判定回路11は、この2つの信号I
SP O,ISP Iと、後述する各信号シDA、CL
Iン11DYQ、 BUSY、aにより命令の先取りを
行うバスサイクルを起動するか否かを判定し、この結果
を起動信号Jllとして出力する。ここで信号νDAは
CPuがバスインターフェース装置に対してデータのり
−ド/ライトを要求する信号であり、この要求は命令コ
ードの先取りよりも優先される。信号CLRは、分岐命
令の実jテにより先取りした命令コードが無効になると
き“L″になるものであり、この信号CLRがL”にな
ると、人出カポインタ5゜9及びカウンタ10は初期化
され、命令キューバッファ1の中身は空になる。この場
合には、信号VDAよりも優先してこの信号CLRによ
ってフェッチサイクルの起動が要求される。信号RDY
QはCPUから命令コードの要求があるときに、命令キ
ューバソファl内にその命令コードが先取りされていな
い場合に“L”になる信号であり、この場合も信号VD
Aに優先してフェッチサイクルの起動が要求される。信
号口は、これが“L″のときに、現在フェッチ又はデー
タのり一ド/ライトのためにバスが使用中であることを
示し、このためBUSY =1L″の間は新しいフェッ
チサイクルは起動できない。
第5図は起動条件判定回路の構成を示す回路図であり、
いま、命令キューバソファlに先取りされた命令コード
のバイト数が1以下であり、他の信号■A、 CLR,
RD脣、百による条件が満足されたときに命令を先取り
するバスサイクルを起動させることとなる。ここで命令
先取りのための起動条件が、命令キューバッファlが3
バイトあるにも拘わらず、現在の命令キューバソファ1
内の命令コードのバイト数が2以下ではなく、1以下に
なっている理由は、このマイクロコンピュータのデータ
バス幅が16ビントになっているからである。
いま、命令キューバソファlに先取りされた命令コード
のバイト数が1以下であり、他の信号■A、 CLR,
RD脣、百による条件が満足されたときに命令を先取り
するバスサイクルを起動させることとなる。ここで命令
先取りのための起動条件が、命令キューバッファlが3
バイトあるにも拘わらず、現在の命令キューバソファ1
内の命令コードのバイト数が2以下ではなく、1以下に
なっている理由は、このマイクロコンピュータのデータ
バス幅が16ビントになっているからである。
即ちバス幅が16ビツト (=2バイト)の場合、偶数
番地よりフェッチを行うと、−度のバスサイクルで2バ
イトの命令コードがフェッチできるからである。もちろ
ん起動条件を2バイト以下にすることはできるが、命令
キューバッファI内の命令コードのバイト数が2バイト
のとき、1ハイトシか空がないので、偶数番地よりフェ
ッチを行っても1バイト分の命令コードしか格納できず
、これにより次のフェッチサイクルは奇数番地からとな
り、このサイクルでもlバイトの命令コードしかフェッ
チできない。従って起動条件を2バイ)・以下にしても
あまりメリットがない。
番地よりフェッチを行うと、−度のバスサイクルで2バ
イトの命令コードがフェッチできるからである。もちろ
ん起動条件を2バイト以下にすることはできるが、命令
キューバッファI内の命令コードのバイト数が2バイト
のとき、1ハイトシか空がないので、偶数番地よりフェ
ッチを行っても1バイト分の命令コードしか格納できず
、これにより次のフェッチサイクルは奇数番地からとな
り、このサイクルでもlバイトの命令コードしかフェッ
チできない。従って起動条件を2バイ)・以下にしても
あまりメリットがない。
以上の前提により、この起動条件判定回路11ではビッ
ト1格納信号ISP 1の“L”により命令コ−ドが1
以下であることを判定する。以下にこの回路11の構成
を第5図に従い説明する。
ト1格納信号ISP 1の“L”により命令コ−ドが1
以下であることを判定する。以下にこの回路11の構成
を第5図に従い説明する。
ビット1格納信号ISP 1はインバータ22を介して
NANI)ゲー1−20の一端に与えられ、その他端に
は信号■^が与えられる。NANDゲート20の出力信
号、信号CLR及び信号面はNANDゲー目8に与えら
れ、その出力信号と信号BIISYはNANDゲー目9
に与えられ、そこから起動信号ゴ■が出力される。
NANI)ゲー1−20の一端に与えられ、その他端に
は信号■^が与えられる。NANDゲート20の出力信
号、信号CLR及び信号面はNANDゲー目8に与えら
れ、その出力信号と信号BIISYはNANDゲー目9
に与えられ、そこから起動信号ゴ■が出力される。
次に従来装置の動作について説明する。
あることを示すビットl格納信号l5Pl=“L′がイ
ンバータ22に与えられると、それがインバータ22で
反転されて“H”となり、NANOゲート20に与えら
れる。そしてNANDゲー目8の出力信号は、信号RD
YIII、 iTR及びNANOゲート20の出力信号
のうち、いずれか1つの信号が“L”のときに“H″と
なり、信号BIISY−“H”により、起動信号]n−
“L″が出力される。従ってビット1格納信号=“L″
の場合に信号面1同CLR=“H”のときは、信号VD
A、同BUSY= ” H”のときに起動信号J11=
” L ”が出力され、命令コードをフェッチするた
めのバスサイクル(=フェッチサイクル)が実行される
。また信号■■=“L″のときは、他の信号が条件を満
たしていても起動信号ユ■=“L”は出力されない。
ンバータ22に与えられると、それがインバータ22で
反転されて“H”となり、NANOゲート20に与えら
れる。そしてNANDゲー目8の出力信号は、信号RD
YIII、 iTR及びNANOゲート20の出力信号
のうち、いずれか1つの信号が“L”のときに“H″と
なり、信号BIISY−“H”により、起動信号]n−
“L″が出力される。従ってビット1格納信号=“L″
の場合に信号面1同CLR=“H”のときは、信号VD
A、同BUSY= ” H”のときに起動信号J11=
” L ”が出力され、命令コードをフェッチするた
めのバスサイクル(=フェッチサイクル)が実行される
。また信号■■=“L″のときは、他の信号が条件を満
たしていても起動信号ユ■=“L”は出力されない。
従来のマイクロコンピュータでは、命令キューバッファ
のバイト数が3バイトであり、データバス幅が16ビノ
トの場合は、命令先取り機能の起動の判定条件を、命令
キューバッファに先取りされている命令コードのバイト
数が1バイト以下のときにしたが、例えばこのマイクロ
コンピュータがデータバス幅が8ビツトと16ビツトと
の2種類に切り替える機能をもつような場合で、データ
バス幅が8ピントで動作するときは、この判定条件を2
バイト以下としたほうが、3バイトの命令キューバソフ
ァを最大限に活用できる。また分岐命令の実行により信
号CLR=“L”となり、プログラムの実行の流れが変
わる時は、それまで先取りされた命令コードは無効とな
り捨てられてしまう。
のバイト数が3バイトであり、データバス幅が16ビノ
トの場合は、命令先取り機能の起動の判定条件を、命令
キューバッファに先取りされている命令コードのバイト
数が1バイト以下のときにしたが、例えばこのマイクロ
コンピュータがデータバス幅が8ビツトと16ビツトと
の2種類に切り替える機能をもつような場合で、データ
バス幅が8ピントで動作するときは、この判定条件を2
バイト以下としたほうが、3バイトの命令キューバソフ
ァを最大限に活用できる。また分岐命令の実行により信
号CLR=“L”となり、プログラムの実行の流れが変
わる時は、それまで先取りされた命令コードは無効とな
り捨てられてしまう。
従って命令キューバッファのバイト数が大きい場合に判
定条件のバイト数を大きくすると先取りされている命令
コードが多くなり、このときに分岐命令の多いプログラ
ムを実行すると、先取りされた命令コードが無効になる
ことが多く、これによる処理時間の遅延等の損失が問題
となる。
定条件のバイト数を大きくすると先取りされている命令
コードが多くなり、このときに分岐命令の多いプログラ
ムを実行すると、先取りされた命令コードが無効になる
ことが多く、これによる処理時間の遅延等の損失が問題
となる。
この発明は上記のような従来技術の問題点を解決するた
めになされたものであり、命令先取り機能の起動の判定
条件の命令キューバッファのハイド数の判定値をデータ
バス幅及びソフ]・ウェアの命令内容に応じて任意に変
更することにより、命令キューバソファを最大限利用で
き、また先取りされた命令コードの損失を防止しうるデ
ータ処理装置を提供することを目的とする。
めになされたものであり、命令先取り機能の起動の判定
条件の命令キューバッファのハイド数の判定値をデータ
バス幅及びソフ]・ウェアの命令内容に応じて任意に変
更することにより、命令キューバソファを最大限利用で
き、また先取りされた命令コードの損失を防止しうるデ
ータ処理装置を提供することを目的とする。
この発明に係るデータ処理装置は、命令の先取りの実行
の判定に用いる判定値を設定する判定値設定手段と、こ
の判定値を命令キューバッファ内の格納バイト数とを比
較する比較手段とを設け、判定値が格納バイト数より大
きいとき、命令の先取りを行うものである。
の判定に用いる判定値を設定する判定値設定手段と、こ
の判定値を命令キューバッファ内の格納バイト数とを比
較する比較手段とを設け、判定値が格納バイト数より大
きいとき、命令の先取りを行うものである。
この発明においては、命令の先取りの判定のための判定
値を任意に設定することができる。
値を任意に設定することができる。
以下、この発明をその一実施例を示す図面に基づいて説
明する。
明する。
第1図はこの発明に係るデータ処理装置であるバスl1
i16ビツトの16ビツトマイクロコンピユータの命令
先取り機能に関連する部分を示すブロック口である。図
において1は先取りした命令コードを1バイト毎に格納
する命令キューバッファであり、ここでは3つの1バイ
トのバッファla、 ib。
i16ビツトの16ビツトマイクロコンピユータの命令
先取り機能に関連する部分を示すブロック口である。図
において1は先取りした命令コードを1バイト毎に格納
する命令キューバッファであり、ここでは3つの1バイ
トのバッファla、 ib。
1cから構成されている。該命令キューバッファlには
、図示しないメモリからフェッチサイクル毎にデータバ
スDB上に読み出された命令コードがバッファla、
lb、 lcに各別に対応する入力ゲート23.4を介
して格納される。
、図示しないメモリからフェッチサイクル毎にデータバ
スDB上に読み出された命令コードがバッファla、
lb、 lcに各別に対応する入力ゲート23.4を介
して格納される。
どの人ノJゲー1−2.3.4を開閉するかは、それに
接続された入力ポインタ5からのゲート信号によって指
示されている。また入力ポインタ5のゲート信号は命令
コードが命令キューバッファ1に格納される毎に更新さ
れ、常に次のフェッチサイクルによって採られた命令コ
ードを格納する命令ギューバッファ1のバッファla、
Ib、 Icに対応する入力ゲート2,3.4を指示
する。
接続された入力ポインタ5からのゲート信号によって指
示されている。また入力ポインタ5のゲート信号は命令
コードが命令キューバッファ1に格納される毎に更新さ
れ、常に次のフェッチサイクルによって採られた命令コ
ードを格納する命令ギューバッファ1のバッファla、
Ib、 Icに対応する入力ゲート2,3.4を指示
する。
一方命令キューバッファ1の夫々のバッファla。
lb、 lcは出力ポインタ9からのゲート信号が与え
られる出力ゲー1−6.7.8を介してcpu(中央演
算処理袋りに接続され、そこに格納された命令コードは
CPUからの要求により、出力ゲート6,7.8を介し
てcpuに送られる。
られる出力ゲー1−6.7.8を介してcpu(中央演
算処理袋りに接続され、そこに格納された命令コードは
CPUからの要求により、出力ゲート6,7.8を介し
てcpuに送られる。
どのバッファla、 lb、 lcに格納されている命
令コードをCPUに送るかは、出力ポインタ9からのゲ
ート信号により指示され、出力ポインタ9は格納されて
いる命令コードのうち最先にフェッチされた命令コード
を格納しているバッファla、 lb。
令コードをCPUに送るかは、出力ポインタ9からのゲ
ート信号により指示され、出力ポインタ9は格納されて
いる命令コードのうち最先にフェッチされた命令コード
を格納しているバッファla、 lb。
1cに対応する出力ゲート6,7.8を指示する。
またカウンタlOはマイクロコンピュータの基本動作周
期に基づく各マシンサイクル毎に、現在命令キューバッ
ファ1内に存在する命令コードのバイト数に、フェッチ
によって新しく命令キューバッファlに格納される命令
コードのバイト数を加え、さらにCPUへ送るために命
令キューバッファ1から取り出される命令コードのバイ
ト数を引くという演算を行い、命令キューバッファ1内
に存在する命令コードのバイト数(この例ではO〜3)
を計算し、その結果をOビット格納信号15PO。
期に基づく各マシンサイクル毎に、現在命令キューバッ
ファ1内に存在する命令コードのバイト数に、フェッチ
によって新しく命令キューバッファlに格納される命令
コードのバイト数を加え、さらにCPUへ送るために命
令キューバッファ1から取り出される命令コードのバイ
ト数を引くという演算を行い、命令キューバッファ1内
に存在する命令コードのバイト数(この例ではO〜3)
を計算し、その結果をOビット格納信号15PO。
1ビツト格納信号ISP 1の2ビツトの格納信号とし
て出力する。
て出力する。
また先取りのためのフェッチサイクルの起動条件として
の判定値は、その設定手段である起動条件の設定レジス
タ12により定められる。この設定レジスタ12は命令
キューバッファlのバイト数に応じて定まる判定信号を
出力する。この例ではOビット判定信号NQ0,1ビツ
ト判定信号NQIの2ビツトの判定信号として出力する
。そして格納信号と判定信号とが、起動条件判定回路1
1に与えられ、その大小が比較される。起動条件判定回
路11にはその他前述の信号VDA 、■I?、 RD
YQ、罰「が入力される。そしてこれらの信号が所定の
起動条件を満足すると起動信号]nを出力し、その“L
”により命令コードの先取りが行われる。
の判定値は、その設定手段である起動条件の設定レジス
タ12により定められる。この設定レジスタ12は命令
キューバッファlのバイト数に応じて定まる判定信号を
出力する。この例ではOビット判定信号NQ0,1ビツ
ト判定信号NQIの2ビツトの判定信号として出力する
。そして格納信号と判定信号とが、起動条件判定回路1
1に与えられ、その大小が比較される。起動条件判定回
路11にはその他前述の信号VDA 、■I?、 RD
YQ、罰「が入力される。そしてこれらの信号が所定の
起動条件を満足すると起動信号]nを出力し、その“L
”により命令コードの先取りが行われる。
第2図は設定レジスタの構成を示す回路図、第3図は起
動条件判定回路の構成を示す回路図である。
動条件判定回路の構成を示す回路図である。
第2図において、設定レジスタ12は2ビツトの値を記
憶するものであり、2つのラッチ120.121により
構成される。ラッチ120.121のデータ端子り、D
にはデータバスDBを介して判定のための2ビット入力
体号DBO,DBIが与えられる。またクロック端子C
1Cにはこの設定レジスタ12に対してライト命令が実
行されると“H”となるう・イ臼言号M8とリード命令
が実行されると“H”となるリード信号M9とが与えら
れるそして出力端子Q、Qからは判定信号NQO,NQ
Iが夫々出力される。
憶するものであり、2つのラッチ120.121により
構成される。ラッチ120.121のデータ端子り、D
にはデータバスDBを介して判定のための2ビット入力
体号DBO,DBIが与えられる。またクロック端子C
1Cにはこの設定レジスタ12に対してライト命令が実
行されると“H”となるう・イ臼言号M8とリード命令
が実行されると“H”となるリード信号M9とが与えら
れるそして出力端子Q、Qからは判定信号NQO,NQ
Iが夫々出力される。
また第3図において、破線内のブロックは判定信号Nロ
O,N口1と格、柄信号rsP O,ISP 1との
大小を判定するものであり、その結果、格納信号ISP
O,ISP lが判定(i号N[)1101より小さ
い時に命令コードの先取りが要求される。即ちOビット
格納信号ISP OはNANDゲート27の一端とNO
Rゲート15の一端とに与えられ、1ビツト格納信号I
SP 1はNANOゲート27の他端と、インバータ
24と、NORゲート15の他端とに与えられる。また
Oビット判定信号NGOはNORゲート23の一端に、
その反転信マ罰0はNORゲート26の一端と、NOR
ゲート14の一端とNANDゲーH3の一端とに与えら
れる。
O,N口1と格、柄信号rsP O,ISP 1との
大小を判定するものであり、その結果、格納信号ISP
O,ISP lが判定(i号N[)1101より小さ
い時に命令コードの先取りが要求される。即ちOビット
格納信号ISP OはNANDゲート27の一端とNO
Rゲート15の一端とに与えられ、1ビツト格納信号I
SP 1はNANOゲート27の他端と、インバータ
24と、NORゲート15の他端とに与えられる。また
Oビット判定信号NGOはNORゲート23の一端に、
その反転信マ罰0はNORゲート26の一端と、NOR
ゲート14の一端とNANDゲーH3の一端とに与えら
れる。
1ビツト判定信号NQIはNORゲー目4の他端に与え
られ、その反転信号酊はNORゲート26の他端と、N
ORゲート23の他端と、N A N Dゲー目3の他
端とに与えられる。 NANI)ゲート27の出力信号
とNORゲート26の出力信号とはHANDゲート28
に与えられ、インパーク24の出力信号とNORゲート
23の出力信号とはNANDゲート25に与えられ、N
ORゲート15の出力信号とNORゲート14の出力信
号とはNANOゲート16に与えられる。そしてNAN
Dゲー[・16、同25、同28の出力信号はNAND
ゲート17に与えられ、その出力信号とNANDゲート
13の出力信号と信号νDAとが?/ANDゲート21
に与えられる。
られ、その反転信号酊はNORゲート26の他端と、N
ORゲート23の他端と、N A N Dゲー目3の他
端とに与えられる。 NANI)ゲート27の出力信号
とNORゲート26の出力信号とはHANDゲート28
に与えられ、インパーク24の出力信号とNORゲート
23の出力信号とはNANDゲート25に与えられ、N
ORゲート15の出力信号とNORゲート14の出力信
号とはNANOゲート16に与えられる。そしてNAN
Dゲー[・16、同25、同28の出力信号はNAND
ゲート17に与えられ、その出力信号とNANDゲート
13の出力信号と信号νDAとが?/ANDゲート21
に与えられる。
NANDゲート18の出力信号と信号MnとはNANO
ゲ−1−19に与えられ、そこから起動信号]■が出力
される。起動信号]■はそれが“L”のとき先取りのた
めのフェッチサイクルが起動される。
ゲ−1−19に与えられ、そこから起動信号]■が出力
される。起動信号]■はそれが“L”のとき先取りのた
めのフェッチサイクルが起動される。
次に以上のように構成されたこの発明のデータ処理装置
のフェッチサイクルの起動の判定動作について説明する
。
のフェッチサイクルの起動の判定動作について説明する
。
ライト信号M8が“H“となると、データバスDBヲ介
して設定レジスタ12に、ソフトウェアにて2ビツトの
判定値である人力信号DBO,DBIが与えられ保持さ
れる。そしてリード信号M9−″H”となると、その判
定値が判定信号NGO,NQIとして読み出される。
して設定レジスタ12に、ソフトウェアにて2ビツトの
判定値である人力信号DBO,DBIが与えられ保持さ
れる。そしてリード信号M9−″H”となると、その判
定値が判定信号NGO,NQIとして読み出される。
ここで例えば設定レジスタ】2に判定値として′0”を
セットする(NQ l =NG O−“L″)と、NA
NDゲート13の出力信号が“L”となるため、命令の
先取り機能が禁止された状態となる。また11′をセッ
トする(NQ 1−“L”、NQO=″H”)とNOR
ゲー)14の出力信号が“H”となり、命令キューバソ
ファ1に先取りされている命令コードのバイト数が□
m、即ちISP 1−“L ” 、 ISP 0−“L
”のときのみNORゲー目5の出力信号が“H′となる
。これによりNANDゲー目6の出力(言号力びL″、
NANDゲート17の出力信号が“+(”となり、この
ときNANOゲーH3の出力信号は“H”であるから、
他の信号n4.ばI?、 RD’lQ、肩sV=゛s*
”ならば、起動信号J11.=“L″となって命令の先
取りが指示される。同様に設定レジスタ12の判定値が
“2“のときは、NQl−”l(”、NGO=”L’と
なるので、NORゲート23の出力が“H”となり、命
令コードのバイト数が“1”以下、即ちISP 1=″
′L”のときのみ、NANOゲート25の出力信号が“
L″となり、また判定値が°3“のときは、N01=“
H”、NGO−“H”となるので、格納信号が“2”以
下、即ちISP 1又はISP OのいずれかL′のと
き、NANDゲート28の出力信号が“L″となり、い
ずれもNANDゲート17の出力信号が“H゛となる。
セットする(NQ l =NG O−“L″)と、NA
NDゲート13の出力信号が“L”となるため、命令の
先取り機能が禁止された状態となる。また11′をセッ
トする(NQ 1−“L”、NQO=″H”)とNOR
ゲー)14の出力信号が“H”となり、命令キューバソ
ファ1に先取りされている命令コードのバイト数が□
m、即ちISP 1−“L ” 、 ISP 0−“L
”のときのみNORゲー目5の出力信号が“H′となる
。これによりNANDゲー目6の出力(言号力びL″、
NANDゲート17の出力信号が“+(”となり、この
ときNANOゲーH3の出力信号は“H”であるから、
他の信号n4.ばI?、 RD’lQ、肩sV=゛s*
”ならば、起動信号J11.=“L″となって命令の先
取りが指示される。同様に設定レジスタ12の判定値が
“2“のときは、NQl−”l(”、NGO=”L’と
なるので、NORゲート23の出力が“H”となり、命
令コードのバイト数が“1”以下、即ちISP 1=″
′L”のときのみ、NANOゲート25の出力信号が“
L″となり、また判定値が°3“のときは、N01=“
H”、NGO−“H”となるので、格納信号が“2”以
下、即ちISP 1又はISP OのいずれかL′のと
き、NANDゲート28の出力信号が“L″となり、い
ずれもNANDゲート17の出力信号が“H゛となる。
即ちNANDゲート17のいずれかの信号が“L″のと
き、その出力信号が“H”となり、他の信号の“I]”
により、起動信号ゴ■が“L”となり、フェッチのため
のサイクルが起動される。
き、その出力信号が“H”となり、他の信号の“I]”
により、起動信号ゴ■が“L”となり、フェッチのため
のサイクルが起動される。
なお、この実施例では命令キューバッファのバイト数が
3バイトの場合を例示して説明したが、この発明はこれ
に限るものではなく、このバイト数は任意でよく、それ
に応じてカウンタ及び設定レジスタのビット数を増減さ
せればよいことは言うまでもない。
3バイトの場合を例示して説明したが、この発明はこれ
に限るものではなく、このバイト数は任意でよく、それ
に応じてカウンタ及び設定レジスタのビット数を増減さ
せればよいことは言うまでもない。
以上説明したとおり、この発明においては、命令コード
の先取り機能の起動の判定条件の一つである命令キュー
バッファの格納バイト数の判定値をソフトウェアにより
任意に変更できるので、マイクロコンピュータのデータ
バス幅に応じて判定条件を可変となすことができ、命令
キューバソファを最大限に利用できると共に、1つのプ
ログラム中で分岐命令の多い部分ではその判定値を小さ
くすることにより、命令先取り機能を抑制し、分岐によ
る先取りされた命令コードの用失を防止し、データ処理
の効率を向上させることができる等の優れた効果を奏す
る。
の先取り機能の起動の判定条件の一つである命令キュー
バッファの格納バイト数の判定値をソフトウェアにより
任意に変更できるので、マイクロコンピュータのデータ
バス幅に応じて判定条件を可変となすことができ、命令
キューバソファを最大限に利用できると共に、1つのプ
ログラム中で分岐命令の多い部分ではその判定値を小さ
くすることにより、命令先取り機能を抑制し、分岐によ
る先取りされた命令コードの用失を防止し、データ処理
の効率を向上させることができる等の優れた効果を奏す
る。
第1図はこの発明に係るデータ処理装置であるバス幅1
6ビツトの16ビツトマイクロコンピユータの命令先取
り機能に関連する部分のブロック図、第2図は設定レジ
スタの構成を示す回路図、第3図は起動条件判定回路の
構成を示す回路図、第4図は従来のマイクロコンピュー
タにおける命令の先取り機能に関連する部分のブロック
図、第5図は従来の起動条件判定回路の構成を示す回路
図である。 1・・・命令キューバッファ 1.0・・・カウンタ
11・・・起動条件判定回路 12・・・設定レジス
タなお、図中1.同一符号は同一、又は相当部分を示す
。
6ビツトの16ビツトマイクロコンピユータの命令先取
り機能に関連する部分のブロック図、第2図は設定レジ
スタの構成を示す回路図、第3図は起動条件判定回路の
構成を示す回路図、第4図は従来のマイクロコンピュー
タにおける命令の先取り機能に関連する部分のブロック
図、第5図は従来の起動条件判定回路の構成を示す回路
図である。 1・・・命令キューバッファ 1.0・・・カウンタ
11・・・起動条件判定回路 12・・・設定レジス
タなお、図中1.同一符号は同一、又は相当部分を示す
。
Claims (1)
- (1)先取りした命令を格納する複数バイトの命令キュ
ーバッファと、該命令キューバッファに格納された命令
の格納バイト数を計数するカウンタとを有し、前記格納
バイト数に応じて命令の先取りを行い、データの処理を
行うデータ処理装置において、 命令の先取りの実行の判定に用いる判定値 を設定する判定値設定手段と 前記判定値と前記格納バイト数とを比較す る比較手段とを備え、 前記格納バイト数が前記判定値より小さい とき、命令を先取りすべくなしてあることを特徴とする
データ処理装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP31896988A JPH02163828A (ja) | 1988-12-16 | 1988-12-16 | データ処理装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP31896988A JPH02163828A (ja) | 1988-12-16 | 1988-12-16 | データ処理装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH02163828A true JPH02163828A (ja) | 1990-06-25 |
Family
ID=18105015
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP31896988A Pending JPH02163828A (ja) | 1988-12-16 | 1988-12-16 | データ処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH02163828A (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH06103065A (ja) * | 1992-09-21 | 1994-04-15 | Matsushita Electric Ind Co Ltd | 命令プリフェッチ装置 |
| JP2005044343A (ja) * | 2003-06-21 | 2005-02-17 | Samsung Electronics Co Ltd | データバス幅を自在に変更する携帯用保存装置及び方法 |
| JP2009530753A (ja) * | 2006-03-21 | 2009-08-27 | フリースケール セミコンダクター インコーポレイテッド | 命令プリフェッチバッファ深さの動的制御を有するデータプロセッサとその方法 |
-
1988
- 1988-12-16 JP JP31896988A patent/JPH02163828A/ja active Pending
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH06103065A (ja) * | 1992-09-21 | 1994-04-15 | Matsushita Electric Ind Co Ltd | 命令プリフェッチ装置 |
| JP2005044343A (ja) * | 2003-06-21 | 2005-02-17 | Samsung Electronics Co Ltd | データバス幅を自在に変更する携帯用保存装置及び方法 |
| JP2009530753A (ja) * | 2006-03-21 | 2009-08-27 | フリースケール セミコンダクター インコーポレイテッド | 命令プリフェッチバッファ深さの動的制御を有するデータプロセッサとその方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5168571A (en) | System for aligning bytes of variable multi-bytes length operand based on alu byte length and a number of unprocessed byte data | |
| JPH0786845B2 (ja) | データ処理装置 | |
| JP2773471B2 (ja) | 情報処理装置 | |
| US5835972A (en) | Method and apparatus for optimization of data writes | |
| WO1996008769A1 (en) | Computer instruction prefetch system | |
| US20040044885A1 (en) | Performing repeat string operations | |
| JPS6349937A (ja) | 命令先取り制御装置 | |
| KR100546298B1 (ko) | Arm7t 프로세서를 이용한 마이크로 프로세서에서 명령어 모드에 따른 캐쉬 메모리의 라인 사이즈 제어 방법 및 그 장치 | |
| JPH04369061A (ja) | キャッシュメモリの制御方式 | |
| CN103282876A (zh) | 数据元素的条件选择 | |
| JPH0342723A (ja) | データ処理装置 | |
| JP2001265651A (ja) | データ処理装置 | |
| JPS61250754A (ja) | 簡易型キヤツシユメモリ | |
| JPH0150934B2 (ja) | ||
| JPS6336405A (ja) | プログラマブル・コントロ−ラ | |
| JP2004522227A (ja) | 推定アドレスを発生するインクリメンタを備えたメモリ制御システム | |
| JPS58169384A (ja) | デ−タ処理装置 | |
| JP2003162411A (ja) | データプロセッサ | |
| JPH0467229A (ja) | マイクロプロセッサおよびメモリシステム | |
| JPS5947377B2 (ja) | 主記憶アクセス制御方式 | |
| JPH0314157A (ja) | データ拡張型マイクロプロセッサ | |
| JPS61211744A (ja) | 命令先取り制御装置 | |
| JPH02176931A (ja) | 分岐予測制御装置 | |
| JPH07200490A (ja) | Mpu | |
| JPH03252744A (ja) | ストリングデータ書込み制御回路 |