JPH0348334A - 命令フェッチ方式 - Google Patents

命令フェッチ方式

Info

Publication number
JPH0348334A
JPH0348334A JP18217489A JP18217489A JPH0348334A JP H0348334 A JPH0348334 A JP H0348334A JP 18217489 A JP18217489 A JP 18217489A JP 18217489 A JP18217489 A JP 18217489A JP H0348334 A JPH0348334 A JP H0348334A
Authority
JP
Japan
Prior art keywords
address
instruction
fetch
memory
fetched
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
JP18217489A
Other languages
English (en)
Inventor
Yoshiaki Kato
義昭 加藤
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.)
Advantest Corp
Original Assignee
Advantest 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 Advantest Corp filed Critical Advantest Corp
Priority to JP18217489A priority Critical patent/JPH0348334A/ja
Publication of JPH0348334A publication Critical patent/JPH0348334A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

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

Description

【発明の詳細な説明】 「産業上の利用分野」 この発明は可変長命令が記憶されたメインメモリから命
令をフェッチする命令フエツチ方式に関する. 「従来の技術」 可変長命令はl命令が例えばlワードの場合、2ワード
の場合、3ワードの場合(lワードは例えば16ビット
)があり、メインメモリに例えば第4図に示すように、
ワードアドレスで1ワードの命令■がアドレスl00に
、2ワードの命令■がアドレス101.102に、2ワ
ードの命令■がアドレス103.104に、3ワードの
命令■がアドレス105,106,107にそれぞれ記
憶されている.このようになっているため、命令をフェ
ッチし、その命令内のワード型を調べないと次の命令の
アドレスを決めることができない.従って従来において
は第5図に示すようにアドレスl00をアクセスし、命
令のをフェッチし、その命令■のワード型を調べ、その
ワード型lを現在のプログラムカウンタの{a 1 0
 Qに加算し、その結果得られた次の命令のアドレス1
01によりメインメモリをアクセスし、その命令■をフ
ェッチし、その命令■のワード型を調べ、そのワード型
2をプログラムカウンタの値101に加算し、その結果
得られた次の命令のアドレス103でメインメモリをア
クセスする.このように従来においては1つの命令をフ
ェッチするためにアドレス計算に1サイクルと、メモリ
アクセスに1サイクルとの2サイクルを必要としていた
.このためCPUが高速で1命令をIサイクルで実行で
きても、命令フェッチに2サイクルかかってしまい、C
PUの高速性を有効に利用できない. rLi!aを解決するための手段」 この発明によれば入力されたメモリアドレスから複数命
令が含まれるように連続する複数アドレス分がメインメ
モリから読み出され、これら読み出された各アドレスの
内容は複数のラッチ回路にそれぞれラッチされ、フェッ
チ用アドレスに応じてこれら複数のラッチ回路がマルチ
プレクサで選択されて命令が取り出され、その取出され
た命令中のワード型と現在のフェッチ用アドレスとから
次の命令に対するフェッチ用アドレスがフェッチ用アド
レス演算部で演算されてマルチプレクサへ供給され、ま
たマルチブレクサから取出された命令中のワード型と現
在のメモリアドレスから次の命令に対するメモリアドレ
スがメモリアドレス演募部で演算される. 「作 用」 メインメモリから1回に複数命令分読み出されてラッチ
回路にラッチされ、そのラッチ回路からフェッチ用アド
レスで命令をフェッヂし、次の命令のフェッチもラッチ
回路から行われ、従ってフェッチ用アドレスのビット数
が少なくて済み、フェッチ用アドレスの演算はメモリア
ドレスの演算より短時間で行うことができ、かつラッチ
回路からの読み出しはメインメモリからの読み出しまり
もはるかに短い時間で行うことができる.またラッチ回
路から命令をフエツチし、しかもラッチ回路には複数の
命令がラフチされているため、ラッチ回路よりフエツチ
した命令のワード型を用いてメモリアドレスの演算を行
っている間に、その前に演算したメモリアドレスでメイ
ンメモリをアクセスすることができ、lサイクルで命令
フェッチを行うことができる. 「実施例」 第1図にこの発明の実施例を示す.CPUI l内のメ
モリアドレス演算部12により演算されたメモリアドレ
スMA19〜MAOによりメインメモリl3がアクセス
され、メインメモリl3から読み出された命令はCPU
II内の命令レジスタl4にフェッチされる.命令レジ
スタl4内の命令中のワード型とプログラムカウンタl
5の内容とがメモリアドレス演算部12へ供給されて次
の命令のメモリアドレスが演算され、そのメモリアドレ
スはメインメモリ13へ供給されると共にプログラムカ
ウンタl5にセットされる.この発明ではメインメモリ
l3にメモリアドレスが供給されると、複数の命令が含
まれるように連続する複数のアドレスが同時に読み出さ
れ、これら読み出された各アドレスの内容は複数のラッ
チ回路l6にラッチされる.マルチプレクサl7がフェ
ソチ用アドレスFA2〜FAOにより制御されて、ラッ
チ回路l6が選択されて命令が命令レジスタl4にフヱ
ッチされる。命令レジスタl4の命令ワード型とプログ
ラムカウンタi5の出力の下位3ビットとがフェッチ用
アドレス演算部18へ供給されてフェッチ用アドレスF
A2〜FAOが演算される. この実施例では最も長い命令が4ワードの場合で、メイ
ンメモリl3から1度に必ず2命令が読み出されるよう
に連続する8アドレス分が読み出される.つまり最大命
令語長の2つ分以上の連続するアドレスが読み出される
.このため第2図に示すよにメインメモリ13はアドレ
スQ+nl6(n−0.  1.  2 ・・・) 、
アドレス1+ni6、アドレス2+nl6、・・・アド
レスF+n 1 6のl6ブロックに分割され、アドレ
ス0+n I Gのフ゛ロックとアドレス8+n 1 
6のフ゛ロックの各出力側はラッチ回路16。に接続さ
れ、アドレス1+nl6のフ゛ロックとアドレス9+n
l6のフ゛ロックの各出力側はラッチ回路16,に接続
され、以下同様に8アドレス離れた2ブロックの各出力
側がラッチ回路l6.〜16vにそれぞれ接続される. メモリアドレスMA19〜MAO中の下位4ビットMA
3〜MAOはデコーダ2lへ供給され、デコーダ2lの
出力によりその4ビットMA3〜MADの値から連続す
る8ブロックが選択される.例えばビットMA3〜MA
OがアドレスOであれば、アドレスg+nl6のブロッ
クが乃至アドレス7+nl6のブロックが選沢され、ビ
ントH^3〜MAOがアドレス4であればアドレス4+
nl6のブロック乃至アドレス13+n 1 6のブロ
ックが選択され、ビットMA3〜MAOがアドレスDで
あればアドレスD+n 1 6のブロック乃至アドレス
F+n 1 6のブロック及びアドレスQ+nl6のブ
ロック乃至アドレス4+nl6のブロックが選択される
. メモリアドレスの上位ビットMA19〜MA4でアドレ
ス8+nl6のブロック乃至アドレスF十nl6のブロ
ックが直接アクセスされ、上位ビッ}MAl9〜MA4
を補正回路22を通したものでアドレス0+n 1 6
のブロック乃至アドレス7+16Hのブロックがアクセ
スされる.補正回路22はメモリアドレス中のビットM
A3が“0゛の時は上位ビットMAl9〜MA4をその
まま通過し、ビットMA3が“1 ”の時は上位ビット
MA19〜MA4に1を加わえる.つまり、下位ビット
MA3〜MAOのアドレスが9以上の場合で、デコーダ
21の出力による8ブロックの選択が、アドレス8+n
 1 6のブロック乃至アドレスF+nl6のブロック
の領域で不足して更にアドレス0+nl6のブロック乃
至アドレス?}nl6のブロックの領域を加える場合は
メモリアドレスMAl9〜MA4に+1してアドレス0
+nl6のブロック乃至アドレス?+nl6のブロック
をアクセスする. このようにしてメモリアドレス中の上位ビットMA19
〜MA4によりアクセスされたl6のアドレス中のデコ
ーダ2lの出力により選択されている8つのブロノクの
出力がラッチ回路16o〜16,にそれぞれラッチされ
る. ラッチ圓路16。〜16,の各出力側は二つのマルチプ
レクサ17a,!7bにそれぞれ接続されている.命令
フェッチの時はマルチブレクサ23はB側を選択し、フ
エツチ用アドレスFA2〜FAOがマルチプレクサ制御
部24へ供給される.マルチプレクサ制御部24はフェ
ッチ用アドレスFA2〜FAOから最大命令語長、例え
ば4ワード分をランチ回路16.〜16,から遍択して
取出すようにマルチプレクサ17a,17bを制御する
.例えばフェッチ用アドレスFA2〜FAOがその場合
、ラッチ回路16s,164の各内容をそれぞれマルチ
プレクサ17a,17bから取出した後、ラッチ回路1
6s,16*の各内容をそれぞれマルチプレクサ17a
,17bから取出す、フエッチ用アドレスFA2〜FA
Gが6の場合は、ラッチ回路16h,16qの各内容を
それぞれマルチブレクサ17a,17bから取出した後
、ラッチ回路16●.l61の各内容をそれぞれマルチ
プレクサ17a,17bから取出す.このようにしてフ
ェッチ用アドレスFA2〜FAOにより指定された命令
がマルチブレクサ17a,17bを通じてラッチ回路l
6。〜16,からフェフチされてCPυ11に供給され
る.なお実行中の命令に含まれるデータによりアドレス
指定されてメインメモリ13を読み出す場合はそのアド
レスMA19〜MAO中のビットMAl9〜MA4によ
りメインメモリl3がアクセスされ、ビットMA3〜M
AOがデコーダ2lへ供給される、ピットMA2〜MA
Oがマルチプレクサ23のA@を通じてマルチプレクサ
制御部24へ供給される. 上述したように構成されているため、例えば第4図に示
したメインメモリ13から命令をフェツチする場合、第
3図に示すように動作させることができる.つまり最初
の命令をメモリからフェッチするCPLJサイクルlで
メモリアドレス100をアクセスし、CPUサイクルl
の終りでフェッチ用アドレス0により命令■をフェッチ
し、CPUサイクル2でその命令■のワード型lを用い
て次の命令のメモリアドレスとフェッチ用アドレスとの
各演算が行われる.フェッチ用アドレスは3ビットの演
算であり短時間で行われ、フェッチ用アドレスはlとな
り、これによりラッチ回路16がアクセスされ、CPU
サイクル2の終りで命令■がフエッチされると共にメモ
リアドレスの計算結果101が確定することによりメイ
ンメモリl3がCPUサイクル3でアクセスされ、これ
と共にフェッチした命令■のワード型2により次の命令
のメモリアドレス及びフェッチ用アドレスの各演算が行
われる.フェッチ用アドレスは短時間で3となり、これ
によりラッチ回路l6がアクセスされ、CPUサイクル
3の終りで命令■がフエッチされると共にメモリアドレ
スの計算結果103が確定し、CPUサイクル4でメイ
ンメモリ13がアクセスされ、これと共にフエッチした
命令■のワ一ド型2により次の命令のメモリアドレス及
びフェッチ用アドレスの各演算が行われる.このように
ラッチ回路l6には複数の命令がラッチされてあり、こ
れを選沢するためのフエッチ用アドレスの演算はビット
数が少ないため、メモリアドレスの演算より短時間で行
うことができるため、lサイクルで次の命令をラッチ回
路l6からフェッチすることができ、またメインメモリ
のアクセスと、次のメモリアドレスの演算とを同一サイ
クルで行うことができ、結果としてlサイクルで命令の
フェッチを連続的に行うことができる.「発明の効果』 以上述べたようにこの発明によればメモリアドレスによ
り複数の命令を含む連続した複数のアドレスを読み出し
、これらを複数のラッチ回路にラッチし、これら複数の
ラッチ回路からビット数が少ないフェッチ用アドレスに
より最大命令語長分を取込むことにより命令をフエツチ
するものであるため、次のフェッチ用アドレスを短時間
で演算し、このフェッチ用アドレスで次の命令を複数の
ラッチ回路からフェッチするものであり、このためメモ
リアドレスの演算を行うと共に、その直前に演算したメ
モリアドレスでメインメモリを同時にアクセスすること
ができ、lサイクルで1命令のフェッチが可能であり、
lサイクルで1命令を実行する高速のCPUを有効に利
川できる.
【図面の簡単な説明】

Claims (1)

    【特許請求の範囲】
  1. (1)可変長命令が記憶されたメインメモリから命令を
    フェッチする命令フェッチ方式において、入力されたメ
    モリアドレスから複数命令が含まれる連続する複数アド
    レス分だけ上記メインメモリを読み出す手段と、 その読み出された各アドレスの内容がそれぞれラッチさ
    れる複数のラッチ回路と、 フェッチ用アドレスに応じてその複数のラッチ回路を選
    択して命令を取出すマルチプレクサと、そのマルチプレ
    クサより取出された命令中のワード型と現在のフェッチ
    用アドレスとから次の命令に対するフェッチ用アドレス
    を演算して上記マルチプレクサへ供給するフェッチ用ア
    ドレス演算部と、 上記マルチプレクサより取出された命令中のワード型と
    現在のメモリアドレスとから次の命令に対するメモリア
    ドレスを演算して上記入力されたメモリアドレスとする
    メモリアドレス演算部と、を具備する命令フェッチ方式
JP18217489A 1989-07-14 1989-07-14 命令フェッチ方式 Pending JPH0348334A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP18217489A JPH0348334A (ja) 1989-07-14 1989-07-14 命令フェッチ方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP18217489A JPH0348334A (ja) 1989-07-14 1989-07-14 命令フェッチ方式

