JPS6242237A - 命令バツフアへのロ−ド方式 - Google Patents

命令バツフアへのロ−ド方式

Info

Publication number
JPS6242237A
JPS6242237A JP18092685A JP18092685A JPS6242237A JP S6242237 A JPS6242237 A JP S6242237A JP 18092685 A JP18092685 A JP 18092685A JP 18092685 A JP18092685 A JP 18092685A JP S6242237 A JPS6242237 A JP S6242237A
Authority
JP
Japan
Prior art keywords
instruction
data
buffer
memory
read
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
JP18092685A
Other languages
English (en)
Inventor
Hideki Ute
右手 秀樹
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP18092685A priority Critical patent/JPS6242237A/ja
Publication of JPS6242237A publication Critical patent/JPS6242237A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 [発明の技術分野] 本発明は、メモリに格納されている命令を命令バッファ
にロードする命令バッファへのロード方式に関する。
[発明の技術的前日] 従来、命令バッファへのロードは各命令ごとに行われ、
必ず命令バッフ1の先頭に命令の先頭が位置するように
なっていた。これは、メモリから読み出すデータの幅が
小さいため、プログラムカウンタによって指定されるア
ドレスに格納されたデータを読み出せば必ずそのデータ
の先頭が命令の先頭と一致するからである。
[背景技術の問題点] しかし、メモリに対して一度に読み出させるデータ幅が
拡張されるに伴い、命令の先頭がメモリから読み出した
データの途中におる場合が生じてきた。このため、新た
に命令フェッチをやり直す場合、命令バッファの幅が読
み出したデータの幅に比べて小さい構成では命令バッフ
ァの先頭部分に不要データが残存する場合が生じる。こ
のような場合、従来では、この不要データを命令バッフ
ァから追い出す操作を別途行うか、また、予めメモリ上
のデータの中から有効な部分の長さを検出し、その部分
のみを読み出す操作を行わなければならなかった。この
ような操作は命令フェッチの速度を低下させる原因とな
っている。
[発明の目的] 本発明は上記欠点に鑑みなされたもので、その目的は、
メモリ内でアクセスできるデータ幅が命令バッファの幅
よりも大きい場合、命令をロードしたときに命令バッフ
ァの先頭にメモリから読み出したデータ中の命令の先頭
を一致させる操作(命令の頭出し操作〉を簡単なハード
ウェアで実現し、常にメモリに対しては、メモリ内のデ
ータ幅に応じた読み出しを行うだけで命令の頭出しを可
能にすることである。
[発明の概要] そこで本発明では、メモリからデータを読み出したとき
その読み出されたデータ中にお【するーの命令の先頭位
置を示す数値がセットされ、以後その読み出されたデー
タが上記単位幅のデータ毎に順次前記命令バッファに格
納される都度カウントダウンするカウンタを設け、上記
メモリからデータを読み出したとき、上記カウンタにセ
ットされた数値がその読み出されたデータの先頭位置を
示す所定値でおればその読み出されたデータを上記単位
幅毎に上記バッファ部の第1番目から順次格納し、上記
カウンタにセットされた数値が上記所定値でないときは
その数値が前記所定値となるまで上記バッファ部の第1
番目のみを書き換えてその読み出されたデータを上記単
位幅毎に格納し、その数値が上記所定値となった後は上
記バッフ7部の第2番目からその読み出されたデータの
残りの部分を上記単位幅毎順次格納するようにして上記
の目的を達成している。
[発明の実施例] 以下、図面を参照して本発明の一実施例を説明する。
第1図は、本発明方式を適用する際用いられる装置の構
成ブッロク図である。図中1は命令バッファである。命
令バッファ1は命令の単位幅(最小変化幅ともいう)を
幅とする4個のバッフ7部から成る。夫々のバッフ2部
をその先頭からBo。
B1.B2.B3.とする。2,3はメモリ(図示せず
)に格納されているデータのアドレスをセットするため
のプログラムカウンタである。そのうち2はメモリ上の
アドレスを指定する部分であり、メモリ内のデータのア
クセス単位に応じて、そのアドレスの下位ビットが切り
捨てられた形でセットされるもので、これを上位プログ
ラムカウンタ(以下LIPCと略す)という。一方、3
は、読み出すべき命令の先頭がメモリから一度に読み出
されるデータのどの位置にあるかを示すカウンタであり
、UPC2で切り捨てられたアドレスの下位ビットのう
ち、上位から命令データの最小変化幅、すなわち命令バ
ッファ幅を表わすビットまでがセットされるもので、こ
れを下位プログラムカウンタ(以下LPCと略す)とい
う。第2図に、メモリ上のデータ幅が4バイト、命令バ
ッファ幅が2バイトの場合について、tJPC2、LP
01にセットされるアドレスの例を示した。メモリ上の
データ幅は4バイトであるためUPC2には22ビツト
以上がセットされ、命令バッフ7幅が2バイトであるた
めLP01には21ビツトのみがセットされる。このL
P01は、そのカウント値が“0″′以外のとぎは命令
バッファ1に、メモリから読み出されたデータのうち命
令バッファ幅分が書き込まれるごとに1減じられ、O”
になると以後は、その“O”を維持するようになってい
る。4は、メモリから読み出したデータを書き込むべき
バッファ部を指示するライトポインタであり、LP01
のカウンタ値が゛′Oパのときはカウントアツプされる
が、LP01のカウンタ1直が“′O″以外のときは前
の値を維持するようになっている。5は読み出すべきバ
ッファ部を指定するリードポインタであり、命令バッフ
ァ1のリード命令が出るごとにカウントアツプされるも
のである。6は、命令バッファ1中の2つのバッファ部
が空くごとに、これを検出してその旨をUPC2に伝え
る空きバッファ数検出回路である。7は、メモリに接続
されているデータバス8上におけるデータを命令バッフ
ァ1の幅に合わせて命令バッファ1に出力するためのセ
レクタである。9は、ライトポインタ4とリードポイン
タ5を切り換えるためのセレクタである。尚、10は、
命令バッファ1から読み出されたデータを出力するため
の命令バスである。
このように構成された装置の動作を説明する。
ここでは、第3図のようにメモリに格納されたデータは
4バイト単位で構成され、4バイトごとに読み出される
ものとする。また、命令は2バイト単位で変化するもの
とする。このため、命令バック?1の幅は2バイトとな
っている。ここで例えば1つの命令が、a、b、c、d
から成る8バイトであるとすると、それらのメモリ上の
配置は、命令の先頭が4バイトの境界に位置する(A)
の場合と、4バイトの中間すなわち2バイト目に位置す
る(B)の場合の2通りが考えられる。また、メモリに
格納されたデータは4バイト単位で構成されているため
、UPC2には命令アドレスのうち22ビツト以上がセ
ットされ、命令バッファ1の幅が2バイト幅であるため
LP01には21ビツトがセットされることは前述した
通りである。
まず、第3図(A)の場合を説明すると、LJPC2に
はメモリアドレス4016すなわち’01000000
”のうち010000”がセットされLP01には“0
11がセットされる。このアドレスでメモリを読むと、
データバス8には’a、b”が流れる。
これをセレクタ7で上位側“a”のみとし、ライトポイ
ント4が示すバッファ部Boヘセットする。
このときLP01のカウント(直は′O″なのでライト
ポイント4はカウントアツプされ110となる。
次にセレクタ7により下位側“t、JTを恵沢すると、
ライトポインタ4のカウント値は11oのため、バッフ
ァ部B1にb”がセットされる。このときもライトポイ
ンタ4はカウントアツプされそのカウント値は210と
なる。ここで空きバッファ数検出回路6は、バッファ部
B2とバッファ部B3が2つ空いていることを検出し、
その旨をUPC2に知らせる。このためUPC2はカウ
ントアツプされメモリアドレス4416がセットされる
。以下上記と同様の操作が繰り返され、バッファ部B2
゜B3に夫々メモリから読み出されたデータ“C″。
′“d toがセットされる。このようにして、命令バ
ッファ1のバッファ部が2つ空くごとに命令フェッチが
繰り返される。
次に、第3図(B)の場合を説明すると、最初にtJP
c2には命令データのアドレス4216すなわち“’0
1000010”のうち“”oioooo”がセットさ
れLP01には111 Itがセットされる。このため
データバス8には不要データ“X”と命令データ“al
lが流れる。これをセレクタ7で上位側“X”のみとし
、ライトポインタ4が示すバッファ部BQヘセットする
。このとき、LP01のカウント(直は“′1′′なの
でライトポインタ4はカウントアツプされず010のま
まであり、同時にLP01は1減じられO″となる。次
にセレクタ7により下位側゛a”が選択されると、ライ
トポインタ4のカウント値は010のままであるから再
度バッファ部Boにデータ“a”が書き込まれる。この
ときバッファ部B1.s2,83が空いているので、再
びフェッチを行えばLP01は“O”を維持しているか
ら、バッファ部B1にデータ“bIfが、バッファ部B
2にデータ“C11がセットされる。このときバッファ
部B3は空いた状態であるが、連続した2つのバッファ
部が空いた状態ではないので、命令フェッチは行われな
い。この状態はバッフ1部Boにセットされたデータが
読み出されて使用されるまで続く。そして、バッファ部
Boのデータが使用されるとそのとき命令バッファ1に
セットされたデータはシフトするので連続したバッファ
部B2.B3が空きとなって命令フェッチが行われ、以
上下記と同様の操作がなされる。
第3図(A>、(B)に示したように、4バイトの長さ
でメモリにアクセスすれば命令の先頭がどの位置にあっ
ても、必ず先頭のバッファ部BOに命令データの先頭部
分がセットされることになる。
以上は、メモリにアクセスするデータ幅が4バイト、命
令バッファの幅が2バイトの場合の説明であるが、命令
バッファの幅が、命令の最低変化幅に等しいならば、メ
モリにアクセスするデータ幅はどれだ【ブあっても適用
できるものである。
また、実施例では命令フェッチの場合について説明した
が、浮動小数点データのように、データ幅の変化が決ま
っているものについては、マイクロ命令でメモリリード
を行わなくとも、データの。
先読みを行い、このようにしてデータをセットされたバ
ッファから読み出すだけでデータを取り出すことができ
、処理の高速化を図ることができる。
[発明の効果] 以上説明したように、本発明によれば、メモリにアクセ
スできるデータ幅が命令バッファの幅よりも広い場合、
命令の先頭位置がどこにあってもメモリ上のデータ幅に
合った読み出しを行うだけで、常に命令の先頭を命令バ
ッファの先頭に位置させることができる。
【図面の簡単な説明】
第1図は本発明方式に用いられる装置の構成ブロック図
、第2図は第1図に示したUPC,LPCへデータをセ
ットした状態の例を示す図、第3図は第1図に示した装
置の動作を説明するためメモリと命令バッファ夫々にセ
ットされたデータの状態を示す概念図である。 1・・・命令バッファ、   2・・・upc。 3・・・LPC,4・・・ライトポインタ。

Claims (1)

    【特許請求の範囲】
  1. 夫々の幅が命令長の単位幅となつている複数個のバッフ
    ァ部から成る命令バッファに、前記単位幅よりも長いデ
    ータをメモリから一度に読み出してロードする命令バッ
    ファへのロード方式において、前記メモリからデータを
    読み出したときその読み出されたデータ中における一の
    命令の先頭位置を示す数値がセットされ、以後その読み
    出されたデータが前記単位幅のデータ毎に順次前記命令
    バッファに格納される都度カウントダウンするカウンタ
    を設け、前記メモリからデータを読み出したとき、前記
    カウンタにセットされた数値がその読み出されたデータ
    の先頭位置を示す所定値であればその読み出されたデー
    タを前記単位幅毎に前記バッファ部の第1番目から順次
    格納し、前記カウンタにセットされた数値が前記所定値
    でないときはその数値が前記所定値となるまで前記バッ
    ファ部の第1番目のみを書き換えてその読み出されたデ
    ータを前記単位幅毎に格納し、その数値が前記所定値と
    なつた後は前記バッファ部の第2番目からその読み出さ
    れたデータの残りの部分を前記単位幅毎順次格納するこ
    とを特徴とする命令バッファへのロード方式。
JP18092685A 1985-08-20 1985-08-20 命令バツフアへのロ−ド方式 Pending JPS6242237A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP18092685A JPS6242237A (ja) 1985-08-20 1985-08-20 命令バツフアへのロ−ド方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP18092685A JPS6242237A (ja) 1985-08-20 1985-08-20 命令バツフアへのロ−ド方式

Publications (1)

Publication Number Publication Date
JPS6242237A true JPS6242237A (ja) 1987-02-24

Family

ID=16091693

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18092685A Pending JPS6242237A (ja) 1985-08-20 1985-08-20 命令バツフアへのロ−ド方式

Country Status (1)

Country Link
JP (1) JPS6242237A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6880150B1 (en) 1998-04-28 2005-04-12 Matsushita Electric Industrial Co., Ltd. Processor for executing instructions in units that are unrelated to the units in which instructions are read, and a compiler, an optimization apparatus, an assembler, a linker, a debugger and a disassembler for such processor

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6880150B1 (en) 1998-04-28 2005-04-12 Matsushita Electric Industrial Co., Ltd. Processor for executing instructions in units that are unrelated to the units in which instructions are read, and a compiler, an optimization apparatus, an assembler, a linker, a debugger and a disassembler for such processor
US6976250B2 (en) 1998-04-28 2005-12-13 Matsushita Electric Industrial Co., Ltd. Processor for executing instructions in units that are unrelated to the units in which instructions are read, and a compiler, an optimization apparatus, an assembler, a linker, a debugger and a disassembler for such processor
US6976245B2 (en) 1998-04-28 2005-12-13 Matsushita Electric Industrial Co., Ltd. Processor for executing instructions in units that are unrelated to the units in which instructions are read, and a compiler, an optimization apparatus, an assembler, a linker, a debugger and a disassembler for such processor
US7080367B2 (en) 1998-04-28 2006-07-18 Matsushita Electric Industrial Co., Ltd. Processor for executing instructions in units that are unrelated to the units in which instructions are read, and a compiler, an optimization apparatus, an assembler, a linker, a debugger and a disassembler for such processor
US7823142B2 (en) 1998-04-28 2010-10-26 Panasonic Corporation Processor for executing instructions in units that are unrelated to the units in which instructions are read, and a compiler, an optimization apparatus, an assembler, a linker, a debugger and a disassembler for such processor

Similar Documents

Publication Publication Date Title
US4975872A (en) Dual port memory device with tag bit marking
JPS6242237A (ja) 命令バツフアへのロ−ド方式
JPH0540698A (ja) 主記憶ページ管理方式
JPH0743668B2 (ja) アクセス制御装置
JPS6391756A (ja) 記憶装置の部分書き込み命令処理方式
JPH0447350A (ja) 主記憶読み出し応答制御方式
JPS6244839A (ja) 命令取出装置
JPS63237143A (ja) プログラマブルコントロ−ラ
JPS62120543A (ja) メモリバンクの切替方式
JPH0833869B2 (ja) データ処理装置
JPH10222460A (ja) データ転送制御装置
JPH01251248A (ja) スタックデータ構造用キャッシュ制御方式
JPS6019810B2 (ja) バッファメモリ制御方式
US5321822A (en) Information processing system with addressing exception
JP2735400B2 (ja) 非同期入出力制御方式
JPH0526216B2 (ja)
JPS59161751A (ja) 命令走行アドレス記録装置
JPS62108333A (ja) 半導体装置
JPS6145359A (ja) 情報処理装置
JPH0431136B2 (ja)
JPS63123145A (ja) バツフアメモリ装置
JPH01283653A (ja) メモリプール管理方式
JPS59176848A (ja) 先行制御方式
JPS63263537A (ja) 情報処理装置
JPS62127943A (ja) 命令バツフア制御方式