JP2002196974A - ディジタル信号処理システム - Google Patents

ディジタル信号処理システム

Info

Publication number
JP2002196974A
JP2002196974A JP2001341822A JP2001341822A JP2002196974A JP 2002196974 A JP2002196974 A JP 2002196974A JP 2001341822 A JP2001341822 A JP 2001341822A JP 2001341822 A JP2001341822 A JP 2001341822A JP 2002196974 A JP2002196974 A JP 2002196974A
Authority
JP
Japan
Prior art keywords
memory
processor
access
data
instruction
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
JP2001341822A
Other languages
English (en)
Inventor
Kenneth C Kelly
シー、ケリィ ケネス
Irvinderpal S Ghai
エス、ガーイ アーヴィンダーパル
Jay B Reimer
ビー、ライマー ジェイ
Tai Huu Nguyen
フー ンガイェン タイ
Harland Glenn Hopkins
グレン ホプキンス ハーランド
Yi Luo
ルウ イー
Jason A T Jones
エイ、ティー、ジョーンズ ジェイソン
Dan K Bui
ケイ、ブイ ダン
Patrick J Smith
ジェイ、スミス パトリック
Kevin A Mcgonagle
エイ、マッゴナグル ケヴィン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Texas Instruments Inc
Original Assignee
Texas Instruments Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Texas Instruments Inc filed Critical Texas Instruments Inc
Publication of JP2002196974A publication Critical patent/JP2002196974A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3802Instruction prefetching
    • 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/786Architectures of general purpose stored program computers comprising a single central processing unit with memory on one IC chip (single chip microcontrollers) using a single memory module
    • 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
    • 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
    • G06F9/3879Concurrent instruction execution, e.g. pipeline, look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set
    • 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/3885Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
    • G06F9/3889Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute
    • G06F9/3891Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute organised in groups of units sharing resources, e.g. clusters
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

(57)【要約】 【課題】 多数コアに共有されるプログラム・メモリを
設けることによりサイズ及び電力消費を減少させたディ
ジタル信号処理システムを得る。 【解決手段】 単一のコピーのソフトウェアを多数のプ
ロセッサ・コア(11、12)に共有させ、プログラム
・メモリ(10)を対応する命令バス(P1、P2)に
よりそれぞれのプロセッサ・コア(11、21)に接続
する。プログラム・メモリ(10)は、各クロック・サ
イクルにおいて2つ以上の命令要求をサービスする。デ
ータは、プロセッサ・コア・サブシステム(101、1
02)に対してローカルな、かつ専用のデータ・バス
(D1、D2)を介してプロセッサ・コア(11、2
1)によりアクセス可能な、個別的メモリ・アレー(1
2、13、22、23)に記憶される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、概して、複数のプ
ロセッサ・サブシステムにより共有されるプログラム・
メモリを有する、ディジタル信号処理システムに関す
る。更に詳細には、本発明は、多数の中央処理装置(C
PU)コア間で共有され、かつ同一のクロック・サイク
ルにおいて多数のCPUコアに複数の命令をフェッチす
ることができるプログラム・メモリを有するディジタル
信号処理システムに関する。
【0002】
【従来の技術】一般的に、マイクロプロセッサは、単一
の半導体チップ上に製作された種々の論理回路を含む。
このような論理回路は、典型的には、中央処理装置(C
PU)コア、メモリ及び他の多数のコンポーネントを含
む。テキサス・インスツルメンツ(株)により提供され
ているディジタル信号プロセッサ(DPS)のように、
いくつかのマイクロプロセッサは、同一チップ上に1以
上のCPUコアを含み得る。このような多数コアのDS
P装置の場合に、各CPUコアは、典型的には、データ
及びプログラム命令を記憶している関連メモリを有す
る。換言すれば、多数コアのDSP装置内のあらゆるC
PUコアにおいて、そのCPUコアが使用するために予
約された対応のメモリが存在する。
【0003】
【発明が解決しようとする課題】一般的に、DSPのよ
うなマイクロプロセッサは、コンパクトであること、消
費電力が極めて少ないこと、かつ可能な限り発熱が少な
いことが望ましい。これは、セルラ電話、ページャなど
のようにバッテリ駆動された小さな装置に存在するDS
Pにおいて特に真となる。従って、少ない電力を必要と
する小さく、軽量な装置に帰結するDSP技術では、ど
のような改良も大いに望ましい。
【0004】
【発明を解決するための手段】開示した本発明は、多数
コアのDSP装置においてオンボード・メモリの冗長性
をなくすことにより、コンパクトな低電力設計を効果的
に提供することができる。一実施例において、多数コア
のDSP装置は、共有プログラム・メモリを有する。そ
れぞれのプロセッサ・コアは、同一のソフトウェア・プ
ログラムを実行することができるので、多数のプロセッ
サ・コアが単一コピーのソフトウェアのみを共有するこ
とにより、メモリ要求を減少させることができる。従っ
て、プログラム・メモリは、対応する命令バスにより各
プロセッサ・コアに接続される。プログラム・メモリ
は、好ましくは、各クロック・サイクルにおいて2以上
の命令要求にサービスをする。しかしながら、データ
は、好ましくは、プロセッサ・コア・サブシステムに対
してローカルな独立メモリ・アレーに記憶される。プロ
セッサ・コアは、専用のデータ・バスを介してそれらの
データをそれぞれアクセスする。
【0005】好ましい一実施例によれば、プログラム・
メモリは、各クロック・サイクルの最初の半サイクルで
第1のメモリ・アクセスを実行し、またクロック・サイ
クルの第2の半サイクルで第2のメモリ・アクセスを実
行することができる「ラッパー」(wrapper)を含む。指
定されたセットの命令バスは、第1のアクセスに対して
のみアービトレーションが許容され、残りの命令バス
は、第2のアクセスに対してのみアービトレーションが
許容される。このようにして、オン・ボード・メモリ要
求及び関連した電力消費の減少が効果的に達成される。
【0006】
【発明の実施の形態】本発明の好ましい実施例の詳細な
説明のために、ここで添付図面を参照する。
【0007】(表記及び用語)以下の説明及び特許請求
の範囲の全般にわたって、特定のシステムのコンポーネ
ントを指すために、一定の用語を使用する。当該技術分
野に習熟する者には理解されるように、半導体製造会社
は、異なる名称によりコンポーネントを指すことがあ
る。機能は別として、この文書は、名称において相違す
るコンポーネント間を区別する意図はない。以下の説明
において、及び特許請求の範囲において、用語「含む」
及び「備えている」は、非限定形式により使用され、従
って「含むけれども、・・・・に限定されない」という
ことを意味すると解釈されるべきである。更に、用語
「接続」又は「接続している」は、間接的な又は直接的
な電気接続を意味することを意図している。従って、第
1の装置が第2の装置に接続されているときは、その接
続は、直接的な電気接続による、又は他の装置及び接続
を介した間接的な電気接続であり得る。
【0008】以下、多数コアの固定小数点のディジタル
信号プロセッサ(DSP)チップに関連させて、本発明
の好ましい実施例を説明する。ただし、この実施例は、
この開示の範囲をこの関係に限定されるものではなく、
好ましい実施例は、任意の多数コアのDSP装置に適用
可能性があり、共有資源からの恩恵となる。
【0009】ここで図を参照する。図1は、多数のDS
Pサブシステム101、102と、共有プログラム・メ
モリ(PRAM)10と、メモリ・マップド周辺装置と
して他の外部装置によりDSPチップ100をアクセス
可能にするホスト・ポート・インターフェース(HP
I)17、27とを含むDSPチップ100を示す。D
SPサブシステム101、102は、好ましくは、コア
対コアの通信が可能である。
【0010】各DSPサブシステム101、102(図
1に点線により概要的に区分けされている)は、好まし
くは、DSPコア11、21と、データ又はソフトウェ
ア用の二重アクセスのランダム・アクセス・メモリ(D
ARAM)12、22と、データ用のシングル・アクセ
スのランダム・アクセス・メモリ(SARAM)13、
23と、ブートアップ用の読み出し専用メモリ(RO
M)14、24と、1以上の外部インターフェース1
6、26と、直接メモリ・アクセス(DMA)ロジック
(更に、DMAコントローラとも呼ばれる)15、25
と、他の種々のサポート回路とを含む。DARAM1
2、22は、好ましくは、4メモリ・ブロックを含み、
それぞれクロック・サイクル当り2つのメモリアクセス
をサポートする。DARAM12、22は、第1に、デ
ータ・ストレージ用を意図しているが、同時にプログラ
ム命令を記憶するために使用されてもよい。DSPコア
11、21におけるレジスタ(図示なし)は、DARA
M12、22がプログラム・メモリ空間にマッピングさ
れているのか、又はデータ・メモリ空間にマッピングさ
れているのかを判断する。SARAM13、23は、好
ましくは、更に4メモリ・ブロックを含み、それぞれ
は、クロック・サイクル当り1つのメモリ・アクセスを
サポートする。各SARAMは、好ましくは、データ・
ストレージのための予備とされる。
【0011】共有プログラム・メモリ(PRAM)10
は、好ましくは、プログラム命令のための予備とされ、
二重アクセスRAMの16ブロックを含む。ブロック・
サイズ及びブロック数は、所望により変更されてもよい
が、各ブロックは、16キロバイトのストレージを備え
る。PRAM10は、各サブシステムが一つの部分を有
することにより、部分10A、10Bに物理的に実施さ
れてもよい。各DSPサブシステム101、102は、
好ましくは、各クロック・サイクルにおいてPRAM1
0の任意位置からフェッチされた命令を実行することが
できる。好ましい実施例によれば、DSPコア11、2
1は、PRAM10に対する書き込みが許可されない。
代わって、DMAロジック15、25は、PRAM10
にソフトウェアを記憶させる。このソフトウェアは、H
PI17、27を介してホスト・プロセッサにより提供
されてもよい。
【0012】図1を参照する。命令バスP1、P2は、
DSPコア11、21、DARAM12、22、ROM
14、24、及びPRAM10を相互に接続する。各D
SPコア11、21は、好ましくは、関連するデータ・
バスD1、D2を有し、これらは、DSPコア11、2
1と、これに関連するデータ・ストレージ装置のDAR
AM12、22と、SARAM13、23との間のデー
タ転送を容易にする。各DSPコア11、21は、好ま
しくは、PRAM10からこれに関連した命令バスP
1、P2を介して命令を読み出す。DSPコア11、2
1は、PRAM10に記憶された単一のプログラムから
個別の複数の命令をフェッチし、かつ実行し、またプロ
セッサ・コアによりプログラム命令が実行される順序
は、プロセッサ・コアが動作しているデータに依存す
る。例えば、コアが動作するデータは、電話による通信
を表しているとしてもよい。各コアは、異なるチャネル
・セットに対して責任を伴うこともあり、これらのチャ
ネルは、通信を独立して開始し、かつ終結するので、こ
れらのプロセッサは、適当なソフトウェア命令を独立し
て実行する。データは、命令を実行する順序を決定す
る。
【0013】各DMAロジック15、25は、ローカル
・データ・ストレージ装置から及びこれへ、及び関連す
るメモリ・バスM1、M2を介して共有PRAM10
へ、データ及び命令の移動をする。各DMAロジック1
5、25は、更に、種々の外部インターフェース16、
26、及びHPI17、27に接続される。HPI1
7、27は、外部ホスト・プロセッサがDMAロジック
15、25を介して全ての内部メモリをアクセスできる
ようにする。
【0014】総合的なシステム設計を簡単にするため
に、HPI17、27は、メモリ・インターフェースを
模擬するように設計される。即ち、ホスト・プロセッサ
は、HPI17、27に所望の位置を表すアドレスを送
出することにより、DSPチップ100及び多くのDS
Pコア・レジスタ内の任意のメモリ位置における内容を
「見る」ことができる。HPI17、27のうちの1イ
ンターフェースは、メモリ装置のときと同一方法によ
り、関連するDMAロジック15、25が所望の情報を
取り出し、次いでこの情報を供給する。HPI17、2
7は、好ましくは、ホスト・プロセッサに対してスレー
ブ装置として動作するが、しかしDMAロジック15、
25が他のタスクによりビジーであれば、アクセス中は
ホスト・プロセッサをストール(stall)させるようにホ
スト・プロセッサへ信号を発生する。
【0015】外部インターフェース16、26は、好ま
しくは、1以上の多チャネル直列インターフェースをそ
れぞれ含む。多チャネル直列ポートは、他のDSPチッ
プと直接インターフェースするために二重バッファ付き
の高速全二重の直列通信を提供する。これらのポートの
構成は、好ましくは、既存の標準プロトコルにより直接
インターフェースできるようにホストCPUによりプロ
グラム可能である。各外部インターフェース16、26
は、好ましくは、多チャネル送信及び128チャネルま
での多チャネル送受信をサポートする。多チャネル直列
ポートは、多チャネルがエネーブルにされたときに、時
分割マルチプレクス及びデマルチプレクス処理を実行す
る。送受信される各データ・フレームは、1チャネルの
内容が他のチャネルの内容とインターリーブされるよう
に、時分割多重化(TDM)されたデータ・ストリーム
を表す。
【0016】DMAロジック15、25は、DSPコア
11、21から独立してデータ転送を実行する。DMA
コントローラは、内部メモリ(PRAM10、DARA
M12、22及びSARAM13、23)をアクセスす
る。DMAロジック15、25は、外部メモリと、内部
メモリと、外部インターフェース16、26及びHPI
17、27のような内部周辺装置との間のデータのバッ
クグラウンド移動を実行することができる。各DMAコ
ントローラは、好ましくは、多ブロック転送を独立して
同時管理するための多「チャネル」を提供する。DMA
転送は、データをDMAコントローラに対して内部のメ
モリにまず読み出し、次にDMAコントローラ・メモリ
からのデータを所望の行き先に書き込むことにより達成
される。内部メモリに対するDSPコア・メモリ・アク
セスがDMAコントローラ・アクセスと競合するとき
に、DMAコントローラ・アクセスは、好ましくは、高
い優先度が与えられる。メモリ・バスM1及びM2は、
DSPコアがローカル・データ・メモリ(DARAM1
2、22又はSARAM13、23)間のDMAデータ
転送により通信できるように、バス・インターフェース
(図示なし)により接続される。
【0017】ここで、図2Aを参照する。共有されたP
RAM10は、好ましくは、アドレス・デコーダ及び読
み出し・書き込み回路(特に図示していない)のような
メモリ・アレー及び周知のサポート回路を有するランダ
ム・アクセス・メモリ(RAM)40を含む。加えて、
PRAM10は、好ましくは、図2Aに示すように、メ
モリ「ラッパー」30を含む。メモリ・ラッパー30
は、RAM40を設け、同一のクロック・サイクルにお
いて多重DSPコア・アクセスを許容する所望の機能を
有するサポート回路を備えている。メモリ・ラッパー3
0は、関連するマルチプレクサ32を有する第2のアー
ビトレーション・ユニット33、これに関連したマルチ
プレクサ39を有する第3のアービトレーション・ユニ
ット38、時分割マルチプレクサ35、遅延ラッチ36
及び出力レジスタ37を含む。
【0018】図1及び図2Aの実施例において、DSP
チップ100は、2つのDSPサブシステム101、1
02のみを含む。当該技術分野に習熟する者は理解する
ように、それぞれ対応するプロセッサ・コアを有する2
以上のDSPサブシステムが存在し得る。このDSPサ
ブシステムは、2つのセットに分割される。この説明の
場合に、第1セットは、DSPサブシステム101から
なり、また第2セットは、DSPサブシステム102か
らなる。第1セット(P1)におけるプロセッサ・コア
から命令バスは、第1のアービトレーション・ユニット
31に接続され、また第2セット(P2)におけるプロ
セッサ・コアから命令バスは、第2のアービトレーショ
ン・ユニット33に接続される。全サブシステムからの
メモリ・バスM1、M2は、第3のアービトレーション
・ユニット38及び関連するマルチプレクサ39を介し
て両アービトレーション・ユニット31、33に接続さ
れる。
【0019】各アービトレーション・ユニット31、3
3、38は、RAM40に対するアクセスの要求を受け
取る。アービトレーション・ユニットが1以上の要求を
受け取ると、このアービトレーション・ユニットは、要
求のうちの1つを選択し、残りをストールさせておく。
競合を解消する際に、アービトレーション・ユニット3
1、33は、好ましくは、メモリ・バスM1、M2から
のアクセス要求に対して優先度を与える。DMA読み出
し要求は、第1のアービトレーション・ユニット31に
よってのみサービスされ、またDMA書き込み要求は、
第2のアービトレーション・ユニット33によってのみ
サービスされる。与えられたサイクルでは、アービトレ
ーション・ユニット38により、1つのメモリ・バスM
1又はM2のみがアクセスについて許可される。アービ
トレーション・ユニットが少なくとも1つの要求を受け
付けると、アービトレーション・ユニットが関連するマ
ルチプレクサ32、34、39をセットして選択した要
求をその先へ転送する。
【0020】時分割マルチプレクサ35は、アービトレ
ーション・ユニット31、33により選択されたアクセ
ス要求を受け付ける。インバータ41は、クロック信号
を受け取り、反転させる。クロック信号(CLK)は、
図1に特に示していないDSPチップ100内の他の場
所にあるクロック発生回路により発生されてもよい。反
転されたクロック信号は、時分割マルチプレクサ35用
の選択信号として機能する。反転されたクロック信号が
ローのときは、時分割マルチプレクサ35は、第1のア
ービトレーション・ユニット31により選択されたメモ
リ・アクセスをRAM40へ転送させる。転送されたメ
モリ・アクセスは、図示のようなアドレスAを含む。こ
のクロック・サイクルの最初の半サイクルにおいて、R
AM40は、アクセス要求のサービスをし、どのような
出力Qも遅延ラッチ36に供給する。反転されたクロッ
ク信号の正方向変化(即ち、ローからハイへの)遷移に
より、遅延ラッチ36がラッチをしてその出力値を出力
レジスタ37へ転送する。、一方、時分割マルチプレク
サ35は、その反転クロック信号がハイになると、第2
のアービトレーション・ユニット33により選択された
メモリ・アクセスをRAM40へ転送して、アクセス要
求のサービスをして、全ての出力Qを出力レジスタ37
に供給する。非反転クロック信号の正方向遷移により、
出力レジスタ37がラッチをし、RAM40の出力及び
遅延ラッチ36の出力を転送する。このようにして、2
つのプロセッサ・コアは、1クロック・サイクルにおい
て共有したPRAM10から複数プログラム命令を独立
的に読み出すことができる。
【0021】2つ以上のプロセッサ・コアを有するシス
テムにおいて、1つ以上のプロセッサ・コアの命令バス
は、第1のアービトレーション・ユニット31に接続可
能とされ、残りのプロセッサ・コアの命令バスは、第2
のアービトレーション・ユニット33に接続可能とされ
る。現在のクロック・サイクルにおいて許可されていな
いメモリ・アクセス要求を有するプロセッサ・コアは、
少なくともアクセスがサービスされる次のクロック・サ
イクルまで、強制的に待機される。これらの要求は、要
求がサービスされるまで、共通既知のバス肯定応答信号
をローに保持することにより、ストール可能にされる。
プロセッサ・コア間のアクセス競合は、好ましくは、1
つのプロセッサ・コアに対する差別的な取り扱いをなく
すためにシステマティクな形式によりアービトレーショ
ン優先度をシフトさせる。DMA転送のストールを避け
るためにメモリ・バス・アクセスには常時最高の優先度
を与えることが好ましい。共有されたPRAM10に対
するDMAアクセスは、以上で説明したように、初期化
プログラムのロード中でのみ実行される。通常の動作に
おいて、これらのアクセスは、典型的には、発生しな
い。
【0022】複数のプロセッサ・コアを複数のアービト
レーション・ユニットに接続するときは、PRAMから
物理的に最も遠いコアを第2のアービトレーション・ユ
ニット33へ接続することが望ましいことに注意すべき
である。アービトレーション・ユニット33を介して実
行されるアクセスは、クロック・サイクルの次の半サイ
クルにおいて実行されるので、これは、更に遠いプロセ
ッサ・コアからの信号伝搬に更なる時間を許容し、従っ
ていくらかタイミング上の制約を軽減する。
【0023】図3及び図4は、命令バスP1、P2及び
メモリ・ラッパー30の信号タイミングを示す。DSP
コア11、21は、命令バスP1、P2の選択信号P1
SEL、P2SELを主張し、かつこれらに対応するP
1、P2の所望命令アドレスを供給することにより、メ
モリ・アクセスを要求する。メモリ・ラッパー30は、
クロック・サイクルの最初の半サイクルにおいて第1の
アドレスAとしてP1命令バス・アドレスP1ADDを
RAM40に転送し、かつクロック・サイクルの次の半
サイクルにおいてアドレスAとしてP2命令バス・アド
レスP2ADDをRAM40に転送する(図3及び図4
を比較すること)。クロック・サイクルの次の半サイク
ルにおいて、命令バスP1を介して要求される出力デー
タQは、RAM40によりメモリ・ラッパー30に供給
され、またクロック・サイクルの次の半サイクル後に
(次のクロック・サイクルの先頭)、命令バスP2によ
り要求された出力データQが供給される。出力データQ
は、P1DAT及びP2DATとしてラッチされ、個別
的なDSPコア11、21に転送される前に、メモリ・
ラッパー30により完全なクロック・サイクルについて
保持される。
【0024】図2Bは、メモリ・ラッパー30Aが共有
されたPRAM10の部分10Aに供給される。他の部
分10Bは同一のメモリ・ラッパーを有する。図2Bに
おけるものと同一番号付けのコンポーネントは、それと
同一の機能を実行する。ローカル・メモリ・バスM1の
みが部分10Aに接続されているので、メモリ・ラッパ
ー30Aはメモリ・バスM1とM2との間でアービトレ
ーションをする第3のアービトレータは、不必要である
ことに注意すべきである。部分10Bも同様にメモリ・
バスM2に接続される。更に多くのプロセッサ・サブシ
ステムを有するディジタル信号プロセッサでは、更に多
くの部分に共有プログラム・メモリを実施することもで
き、各部分がローカル・メモリ・バスに接続される。
【0025】以上の説明は、本発明の原理及び種々の実
施例を説明することを意図している。多数の変形及び変
更は、以上の開示を十分に理解すれば、当該技術分野に
習熟する者において明らかとなる。以下の特許請求の範
囲は、このような変形及び変更の全てを含むと解釈され
ることを意図している。
【0026】以上の説明に関して更に以下の項を開示す
る。
【0027】(1) ディジタル信号処理システムにお
いて、共有プログラム・メモリと、複数のプロセッサ・
サブシステムとを備え、前記プロセッサ・サブシステム
は、プロセッサ・コアと、前記プロセッサ・コアを前記
共有プログラム・メモリに接続する命令バスとを備え、
前記プログラム・メモリは、各クロック・サイクルにお
いて命令バスを介して受け取る多数の命令要求をサービ
スするように構築されたディジタル信号処理システム。
【0028】(2)前記共有プログラム・メモリ及び前
記複数のプロセッサ・サブシステムは、単一チップ上に
製作された(1)記載のディジタル信号処理システム。
【0029】(3)前記共有プログラム・メモリは、メ
モリ・アレーと、前記メモリ・アレーに接続されたメモ
リ・ラッパーとを含み、前記メモリ・ラッパーは、前記
2つの命令要求を受け取るように構築された時分割マル
チプレクサを含み、前記時分割マルチプレクサは、前記
クロック・サイクルの最初の半サイクルにおいて前記2
つの命令要求のうちの第1の命令要求を前記メモリ・ア
レーに転送するように構築され、かつ前記クロック・サ
イクルの次の半サイクルにおいて前記2つの命令要求の
うちの第2の命令要求を前記メモリ・アレーに転送する
ように構築された(1)記載のディジタル信号処理シス
テム。
【0030】(4)前記メモリ・ラッパーは、更に、前
記メモリ・ラッパーに接続され、かつ前記第1の命令要
求の結果をラッチするように構築された遅延ラッチと、
前記遅延ラッチ及び前記メモリ・アレーに接続された出
力ラッチとを含み、前記出力ラッチは、前記第2の命令
要求の複数結果、及び遅延されたメモリ・アレー出力を
同時にラッチするように構築された(3)記載のディジ
タル信号処理システム。
【0031】(5)前記メモリ・ラッパーは、更に、前
記命令バスのうちの第1の命令バスにそれぞれ接続され
た第1のアービトレーション・ユニット及び第1のマル
チプレクサであって、前記第1のアービトレーション・
ユニットは、アクセス・ユニットを選択するように構築
され、かつ前記2つの命令要求のうちの第1の命令要求
として、選択したアクセス要求を前記時分割マルチプレ
クサに転送するように構築された第1のアービトレーシ
ョン・ユニット及び第1のマルチプレクサ前記第1のマ
ルチプレクサと、前記複数の命令バスのういちの第2の
異なる命令バスにそれぞれ接続された第2のアービトレ
ーション・ユニット及び第2のマルチプレクサであっ
て、前記第2のアービトレーション・ユニットは、アク
セス・ユニットを選択するように構築され、かつ前記2
つの命令要求のうちの第2の命令要求として、選択した
アクセス要求を前記時分割マルチプレクサに転送するよ
うに構築された前記第2のアービトレーション・ユニッ
ト及び前記第2のマルチプレクサとを含む(3)記載の
ディジタル信号処理システム。
【0032】(6)前記プロセッサ・サブシステムは、
それぞれ更に、前記命令バスと別個にデータ・バスを介
して前記プロセッサ・コアに接続されたデータ・メモリ
を含み、前記プロセッサ・コアは、前記命令バスを介し
て受け取ったプログラム命令に従って前記データ・メモ
リからのデータにより動作するように構成された(5)
記載のディジタル信号処理システム。
【0033】(7)前記プロセッサ・サブシステムは、
それぞれ更に、直接メモリ・アクセス(DMA)コント
ローラと、前記DMAコントローラを前記データ・メモ
リ及び前記共有プログラム・メモリに接続するメモリ・
バスとを含み、前記メモリ・バスは、前記命令バスから
分離され、かつ前記データ・バスから分離されている
(6)記載のディジタル信号処理システム。
【0034】(8)前記メモリ・ラッパーは、更に、全
ての前記メモリ・バスにそれぞれ接続された第3のアー
ビトレーション・ユニット及び第3のマルチプレクサを
含み、前記第3のアービトレーション・ユニットは、前
記メモリ・バスを介して受け取ったアクセス要求を選択
するように構築され、かつ前記第3のマルチプレクサを
制御して前記第3のマルチプレクサを選択したアクセス
要求を前記第1及び第2のアービトレーション・ユニッ
トに転送するように構築された(7)記載のディジタル
信号処理システム。
【0035】(9)前記第1のアービトレーション・ユ
ニットは、前記アクセス要求が読み出し要求であるとき
にのみ、前記第3のマルチプレクサから受け取ったアク
セス要求を選択し、かつ前記第2のアービトレーション
・ユニットは、前記アクセス要求が書き込み要求である
ときにのみ、前記第3のマルチプレクサから受け取った
アクセス要求を選択する(8)記載のディジタル信号処
理システム。
【0036】(10)前記第1及び第2のアービトレー
ション・ユニットは、第3のマルチプレクサから受け取
った複数のアクセス要求に対して優先度を許可する
(9)記載のディジタル信号処理システム。
【0037】(11)前記プロセッサ・コアは、前記共
有プログラム・メモリに記憶された単一のプログラムか
ら独立した複数の命令を並列に実行するように構築され
た(1)記載のディジタル信号処理システム。
【0038】(12)更に、各プロセッサ・サブシステ
ム用に個別的な二重アクセス・データ・メモリを備え、
各二重アクセス・データ・メモリは、前記命令バスから
別個のデータ・バスを介して前記プロセッサ・コアへ接
続され、前記プロセッサ・サブシステムのプロセッサ・
コアは、前記命令バスを介して読み込まれたプログラム
命令に従ってデータ・メモリからのデータにより動作す
るように構築された(1)記載のディジタル信号処理シ
ステム。
【0039】(13)更に、各プロセッサ・サブシステ
ムに対して個別的なブートROMを備え、各ブートRO
Mは、前記命令バスを介して前記プロセッサ・コアに接
続された(1)記載のディジタル信号処理システム。
【0040】(14)更に、各プロセッサ・サブシステ
ムに対して個別的な外部アクセス・ポートを備え、各外
部アクセス・ポートは、前記プロセッサ・サブシステム
のDMAコントローラに接続された(7)記載のディジ
タル信号処理システム。
【0041】(15)更に、ホスト・ポート・マルチプ
レクサと、各プロセッサ・サブシステムように個別的な
ホスト・ポート・インターフェースとを備え、各ホスト
・ポート・インターフェースは、前記プロセッサ・サブ
システムのDMAコントローラに接続され、かつ各ホス
ト・ポート・インターフェースは、前記ホスト・ポート
・マルチプレクサを介してホスト・プロセッサと通信す
るように構築された(7)記載のディジタル信号処理シ
ステム。
【0042】(16)多数コアのDSP装置(100)
が冗長性をなくすように共有されたプログラム・メモリ
(10)を含み、これによってDSP装置(100)の
サイズ及び電力消費を減少させる。それぞれのプロセッ
サ・コア(11、21)が典型的に同一ソフトウェア・
プログラムを実行するために、単一コピーのソフトウェ
アのみを多数のプロセッサ・コア(11、12)が共有
することにより、メモリ要求を減少することが可能であ
る。従って、プログラム・メモリ(10)は、対応する
命令バス(P1、P2)によりそれぞれのプロセッサ・
コア(11、21)に接続される。プログラム・メモリ
(10)は、好ましくは、各クロック・サイクルにおい
て2以上の命令要求にサービスをする。データは、好ま
しくは、プロセッサ・コア・サブシステム(101、1
02)に対してローカルな、かつ専用のデータ・バス
(D1、D2)を介してプロセッサ・コア(11、2
1)によりアクセス可能な、個別的メモリ・アレー(1
2、13、22、23)に記憶される。特定の一実施例
では、プログラム・メモリ(10)は、各クロック・サ
イクルの最初の半サイクルにおいて第1のメモリ・アク
セス、及び各クロック・サイクルの次の半サイクルにお
いて第2のメモリ・アクセスを実行できるラッパーを含
む。指定されたセットの命令バス(P1)は、第1のア
クセスに対してのみアービトレーションが許容され、か
つ残りの命令バス(P2)は、第2のアクセスに対して
のみアービトレーションが許容される。このようにし
て、オン・ボードのメモリ・ラッパー及び関連する電力
消費の減少を効果的に達成することができる。
【図面の簡単な説明】
【図1】2つのプロセッサ・コアが1つのプログラム・
メモリを共有する本発明の好ましい実施例を示すブロッ
ク図である。
【図2A】共有プログラム・メモリ・ラッパーの一実施
例を示すブロック図である。
【図2B】共有プログラム・メモリ・ラッパーの他の実
施例を示すブロック図である。
【図3】単一クロック・サイクルにおいてどのようにし
てメモリ・アクセスをサービスできるのかを説明するタ
イミングを示す図である。
【図4】単一クロック・サイクルにおいてどのようにし
てメモリ・アクセスをサービスできるのかを説明するタ
イミングを示す図である。
【符号の説明】
1 プログラム・メモリ 11、21 プロセッサ・コア 12、13、22、23 DARAM 101、102 DSPサブシステム D1、D2 データ・バス P1、P2 命令バス
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ジェイ ビー、ライマー アメリカ合衆国 テキサス、ヒュースト ン、ハンティング ブライアー 12615 (72)発明者 タイ フー ンガイェン アメリカ合衆国 テキサス、ヒュースト ン、アシュフィールド ドライヴ 3226 (72)発明者 ハーランド グレン ホプキンス アメリカ合衆国 テキサス、ミズーリ シ ティ、ゴールデン ティー レイン 3606 (72)発明者 イー ルウ アメリカ合衆国 テキサス、スタッフォー ド、カークウッド ストリート 12840、 アパートメント 324 (72)発明者 ジェイソン エイ、ティー、ジョーンズ アメリカ合衆国 テキサス、ヒュースト ン、デル モンテ 6403、ナンバー 219 (72)発明者 ダン ケイ、ブイ アメリカ合衆国 テキサス、シュガーラン ド、ホワイト フォージ レイン 15010 (72)発明者 パトリック ジェイ、スミス アメリカ合衆国 テキサス、ヒュースト ン、ニューキャッスル ドライヴ 3222 (72)発明者 ケヴィン エイ、マッゴナグル アメリカ合衆国 テキサス、シュガーラン ド、ウェストブルック フォレスト ドラ イヴ 8511 Fターム(参考) 5B045 BB12 BB28 DD01 EE03 EE11 5B060 CC01 KA02

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 ディジタル信号処理システムにおいて、 共有プログラム・メモリと、 複数のプロセッサ・サブシステムとを有し、前記各プロ
    セッサ・サブシステムは、 プロセッサ・コアと、前記プロセッサ・コアを前記共有
    プログラム・メモリに接続する命令バスとを有し、前記
    プログラム・メモリは、各クロック・サイクルで命令バ
    スを介して受け取る多数の命令要求をサービスするよう
    に構築されたことを、備えたディジタル信号処理システ
    ム。
JP2001341822A 2000-11-08 2001-11-07 ディジタル信号処理システム Pending JP2002196974A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US246648 1994-05-20
US24664800P 2000-11-08 2000-11-08

Publications (1)

Publication Number Publication Date
JP2002196974A true JP2002196974A (ja) 2002-07-12

Family

ID=22931584

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001341822A Pending JP2002196974A (ja) 2000-11-08 2001-11-07 ディジタル信号処理システム

Country Status (5)

Country Link
US (1) US6691216B2 (ja)
EP (1) EP1239374B1 (ja)
JP (1) JP2002196974A (ja)
AT (1) ATE435461T1 (ja)
DE (1) DE60139109D1 (ja)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6976141B2 (en) * 2000-11-03 2005-12-13 Broadcom Corporation Pipelined multi-access memory apparatus and method
US6691216B2 (en) * 2000-11-08 2004-02-10 Texas Instruments Incorporated Shared program memory for use in multicore DSP devices
US6862640B2 (en) * 2001-04-10 2005-03-01 Texas Instruments Incorporated Arbitration in local system for access to memory in a distant subsystem
US7131114B2 (en) * 2001-07-16 2006-10-31 Texas Instruments Incorporated Debugger breakpoint management in a multicore DSP device having shared program memory
US6871247B1 (en) * 2001-11-08 2005-03-22 Lsi Logic Corporation Mechanism for supporting self-modifying code in a harvard architecture digital signal processor and method of operation thereof
US7237071B2 (en) * 2001-12-20 2007-06-26 Texas Instruments Incorporated Embedded symmetric multiprocessor system with arbitration control of access to shared resources
US7117389B2 (en) * 2003-09-18 2006-10-03 International Business Machines Corporation Multiple processor core device having shareable functional units for self-repairing capability
US7389405B2 (en) * 2003-11-17 2008-06-17 Mediatek, Inc. Digital signal processor architecture with optimized memory access for code discontinuity
DE102004036233B3 (de) * 2004-07-26 2005-11-17 Infineon Technologies Ag Mikrocontroller- bzw. Mikroprozessor-System
US7664970B2 (en) * 2005-12-30 2010-02-16 Intel Corporation Method and apparatus for a zero voltage processor sleep state
US7966511B2 (en) 2004-07-27 2011-06-21 Intel Corporation Power management coordination in multi-core processors
US7255747B2 (en) 2004-12-22 2007-08-14 Sokudo Co., Ltd. Coat/develop module with independent stations
US7798764B2 (en) 2005-12-22 2010-09-21 Applied Materials, Inc. Substrate processing sequence in a cartesian robot cluster tool
US7699021B2 (en) 2004-12-22 2010-04-20 Sokudo Co., Ltd. Cluster tool substrate throughput optimization
US7356680B2 (en) * 2005-01-22 2008-04-08 Telefonaktiebolaget L M Ericsson (Publ) Method of loading information into a slave processor in a multi-processor system using an operating-system-friendly boot loader
US9183087B2 (en) * 2005-06-07 2015-11-10 Seagate Technology Llc Data storage subgroup with local and shared resources
US20070150895A1 (en) * 2005-12-06 2007-06-28 Kurland Aaron S Methods and apparatus for multi-core processing with dedicated thread management
US8082289B2 (en) 2006-06-13 2011-12-20 Advanced Cluster Systems, Inc. Cluster computing support for application programs
US7533222B2 (en) * 2006-06-29 2009-05-12 Mosys, Inc. Dual-port SRAM memory using single-port memory cell
DE102007004280A1 (de) * 2007-01-23 2008-07-24 Siemens Ag Ein-Chip-Computer und Tachograph
CN101415068A (zh) * 2007-10-18 2009-04-22 鸿富锦精密工业(深圳)有限公司 信息处理系统及方法
US8131975B1 (en) 2008-07-07 2012-03-06 Ovics Matrix processor initialization systems and methods
US7958341B1 (en) 2008-07-07 2011-06-07 Ovics Processing stream instruction in IC of mesh connected matrix of processors containing pipeline coupled switch transferring messages over consecutive cycles from one link to another link or memory
US8327114B1 (en) 2008-07-07 2012-12-04 Ovics Matrix processor proxy systems and methods
US7870365B1 (en) 2008-07-07 2011-01-11 Ovics Matrix of processors with data stream instruction execution pipeline coupled to data switch linking to neighbor units by non-contentious command channel / data channel
US8145880B1 (en) 2008-07-07 2012-03-27 Ovics Matrix processor data switch routing systems and methods
JP5578811B2 (ja) * 2009-06-30 2014-08-27 キヤノン株式会社 情報処理装置、情報処理装置の制御方法及びプログラム
US8381006B2 (en) 2010-04-08 2013-02-19 International Business Machines Corporation Reducing power requirements of a multiple core processor
US10031888B2 (en) * 2011-02-17 2018-07-24 Hyperion Core, Inc. Parallel memory systems
US9514069B1 (en) 2012-05-24 2016-12-06 Schwegman, Lundberg & Woessner, P.A. Enhanced computer processor and memory management architecture
US9442559B2 (en) 2013-03-14 2016-09-13 Intel Corporation Exploiting process variation in a multicore processor
CN104301016B (zh) * 2014-09-28 2018-08-28 北京邮电大学 一种基于多核dsp的mimo并行检测方法及系统
EP3289442B1 (en) * 2015-04-30 2023-04-19 Microchip Technology Incorporated Central processing unit with enhanced instruction set
GB2542853B (en) * 2015-10-02 2021-12-15 Cambridge Consultants Processing apparatus and methods
US10073718B2 (en) 2016-01-15 2018-09-11 Intel Corporation Systems, methods and devices for determining work placement on processor cores
US10565109B2 (en) 2017-09-05 2020-02-18 International Business Machines Corporation Asynchronous update of metadata tracks in response to a cache hit generated via an I/O operation over a bus interface
US10635494B2 (en) * 2018-05-08 2020-04-28 Microchip Technology Incorporated Memory pool allocation for a multi-core system
CN111258769B (zh) * 2018-11-30 2022-12-09 上海寒武纪信息科技有限公司 数据传输装置和方法
US11157206B2 (en) * 2019-07-01 2021-10-26 Realtek Singapore Private Limited Multi-die system capable of sharing non-volatile memory
CN112243266B (zh) * 2019-07-18 2024-04-19 大唐联仪科技有限公司 一种数据组包方法及装置
CN112559434B (zh) * 2019-09-25 2023-12-08 阿里巴巴集团控股有限公司 一种多核处理器及核间数据转发方法
WO2021174446A1 (zh) * 2020-03-04 2021-09-10 北京希姆计算科技有限公司 一种数据处理装置及数据处理方法
TWI816032B (zh) * 2020-04-10 2023-09-21 新唐科技股份有限公司 多核心處理器電路

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4447877A (en) * 1978-11-08 1984-05-08 Data General Corporation Memory bus interface system
US5590349A (en) 1988-07-11 1996-12-31 Logic Devices, Inc. Real time programmable signal processor architecture
SE9203016L (sv) 1992-10-14 1994-04-15 Ericsson Telefon Ab L M Signalbehandlingssystem med delat dataminne
US5471588A (en) 1992-11-25 1995-11-28 Zilog, Inc. Technique and circuit for providing two or more processors with time multiplexed access to a shared system resource
US5838934A (en) * 1995-06-07 1998-11-17 Texas Instruments Incorporated Host port interface
US5890013A (en) 1996-09-30 1999-03-30 Intel Corporation Paged memory architecture for a single chip multi-processor with physical memory pages that are swapped without latency
KR100240572B1 (ko) 1996-12-05 2000-01-15 윤종용 프로그램 메모리를 공유하는 멀티 프로세서 시스템
JP2000067020A (ja) 1998-08-20 2000-03-03 Nec Corp マルチプロセッサシステム
US20020004877A1 (en) * 1999-04-14 2002-01-10 Brian Boles Method and system for updating user memory in emulator systems
US6691216B2 (en) * 2000-11-08 2004-02-10 Texas Instruments Incorporated Shared program memory for use in multicore DSP devices
US6892266B2 (en) * 2000-11-15 2005-05-10 Texas Instruments Incorporated Multicore DSP device having coupled subsystem memory buses for global DMA access
US6895479B2 (en) * 2000-11-15 2005-05-17 Texas Instruments Incorporated Multicore DSP device having shared program memory with conditional write protection
US6862640B2 (en) * 2001-04-10 2005-03-01 Texas Instruments Incorporated Arbitration in local system for access to memory in a distant subsystem