Publications (1)

Publication Number Publication Date
JPH0348334A true JPH0348334A (ja) 1991-03-01

Family

ID=16113639

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18217489A Pending JPH0348334A (ja) 1989-07-14 1989-07-14 命令フェッチ方式

Country Status (1)

Country Link
JP (1) JPH0348334A (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
JP3708176B2 (ja) データ処理装置及びデータ処理方法
US5450605A (en) Boundary markers for indicating the boundary of a variable length instruction to facilitate parallel processing of sequential instructions
US4897787A (en) Data processing system
US4539635A (en) Pipelined digital processor arranged for conditional operation
JPS59174948A (ja) 情報処理装置
EP0823085A2 (en) Method and apparatus for improved branch prediction accuracy in a superscaler microprocessor
CN108139911B (zh) 在vliw处理器的同一执行包中使用有条件扩展槽的指令的有条件执行规格
EP0413434B1 (en) Pipelined processor with variable instruction length
EP0201833A2 (en) Instruction processor
JPH03286332A (ja) デジタルデータ処理装置
US4028670A (en) Fetch instruction for operand address calculation
JPH0348334A (ja) 命令フェッチ方式
US6240540B1 (en) Cyclic redundancy check in a computer system
JPS59114677A (ja) ベクトル処理装置
US20040128479A1 (en) Method and apparatus for variable length instruction parallel decoding
US5941986A (en) Micro-code sequencer with branch-taken and branch-not-taken micro-code vectors sharing common address to eliminate taken branch penalties
JP2793357B2 (ja) 並列演算装置
JPH0962533A (ja) シングルチップマイクロプロセッサのテスト回路
JPH02126321A (ja) 命令コードのデコード装置
JP3693873B2 (ja) マスクビット数演算装置、ベクトル処理装置、情報処理装置
JP2667810B2 (ja) ベクトル処理装置
JPH0517574B2 (ja)
JPH01195532A (ja) マイクロプロセッサー
JPH0792902A (ja) プログラマブルコントローラ
JPH04172524A (ja) 演算装置