JPH10509540A - ディジタル信号プロセッサ - Google Patents

ディジタル信号プロセッサ

Info

Publication number
JPH10509540A
JPH10509540A JP8512740A JP51274095A JPH10509540A JP H10509540 A JPH10509540 A JP H10509540A JP 8512740 A JP8512740 A JP 8512740A JP 51274095 A JP51274095 A JP 51274095A JP H10509540 A JPH10509540 A JP H10509540A
Authority
JP
Japan
Prior art keywords
digital signal
bus
processor
external
memory
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
JP8512740A
Other languages
English (en)
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
Priority claimed from US08/317,313 external-priority patent/US5634076A/en
Priority claimed from US08/317,744 external-priority patent/US5685005A/en
Application filed by アナログ・デバイセス・インコーポレーテッド filed Critical アナログ・デバイセス・インコーポレーテッド
Publication of JPH10509540A publication Critical patent/JPH10509540A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0284Multiple user address space allocation, e.g. using different base addresses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7839Architectures of general purpose stored program computers comprising a single central processing unit with memory
    • G06F15/7842Architectures of general purpose stored program computers comprising a single central processing unit with memory on one IC chip (single chip microcontrollers)
    • G06F15/7846On-chip cache and off-chip main memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7839Architectures of general purpose stored program computers comprising a single central processing unit with memory
    • G06F15/7842Architectures of general purpose stored program computers comprising a single central processing unit with memory on one IC chip (single chip microcontrollers)
    • G06F15/7857Architectures of general purpose stored program computers comprising a single central processing unit with memory on one IC chip (single chip microcontrollers) using interleaved memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microcomputers (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 モノリシック・ディジタル信号プロセッサは、ディジタル信号計算を行うコア・プロセッサと、外部ポートを介するディジタル信号プロセッサに対するおよびこれからの外部アクセスを制御するI/Oプロセッサと、ディジタル信号計算のため命令とデータとを記憶する第1および第2のメモリ・バンクと、コア・プロセッサとI/Oプロセッサとメモリ・バンクとを相互接続する第1および第2のバスとを含む。コア・プロセッサとI/Oプロセッサとは、1クロック・サイクルの異なるクロック・フェーズに対する影響を及ぼすことなく、第1のバスにおけるメモリ・バンクをアクセスする。ディジタル信号プロセッサの内部メモリとI/Oプロセッサとは、グローバル・メモリ空間の領域に割当てられ、これがマルチ処理形態を容易にする。マルチプロセッサ・システムでは、各ディジタル信号プロセッサは、プロセッサIDが割当てられる。ディジタル信号プロセッサは、外部ポートを介する外部バスに対するアクセスを制御するバス調停回路を含む。ディジタル信号プロセッサは、外部装置との2地点間通信のための1つ以上の直列ポートと1つ以上のリンク・ポートとを含む。DMAコントローラは、外部ポートと直列ポートとリンク・ポートとを介するDMA転送を制御する。

Description

【発明の詳細な説明】 ディジタル信号プロセッサ発明の分野 本発明は、ディジタル信号プロセッサに関し、特に強化された性能を提供する 特徴を有するディジタル信号プロセッサに関する。発明の背景 ディジタル信号コンピュータ、即ちディジタル信号プロセッサ(DSP)は、 例えば、高速フーリエ変換、ディジタル・フィルタ、イメージ処理および音声認 識の如きディジタル信号処理用途に対する性能を最適化するように設計される特 殊目的コンピュータである。ディジタル信号プロセッサの用途は、リアルタイム 動作、高い割込み速度、および集約的数値計算により特徴付けられる。更に、デ ィジタル信号プロセッサ用途は、集約的なメモリ内アクセス動作となる傾向があ り、大量データの入出力を要求する。このため、ディジタル信号プロセッサの設 計は、汎用プロセッサの設計とは非常に異なるものである。 ディジタル信号プロセッサのアーキテクチャにおいて用いられてきた1つの試 みはハーバード・アーキテクチャであり、これは、2つのメモリが同時にアクセ スされるように、個々の独立的なプログラム・メモリとデータ・メモリとを使用 する。 ハーバード・アーキテクチャ(Harvard architecture) は満足し得る性能を提供するが、ディジタル信号プロセッサの性能まで更に強化 する必要が存在する。特に、増加された計算速度、改善されたメモリ直接アクセ ス(DMA)動作、およびマルチプロセッサ形態に対する必要が存在する。更な る望ましい特徴は、システムの全体的コストおよび複雑さが減じられるように、 周辺回路をディジタル信号処理チップの組み込みの増加を含む。発明の概要 本発明の一特質によれば、ディジタル信号処理システムは、第1のディジタル 信号プロセッサと、この第1のディジタル信号プロセッサに外部バスにより相互 接続された第2のディジタル信号プロセッサとを含む。前記の第1および第2の ディジタル信号プロセッサは、それぞれ、ディジタル信号計算を実施するための 内部メモリとコア・プロセッサとを含む。コア・プロセッサは、内部メモリ空間 とマルチプロセッサ・メモリ空間とを含むグローバル・メモリ空間をアクセスす るための手段を含んでいる。この第1および第2のディジタル信号プロセッサは 、それぞれ、プロセッサIDに応答して、マルチプロセッサ・メモリ空間の領域 に内部メモリを割当てるための手段を更に含んでいる。結果として、システム内 の各記憶場所は一義的となり、第1のディジタル信号プロセッサが、第2のディ ジタル信号プロセッサの内部メモリに割当てられたマルチプロセッサ・メモリ空 間の領域をアドレス指定することにより、第2のディジタル信号プロセッサの内 部メモリをアクセスすることができる。 ディジタル信号処理システムは、更に、外部バスに結合された外部メモリを含 む。グローバル・メモリ空間は更に、外部メモリ空間を含み、かつ外部メモリは 外部メモリ空間に割当てられる。第1および第2のディジタル信号プロセッサは 、外部メモリ空間をアドレス指定することにより外部メモリをアクセスすること ができる。第1および第2のディジタル信号プロセッサの各々の内部メモリは、 外部バスにおける通信量を低減するように、少なくとも0.5メガビットの容量 を有し、望ましくは4メガビットの容量を有する。 第1および第2のディジタル信号プロセッサは、それぞれ、ディジタル信号プ ロセッサに関して出入りする外部アクセスを制御するためのI/Oプロセッサを 更に含み、このI/Oプロセッサは、1つ以上のメモリ・マップされたIOPレ ジスタと、このIOPレジスタをマルチプロセッサ・メモリ空間の領域へ割当て る手段とを含む。結果として、第1のディジタル信号プロセッサは、第2のディ ジタル信号プロセッサのIOPレジスタに割当てられたマルチプロセッサ・メモ リ空間の領域をアドレス指定することにより、第2のディジタル信号プロセッサ のIOPレジスタをアクセスすることができる。 第1および第2のディジタル信号プロセッサは、1組のバス要求線により相互 に接続されることが望ましい。第1および第2のディジタル信号プロセッサの各 々は、外部バスに対するアクセスを制御するためのバス調停(アービトレーショ ン、arbitration)回路を含むことが望ましい。このバス調停回路は 、外部バスに対するアクセスが要求される時、バス要求線の選択された1つを表 明(宣言、asserting)するための手段を含む。表明(宣言、asse rt)されるバス要求線は、プロセッサIDであり得るバス要求IDに応答して 選択される。このバス調停回路は更に、バス応答表明(assertion)の ための他のバス要求線を監視する手段と、バスのマスター性(mastersh ip)が利用可能な時、予め定めた優先権方式に従ってバス要求表明に応答して バスのマスター性を表明する手段とを含む。 本発明の別の特質によれば、ディジタル信号プロセッサは、ディジタル信号回 路あを実施するコア・プロセッサと、このコア・プロセッサに相互に接続された 内部メモリと、外部バスにおける外部装置に相互接続するための外部ポートとを 含んでいる。前記コア・プロセッサは、内部メモリ空間とマルチプロセッサ・メ モリ空間とを含むグローバル・メモリ空間をアクセスするための手段を含む。デ ィジタル信号プロセッサは更に、プロセッサIDに応答してマルチプロセッサ・ メモリ空間の領域に、内部メモリを割当てる手段を含む。外部装置は、マルチプ ロセッサ・メモリ空間の割当て領域をアドレス指定することにより、内部メモリ をアクセスすることができる。 本発明の更なる特質によれば、ディジタル信号プロセッサは、ディジタル信号 計算を実施するコア・プロセッサと、ディジタル信号プロセッサに出入りする外 部アクセスを制御するI/Oプロセッサと、ディジタル信号計算のための命令お よびデータを記憶する第1および第2のメモリ・バンクと、コア・プロセッサと 第1および第2のメモリ・バンクとを相互接続する第1のバスおよび第2のバス とを含んでいる。第1のバスはまた、I/Oプロセッサと第1および第2のメモ リ・バンクとを相互接続する。ディジタル信号プロセッサは更に、クロック信号 に応答して第1のクロック・フェーズと第2のクロック・フェーズとを生成する クロック回路と、第2のクロック・フェーズの間第1のバスにおけるメモリ・バ ンクの1つにコア・プロセッサを接続し、かつ第1のクロック・フェーズの間第 1のバスにおけるメモリ・バンクの1つにI/Oプロセッサを接続する手段とを 含む。コア・プロセッサとI/Oプロセッサとは、1つのクロック・サイクルの 異なるクロック・フェーズにおける第1のバス上の第1および第2のメモリ・バ ンクをアクセスすることができる。 前記接続手段は更に、第2のクロック・フェーズの間、第2のバス上のメモリ ・バンクの他の1つにコア・プロセッサを接続する手段を含んでいる。結果とし て、コア・プロセッサは、第2のクロック・フェーズの間、第1および第2のメ モリ・バンクを同時にアクセスすることができる。 ディジタル信号プロセッサは更に、コア・プロセッサとI/Oプロセッサとを 相互接続する外部ポート・バスと、この外部ポート・バスを外部バスに相互接続 する外部ポート回路とを含む。この外部バスは、1つ以上の外部装置に対して相 互接続を提供する。I/Oプロセッサは、第1のクロック・フェーズの間、外部 ポート・バスと第1のバス上のメモリ・バンクとの間にデータを接続する手段を 含む。結果として、外部装置は、コア・プロセッサの動作と干渉することなくメ モリ・バンクをアクセスすることができる。 I/Oプロセッサは、データ通信ポートと、第1のクロック・フェーズの間、 データ通信ポートと第1のバス上のメモリ・バンクとの間にデータを接続する手 段とを含む。結果として、データ通信ポートは、コア・プロセッサの動作と干渉 することなくメモリ・バンクをアクセスすることができる。 本発明の別の特質によれば、ディジタル信号プロセッサは、コア・プロセッサ と、I/Oプロセッサと、第1および第2のメモリ・バンクと、前記コア・プロ セッサと第1および第2のメモリ・バンクとを相互接続する第1のバスおよび第 2のバスとを含んでいる。前記第1のバスはまた、I/Oプロセッサと第1およ び第2のメモリ・バンクとを相互接続する。ディジタル信号プロセッサは更に、 コア・プロセッサとI/Oプロセッサとを相互接続する外部ポート・バスと、外 部ポート・バスを外部バスに相互接続する外部ポート回路とを含む。外部バスは 、外部装置に対して相互接続を提供する。I/Oプロセッサは、第1のバスおよ び第2のバスにおける第1および第2のメモリ・バンクに対するコア・プロセッ サによるアクセスと干渉することなく、外部ポート・バスにおける外部装置と通 信することができる。 本発明の更に別の特質によれば、ディジタル信号プロセッサは、ディジタル信 号計算を実施するコア・プロセッサと、ディジタル信号計算のための命令および データを記憶するメモリと、コア・プロセッサおよびメモリを相互接続するメモ リ・バスと、外部バス上の外部DMA装置に接続するための外部ポートとを含ん でいる。このディジタル信号プロセッサは更に、外部ポートを介して外部DMA 装置とメモリ間のDMA転送を制御するためのDMAコントローラを含む。DM Aコントローラは、第1の状態と第2の状態間で外部DMA装置装置からDMA 要求信号の遷移に応答してDMA転送を開始する手段を含む制御手段と、第2の 状態における外部DMA装置により保持されるDMA要求信号に応答して、DM A転送を待機状態に置く手段と、第2の状態と第1の状態間のDMA要求信号の 遷移に応答してDMA転送を完了する手段とを含む制御手段を含む。 DMAコントローラは更に、外部DMA装置とメモリ間のDMA転送のため1 6ビットと32ビットのワードを32ビットと48ビットのワードのレジスタへ パックする手段を含む。DMAコントローラは更に、外部装置への転送のため3 2ビットおよび48ビットのワードから16ビットおよび32ビットのワードを アンパックする手段を含む。FIFOバッファは、外部ポートとメモリとの間に 接続されて、DMA転送中の処理能力を改善する。 DMAコントローラは更に、DMA要求信号に応答して、外部DMA装置へ供 給されるDMA許与信号を制御することにより、かつメモリ制御信号を外部メモ リへ供給することにより、外部DMA装置と外部メモリ間のDMA転送を制御す る外部制御手段を含む。 DMAコントローラは更に、DMA要求信号に応答して、外部DMA装置のレ ジスタを制御するためのDMA許与信号を生成する手段を含む。結果として、D MA転送は、ディジタル信号プロセッサの1つのクロック・サイクル内で完了す ることができる。 本発明の別の特質によれば、ディジタル信号プロセッサは、コア・プロセッサ と、メモリと、前記コア・プロセッサとメモリとを相互接続するメモリ・バスと 、外部バス上の第1の外部装置に接続するための外部ポートと、第2の外部装置 と通信するためのデータ通信ポートとを含む。ディジタル信号プロセッサは更に 、外部ポートとメモリ間のDMA転送を制御し、かつデータ通信ポートとメモリ 間 のDMA転送を制御するためのDMAコントローラを含む。DMAコントローラ は、複数のDMAアドレス・ジェネレータを含む。1つ以上のDMAアドレス・ ジェネレータが、外部ポートに選択的に割当て可能であり、1つ以上のDMAア ドレス・ジェネレータがデータ通信ポートに選択的に割当て可能である。DMA アドレス・ジェネレータは、DMA転送の間、メモリ・アドレスを生成する。 本発明の更に別の特質によれば、ディジタル信号プロセッサは、ディジタル信 号計算を実施するコア・プロセッサと、ディジタル信号計算のための命令および データの値を記憶するメモリと、前記コア・プロセッサとメモリを相互接続する メモリ・バスと、外部装置との通信のためのリンク・ポートと、このリンク・ポ ートとメモリとを相互接続する手段を含むI/Oプロセッサとを含んでいる。前 記リンク・ポートは、ビットのリンク・クロックとデータ・ワードを外部装置へ 伝送する手段を含み、このデータ・ワードは、nビットごとに一連のm/nニブ ルとしてデータ線上に伝送され、1つのニブルは各リンクのクロック・サイクル ごとに伝送され、データ・ワードの伝送中外部装置による確認信号の表明解除に 応答して、データ・ワードの伝送を完了する手段を含む。このため、前記確認こ とができるは、これがデータ・ワードの伝送中の任意の時点に表明解除できてさ え、ワード境界のみにおける伝送を制御する。 リンク・ポートは、データ・ワードの伝送中予め規定されたサンプリング時に 確認信号をサンプリングし、確認信号がサンプリング時に表明された状態にある ならば、次のデータ・ワードの伝送を開始する手段を含む。受信機におけるリン ク・バッファがその時のワードの終りに一杯になるならば、確認信号が表明解除 され、その時のワードの完了後に伝送が停止する。 本発明の別の特徴によれば、リンク・ポートは、リンク・クロックと確認信号 のみを用いて、予め構成されたプロトコルに従って外部装置に信号する手段を含 む。 リンク・ポートはまた、外部装置からリンク・クロックと、nビットごとの一 連のm/nニブルとしてデータ線上で受取られるmビットのデータ・ワードとを 受取る手段と、バッファが一杯である解き確認信号を表明解除する確認手段とを 含む。受取り手段は、データ・ワードの受取り中に確認信号が表明解除される時 、 外部装置から受取られたニブル数をカウントする手段と、受取られたニブル数が 予め規定された値と等しくない解きエラー信号を生成する手段とを含む。 望ましい実施形態において、ディジタル信号プロセッサは、外部装置との通信 のための複数のリンク・ポートを含む。外部装置は、他のディジタル信号プロセ ッサであり得る。各リンク・ポートは、送信あるいは受信するように構成するこ とができる。図面の簡単な説明 本発明を更によく理解するために、参考のため本文に援用される添付図面を参 照する。 図1は、本発明によるディジタル信号プロセッサのブロック図、 図2は、図1のI/Oプロセッサのブロック図、 図3は、ディジタル信号プロセッサのメモリ・マップを示し、 図4は、本発明のディジタル信号プロセッサを用いる1つのプロセッサ・シス テムのブロック図、 図5は、本発明のディジタル信号プロセッサを用いるマルチプロセッサ・シス テムのブロック図、 図6は、マルチプロセッサ・システムにおけるバス調停タイミング例を示すタ イミング図、 図7は、図2の内部DMAアドレス・ジェネレータのブロック図、 図8は、図2の外部DMAアドレス・ジェネレータのブロック図、 図9は、ディジタル信号プロセッサに関するDMA転送を実施するためのシス テムのブロック図、 図10および図11は、ディジタル信号プロセッサによるDMA転送のタイミ ングを示すタイミング図、 図12は、リンク・ポート・バッファとリンク・ポートとを示すブロック図、 および 図13は、リンク・ポート動作のタイミングを示すタイミング図である。 詳細な説明 本発明によるディジタル信号プロセッサ(DSP)10のブロック図が、図1 い示される。DSP10の主要構成要素は、コア・プロセッサ(core pr ocessor)12と、I/Oプロセッサ14と、メモリ16と、外部ポート 18とである。DSP10はまた、任意のキャッシュ・メモリ20をも含む。コ ア・プロセッサ12は、DSP10の主要な計算およびデータ処理機能を実施す る。I/Oプロセッサ14は、外部ポート18、1つ以上の直列ポート、および 1つ以上のリンク・ポートを介する外部通信を制御する。 DSP10は、1つのモノリシック集積回路として構成される。望ましい実施 形態においては、メモリ16は、それぞれ2メガビットの2つのバンクに構成さ れた4メガビットの容量を有する。他のバージョンでは、DSP10は、0.5 、1.0あるいは2.0メガビットを有し、あるいは4メガビットより多くを有 する。DSP10は、0.5ミクロンのゲート長さ、自己整合されたポリシリコ ン、および2層のメタライゼーションを持つバルクCMOSプロセスを用いて作 られることが望ましい。 メモリ16は、修正ハーバード・アーキテクチャ形態(modified H arvard architecture configuration)にお ける2つの8独立的な大容量メモリ・バンク28、30を含んでいる。 データ・メモリー(DM)・バス32が、コア・プロセッサ12と、I/Oプロ セッサ14と、メモリ16と、キャッシュ・メモリ20とを相互接続している。 プログラム・メモリ(PM)・バス34は、コア・プロセッサ12と、I/Oプ ロセッサ14と、メモリ16と、キャッシュ・メモリ20とを同様に相互接続し ている。外部ポート(EP)バス36は、コア・プロセッサ12と、I/Oプロ セッサ14と、キャッシュ・メモリ20と、外部ポート18とを相互接続してい る。外部ポート18は、外部バス38にEPバス36を接続している。高性能の ディジタル信号処理のためのDMバス32、PMバス34、およびEPバス36 の動作は、以下に詳細に論述する。図1に示されるように、バス32、34およ び36の各々は、データ・バスとアドレス・バスとを含む。このため、DMバス 32は、DMDバス40(データ)とDMAバス42(アドレス)とを含み、P Mバス34は、PMDバス44(データ)とPMAバス46(アドレス)とを含 み、EPバス36は、EPDバス48(データ)とEPAバス50(アドレス) とを含んでいる。各バスは、2進情報の並列転送のための多重線を含んでいる。 ディジタル信号プロセッサの一例では、DMDバス40が40の線を持ち、DM Aバス42は32の線を持ち、PDMバス44は48の線を持ち、PMAバス4 6は24の線を持ち、EPDバス48は48の線を持ち、EPAバス50は32 の線を持つ。 コア・プロセッサ12は、DMDバス40と、PMDバス44と、EPDバス 48とに接続されたデータ・レジスタ・ファイル56を含む。データ・レジスタ ・ファイル56は、並列に乗算器58と、バレル・シフタ(barrel sh ifter)60と、算術論理演算装置(ALU)62とに接続される。乗算器 58とバレル・シフタ60とALU62とは、全て、単一サイクル命令を実施す る。並列構成は、計算の処理能力を最大化する。1つの多重関数命令が、並列の ALUと乗算器の動作を実行する。計算装置が、IEEEの32ビットの単一精 度の浮動小数点、拡張精度の40ビット浮動小数点、および32ビットの固定点 のデータ・フォーマットをサポートする。データ・レジスタ・ファイル56は、 データを計算装置とデータ・バス間に転送し、中間結果を記憶するために使用さ れる。望ましい実施形態においては、レジスタ・ファイル56は32個のレジス タと、16個の一次側と16個の二次側を含む。 コア・プロセッサ12は更に、第1のデータ・アドレス・ジェネレータ(DA G1)66と、第2のデータ・アドレス・ジェネレータ(DAG2)68と、プ ログラム・シーケンサ70とを含む。バス接続マルチプレクサ72が、DMDバ ス40とPMDバス44とEPDバス48とから入力を受取り、バス・データを データ・アドレス・ジェネレータ66と68へ、およびプログラム・シーケンサ 70へ供給する。データ・アドレス・ジェネレータ66は、3状態(tri−s ate)装置74を介してDMAバス42へ、あるいは3状態装置75を介して EPAバス50へアドレスを供給する。データ・アドレス・ジェネレータ68は 、3状態装置76を介してPMAバス46へ、あるいは3状態装置77を介して EPAバス50へアドレスを供給する。プログラム・シーケンサ70は、3状態 (tri−state)装置78を介してPMAバス46へ、あるいは3状態装 置79を介してEPAバス50へアドレスを供給する。データ・アドレス・ジェ ネレ ータ66および68は、循環データ・バッファをハードウエアで実現する。循環 バッファは、ディジタル信号処理において要求される遅延線および他のデータ構 造の有効な実現を可能にし、ディジタル・フィルタおよびフーリエ変換において 一般に用いられる。データ・アドレス・ジェネレータ68および68は、32ま での循環バッファ(16の一次側レジスタ・セットと、16の二次側レジスタ・ セット)の生成を可能にするのに充分なレジスタを含む。データ・アドレス・ジ ェネレータは、アドレス・ポインタを循環状に取扱う。循環バッファは、任意の 記憶場所で開始し終了し得る。 コア・プロセッサ12は更に、プログラム・シーケンサ70に接続された命令 キャッシュ82を含む。PMDバス44およびEPDバス48に接続されたマル チプレクサ84は、命令を命令キャッシュ82とプログラム・シーケンサ70と へ供給する。命令キャッシュ82は、1つの命令と2つのデータ値とをフェッチ するため3つのバス動作を可能にする。命令キャッシュ82は、フェッチがPM Dバス44のデータ・アクセスと衝突する命令のみがキャッシュされる点におい て選択的である。このことは、ディジタル・フィルタの乗算の累積およびFFT のバタフライ処理(butterfly processing)の如きコアの ループ動作の全速実行を可能にする。コア・プロセッサ12は更に、プログラム ・シーケンサ70に接続された内部タイマ80を含む。任意のキャッシュ・メモ リ20は、命令のフェッチのためプログラム・シーケンサ70に接続される。 DSP10は、DMバス32がデータを転送しPMバス34が命令とデータの 両方を転送する強化ハーバード・アーキテクチャを使用する。別個のプログラム およびデータ・メモリ・バスと、オンチップ命令キャッシュ82を用いて、コア ・プロセッサ12は、(メモリ・バンク28と30から)2つのオペランドと、 (キャッシュ82から)1つの命令とを同時に、全て1回のサイクルにおいてフ ェッチすることができる。コア・プロセッサ12のアーキテクチャは、Anal og Devices,Inc.社製で発売のADSP−21020およびAD SP−21010ディジタル信号プロセッサにおけるコア・プロセッサのアーキ テクチャに基いている。 メモリ16は、それぞれが2メガビットを持つメモリ・バンク28、30とし て構成されるスタティック・ランダム・アクセス・メモリ(SRAM)の4メガ ビットを含むことが望ましい。メモリ・バンク28および30は、プログラムと データの記憶の異なる組合わせのため構成することができる。以下に述べるよう に、各バンクは、コア・プロセッサ12とI/Oプロセッサ14とによる1サイ クルの独立的なアクセスのためデュアル・ポートが有効に備えられる。マルチプ レクサ86は、メモリ・バンク28をDMバス32またはPMバス34へ選択的 に接続する。マルチプレクサ88は、メモリ・バンク30をDMバス32または PMバス34に選択的に接続する。時間多重化バス動作およびメモリのアクセス を行うため異なるクロック・フェーズに関するマルチプレクサ86および88の 制御については、以下に述べる。デュアル・ポート・メモリーおよび別個のオン チップ・バス32、34は、コア・プロセッサ12からの2つのデータ転送とI /Oプロセッサ14からの1つのデータ転送とを、全て1回のサイクルで可能に する。メモリ16は、32ビット・データの128Kワード、16ビット・デー タの256Kワード、48ビット命令(および40ビット・データ)の80Kワ ードの最大値、あるいは4メガビットまでの異なるワード・サイズの組合わせと して構成することができる。メモリは、16ビット、32ビット、あるいは48 ビットの広いとしてアクセスすることができる。メモリ・アレイにおいて可変長 ワードをアクセスするための手法は、参考のため本文に援用される1993年6 月28日出願の係属中の米国特許出願第08/083,619号に開示されてい る。DSPの大きなオンチップ・メモリの容量は、外部バスにおける通信量を著 しく低減するという利点を有し、これによりマルチプロセッサ・システムにおけ るDSPの使用を容易化する。代替的な実施の形態において、DSP10は、2 つ以上のメモリ・バンクを持つことができる。 メモリ・バンク28および30の各々は命令とデータの組み合わせを記憶する ことができるが、オンチップ・メモリのアクセスは、転送のためDMバス32を 用いて1つのブロックがデータを記憶し、かつ転送のためPMバス34を用いて 他のブロックが命令とデータを記憶する時に、最も有効である。1つのバスを各 メモリ・ブロックに専用化してDMバス32とPMバス34をこのように用いる ことは、2つのデータ転送で1つのサイクル実行を確実にする。この場合、命令 は命令キャッシュ82で得られなければならない。1サイクルの実行はまた、デ ータ・オペランドの1つが外部ポート18を介して外部装置に関して出入りさせ られる時にも維持される。外部ポート18は、オフチップ・メモリおよび周辺装 置に対するDSP10のためのインターフェースを提供する。4ギガワードの外 側アドレス空間が、以下に述べるように、DSP10のグローバル・アドレス空 間に含まれる。 外部ポート18は、EPバス36と外部バス38間に接続されたFIFOバッ ファ90を含む。FIFOバッファ90は、DSP10に対する入力動作のため に使用され、特にDSPがバス・スレーブ(bus slave)である時書込 み動作中に使用される。FIFOバッファ90は、非同期動作のための4つの階 層形態と、同期動作のための2つの階層形態とを持つ。EPバス36と外部バス 38間に接続されたバッファ92は、DSP10から外部バスに対する出力動作 のために用いられる。望ましい実施形態においては、EPDバスは48のデータ 線と32のアドレス線とを有する。 I/Oプロセッサ14のブロック図が図2に示される。DMAコントローラ1 00が、外部ポート回路102と外部ポート18とを介してメモリ16と外部メ モリ、外部周辺装置、あるいはホスト・プロセッサ間のDMA転送を制御する。 100はまた、直列ポート106またはリンク・ポート107を介してメモリ1 6間のDMA転送を制御する。外部ポート回路102は、外部ポート18を介し てDMA転送のためのFIFOバッファ110を含む回路を含んでいる。直列ポ ート回路104は、1つ以上の同期直列ポート105を介して通信するためのF IFOバッファ112を含む回路を含んでいる。リンク・ポート回路106は、 1つ以上の4ビット・リンク・ポート107を介するデータの転送のための、F IFOバッファ114を含む回路を含んでいる。FIFOバッファ110、11 2、114の各々は、EPDバス48とPDMバス44との間に接続される。バ ッファ116はまた、EPDバス48とPDMバス44との間に、これらバス間 の転送のため接続されている。I/Oプロセッサは更に、EPDバス48とPD Mバス44との間に接続された直接書込みFIFO118を含んでいる。 I/Oプロセッサ14は、1組のメモリ・マップされた制御レジスタおよびデ ータ・レジスタであるIOPレジスタ124を含んでいる。IOPレジスタ12 4は、DMA、直列ポートおよびリンク・ポートを含む、システム・レベルの諸 機能を構成するための情報、内部メモリ・ワード幅およびI/O動作を含む。I OPレジスタ124は、メモリにおける適切なアドレスに書込むことによりプロ グラムされる。メモリ・マップされたIOPレジスタは、別のDSPかあるいは ホスト・プロセッサのいずれかであるバス・マスタである外部装置によってアク セスすることができる。これは、例えば、コア・プロセッサによる介入なしに、 外部装置がDSP10の内部メモリへDMA転送をセットアップすることを可能 にする。 マルチプレクサ128は、局所CMDバス130に接続するため、DMDバス 40、PDMバス44あるいはEPDバス48を選択する。マルチプレクサ13 2は、局所CMAバス134に接続するため、DMAバス42、PMAバス46 あるいはEPAバス50を選択する。CMDバス130およびCMAバス134 は、コア・プロセッサからかあるいはホストからの全てのレジスタを読出し書込 むためにI/Oプロセッサ14の内部で使用される。図2に示されるように、C MDバス130およびCMAバス134は、DMAコントローラ100、外部ポ ート回路102、直列ポート回路104、リンク・ポート回路106および10 Pレジスタ124に接続されている。 図1に示され先に述べたDSP10の構成は、高性能のディジタル信号処理を 可能にする。メモリ16は、異なるクロック・フェーズにおける個々のメモリ・ アクセスを可能にするように、パイプラインド・メモリとして構成される。DS P10は、典型的には40MHzの周波数を持つ入力クロック信号CLKINを 受取り、第1のクロック・フェーズφ1および第2のクロック・フェーズφ2を出 力する。これにより、各クロック・サイクルは2つのフェーズに分けられる。あ るいはまた、クロック回路は、例えば、タップされた遅延線を用いて、2つ以上 のクロック・フェーズを生成することができる。マルチプレクサ86、88は、 異なるアドレス・バスとデータ・バスが各クロック・フェーズごとに選択できる ように、クロック・フェーズによって制御される。このため、例えば、マルチプ レクサ86は、第1のクロック・フェーズの間メモリ・バンク28へ接続するた めPMバス34を選択し、また第2のクロック・フェーズの間はメモリ・バンク 28へ接続するためDMバス32を選択する。このことは、1つのクロック・サ イクルの間にメモリ・バンク28に対する2つの別個の独立的なアクセスを可能 にする。マルチプレクサ88およびメモリ・バンク30は、同じように動作する 。パイプラインド・メモリの構造および動作については、参考のため本文に援用 される1994年3月22日出願の係属中の米国特許出願第08/215,50 8号に記載されている。 更に本発明によれば、PMバス34は、コア・プロセッサ12およびI/Oプ ロセッサ14によるメモリ16に対する独立的かつ同時のアクセスを可能にする ように時分割される。特に、コア・プロセッサは、各クロック・サイクルの2番 目のクロック・フェーズの間PMバス34におけるメモリ16をアクセスし、I /Oプロセッサ14は、各クロック・サイクルの最初のクロック・フェーズの間 にPMバス34におけるメモリ16をアクセスする。読出しまたは書込みは、1 サイクル早く供給されたアドレスに対応していること、即ち、アクセスがパイプ ライン化されていることに注目されたい。2番目のクロック・フェーズの間、コ ア・プロセッサ12は、DMバス32とPMバス34を制御し、I/Oプロセッ サ14のこれらのバスに対する接続が3状態である。最初のクロック・フェーズ の間、I/Oプロセッサ14は、PMバス34を制御し、このバスに対するコア ・プロセッサ12の接続は3状態である。例えば、データ・アドレス・ジェネレ ータ66は、DMAバス42にアドレスを提供し、データ・アドレス・ジェネレ ータ68またはプログラム・シーケンサ70は、同時にDMAバス46に第2の アドレスを提供する。2番目のクロック・フェーズの間、マルチプレクサ86は 、データ・アドレス・ジェネレータ66により指定されるメモリ・バンク28に おける場所をアクセスするためDMAバス42を選択する。同じ2番目のクロッ ク・フェーズの間、マルチプレクサ88は、データ・アドレス・ジェネレータ6 8またはプログラム・シーケンサ70により指定されるメモリ・バンク30にお ける場所をアクセスするためPMAバス46を選択する。このように、コア・プ ロセッサ12は、2番目のクロック・フェースの間、メモリ・バンク28とメモ リ・バンク30における場所を同時にアクセスする。最初のクロック・フェーズ の間、 I/Oプロセッサ14は、メモリ・バンク28またはメモリ・バンク30のいず れかをアクセスするためPMAバス46にアドレスを提供する。適切なマルチプ レクサ86または88が、I/Oプロセッサ14が所望の記憶場所をアクセスし て前のサイクルにおいてアクセスされた場所を読出しあるいは書込むように、P Mバス34を選択する。最初のクロック・フェーズの間、I/Oプロセッサ14 によるメモリ16へのアクセスは、外部ポート18、リンク・ポート106ある いは4ビット・リンク・ポート107を介するDMA転送の一部である。従って 、コア・プロセッサ12は、2番目のクロック・フェーズの間メモリ16をアク セスし、I/Oプロセッサ14は、最初のクロック・フェーズの間メモリ16を アクセスし、共に時間多重化されたPMバス34を介する。このように、コア・ プロセッサ12およびI/Oプロセッサ14は、独立的かつ干渉なしにメモリ1 6をアクセスすることができる。このことは、例えば、I/Oプロセッサ14が メモリ16に関して出入りするDMA転送を制御する間、コア・プロセッサ12 が計算を行うことを許容する。DMバス32およびPMバス34におけるコア・ プロセッサ12およびI/Oプロセッサ14によるメモリ・アクセス動作が、下 表Iに要約されている。 EPバス36は、先に述べた如きメモリ・アクセス動作に用いられるクロック ・フェーズ(clock phase)に関して位相がずれている最初のEPク ロック・フェーズおよび2番目のEPクロック・フェーズと呼ばれるクロック・ フェーズで動作する。例えば、タップされた遅延線によって多重クロック・フェ ーズを生成することができる。外部メモリからの読出しにおいては、読出しアド レスは、最初のEPクロック・サイクルの間にEPAバス50に置かれ、読出し デー タは、次のEPクロック・サイクルの2番目のEPクロック・フェーズの間EP Dバス48において得られる。外部メモリに対する書込みにおいては、書込みア ドレスは、最初のEPクロック・サイクルの間EPAバス50に置かれ、データ は、次のEPクロック・サイクルの2番目のクロック・フェーズの間EPDバス 48へ書込まれる。 EPバス36は、DSP10の性能における更なる利点を提供する。先に述べ たように、EPバス36は、コア・プロセッサ12とI/Oプロセッサ14とに 接続されている。外部装置は、DMバス32またはPMバス34に対して影響を 及ぼすことなく、EPバス36を介してI/Oプロセッサ14と通信することが できる。更にまた、外部装置は、先に述べたように、(最初のクロック・サイク ルの間)コア・プロセッサ12の動作に干渉することなく、EPバス、I/Oプ ロセッサ14およびPMバス34を介してDMAをメモリ16に出入り転送を行 うことができる。更に、コア・プロセッサ12は、EPバス36を介して、外部 メモリ、ホスト・プロセッサまたはマルチプロセッサ構成における他のDSPの 如き外部装置をアクセスすることができる。一般に、EPバス36は、外部装置 との通信を可能にし、外部通信のためこれらのバスが使用される構成と比較して 、DMバス32およびPMバス34における通信量を低減する。更に、DSP1 0がキャッシュ・メモリ20を含む時、EPバス36は、1クロック・サイクル において3回のメモリ・アクセス動作(1つの命令と2つのオペランド)を行う ため、DMバス32およびPMバス34と関連して使用することができる。最後 に、外部装置が、コア・プロセッサ12の動作と干渉することなく、外部ポート 18およびEPバス36を介してI/Oプロセッサ14の資源をアクセスするこ とができる。代替的な実施の形態においては、DSP10は、1つ以上の外部ポ ートおよび1つ以上のEPバスを含むことができる。 独立的なPMバスおよびDMバスは、コア・プロセッサ12が両方のメモリ・ ブロック28および30から命令およびデータを同時にアクセスすることを許容 する。コア・プロセッサが1つの命令に対して同じメモリ・ブロックから2つの ワードをアクセスしようとするならば、余分なサイクルが必要とされる。PMバ ス34上あるいは命令キャッシュ82から命令が取出される。データは、データ ・ アドレス・ジェネレータ66を用いてDMバス32、およびデータ・アドレス・ ジェネレータ68を用いてPMバス34の両方においてアクセスすることができ る。メモリ・ブロック28および30は、48ビットの命令ワードと32ビット のデータ・ワードの異なる組合わせを記憶するように構成することができる。最 大効率、即ち、2つのデータ命令の1サイクル実行は、1つのメモリ・ブロック が命令とデータの混合を含むが他のメモリ・ブロックがデータのみを含む時に行 われる。このことは、2つのデータ・アクセスを要求する命令に対しては、混合 したメモリ・ブロックからデータをアクセスするためにPMバス34が用いられ 、DMバス32はデータのみのブロックからデータをアクセスするために用いら れ、命令が命令キャッシュ82から得られることを意味する。1サイクルの2デ ータ命令を実現する別の方法は、外部メモリいデータ・オペランドの1つを記憶 することである。他のオペランドは、どれかのオンチップ・メモリ・ブロックに 記憶することができる。 ディジタル・フィルタおよびFFTの如き典型的なDSP用途においては、2 つのデータ・オペランドが幾つかの命令に対してアクセスされねばならない。例 えばディジタル・フィルタにおいては、フィルタ係数は、48ビット命令を含む 同じメモリ・ブロックの32ビット・ワードに記憶することができるが、32ビ ットのデータ・サンプルは、他のメモリ・ブロックに記憶される。これは、2デ ータ命令の1サイクル実行を提供し、フィルタ係数はPMバス34におけるデー タ・アドレス・ジェネレータ68によってアクセスされ、命令は命令キャッシュ 82から得られる。 48ビットのPMDバス44は、命令(およびデータ)を転送するために使用 され、40ビットのDMDバス40は、データの転送に使用される。PMDバス 44は、48ビットの命令を収容するため48ビット幅であることが望ましい。 このバスが32ビットの浮動小数点データまたは32ビットの固定小数点データ を転送するために用いられる時、データはバスの上位32ビットに割当てられる 。 40ビットのDMDバス40は、他のレジスタまたは他の任意の外部記憶場所 へ1サイクルで送られるべきプロセッサにおける任意のレジスタの内容に対する 経路を提供する。データ・アドレスは、2つのソース、即ち、命令において指定 される絶対値(直接アドレス指定)あるいはデータ・アドレス・ジェネレータの 出力(間接アドレス指定)の1つからのものである。32ビットの固定小数点デ ータおよび32ビットの単精度浮動小数点データもまた、DMDバス40の上位 の32ビットに整合される。 通常、コア・プロセッサ12は、PDMバス44において命令をフェッチする 。しかし、プロセッサがPMバスで読出されあるいは書込まれるべきデータを要 求する2データ命令を実行する時、PDMバス44の使用に衝突が生じる。オン チップ命令キャッシュ82は、命令が初めて実行されるキャッシュに記憶された 後この命令を提供することによって、この衝突を解消することができる。この命 令を提供することにより、キャッシュ82がコア・プロセッサ12にPMバス3 4上のデータをアクセスさせる。コア・プロセッサは、メモリからではなくこの キャッシュ82から命令をフェッチし、その結果プロセッサはPMバスにデータ を同時に転送することができることになる。PMバスのデータ・アクセスとの衝 突を排除する命令のみがキャッシュされる。パイプライン動作のゆえに、衝突を 生じたサイクルの2サイクル前の命令が、キャッシュ82に記憶される。命令キ ャッシュ82は、取出されるべき命令が既にキャッシュされる時は常に余分なサ イクルなしに、データがPMバス34でアクセスされることを許容する。命令お よびデータが異なるメモリ・ブロックにあっても、余分なサイクルがキャッシュ ・ミスの場合に生じることになる。 DSP10のメモリ・マップが図3に示される。このメモリ・マップは、3つ の部分、即ち、内部メモリー空間150、マルチプロセッサ・メモリー空間15 2および外部メモリ空間154に分けられる。内部メモリー空間150は、DS P10のオンチップ・メモリと資源(resource)とを含んでいる。マル チプロセッサ・メモリー空間152は、マルチプロセッサ・システムにおける他 のDSPのオンチップ・メモリと資源とに対応している。外部メモリ空間(ex ternal memory space)154は、オフチップ・メモリとメ モリ・マップされたI/O装置に対応している。 先に述べたように、DMバス・アドレスは32ビットを持ち、PMバス・アド レスは24ビットを持つ。各アドレスは、Eフィールド(DMバス・アドレスの ビット31〜31、およびPMバス・アドレスのビット21〜23)と、Mフィ ールド(ビット18〜20)、およびSフィールド(ビット16〜17)を含む 。I/Oプロセッサ14は、全てのメモリ・アクセスのアドレスを監視し、これ らアドレスを適切なメモリ空間へ送る。Eフィールド(外部)、Mフィールド( 多重処理)およびSフィールドが、下表IIに示されるように、I/Oプロセッサ によって復号される。Eフィールドが全てゼロであるならば、Mフィールドおよ びSフィールドはアクティブ状態となり、復号される。 内部メモリ空間150は、3つの領域、即ち、I/Oプロセッサ・レジスタ、 正常ワード・アドレス(normal word address)および短ワ ード・アドレス(short word address)を有する。I/Oプ ロセッサ(IOP)レジスタは、DSPのシステム構成ならびに種々のI/O動 作を制御する256のメモリ・マップされたレジスタを含んでいる。正常ワード ・アドレス指定は、32ビット・ワードまたは48ビット・ワードの読出しおよ び書込みのため使用される。全ての命令がフェッチし、32ビット・データまた は40ビット・データの読出し/書込みが、正常ワード・アドレスで行われる。 16ビット・データの読出し/書込みは、短ワード・アドレス(short w ord address)で行われる。 マルチプロセッサ・メモリ空間152は、マルチプロセッサ・システムにおけ る他のDSPの内部メモリにマップする。これは、各DSPが内部メモリと、他 のDSPのメモリ・マップされたIOPレジスタとをアクセスすることを許容す る。このため、マルチプロセッサ・システムにおける他のDSPにより、各DS PのI/Oプロセッサの資源をアクセスすることができる。マルチプロセッサ・ メモリ空間152は、各プロセッサIDに対応する領域156、157などと、 同報書込み領域(broadcast write region)159とを 含む。アドレスのEフィールドはゼロであり、Mフィールドは非ゼロである時、 アドレスはマルチプロセッサ・メモリ空間152内に該当する。Mの値は、アク セスされつつある外部DSPのプロセッサIDを指し、このプロセッサのみが読 出し/書込みサイクルに応答することになる。しかし、M=111ならば、全て のプロセッサに対して同報書込みが行われる。プロセッサの全てが、あたかもそ の個々のIDが使用されていたかのようにこのアドレスに応動し、これにより各 内部メモリへの書込みを可能にする。 外部メモリは、外部ポート18を介してコア・プロセッサ12およびI/Oプ ロセッサ14によってアクセスすることができる。データ・アドレス・ジェネレ ータ66およびI/Oプロセッサ14は、32ビット・アドレスを生成して、4 ギガワード・メモリ・マップ全てのアドレス指定を許容する。プログラム・シー ケンサ70およびデータ・アドレス・ジェネレータ68は、24ビット・アドレ スを生成して、外部メモリからの下位の12メガワードに対するアドレス指定を 制限する。外部メモリは、等しいサイズの4つのバンクに分けることができる。 DSPが4つのバンクの1つ以内におかれるアドレスを生成する時は常に、対応 するメモリ選択線MS3 〜0が表明される。このメモリ選択線は、メモリまたは他 の外部装置に対するチップ選択として用いることができ、外部復号ロジックに対 する必要を無くす。メモリ・バンクのサイズは、8Kワードないし256メガワ ードの範囲におよぶことができる。 DSP10を用いる1つのプロセッサ・システムが図4に示される。クロック 160はクロック信号、CLKINMをDSP10へ供給する。外部バス162 は、DSP10の外部ポート18(図1)に接続された外部データ・バス166 と外部アドレス・バス164とを含む。制御バス168は、外部装置を制御しか つこれと通信するための制御線を含む。クロック160を除いて、DSP10に 接続される図4に示された装置が所望のシステム構成に応じて任意であることが 理解されよう。メモリおよび周辺装置170、DMA装置172およびホスト・ プロセッサ・インターフェース174は、任意に外部バス162に接続される。 DSP10は、ブート(boot)PROM176、ホスト・プロセッサあるい はリンク・ポートの1つからのシステム・パワーアップでブート(boot)す ることができる。望ましい実施形態においては、DSP10は、任意の直列装置 178、180との同期した直列通信のための2つの直列ポートを含む。更に、 DSP10の望ましい実施形態は、任意の外部リンク装置182との高速通信の ための6つのリンク・ポートを含む。 DSP10を用いるマルチプロセッサ・システムが図5に示される。このマル チプロセッサ・システムは、外部データ・バス206、外部アドレス・バス20 8および外部制御バス210により相互接続されたDSP200、202および 204を含む。データ・バス206およびアドレス・バス208は、各DSPの 外部ポート18(図1)に接続されている。制御バスは、メモリ読出しストロー ブRD、メモリ書込みストローブWR、メモリ確認ACK、メモリ選択線MS3 〜0 、DRAMページ境界PAGE、中断バス3状態SBTS、同期書込み選択 SW、アドレス・クロックADRCLK、チップ選択CS、ホスト・バス要求H B R、ホスト・バス許与HBG、およびホスト・バス確認REDYを含んでいる。 DSP200、202、204の各々は、クロック212からクロック信号CL KINを受取る。DSP200、202、204の各々はまた、プロセッサ・リ セット信号RESET、回転優先権バス調停選択信号RPBA、マルチプロセッ サID、ID2 〜0、およびマルチプロセッサ・バス要求信号BR6 〜1を受取る。 図5のマルチプロセッサ・システムにおいては、幾つかのDSPが外部バスを 共有し、DSPの一方はバス・マスタとして示される。このバス・マスタは、デ ータ・バス206、アドレス・バス208および関連する制御線の制御を行う。 DSPの各々は、オンチップ・バス優先権および調停回路220(図1)を含む 。このため、多重DSPは、付加的な調停回路なしで外部バスを共有することが できる。バス優先権および調停回路220は、バス要求信号BR1〜BR6、ホス ト・バス要求信号HBRおよびホスト・バス許与信号HBGの使用によってバス の調停を行う。各DSPは、ID入力の値により決定される如きそれ自体のバス 要求線を駆動するのみで、他の全てを監視する。バス要求線BR1〜BR6は、多 重DSP間を調停し、ホスト・バス要求線およびホスト・バス許与線は、DSP バス・マスタとホスト間の外部バスの制御を通過させる。バス調停のための優先 権方式は、回転優先権バス調停選択線RPBAの状態によって決定される。RP BA線がハイである時、マルチプロセッサのバス調停のための回転する優先順位 が選択される。RPBA線がローである時は、固定された優先順位が選択される 。ID2 〜0入力が、マルチプロセッサ・システムにおける各DSPに対する一義 的な識別を提供する。最初のDSPはID=001が割当てられ、2番目はID =010が割当てられる、などである。図5の実施の形態においては、各DSP に対するプロセッサIDはハードワイヤド入力である。代替的な実施の形態にお いては、プロセッサIDはレジスタに記憶され、ソフトウエア制御下にある。 各DSPは、そのプロセッサIDに対応するバス要求BRx線(xはバス要求 線番号を表わす)を駆動して、他の全ては監視することが望ましい。代替的な実 施の形態においては、DSPは、ハードワイヤドされあるいはソフトウエア制御 下にある別個のバス要求IDによって識別されるバス要求を駆動する。スレーブ DSPの1つがバス・マスタになる必要がある時、これは、サイクルの初めにそ のバス要求BRx線を表明することによりバス調停プロセスを自動的に開始する 。同じサイクルの後半で、このDSPは他のBRx線の値をサンプルする。バス のマスタ性(mastership)が1つのDSPから他のDSPへ送られる サイクルは、バス遷移サイクル(bus transition)と呼ばれる。 その時のバス・マスタのBRx線が表明解除(宣言解除、deassert)さ れスレーブの1つのBRx線が表明(宣言、assert)されると、バス遷移 サイクルが生じる。バス・マスタは、そのBRx線を表明された状態に保持する ことによりバス・マスタ性を保持することができる。バス・マスタは、BRx線 を表明解除する時いつもバス・マスタ性を失わうわけではない。同時に、別のB Rx線がスレーブの1つによって表明されねばならない。この場合、バス・マス タは、どのバス・サイクルも失わうことがない。BRx線の全てを観察すること により、各DSPは、バス遷移サイクルが生じる時を検出し、どのDSPが新た なバス・マスタになったかを検出することができる。バス遷移サイクルは、バス ・マスタ性が移転される時のみである。 バス遷移サイクルが生じることが判定されると、このサイクル内で表明された 各BRx線の優先順位が各DSPにおいて評価される。最も高い優先順位要求を 持つDSPが次のサイクルでバス・マスタとなり、全てのDSPがその時のバス ・マスタのそれらの内部記録を更新する。バス・マスタ性の実際の移転は、バス 遷移サイクルの終りに、データ・バス166、アドレス・バス168および制御 信号ADRCLK、RD、WR、MS3 〜0、PAGE、HBGおよびDMAG( 1:0)を含む、その時のバス・マスタの3状態にある外部バスによって行われ 、新たなバス・マスタが次のサイクルの初めにこれらの線を駆動する。 オフチップ読出し/書込み命令の実行は、バス・マスタ性の移転中は遅延され る。スレーブDSPの1つが例えばオフチップ読出し/書込みを行うことを必要 とする時、このDSPが、そのBRx線を表明することによりバス調停プロセス を自動的に開始する。この読出し/書込みは、前記DSPがバス・マスタ性を受 取るまで遅延される。読出しまたは書込みがコア・プロセッサによって生成され たならば、この命令が完了するまでプログラムの実行は停止する。 次のステップは、外部バス上でオフチップ読出し/書込みを行うためスレーブ DSPがとる動作を要約する。即ち、(1)スレーブDSPが、オフチップ・ア クセスを要求する命令を実行中であることを決定する。このDSPは、そのBRx 線をこのサイクルの初めに表明する。スレーブDSPがバス・マスタ性を取得 するまで、コア・プロセッサまたはDMAコントローラによって余分なサイクル が生成される。(2)バス・マスタ性を取得するには、スレーブDSPは、その 時のバス・マスタがそれを表明解除するバス遷移サイクルを待機する。スレーブ がバス遷移サイクルにおける最高の優先順位の要求を持つならば、このDSPは 次のサイクルにおいてバス・マスタとなる。もしそうでなければ、このDSPは 待機し続ける。(3)バス遷移サイクルの終りに、その時のバス・マスタがバス を解放し、新たなバス・マスタがバスの駆動を開始する。バス調停タイミングの 事例が図6に示される。 競合するバス要求を解消するため、2つの異なる優先順位方式、即ち、固定方 式と回転方式が可能である。RPBA線が、どの優先順位方式が用いられるかを 選択する。固定優先順位方式においては、競合するバス要求間で最低のID番号 を持つDSPがバス・マスタとなる。回転優先順位方式は、各DSPに対して略 々等しい優先順位を与える。回転優先順位が選択されると、バス・マスタ性の各 移転後に各プロセッサの優先順位が再割当てされる。最高の優先順位は、プロセ ッサが円形に配置されていたとすると、プロセッサからプロセッサへ回される。 その時のバス・マスタから1つ下位のDSPが、最高の優先順位を受けるもので ある。いずれのバス調停優先順位方式においても、バス・マスタ性のタイムアウ トが用いられる。これは、指定されたサイクル数後に、バス・マスタに強制的に そのBRx線を表明解除させて、他のDSPにバス・マスタ性を取得する機会を 与える。 図5のマルチプロセッサ・システムにおいては、各DSPがそれぞれ別のDS Pの内部メモリとIOPレジスタをアクセスすることができる。マスタDSPは 、単にマルチプロセッサのメモリ空間における適切なアドレスに読出しあるいは 書込みを行うだけで、スレーブDSPの内部メモリとIOPレジスタをアクセス することができる。各スレーブDSPは、外部バスで駆動されるアドレスを監視 して、マルチプロセッサのメモリ空間のその領域内に該当する任意のアドレスに 応 答する。 DSPの内部メモリの外部から生成されるアクセスは、直接読出しおよび直接 書込みと呼ばれる。これらのアクセスは、これらがDMバス32の2番目のクロ ック・フェーズの間I/Oプロセッサ14を介して外部ポート18により行われ るので、コア・プロセッサには見えない。このことは、コア・プロセッサがプロ グラム実行を途切れる事なく続けることを可能にするゆえに、重要な特徴である 。 スレーブDSPに対する直接書込みが生じると、アドレスとデータがスレーブ のI/Oプロセッサによってオンチップでラッチされる。I/Oプロセッサは、 6レベルの直接書込みFIFOバッファ118(図2)においてアドレスとデー タをバッファする。FIFOバッファ118が一杯である時に付加的な直接書込 みが試みられるならば、バッファが一杯でなくなるまで、スレーブDSPはその 確認線ACKを表明解除する。従って、1つの直接書込みが遅延される前に、6 つまでの直接書込みを行うことができる。 スレーブDSPの直接読出しが生じると、I/Oプロセッサによりアドレスが オンチップでラッチされ、確認線ACKが表明解除される。メモリにおける対応 場所が内部で読出されると、スレーブがデータをオフチップで駆動し、その確認 線ACKを表明する。直接読出しはパイプライン化されない。 同報書込みは、マルチプロセッサ・システムにおける全てのDSPに対する同 時のデータ伝送を許容する。マスタDSPが、全てのスレーブDSPにおける同 じ記憶場所またはIOPレジスタへの同報書込みを行う。 メモリ直接アクセス(DMA)は、メモリと外部データ・ソースまたは他のメ モリとの間にデータを移動する負担からコア・プロセッサ12を解放する。オン チップDMAコントローラ100(図2)が、DMAコントローラ100がコア ・プロセッサ12から独立的に動作を実施する間、コア・プロセッサ12または 外部装置がデータ転送動作および通常の処理への戻りを指定することを許容する 。 図2に示されるように、DMAコントローラ100は、10個の内部DMAア ドレス・ジェネレータ250と4個の外部DMAアドレス・ジェネレータ252 とを含む。アドレス・ジェネレータ250および252は、局所CMDバス13 0と局所CMAバス134とに接続される。内部DMAアドレス・ジェネレータ 250はPMAバス46に接続され、外部DMAアドレス・ジェネレータ252 はEPAバス50に接続される。内部DMAプライアライザ(優先順位付け装置 、prioritizer))254は、内部DMAアドレス・ジェネレータ2 50に対する優先順位を制御し、外部DMAプライアライザ256は、外部DM Aアドレス・ジェネレータ252に対する優先順位を制御する。 DMAコントローラ100は、2つのタイプの動作、即ち、ブロック・データ 転送とI/O自動バッファ動作とを実施する。ブロック・データ転送は、内部メ モリと外部メモリ間に生じる。DMAコントローラは、バッファ・サイズおよび アドレスと、アドレス増分と、転送方向でプログラムされる。プログラミングが 完了した後、DMA転送は自動的に開始し、バッファ全体が転送されるまで可能 なかぎり継続する。 I/Oの自動バッファ動作を行う時、同じタイプのバッファが内部メモリにお いてセットアップされるが、外部メモリをアクセスする代わりに、DMAコント ローラ100が外部ポート回路102におけるバッファ110をアクセスする。 データ転送の方向は、外部ポートの方向によって決定される。データが外部ポー ト回路102で受取られる時、このデータは内部メモリへ自動的に転送される。 外部ポート回路102がワードを伝送する必要がある時、このワードは内部メモ リから自動的にフェッチされる。 DMA動作は、コア・プロセッサ12により、あるいはDMAコントローラに おけるDMAレジスタへ書込むことにより動作ホスト・プロセッサによってプロ グラムすることができる。10個までの異なるDMAチャンネルをいつでもプロ グラムすることができる。 DMAシステム・アーキテクチャは、PMバス34の最初のクロック・フェー ズの間DMA伝送に基く。直列ポート、リンク・ポートおよび外部ポートは、最 初のクロック・フェーズの間PDMバス44を介して内部メモリ16に接続され 、DMAコントローラは、最初のクロック・フェーズの間PMAバス46に内部 メモリ・アドレスを生成する。DMAコントローラ100は、DSPに関して出 入りする(flow to and from)データ・フローの主要コントロ ーラである。 DMAコントローラ100は、外部ポート、リンク・ポートおよび直列ポート により使用される10個の内部アドレス・ジェネレータ250に対応する10個 のDMAチャンネルを含むことが望ましい。各DMAチャンネルは、内部メモリ におけるバッファを実現する1組のレジスタを含み、DMAサービスを要求する にはハードウエアが要求される。データを転送するため、DMAコントローラ1 00は、要求がサービスされる時内部要求を受入れて内部許与を送り返す。DM Aコントローラ100は、任意のサイクルにおいてどのチャンネルがDMバス3 2を駆動できるかを判定するためプライアライザ254、256を含む。DMA 転送は、アクセスが先に述べたように異なるクロック・フェーズで生じるので、 内部メモリ・アクセスのためコア・プロセッサ12と衝突することはない。 内部DMAアドレス・ジェネレータ250のアーキテクチャが、図7に示され る。各々の内部DMAアドレス・ジェネレータは、内部メモリにバッファを実現 する内部指標レジスタ260および指標修正レジスタ262を含む。指標レジス タ260は、その時のDMAサイクルの2番目のクロック・フェーズの間、加算 装置264を介してDMAバス42へ出力される。DMAサイクルは、DMA転 送が生じつつあるクロック・サイクルとして定義される。マルチプレクサ265 を介して与えられるレジスタ262からの修正値は、加算装置264における指 標値に加算され、次のDMAサイクルで使用されるように指標レジスタ260へ 書き戻される。修正レジスタ(変更レジスタ、modify register )262における修正値は、指標レジスタ260の増分または減分を可能にする 符号付き値である。 各内部DMAアドレス・ジェネレータもまた、カウント・レジスタ266を含 んでいる。DMAチャンネルが初期設定されると、カウント・レジスタ266が 当該チャンネルにより行われるDMAサイクル数でロードされる。カウント・レ ジスタ266は、当該特定チャンネルに対する各DMAサイクル後に減分される 。カウントが0に達すると、チャンネルが自動的に不動作状態にされる。レジス タ266におけるカウント値が、マルチプレクサ271を介して加算装置273 へ与えられる。このカウント値は、加算装置273において1だけ減分され、次 のサイクルで使用されるようにカウント・レジスタ266へ書き戻される。各内 部 DMAアドレス・ジェネレータ250は更に、メッシュ・マルチ処理用途におけ る2次元アレイのアドレス指定のため使用される、DAレジスタ270とDBレ ジスタ272とを含む。更に、各内部DMAアドレス・ジェネレータは、連鎖ポ インタ・レジスタ274と汎用レジスタ276とを含む。レジスタ260、26 2、272、270、274および276が、CMDバス130に接続される。 外部DMAアドレス・ジェネレータ252のアーキテクチャが図8に示される 。内部DMAアドレス・ジェネレータは各々、内部DMAアドレス・ジェネレー タの1つと関連付けられる。各チャンネルは、CMDバス130に接続される、 外部指標レジスタ280と、外部修正レジスタ282とを含む。レジスタ280 および282は、加算装置284を介してEPAバス50へ出力される。各外部 DMAアドレス・ジェネレータ252もまた、外部カウント・レジスタ286を 含む。指標レジスタ260、修正レジスタ262およびカウント・レジスタ26 6が内部メモリに対するアドレスを生成すると同じ方法で外部ポートに対するア ドレスを生成するため、外部DMAアドレス・ジェネレータにおけるレジスタが 用いられる。レジスタ280、282および286は、内部メモリと外部メモリ または外部装置間の転送中に使用される。外部カウント・レジスタ286は、生 じるはずの外部バス転送数でロードされる。これは、パッキングが用いられるな らば、DMAコントローラにより送られるワード数とは異なる。 外部ポート回路102は、内部DMA要求/許与のハンドシェーク(hand shake)を介して、DMAコントローラ100と通信する。各ポートは、各 チャンネルが1つの要求線と1つの許与線とを持つ1つ以上のDMAチャンネル を有する。特定の外部ポートがデータを内部メモリへ書込むことを欲する時、こ のポートがその要求線を表明する。この要求は、他の全ての妥当なDMA要求で 優先順位が付される。チャンネルが最優先レジスタとなる時、その許与線がDM Aコントローラによって表明される。次のクロック・サイクルにおいて、DMA 転送が開始される。 1つ以上のチャンネルが特定のサイクルにおいてアクティブな要求を持つので 、サービスするチャンネルを選択するため優先順位付け方式が用いられる。外部 ポートDMAチャンネルを除いて、固定された優先順位付けが用いられる。一般 に、 直列ポートが最優先順位を持ち、連鎖ローディング要求(chain load ing request)が2番目の優先順位を持ち、内部メモリに対する外部 の直接アクセスが3番目の優先順位を持ち、リンク・ポートが4番目の優先順位 を持ち、外部ポートが最も低い優先順位を持つ。内部メモリに対する外部直接ア クセスおよび連鎖が、これらアクセスが2番目のクロック・フェーズの間DMバ ス32で行われるので、DMAチャンネルの優先順位リストにおける1つの場所 を与えられることが判る。連鎖(chain)ポインタ・レジスタ274の各々 が、次のDMAシーケンスに対するチャンネル・パラメータを含む転送制御ブロ ックと呼ばれる内部メモリにおけるバッファを指示する。DMAシーケンスは、 チャンネル・カウントが0に達するまでチャンネルの初期設定からの1つのチャ ンネルに対するDMA転送の和として定義される。DMAチャンネルがシーケン スを終了すると、DMAコントローラが、内部メモリから転送制御ブロックを受 取り、それをそのDMAチャンネル・レジスタヘロードして、別のDMAシーケ ンスに対する当該チャンネルをセットアップする。このプロセスは、DMA連鎖 と呼ばれる。 連鎖ローディングが開始する前に、作業レジスタ278が連鎖ポインタ・レジ スタ274からロードされ、各レジスタがロードされた後に減分される。作業レ ジスタ278は、その時のレジスタ・ローディングと干渉することなく、連鎖ポ インタ(CP)・レジスタ274が新たなCP値で更新されることを許容する。 ローディングが完了すると、作業レジスタ278が新たなCP値でロードされる 。このため、ユーザが連続的なループでDMAシーケンスを連鎖させることを可 能にする。 先に述べたように、DMAコントローラ100は、10個のDMAチャンネル を含むことが望ましい。この10個のDMAチャンネルの内、一部はある関数に 専用化されるが、他は異なる関数に割当てることができる。望ましい実施形態に おいて、DMAチャンネル0および2は、それぞれ受信および送信のための直列 ポート0に専用化される。DMAチャンネル1は、直列ポート1の送信とリンク ・バッファ0によって共用される。DMAチャンネル3は、直列ポート1受信と リンク・バッファ1とにより共用される。DMAチャンネル4および5は、それ ぞ れリンク・バッファ2および3に専用化される。DMAチャンネル6は、外部ポ ート・バッファOとリンク・バッファ4とにより共用される。DMAチャンネル 7は、外部ポート・バッファ1とリンク・バッファ5とにより共用される。DM Aチャンネル8および9は、それぞれ外部ポート・バッファ2および3とに専用 化される。別の送受信DMAチャンネルは、各直列ポートのため提供される。 リンク・バッファ114(図2)は、2つの場所FIFOバッファとして機能 する。コア・プロセッサ12が空のリンク・バッファを読出そうとするならば、 アクセスが留保され、バッファが外部リンク・ポートからデータを受取るまでコ ア・プロセッサが停止(stall)することになる。コア・プロセッサがリン ク・バッファ全体に書込もうと試みるならば、アクセスは留保され、コアは、バ ッファが外部リンク・ポートにおけるデータを伝送するまで停止することになる 。 各外部ポートDMAチャンネルは、外部ポート・バッファ110(図2)と関 連付けられる。各バッファは、読出しポートと書込みポートとを持つ6つの場所 のFIFOバッファとして機能する。各ポートは、EPDバス48またはDMD バス40に接続することができる。この構成は、データが他のポートから読出さ れつつある間そのデータを1つのポートにおけるバッファへ書込むことを許容し 、これによりチップ・クロック周波数におけるDMA送信速度を許容する。 各外部ポート・バッファは、16ビットと32ビットの外部ワードが32ビッ トと48ビットの内部ワードへパック(pack)されることを許容するパッキ ング・ロジックを含む。このパッキング・ロジックは反転可能であり、その結果 32ビットおよび48ビットの内部ワードが16ビットおよび32ビットの外部 ワードへアンパック(unpack)できる。 内部メモリ16と外部メモリ間のDMA転送は、DMAコントローラ100が 両方のメモリに対するアドレスを生成することを必要とする。各外部DMAアド レス・ジェネレータは、外部アドレス生成を行う指標レジスタ280と外部修正 レジスタ282とを含む。指標レジスタ280は、その時の外部メモリDMAサ イクルに対して外部ポート・アドレスを提供し、次の外部メモリ・アドレスに対 する指標レジスタおよび修正レジスタの相で更新される。 各外部ポートDMAチャンネルは、DMAマスタとして、あるいはDMAスレ ーブとして動作するようにセットアップすることができる。DMAマスタは外部 メモリ・サイクルを開始し、DMAスレーブは別の装置により開始される外部メ モリ・サイクルに応答する。DMAマスタ・モードにおいては、DMAシーケン スが完了するまで、DMAコントローラが当該チャンネルに対するDMA要求を 内部的に生成する。DMAマスタ・モード動作の事例は、内部メモリと外部メモ リ間の転送を含み、内部メモリから外部装置へ転送する。 DMAスレーブ・モードでは、特定のDMAチャンネルが、外部メモリ・サイ クルを独立的に開始することはできない。DMA転送をスレーブ・モードで開始 するには、外部装置は、対応する動作ポート・バッファ(メモリ・マップされた DMAと呼ばれる)を読出しあるいは書込むか、あるいはDMARx線(ハンド シェーク(handshake)DMAと呼ばれる)を表明しなければならない 。 外部装置は、対応するメモリ・マップされたDMAバッファをアクセスするこ とにより、DSP10の内部メモリ16へ転送する。外部装置がデータのブロッ クをメモリ16へ転送することを欲する場合を考えよう。最初に、外部装置がD MAチャンネルを初期設定するためIOPレジスタにおけるDMAチャンネル・ セットアップ・レジスタに書込む。次いで、この装置はDMAバッファ110に 対して書込みを開始する。バッファ110が妥当なデータ・ワードを含む時、外 部ポート・ブロックが内部DMAサイクルを要求するようにDMAチャンネルに 信号する。許されると、内部DMAサイクルが生じ、DMAバッファが空にされ る。内部DMAサイクルがある理由からオフに保持されるならば、各DMAチャ ンネルにおける6階層(six deep)のFIFOバッファのゆえに、外部 装置は依然としてDMAバッファ110へ書込むことができる。最後に、当該チ ャンネル・バッファが一杯になると、確認線ACKが表明され、外部装置のアク セスがオフに保持される。この状態は、内部DMAサイクルが最後に完了して空 間がDMAバッファにおいて自由にされるまではそのままである。 次に、転送方向が内部メモリから外部ポートへである場合を考えよう。DMA チャンネルが可能状態にされた直後に、このチャンネルが、外部ポート・バッフ ァ110を充填するため内部DMAサイクルを要求する。バッファが充填される と、この要求は表明解除される。外部装置が外部ポート・バッファを読出すと、 この バッファは部分的に空になり、内部DMA要求が再び表明されることになる。D MAコントローラが外部ポートが空にすると同じ速度ではDMAバッファを充填 することができなければ、外部ポート確認線ACKが表明解除されて、データが 外部ポート・バッファ110において有効になるまで外部アクセスをオフに保持 する。 外部ポート・バッファ1および2は、それぞれ2つの外部線、DMA要求、D MAR(1:2)、およびDMA許与、DMAG(1:2)が設けられる。これ らの信号は、DSP10とバス・マスタ能力を持たない外部周辺装置との間のD MA転送を容易にするハードウエア・ハンドシェークを実施するために使用され る。DMAハンドシェークは、DSPの全クロック速度まで非同期的に動作する 。 DSP構成の一例が図9に示される。第1のDSP300と第2のDSP30 2とが、図5に示され先に述べたものと類似するマルチプロセッサ形態で外部デ ータ・バス304と外部アドレス・バス306に接続される。DSP300およ び302は、図1に示されたDSP10と対応する。このシステムは、外側バス 304、306および外側制御線に接続された外部メモリ326を含む。各DS PのDMARx線は外側DMAR線310に接続され、各DSPのDMAGx線 はDMAG線312に接続される(xは、DMARまたはDMAG線の番号を表 わす)。DMA装置320は、DSP300、302に対するDMA転送のため のデータ・バス304に接続された8進レジスタ322と、DSP300、30 2からのDMA転送のためのデータ・バス304に接続された8進レジスタ32 4とを含む。あるいはまた、レジスタ322、324は、FIFOバッファでよ い。またはDMAR線310は、8進レジスタ322のクロック入力に接続され 、またはDMAG線312は、8進レジスタ322の出力可能入力に接続されて いる。外部DMAG線312もまた、8進レジスタ324のクロック入力に接続 される。このように、DMARおよびDMAG線は、DMA転送中、8進レジス タ322、324を直接制御するために用いられる。レジスタ322、324が DSP300、302からのDMAR信号およびDMAG信号により制御される ので、各DMA転送は、DMA装置320がDSPより遅く動作しようとも、D SPの1つのバス・サイクルで完了することができる。結果として、外部バス3 0 4、306における通信量が低減され、システム性能が改善される。 次に、DMAタイミングを示す図10および図11を参照する。DMAハンド シェークは、DMARx信号の立上がりエッジと立下がりエッジとを使用する。 DSPは、立下がりエッジを「DMAアクセス開始」の意味に解釈し、立上がり エッジを「DMAアクセスの完了」の意味に解釈する。外部ポート・バッファの アクセスを要求するために、外部装置がDMARxをローに引く。立下がりエッ ジは、DSPにより検出され、システム・クロックに同期させられる。DSPが この要求を認識すると、外部バスが既にバス・マスタでないか、あるいはバッフ ァがブロックされなければ、DSPは、外部バスに対する調停を開始する。DS Pがバス・マスタになると、DMAGxをローに駆動する。DSPは、DMAR xが表明解除されるまでDMAGxを表明したままに保持する。これは、DSP が進行の用意ができるまで外部装置がDSPを待機状態に保持することを可能に する。外部装置が許与サイクルを延長することを欲しなければ、この装置は、最 小幅の要件を満たすことを前提として、このサイクルを表明した直後にDMAR xを表明解除することができる。この場合、DMAGは短いパルスとなり、外部 バスは1サイクルだけ使用されることになる。 外部装置は、許与が得られる時、各書込み要求に対応するデータが直ちに得ら れること、あるいは読出しのための各要求ワードを受入れることができることを 確認しなければならない。外部装置が要求の完了を制御することができるので、 要求を行う前にデータが得られる必要はない。しかし、データが2サイクル以内 に得られず、要求線がその時ローのままであれば、DSPと外部バスは不動作状 態のままである。許与が表明される前に要求が表明解除されるならば、外部バス は、1サイクルの間だけ接続される。さもなければ、外部バスは、DMARxが 表明されるかぎり保持される。 DSPはまた、DMAハンドシェーク線DMARxおよびDMAGxを用いて 、外部装置と外部メモリ間のデータ転送をサポートする。外部転送は、外部ポー トDMAチャンネルが外部メモリ・サイクルを生じることを要求する。DMAG xを出力するだけの代わりに、外部メモリ・アクセスを開始するため、DSPは アドレス、メモリ選択およびストローブも出力する。この外部メモリ・アクセス は、 ちょうどDSPのコア・プロセッサがそれを要求したかのように挙動する。EI レジスタ280、EMレジスタ282およびECレジスタ286(図8)は、外 部メモリ空間を指定し、ロードされねばならない。DMARx線およびDMAG x線は、先に述べたように機能する。DSPにおけるDMAバッファは、データ をラッチせずに駆動もしない。内部DMAサイクルは、外部転送によって生成さ れる。 代替的なDMAシェークハンド方式においては、DMA要求信号、DMAR、 DMA許与信号DMAG、およびDMA保持信号DMAHが用いられる。DMA 保持信号は、DMA転送を待機状態に置くために使用される。DMA要求信号の 立下がりエッジで、要求が表明される。DMA許与信号は、DMAHが表明され るならば、ローに止まる。DMA保持信号の利点は、データが用意があるかどう かは問題にせず、幾つかの要求を行うことができることである。従って、DMA 保持信号は、データ・バッファが(DSPに対する書込みのために)空であるか 、あるいは(DSPらの読出しのために)一杯であるか如何なる時でも表明する ことができる。短所は、DMAHが集積回路上の付加的なI/Oピンを必要とす ることである。 組合わせにおける各外部ポートDMAチャンネルごとの制御および状態レジス タにおけるマスタ・ビットおよびハンドシェーク・ビットは、次の4つのDMA 転送モードを提供する。即ち、(1)ハンドシェークを持たないスレーブ・モー ド。受信バッファが空でないかあるいは送信バッファが一杯でない時常に、DM A要求が生成される。(2)ハンドシェークを持つスレーブ・モード(チャンネ ル1および2のみ)。DMA要求は、DMARx線が表明される時に生成される 。DMAGxが表明される時は、転送が生じる。(3)ハンドシェークを持たな いマスタ・モード。DMAチャンネルは、受信バッファが空でないかあるいは送 信バッファが一杯でなく、DMAカウントがゼロでない時常に、転送を試みるこ とになる。(4)DMARxが表明される(チャンネル1および2のみ)時、要 求が生成される修正マスタ・モード。メモリ読出しストローブRD、またはメモ リ書込みストローブWRが表明される時、バス転送が生じる。アドレスは正常な マスタ・モードとして駆動される。このモードでは、DMAGxはアクティブで は ない。このため、同じ外部バッファがコア・プロセッサ・アクセスとDMAの両 方に対して使用されることを可能にする。DMARx要求は、ハンドシェーク・ モードと同じように動作する。 2次元DMAモードにおいては、2次元DMAアレイのアドレス指定が、リン ク・ポートおよび直列ポートに対して行われる。2つのDMAチャンネルがリン ク・ポートに対して使用可能であり、2つのチャンネルが直列ポートに対して使 用可能であり、合計4つの2次元DMAチャンネルとなる。再び図7において、 指標レジスタ260は、データ・アレイにおける最初のアドレスでロードされ、 各転送後にX増分を差し引くことによりその時のアドレスを維持する。X増分レ ジスタ262は、X次元(次の列)における次の要素を指示するためその時のア ドレスに付加されたオフセットを含む。Xの初期カウント・レジスタ270は、 X次元におけるデータ要素番号を含む。これは、0に減分する時Xカウント・レ ジスタを再ロードするために用いられる。Xカウント・レジスタ266は、その 時の行に残るデータ要素番号を含む。これは、最初、Xの初期カウントと同じ値 を持つ。各転送後に減分される。Y増分レジスタ272は、Y次元における次の 要素を指示するためその時のアドレスに付加されたオフセット(次の行における 最初の場所)を含む。Xカウント・レジスタが0に達する時、このレジスタは、 次のサイクルにおけるその時のアドレスに付加され、Yカウント・レジスタが減 分される。レジスタ272の値は、XおよびYの増分が行の変化と同時に行われ るので、行の距離から列の距離を差し引いたものでなければならない。1行の変 化に対して2つのDMAサイクルが要求される。Yカウント・レジスタ276は 、最初、Y次元におけるデータ要素の番号(行番号)を含む。これは、Xカウン ト・レジスタが0に達するごとに減分される。Yカウントが0に達すると、DM Aブロック転送が行われる。次のポインタ・レジスタ274は、次のDMAセッ トアップ・パラメータを含む内部メモリにおけるバッファの状態を指示する。 望ましい実施形態においては、DSP10は、リンク・ポートのプロトコルに 従う他のDSPおよび外部装置に対する高速のポイント・ツー・ポイントポイン ト・データ転送(point−to−pointpoint data tra nsfers)を行う6つのリンク・ポートを含む。このリンク・ポートは、多 数のDSPと、1次元、2次元および3次元のアレイを含む外部装置との間の種 々の相互接続方式を許容する。各リンク・ポートは、送信または受信を行い、D MAチャンネルによってサポートされる。このリンク・ポートは、メッシュ・マ ルチ処理動作において使用される時を除いて、相互に独立的に動作する。 各リンク・ポートは、4つの2方向性データ・リンクLxDAT(3:0)と 、2つのハンドシェーク線、即ち、リンク・クロック(LxCLK)とリンク確 認(LxACK)とを含み、ここでxはリンク・ポート番号を表わす。リンク・ クロックLxCLKは、非同期的データ転送を許容し、リンク確認LxCLKは ハンドシェークを許容する。送信機は、データ線およびリンク・クロック線を駆 動し、受信機はリンク確認線を駆動する。 各リンク・ポートは、図12に示される如く6つのリンク・バッファ340の 1つから送信あるいは受信を行うように選択される。このバッファは、最初のク ロック・フェーズの間、PDMバス44におけるDMA制御下で内部メモリから 読出しあるいはこれへ書込む。任意のリンク・バッファ340が、図12におい てクロスバー接続342として示されるリンク割当てレジスタにおける任意のリ ンク・ポートにマップされる。リンク・バッファ340は、DMAチャンネルに よってサポートされる。各リンク・ポートは、リンク割当てレジスタにおける3 つのビット・フィールドによりリンク・バッファへ割当てられる。リンク割当て レジスタは、論理的(リンク・バッファ)マッピングと物理的(リンク・ポート )マッピングを行うものと見なすことができる。各リンク・バッファ340は、 外部レジスタ342と内部レジスタ344とを含む。送信時は、内部メモリから DMAデータを受取るために内部レジスタ344が用いられる。外部レジスタ3 42は、リンク・ポートに対するアンパックを行う。これら2つのレジスタは、 図2に示されるFIFOバッファ114に対応する2段のFIFOバッファを形 成する。全条件を信号する前に、2つのワードをレジスタへ書込むことができる 。各ワードがアンパックされて送信される時、FIFOバッファにおける次の場 所が利用可能となり、新たなDMA要求が行われる。レジスタが空になるならば 、リンク・クロックLxCLKが表明解除される。受信中、内部メモリへの転送 前に、ポート・データを受取ってこれを内部レジスタ344へ送るために外部レ ジ スタ342が用いられる。両方の場所が充填される前にDMA転送が生じなけれ ば、リンク確認LxACKが表明解除される。 各リンク・ポートのリンク・クロックLxCLKおよびリンク確認LxACK は、DSP間の非同期データ通信のためのハンドシェークを許容する。同じプロ トコルに従う他の装置もまた、リンク・ポートと通信することができる。リンク ・ポートで送られるワードは、32ビット・ワードに対する8ニブル、あるいは 48ビット・ワードに対する12ニブルを含む。図13に示されるように、送信 機は、新たなデータのニブルごとにリンク・クロックLxCLKをハイに表明す る。ニブルにおけるクロックに対する受信機により、リンク・クロックLxCL Kの立下がりエッジが使用される。受信機は、別のワードがバッファにおいて受 取ることができる時、リンク確認LxACKを表明する。送信機は、各ワードの 送信の初め、即ち、8ニブルまたは12ニブル後に、リンク確認LxACKをサ ンプルする。リンク確認LxACKがこの時表明解除されるならば、送信機は、 新たなワードを送信することはない。リンク確認LxACKが表明解除されるな らば、送信機はリンク・クロックLxCLKをハイのままにする。リンク確認L xACKが最後に再び表明されると、リンク・クロックLxCLKはローになり 、次のワード伝送に進むことになる。リンク・クロックLxCLKの立下がりエ ッジにおいて、データが受信バッファでラッチされる。リンク・クロックの「× 2」ビットがセットされるならば、各クロック・サイクルで、即ち、クロック・ サイクルごとに2回ニブル転送が生じる。図12に示されるように、リンク・ポ ート転送は、クロック周波数で、あるいはクロック周波数の2倍で生じる。 図13に示されるように、リンク確認LxACKは、最初のニブルが受取られ た後に表明解除され、受信機のリンク・バッファが一杯でないと直ちに再び表明 される。データ・ワードの送信中にリンク確認LxACKが表明解除されても、 受信機は、送信されつつあるデータ・ワードの残りのニブルを受取ることになる 。各データ・ワードの最後のニブルの送信後に、送信機がリンク確認LxACK をサンプルし、リンク確認LxACKが表明されるまでは次のデータ・ワードは 送られない。このように、リンク確認LxACKがワード境界における送信を制 御し、確認は各ニブルごとに要求されない。結果として、リンク・ポートにおけ る 送信は、ニブル間の休止クロック・サイクルもなく、かつワード間の休止クロッ ク・サイクルもなく、リンク・クロック周波数で進行することができる。 フィルタ動作は、リンク・データ線LxDAT(3:0)およびリンク・クロ ック線LxCLKにおいて用いられることが望ましい。フィルタ動作は、リンク ・ポートが自己同期されるゆえに、即ち、クロックとデータが一緒に送られるゆ えに可能である。このように、絶対的な遅れではなく、クロックとデータ間の相 対的遅れが性能マージンを決定する。クロック線とデータ線を同じ回路でフィル タ処理することにより、リンク・クロック・ノイズおよび反射に対する応答は低 減されるが、相対的遅延は影響を受けない。フィルタは、約2ナノ秒より狭い全 振幅パルスを無視する効果を有する。全振幅でないパルスは、やや広くなり得る 。 リンク・ポートの更なる特徴として、予め用意されたプロトコルに従ってDS P間に信号するために、リンク・クロック線およびリンク確認線を使用すること ができる。例えば、クロック線および確認線における信号動作は、マルチプロセ ッサ・システムの外部バスにおける通信なしに、DMA転送をセットアップする ために使用することができる。 LCOMレジスタは、各リンク・バッファに対する状況ビット、ならびに各リ ンク・ポートに対するエラー・ビットを含む。このエラー・ビットは、各リンク ・バッファに対する受信リンク・ポート・パッカの状態を反映する。パック・カ ウンタは、受信されるニブル数でロードされ、各ニブルが受取られた後に減分さ れる。このエラー・ビットは、パック・カウンタが0ならばローであり、さもな ければ、ハイである。エラー・ビットが送信の終りにハイであるならば、送信中 にエラーが生じている。このエラー・ビットを利用するためには、1つ余計なダ ミー−・ワードをブロック送信の終りに送らなければならない。次いで、受信機 が適切なメッセージを送信機へ返送することを許容するように、送信機がリンク ・ポートを除外する。受信機がデータ・ブロックを受取った時、付加的なワード がリンク・バッファ受信機において受取られたことを確認するため調べ、次いで 、リンク・バッファをクリヤして適切なメッセージを同じリンク・ポートにおけ る送信機へ返送する。 本発明の現在望ましい実施形態と考えられることを示し記述したが、当業者に は、請求の範囲に記載される如き本発明の範囲を逸脱することなく本発明の種々 の変更および修正が可能であることが明らかであろう。
───────────────────────────────────────────────────── フロントページの続き (31)優先権主張番号 08/317,886 (32)優先日 1994年10月4日 (33)優先権主張国 米国(US) (31)優先権主張番号 08/317,891 (32)優先日 1994年10月4日 (33)優先権主張国 米国(US) (81)指定国 EP(AT,BE,CH,DE, DK,ES,FR,GB,GR,IE,IT,LU,M C,NL,PT,SE),OA(BF,BJ,CF,CG ,CI,CM,GA,GN,ML,MR,NE,SN, TD,TG),AP(KE,MW,SD,SZ,UG), AL,AM,AT,AU,BB,BG,BR,BY,C A,CH,CN,CZ,DE,DK,EE,ES,FI ,GB,GE,HU,IS,JP,KE,KG,KP, KR,KZ,LK,LR,LT,LU,LV,MD,M G,MK,MN,MW,MX,NO,NZ,PL,PT ,RO,RU,SD,SE,SG,SI,SK,TJ, TM,TT,UA,UG,UZ,VN (72)発明者 イー,ロニン・ジェイ アメリカ合衆国マサチューセッツ州02162, ニュートン,ワシントン・ストリート 2261イー (72)発明者 バリー,マーク・エイ アメリカ合衆国マサチューセッツ州02703, アッテルボロ,ディーンビル・ロード 148 (72)発明者 コックス,スティーブン・エル アメリカ合衆国マサチューセッツ州02067, シャロン,ゴッダード・ロード 11 (72)発明者 ゴリウス,アーロン・エイチ アメリカ合衆国マサチューセッツ州01568, アップトン,ハートフォード・アベニュー 73 【要約の続き】 以上のリンク・ポートとを含む。DMAコントローラ は、外部ポートと直列ポートとリンク・ポートとを介す るDMA転送を制御する。

