JPH0766365B2 - コ・プロセツサ制御方式 - Google Patents
コ・プロセツサ制御方式Info
- Publication number
- JPH0766365B2 JPH0766365B2 JP60044852A JP4485285A JPH0766365B2 JP H0766365 B2 JPH0766365 B2 JP H0766365B2 JP 60044852 A JP60044852 A JP 60044852A JP 4485285 A JP4485285 A JP 4485285A JP H0766365 B2 JPH0766365 B2 JP H0766365B2
- Authority
- JP
- Japan
- Prior art keywords
- processor
- bus
- data
- operand
- address
- 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 - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a secondary processor, e.g. coprocessor
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/167—Interprocessor communication using a common memory, e.g. mailbox
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Advance Control (AREA)
- Multi Processors (AREA)
- Information Transfer Systems (AREA)
- Executing Machine-Instructions (AREA)
Description
【発明の詳細な説明】 〔発明の利用分野〕 本発明はメイン・プロセツサとコ・プロセツサのインタ
ーフエイスに係り、特にコ・プロセツサ命令を実行する
場合に、記憶装置からのオペランド・フエツチ、及び、
記憶装置への演算結果格納を高速に行なうのに好適な制
御方式に関する。
ーフエイスに係り、特にコ・プロセツサ命令を実行する
場合に、記憶装置からのオペランド・フエツチ、及び、
記憶装置への演算結果格納を高速に行なうのに好適な制
御方式に関する。
メイン・プロセツサに基本演算処理機能を持たせ、シス
テムの必要に応じて、特殊演算機能をメイン・プロセツ
サの命令群を拡張する形でサポートするコ・プロセツサ
を具備することで達成する構成が増えているが、このイ
ンターフエイスにおいては、モトローラ68020ユーザー
ズマニユアル(MOTOROLA 68020 User's Manual)(以下
公知例1と称す)に記載のように、コプロセツサ用オペ
ランドRead時、記憶装置→メインプロセツサ,メインプ
ロセツサ→コプロセツサと2回のバスサイクルを必要と
する方式では、メイン・プロセツサとコ・プロセツサの
リンケージ・タイムが大きくなつてしまうという欠点が
ある。
テムの必要に応じて、特殊演算機能をメイン・プロセツ
サの命令群を拡張する形でサポートするコ・プロセツサ
を具備することで達成する構成が増えているが、このイ
ンターフエイスにおいては、モトローラ68020ユーザー
ズマニユアル(MOTOROLA 68020 User's Manual)(以下
公知例1と称す)に記載のように、コプロセツサ用オペ
ランドRead時、記憶装置→メインプロセツサ,メインプ
ロセツサ→コプロセツサと2回のバスサイクルを必要と
する方式では、メイン・プロセツサとコ・プロセツサの
リンケージ・タイムが大きくなつてしまうという欠点が
ある。
記憶装置へのアクセス・タイムか、メインプロセツサ〜
コプロセツサ間転送タイムに対し十分大きければコ・プ
ロセツサとのリンケージ・タイムはあまり問題にならな
いが、メモリのキャッシュ化、メモリ高速化に伴い、2
回のバスサイクルを必要とする方式では、高速化に限界
がある。
コプロセツサ間転送タイムに対し十分大きければコ・プ
ロセツサとのリンケージ・タイムはあまり問題にならな
いが、メモリのキャッシュ化、メモリ高速化に伴い、2
回のバスサイクルを必要とする方式では、高速化に限界
がある。
また、インテル アイエーピーエツクス86レフアレンス
マニユアル(INTEL iAPX86 REFERENCE MANUAL)(以
下公知例2と称す)に記載のコ・プロセツサの場合、コ
・プロセツサがバスを占有するバス・マスタとなり、記
憶装置からのデータ転送を行なつている。この方式を用
いると1回のバスサイクルでデータ転送が可能ではある
が、命令デコーダのハードウエアや実効アドレスの計算
機構のハードウエア等のメイン・プロセツサと共用でき
るハードウエアもコ・プロセツサに具備する必要があ
り、さらに、バス・マスタとなるためのバス・インター
フエイス・ハードウエアが必要となる欠点がある。公知
例2のようなアーキテクチヤの場合、コプロセツサのハ
ードは約2倍に増加してしまう。
マニユアル(INTEL iAPX86 REFERENCE MANUAL)(以
下公知例2と称す)に記載のコ・プロセツサの場合、コ
・プロセツサがバスを占有するバス・マスタとなり、記
憶装置からのデータ転送を行なつている。この方式を用
いると1回のバスサイクルでデータ転送が可能ではある
が、命令デコーダのハードウエアや実効アドレスの計算
機構のハードウエア等のメイン・プロセツサと共用でき
るハードウエアもコ・プロセツサに具備する必要があ
り、さらに、バス・マスタとなるためのバス・インター
フエイス・ハードウエアが必要となる欠点がある。公知
例2のようなアーキテクチヤの場合、コプロセツサのハ
ードは約2倍に増加してしまう。
本発明の目的はメイン・プロセツサがコ・プロセツサを
起動する場合に、記憶装置とのデータ転送が必要なとき
のリンケージを高速に行なう方式を提供することにあ
る。
起動する場合に、記憶装置とのデータ転送が必要なとき
のリンケージを高速に行なう方式を提供することにあ
る。
本発明は、第1図(a)においてメインプロセツサ1が
コ・プロセツサ2を起動するとき、その演算のオペラン
ド・データが記憶装置3にある場合に、メイン・プロセ
ツサ1のアドレツシングにより記憶装置3からオペラン
ド・データをデータ・バス6上に読み出すバスサイクル
において、メイン・プロセツサからコ・プロセツサへの
制御信号DTをアクテイブとし、そのデータ・バス6上の
オペランド・データをコ・プロセツサ2に直接入力する
ことを特徴とする。そのプロトコルを第1図(b)に示
す。また、演算結果オペランドの記憶装置3への格納
も、制御信号DTにより、第1図(c)のプロトコルにて
コ・プロセツサ2より記憶装置3へ直接書込むことを特
徴とする。
コ・プロセツサ2を起動するとき、その演算のオペラン
ド・データが記憶装置3にある場合に、メイン・プロセ
ツサ1のアドレツシングにより記憶装置3からオペラン
ド・データをデータ・バス6上に読み出すバスサイクル
において、メイン・プロセツサからコ・プロセツサへの
制御信号DTをアクテイブとし、そのデータ・バス6上の
オペランド・データをコ・プロセツサ2に直接入力する
ことを特徴とする。そのプロトコルを第1図(b)に示
す。また、演算結果オペランドの記憶装置3への格納
も、制御信号DTにより、第1図(c)のプロトコルにて
コ・プロセツサ2より記憶装置3へ直接書込むことを特
徴とする。
以下、本発明の一実施例を説明する。第2図はシステム
構成であり、命令の解読、アドレス計算及び基本演算を
実行するメインプロセツサ(以下main Processorと称
す)1,浮動小数点演算を実行するコ・プロセツサ(以下
Co−Processorと称す)2,Main−Processor1及びCo・Pro
cessor2のマクロ命令及び汎用データを格納する記憶装
置(以下Memoryと称す)3,これらを相互に接続するアド
レス バス(Address Bus)5,データ バス(Data Bu
s)6,コントロール バス(Control Bus)7,バス占有制
御を行なうバス コントローラ(Bus Controller;BCと
略す)8,I/O10,I/O10とMemory3のデータ転送を行なうI/
Oプロセツサ(Processor)9,Main−Processor 1からCo
−Processor 2への専用制御線DT4,アドレスをデコード
してCo−Processor2のセレクト信号を生成するデコーダ
(Decoder)11より構成される。Main−Processor 1及び
I/O−Processor 9はバス・マスタとなるが、Co−Proces
sor 2,Memory3及びBC8はスレーブ動作のみ行なう。また
DT4は、Memory3とCo−Processor2とのデータ転送をMain
−Processor 1が行なわせるための制御線であり後述さ
れる。
構成であり、命令の解読、アドレス計算及び基本演算を
実行するメインプロセツサ(以下main Processorと称
す)1,浮動小数点演算を実行するコ・プロセツサ(以下
Co−Processorと称す)2,Main−Processor1及びCo・Pro
cessor2のマクロ命令及び汎用データを格納する記憶装
置(以下Memoryと称す)3,これらを相互に接続するアド
レス バス(Address Bus)5,データ バス(Data Bu
s)6,コントロール バス(Control Bus)7,バス占有制
御を行なうバス コントローラ(Bus Controller;BCと
略す)8,I/O10,I/O10とMemory3のデータ転送を行なうI/
Oプロセツサ(Processor)9,Main−Processor 1からCo
−Processor 2への専用制御線DT4,アドレスをデコード
してCo−Processor2のセレクト信号を生成するデコーダ
(Decoder)11より構成される。Main−Processor 1及び
I/O−Processor 9はバス・マスタとなるが、Co−Proces
sor 2,Memory3及びBC8はスレーブ動作のみ行なう。また
DT4は、Memory3とCo−Processor2とのデータ転送をMain
−Processor 1が行なわせるための制御線であり後述さ
れる。
Main−Processor1の構成を第3図に示す。読み出しデー
タレジスタ(Recd Data Register)101(RDRと略す)は
Data Bus6からの入力データ・レジスタであり、Memory3
のマクロ命令及び演算データが入力される。インストラ
クシヨン デコーダ (Instruction Decoder)103は、マクロ命令をRDR101よ
り受け取り、マイクロ・プログラムの先頭アドレスを生
成する。コントローラ(Controller)104(CONTと略
す)は、命令デコーダ(INSDEC)103より生成されるマ
イクロ・プログラムの先頭アドレスを受け取り、マイク
ロ・プログラム方式にて内部制御信号及びControl Bus7
に出力する外部制御信号及びCo−Processor2へのデータ
転送の制御信号DT4を生成する。ウエイト コントロー
ラ(Wait Controller)102(WCTLと略す)は、Main−Pr
ocessor1の外部アクセスに対する応答待ち制御機構であ
り、アクセスの終了をCONT104に報告する。ALU105は基
本論理演算及び算術演算を行なう。レジスタ(Registe
r)108(Rと略す)は汎用レジスタでマクロ命令で指定
可能なレジスタである。ワーク レジスタ(Work Regis
ter)109(WKと略す)は、マクロ命令を実行するための
一時的な記憶に使用するレジスタである。プログラム
カウンタ(Program Counter)110(PCと略す)はマクロ
命令をフエツチするためのポインタである。メモリ ア
ドレス レジスタ(Memory Address Register)107(MA
Rと略す)は、Address Bus5への出力用レジスタであ
る。ライト データ レジスタ(Write Data Registe
r)106(WDRと略す)はData Bus6への出力用レジスタで
ある。
タレジスタ(Recd Data Register)101(RDRと略す)は
Data Bus6からの入力データ・レジスタであり、Memory3
のマクロ命令及び演算データが入力される。インストラ
クシヨン デコーダ (Instruction Decoder)103は、マクロ命令をRDR101よ
り受け取り、マイクロ・プログラムの先頭アドレスを生
成する。コントローラ(Controller)104(CONTと略
す)は、命令デコーダ(INSDEC)103より生成されるマ
イクロ・プログラムの先頭アドレスを受け取り、マイク
ロ・プログラム方式にて内部制御信号及びControl Bus7
に出力する外部制御信号及びCo−Processor2へのデータ
転送の制御信号DT4を生成する。ウエイト コントロー
ラ(Wait Controller)102(WCTLと略す)は、Main−Pr
ocessor1の外部アクセスに対する応答待ち制御機構であ
り、アクセスの終了をCONT104に報告する。ALU105は基
本論理演算及び算術演算を行なう。レジスタ(Registe
r)108(Rと略す)は汎用レジスタでマクロ命令で指定
可能なレジスタである。ワーク レジスタ(Work Regis
ter)109(WKと略す)は、マクロ命令を実行するための
一時的な記憶に使用するレジスタである。プログラム
カウンタ(Program Counter)110(PCと略す)はマクロ
命令をフエツチするためのポインタである。メモリ ア
ドレス レジスタ(Memory Address Register)107(MA
Rと略す)は、Address Bus5への出力用レジスタであ
る。ライト データ レジスタ(Write Data Registe
r)106(WDRと略す)はData Bus6への出力用レジスタで
ある。
CONT104の構成を第4図に示す。セレクト(Select)121
(SELと略す)はINSDEC103より入力されたマイクロプロ
グラムの先頭アドレス、現実行マイクロ命令によるジヤ
ンプ・アドレス及び現実行マイクロの次のアドレスのう
ち1つを選択する。コントロール ストレージアドレス
(Control Storage Address)122はSEL121の出力アドレ
スをラツチしておくためのレジスタであり、これにより
Control Storage 123(CSと略称する)が読み出され
る。マイクロ インストラクシヨン レジスタ(Micro
Instruction Register)124(MIRと略す)はCS123から
読み出されたマイクロ命令をラツチするためのレジスタ
であり、マイクロ命令はジヤンプ・アドレス,イミデイ
エイトデータ(IMと略す)を含む。デコーダ(Decode
r)125はMIR124及び外部アクセス応答により、制御信号
を生成する。ダイレクト トランスフア フラグ(Dire
ct Transfer Flag)127(DTFと略す)はマイクロ命令に
より、Memory3とCo−Processor2とのデータ転送を直接
行なうサイクルに入るときセツトされる。DTF127出力は
DT4を通して、Co−Processor2に入力される。コントロ
ールストレージ アドレス インクリメンタ(Control
Storage Address Incrementer)126(INCと略す)は現
実行アドレスを次のアドレスに更新するための演算器で
ある。
(SELと略す)はINSDEC103より入力されたマイクロプロ
グラムの先頭アドレス、現実行マイクロ命令によるジヤ
ンプ・アドレス及び現実行マイクロの次のアドレスのう
ち1つを選択する。コントロール ストレージアドレス
(Control Storage Address)122はSEL121の出力アドレ
スをラツチしておくためのレジスタであり、これにより
Control Storage 123(CSと略称する)が読み出され
る。マイクロ インストラクシヨン レジスタ(Micro
Instruction Register)124(MIRと略す)はCS123から
読み出されたマイクロ命令をラツチするためのレジスタ
であり、マイクロ命令はジヤンプ・アドレス,イミデイ
エイトデータ(IMと略す)を含む。デコーダ(Decode
r)125はMIR124及び外部アクセス応答により、制御信号
を生成する。ダイレクト トランスフア フラグ(Dire
ct Transfer Flag)127(DTFと略す)はマイクロ命令に
より、Memory3とCo−Processor2とのデータ転送を直接
行なうサイクルに入るときセツトされる。DTF127出力は
DT4を通して、Co−Processor2に入力される。コントロ
ールストレージ アドレス インクリメンタ(Control
Storage Address Incrementer)126(INCと略す)は現
実行アドレスを次のアドレスに更新するための演算器で
ある。
次にCo−Processor2の構成を第5図に示す。コマンド
レジスタ(Command Register)201(CMDRと略す)はMai
n−Processor1からの演算命令を受けつける入力レジス
タでデコーダ(Decoder)208の信号により、入力され
る。オペランド レジスタ(Operand Register)205(O
PDRと略す)は演算オペランドの入力レジスタであり、D
ecoder 208の出力信号216または信号214の論理和がアク
テイブのとき入力される。コントローラ(Controller)
204(CCONTと略す)は、CMDR201より渡される信号203に
より内部制御信号及びControl Bus7に出力する外部制御
信号及びオペランド入力待ちの状態を表わす信号212と
オペランド出力待ちの状態を表わす信号213を生成す
る。信号212がアクテイブかつ信号DT4がアクテイブでCo
ntrol Bus7上のリード・アクセスまたはライト・アクセ
スの応答信号Xack7′がアクテイブになつたときOPDR205
はData Bus6上のデータを入力する。また信号213がアク
テイブかつ信号DT4がアクテイブのとき、Write Data Re
gister206(CWDRと略す)のデータがData Bus6上に出力
される。また、Decoder208の出力信号217によつてもCWD
R206はデータを出力する。CALU207は浮動小数点演算を
行なうための演算器である。Co−ProcessorRegister209
(CRと略す)はマクロ命令によりオペランドとして指定
できる汎用レジスタである。コ・プロセツサ ワーク
レジスタ(Co−Processor Work Register)210はCMDR20
1に入力されるコマンドを実行中、一時的にデータの記
憶を行なうためのレジスタである。
レジスタ(Command Register)201(CMDRと略す)はMai
n−Processor1からの演算命令を受けつける入力レジス
タでデコーダ(Decoder)208の信号により、入力され
る。オペランド レジスタ(Operand Register)205(O
PDRと略す)は演算オペランドの入力レジスタであり、D
ecoder 208の出力信号216または信号214の論理和がアク
テイブのとき入力される。コントローラ(Controller)
204(CCONTと略す)は、CMDR201より渡される信号203に
より内部制御信号及びControl Bus7に出力する外部制御
信号及びオペランド入力待ちの状態を表わす信号212と
オペランド出力待ちの状態を表わす信号213を生成す
る。信号212がアクテイブかつ信号DT4がアクテイブでCo
ntrol Bus7上のリード・アクセスまたはライト・アクセ
スの応答信号Xack7′がアクテイブになつたときOPDR205
はData Bus6上のデータを入力する。また信号213がアク
テイブかつ信号DT4がアクテイブのとき、Write Data Re
gister206(CWDRと略す)のデータがData Bus6上に出力
される。また、Decoder208の出力信号217によつてもCWD
R206はデータを出力する。CALU207は浮動小数点演算を
行なうための演算器である。Co−ProcessorRegister209
(CRと略す)はマクロ命令によりオペランドとして指定
できる汎用レジスタである。コ・プロセツサ ワーク
レジスタ(Co−Processor Work Register)210はCMDR20
1に入力されるコマンドを実行中、一時的にデータの記
憶を行なうためのレジスタである。
C CONT204の構成を第6図に示す。
C CONT204はマイクロ・プログラム方式のコントローラ
であり、CMDR201からのコマンドは、このマイクロ・プ
ログラムの先頭アドレスに対応している。SEL221,CASAR
222,CS223,MIR224,INC226は、第4図のSEL121,CSAR122,
CS123,MIR124,INC126にそれぞれ対応し、同等の機能を
持つものである。Decoder225は、MIR224の出力及び応答
信号Xack7′により内部制御信号及びControl Bus7の出
力を生成すると共にオペランド入力待ちフラグ227(OTR
と称す)とオペランド出力待ちフラグ228(OTWと称す)
とコマンド実行中を表わすフラグ229(BUSYと称す)の
セツト及びクリアの制御も行なう。BUSY229がONのとき
コマンドの書込応答を出さず、次のコマンドの受付を待
たせる(wait)。
であり、CMDR201からのコマンドは、このマイクロ・プ
ログラムの先頭アドレスに対応している。SEL221,CASAR
222,CS223,MIR224,INC226は、第4図のSEL121,CSAR122,
CS123,MIR124,INC126にそれぞれ対応し、同等の機能を
持つものである。Decoder225は、MIR224の出力及び応答
信号Xack7′により内部制御信号及びControl Bus7の出
力を生成すると共にオペランド入力待ちフラグ227(OTR
と称す)とオペランド出力待ちフラグ228(OTWと称す)
とコマンド実行中を表わすフラグ229(BUSYと称す)の
セツト及びクリアの制御も行なう。BUSY229がONのとき
コマンドの書込応答を出さず、次のコマンドの受付を待
たせる(wait)。
第7図はデータの転送モードの種別とそのモードにおけ
る信号DT4のON,OFFを示すものであり、コ・プロセツサ
命令のオペランド転送のみ、DT4をONに制御しているこ
とを示す。本制御は全てメインプロセツサのマイクロプ
ログラムが行うが、詳細手順については第8図に記述さ
れる。
る信号DT4のON,OFFを示すものであり、コ・プロセツサ
命令のオペランド転送のみ、DT4をONに制御しているこ
とを示す。本制御は全てメインプロセツサのマイクロプ
ログラムが行うが、詳細手順については第8図に記述さ
れる。
以上のようなハードウエアにて、Main−Processor1がメ
モリ間接アドレツシングのオペランドの受け渡しを持つ
SIN関数演算のコ・プロセツサ命令をフエツチした場合
のマイクロプログラムを第8図に示す。はMIR124のIM
をMAR107にセツトするものであり、IMはCo−Processor2
のCMDR201のアドレスである。ではMIR124のIMをWDR10
6にセツトし、Control Bus7上のWrite信号をONする。
ではステツプのライト・アクセスに対するControl Bu
s7上の応答信号Xack7′の受け付け後、実効アドレスの
計算データのアドレスをMAR107にセツトし、Control Bu
s7上のRead信号をONする。ではステツプのリード・
アクセスの応答信号Xack7′の受け付け後、RDR101とR10
8の1つRoとをALU105により加算しMAR107にセツトした
後Read信号をONし、DTF127をセツトする。ではステツ
プでの応答信号Xack7′を受け付け後DTF127をクリア
する。
モリ間接アドレツシングのオペランドの受け渡しを持つ
SIN関数演算のコ・プロセツサ命令をフエツチした場合
のマイクロプログラムを第8図に示す。はMIR124のIM
をMAR107にセツトするものであり、IMはCo−Processor2
のCMDR201のアドレスである。ではMIR124のIMをWDR10
6にセツトし、Control Bus7上のWrite信号をONする。
ではステツプのライト・アクセスに対するControl Bu
s7上の応答信号Xack7′の受け付け後、実効アドレスの
計算データのアドレスをMAR107にセツトし、Control Bu
s7上のRead信号をONする。ではステツプのリード・
アクセスの応答信号Xack7′の受け付け後、RDR101とR10
8の1つRoとをALU105により加算しMAR107にセツトした
後Read信号をONし、DTF127をセツトする。ではステツ
プでの応答信号Xack7′を受け付け後DTF127をクリア
する。
次に、Co−Processor2のマイクロ・プログラムを第9図
に示す。本プログラムは、メインプロセツサの前記ステ
ツプにより起動される。ではBUSY229とOTR227がセ
ツトされ、DT4及びXack応答信号7′がアクテイブにな
ることによりOPDR205にData Bus6上のデータがOPDR205
に入力されると共にOTR227はクリアされ、OPDR205の演
算オペランドはCWK210の1つCWK0へセツトされる。で
はCWK0のSIN演算が行なわれ、結果がCWK1にセツトされ
る。ではCW1のデータの正規化が行われ、CR209の1つ
CR0へセツトされ、BUSY229がクリアされる。
に示す。本プログラムは、メインプロセツサの前記ステ
ツプにより起動される。ではBUSY229とOTR227がセ
ツトされ、DT4及びXack応答信号7′がアクテイブにな
ることによりOPDR205にData Bus6上のデータがOPDR205
に入力されると共にOTR227はクリアされ、OPDR205の演
算オペランドはCWK210の1つCWK0へセツトされる。で
はCWK0のSIN演算が行なわれ、結果がCWK1にセツトされ
る。ではCW1のデータの正規化が行われ、CR209の1つ
CR0へセツトされ、BUSY229がクリアされる。
以上のMain−Processor1及びCo−Processor2のマイクロ
・プログラムにより1つのマクロ命令が実行され、結果
がCo−Processor2のCR209の1つにセツトされる。
・プログラムにより1つのマクロ命令が実行され、結果
がCo−Processor2のCR209の1つにセツトされる。
前記演算結果をCR0からMemory3へ転送するマクロ命令
(STORE命令)に対するMain−Processor1のマイクロプ
ログラムを第10図に示す。,によりコマンドがCo−
Processor2に入力され、ではその応答を受け付け後、
演算結果オペランドの実効アドレスRoがMAR107にセツト
され、Write信号をONし、DTF127がセツトされる。で
はステップのアクセスの応答Xack7′を受け付け後、D
TF127をクリアする。
(STORE命令)に対するMain−Processor1のマイクロプ
ログラムを第10図に示す。,によりコマンドがCo−
Processor2に入力され、ではその応答を受け付け後、
演算結果オペランドの実効アドレスRoがMAR107にセツト
され、Write信号をONし、DTF127がセツトされる。で
はステップのアクセスの応答Xack7′を受け付け後、D
TF127をクリアする。
このSTORE命令に対応するCo−Processor2のマイクロ・
プログラムを第11図に示す。ではBUSY229をセツト
し、CR0のデータをCWDR206にセツトし、OTW228をセツト
する。DT4がアクテイブでCWDR206のデータは、Data Bus
6に出力され、Xack7′の応答信号がアクテイブになるこ
とで、OTW228をクリアする。ではBUSY229をクリアす
る。
プログラムを第11図に示す。ではBUSY229をセツト
し、CR0のデータをCWDR206にセツトし、OTW228をセツト
する。DT4がアクテイブでCWDR206のデータは、Data Bus
6に出力され、Xack7′の応答信号がアクテイブになるこ
とで、OTW228をクリアする。ではBUSY229をクリアす
る。
第12図は、第8図,第9図の制御フローに対応するタイ
ムチヤートであり、(a)は従来方式(公知例1)で
(b)は本方式によるタイムチヤートである。本発明方
式では従来方式の2倍の速度でオペランド入力可能であ
り、コマンド入力及びmain−Processor1の実効アドレス
計算のためのデータ・フエツチを含めても、1.3倍であ
る。更に、フローテイング演算等でもつとも多く使用さ
れるレジスタ間接アドレツシングモードのメモリオペラ
ンド、かつ、倍精度演算においては従来方式では、コマ
ンド転送+(メモリ読出し+オペランド転送)×2で5
回のバスサイクル要に対し、本発明ではコマンド転送×
オペランド転送×2で3回のバスサイクルで済み、1.6
倍の性能向上となる。
ムチヤートであり、(a)は従来方式(公知例1)で
(b)は本方式によるタイムチヤートである。本発明方
式では従来方式の2倍の速度でオペランド入力可能であ
り、コマンド入力及びmain−Processor1の実効アドレス
計算のためのデータ・フエツチを含めても、1.3倍であ
る。更に、フローテイング演算等でもつとも多く使用さ
れるレジスタ間接アドレツシングモードのメモリオペラ
ンド、かつ、倍精度演算においては従来方式では、コマ
ンド転送+(メモリ読出し+オペランド転送)×2で5
回のバスサイクル要に対し、本発明ではコマンド転送×
オペランド転送×2で3回のバスサイクルで済み、1.6
倍の性能向上となる。
第13図は第10図,第11図の制御フローに対応するタイム
チヤートであり、(a)は従来方式(公知例1)のタイ
ムチヤート、(b)は本発明方式によるタイムチヤート
である。第12図と同様、本発明方式では従来方式の2倍
の速度でオペランド出力可能である。
チヤートであり、(a)は従来方式(公知例1)のタイ
ムチヤート、(b)は本発明方式によるタイムチヤート
である。第12図と同様、本発明方式では従来方式の2倍
の速度でオペランド出力可能である。
〔発明の効果〕 以上のように、本発明によれば、コプロセツサに、実効
アドレス計算機構、バスマスタ用インターフエイスハー
ドウエア等を追加することなく、記憶装置からコ・プロ
セツサへのオペランド・データ転送及びコ・プロセツサ
から記憶装置への演算結果データ転送を、従来方式の約
2倍の速度にせしめることができると共に、バスの使用
を1/2に低減することが可能である。
アドレス計算機構、バスマスタ用インターフエイスハー
ドウエア等を追加することなく、記憶装置からコ・プロ
セツサへのオペランド・データ転送及びコ・プロセツサ
から記憶装置への演算結果データ転送を、従来方式の約
2倍の速度にせしめることができると共に、バスの使用
を1/2に低減することが可能である。
第1図は本発明の構成とデータ受渡しのプロトコルを示
す図、第2図は本発明の実施例のハードウエア構成図、
第3図は本発明のMain−Processorのハードウエア構成
図、第4図は本発明のMain−ProcessorのControllerの
ハードウエア構成図、第5図は本発明のCo−Processor
のハードウエア構成図、第6図は本発明のCo−Processo
rのControllerのハードウエア構成図、第7図は本発明
のMain−ProcessorからCo−Processorへの制御信号の説
明図、第8図は本発明のMain−ProcessorのCo−Process
orの起動及びオペランド入力の制御フローの説明図、第
9図は本発明のCo−Processorのオペランド受取の制御
フローの説明図、第10図は本発明のMain−ProcessorのC
o−Processorの起動及びオペランドのメモリ格納の制御
フローの説明図、第11図は本発明のCo−Processorのオ
ペランド出力の制御フローの説明図、第12図はCo−Proc
essorへのオペランド入力の従来方式と本発明方式の性
能比較の説明図、第13図はCo−Processorからメモリへ
のオペランド格納の従来方式と本発明方式の性能比較の
説明図。
す図、第2図は本発明の実施例のハードウエア構成図、
第3図は本発明のMain−Processorのハードウエア構成
図、第4図は本発明のMain−ProcessorのControllerの
ハードウエア構成図、第5図は本発明のCo−Processor
のハードウエア構成図、第6図は本発明のCo−Processo
rのControllerのハードウエア構成図、第7図は本発明
のMain−ProcessorからCo−Processorへの制御信号の説
明図、第8図は本発明のMain−ProcessorのCo−Process
orの起動及びオペランド入力の制御フローの説明図、第
9図は本発明のCo−Processorのオペランド受取の制御
フローの説明図、第10図は本発明のMain−ProcessorのC
o−Processorの起動及びオペランドのメモリ格納の制御
フローの説明図、第11図は本発明のCo−Processorのオ
ペランド出力の制御フローの説明図、第12図はCo−Proc
essorへのオペランド入力の従来方式と本発明方式の性
能比較の説明図、第13図はCo−Processorからメモリへ
のオペランド格納の従来方式と本発明方式の性能比較の
説明図。
Claims (1)
- 【請求項1】少なくともアドレスバスとデータバスとを
含むバスと、バスに接続され基本演算機能を有するメイ
ンプロセッサと、バスに接続され特殊演算機能をメイン
プロセッサの命令群を拡張する形でサポートするコ・プ
ロセッサと、バスに接続された記憶装置とを有するデー
タ処理装置において、 メインプロセッサとコ・プロセッサ間に制御線を設け、 メインプロセッサは、コ・プロセッサに演算を実行させ
る特殊命令を識別する手段と、特殊命令の演算のオペラ
ンドの実行アドレスを計算する手段と、計算されたオペ
ランドの実行アドレスを前記アドレスバスを介して記憶
装置に送出する手段と、実行アドレスの送出の際に前記
制御線をアクティブ状態とする手段とを有し、 コ・プロセッサは前記制御線がアクティブ状態となった
後に自己の演算結果をデータバスを介して記憶装置に送
出する手段、記憶装置からの受信応答を受信したときに
演算結果の送出を停止する手段を有することを特徴とす
るコ・プロセッサ制御方式。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP60044852A JPH0766365B2 (ja) | 1985-03-08 | 1985-03-08 | コ・プロセツサ制御方式 |
| US06/836,820 US5029073A (en) | 1985-03-08 | 1986-03-06 | Method for fast establishing a co-processor to memory linkage by main processor |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP60044852A JPH0766365B2 (ja) | 1985-03-08 | 1985-03-08 | コ・プロセツサ制御方式 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS61204758A JPS61204758A (ja) | 1986-09-10 |
| JPH0766365B2 true JPH0766365B2 (ja) | 1995-07-19 |
Family
ID=12703008
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP60044852A Expired - Fee Related JPH0766365B2 (ja) | 1985-03-08 | 1985-03-08 | コ・プロセツサ制御方式 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US5029073A (ja) |
| JP (1) | JPH0766365B2 (ja) |
Families Citing this family (19)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS63142435A (ja) * | 1986-12-05 | 1988-06-14 | Hitachi Ltd | 特殊機能プロセツサ |
| JPS63143660A (ja) * | 1986-12-08 | 1988-06-15 | Fanuc Ltd | コ・プロセツサを有する演算処理装置 |
| JPS63158657A (ja) * | 1986-12-23 | 1988-07-01 | Fanuc Ltd | コ・プロセツサ制御方式 |
| JPH0719204B2 (ja) * | 1987-09-17 | 1995-03-06 | 筑波大学長 | 浮動小数点演算方式 |
| JPH01253004A (ja) * | 1988-04-01 | 1989-10-09 | Fanuc Ltd | 自動プログラミング装置 |
| JP2650193B2 (ja) * | 1988-04-06 | 1997-09-03 | 富士通株式会社 | データ処理装置 |
| JPH0786870B2 (ja) * | 1988-04-15 | 1995-09-20 | 株式会社日立製作所 | コプロセツサのデータ転送制御方法およびその回路 |
| US5210834A (en) * | 1988-06-01 | 1993-05-11 | Digital Equipment Corporation | High speed transfer of instructions from a master to a slave processor |
| US5218711A (en) * | 1989-05-15 | 1993-06-08 | Mitsubishi Denki Kabushiki Kaisha | Microprocessor having program counter registers for its coprocessors |
| JPH03118654A (ja) * | 1989-09-30 | 1991-05-21 | Anritsu Corp | 並列処理装置及びそれを内蔵した測定装置 |
| US5860000A (en) | 1996-01-31 | 1999-01-12 | Hitachi Micro Systems, Inc. | Floating point unit pipeline synchronized with processor pipeline |
| US6012139A (en) * | 1996-01-31 | 2000-01-04 | Hitachi Micro Systems, Inc. | Microprocessor including floating point unit with 16-bit fixed length instruction set |
| JPH09293056A (ja) * | 1996-04-25 | 1997-11-11 | Aiwa Co Ltd | データ処理装置 |
| US5961631A (en) * | 1997-07-16 | 1999-10-05 | Arm Limited | Data processing apparatus and method for pre-fetching an instruction in to an instruction cache |
| US8359462B1 (en) * | 2007-11-21 | 2013-01-22 | Marvell International Ltd. | Method and apparatus for programmable coupling between CPU and co-processor |
| JP5549670B2 (ja) | 2009-06-23 | 2014-07-16 | セイコーエプソン株式会社 | 集積回路装置及び電子機器 |
| JP2017199167A (ja) * | 2016-04-27 | 2017-11-02 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
| JP2018101256A (ja) * | 2016-12-20 | 2018-06-28 | ルネサスエレクトロニクス株式会社 | データ処理システム及びデータ処理方法 |
| CN118796490A (zh) * | 2023-04-11 | 2024-10-18 | 三星电子株式会社 | 用于执行近存储器计算的方法、系统和存储装置 |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4486826A (en) * | 1981-10-01 | 1984-12-04 | Stratus Computer, Inc. | Computer peripheral control apparatus |
| US4547849A (en) * | 1981-12-09 | 1985-10-15 | Glenn Louie | Interface between a microprocessor and a coprocessor |
| US4509116A (en) * | 1982-04-21 | 1985-04-02 | Digital Equipment Corporation | Special instruction processing unit for data processing system |
| JPS59225454A (ja) * | 1983-06-07 | 1984-12-18 | Fujitsu Ltd | オペランドフエツチ制御方式 |
-
1985
- 1985-03-08 JP JP60044852A patent/JPH0766365B2/ja not_active Expired - Fee Related
-
1986
- 1986-03-06 US US06/836,820 patent/US5029073A/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPS61204758A (ja) | 1986-09-10 |
| US5029073A (en) | 1991-07-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0766365B2 (ja) | コ・プロセツサ制御方式 | |
| JP2834837B2 (ja) | プログラマブルコントローラ | |
| US4794524A (en) | Pipelined single chip microprocessor having on-chip cache and on-chip memory management unit | |
| CA2041507C (en) | A high performance pipelined emulator | |
| US4520441A (en) | Data processing system | |
| JPH0215369A (ja) | ベクター処理システムの命令を実行する方法及び装置 | |
| JPS5831014B2 (ja) | 命令先取り装置 | |
| JPH0774991B2 (ja) | デジタルコンピュータに於けるパイプライン化された処理ユニットの動作方法 | |
| EP0087785B1 (en) | Microprogram controlled data processing apparatus | |
| JPH04260950A (ja) | キャッシュメモリ装置 | |
| US4750110A (en) | Method and apparatus for executing an instruction contingent upon a condition present in another data processor | |
| JPH03158928A (ja) | データ処理装置 | |
| JP2840604B2 (ja) | マイクロコード式cpuで実行される命令用のオペランドを指定する方法および装置 | |
| JPH07120338B2 (ja) | 共同プロセッサによる命令の実行をデータプロセッサが調整する方法および該データプロセッサ | |
| US4821231A (en) | Method and apparatus for selectively evaluating an effective address for a coprocessor | |
| US4758950A (en) | Method and apparatus for selectively delaying an interrupt of a coprocessor | |
| JPH07120284B2 (ja) | データ処理装置 | |
| JP3510729B2 (ja) | 命令実行方法および命令実行装置 | |
| JPS645330B2 (ja) | ||
| JPH0743648B2 (ja) | 情報処理装置 | |
| JPS63253433A (ja) | 演算処理装置 | |
| JP2710994B2 (ja) | データ処理装置 | |
| US4758978A (en) | Method and apparatus for selectively evaluating an effective address for a coprocessor | |
| JPH0192843A (ja) | データ処理装置 | |
| US5787276A (en) | Microprocessor including circuit for generating signal used for tracing executed instruction stream |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |