JPS6236575B2 - - Google Patents
Info
- Publication number
- JPS6236575B2 JPS6236575B2 JP55076489A JP7648980A JPS6236575B2 JP S6236575 B2 JPS6236575 B2 JP S6236575B2 JP 55076489 A JP55076489 A JP 55076489A JP 7648980 A JP7648980 A JP 7648980A JP S6236575 B2 JPS6236575 B2 JP S6236575B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- address
- prefetch
- break
- processing unit
- 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
Links
- 239000011159 matrix material Substances 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 6
- 238000001514 detection method Methods 0.000 description 5
- 238000000034 method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004065 semiconductor Substances 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
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)
- Debugging And Monitoring (AREA)
Description
【発明の詳細な説明】
本発明は命令コードをメモリ装置から読み出す
動作と命令の実行とを並列化することにより、実
質的な命令実行速度を高めることを目的とした命
令先読み方式に関するものである。
動作と命令の実行とを並列化することにより、実
質的な命令実行速度を高めることを目的とした命
令先読み方式に関するものである。
第1図aに示すような命令コード群がメモリ装
置に格納されている場合、これらを最も基本的な
電子計算機装置が実行すると第1図bのように命
令の読み出しと命令の実行が直列的に行なわれ
る。ここで命令先読み機構を第1図cのように設
け、これを同図dに示すように演算処理機構とは
独立に動作させれば実質的な命令実行速度の向上
が可能となる。
置に格納されている場合、これらを最も基本的な
電子計算機装置が実行すると第1図bのように命
令の読み出しと命令の実行が直列的に行なわれ
る。ここで命令先読み機構を第1図cのように設
け、これを同図dに示すように演算処理機構とは
独立に動作させれば実質的な命令実行速度の向上
が可能となる。
次に通常の命令先読み機構を有する計算機装置
の構成を第2図に示す。インストテラクシヨンカ
ウンタ(IC)1には現在実行中の命令が記憶さ
れているメモリ装置のアドレスが記憶され、その
命令コードは命令レジスタ(IR)6に記憶さ
れ、このIR6の出力信号はデコードされ中央処
理装置(CPU)内の各制御ブロツクを制御して
いる。一方プリフエツチアドレスカウンタ
(PFC)2はIC1の示すアドレスの先のアドレス
を指し、データバス(DB)に転送空き時間が生
じた時にアドレス出力回路3を介してPFC2の
内容が命令フエツチ信号(FC)に同期して出力
される。メモリ装置はこれに反応してPFC2の
内容をアドレスとする命令コードをデータバス
(DB)に出力し、この情報はデータ入出力回路4
を介して先読み命令キユー5の最後尾に記憶さ
れ、PFC2の値が+1される。すなわち1回の
命令先読み動作を完了する。この命令先読み動作
は先読み命令キユー5が命令コードで満たされる
まで続けられるが、一方CPUが1命令コードを
実行するごとに、先読み命令キユー5の先頭の命
令コードがIR6に移され、同時にIC1の値が+
1される。またCPUが分岐命令を実行した場合
は分岐先のアドレスがIC1,PFC2にロードさ
れると共に先読み命令キユー5内の命令コードは
クリアされる。CPUがCPU内のレジスタとメモ
リ装置とのデータ転送命令を実行した場合、転送
を行なうべきメモリ装置のアドレスを示すアドレ
スレジスタ7の内容がアドレス出力回路3を介し
て出力され、データはデータ入出力回路を介して
データレジスタ8とメモリ装置との間で転送が行
われる。
の構成を第2図に示す。インストテラクシヨンカ
ウンタ(IC)1には現在実行中の命令が記憶さ
れているメモリ装置のアドレスが記憶され、その
命令コードは命令レジスタ(IR)6に記憶さ
れ、このIR6の出力信号はデコードされ中央処
理装置(CPU)内の各制御ブロツクを制御して
いる。一方プリフエツチアドレスカウンタ
(PFC)2はIC1の示すアドレスの先のアドレス
を指し、データバス(DB)に転送空き時間が生
じた時にアドレス出力回路3を介してPFC2の
内容が命令フエツチ信号(FC)に同期して出力
される。メモリ装置はこれに反応してPFC2の
内容をアドレスとする命令コードをデータバス
(DB)に出力し、この情報はデータ入出力回路4
を介して先読み命令キユー5の最後尾に記憶さ
れ、PFC2の値が+1される。すなわち1回の
命令先読み動作を完了する。この命令先読み動作
は先読み命令キユー5が命令コードで満たされる
まで続けられるが、一方CPUが1命令コードを
実行するごとに、先読み命令キユー5の先頭の命
令コードがIR6に移され、同時にIC1の値が+
1される。またCPUが分岐命令を実行した場合
は分岐先のアドレスがIC1,PFC2にロードさ
れると共に先読み命令キユー5内の命令コードは
クリアされる。CPUがCPU内のレジスタとメモ
リ装置とのデータ転送命令を実行した場合、転送
を行なうべきメモリ装置のアドレスを示すアドレ
スレジスタ7の内容がアドレス出力回路3を介し
て出力され、データはデータ入出力回路を介して
データレジスタ8とメモリ装置との間で転送が行
われる。
ところで電子式計算機装置においてプログラム
の開発にあたつて、プログラムデバツグする上で
次のような機能を具備することが必要である。す
なわち利用者が設定したある特定のアドレスの命
令コードが実行されたことを検知してそれまでの
CPUの一連の実行動作を中断させる機能であ
り、これはブレーク動作と呼ばれる。実際には
CPUを停止させるか、CPUに割込み信号を発生
して割込み処理プログラムを実行させたりする。
の開発にあたつて、プログラムデバツグする上で
次のような機能を具備することが必要である。す
なわち利用者が設定したある特定のアドレスの命
令コードが実行されたことを検知してそれまでの
CPUの一連の実行動作を中断させる機能であ
り、これはブレーク動作と呼ばれる。実際には
CPUを停止させるか、CPUに割込み信号を発生
して割込み処理プログラムを実行させたりする。
この機能を命令先読み機構を有しない電子計算
機装置に対して実現した例を第3図に示す。第2
図に示したこれを有する電子計算機装置に比べて
命令先読み機構を有しない電子計算機装置では
PFC2、先読み命令キユー5が存在しない。ブ
レーク動作を起こしたいアドレス(ブレークアド
レス)をブレークアドレスレジスタ(BAR)9
に記憶させ、アドレス比較回路10はBAR9の
内容と、命令フエツチ信号(FC)に同期して出
力されるアドレスの内容を比較し、一致した時に
ブレークアドレス検出信号S1をCPUに出力す
る。
機装置に対して実現した例を第3図に示す。第2
図に示したこれを有する電子計算機装置に比べて
命令先読み機構を有しない電子計算機装置では
PFC2、先読み命令キユー5が存在しない。ブ
レーク動作を起こしたいアドレス(ブレークアド
レス)をブレークアドレスレジスタ(BAR)9
に記憶させ、アドレス比較回路10はBAR9の
内容と、命令フエツチ信号(FC)に同期して出
力されるアドレスの内容を比較し、一致した時に
ブレークアドレス検出信号S1をCPUに出力す
る。
次に命令先読み機構を有する電子計算機装置に
このブレーク動作を実現する従来例を第4図を用
いて説明する。命令先読み機構を有する電子計算
機装置では、命令コードをメモリ装置にアクセス
するタイミングとその命令コードが実行されるタ
イミングには相互関係がなく、またある命令コー
ドが読まれても、その命令コードが実行されると
は限らない。すなわちメモリ装置側でどの命令コ
ードが実行されているかがわからない。そこでブ
レークアドレスレジスタ(BAR)9,アドレス
比較回路10はCPU内部に設けられ、アドレス
比較回路10はBAR9とIC1の間の一致関係を
調べ、一致した時にのみブレークアドレス検出信
号S1を出力する。しかしこの方法において次の
ような欠点が存在する。
このブレーク動作を実現する従来例を第4図を用
いて説明する。命令先読み機構を有する電子計算
機装置では、命令コードをメモリ装置にアクセス
するタイミングとその命令コードが実行されるタ
イミングには相互関係がなく、またある命令コー
ドが読まれても、その命令コードが実行されると
は限らない。すなわちメモリ装置側でどの命令コ
ードが実行されているかがわからない。そこでブ
レークアドレスレジスタ(BAR)9,アドレス
比較回路10はCPU内部に設けられ、アドレス
比較回路10はBAR9とIC1の間の一致関係を
調べ、一致した時にのみブレークアドレス検出信
号S1を出力する。しかしこの方法において次の
ような欠点が存在する。
(1) 半導体の高集積化技術を利用してCPUを1
チツプ化しようとした場合、プログラムデバツ
グ時しか有効利用しない(すなわちターゲツト
マシンでは利用しない)BAR9,アドレス比
較回路10をCPUチツプ内部に設けなければ
ならず、集積度の限界から他の機能をけずらな
ければならないことも生じ、CPUの性能低下
につながる。
チツプ化しようとした場合、プログラムデバツ
グ時しか有効利用しない(すなわちターゲツト
マシンでは利用しない)BAR9,アドレス比
較回路10をCPUチツプ内部に設けなければ
ならず、集積度の限界から他の機能をけずらな
ければならないことも生じ、CPUの性能低下
につながる。
(2) ブレークアドレスは場合によつては複数個所
設定したいようなこともあるが、外部付加して
もCPU内部のブレークアドレスレジスタ
(BAR)の個数以上は不可能である。
設定したいようなこともあるが、外部付加して
もCPU内部のブレークアドレスレジスタ
(BAR)の個数以上は不可能である。
本発明は以上の欠点を除去することを目的とし
たものであり、その実施例とともに説明する。第
5図において第2図〜第4図に示したブロツクに
対応するものには同符号を付している。50は先
読み命令キユー、60は命令レジスタである。
たものであり、その実施例とともに説明する。第
5図において第2図〜第4図に示したブロツクに
対応するものには同符号を付している。50は先
読み命令キユー、60は命令レジスタである。
次にこの実施例の動作について説明する。ブレ
ーク動作に関する以外の動作は第2図に対する説
明と全く同様であるため、ここではブレーク動作
についてのみ述べる。アドレス比較回路10は
BAR9の内容と命令フエツチ信号(FC)に同期
して出力されるアドレスの内容を比較し、一致し
た場合に先読み命令キユー50に対して一致信号
を出力する。先読み命令キユー50にはメモリ装
置から読み出された命令コードnビツトと共にこ
の一致信号1ビツトがとり込まれ、キユーの最後
尾に記憶される。以後この一致信号は命令コード
の一部として先読み命令キユー50内に存在し、
命令の実行が進むに従いシフトし、最終的には命
令レジスタ60に移される。もちろん分岐命令が
実行された時はこの一致信号も含めて先読み命令
キユー50はクリアされる。命令レジスタ60の
命令コードに対応するnビツトについては通常の
命令コードとしてデコードしCPU内の各制御ブ
ロツクを制御する。一方、一致信号に対応する1
ビツトの信号はブレークアドレス検出信号として
それまでの一連の実行動作を中断するための制御
に用いられる。
ーク動作に関する以外の動作は第2図に対する説
明と全く同様であるため、ここではブレーク動作
についてのみ述べる。アドレス比較回路10は
BAR9の内容と命令フエツチ信号(FC)に同期
して出力されるアドレスの内容を比較し、一致し
た場合に先読み命令キユー50に対して一致信号
を出力する。先読み命令キユー50にはメモリ装
置から読み出された命令コードnビツトと共にこ
の一致信号1ビツトがとり込まれ、キユーの最後
尾に記憶される。以後この一致信号は命令コード
の一部として先読み命令キユー50内に存在し、
命令の実行が進むに従いシフトし、最終的には命
令レジスタ60に移される。もちろん分岐命令が
実行された時はこの一致信号も含めて先読み命令
キユー50はクリアされる。命令レジスタ60の
命令コードに対応するnビツトについては通常の
命令コードとしてデコードしCPU内の各制御ブ
ロツクを制御する。一方、一致信号に対応する1
ビツトの信号はブレークアドレス検出信号として
それまでの一連の実行動作を中断するための制御
に用いられる。
以上に説明したように本発明によれば、ブレー
クアドレスレジスタ,アドレス比較回路は命令先
読み機構を有しない電子計算機装置と全く同様に
メモリ装置側に設けることができ、ブレークアド
レスの箇所も外部の回路量に比例した数に増加す
ることができる。また本発明によつてCPU内部
に新たに必要なハードウエア量はブレーク機能の
ないものに比べ、先読み命令キユーの語数をqと
すると(q+1)ビツトの記憶装置だけでよく、
CPU全体の集積度にはほとんど影響しない特徴
がある。
クアドレスレジスタ,アドレス比較回路は命令先
読み機構を有しない電子計算機装置と全く同様に
メモリ装置側に設けることができ、ブレークアド
レスの箇所も外部の回路量に比例した数に増加す
ることができる。また本発明によつてCPU内部
に新たに必要なハードウエア量はブレーク機能の
ないものに比べ、先読み命令キユーの語数をqと
すると(q+1)ビツトの記憶装置だけでよく、
CPU全体の集積度にはほとんど影響しない特徴
がある。
第1図a,b,c,dは命令先読み機構を有し
ない電子計算機装置とこれを有する電子計算機装
置の動作フローの相違を説明する図、第2図は命
令先読み機構を有する電子計算機装置の構成図、
第3図は命令先読み機構を有しない電子計算機装
置にブレークアドレス検出機能を具備した装置の
構成図、第4図は命令先読み機構を有する電子計
算機装置にブレークアドレス検出機能を具備した
装置の構成図、第5図は本発明の一実施例による
命令先読み方式を用いた電子計算機装置の構成図
である。 9……ブレークアドレスレジスタ、10……ア
ドレス比較回路、50……先読み命令キユー。
ない電子計算機装置とこれを有する電子計算機装
置の動作フローの相違を説明する図、第2図は命
令先読み機構を有する電子計算機装置の構成図、
第3図は命令先読み機構を有しない電子計算機装
置にブレークアドレス検出機能を具備した装置の
構成図、第4図は命令先読み機構を有する電子計
算機装置にブレークアドレス検出機能を具備した
装置の構成図、第5図は本発明の一実施例による
命令先読み方式を用いた電子計算機装置の構成図
である。 9……ブレークアドレスレジスタ、10……ア
ドレス比較回路、50……先読み命令キユー。
Claims (1)
- 1 中央処理装置が特定のアドレスに格納された
命令コードを実行した時に、それまでの一連の実
行フローを中断するような上記特定のアドレスを
格納する1個以上のブレークアドレスレジスタ
と、アドレスバスに出力するアドレスの値と、上
記ブレークアドレスレジスタの内容とを比較し、
一致しているか否かの信号を出力する比較回路
と、命令読み出し機構が命令コードを取込む際
に、nビツト命令コードの入力信号線とは独立し
た体の信号線から上記比較回路の出力である1ビ
ツトのブレークアドレス一致信号も同時に取込
み、命令が中央処理装置によつて実行されるまで
両者が順番に行列を作つて格納される1語が(n
+1)ビツトからなる1語以上の先読み命令キユ
ーとを有し、上記中央処理装置の実行した命令が
分岐命令のような実行フローに変化を生じさせる
命令以外の場合、先読み命令キユーの先頭の1語
のうち命令コードであるnビツトを命令レジスタ
に移し、残り1ビツトのブレークアドレス一致情
報を利用して上記中央処理装置の実行を中断する
か否かの制御を行なうことを特徴とする命令先読
み装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7648980A JPS573143A (en) | 1980-06-05 | 1980-06-05 | Instruction prefetching system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7648980A JPS573143A (en) | 1980-06-05 | 1980-06-05 | Instruction prefetching system |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS573143A JPS573143A (en) | 1982-01-08 |
JPS6236575B2 true JPS6236575B2 (ja) | 1987-08-07 |
Family
ID=13606624
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP7648980A Granted JPS573143A (en) | 1980-06-05 | 1980-06-05 | Instruction prefetching system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS573143A (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59125449A (ja) * | 1982-12-31 | 1984-07-19 | Fujitsu Ltd | 仮想計算機における制御方式 |
JPS6234238A (ja) * | 1985-08-07 | 1987-02-14 | Mitsubishi Electric Corp | マイクロプロセツサ |
JPS6263345A (ja) * | 1985-09-13 | 1987-03-20 | Toshiba Corp | プログラム・デバツグ装置 |
JPS62133532A (ja) * | 1985-12-05 | 1987-06-16 | Nec Corp | マイクロプロセツサ |
JP2982875B2 (ja) * | 1987-12-28 | 1999-11-29 | 株式会社日立製作所 | スレーブ制御装置 |
JPH04350735A (ja) * | 1991-05-29 | 1992-12-04 | Nec Corp | マイクロプロセッサ |
-
1980
- 1980-06-05 JP JP7648980A patent/JPS573143A/ja active Granted
Also Published As
Publication number | Publication date |
---|---|
JPS573143A (en) | 1982-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5511207A (en) | Program control circuit determining the designated number of times a sequence of instructions is repetitively executed to prevent further execution of a jump instruction | |
EP0087978B1 (en) | Information processing unit | |
EP0533337B1 (en) | Apparatus and method for resolving dependencies among a plurality of instructions within a storage device | |
US6115808A (en) | Method and apparatus for performing predicate hazard detection | |
US5481734A (en) | Data processor having 2n bits width data bus for context switching function | |
US4403284A (en) | Microprocessor which detects leading 1 bit of instruction to obtain microcode entry point address | |
US4402042A (en) | Microprocessor system with instruction pre-fetch | |
US3909797A (en) | Data processing system utilizing control store unit and push down stack for nested subroutines | |
US4694391A (en) | Compressed control decoder for microprocessor system | |
US4172284A (en) | Priority interrupt apparatus employing a plural stage shift register having separate interrupt mechanisms coupled to the different stages thereof for segregating interrupt requests according to priority levels | |
US4274138A (en) | Stored program control system with switching between instruction word systems | |
US3593306A (en) | Apparatus for reducing memory fetches in program loops | |
US4434462A (en) | Off-chip access for psuedo-microprogramming in microprocessor | |
US5502827A (en) | Pipelined data processor for floating point and integer operation with exception handling | |
US4747045A (en) | Information processing apparatus having an instruction prefetch circuit | |
JPH04188229A (ja) | 浮動小数点演算処理装置 | |
US4093983A (en) | Fast and normal rate instruction fetching | |
JPS6236575B2 (ja) | ||
EP0240606B1 (en) | Pipe-line processing system and microprocessor using the system | |
US5499363A (en) | Microprocessor coupled to coprocessor by coprocessor bus separate from system bus to external memory for increased efficiency | |
JPH034936B2 (ja) | ||
JP2703884B2 (ja) | データ書込み制御方式 | |
JPS5826584B2 (ja) | デ−タ処理装置 | |
US6931473B2 (en) | Data transfer via Host/PCI-X bridges | |
KR910001708B1 (ko) | 중앙처리장치 |