Claims (1)

  1. 【特許請求の範囲】 1.ディジタル信号処理システムにおいて、 第1のディジタル信号プロセッサと、 前記第1のディジタル信号プロセッサに外部バスにより相互接続された第2の ディジタル信号プロセッサと を備え、前記第1および第2のディジタル信号プロセッサは、それぞれ、内部メ モリと、内部メモリ空間とマルチプロセッサ・メモリ空間とを含むグローバル・ メモリ空間をアクセスする手段を含むディジタル信号計算を行うためのコア・プ ロセッサとを含み、 その順序付けのために前記第1のディジタル信号プロセッサと前記第2のディ ジタル信号プロセッサとに接続されたクロックと を備え、前記第1と第2のディジタル信号プロセッサは、各々、プロセッサID に応答して前記内部メモリを前記マルチプロセッサ・メモリ空間の領域に割当て る手段を更に含み、これにより前記システムにおける各記憶場所が一義的であり 、かつ前記第1のディジタル信号プロセッサが、前記第2のディジタル信号プロ セッサの内部メモリに割当てられた前記マルチプロセッサ・メモリ空間の領域を アドレス指定することにより前記第2のディジタル信号プロセッサの内部メモリ をアクセスすることができる、ディジタル信号処理システム。 2.前記外部バスに接続された外部メモリを更に備え、前記グローバル・メモリ 空間が外部メモリ空間を更に含み、前記外部メモリは前記外部メモリ空間に割当 てられることにより、前記第1と前記第2のディジタル信号プロセッサが前記外 部メモリ空間をアドレス指定することにより前記外部メモリをアクセスすること ができる請求項1記載のディジタル信号処理システム。 3.前記第1のディジタル信号プロセッサと前記第2のディジタル信号プロセッ サとが各々、該ディジタル信号プロセッサに対しかつこれからの外部アクセスを 制御するI/Oプロセッサを更に含み、該I/Oプロセッサが、1つ以上のメモ リ・マップされたIOPレジスタと、該IOPレジスタを前記マルチプロセッサ ・メモリ空間の領域に割当てる手段とを含み、これにより前記第1のディジタル 信 号プロセッサが、前記第2のディジタル信号プロセッサのIOPレジスタに割当 てられた前記マルチプロセッサ・メモリ空間の領域をアドレスシングすることに より前記第2のディジタル信号プロセッサのI/Oプロセッサをアクセスするこ とができる請求項1記載のディジタル信号処理システム。 4.前記第1および第2のディジタル信号プロセッサの各々の内部メモリが少な くとも0.5メガビットの容量を有する請求項1記載のディジタル信号処理シス テム。 5.前記第1および第2のディジタル信号プロセッサが1組のバス要求線により 相互接続され、かつ前記第1および第2のディジタル信号プロセッサの各々は、 前記外部バスに対するアクセスを制御するバス調停回路を更に含み、該バス調停 回路は、前記外部バスに対するアクセスが要求される時、前記バス要求線の選択 された1つを表明する手段を含み、前記バス要求線の前記1つがバス要求IDに 応じて選択される請求項1記載のディジタル信号処理システム。 6.前記バス要求IDが前記プロセッサIDを含む請求項5記載のディジタル信 号処理システム。 7.前記バス調停回路が、バス要求表明のため前記バス要求線の他のバス要求線 を監視する手段と、バス・マスタ性が得られる時、前記バス要求の表明に応答し て予め定めた優先順位方式に従ってバス・マスタ性を表明する手段とを更に含む 請求項5記載のディジタル信号処理システム。 8.前記優先順位方式が固定された優先順位を用いる請求項7記載のディジタル 信号処理システム。 9.前記優先順位方式が、バス・マスタ性の各表明後に変化する優先順位を用い る請求項5記載のディジタル信号処理システム。 10.ディジタル信号プロセッサにおいて、 内部メモリ空間とマルチプロセッサ・メモリ空間とを含む、グローバル・メモ リ空間をアクセスする手段を含む、ディジタル信号計算を行うコア・プロセッサ と、 ディジタル信号計算のため命令およびデータを記憶する、前記コア・プロセッ サに相互接続された内部メモリと、 外部バスにおける外部装置に相互接続するための外部ポートと、 プロセッサIDに応答して、前記マルチプロセッサ・メモリ空間の領域に前記 内部メモリを割当てる手段と を備え、これにより前記外部装置が前記マルチプロセッサ・メモリ空間の前記領 域をアドレス指定することにより前記内部メモリをアクセスすることができるデ ィジタル信号プロセッサ。 11.前記グローバル・メモリ空間が外部メモリ空間を更に含み、これにより前 記コア・プロセッサが、前記外部ポートに接続され、かつ前記外部メモリ空間を アドレス指定することにより、該外部メモリ空間に割当てられた外部メモリをア クセスすることができる請求項10記載のディジタル信号プロセッサ。 12.前記内部メモリが少なくとも0.5メガビットの容量を有する請求項10 記載のディジタル信号プロセッサ。 13.前記外部装置に相互接続するための1組のバス要求線と、前記外部バスに 対するアクセスを制御するバス調停回路とを更に備え、該バス調停回路が、前記 外部バスに対するアクセスが要求される時、前記バス要求線の選択された1つを 表明する手段を含み、該バス要求線の前記1つがバス要求IDに応答して選択さ れる請求項10記載のディジタル信号プロセッサ。 14.前記バス要求IDが前記プロセッサIDを含む請求項13記載のディジタ ル信号プロセッサ。 15.前記バス調停回路が、バス要求表明のため前記バス要求線の他のバス要求 線を監視する手段と、バス・マスタ性が得られる時、前記バス要求表明に応答し て予め定めた優先順位方式に従ってバス・マスタ性を表明する手段とを更に含む 請求項13記載のディジタル信号プロセッサ。 16.ディジタル信号プロセッサに対するおよびこれからの外部アクセスを制御 するためのI/Oプロセッサを更に備え、該I/Oプロセッサが、1つ以上のメ モリ・マップされたIOPレジスタと、該IOPレジスタを前記マルチプロセッ サ・メモリ空間の領域に割当てる手段とを含み、これにより外部装置が、前記マ ルチプロセッサ・メモリ空間の前記領域をアドレス指定することにより、前記I /Oプロセッサをアクセスすることができる請求項10記載のディジタル信号プ ロセッサ。 17.それぞれが、内部メモリと、ディジタル信号計算を行うためとコア・プロ セッサとを含む第1のディジタル信号プロセッサと第2のディジタル信号プロセ ッサとを含む、ディジタル信号処理システムにおけるマルチ処理の方法において 、 前記第1のディジタル信号プロセッサと前記第2のディジタル信号プロセッサ とを外部バスにより相互接続するステップと、 内部メモリ空間とマルチプロセッサ・メモリ空間とを含むグローバル・メモリ 空間を定義するステップと、 前記第1および第2のディジタル信号プロセッサの各々に対して入力される異 なるプロセッサIDに応答して、前記マルチプロセッサ・メモリ空間の異なる領 域に前記第1および第2のディジタル信号プロセッサの内部メモリを割当てるス テップと、 前記マルチプロセッサ・メモリ空間の前記異なる領域をアドレス指定すること により、前記第1および第2のディジタル信号プロセッサの内部メモリをアクセ スすることにより、前記ディジタル信号処理システムにおける各記憶場所が一義 的であり、かつ前記第2のディジタル信号プロセッサの内部メモリに割当てられ た前記マルチプロセッサ・メモリ空間の領域をアドレス指定することにより、前 記第1のディジタル信号プロセッサが、前記第2のディジタル信号プロセッサの 内部メモリをアクセスすることができる方法。 18.グローバル・メモリ空間を定義する前記ステップが、外部メモリ空間を定 義するステップを更に含み、前記外部バスに接続された外部メモリを前記外部メ モリ空間に割当てるステップを更に含み、これにより前記第1および第2のディ ジタル信号プロセッサが前記外部メモリ空間をアドレス指定することにより前記 外部メモリをアクセスすることができる請求項17記載の方法。 19.前記相互接続ステップが、1組のバス要求線により前記第1および第2の ディジタル信号プロセッサを相互接続するステップを含み、前記外部バスに対す るアクセスが要求される時、前記バス要求線の選択された1つを表明することに より前記外部バスに対するアクセスを制御するステップを更に含み、前記バス要 求線の前記1つが前記プロセッサIDに応答して選択され、バス要求表明のため 前記バス要求線の他のバス要求線を監視し、バス・マスタ性が得られる時、予め 定めた優先順位方式に従って前記バス要求表明に応答してBMS表明するステッ プを含む請求項17記載の方法。 20.ディジタル信号プロセッサにおいて、 内部メモリ空間とマルチプロセッサ・メモリ空間とを含むグローバル・メモリ 空間をアクセスする手段を含む、ディジタル信号計算を行うコア・プロセッサと 、 前記コア・プロセッサに相互接続されてディジタル信号計算のため命令および データを記憶する内部メモリと、 1つ以上のメモリ・マップされたIOPレジスタを含む、ディジタル信号プロ セッサに対しておよびこれからの外部アクセスを制御するI/Oプロセッサと、 外部バスにおける外部装置に相互接続される外部ポートと、 前記マルチプロセッサ・メモリ空間の領域に前記IOPレジスタを割当てる手 段と を備え、これにより前記外部装置が、前記マルチプロセッサ・メモリ空間の前記 領域をアドレス指定することにより、前記I/Oプロセッサをアクセスすること ができるディジタル信号プロセッサ。 21.ディジタル信号プロセッサにおいて、 ディジタル信号計算を行うコア・プロセッサと、 前記ディジタル信号プロセッサに対するおよびこれからの外部アクセスを制御 するI/Oプロセッサと、 前記ディジタル信号計算のため命令とデータとを記憶する第1および第2のメ モリ・バンクと、 前記コア・プロセッサと前記第1および第2のメモリ・バンクとを相互接続す る第1のバスと第2のバスとを備え、該第1のバスが前記I/Oプロセッサと前 記第1および第2のメモリ・バンクとを相互接続し、 クロック信号に応答して、第1のクロック・フェーズと第2のクロック・フェ ーズとを生成するクロック回路と、 前記第2のクロック・フェーズの間、前記第1のバスにおける前記メモリ・バ ンクの1つに前記コア・プロセッサを接続し、かつ前記第1のクロック・フェー ズの間、前記第1のバスにおける前記メモリ・バンクの1つに前記I/Oプロセ ッサを接続する手段と を備え、これにより前記コア・プロセッサと前記I/Oプロセッサとが、1クロ ック・サイクルの異なるクロック・フェーズの間、前記第1のバスにおける前記 第1および第2のメモリ・バンクをアクセスすることができる ディジタル信号プロセッサ。 22.前記接続手段が、前記第2のクロック・フェーズの間、前記第2のバスに おける前記メモリ・バンクの他のメモリ・バンクに前記コア・プロセッサを接続 する手段を更に含み、これにより前記コア・プロセッサが、前記第2のクロック ・フェーズの間、前記第1および第2のメモリ・バンクを同時にアクセスするこ とができる請求項21記載のディジタル信号プロセッサ。 23.前記コア・プロセッサと前記I/Oプロセッサとを相互接続する外部ポー トバスと、該外部ポートを外部バスに相互接続する外部ポート回路とを更に備え 、前記外部バスが外部装置に対する相互接続を提供する請求項21記載のディジ タル信号プロセッサ。 24.前記I/Oプロセッサが、前記第1のクロック・フェーズの間、前記外部 ポート・バスと前記メモリ・バンクとの間にデータを接続する手段を含み、これ により前記外部装置が、前記コア・プロセッサの動作と干渉することなく前記メ モリ・バンクをアクセスすることができる請求項23記載のディジタル信号プロ セッサ。 25.前記I/Oプロセッサが、少なくとも1つのデータ通信ポートと、前記第 1のクロック・フェーズの間、前記データ通信ポートと前記第1のバスにおける 前記メモリ・バンクとの間にデータを接続する手段とを含み、これにより前記デ ータ通信ポートが、前記コア・プロセッサの動作と干渉することなく、前記メモ リ・バンクをアクセスすることができる請求項21記載のディジタル信号プロセ ッサ。 26.ディジタル信号プロセッサにおいて、 ディジタル信号計算を行うコア・プロセッサと、 前記ディジタル信号プロセッサに対するおよびこれからの外部アクセスを制御 するI/Oプロセッサと、 ディジタル信号計算のため命令とデータとを記憶する第1および第2のメモリ ・バンクと、 前記コア・プロセッサと前記第1および第2のメモリ・バンクとを相互接続す る第1のバスと第2のバスとを備え、該第1のバスが、前記I/Oプロセッサと 前記第1および第2のメモリ・バンクとを相互接続し、 前記コア・プロセッサと前記I/Oプロセッサとを相互接続する外部ポート・ バスと、 前記外部ポート・バスを、外部装置に対する相互接続を提供する外部バスに相 互接続する外部ポート回路とを備え、これにより前記I/Oプロセッサが、前記 第1のバスと前記第2のバスとにおける前記第1および第2のメモリ・バンクに 対する前記コア・プロセッサによるアクセスと干渉することなく、前記外部ポー ト・バスにおける前記外部装置と通信することができる ディジタル信号プロセッサ。 27.クロック信号に応答して、第1のクロック・フェーズと第2のクロック・ フェーズとを生成するクロック回路と、 前記第2のクロック・フェーズの間、前記第1のバスにおける前記メモリ・バ ンクの1つに前記コア・プロセッサを接続し、かつ前記第1のクロック・フェー ズの間、前記第1のバスにおける前記メモリ・バンクの1つに前記I/Oプロセ ッサを接続する手段とを備え、これにより前記コア・プロセッサと前記I/Oと が、1クロック・サイクルの異なるクロック・フェーズの間、前記第1のバスに おける前記第1および第2のメモリ・バンクをアクセスすることができる請求項 26記載のディジタル信号プロセッサ。 28.前記I/Oプロセッサが、前記第1のクロック・フェーズの間、前記外部 ポート・バスと、前記第1のバスにおける前記メモリ・バンクとの間にデータを 接続する手段を含み、これにより前記外部装置が前記コア・プロセッサの動作と 干渉することなく前記メモリ・バンクをアクセスすることができる請求項27記 載のディジタル信号プロセッサ。 29.前記I/Oプロセッサが、少なくとも1つのデータ通信ポートと、前記第 1のクロック・フェーズの間、前記データ通信ポートと、前記第1のバスにおけ る前記メモリ・バンクとの間にデータを接続する手段とを含み、前記データ通信 ポートが前記コア・プロセッサの動作と干渉することなく前記メモリ・バンクへ のアクセスをすることができる請求項27記載のディジタル信号プロセッサ。 30.ディジタル信号計算を行うコア・プロセッサと、ディジタル信号プロセッ サに対するおよびこれからの外部アクセスを制御するI/Oプロセッサと、ディ ジタル信号計算のため命令とデータとを記憶する第1および第2のメモリ・バン クとを含むディジタル信号プロセッサによるディジタル信号処理の方法において 、 前記コア・プロセッサと、第1のバスと第2のバスとにおける前記第1および 第2のメモリ・バンクとを相互接続し、かつ前記I/Oプロセッサと、前記第1 のバスにおける前記第1および第2のメモリ・バンクとを相互接続するステップ と、 第1のクロック・フェーズと第2のクロック・フェーズとをクロック信号に応 答して生成するステップと、 前記第2のクロック・フェーズの間、前記コア・プロセッサを前記第1のバス における前記メモリ・バンクの1つに接続し、かつ前記第1のクロック・フェー ズの間、前記I/Oプロセッサを前記第1のバスにおける前記メモリ・バンクの 1つに接続するステップとを含み、これにより前記コア・プロセッサと前記I/ Oプロセッサとが、1クロック・サイクルの異なるクロック・フェーズの間、前 記第1のバスにおける前記第1および第2のメモリ・バンクをアクセスすること ができる、 方法。 31.前記I/Oプロセッサを外部ポート・バスにおける外部装置に相互接続し 、かつ前記第1のクロック・フェーズの間、前記外部ポート・バスと前記第1の バスにおける前記メモリ・バンクとの間にデータを接続するステップを更に含み 、これにより前記外部装置が、前記コア・プロセッサの動作と干渉することなく 、前記メモリ・バンクをアクセスすることができる請求項30記載の方法。 32.前記第1のクロック・フェーズの間、データ通信ポートと、前記第1のバ スにおける前記メモリ・バンクとの間にデータを接続するステップを更に含み、 これにより前記コア・プロセッサの動作と干渉することなく、前記データ通信ポ ートが前記メモリ・バンクをアクセスすることができる請求項30記載の方法。 33.ディジタル信号プロセッサにおいて、 ディジタル信号計算を行うコア・プロセッサと、 ディジタル信号計算のため命令とデータとを記憶するメモリと、 前記コア・プロセッサと前記メモリとを相互接続するメモリ・バスと、 外部バスにおける外部DMA装置に接続するための外部ポートと、 前記外部ポートを介する前記外部DMA装置と前記メモリ間のDMA転送を制 御するDMAコントローラと を備え、前記DMAコントローラは、第1の状態と第2の状態間での前記外部D MA装置からのDMA要求信号の遷移に応答してDMA転送を開始する手段と、 前記第2の状態における前記外部DMA装置により保持される前記DMA要求信 号に応答してDMA転送を待機状態に置く手段と、前記第2の状態と前記第1の 状態間での前記DMA要求信号の遷移に応答してDMA転送を完了する手段とを 含む制御手段を含むディジタル信号プロセッサ。 34.前記外部ポートと前記メモリ間に接続されて、DMA転送期間全体にわた り改善するFIFOバッファを更に備える請求項33記載のディジタル信号プロ セッサ。 35.前記DMAコントローラが、前記外部DMA装置と前記メモリ間のDMA 転送のため、16ビット・ワードと32ビット・ワードを32ビット・ビットと 48ビット・ワードのレジスタにパックする手段を更に含む請求項33記載のデ ィジタル信号プロセッサ。 36.前記DMAコントローラが、前記外部DMA装置に対する転送のため32 ビット・ワードと48ビット・ワードから16ビット・ワードと32ビット・ワ ードをアンパックする手段を更に含む請求項33記載のディジタル信号プロセッ サ。 37.前記DMAコントローラが、前記外部DMA装置に与えられるDMA許与 信号を制御することにより、かつメモリ制御信号を前記外部メモリに与えること によって、前記DMA要求信号に応答して前記外部DMA装置と外部メモリ間の DMA転送を制御する外部制御手段を更に含む請求項33記載のディジタル信号 プロセッサ。 38.前記DMAコントローラが、前記DMA要求信号に応答して前記外部DM A装置のレジスタを制御するためDMA許与信号を生成する手段を更に含み、こ れによりDMA転送がディジタル信号プロセッサの1つのバス・サイクルで完了 できる請求項33記載のディジタル信号プロセッサ。 39.ディジタル信号プロセッサにおいて、 ディジタル信号計算を行うコア・プロセッサと、 ディジタル信号計算のため命令とデータとを記憶するメモリと、 前記コア・プロセッサと前記メモリとを相互接続するメモリ・バスと、 外部バスにおける第1の外部装置に接続するための外部ポートと、 第2の外部装置との通信のためのデータ通信ポートと、 前記外部ポートと前記メモリ間のDMA転送を制御し、かつ前記データ通信ポ ートと前記メモリ間のDMA転送を制御するDMAコントローラと を備え、該DMAコントローラは、複数のDMAアドレス・ジェネレータを含み 、1つ以上の前記DMAアドレス・ジェネレータが前記外部ポートに選択的に割 当て可能であり、かつ1つ以上のDMAアドレス・ジェネレータが前記データ通 信ポートに選択的に割当て可能であり、該DMAアドレス・ジェネレータが前記 DMA転送の間にメモリ・アドレスを生成するディジタル信号プロセッサ。 40.前記DMAコントローラが、前記第1の外部装置からのDMA要求信号に 応答してDMA転送を制御する制御手段を含み、該制御手段が、第1の状態と第 2の状態間の前記DMA要求信号の遷移に応答してDMA転送を開始する手段と 、前記第2の状態における前記第1の外部装置により保持される前記DMA要求 信号に応答してDMA転送を待機状態に置く手段と、前記第2の状態と前記第1 の状態間の前記DMA要求信号の遷移に応答してDMA転送を完了する手段とを 含む請求項39記載のディジタル信号プロセッサ。 41.前記DMAコントローラが、前記第1の外部装置に与えられるDMA許与 信号を制御することにより、かつメモリ制御信号を前記外部メモリに与えること によって前記DMA要求信号に応答して前記第1の外部装置と外部メモリ間のD MA転送を制御する制御手段とを更に含む請求項40記載のディジタル信号プロ セッサ。 42.前記DMAコントローラが、前記DMA要求信号に応答して前記第1の外 部装置のレジスタを制御するDMA許与信号を生成する手段を更に含み、これに よりDMA転送が前記ディジタル信号プロセッサの1つのバス・サイクルで完了 できる請求項40記載のディジタル信号プロセッサ。 43.ディジタル信号計算を行うコア・プロセッサと、ディジタル信号計算のた め命令とデータとを記憶するメモリと、前記コア・プロセッサと前記メモリとを 相互接続するメモリ・バスとを含むディジタル信号プロセッサにおける、外部D MA装置と前記メモリ間のDMA転送を制御する方法において、 第1の状態と第2の状態間の前記外部DMA装置からのDMA要求信号の遷移 に応答してDMA転送を開始するステップと、 前記DMA要求信号が前記第2の状態において前記外部DMA装置により保持 される時、DMA転送を待機状態に置くステップと、 前記第2の状態と前記第1の状態間の前記DMA要求信号の遷移に応答してD MA転送を完了するステップと を含む方法。 44.前記外部装置に与えられるDMA許与信号を制御することにより、かつメ モリ制御信号を前記外部メモリに与えることによって、前記DMA要求信号に応 答して、前記外部DMA装置と外部メモリ間のDMA転送を制御するステップを ステップを更に含む請求項43記載の方法。 45.ディジタル信号プロセッサにおいて、 ディジタル信号計算を行うコア・プロセッサと、 ディジタル信号計算のため命令とデータとを記憶するメモリと、 前記コア・プロセッサと前記メモリとを相互接続するメモリ・バスと、 外部バスにおける外部DMA装置に接続するための外部ポートと、 前記外部ポートを介する前記外部DMA装置と前記メモリ間のDMA転送を制 御するDMAコントローラと を備え、該DMAコントローラが、第1の状態と第2の状態間の前記外部装置か らのDMA要求信号の遷移に応答して、DMA転送を行う手段と、DMA保持信 号の表明に応答してDMA転送を待機状態に置く手段とを含む、制御手段を含む ディジタル信号プロセッサ。 46.前記DMAコントローラが、前記DMA要求信号に応答して前記外部装置 のレジスタを制御するためDMA許与信号を生成する手段を更に含み、これによ りDMA転送がディジタル信号プロセッサの1つのバス・サイクルで完了できる 請求項45記載のディジタル信号プロセッサ。 47.ディジタル信号プロセッサにおいて、 ディジタル信号計算を行うコア・プロセッサと、 ディジタル信号計算のため命令とデータとを記憶するメモリと、 前記コア・プロセッサと前記メモリとを相互接続するメモリ・バスと、 前記外部装置に対して、リンク・クロックと、それぞれnビットの一連のm/ nニブル(1ニブルは各リンク・クロック・サイクルで伝送される)としてn個 のデータ線に伝送されるmビットのデータ・ワードとを伝送する手段と、前記デ ータ・ワードの伝送の間前記外部装置による確認信号の表明解除に応答して前記 データ・ワードの伝送を完了する手段とを含む、外部装置と通信するためのリン ク・ポートと、 前記リンク・ポートと前記メモリとを相互接続する手段を含むI/Oプロセッ サと、 を備えるディジタル信号プロセッサ。 48.前記リンク・ポートが、前記データ・ワードの伝送の間予め規定されたサ ンプリング時間に前記確認信号をサンプルし、確認信号がサンプリング時に表明 された状態にあるならば、次のデータ・ワードの伝送を進める手段を更に含む請 求項47記載のディジタル信号プロセッサ。 49.前記コア・プロセッサが、クロック周波数を持つクロック信号に応答して 動作し、前記リンク・クロックが前記クロック周波数に等しい周波数を有する請 求項48記載のディジタル信号プロセッサ。 50.前記コア・プロセッサが、クロック周波数を持つクロック信号に応答して 動作し、前記リンク・クロックが前記クロック周波数の整数倍である周波数を持 つ請求項47記載のディジタル信号プロセッサ。 51.nが4である請求項47記載のディジタル信号プロセッサ。 52.mが32または48である請求項51記載のディジタル信号プロセッサ。 53.前記リンク・ポートが、前記リンク・ポートと前記確認信号のみを用いて 予め構成されたプロトコルに従って前記外部装置に信号する手段を更に含む請求 項47記載のディジタル信号プロセッサ。 54.ディジタル信号プロセッサにおいて、 ディジタル信号計算を行うコア・プロセッサと、 ディジタル信号計算のため命令とデータとを記憶するメモリと、 前記コア・プロセッサと前記メモリとを相互接続するメモリ・バスと、 リンク・クロックと、nビットずつの一連のm/nニブル(1ニブルは、各リ ンク・クロック・サイクルごとに受取られる)としてn個のデータ線で受取られ るmビットのデータ・ワードとを前記外部装置から受取る手段と、リンク・バッ ファが一杯である時確認信号を表明解除する確認手段とを含む、外部装置と通信 するためのリンク・ポートと を備え、前記受取り手段が、前記データ・ワードの受取り中に前記確認信号が表 明解除される時、前記データ・ワードの受取りを完了する手段を含み、 前記リンク・ポートと前記メモリとを相互接続する手段を含むI/Oプロセッ サ を備えるディジタル信号プロセッサ。 55.前記リンク・ポートが、前記外部装置から受取ったニブル数をカウントす る手段と、受取られた前記ニブル数が予め規定された値に等しくない時、エラー 信号を生成する手段とを更に含む請求項54記載のディジタル信号プロセッサ。 56.前記確認手段が、前記データ・ワードの最初のニブルが受取られた後に前 記確認信号を表明解除し、かつ次のデータ・ワードが伝送されることを表示する ため前記リンク・バッファが一杯でない時前記確認信号を再び表明する手段を含 む請求項54記載のディジタル信号プロセッサ。 57.nが4に等しい請求項56記載のディジタル信号プロセッサ。 58.前記外部装置が第2のディジタル信号プロセッサを含む請求項54記載の ディジタル信号プロセッサ。 59.ディジタル信号プロセッサと外部装置間で通信する方法において、 (a)前記ディジタル信号プロセッサが、前記外部装置に対して、リンク・ク ロックと、nビットのデータ・ワードとを伝送し、nビットずつの一連のm/n ニブル(1ニブルは、リンク・クロック・サイクルごとに伝送される)としてn 個のデータ線に前記データ・ワードを伝送するステップを含み、 (b)前記外部装置が、切迫したバッファ満杯条件を表示するため前記データ ・ワードの伝送中に確認信号を表明解除し、 (c)前記ディジタル信号プロセッサが、前記外部装置による前記確認信号の 表明解除に応答して前記データ・ワードの伝送を完了する ステップを含む方法。 60.前記データ・ワードの伝送中に予め規定された時点で前記確認信号をサン プリングして、サンプリング時に確認信号が表明された状態にあるならば、次の データ・ワードの伝送を開始する前記ディジタル信号プロセッサを更に含む請求 項59記載の方法。
JP8512740A 1994-10-04 1995-10-04 ディジタル信号プロセッサ Pending JPH10509540A (ja)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US31788694A 1994-10-04 1994-10-04
US31789194A 1994-10-04 1994-10-04
US08/317,313 US5634076A (en) 1994-10-04 1994-10-04 DMA controller responsive to transition of a request signal between first state and second state and maintaining of second state for controlling data transfer
US08/317,886 1994-10-04
US08/317,313 1994-10-04
US08/317,744 US5685005A (en) 1994-10-04 1994-10-04 Digital signal processor configured for multiprocessing
US08/317,744 1994-10-04
US08/317,891 1994-10-04
PCT/US1995/013386 WO1996010904A2 (en) 1994-10-04 1995-10-04 Digital signal processor

Publications (1)

Publication Number Publication Date
JPH10509540A true JPH10509540A (ja) 1998-09-14

Family

ID=27502141

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8512740A Pending JPH10509540A (ja) 1994-10-04 1995-10-04 ディジタル信号プロセッサ

Country Status (4)

Country Link
EP (1) EP0784823A2 (ja)
JP (1) JPH10509540A (ja)
AU (1) AU4194196A (ja)
WO (1) WO1996010904A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005293596A (ja) * 2004-04-02 2005-10-20 Arm Ltd データ要求のアービトレーション

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5117350A (en) * 1988-12-15 1992-05-26 Flashpoint Computer Corporation Memory address mechanism in a distributed memory architecture
EP0427407A3 (en) * 1989-11-03 1993-03-10 Compaq Computer Corporation Parallel port with direct memory access capabilities
KR940003319B1 (ko) * 1991-10-09 1994-04-20 주식회사 금성사 피씨/씨디-롬 드라이브의 인터페이스 방법 및 그 시스템
US5381538A (en) * 1991-10-15 1995-01-10 International Business Machines Corp. DMA controller including a FIFO register and a residual register for data buffering and having different operating modes
JPH0683578A (ja) * 1992-03-13 1994-03-25 Internatl Business Mach Corp <Ibm> 処理システム、及びデータスループット制御方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005293596A (ja) * 2004-04-02 2005-10-20 Arm Ltd データ要求のアービトレーション
JP4642531B2 (ja) * 2004-04-02 2011-03-02 エイアールエム リミテッド データ要求のアービトレーション

