JP3710262B2 - コプロセッサを使用するための電子回路及び方法 - Google Patents

コプロセッサを使用するための電子回路及び方法 Download PDF

Info

Publication number
JP3710262B2
JP3710262B2 JP19921397A JP19921397A JP3710262B2 JP 3710262 B2 JP3710262 B2 JP 3710262B2 JP 19921397 A JP19921397 A JP 19921397A JP 19921397 A JP19921397 A JP 19921397A JP 3710262 B2 JP3710262 B2 JP 3710262B2
Authority
JP
Japan
Prior art keywords
instruction
coprocessor
processor
circuit
cycle
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
Application number
JP19921397A
Other languages
English (en)
Other versions
JPH1083303A (ja
Inventor
ラボリエ ジャン−ルイ
Original Assignee
エステーミクロエレクトロニクス ソシエテ アノニム
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 エステーミクロエレクトロニクス ソシエテ アノニム filed Critical エステーミクロエレクトロニクス ソシエテ アノニム
Publication of JPH1083303A publication Critical patent/JPH1083303A/ja
Application granted granted Critical
Publication of JP3710262B2 publication Critical patent/JP3710262B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

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, look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline, look ahead using a slave processor, e.g. coprocessor

Description

【0001】
【産業上の利用分野】
本発明は、電子回路に関するものであり、特に、集積回路及びプロセッサをコプロセッサと協動させることができるようにするその集積回路の使用に関するものである。本発明は、特徴の1つが処理速度であるデジタルシグナルプロセッサ(DSPとして知られている)の分野に特に係わるものである。このようなデジタルシグナルプロセッサは、符号化動作または暗号化動作、特にモデムにおけるまたは音声処理動作のための符号化動作または暗号化動作を実行するために伝送システムにおいて使用される。
【0002】
【従来の技術】
知られているデジタルプロセッサは、プログラマブル(プログラム可能な)処理回路をプログラムして、そのプログラマブル処理回路のプログラムされた状態に応じてデータを変更するために使用される1組の回路を具備している。そのプログラマブル処理回路のプログラムされた状態の変更は、命令として知られているデータ信号をそのプログラマブル処理回路に供給してなされる。プロセッサの様々な回路は特に、命令レジスタ及びデータレジスタを具備しており、プログラマブル処理回路と、そのプログラマブル処理回路に様々な命令及び様々なデータを供給するシーケンスを、タイミングを合わせて構成するシーケンサとをリンクする。この動作のシーケンスがプログラムと称される。普通、このようなプロセッサは、適切な命令が供給されるならば、任意の型式の動作を実行することができる。
【0003】
しかし、特に複雑で長い或る種の特別な処理動作が高速で実行されねばならないとき、問題が生じる。この場合、普通に使用される型式のプロセッサに頼ることはできない。なぜならば、そのようなプロセッサを使用するならば、連続する命令の実行が、特別な処理動作の複雑さのために過剰に長い期間遅れる。例えば、各動作が1サイクルの期間で足りるような所与の速度でプロセッサの作業が実行さねばならないと仮定する。その作業の間に、1サイクル期間の50倍の期間を要する動作に出現する可能性がある。
【0004】
この種の長い動作を含めて全ての動作を、1サイクルの間に、または少なくとも高速で実行するために、コプロセッサの技術が利用されている。実際、コプロセッサは、普通のプロセッサでは50サイクルを要したであろう動作を高速で(例えば、3乃至4サイクル内で)実行することができる特別な回路である。しかし、コプロセッサを適切なタイミングで動作させるためには、プロセッサがコプロセッサが協動するように構成して、コプロセッサに必要なデータを供給してコプロセッサに処理を移す必要がある。そのあと、コプロセッサは、独立して作業を開始し、その作業を完了し次第、処理済のデータが使用可能であることをプロセッサに通知する。
【0005】
しかし、このような動作のモードは、単一サイクル期間の間に実行されねばならない動作があまり長くないとき、例えば、動作が5サイクル期間しか必要としないとき、考えられない。実際、コプロセッサを動作するように構成するには、5サイクルの期間を必要とし、一方、1サイクルの間に作業を遂行するようにコプロセッサが構成されているならば、基本的に低速なプロセッサに作業を直接実行させた場合に得られるであろう利点と比較して、なんら利点が得られない。
【0006】
【発明が解決しよとする課題】
そこで、本発明は、非常に長く且つ複雑な動作をコプロセッサが実行しなければならないときにも有効であるが、コプロセッサを動作させる期間を短くする課題を解決せんとするものである。
【0007】
【課題を解決するための手段】
本発明によるならば、プロセッサの全体回路の予備的定義の後に意図されるとき、同一の1つの電子回路に相補的な機能を実行させる。この場合、コプロセッサは、実際上、既知のしかし複雑な余り使用されない動作の処理に専用な特別な回路であるので、集積回路を全体的に再設計することが可能である。しかし、異なる要望一つ一つに新しく集積回路を用意することは、回路全体が問題である場合、余りの複雑な作業である。
【0008】
本発明のシステムでは、回路の心臓部を維持して、回路の心臓部が常に同一であるように保つことが可能である。すなわち、プロセッサは、常時維持される。反対に、特に高速で実行されねばならない特別な動作のために、特別なコプロセッサが同一の1つの集積回路につくられる。本発明が提案するプロセッサとコプロセッサとの間の交換モードは、この種の変更に特に有益である。コプロセッサは、コプロセッサに送られてきた命令に従ってデータを処理する回路を有していることが好ましい。
【0009】
本発明の1つの特徴は、プロセッサのシーケンスによって送られた命令が、コプロセッサを案内するために使用されることである。更に、プロセッサ及びコプロセッサが、命令メモリの同一出力バスに接続され、その命令メモリから読み出された命令を同時に受ける。プロセッサ及びコプロセッサの両方が、命令デコーダを有している。本発明によるならば、プロセッサの命令デコーダは、命令がコプロセッサによって実行されねばならないことを認識して、対応する認識信号を生成する回路を有している。この認識信号は、コプロセッサに送られ、その動作を有効化する。本発明においては、プロセッサ及びコプロセッサの両方が並列しているので、プロセッサによる命令のデコーディングと同時に行われるコプロセッサによる命令のデコーディングが、有効化され、コプロセッサが命令を実行することができる。好ましくは、命令の実行は、デコーディングに続くサイクルにおいてなされ、コプロセッサは、コプロセッサが有効にデコードされた命令の全てを実行することができる。
【0010】
本発明においては、補助コプロセッサの動作時間は、主プロセッサの動作時間の内の1サイクルに限定することが好ましい。しかし、プロセッサの制御で、コプロセッサを連続して数サイクル動作させることができる。
【0011】
コプロセッサを動作させる本発明において選んだデコーディングの原理は、特に自由度が高く、プロセッサとコプロセッサとのほぼ並列した動作に適合している。更に、コプロセッサの構成を簡略化するために、データメモリからコプロセッサへのデータの転送の全ての動作は、プロセッサの制御の下に行われる。従って、コプロセッサにより実行されねばならない命令の場合には、処理されるべきデータをコプロセッサに処理動作の始めに与え、処理動作の終わりに処理されたデータを受け取るように、プロセッサは動作する。
【0012】
かくして、本発明によるならば、命令メモリのデータ出力バスの内の少なくとも複数の線を介して同一の1つの命令メモリに接続されたプロセッサとコプロセッサとを備える電子回路を提案する。プロセッサの命令デコーダは、バスを介して転送された命令から、当該命令がコプロセッサによって少なくとも部分的に実行されねばならないことを認識して、対応する認識信号をコプロセッサに送る回路を具備している。コプロセッサは、コプロセッサがその認識信号を受けたときコプロセッサが命令を実行することを許可する有効化回路を有している。
【0013】
更に本発明によるならば、プロセッサとコプロセッサとの使用方法が提案される。本発明の方法においては、命令の少なくとも同一部分が、命令メモリのデータ出力バスの内の少なくとも複数の線を介して、プロセッサとコプロセッサとに同時に送られる。その命令は、プロセッサでデコードされ、デコードされた命令がコプロセッサによって実行されねばならないことを示す認識信号が生成される。そして、コプロセッサは、コプロセッサがその認識信号を受けたときコプロセッサが命令を実行することが許可される。
【0014】
【実施例】
図1は、本発明による電子回路を図示している。この電子回路は、プロセッサ1とコプロセッサ2とを具備している。例えば、プロセッサ1は、デジタルデコーダ転送、特にビット制御機能、外部から与えられるフレームとの同期、並びに転送すべきデータの圧縮動作などの、モデムの共通機能を全てを実行するように構成されたプロセッサである。1つの例では、コプロセッサは、既知のVITERBI型の畳込み及び等化アルゴリズムを実行するように構成されている。当然、このコプロセッサは、データの到着及び出力速度でリアルタイムで動作して、遅延なくデータを転送しなければならない。このようなVITERBIアルゴリズムにおいて実行されなければならない動作は複雑である。従って、プロセッサ1が、超高速回路(従って、製造が困難で且つ高価な回路)を具備するように構成されるか、または、この機能のために特化すなわち専用化されていない限り、そのような動作は、プロセッサ1によって実行させることを考えることはできなかった(ここで、専用化した回路は、それ自体既知の一般的な処理機能と共に、既知の1つのエンコーディングVITERBI機能を最終的に有しているだけあるが、再定義及び再構成のために多大な労力を必要としている)。
【0015】
本発明の特徴の1つは、プロセッサ1とコプロセッサ2とがバス4を介して同一の1つの命令メモリ3に接続されていることである。図示の例では、バス4の線の内の少なくとも一部5(バス5)がコプロセッサ2に接続されている。図2に示すように、1つの例での命令ワードは、16ビットでエンコードされており、命令メモリ3は、バス4上に並列な16の出力を有しており、各出力が16ビットの各1ビットを出力する。更に後述するように、バス5は、16ビットではなく、4ビットしかない。その4ビットは、命令メモリ3から出力される16ビットの内の4ビットである。
【0016】
プロセッサ1は、標準的な命令レジスタ6を有しており、その命令レジスタ6は、その入力がバス4に接続され、その出力が命令デコーダ7に接続されている。データメモリXまたはYからのデータは、プロセッサ1の入出力データレジスタ8に送られる。プロセッサ1のプログラマブル処理回路9は、データレジスタ8に格納されたデータに対して、プログラムされた処理動作を実行する。このプログラムされた処理動作は、命令レジスタ6に格納された2進データによって、その動作パラメータを設定する。処理動作の終了で、プロセッサ1が接続されている様々な周辺機器に分配されるデータが、入出力データレジスタ8において利用できる。上述したアーキテクチャは、プロセッサの全く一般的なアーキテクチャである。シーケンサ10は、それら回路6〜9を制御する。
【0017】
本発明の特別な特徴の1つは、命令デコーダ7が、命令の実行中に使用される制御信号だけでなく、接続線11(1本以上の線)を介してコプロセッサ2に送られる“VCI”として知られている認識信号も生成することである。信号VCIは、命令デコーダ7によってデコードされた命令が、コプロセッサ2によって実行されるべき命令であることを指示する信号である。
【0018】
プロセッサ1と同様に、コプロセッサ2も、命令レジスタ12と、命令デコーダ13と、データ入力レジスタ14と、データ出力レジスタ15と、プログラマブル処理回路16とを具備している。命令レジスタ12は、その入力がバス5に接続され、その出力が命令デコーダ13に接続されている。命令デコーダ13は、その出力がプログラマブル処理回路16に接続されている。コプロセッサ2は、複数のコプロセッサ命令を連携させる比較的複雑な動作を実行することか必要な場合には、シーケンサを具備していてもよい。
【0019】
コプロセッサ2内の様々な回路は、プロセッサ1のシーケンサ10によって同期が図られることが好ましい。実際、プロセッサ1の1サイクル期間の間にコプロセッサ2に具体的な動作を実行させたいので、この制御タスクは、最も基本的な型式である。すなわち、それは、まさに、クロックレート設定制御である。処理回路16は、プログラマブルであるが特別な回路であることが好ましい。ここで、プログラマブルとは、命令レジスタ12に格納されている或る数の命令によってパラメータが設定可能であるとの意味である。例えば、本発明におけるこの命令の数は16である。その理由は、バス5を介して4ビットを転送することしか必要でないためである(24 =16)。小さな範囲でプログラマブルであるにも係わらず、処理回路16は、恒久的に固定された接続で、非常に多くの動作を物理的に実行する非常に複雑な特別な回路となることができる。反対に、プロセッサ1の処理回路9は、非常に自由度が高く、一般的な動作を実行することができる。すなわち、約1000の異なる命令を実行できる。
【0020】
本発明の特別な特徴のもう1つは、命令デコーダ13、命令レジスタ12または他の回路14〜16の内の任意の回路が、信号VCIを受ける有効化入力を有しまたはと有することででき、認識信号が受けられたとき、処理回路による命令の実行を許可することである。図1は、命令デコーダ13または点線で示すように命令レジスタ12が信号VCIによって有効化されるようにしか図示していない。有効化回路は、非常に簡単でよい。すなわち、有効化回路は、単位回路を動作状態に置く“チップイネーブル”型のON信号を通過を許可まつたは禁止するスイッチ(トランジスタ)を簡単に有しているものでよい。
【0021】
図2は、命令メモリ3から出力される命令ワードの16ビットの構成を示すものである。最初の11ビットは、命令コードを表しており、最後の5ビットは、プロセッサ1またはコプロセッサ2とデータメモリXまたはYとの間のデータ交換モードに対応する。従って、最後の5ビットの内の第1の1ビット17は、選択されたデータメモリ、すわなち、データメモリXかまたはデータメモリYかに関するものである。第2のビット18は、メモリの処理モード、すなわち書込かまたは読み取りかに関する。第3のビット19は、その選択したデータメモリにおけるアドレスインジケータである。従って、2通りのアドレスインジケータが可能である。残りの2ビット20及び21は、特に使用の場合、データメモリXまたはYにおける4通りのインクリメント値内の1つを指定するものである。実際、読み出されるまたは書き込まれるデータが、予め設定されたアドレスインクリメントで、データ転送ごとに読み出されまたは書き込まれる型式のアドレス動作を実行する方法が様々知られている。
【0022】
命令ワードの始めの11ビットの命令コード(なお、ここに示すビットの順番は単なる例に過ぎず、ビットの順番は変えることもできる)は、1000以上の命令(すなわち、プロセッサ1により実行される1000の命令およびコプロセッサ2により実行される16の命令)の定義を可能にする。コプロセッサ2により実行される16の命令に対応するコードは、命令レジスタ12に接続されたバス5の4本の接続線に対応する命令ワードの4ビットゾーン22に常に置かれる。上述した5ビットでは、それら5ビットの特定の値の配列が、コプロセッサ2を動作状態に置かねばならないことを指示するため使用される。
【0023】
以下に説明する特定な例では、コプロセッサ2は、コプロセッサが2つのコプロセッサすなわちコプロセッサA及びコプロセッサBとに分けられていると言うことができる意味において、実際には多少複雑な回路である。この二重の表現は、扱われるメモリが2つのデータメモリX及びYであることから、部分的には理解できよう。それ故、或る命令に対して、データメモリXまたはデータメモリYからのデータを処理回路16がその入力データレジスタ14で受ける。それ異なり、別の或る命令に対して、データメモリXのデータとデータメモリYのデータとを同時に処理する必要があるならば、データ入力レジスタ14を二倍にする必要があることを証明している。このことは、出力データメモリ15にも当てはまり、二倍にしなければならない。実際、処理回路16には、他方のメモリからのデータを同時に考慮する回路(不図示)が付加される。このような複雑さを伴う命令の場合、実際には、コプロセッサAがデータメモリXのデータを処理し、コプロセッサBがデータメモリYのデータを処理するようにし、またはその反対に、コプロセッサAがデータメモリYのデータを処理し、コプロセッサBがデータメモリXのデータを処理するようにしてもよい。または、単一のコプロセッサの処理回路が、同時に受けたデータメモリXのデータとデータメモリYのデータとに係わる動作を実行してもよい。
【0024】
しかし、所与のサイクルには1つの命令しかロードされないので、原理的には、命令レジスタ13は、両処理回路に対して同じものである。実際、このことにより、図2の命令ワードの残りの5ビットゾーンにおいて、1つのまたは2つのまたは3つの異なる識別コードを定義する必要が生じる。それら識別コードとは、コプロセッサAが動作されることを指示する識別コードCOP Aと、コプロセッサBが動作されることを指示する識別コードCOP Bと、更に必要ならば、コプロセッサA及びコプロセッサBの両方が動作されることを指示する識別コードCOP ABとである。実際、これら2または3つの識別コードは、命令ワードの最初の5ビットを表す特定な形でもよい。コプロセッサは、上記した専用コードで選択してもよいし、または、初期化段階で、コプロセッサの内部ステータスレジスタに命令を書き込むことによってコプロセッサの動作が有効化されるようにしてもよい。後者の場合、各コプロセッサは、機能を開始する前に、先ず最初に、有効化され、そのあと、無効化されねばならない。常に1つのコプロセッサだけが動作可能であるようにすることもできる。シーケンサ10には、有効情報及び無効情報をロードすることができる。
【0025】
本発明の特別な特徴は、命令デコーダ7が、特定の表現型式から信号VCIを生成することである。この作業モードは、コプロセッサ2によって実行できる3×16=48の命令を定義することが究極的に可能である。既知の型式の命令デコーダ7において、これら表現型式の検出には何らの困難を生じない。従って、対応する信号VCIを容易に生成できる。
【0026】
データ入出力レジスタ8、データ入力レジスタ14またはデータ出力レジスタ15は、データバス24を介してデータメモリXまたはYに結合されている。そのデータバス24の線の数は、データに対して要求される精度に関係しており、例えば、16ビットまたは32ビットまたはそれ以上である。プロセッサ1は、普通の方法で命令メモリ3及びデータメモリX及びYにアドレスするための回路(不図示)を更に有している。
【0027】
図3は、本発明による回路の動作を分かり易く説明するものである。図3(a) は、プロセッサ1が命令メモリ3にアドレスすなわちアクセスして命令を得て命令を命令レジスタにロードする動作を図示している。例えば、プロセッサ1は先ず最初に、プロセッサ1の処理回路9により実行可能な命令IP1を得て、その後、コプロセッサ2の処理回路16により実行可能な命令IC1を得て、次いで、プロセッサ1により実行可能な命令IP2を得て、その後、コプロセッサ2により実行可能な命令IC2を得ているように図示されている。この態様が続くと、シーケンサ10は、命令メモリ3からの命令を読み取ることができるように回路を組織しすなわち制御して、所望の命令をバス4及び5に出力させる。
【0028】
図3(b) は、互いに並列に接続された命令デコータ7及び命令デコータ13の両方における、続く動作サイクルでの命令のデコーディングを示している。コプロセッサ命令を示す信号VCIが有効である場合、命令デコーダ13の動作が有効化される。このようにして、これらのデコーダは、続くサイクルで命令IP1、IC1、IP2する。しかし、命令IC2は、命令IP2が読み取られたすなわちデコードされたサイクルに続くサイクルではデコードされない。これを後述する。
【0029】
図3(c) は、プロセッサ1のための命令のプロセッサ1による実行を図示している。図3(d) は、コプロセッサ2のための命令のコプロセッサ2による実行を図示している。そして、図3(e) は、それら実行サイクルの前の、命令デコードサイクルでの有効な信号VCIを示している。
命令デコーダ7でのデコーディングは、同一の1つのサイクルの間に、命令デコーダ13でのデコーディングを生起している。(図3(c) の第3サイクルに示すように)全く当然のこととして、プロセッサ1は命令IP1を実行する(なお、データの転送方法は他のところで説明する)。次のサイクルで、プロセッサ1の処理回路の算術オペレータが非活性化される。すなわち、データを処理しない。反対に、コプロセッサ2は、プロセッサ1から信号VCIを受けているまたは受けるので、コプロセッサ2は命令IC1を実行する。命令IC1のデコーディングのときに、命令デコーダ7により信号VCIが生成される。信号VCIは、1サイクルの間だけしか有効化されない。すなわち、この1サイクルは、コプロセッサ命令のデコーディングに対応し且つその実行(ここで説明している例では、1サイクルで完了する)に先行するサイクルである。
【0030】
命令IP2は更に1つの特徴を有している。実際、この命令IP2は、プロセッサ1に2以上の動作サイクルを続けさせるように、始めに構成されている。従って、プロセッサ1は、命令が2サイクル命令であることを認識する手段を命令デコーダ7に設けている。例えば、命令コードの11ビットの内の第10ビットがこの場合“1”である。この状態を認識するとき、命令デコーダ7は、命令IP2のデコーディングの終わりで、シーケンサ10の制御信号27(図3(b))により、命令メモリの連続したパイプライン読み取りを一時的に中断乃至保留することが既にできる。命令IP2のデコーディングに続くサイクルで、この命令は処理回路9により実行される。その命令は、命令の第1の部分IP2aと、次のサイクルで実行されるべき第2の部分IP2bとを有している。このような動作は、知られている型式である。
【0031】
制御信号27により、命令IC2は、バス4及び5上にあるように保たれていることが好ましい。それ故、命令IP2の第2の部分の始めだけデコーディングをするようすることが重要である。このような手順を満たすように制御信号27はシーケンサ10により生成される。
【0032】
更に、制御信号28が生成される。この制御信号28は、プロセッサ1により実行されている多サイクル命令の明確な終わりを指示するものである。制御信号28は2通りの方法で得ることができる。まず、命令IP2のデコーディングで、すなわち図3(a) から図3(d) の第4サイクル期間で、処理されている命令が2サイクル(nサイクル)を有する多サイクル命令であることを知ることができる。従って、“2−1”(“n−1”)の初期値を有するアップ/ダウンカウンタを動作状態にして、そのアップ/ダウンカウンタが正しいタイミングで制御信号28を生成するようにすることができる。
【0033】
好ましい方法では、命令レジスタ6にロードされた命令IP2aまたはIP2bの値を処理することにより、多少異なる手順が行われる。実際には、(究極的にはデコーダと同一の回路で)命令をフィルタリングして、命令の1つが特定の方法で整形されるとき、信号を生成することができる。例えば、命令レジスタ6に格納されている命令コードの内の所与の重みすなわち桁位置を有するビットが、ロードされた(1サイクルで実行される)単位命令が最後の(すなわち第2の)単位命令であることを示す所定の値を有するようにすることもできる。この検出により、該当する単位命令をロードするとき(または、直前の単位命令の実行の終わりに)制御信号28を生成することができる。
【0034】
プロセッサ1及びコプロセッサ2は、同一の1つの集積回路に作り込まれることが好ましい。集積回路の領域の一部は、上述した全ての回路を有するプロセッサ1のために割り当てられ、集積回路の領域の残りの部分は、場合に応じて広い場合も狭い場合もあるが、専用処理回路のために割り当てられる。プロセッサ1の処理回路9は、約1000の命令を処理する能力を有しているので、処理回路9のプログラミングは非常に複雑である。しかし、プログラマブル処理回路16は、それ自体は複雑であるが、そのプログラミングは非常に簡単である。この複雑な処理回路16は更に、実行しなければならない16の命令に対応する16通りの構成乃至配置の一つ一つごとにテストすることができる。この方法は、プロセッサ1により実行することができる命令セットの中に16の命令を組み込みことと比較するならば、非常に簡単である。
【0035】
図3(a) から図3(e) に示すような連続した動作の巧みな選択並びに命令サイクルの間しかコプロセッサの動作を許さない方法により、プロセッサとコプロセッサとの関係を非常に明瞭に単純化し、且つ、コプロセッサ2を動作状態に置くために必要な時間の損失を制限している。実際、本発明においては、時間の損失は零である。コプロセッサは、次のサイクル期間に動作を開始する。それにもかかわらず、制御信号27及び28に匹敵する制御信号を生成し且つそのときコプロセッサ2をオフにする代わりにプロセッサ1をオフにする手段を、シーケンサ10及び命令デコーダ7の中に設けることによって、コプロセッサ2によって実行される多サイクル命令を有することを考えることができる。
【0036】
コプロセッサ2の機能を単純化するために、本発明では、データメモリからデータXまたはYを取り出し且つそれらメモリにデータをロードする動作をプロセッサ1が実行する。これは、命令を処理回路9または16の内のどちらが実行するかどうかに係わりなく、データバス24及びデータメモリXまたはYの管理がプロセッサ1に委ねられていることを意味している。しかし、これは何れにしても普通のプロセッサが行うことであるので、構成は複雑ではない。換言するならば、各サイクル期間tごとに、“t”番目の命令の読み取り(図3(a))、“t−1”番目の命令のデコーディング(図3(b))、“t−2”番目の命令のプロセッサ1またはコプロセッサ2による実行(図3(c) または図3(d))、“t−2”番目の命令に係わるデータのデータメモリXまたはYへの(またはデータレジスタ8または14への)転送、“t−1”番目の命令によって処理されたデータのデータメモリXまたはYへの(またはデータレジスタ8または15への)供給がなされる。これら動作の全ては、プロセッサを基本とする集積回路、特に、本件出願人のST9と称するマイクロプロセッサを基本とする回路によって普通の方法で実行される。
【0037】
以上、本発明の少なくとも1つの実施例を説明したが、様々な変更または改良が当業者には容易にできよう。しかし、かかる変更や改良は、本発明の考え方および範囲内に属するものである。従って、上述した説明は、単に例としてなしたものであり、限定するものではない。本発明は、特許請求の範囲に規定されるようにのみ限定されるものである。
【図面の簡単な説明】
【図1】 本発明による電子回路を示すブロック図である。
【図2】 本発明による電子回路並びに方法において使用される命令ワードを好ましい構成を示す図である。
【図3】 本発明による電子回路の様々な部分での様々な動作の実行を図解するタイミングチャートである。
【符号の説明】
1 プロセッサ
2 コプロセッサ
3 命令メモリ
4、5 命令バス
6、12 命令レジスタ
7、13 命令デコーダ
8、14、15 データレジスタ
9、16 プログラマブル処理回路
10 シーケンサ
X、Y データメモリ

Claims (9)

  1. プロセッサ(1)およびコプロセッサ(2)を備えた電子回路において、上記プロセッサおよび上記コプロセッサが、命令メモリ(3)の出力バスの少なくとも複数の線(5)を介して当該命令メモリに接続されて、当該命令メモリからの命令を同時に受けるようになされており、上記プロセッサ(1)は、命令デコーダ(7)を有しており、上記コプロセッサ(2)は、命令デコーダ(13)を有しており、上記プロセッサ(1)の上記命令デコーダ(7)は、受けた命令をデコードして、当該受けた命令の少なくとも一部が上記コプロセッサ(2)によって実行されなければならないという事実を認識して、上記受けた命令がデコードされる上記プロセッサ(1)のサイクルの間に、対応する認識信号(VC1)を、上記コプロセッサに送信する回路を備え、上記コプロセッサ(2)の上記命令デコーダ(13)は、受けた命令をデコードする回路と、上記コプロセッサが上記認識信号を受けた時に、上記デコードを有効化して引き続き上記受けた命令を実行するようにする回路とを具備しており、上記受けた命令の上記デコードと上記有効化とを同一の1つのサイクルの間に実行することを特徴とする電子回路。
  2. 上記電子回路がモノリシック集積回路であって、上記コプロセッサ(2)の上記命令デコーダ(13)は、上記命令メモリ(3)の上記出力バスに接続されており、上記コプロセッサが、上記コプロセッサの上記命令デコーダ(13)に接続されて当該命令デコーダによってデコードされた命令の実行を可能にする命令レジスタ(12)と、上記命令レジスタによって転送される命令に応じてデータを処理するプログラマブルな処理回路(16)と、上記モノリシック集積回路のデータバス(24)に入力が接続され、上記コプロセッサの上記処理回路に出力が接続されたデータ入力レジスタ(14)と、上記コプロセッサの上記処理回路に入力が接続され、上記モノリシック集積回路の上記データバスに出力が接続されたデータ出力レジスタ(15)とを備えることを特徴とする請求項1に記載の電子回路。
  3. 上記コプロセッサと並列に接続されて、2つの異なるデータメモリ(X、Y)からのデータを同時に処理する第2のコプロセッサを備えることを特徴とする請求項1または2に記載の電子回路。
  4. 上記プロセッサの1動作サイクルよりも長く続く多サイクル命令を上記プロセッサが実行している場合に、上記認識信号が送られるのを遅らせる遅延回路を上記プロセッサが備えることを特徴とする請求項1〜3の何れか1項に記載の電子回路。
  5. 上記遅延回路が、複数の単位命令が並べられて構成され最後の単位命令がわかる多サイクル命令を検知するために、上記プロセッサの上記命令デコーダ内に設けらているデコード回路と、多サイクル命令終了後に上記認識信号の転送を許可する回路とを備えることを特徴とする請求項4に記載の電子回路。
  6. 上記遅延回路が、多サイクル命令の存在を検知するために、上記プロセッサの上記命令デコーダ内に設けらているデコード回路と、
    上記プロセッサによる実行される多サイクル命令の実行時間に依存して初期状態に置かれ、多サイクル命令の終わりに上記認識信号を転送することを許可する信号を発生するアップ/ダウンカウンタとを備えることを特徴とする請求項4に記載の電子回路。
  7. プロセッサ(1)とコプロセッサ(2)の使用方法であって、
    命令メモリの出力バス(14)の少なくとも複数の線(5)を介して、同一の命令の一部(22)を上記プロセッサと上記コプロセッサとに同時に転送し、
    同一の1つのサイクルの間に、命令を上記プロセッサ(1)と上記コプロセッサ(2)との両方においてデコードするとともに、上記プロセッサの命令デコーダ(7)は受けた命令が上記コプロセッサによって実行されなければならないという事実を認識して、上記サイクルの間に対応する認識信号(VC1)を上記コプロセッサに送信し、かつ、上記コプロセッサが、その有効化回路で上記認識信号(VC1)を受けて、上記サイクルに続くサイクル中に上記コプロセッサの命令デコーダ(13)がデコードした命令を実行できるようにする
    ことを特徴とする使用方法。
  8. 上記プロセッサのシーケンサ(10)が、同期化された制御信号を、上記コプロセッサの命令デコーダ(13)、上記コプロセッサの命令レジスタ(12)、上記コプロセッサのプログラマブル処理回路(16)、上記コプロセッサのデータ入力レジスタ(14)、および上記コプロセッサのデータ出力レジスタ(15)に送ることを特徴とする請求項7に記載の使用方法。
  9. 上記プロセッサが、上記コプロセッサの動作に必要なメモリへのアクセスポイントを管理することを特徴とする請求項7または8に記載の使用方法。
JP19921397A 1994-05-10 1997-07-09 コプロセッサを使用するための電子回路及び方法 Expired - Fee Related JP3710262B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR9405763 1994-05-10
FR9405763A FR2719926B1 (fr) 1994-05-10 1994-05-10 Circuit électronique et procédé d'utilisation d'un coprocesseur.

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP7136231A Division JPH0869377A (ja) 1994-05-10 1995-05-10 コプロセッサを使用するための電子回路及び方法

Publications (2)

Publication Number Publication Date
JPH1083303A JPH1083303A (ja) 1998-03-31
JP3710262B2 true JP3710262B2 (ja) 2005-10-26

Family

ID=9463090

Family Applications (2)

Application Number Title Priority Date Filing Date
JP7136231A Pending JPH0869377A (ja) 1994-05-10 1995-05-10 コプロセッサを使用するための電子回路及び方法
JP19921397A Expired - Fee Related JP3710262B2 (ja) 1994-05-10 1997-07-09 コプロセッサを使用するための電子回路及び方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP7136231A Pending JPH0869377A (ja) 1994-05-10 1995-05-10 コプロセッサを使用するための電子回路及び方法

Country Status (5)

Country Link
US (1) US6003124A (ja)
EP (1) EP0684551B1 (ja)
JP (2) JPH0869377A (ja)
DE (1) DE69500748T2 (ja)
FR (1) FR2719926B1 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5860000A (en) * 1996-01-31 1999-01-12 Hitachi Micro Systems, Inc. Floating point unit pipeline synchronized with processor pipeline
US6434689B2 (en) * 1998-11-09 2002-08-13 Infineon Technologies North America Corp. Data processing unit with interface for sharing registers by a processor and a coprocessor
KR100308618B1 (ko) * 1999-02-27 2001-09-26 윤종용 단일 칩 상의 마이크로프로세서-코프로세서 시스템을 구비한 파이프라인 데이터 처리 시스템 및 호스트 마이크로프로세서와 코프로세서 사이의 인터페이스 방법
JP2001092663A (ja) * 1999-09-17 2001-04-06 Sanyo Electric Co Ltd データ処理装置
JP2001092662A (ja) * 1999-09-22 2001-04-06 Toshiba Corp プロセッサコア及びこれを用いたプロセッサ
US6865663B2 (en) * 2000-02-24 2005-03-08 Pts Corporation Control processor dynamically loading shadow instruction register associated with memory entry of coprocessor in flexible coupling mode
US7073048B2 (en) * 2002-02-04 2006-07-04 Silicon Lease, L.L.C. Cascaded microcomputer array and method
JP4585809B2 (ja) * 2004-08-02 2010-11-24 株式会社リコー 画像処理制御装置
JP5175517B2 (ja) * 2005-04-12 2013-04-03 パナソニック株式会社 プロセッサ
US20130311753A1 (en) * 2012-05-19 2013-11-21 Venu Kandadai Method and device (universal multifunction accelerator) for accelerating computations by parallel computations of middle stratum operations
JP6094356B2 (ja) 2013-04-22 2017-03-15 富士通株式会社 演算処理装置
US9698790B2 (en) * 2015-06-26 2017-07-04 Advanced Micro Devices, Inc. Computer architecture using rapidly reconfigurable circuits and high-bandwidth memory interfaces
FR3087907B1 (fr) * 2018-10-24 2021-08-06 St Microelectronics Grenoble 2 Microcontroleur destine a executer un traitement parametrable
US20230176863A1 (en) * 2021-12-03 2023-06-08 Taiwan Semiconductor Manufacturing Company, Ltd. Memory interface
CN116701085B (zh) * 2023-06-02 2024-03-19 中国科学院软件研究所 RISC-V处理器Chisel设计指令集一致性的形式验证方法及装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4715013A (en) * 1983-04-18 1987-12-22 Motorola, Inc. Coprocessor instruction format
JPS62151971A (ja) * 1985-12-25 1987-07-06 Nec Corp マイクロ・プロセツサ装置
JPS62214464A (ja) * 1986-03-17 1987-09-21 Hitachi Ltd データ処理システム
JPS63143660A (ja) * 1986-12-08 1988-06-15 Fanuc Ltd コ・プロセツサを有する演算処理装置
JPH0786868B2 (ja) * 1987-05-22 1995-09-20 松下電器産業株式会社 プロセッサ間通信方法
US4862407A (en) * 1987-10-05 1989-08-29 Motorola, Inc. Digital signal processing apparatus
JPH0679307B2 (ja) * 1987-10-22 1994-10-05 日本電気株式会社 コプロセッサの並行動作制御方式
JPH01243167A (ja) * 1988-03-25 1989-09-27 Hitachi Ltd データ処理装置
JPH0786870B2 (ja) * 1988-04-15 1995-09-20 株式会社日立製作所 コプロセツサのデータ転送制御方法およびその回路
JP2741867B2 (ja) * 1988-05-27 1998-04-22 株式会社日立製作所 情報処理システムおよびプロセツサ
US5093908A (en) * 1989-04-17 1992-03-03 International Business Machines Corporation Method and apparatus for executing instructions in a single sequential instruction stream in a main processor and a coprocessor
JPH03263127A (ja) * 1990-03-13 1991-11-22 Nec Corp 命令実行制御方式
JPH04149735A (ja) * 1990-10-15 1992-05-22 Fujitsu Ltd 情報処理装置
US5420989A (en) * 1991-06-12 1995-05-30 Cyrix Corporation Coprocessor interface supporting I/O or memory mapped communications

Also Published As

Publication number Publication date
FR2719926B1 (fr) 1996-06-07
EP0684551A1 (fr) 1995-11-29
DE69500748D1 (de) 1997-10-30
EP0684551B1 (fr) 1997-09-24
JPH1083303A (ja) 1998-03-31
US6003124A (en) 1999-12-14
FR2719926A1 (fr) 1995-11-17
DE69500748T2 (de) 1998-01-15
JPH0869377A (ja) 1996-03-12

Similar Documents

Publication Publication Date Title
JP3710262B2 (ja) コプロセッサを使用するための電子回路及び方法
EP0286354B1 (en) A method and apparatus for modifying micro-instructions using a macro-instruction pipeline
JPS6044699B2 (ja) 特殊アドレス発生装置
JPS5849881B2 (ja) デ−タシヨリソウチ
EP0223150A2 (en) Information processing apparatus
US4967339A (en) Operation control apparatus for a processor having a plurality of arithmetic devices
EP0240606B1 (en) Pipe-line processing system and microprocessor using the system
KR950009687B1 (ko) 프로그램어블 로직 콘트롤러용 고속 래더명령 처리장치
JPH02162422A (ja) 優先ブランチ機構を備えたデータ処理システム
JPH0612107A (ja) シーケンス演算プロセッサおよびシーケンス演算処理装置
JPH08106446A (ja) モジュール方式チップ選択制御回路および関連する回路および方法
JPH05298088A (ja) マイクロコンピュータ
JP2622026B2 (ja) 中央処理装置におけるレジスタ書込制御方式
JP2849804B2 (ja) メモリーアクセスのインターフェイス回路及びメモリーアクセスの方法
JPH10301776A (ja) 情報処理装置及びパイプライン処理方法
JP2002268876A (ja) パイプライン処理方法、及び情報処理装置
JPH01116702A (ja) シーケンスコントローラ
JP3182796B2 (ja) 中央演算処理装置
JPH07152630A (ja) ディジタルシグナルプロセッサ
JPH0128416B2 (ja)
JPH08297583A (ja) 割り込み処理装置およびその方法
JPH0228832A (ja) データ処理装置
JPH1049512A (ja) マイクロコンピュータ
JPH10207708A (ja) プログラマブルコントローラ
JPS6341091B2 (ja)

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050124

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050201

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050428

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050712

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050809

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090819

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees