JPS61229125A - 演算処理装置 - Google Patents

演算処理装置

Info

Publication number
JPS61229125A
JPS61229125A JP7000485A JP7000485A JPS61229125A JP S61229125 A JPS61229125 A JP S61229125A JP 7000485 A JP7000485 A JP 7000485A JP 7000485 A JP7000485 A JP 7000485A JP S61229125 A JPS61229125 A JP S61229125A
Authority
JP
Japan
Prior art keywords
instruction
instruction code
code string
memory
arithmetic processing
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
JP7000485A
Other languages
English (en)
Inventor
Takayuki Fujita
孝行 藤田
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP7000485A priority Critical patent/JPS61229125A/ja
Publication of JPS61229125A publication Critical patent/JPS61229125A/ja
Pending 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
    • G06F9/3808Instruction prefetching for instruction reuse, e.g. trace cache, branch target cache
    • G06F9/381Loop buffering

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)

Abstract

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

Description

【発明の詳細な説明】 [産業上の利用分野J 本発明はメインメモリ等の記憶装置より命令を読み込み
、該読み込んだ命令コードに従い演算処理を実行する演
算処理装置に関するものである。
[開示の概要] 本明細書及び図面は、メインメモリ等の記憶装置より命
令を読み込み、該読み込んだ命令コードに従い演算処理
を実行する@頁処理装置に関するもので、記憶手段より
命令コードを読み込み、該読み込んだ命令コードに従い
処理を実行する演算処理装置であって、前記記憶手段よ
り命令コード列を読み込み、実行しながら前記命令コー
ド列を順次記憶する命令記憶手段を備え、前記命令記憶
手段に記憶されている前記命令コード列の繰り返し実行
開始命令により、前記命令記憶手段より前記命令コード
列を読み出し実行することを特徴とするvI算処理装置
の技術を開示するものである。
[従来の技術j 従来、この種の演算処理装置においては、メインメモリ
に実行手順である命令プログラムが格納されており、こ
のメインメモリ中の命令プログラム列をプログラムカウ
ンタの保持値に対応した番地より順次読み出し、実行し
ている。
この従来の演算処理装置の概略ブロック図を第2図に示
す。
図中3は全体の制御を司どる制御回路、4は演算処理を
行なうアキュムレータ(以下ALUと称す)、5は次に
実行する命令語のメモリアドレスを指示するプログラム
カウンタ、6はメモリ14よりプログラムカウンタ5の
内容に従って読み出された命令を格納する命令レジスタ
である。7は命令レジスタ6の命令の解析を行なう命令
デコーダ、8はメモリ14のアドレスを指定するメモリ
アドレスレジスタ、9はメモリ14に書き込み又はメモ
リ14より読み出したデータを一時格納するメモリデー
タレジスタである。13はメモリ制御回路、14はプロ
グラム命令列が記憶されていると共に、演算処理装置で
の処理において発生するデータを一時記憶するメモリで
ある。
プログラムカウンタ5の内容がメモリアドレスレジスタ
8に格納され、メモリ制御回路13にこのメモリアドレ
スレジスタ8よりのアドレスデータが送られると、その
アドレスに対応したデータ、即ちプログラム命令がメモ
リ14よりメモリデータレジスタ9に読み込まれ、この
命令コードが命令レジスタ6に送られる。この命令コー
ドは命令デコーダ7で解析され、解析結果は制御回路3
に送られ、解析結果に従った処理が実行される。この時
プログラムカウンタ5の値はその内容がメモリアドレス
レジスタ8に格納された後に1つカウントアツプされ、
次の命令コード読出し時にはこの個がメモリアドレスレ
ジスタ8に格納され、前述と同様の動作が実行されるこ
とになる。
この様にある命令を実行する毎に命令コードをメモリ1
4より読み出さねばならす、この命令の読込み時にはア
ドレスバスに対するアドレスデータを出力確定させ、そ
の後制御回路3よりメモリ制御回路13に制御信号を出
力して行なわなければならない、このためこの命令の読
込み時間が他の命令の解析実行処理時間を遅らせてしま
っていた。
又、これを避け、処理の高速化を計るため、大型のCP
U装置においてはパイプライン処理を行なっているが、
実行制御も複雑となってしまい、構成も複雑となり、高
価格化を招いていた。またこの場合においても、特に命
令の読み込み回数が多く、多くの処理時間を要する処理
ルーチンが同プログラム内で何回も使用されると、全体
としてCPUの処理を遅らす原因ともなっていた。
[発明が解決しようとする問題点] 本発明は上述従来技術の欠点に鑑みなされたもので、演
算処理装置に一定竜の繰り返して実行される命令データ
を前もって記憶しておく手段を備え、該手段に記憶され
ている命令を繰り返し読込み、実行することにより命令
読込み時間を短縮し、処理速度の高速化を実現した演算
処理装置を提供することにある。
L問題点を解決するための手段] この問題を解決する一手段として1例えば第1図に示す
実施例の演算処理装置は、命令記憶手段として命令バッ
ファ20を備える。
[作用] かかる第1図の構成において、記憶手段としてのメモリ
14より命令コード列を読み出し、実行しながら命令記
憶手段としての命令へソファ20に前記命令コード列を
順次記憶させ、前記命令バッファ20に記憶されている
前記命令コード列の繰り返し実行命令により、前記命令
バッファ20より前記命令コード列を読み出し実行する
1実施例J 以下、図面を参照して本発明に係る一実施例を詳説する
第1図は本発明に係る一実施例のブロック図であり、第
2図と同様構成には同一番号を附してあす、同一構成に
ついての説明は重複するので省略する。
第1図において、2は全体の制御を司どる制御回路であ
り、制御回路2では命令デコーダ7で解析された実行す
べき命令の解析結果に従って、内部メモリ2aに内蔵さ
れているマイクロプログラムが選択され、命令処理に対
応する各種信号の出力及び、各種信号の読取り、判別処
理が実行される。ここで、制御回路2はマイクロプログ
ラム内蔵タイプではなく、論理回路で全てが形成された
ものでもよいことはいうまでもない。
また、20はメモリ14より読込んだ命令に基づき、命
令コード列を記憶しておく命令バッファであり、命令バ
ッファは高速にて読み/書きが行なえ、読み/書きデー
タは内部バスlOを介して授受され、この出力データは
必要に応じて命令レジスタ6に信号線24を介して与え
られ、其他必要に応じて不図示のレジスタ等に直接格納
される。21は命令バッファ20のアドレスを指示する
バッファポインタ(RPC)である。
スタートプログラムアドレスレジスタ(SPC)22は
命令バッファ20に命令コード列を記憶する場合に、プ
ログラムカウンタ5の先頭アドレスを格納するレジスタ
、エンドプログラムアドレスレジスタ(EPC)23は
命令バッファ20に命令コード列の記憶が完了した時の
プログラムカウンタ5の内容を格納するレジスタである
第3図に示す命令コード列30がメモリ14のプログラ
ム上に現われると、まずループ開始命令31が命令デコ
ーダ7によって認識され、制御回路2はプログラムカウ
ンタ5の内容をバス25上に出力し、5PC22に書き
込み、信号線26によりBPC21をイニシャライズし
て、命令バッファ20の先頭アドレスを指示するように
する。
つづいて命令コード列32をメモリ14によりメモリデ
ータレジスタ9に読み出し、命令レジスタ6を通して命
令デコーダ7により命令を判断し順次実行する。それと
同時に命令コード列32はメモリデータレジスタ9より
内部バスlOに読み出され、プログラムカウンタ5に同
期してカウントされるBPC21で指示される命令バッ
ファ20のアドレスに順次格納される。
ループ命令コード列の最終命令を示す条件ルーズ命令3
3が命令デコーダ7によって認識されると、制御回路2
はプログラムカウンタ5の内容をEPC23に格納し、
条件ループ命令33の条件が満足された場合はその飛び
先を調べる。飛び先のアドレスADR2−3が5PC2
2のイ1以とで、EPC23の傾以下のときは、命令バ
ッファ20に格納されている命令コード列の繰り返し実
行であると考えられるため、プログラムカウンタ5を停
止Fさせ、EPC23の値より飛び先のアドレスADR
2−3を差し引き、この値をBPC21の値より引くこ
とにより、命令バッファ20内の戻りアドレスを決足す
る。この戻りアドレスは内部バス10を介してBPC2
1にセットされ、BPC21でアドレスされた命令バッ
ファ20の内容が順次内部バス10に読み出され信号線
24により命令レジスタ6に読み込まれて実行される。
一方条件ループ命令33の条件が満足されなかったり、
また条件が満足してもその飛び先が5PC22の値とE
PC23の値の間にない場合は、命令バッファ20に格
納された命令コード列32は実行されず、プログラムカ
ウンタ5で指示されるメモリ14より命令コードを読み
出し実行する、通常の命令実行モードに入る。
第4図(a)、(b)は制御部2のプログラム記憶エリ
ア2−1に格納されている制御プログラムの動作を示す
フローチャートで、以下第4図(a)、(b)に従って
動作を詳細に説明する。
本フローチャートが動作に入る前はRFLG2−4とW
F LG 2−5は共に0にクリアされているものとす
る。まずステップS40で制御回路2のRAM部2−2
とRFLG2−4が1、即ち命令へソファ20から命令
コード列を読み出すモードかどうかを調べる。RFLG
2−4がOのときはステップS41に進み、プログラム
カウンタ5の指示するメモリ14より命令を読み込み。
ステップS42でプログラムカウンタ5を進め。
次の命令コードの読み込みに備える。つぎにステップS
43に進み、RAM部2−2のWFLG2−5が1かど
うか、即ち命令バッファ20への書き込み中かどうかを
みる。
Sき込み中でない時はステップS48に進むが、書き込
み中のときはステップS44でRPC21の指示する命
令バッファ20のアドレスにステップ341でメモリ1
4より読み出した命令コードを書き込む。ステップS4
5ではBPC21を進み、次の命令バッファ20への命
令コードの3き込みに備える。一方ステップ540でR
FLG2−4が1のときは、ステップS46に進み、B
PC21の指示する命令バッファ20のアドレスより命
令コードを内部バス10に取り出し、信号M24により
命令レジスタ6にセットし、ステップS47でBPC2
1を進め、次の命令バッファ20よりの命令コードの読
み出しに備える。
ステップ348では命令デコーダ7により命令を判断し
、まずループ開始命令31かどうかをみる。ループ開始
命令31と判断されると、ステップS49に進みBPC
21をリセットし、ステップ350でプログラムカウン
タ5の内容を5PC22にセットする。これで後続の命
令コード列32の先頭アドレスが5PC22にセットさ
れたことになる。つぎにステップS51に進み、命令バ
ッファ20への書き込みモードを示すWFLG2−5を
1にして再びフェッチサイクルに戻る。
ステップS48でループ開始命令31と判断されなけれ
ば、ステップS52に進み命令を実行し、ステップ55
3で条件ループ命令33かどうかをみる0条件ループ命
令33でなければ命令フェッチサイクルに戻る。ステッ
プS53で条件ループ命令33と判断されると、ステッ
プS54でプログラムカウンタ5の内容をEPC23に
セットする。これでEPC23には、条件ループ命令3
3の格納されていたメモリ14のアドレスの次のアドレ
スが格納されたことになる。
ステップS55では条件ループ命令33の条件が満足さ
れているかをみ、満足していなければステップ356に
進み、RFLG2−4とWFLG2−5をクリアする。
ステップS55で条件が満足されている時は、ステップ
S57に進み、飛び先アドレスを決定し、ADR2−3
に格納する。
これは相対ジャンプまたは間接ジャンプ等であってもよ
く、求められたADR2−3はメモリ14丑の絶対アド
レスを指示している。
ステップS58では求められたADR2−3の個と5P
C22およびEPC23の値を比較し。
5PC22よりも大でEPC23よりも小のときにステ
ップS59に進む、即ちこれは飛び先の命令コード列が
命令バッファ20に格納されているかを調べ、格納され
ていればステップS59でEPC23よりADR2−3
の個を引き、この差をBPC21より引くことにより、
命令バッファ20の戻り先アドレスをBPC21にセッ
トしている。
ステップ360ではWFLG2−5をOにして命令バッ
ファ20への書き込みモードを解除し、RFLG2−4
を1にして、現在以降は命令バッファ20の命令コード
列の実行を行うようにしている。ステップ358で飛び
先アドレスが命令バッファ20内に存在しないときは、
ステップS56に進みRFLG2−4 、WFLG2−
5の両方をクリアして再びフェッチサイクルに戻るよう
にしている。
[発明の効果J 以E述べた如く本発明によれば、演算処理−a置に繰り
返し実行される命令データを記憶しておく記憶手段を備
え、該記憶手段に記憶されている命令を繰り返し読込み
実行することにより、命令読込み時間の短縮、処理速度
の高速化が実現できるという効果がある。
【図面の簡単な説明】
第1図は本発明に係る一実施例のブロック構成図、 第2図は従来の@算処理装置の命令読込み処理のブロッ
ク構成図、 第3図は本実施例のループ命令コード列を示す図、 第4図(a)、(b)は本実施例の命令解析及び命令処
理を示すフローチャートである。 図中2,3・・・制御回路、2−1・・・プログラム記
憶部、2−2・・・RAM、2−3・・・ADH12−
4・・・RFLG、2−5・・・WFLG、5・・・プ
ログラムカウンタ、6・・・命令レジスタ、7・・・命
令デコーダ、10・・・内部パス、13・・・メモリ制
御回路、14・・・メモリ、20・・・命令バッファ、
21・・・バッファポインタCBPC)、22・・・ス
タートプログラムアドレスレジスタ(SPC)、23・
・・エンドプログラムアドレスレジスタ(EPC)、3
1・・・ループ開始命令、33・・・条件ループ命令で
ある。

Claims (3)

    【特許請求の範囲】
  1. (1)記憶手段より命令コードを読み込み、該読み込ん
    だ命令コードに従い処理を実行する演算処理装置であっ
    て、前記記憶手段より命令コード列を読み込み、実行し
    ながら前記命令コード列を順次記憶する命令記憶手段を
    備え、前記命令記憶手段に記憶されている前記命令コー
    ド列の繰り返し実行開始命令により、前記命令記憶手段
    より前記命令コード列を読み出し実行することを特徴と
    する演算処理装置。
  2. (2)繰り返し実行命令が条件付き飛越し命令であるこ
    とを特徴とする特許請求の範囲第1項に記載の演算処理
    装置。
  3. (3)繰り返し実行命令の飛び先の命令コード列が、命
    令記憶手段に格納されているかを判定する判定手段を備
    えたことを特徴とする特許請求の範囲第1項に記載の演
    算処理装置。
JP7000485A 1985-04-04 1985-04-04 演算処理装置 Pending JPS61229125A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7000485A JPS61229125A (ja) 1985-04-04 1985-04-04 演算処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7000485A JPS61229125A (ja) 1985-04-04 1985-04-04 演算処理装置

Publications (1)

Publication Number Publication Date
JPS61229125A true JPS61229125A (ja) 1986-10-13

Family

ID=13419024

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7000485A Pending JPS61229125A (ja) 1985-04-04 1985-04-04 演算処理装置

Country Status (1)

Country Link
JP (1) JPS61229125A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998036351A1 (fr) * 1997-02-17 1998-08-20 Hitachi, Ltd. Processeur de donnees

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998036351A1 (fr) * 1997-02-17 1998-08-20 Hitachi, Ltd. Processeur de donnees
US6505295B1 (en) 1997-02-17 2003-01-07 Hitachi, Ltd. Data processor
US7080240B2 (en) 1997-02-17 2006-07-18 Hitachi, Ltd. Data processing apparatus

Similar Documents

Publication Publication Date Title
JP2982875B2 (ja) スレーブ制御装置
US4747045A (en) Information processing apparatus having an instruction prefetch circuit
US5095426A (en) Data processing system for effectively handling exceptions during execution of two different types of instructions
US4758949A (en) Information processing apparatus
EP0388735A2 (en) Microprogram controller having fixed-instruction generator and microprogram memory
JPS61229125A (ja) 演算処理装置
US5819081A (en) Method of executing a branch instruction of jumping to a subroutine in a pipeline control system
US4991130A (en) Normalization control system for floating point arithmetic operation
EP0600583A1 (en) Vector processing device
US5978925A (en) System for improving processing efficiency in a pipeline by delaying a clock signal to a program counter and an instruction memory behind a system clock
JP2758624B2 (ja) マイクロプログラムの調速方式
JPS61216033A (ja) 演算処理装置
JP2760694B2 (ja) マイクロプロセッサ
JPS6242301B2 (ja)
JPS6391756A (ja) 記憶装置の部分書き込み命令処理方式
JPS61195429A (ja) 演算処理装置
JPH0261725A (ja) マイクロブランチ方式
JP2544533B2 (ja) プログラマブルコントロ―ラのシ―ケンス命令処理装置
JPS6232507B2 (ja)
JPS6028014B2 (ja) マイクロプロセツサ
JPH0317135B2 (ja)
JPH06295252A (ja) 計算機
JPS6215645A (ja) 中央処理装置
JPH06139347A (ja) 画像演算処理装置
JPS60126733A (ja) レジスタの読出しリセツト方式