JPS6211736B2 - - Google Patents

Info

Publication number
JPS6211736B2
JPS6211736B2 JP56036325A JP3632581A JPS6211736B2 JP S6211736 B2 JPS6211736 B2 JP S6211736B2 JP 56036325 A JP56036325 A JP 56036325A JP 3632581 A JP3632581 A JP 3632581A JP S6211736 B2 JPS6211736 B2 JP S6211736B2
Authority
JP
Japan
Prior art keywords
instruction
byte
unit
instruction prefetch
prefetch buffer
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.)
Expired
Application number
JP56036325A
Other languages
English (en)
Other versions
JPS57152046A (en
Inventor
Takahide Oogami
Yasushi Taguchi
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 JP56036325A priority Critical patent/JPS57152046A/ja
Publication of JPS57152046A publication Critical patent/JPS57152046A/ja
Publication of JPS6211736B2 publication Critical patent/JPS6211736B2/ja
Granted 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
    • 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)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 この発明は命令先取り制御を行う情報処理装置
に関し、特に命令の長さが1種類に限定されてい
ない場合の命令先取り制御に関するものである。
一般に、命令先取り制御を行う情報処理装置は
第1図のような構成となる。第1図において、1
はメモリアドレスレジスタ、2は記憶装置、3は
命令先取りバツフア、4は命令レジスタである。
メモリアドレスレジスタ1によつて指定されたア
ドレスに格納されている命令が数バイトずつ命令
先取りバツフア3へ先取りされ、この命令先取り
バツフア3から適宜、命令レジスタ4で設定され
て、命令の解釈、実行が行われている。
第2図は従来の装置の一例を示すブロツク図
で、第1図と同一符号は同一部分を示し、5a,
5bはそれぞれ第1図の3に相当する命令先取り
バツフアである。以下、説明の便宜のために次の
ような数値例を仮定する。すなわち、記憶装置2
に格納されるデイジタル信号は1バイドごとにア
ドレスが付けられ、このアドレス順に8個(一般
にはn個)のバイトをまとめたものを1記憶単位
〓〓〓〓
として記憶しており、命令には2バイト長のもの
と4バイト長のものがあるとする。第2図記憶装
置2のうちI0,I3,I4,I8で示すものは
2バイト長の命令、I1,I2,I5,I6,I
7で示すものは4バイト長の命令である。また、
第2図記憶装置2のうち横方向の一行がそれぞれ
1記憶単位構成し各行の左側に記入した0,8,
16,24は当該記憶単位の先頭バイトのアドレ
ス示す。アドレスを2進数で表した場合その下位
3ビツトを無視すれば各記憶単位に共通なアドレ
スとなるので、記憶装置2からの命令の取出しは
1記憶単位ごとに行われる。命令先取りバツフア
5a,5bはそれぞれ1記憶単位(この場合は8
バイト)を格納する容量を持つ。
現在時点で命令I1を処理したところ、「アド
レス10へ分岐せよ」という命令であつたとす
る。アドレス10を含む記憶単位の先頭アドレス
は8であるので(2進数表示で下位3ビツトを無
視すると10と8とは同一表示になる。)先頭ア
ドレス8の記憶単位を命令先取りバツフア5aへ
格納し先頭アドレス16の記憶単位を命令先取り
バツフア5bへ格納する。アドレス10の命令I
3から順次命令レジスタ4に設定され実行される
ので命令先取りバツフア5a内の命令I2は先取
りする必要のない命令であり、また命令I7を命
令レジスタ4に設定するには更に先頭アドレス2
4の記憶単位から命令の取出しを行わねばならな
い。このことは、記憶装置2から命令先取りバツ
フア5a,5bへの命令の取出し回数の増加を招
き、処理速度の低下の一因となる。
このような欠点を改善するために従来第3図に
示す装置が用いられた。第3図において第2図と
同一符号は同一部分を示し、6aは取出しシフ
ト、結合装置であり、5c,5dは第2図の5
a,5bに相当する命令先取りバツフアである。
第2図について説明したと同様、命令I1を処
理し「アドレス10へ分岐せよ」という命令であ
つたとすると、取出しシフト、結合装置6aは先
頭アドレス8の記憶単位と先頭アドレス16の記
憶単位とを読出しこれを直列に結合した上で全体
を左へ2バイト分シフトして命令I2の後半を追
出した上左端(命令I3が左端に来ている)から
8バイト分だけを命令先取りバツフア5cに入力
すればバツフア5cには図に示すような命令が入
力されることになり、次に取出しシフト、結合装
置6aに先頭アドレス16の記憶単位と先頭アド
レス24の記憶単位を読出しこれを直列に結合し
た上で全体を左へ2バイト分シフトして命令I5
の後半を追出した上左端(命令I6が左端に来て
いる)から8バイト分だけを命令先取りバツフア
5dに入力すればバツフア5dには図に示すよう
な命令が入力されることになる。
命令先取りバツフア5c,5dから命令レジス
タ4へ命令を設定するには、モジユロ
(modulo)8のカウンタをポインタとして用い、
ポインタの初期値を0に設定し命令先取りバツフ
ア5cの第0番目のバイトすなわち先頭バイトか
ら設定し、命令の解読時に、その命令の長さが命
令コードから決まるのでその長さだけの命令を命
令レジスタ4に設定すると同時に、命令の長さを
表す数値(たとえば命令I3では2)を上記ポイ
ンタに加えてゆき、次にはそのポインタの指示す
る順番のバイトから読み出す。すなわち、第3図
に示すように、ポインタの切期値P0はP0=0で
あり、命命I3を命令レジスタ4に設定し、命令
I3の長さは2バイトでポインタの次の値P1は
P1=0+2=2になり、命令I4を命令レジス
タ4に設定し、命令I4の長さは2バイトでポイ
ンタの次の値P2はP2=2+2=4になり、命令
I5を命令レジスタ4に設定し、命令I5の長さ
は4バイトでポインタの次の値P3はP3=4+4
=8(=0)となるので次は命令先取りバツフア
5dの第0番目のバイトから、すなわち命令I6
を命令レジスタ4に設定し、このようにしてI3
→I4→I5→I6→I7の順序に命令レジスタ
4に設定されて解釈実行される。
すなわち、第3図に示すような従来の装置で
は、取出しシフト、結合装置6aにおいてシフト
動作が必要でありそのため処理速度が遅延し、か
つシフト動作を実行するための回路を設けねばな
らぬという欠点があつた。
この発明は、従来の方法における上記の欠点を
除去するためになされたもので、処理速度を低下
することなく、かつ記憶装置から命令先取りバツ
フアへの転送においてシフト操作を必要としない
命令バツフア制御方法を提供することを目的とし
ている。
以下、図面についてこの発明の実施例を説明す
〓〓〓〓
る。第4図はこの発明の一実施例を示すブロツク
図で、第3図と同一符号は同一部分を示し6bは
取出し結合装置であり、5e,5fは5c,5d
に相当する命令先取りバツフアである。第3図に
ついて説明したとおり命令I1を実行してアドレ
ス10へ分岐する場合、アドレス10のバイトを
含む記憶単位(第4図で先頭アドレス8から始ま
る記憶単位)を先頭単位と称し、この先頭単位は
アドレス8からアドレス8+7までの8バイト
(一般にはnバイト)を含んでいるがアドレス1
0のバイトは上記8バイト中第(10−8)=第2
番目(一般には第m番目)のバイトであり、取出
し結合装置6bは先頭単位の第2番目以後のバイ
トを命令先取りバツフア5eの対応するバイト位
置へ入力しかつ先頭単位に続く記憶単位(第4図
に示す例ではアドレス16を先頭バイトとする記
憶単位で仮に第2単位という)の第0番から第
(2−1)番(一般的には第(m−1)番までの
バイトを命令先取りバツフア5eの対応するバイ
ト位置へ入力する。次に第2単位の第2番目以後
のバイトを命令先取りバツフア5fの対応するバ
イト位置へ入力しかつ第2単位に続く記憶単位
(第4図に示す例ではアドレス24を先頭バイト
とする記憶単位で仮に第3単位という)の第0番
から第(2−1)番までのバイトを命令先取りバ
ツフア5fの対応するバイト位置で入力する。こ
の場合、取出し結合装置6bはシフト操作を行わ
ないので命令先取りバツフア5e,5fの内容は
第4図に示すとおりになる。
次に命令レジスタ4への命令の設定に際しては
第3図について説明したポインタの初期値を2
(一般の場合m)に設定する。すなわちP0=2で
あつて、命令先取りバツフア5eから命令I3が
命令レジスタ4へ設定され、次のポインタの数値
P1=2+2=4となつて命令I4が設定され、
その次のポインタの数値P2=4+2=6となつ
て命令I5が設定されるが、その間にポインタの
数値は8(一般にはn)を越し8=0となつて次
に再び2(一般にはm)となると、命令先取りバ
ツフア5fの読出しにうつりその第2番目のバイ
トから読出してゆく(第4図のP3の位置)。し
たがつて命令先取りバツフア5e,5fへ入力す
るときにシフト動作を行わずに入力しておいても
単にポインタの初期値の設定によつて命令レジス
タ4への命令設定は第3図の場合と同様に行うこ
とができる。すなわち、この発明の一実施例を示
す第4図の方法では、第3図に示す従来の方法に
比しシフト動作が不要となり、単にポインタの初
期値を変更するだけで、ポインタの管理もほゞ同
様になる。
なお以上の説明では、記憶装置2から命令先取
りバツフア5e,5fへの命令の設定、命令先取
りバツフアの長さとその数及びポインタの管理な
どの説明では、特定の数値を仮定して説明した
が、この発明がこの特定の数値に限定されるもの
でないことは申すまでもない。また便宜上、記憶
装置、命令先取りバツフア、命令レジスタ等の名
称を用いたが、同一機能を有し他の名称で呼ばれ
る装置であつてもよい。さらに、この発明の方法
を特定の状況においてだけ行い、常時は他の方法
による場合もまたこの発明の範囲内に含まれるも
のとする。
以上のように、この発明によれば、記憶装置か
ら命令先取りバツフアへ命令を設定する際シフト
動作の必要がないので、シフト動作のために必要
な論理回路を省略することができ、また記憶装置
から命令を取出して命令バツフアに入れるバスの
通過時間を短縮することができる。さらには、第
2図に示す従来の方法のように実行しない不要な
命令の取出しは行わないため、同一に長さの命令
先取りバツフアに分岐先の命令をより多く格納す
ることができ、処理が高速化される。
【図面の簡単な説明】
第1図は命令先取り制御を行う情報処理装置の
一般構成を示すブロツク図、第2図は従来の装置
の一例を示すブロツク図、第3図は従来の装置の
他の例を示すブロツク図、第4図はこの発明の一
実施例を示すブロツク図である。 1……メモリアドレスレジスタ、2……記憶装
置、4……命令レジスタ、5e,5f……命令先
取りバツフア。なお、図中、同一符号は同一又は
相当部分を示す。 〓〓〓〓

Claims (1)

    【特許請求の範囲】
  1. 1 情報を表すデイジタル信号をnバイト(nは
    2以上の整数)ごとに区分して1記憶単位としこ
    のような記憶単位をバイトの番地順に配列して記
    憶装置に格納する段階と、処理装置の指定する番
    地のバイトを先頭バイトと称しこの先頭バイトを
    含む記憶単位を先頭単位と称し上記番地は上記先
    頭単位内のnバイト中第m番目(mは0ないし
    (n−1)の整数)のバイトを指定するとき、上
    記1記憶単位を格納する命令先取りバツフアを複
    数個設け、第1の命令先取りバツフアに上記記憶
    装置から上記先頭単位の上記第m番目以後のバイ
    トをそれぞれ対応するバイト位置へ入力する段階
    と、上記第1の命令先取りバツフアの第(m−
    1)番目までのバイト位置へ上記記憶装置から上
    記先頭単位に続く記憶単位である第2単位の第
    (m−1)番目までのバイトをそれぞれ対応して
    入力する段階と、上記第2単位の第m番目以後の
    バイトを上記記憶装置から第2の命令先取りバツ
    フアのそれぞれ対応するバイト位置へ入力する段
    階と、上記第2の命令先取りバツフアの第(m−
    1)番目までのバイト位置へ上記記憶装置から上
    記第2単位に続く記憶単位である第3単位の第
    (m−1)番目までのバイトをそれぞれ対応して
    入力し、このようにして上記複数個の命令先取り
    バツフアに所望の命令を先取りする段階と、上記
    命令先取りバツフアを読出すためのポインタの初
    期値をmに設定し読出された命令コードによつて
    定められる数値を順次加算しポインタの数値がn
    に達したときは数値0に帰しこの数値0から再び
    数値mに達したときは後段の命令先取りバツフア
    の読出しにうつることにして、上記複数個の命令
    先取りバツフアから上記ポインタの指定する順番
    に従つて各バイトを読出して命令レジスタに格納
    する段階とを備えた命令バツフア制御方法。
JP56036325A 1981-03-13 1981-03-13 Instruction buffer controlling method Granted JPS57152046A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP56036325A JPS57152046A (en) 1981-03-13 1981-03-13 Instruction buffer controlling method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP56036325A JPS57152046A (en) 1981-03-13 1981-03-13 Instruction buffer controlling method

Publications (2)

Publication Number Publication Date
JPS57152046A JPS57152046A (en) 1982-09-20
JPS6211736B2 true JPS6211736B2 (ja) 1987-03-14

Family

ID=12466680

Family Applications (1)

Application Number Title Priority Date Filing Date
JP56036325A Granted JPS57152046A (en) 1981-03-13 1981-03-13 Instruction buffer controlling method

Country Status (1)

Country Link
JP (1) JPS57152046A (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0630062B2 (ja) * 1984-07-26 1994-04-20 日本電気株式会社 デ−タ処理装置
JPH07111679B2 (ja) * 1989-06-27 1995-11-29 松下電器産業株式会社 命令バッファ装置を有するデータ処理装置
JP2682761B2 (ja) * 1991-06-18 1997-11-26 松下電器産業株式会社 命令プリフェッチ装置
JPH052484A (ja) * 1991-06-24 1993-01-08 Mitsubishi Electric Corp スーパースカラプロセツサ
JPH05197545A (ja) * 1991-12-10 1993-08-06 Mitsubishi Electric Corp マイクロコンピュータ
US5604909A (en) 1993-12-15 1997-02-18 Silicon Graphics Computer Systems, Inc. Apparatus for processing instructions in a computing system
EP1231274A3 (en) * 1994-11-21 2002-10-09 The University Of Leeds Modified porteinase inhibitors

Also Published As

Publication number Publication date
JPS57152046A (en) 1982-09-20

Similar Documents

Publication Publication Date Title
JPS5975365A (ja) ベクトル処理装置
JPS6211736B2 (ja)
KR900010587A (ko) 생산라인의 고성능 명령어 실행방법 및 장치
JPH0363092B2 (ja)
JPH11110214A (ja) 命令制御システム及びその方法
JP2901247B2 (ja) 掃出し制御方式
JPH0510694B2 (ja)
JPS6122830B2 (ja)
JP3132566B2 (ja) 命令先行制御装置
JP3043861B2 (ja) データ処理装置
JPH0544049B2 (ja)
JPS6230455B2 (ja)
SU1702367A1 (ru) Устройство дл распаковки команд
JPH0646381B2 (ja) 命令取出し装置
JPH06301600A (ja) 記憶装置
JPH08221247A (ja) データ処理装置
JPS6047617B2 (ja) 情報処理装置
JPH024011B2 (ja)
JPS60218146A (ja) 記憶装置アドレス制御方式
JPS6052448B2 (ja) マイクロプログラム制御装置
JPS6145343A (ja) スワツプ制御方式
JPH0540622A (ja) デジタル信号処理装置
JPS6036614B2 (ja) 情報処理装置
JPH0255821B2 (ja)
JPH05313888A (ja) 命令バッファ方式