Also Published As

Publication number Publication date
ATE435461T1 (de) 2009-07-15
EP1239374B1 (en) 2009-07-01
US20020056030A1 (en) 2002-05-09
US6691216B2 (en) 2004-02-10
EP1239374A1 (en) 2002-09-11
DE60139109D1 (de) 2009-08-13

Similar Documents

Publication Publication Date Title
JP2002196974A (ja) ディジタル信号処理システム
US7266632B2 (en) Programmable logic device including programmable interface core and central processing unit
US6769046B2 (en) System-resource router
US7246188B2 (en) Flow control method to improve bus utilization in a system-on-a-chip integrated circuit
US6950910B2 (en) Mobile wireless communication device architectures and methods therefor
TWI443675B (zh) 記憶體系統以及存取記憶體之方法
US20040123036A1 (en) AMBA modular memory controller
US6892266B2 (en) Multicore DSP device having coupled subsystem memory buses for global DMA access
JP2004171209A (ja) 共有メモリデータ転送装置
KR20090054793A (ko) 멀티미디어 시스템용 SoC 시스템
US20050177674A1 (en) Configurable embedded processor
JPH11238033A (ja) 情報処理装置用バス、バス制御方法及びバス制御装置
US9104819B2 (en) Multi-master bus architecture for system-on-chip
US7006521B2 (en) External bus arbitration technique for multicore DSP device
JP2001117858A (ja) データ処理装置
JPH052552A (ja) バーストモード能力を備えたワークステーシヨン
US7031337B2 (en) Data processing apparatus and slave interface mechanism for controlling access to a slave logic unit by a plurality of master logic units
US6862640B2 (en) Arbitration in local system for access to memory in a distant subsystem
US20040064662A1 (en) Methods and apparatus for bus control in digital signal processors
JP4603054B2 (ja) スケーラブルバス構造
WO2001067271A1 (fr) Dispositif de traitement d'informations
JP3505551B2 (ja) データ転送制御装置とデータ転送制御システム
JP2002278922A (ja) コンピュータバスシステム
JPH0535695A (ja) マルチプロセツサシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041108

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070209

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070629