Also Published As

Publication number Publication date
WO1996010904A3 (en) 1996-09-12
WO1996010904A2 (en) 1996-04-18
EP0784823A2 (en) 1997-07-23
AU4194196A (en) 1996-05-02

Similar Documents

Publication Publication Date Title
US5619720A (en) Digital signal processor having link ports for point-to-point communication
US5685005A (en) Digital signal processor configured for multiprocessing
US5634076A (en) DMA controller responsive to transition of a request signal between first state and second state and maintaining of second state for controlling data transfer
US5611075A (en) Bus architecture for digital signal processor allowing time multiplexed access to memory banks
US7523228B2 (en) Method for performing a direct memory access block move in a direct memory access device
US4947366A (en) Input/output controller incorporating address mapped input/output windows and read ahead/write behind capabilities
EP0321156B1 (en) Data transfer controller between two busses
US5870625A (en) Non-blocking memory write/read mechanism by combining two pending commands write and read in buffer and executing the combined command in advance of other pending command
US4878166A (en) Direct memory access apparatus and methods for transferring data between buses having different performance characteristics
US6594713B1 (en) Hub interface unit and application unit interfaces for expanded direct memory access processor
US5627976A (en) Crossing transfers for maximizing the effective bandwidth in a dual-bus architecture
US6076139A (en) Multimedia computer architecture with multi-channel concurrent memory access
US6167468A (en) High-throughput interface between a system memory controller and a peripheral device
JP4447892B2 (ja) マルチコア通信モジュールを組み入れたデータ通信システム及び方法
US6415348B1 (en) Flexible microcontroller architecture
GB2201269A (en) Direct memory access system for microcontroller
WO1996000940A1 (en) Pci to isa interrupt protocol converter and selection mechanism
JP2002140289A (ja) 調整可能ワード・サイズ転送とアドレス配列/増加を備えたマイクロコントローラdmaオペレーション
US6892266B2 (en) Multicore DSP device having coupled subsystem memory buses for global DMA access
US20020138156A1 (en) System of connecting multiple processors in cascade
US6122679A (en) Master DMA controller with re-map engine for only spawning programming cycles to slave DMA controllers which do not match current programming cycle
KR950008231B1 (ko) 퍼스널 컴퓨터 시스템
JPH06324988A (ja) 非多重化非同期アドレス/データ・バス・システムを使用するデータ処理システム
US6247101B1 (en) Tagged access synchronous bus architecture
US7006521B2 (en) External bus arbitration technique for multicore DSP device