JP2000215057A - デ―タ処理装置及び電気通信装置及び情報処理方法及びハ―ドウェア高速化を使用する方法 - Google Patents

デ―タ処理装置及び電気通信装置及び情報処理方法及びハ―ドウェア高速化を使用する方法

Info

Publication number
JP2000215057A
JP2000215057A JP11321525A JP32152599A JP2000215057A JP 2000215057 A JP2000215057 A JP 2000215057A JP 11321525 A JP11321525 A JP 11321525A JP 32152599 A JP32152599 A JP 32152599A JP 2000215057 A JP2000215057 A JP 2000215057A
Authority
JP
Japan
Prior art keywords
data processing
bus
register
processing apparatus
processing device
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
JP11321525A
Other languages
English (en)
Other versions
JP2000215057A5 (ja
Inventor
Gilbert Laurenti
ラウレンティ ジルベルト
Karim Djafarian
ドジャファリアン カリム
Jean-Pierre Giacalone
− ピエレ ジアカローネ ジーン
Armelle Laine
ライネ アルメレ
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 JP2000215057A publication Critical patent/JP2000215057A/ja
Publication of JP2000215057A5 publication Critical patent/JP2000215057A5/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)
  • Complex Calculations (AREA)

Abstract

(57)【要約】 【課題】 データ処理システムにおけるプロセッサが単
一サイクルにより多重オペレーションを実行できるよう
にした装置及び方法を提供する。 【解決手段】 データ処理装置において、ランダム・ア
クセス・メモリ(104)と、プロセッサ(12、16
8)と、前記ランダム・アクセス・メモリ(104)を
前記プロセッサ(12、168)に接続して単一サイク
ルにおいて多重オペレーションを実行する能力を有する
インターフェース(102)とを備え、前記インターフ
ェース(102)はハードウェア・アクセラレータから
なる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ディジタル信号プ
ロセッサを含むデータ処理装置及びその情報の処理を高
速化する方法に関し、特にデータ処理装置、電気通信装
置、情報処理方法、及びハードウェア高速化を使用する
方法に関する。
【0002】
【従来の技術】通常、信号処理は、データ・ストリーム
上でのリアル・タイム・オペレーションを指している。
従って、典型的な信号処理アプリケーションには、電気
通信、画像処理、音声処理及び発生において、スペクト
ル解析と、音声処理及びフィルタリングとが含まれ又は
見出される。通常、これらのアプリケーションのそれぞ
れにおいて、データ・ストリームは連続している。従っ
て、信号プロセッサは、データ・ストリームの最大速度
で結果即ち「スループット」を発生しなければならな
い。
【0003】従来、アナログ・システム及びデータ・シ
ステムの両者は、多くの信号処理機能を実行するために
使用された。これらのアナログ信号プロセッサは、高い
スループット速度を典型的にサポート可能であるが、一
般的にこれらの長期間での精度、及びそれらが実行でき
る機能の複雑さの点で限界がある。その上、アナログ信
号処理システムは、典型的には、ひとたび構築されれば
極めて柔軟性のないものであり、従ってそれらの初期設
計段階で想定されていたアプリケーションのみで最適と
なっている。
【0004】ディジタル信号プロセッサは、非現実的な
複雑さのものでなければ、アナログ・システムでは実行
するのが非常に困難となるオペレーションのパフォーマ
ンスにおいて精度及び柔軟性を高める機会を提供する。
加えて、ディジタル信号プロセッサ・システムは、典型
的には、これらのアナログのものよりも高い程度の事後
構築の柔軟性を提供し、従って、より広範な種々のアプ
リケーションにおいてその後の利用で更なる機能拡張変
更を実施可能にする。従って、ディジタル信号プロセッ
サは、多くのアプリケーションにおいて優れている。
【0005】オペレーションによっては、2以上のプロ
セッサの協働使用を必要とすることがある。異なるタス
ク上で並列に動作しているいくつかのプロセッサは、統
合的な処理パワーを増加させることを可能にしている。
アプリケーションは、情報を交換しなければならない種
々のプロセッサ間で共有されている。通常、交換手段
は、直列リンク又は通信メモリからなる。このような構
成を図1に示す。図1は、第1のプロセッサ12(この
場合に、ディジタル信号プロセッサ「DSP」(例え
ば、TI−DSP#C54x)を備え、これに第2のプ
ロセッサ14(例えば、ARM TMS470プロセッ
サ)(この場合は、プロトコル・プロセッサ)が接続さ
れた2重プロセッサ構成を開示している。DSP12の
コア18は、同期回路16によりプロトコル・プロセッ
サ14のコア20に接続されている。更に、DSP12
には、プログラムROMメモリ22及びローカルRAM
メモリ24が含まれる。プロトコル・プロセッサ14に
は、プログラムROMメモリ26及びローカルRAMメ
モリ28が含まれる。DSP12のローカルRAMメモ
リ24、及びプロトコル・プロセッサ14のローカルR
AMメモリ28は、二重ポートを有する共通のDPRA
Mメモリ30により接続されている。プロセッサP1及
びP2の同期は、テスト及びセット命令TASにより実
行され、これらが、図2に示すように、単一のプロセッ
サが任意の時点でDPRAMメモリ30(又はメモリ・
ゾーン)を利用するのを保証できるようにしている。
【0006】更に、他の処理同期機構も存在する。例え
ば、プログラムP1は、図2のTAS命令により、プロ
グラムP2用のパラメータをDPRAMメモリ30に書
き込む。これらのパラメータは関連されているので、プ
ログラムP1による変更中にプログラムP2がDPRA
Mメモリ30をアクセスすると、エラーの危険性があ
る。プログラムP1は、TAS命令により、DPRAM
メモリ30が利用可能か否かをテストして、占有信号を
発生する。DPRAMメモリ30内にあるパラメータ
a、b、c及びdの変更中に、プログラムP2がこのメ
モリ・ゾーンに対するアクセスを要求すると、そのTA
S命令がこれに占有信号を返送する。アクセスの終了時
に、プログラムP1はDPRAMメモリ30を開放し、
従ってプログラムP2は、新しい要求を出せば、DPR
AMメモリ30をアクセスすることができる。
【0007】図1に示すように、各プロセッサは、それ
自身のプログラムROMメモリ22、26、プログラム
ROMメモリ24、28及びプロセッサ・コア18、2
0をそれぞれ有する。同期手段16及びDPRAMメモ
リ30は両プロセッサに共通である。プロセッサ14の
総合ブロック図を図3に示す。このプロセッサ14は、
プログラム・メモリ34にアドレス・バス36及び命令
バス38により接続された固有のプロトコル・プロセッ
サ32を含む。プロトコル・プロセッサ32は、データ
・ストリーム・レベルで、データ・バス44、46及び
対応するアドレス・バス48、50により各プロセッサ
に接続されている共通RAMメモリ42を通り、メイン
・プロセッサ40に接続されている。プロトコル・プロ
セッサ32は、更に、データ・バス54と、選択及びア
ドレス・バス56とにより、ハードワイヤ・ロジック・
ブロック52に接続されてもよく、これによってプロト
コル・プロセッサ32によって実行するのにはコストが
掛かり過ぎるものとなる特定の処理のために信号の成形
を可能にする。更に、ハードワイヤ・ロジック・ブロッ
ク52は、割込ライン58によりプロセッサ32に接続
されている。
【0008】図4は、実際において、3つの部分からな
るプロトコル・プロセッサを更に詳細に示す。概要参照
番号60により表すプログラム部は、バス64により即
時値PMAがロードされる場合を除き、各サイクルによ
り増加される増分レジスタ62を内蔵している。このレ
ジスタ62は、プログラム66の成形により、メモリ・
アドレスを発生し、プログラム66そのものはバス68
に命令を発生する。更に、このプロトコル・プロセッサ
は、概要参照番号70により表され、プログラムROM
メモリ66からの命令のコードを受け取っているデコー
ダ部を備えている。この命令は、図5の波形図に示すよ
うに、パイプ・ライン・モードによるサイクルで実行さ
れる。
【0009】この図に示すサイクル1において、プログ
ラムROMメモリ66は増分レジスタ62のアドレスP
C1により読み出される。サイクル1の終端で、プログ
ラム・メモリ60から送出された命令I1がデコードさ
れる。サイクル2において、命令のオペレータがコード
により指定されたアドレスから読み出され、かつプロセ
ッサを補佐し、かつ以下で説明するデータ部72が命令
を実行する。その結果は、サイクル2の終端で命令のコ
ードにより指定されたアドレスに記憶される。サイクル
2において、デコード部のデコーダ74は、増分レジス
タ62のアドレスPC2に配置されている命令I2によ
り同一の処理を実行する。
【0010】各サイクルでは、デコーダがバス76上に
命令により使用されたレジスタのアドレス、及び/又は
バス78上にRAMメモリ・アドレスを発生する。監視
装置の役割も行うデコーダ74は、両側から割込信号、
及び同期を意図するテスト及びセット信号TASを受け
取る。プロセッサのデータ部72は、算術論理シフト・
ユニット86の入力で種々のレジスタ又はRAMメモリ
を選択することを意図するマルチプレクサMUX A8
2及びMUX B84に接続されたレジスタ・バンク8
0からなる。命令のフィールド内に定義されているオペ
レーションは、算術論理シフト・ユニット86の入力A
及びBにおける2つの値間で実行され、その結果は同一
のサイクル内で行先アドレスに搬送される。この行先ア
ドレスは、プロトコル・プロセッサと、これと関連され
るメイン処理ユニットCPU90とに共通する二重ポー
ト・メモリ88により、図4のブロック内に含まれてい
る。二重ポート・メモリ88は、データ・バス92及び
アドレス・バス94によりメイン処理ユニットCPU9
0に接続されている。
【0011】プロトコル・プロセッサ14の1例は、A
RM7Xプロセッサである。ARMプロセッサは、コプ
ロセッサ「データ・オペレーション」、「データ転
送」、及び「レジスタ転送」を実行する。このプロセッ
サは、条件フィールド、4ビットによるコプロセッサ・
オペレーション、コプロセッサ・オぺランド・レジス
タ、行先、及びこれを識別する3ビットのコプロセッサ
番号を利用する。ARM7Xプロセッサの総命令サイズ
は、8コプロセッサ、及び16オペレーション・コード
をサポートするのに十分である。更に、コプロセッサ情
報及びコプロセッサ・オぺランド・レジスタ即ち2オぺ
ランド・レジスタ及び1つの行先が存在する。例えば、
ARM装置は、「このタスクを開始せよ」のような命令
をプロセッサに送出することができる。この命令は、典
型的には、マルチ・サイクルである。命令は、コプロセ
ッサ(この場合はDSP12)をロードし、通信バスを
確保し、その計算を行い、何らかの結果値を計算し、次
に任意のARMに任意の情報(例えば値はレディーであ
ることを知らせる)を送出するために全ての同期信号を
有する。インターフェース(値及びv)を動作可能にす
るのに最小コストが存在する。従って、「s」はオペレ
ーションを実行するための時間であり、「v」はコプロ
セッサのビジー待機により費やすサイクル数である。更
に、ビジー待機からの復帰時間が存在する。その結果、
これを使用するのにペナルティーが存在する。
【0012】
【発明が解決しようとする課題】従来技術(図1〜5を
参照)では、プロトコル・プロセッサ(この場合はAR
M(7x))が存在し、このプロトコル・プロセッサに
おいて、データ(バスを介する命令など)に関してコプ
ロセッサ(この場合は、DSP12)内の何らかの変化
は、プロトコル・プロセッサがメモリ・バス及びRAM
を使用することを必要とする。第1に、コプロセッサ
(CDP)内の処理を実行する。次に、レジスタ・ツー
・レジスタ転送(MCR)を実行し、その後に全部で3
サイクルの(LDC/STC)転送がある。この全体を
通じて、コプロセッサ(DSP)は、プロトコル・プロ
セッサ(ARM7X)内のリソースを見ることはない。
一方、コプロセッサ(DSP12)は、それ自身の一組
のリソースを有し、これらがそれ自身でいくらかの処理
を実行可能にし、プロトコル・プロセッサ(ARM7
X)の環境に対して通話に関係するあらゆるもの、即ち
ソフトウェア、バス、RAM等は、特殊命令によりプロ
トコル・プロセッサ(ARM7X)によって制御され、
かつ多重オペレーションを実行するために必要とする時
間に追加的なサイクルを加える。必要とするのは、プロ
セッサが単一サイクル・オペレーションにより多重オペ
レーションを実行できるように改善した技術である。そ
のように改善された技術は、コプロセッサと連係して、
プロトコル・プロセッサにより現在実行されている機能
のうちのいくつかを現在必要とされよりも少ない命令に
より実行するように使用可能であるか、又は単一プロセ
ッサ・システムに連係して使用可能とされる。
【0013】
【課題を解決するための手段】本発明は、データ処理シ
ステムにおけるプロセッサが単一サイクルにより多重オ
ペレーションを実行できるようにする装置及び方法を開
示する。本発明の好ましい実施例において、データ処理
装置は、ランダム・アクセス・メモリ、プロセッサ、前
記ランダム・アクセス・メモリを前記プロセッサに接続
したインターフェースとを備え、前記データ処理装置
は、単一サイクルにより多重オペレーションを処理する
能力を有する。本発明の一実施例において、前記インタ
ーフェースは、ハードウェア・アクセラレータ(har
dware accelerator)であるとして説
明する。本発明は、第1のプロセッサと並列に第2のプ
ロセッサが作動する二重即ちコプロセッサ・システムを
必要とすることなく、単一サイクルにおいて多重オペレ
ーションを実行する能力を提供する。本発明のインター
フェースは、更に、データ処理効率を高めるために2重
即ちコプロセッサ・システムと組み合わせることができ
る。
【0014】本発明のより完全な理解のため、及び更な
るその効果のために、ここで、図面と関連させて以下の
詳細な説明を参照する。
【0015】
【実施例】図6は、本発明の一実施例により、従来技術
により得られる処理効率を改善する構成において、ハー
ドウェア・アクセラレータ102がプロセッサ12(本
発明の好ましい一実施例によるTI−DSP C55
X)をデータRAM104に接続する装置を示す。16
ビット・データ・バス151、152及び153は、ハ
ードウェア・アクセラレータ102をランダム・アクセ
ス・メモリ”RAM”104及びデータ・アドレス11
8に接続する。13ビットのデータ・バス106は、ハ
ードウェア・アクセラレータ102をプロセッサ108
のコプロセッサ命令I/Fに接続する。4ビット・デー
タ・バス110は、ハードウェア・アクセラレータ10
2をプロセッサ108のステータス・フラグ112に接
続する。2ビット・データ・バス114、及び2×40
ビット読み出し及び2×40ビット書き込みデータ・バ
ス116は、ハードウェア・アクセラレータ102をデ
ータ・アキュムレータ118に接続し、また3×24ビ
ット・アドレス・バス120はアドレス発生ユニット1
22をRAM104に接続する。このモジュールのピン
・リスト及び意味を表1に示す。
【0016】
【表1】
【0017】図7は本発明の一実施例によるハードウェ
ア・アクセラレータ102のブロック図である。バス1
24はデコーダ126をレジスタ128に接続する。バ
ス130はレジスタ128を浮動小数点乗算カーネル1
32のRnd入力に接続する。リード線134はデコー
ダ126をクロック制御136に接続する。リード線1
17はクロック制御136をレジスタ138に接続す
る。バス140は、レジスタ138を浮動小数点乗算カ
ーネル132のXポートに接続する。バス142はレジ
スタ138をDバス及びCバス(図示なし)に接続す
る。浮動小数点乗算カーネル132のYポートは、バス
199(ACxr)に接続されている。浮動小数点乗算
カーネル132のPポートは、バス121に接続され、
これはバス127(ACxw)に接続されている。浮動
小数点乗算カーネル132のフラグ出力は、バス123
に接続され、これはバス127に接続され、浮動小数点
乗算カーネル132の他のフラグ出力は信号線125に
接続され、これはバス129(ACxz)に接続されて
「ACxr」バスを受け取るように、かつ「ACxw」
バス及び「ACxz」信号を出力するように接続されて
いる。デコーダ126は、「Hwinst」信号及び
「HWStrobe」信号を受け取るように接続され、
かつ「HWerro」信号を出力するように接続されて
いる。デコーダ126、レジスタ128及びクロック制
御136は全てクロック信号を受け取るように接続され
ている。
【0018】図8は本発明の他の実施例によるハードウ
ェア・アクセラレータ102のブロック図であり、図に
おいてデータ・フロー・モードは[ACx、ACy]=
copr(ACx,ACy,Xmem,Ymem,Co
ef)である。バス124は、デコーダ126をレジス
タ128に接続している。バス130は、レジスタ12
8をオペレータ・カーネル133に接続している。リー
ド線134はデコーダ126をクロック制御136に接
続している。リード線117はクロック制御136をレ
ジスタ139及びオペレータ・カーネル133のクロッ
ク・ポートに接続している。バス145はレジスタ11
1をオペレータ・カーネル133のBポートに接続して
いる。バス147はレジスタ113をオペレータ・カー
ネル133のDポートに接続している。バス149はレ
ジスタ115をオペレータ・カーネル133のCポート
に接続している。レジスタ111はバス151(Bバ
ス)に接続され、レジスタ113はバス153(Dバ
ス)に接続され、レジスタ115はバス155(Cバ
ス)に接続され、更にレジスタ111、113、及び1
15は、相互に接続されている。オペレータ・カーネル
133のXRポートは、バス(ACxr)に接続されて
いる。オペレータ・カーネル133のYRポートは、バ
ス(ACyr)に接続されている。オペレータ・カーネ
ル133のYWポートは、バス161(ACyw)接続
されている。オペレータ・カーネル133のXWポート
は、バス163(ACxw)に接続されている。オペレ
ータ・カーネル133のフラグ出力は、バス(ACx
z、ACyz)に接続されている。デコーダ126は
「Hwinst」信号及び「Hstrob」信号を受け
取るように接続され、かつ「HWerro」信号を出力
するように接続されている。デコーダ126、レジスタ
128及びクロック制御136は全てクロック信号を受
け取るように接続されている。
【0019】図9は本発明の他の実施例によるハードウ
ェア・アクセラレータ102のブロック図であり、図に
おいてデータ・フロー・モードは[ACx、ACy]=
copr(ACy,Xmem,Ymem,Coef)又
は[ACx、ACy]=copr(ACx,Xmem,
Ymem,Coef)である。バス124は、デコーダ
126をレジスタ128に接続している。バス130
は、レジスタ128をオペレータ・カーネル135に接
続している。リード線134はデコーダ126をクロッ
ク制御136に接続している。リード線117はクロッ
ク制御136をレジスタ111及びオペレータ・カーネ
ル135のクロック・ポートに接続している。バス14
5はレジスタ111をオペレータ・カーネル135のB
ポートに接続している。バス147はレジスタ113を
オペレータ・カーネル135のDポートに接続してい
る。バス149はバス115をオペレータ・カーネル1
35のCポートに接続している。レジスタ111はバス
151(Bバス)に接続され、レジスタ113はバス1
53(Dバス)に接続され、レジスタ115はバス15
5(Cバス)に接続され、更にレジスタ111、11
3、及び115は、相互に接続されている。YRポート
又はXRポートのうちの1つは、バス157(YRポー
トの場合にACyr、及びXRポートの場合にACx
r)に接続されている。オペレータ・カーネル135の
YWポートは、バス161(ACyw)に接続されてい
る。オペレータ・カーネル135のXWポートはバス1
63(ACxw)に接続されている。オペレータ・カー
ネル135のフラグ出力は、バス165(ACxz、A
Cyz)に接続されている。デコーダ126は「Hwi
nst」信号及び「HWstrob」信号を受け取るよ
うに接続され、かつ「HWerro」信号を出力するよ
うに接続されている。デコーダ126、レジスタ128
及びクロック制御136は、全てクロック信号を受け取
るように接続されている。
【0020】図10は本発明の他の実施例によるハード
ウェア・アクセラレータ102のブロック図であり、図
においてデータ・フロー・モードが[ACx、ACy]
=copr(Xmem,Ymem,Coef)である。
バス124は、デコーダ126をレジスタ128に接続
している。バス130は、レジスタ128をオペレータ
・カーネル137に接続している。リード線134はデ
コーダ126をクロック制御136に接続している。リ
ード線117はクロック制御136をレジスタ139及
びオペレータ・カーネル137のクロック・ポートに接
続している。バス145はレジスタ139をオペレータ
・カーネル137のBポートに接続している。バス14
7はレジスタ141をオペレータ・カーネル137のD
ポートに接続している。バス149はレジスタ143を
オペレータ・カーネル137のCポートに接続してい
る。レジスタ111はバス151(Bバス)に接続さ
れ、レジスタ113はバス153(Dバス)に接続さ
れ、レジスタ115はバス155(Cバス)に接続さ
れ、更にレジスタ111、113、及び115は、相互
に接続されている。YRポート又はXRポートのうちの
1つは、バス157(YRポートの場合にACyr、及
びXRポートの場合にACxr)に接続されている。オ
ペレータ・カーネル137のYWポートはバス161
(ACyw)に接続されている。オペレータ・カーネル
137のXWポートはバス163(ACxw)に接続さ
れている。オペレータ・カーネル137のフラグ出力
は、バス165(ACxz、ACys)に接続されてい
る。デコーダ126は「Hwinst」信号及び「HW
strob」信号を受け取るように接続され、かつ「H
Werro」信号を出力するように接続されている。デ
コーダ126、レジスタ128及びクロック制御136
は全てクロック信号を受け取るように接続されている。
【0021】図11は本発明の更に他の実施例によるハ
ードウェア・アクセラレータ102のブロック図であ
り、図においてデータ・フロー・モードが[ACx、A
Cy]=copr(ACx,ACy,Xmem,Yme
m)である。バス124は、デコーダ126をレジスタ
128に接続している。バス130は、レジスタ128
をオペレータ・カーネル139に接続している。リード
線134はデコーダ126をクロック制御136に接続
している。リード線117はクロック制御136をレジ
スタ141及びオペレータ・カーネル139のクロック
・ポートに接続している。バス147はレジスタ141
をオペレータ・カーネル139のDポートに接続してい
る。バス149はレジスタ143をオペレータ・カーネ
ル139のCポートに接続している。レジスタ113は
バス153(Dバス)に接続され、レジスタ115はバ
ス155(Cバス)に接続され、更にレジスタ113及
び115は、相互に接続されている。オペレータ・カー
ネル139のXRポートはバス157(ACxr)に接
続されている。オペレータ・カーネル139のYRポー
トはバス159(ACyr)に接続されている。オペレ
ータ・カーネル139のYWポートはバス161(AC
yw)に接続されている。オペレータ・カーネル139
のXWポートはバス163(ACxw)に接続されてい
る。オペレータ・カーネル139のフラグ出力は、バス
165(ACxz、ACyz)に接続されている。デコ
ーダ126は「Hwinst」信号及び「HWstro
b」信号を受け取るように接続され、かつ「HWerr
o」信号を出力するように接続されている。デコーダ1
26、レジスタ128及びクロック制御136は全てク
ロック信号を受け取るように接続されている。
【0022】図12は本発明の他の実施例によるハード
ウェア・アクセラレータ102のブロック図であり、図
においてデータ・フロー・モードがACy=copr
(ACx、Xmem,Ymem)又はACy=copr
(ACx、Lmem)である。バス124は、デコーダ
126をレジスタ128に接続している。バス130
は、レジスタ128をオペレータ・カーネル141に接
続している。リード線134はデコーダ126をクロッ
ク制御136に接続している。リード線117はクロッ
ク制御136をレジスタ113及びオペレータ・カーネ
ル141のクロック・ポートに接続している。バス14
7はレジスタ113をオペレータ・カーネル141のD
ポートに接続している。バス149はレジスタ115を
オペレータ・カーネル141のCポートに接続してい
る。レジスタ113はバス153(Dバス)に接続さ
れ、レジスタ115はバス155(Cバス)に接続さ
れ、レジスタ115はバス155(Cバス)に接続さ
れ、更にレジスタ113及び115は、相互に接続され
ている。オペレータ・カーネル141のXRポートはバ
ス157(ACxr)に接続されている。オペレータ・
カーネル141のYWポートはバス161(ACyw)
に接続されている。オペレータ・カーネル141のフラ
グ出力は、バス165(ACyz)に接続されている。
デコーダ126は「Hwinst」信号及び「HWst
rob」信号を受け取るように接続され、かつ「HWe
rro」信号を出力するように接続されている。デコー
ダ126、レジスタ128及びクロック制御136は全
てクロック信号を受け取るように接続されている。
【0023】図13は本発明の他の実施例によるハード
ウェア・アクセラレータ102のブロック図であり、図
においてデータ・フロー・モードがACy=copr
(ACx、Ymem,Coef)である。バス124
は、デコーダ126をレジスタ128に接続している。
バス130は、レジスタ128をオペレータ・カーネル
143に接続している。リード線134はデコーダ12
6をクロック制御136に接続している。リード線11
7はクロック制御136をレジスタ111及びオペレー
タ・カーネル143のクロック・ポートに接続してい
る。バス145はレジスタ111をオペレータ・カーネ
ル143のBポートに接続している。バス149はレジ
スタ115をオペレータ・カーネル143のCポートに
接続している。レジスタ111はバス151(Bバス)
に接続され、レジスタ115はバス155(DCバス)
に接続され、更にレジスタ111及び115は、相互に
接続されている。オペレータ・カーネル143のXRポ
ートはバス157(ACxr)に接続されている。オペ
レータ・カーネル143のYWポートはバス161(A
Cyw)に接続されている。オペレータ・カーネル14
3のフラグ出力は、バス165(ACyz)に接続され
ている。デコーダ126は「Hwinst」信号及び
「HWstrob」信号を受け取るように接続され、か
つ「HWerro」信号を出力するように接続されてい
る。デコーダ126、レジスタ128及びクロック制御
136は全てクロック信号を受け取るように接続されて
いる。
【0024】図14は本発明の他の実施例によるハード
ウェア・アクセラレータ102のブロック図であり、図
においてデータ・フロー・モードがACy=copr
(Ymem,Coef)=copr(Ymem,Coe
f)である。バス124は、デコーダ126をレジスタ
128に接続している。バス130は、レジスタ128
をオペレータ・カーネル145に接続している。リード
線134はデコーダ126をクロック制御136に接続
している。リード線117はクロック制御136をレジ
スタ113及びオペレータ・カーネル145のクロック
・ポートに接続している。バス147はレジスタ113
をオペレータ・カーネル145のDポートに接続してい
る。バス149はレジスタ115をオペレータ・カーネ
ル145のCポートに接続している。レジスタ113は
バス153(Dバス)に接続され、レジスタ115はバ
ス155(Cバス)に接続され、更にレジスタ113及
び115は、相互に接続されている。オペレータ・カー
ネル145のYWポートはバス161(ACyw)に接
続されている。オペレータ・カーネル145のフラグ出
力は、バス165(ACyz)に接続されている。デコ
ーダ126は「Hwinst」信号及び「Hstro
b」信号を受け取るように接続され、かつ「HWerr
o」信号を出力するように接続されている。デコーダ1
26、レジスタ128及びクロック制御136は全てク
ロック信号を受け取るように接続されている。
【0025】図15は本発明の他の実施例によるハード
ウェア・アクセラレータ102のブロック図であり、図
においてデータ・フロー・モードがACy=copr
(ACx,Smem)である。バス124は、デコーダ
126をレジスタ128に接続している。バス130
は、レジスタ128をオペレータ・カーネル147に接
続している。リード線134はデコーダ126をクロッ
ク制御136に接続している。リード線117はクロッ
ク制御136をレジスタ113及びオペレータ・カーネ
ル147のクロック・ポートに接続している。バス14
7はレジスタ113をオペレータ・カーネル147のD
ポートに接続している。レジスタ113は更にバス15
3(Dバス)に接続されている。オペレータ・カーネル
147のXRポートはバス157(ACxr)に接続さ
れている。オペレータ・カーネル147のYWポートは
バス161(ACyw)に接続されている。オペレータ
・カーネル147のフラグ出力は、バス165(ACy
z)に接続されている。デコーダ127は「Hwins
t」信号及び「HWstrob」信号を受け取るように
接続され、かつ「HWerro」信号を出力するように
接続されている。デコーダ126、レジスタ128及び
クロック制御136は全てクロック信号を受け取るよう
に接続されている。
【0026】図16は本発明の他の実施例によるハード
ウェア・アクセラレータ102のブロック図であり、図
においてデータ・フロー・モードが[ACx、ACy]
=copr(ACx、ACy)である。バス124はデ
コーダ126をレジスタ128に接続している。バス1
30はレジスタ128をオペレータ・カーネル149に
接続している。リード線134はデコーダ126をクロ
ック制御136に接続している。リード線117はクロ
ック制御136をオペレータ・カーネル149のクロッ
ク・ポートに接続している。オペレータ・カーネル14
9のXRポートはバス157(ACxr)に接続されて
いる。オペレータ・カーネル149のYRポートはバス
159(ACyr)に接続されている。オペレータ・カ
ーネル149のYWポートはバス161(ACyw)に
接続されている。オペレータ・カーネル149のXWポ
ートはバス163(ACxw)に接続されている。オペ
レータ・カーネル149のフラグ出力は、バス165
(ACxz,ACyz)に接続されている。デコーダ1
26は「Hwinst」信号及び「HWstrob」信
号を受け取るように接続され、かつ「HWerro」信
号を出力するように接続されている。デコーダ126、
レジスタ128及びクロック制御136は全てクロック
信号を受け取るように接続されている。
【0027】図17は本発明の他の実施例によるハード
ウェア・アクセラレータ102のブロック図であり、図
においてデータ・フロー・モードがACy=copr
(ACx、ACy)である。バス124はデコーダ12
6をレジスタ128に接続している。バス130はレジ
スタ128をオペレータ・カーネル151に接続してい
る。リード線134はデコーダ126をクロック制御1
36に接続している。リード線117はクロック制御1
36をレジスタ151に接続している。オペレータ・カ
ーネル151のXRポートはバス157(ACxr)に
接続されている。オペレータ・カーネル151のYRポ
ートはバス159(ACyr)に接続されている。オペ
レータ・カーネル151のYWポートはバス161(A
Cyw)に接続されている。オペレータ・カーネル15
1のフラグ出力は、バス165(ACxz,ACyz)
に接続されている。デコーダ126は「Hwinst」
信号及び「HWstrob」信号を受け取るように接続
され、かつ「HWerro」信号を出力するように接続
されている。デコーダ126、レジスタ128及びクロ
ック制御136は全てクロック信号を受け取るように接
続されている。
【0028】更に、図7〜図17において、ハードウェ
ア・アクセラレータ102の任意の構成を混成して単一
のハードウェア・アクセラレータを形成することもでき
る。どのハードウェア・アクセラレータの構成を選択し
ても、プロセッサ12の命令セットにおける一組の修飾
子(<<copr()>>class)がDSPコアの
データ処理ユニット(Dunit)内のオペレーション
を実行する命令の意味を再定義する。これらの命令は以
下を許容する参照を含むことができる。 −2ポインタを介してデータに対する二重アクセスに対
する制御、 −他のメモリ・バンクからの第3のデータ値に対する制
御、 −アキュムレータからの更なるデータ・ソースの制御、 −再定義したオペレーションの行き先に対する制御、 −新しいオペレータに対する制御。
【0029】<<copr()>>修飾子クラスは、異
なる方法により8ビット命令フィールドがハードウェア
・アクセラレータ102へ通過できるように並列化可能
な4オペレーション・コードからなり、かつストア・オ
ペレーションがハードウェア・アクセラレータの実行と
並行して発生するのを許容する。全てのプロパティ及び
オペレーション・コード・フォーマットは以下の表2に
要約される。
【0030】
【表2】
【0031】前記修飾子をDユニットと組み合わせる
と、ハードウェア・アクセラレータ102により使用可
能とされる一組のデータフローを作り出す。これらは、
ハードウェア・アクセラレータ/1データフロー当たり
の数、及び修飾対のバイトにおけるコストを与える以下
の表に要約される。あるアプリケーションに多数のアク
セラレータが存在する場合に、コアにハードウェアを接
続を実施するときは、ハードウェア・アクセラレータ1
02命令フィールドは、2つの部分に分割される。即
ち、 −ビット7〜6は、ハードウェア・アクセラレータ数
(8個まで接続可能)を表し、 −ビット5〜0は、選択されたHWAに対する命令コー
ド(32までの命令HWA)を表す。
【0032】ハードウェア・アクセラレータ102にエ
クスポートされた命令フィールドが上位3ビットを埋め
られないときは、8以下のハードウェア・アクセラレー
タがこのようなデータフローに利用可能である。
【0033】データフロー・モードは、ハードウェア・
アクセラレータ102に対する呼出しを説明している。
表3に使用している構文は、修飾命令及び修飾子オペレ
ーション・コード対の略式形として、総称キーワード
「copr()」を使用する。組み込み並列構文(ex
=ACy=copr(ACx)、Smem=ACz)
は、ハードウェア・アクセラレータ102内で並列の実
行を許容するSmem又はLmem書き込みに使用され
る。
【0034】
【表3】
【0035】ハードウェア・アクセラレータ102の制
御フィールドは、各修飾命令の専用位置から抽出され得
る。これらのビットを連結すると、それ自体が修飾子か
ら来るフィールドに連結可能とされ、かつ外部カスタム
・デコードに使用される値を生成する。下記の表4〜表
7は、この符号化をエクスポートするために使用する命
令フォーマット及びフィールドを説明している(TI−
DSP#C55用命令セットのユーザ・ガイドを参
照)。
【0036】
【表4】
【0037】
【表5】
【0038】これは、「corp()」修飾子用の表で
ある。
【0039】
【表6】
【0040】これは、「S(L)mem=ACx、co
pr()」用の表である(ccccフィールドはこれら
の修飾子から来ている)。
【0041】
【表7】
【0042】更に、以下のように、いくつかのデフォー
ルト・ルールが定義される。 1.上記の表に存在しない「corp()」クラスによ
り構築された他のどのような命令対もハードウェアによ
り拒否され、代わって「nop」が実行される。 2.スタンドアローンDユニットから来るステート・ビ
ット更新は、この命令が「corp()」クラスにより
修飾とされたときは、禁止される。このルールに対する
唯一の例外は、ゼロ・フラグに対するものである。行先
アキュムレータ内のこれらビットについての更新は、ハ
ードウェア・アクセラレータから可能であり、またこれ
らは、ハードウェア・アクセラレータにより計算された
ゼロ・フラグ信号により搬送された内容を受け取る。 3.HWA命令を構築するために使用されるフィールド
以外のフィールドは、スタンドアローン命令上で定義さ
れたように処理される。更に、上記「e」又は「w」フ
ィールドのうちのいくつかがこれらのオペレーション・
コードとオバーラップするときは、これらのオペレーシ
ョン・コードは、マシン・パイプ・ラインにおいて通常
の命令処理として使用される。
【0043】単一サイクル・オペレーションに関するタ
イミング図を図18に示す。入力容量、出力駆動力、ク
ロックから出力への遅延及び傾斜、入力セットアップ、
及び保持時間は、CPUタイミング抽出の一部として特
徴付けられる。更に、本発明は1以上のハードウェア・
アクセラレータをこのバス機構に接続できることを予測
しているので、ACx[w,z]及びACy[w,z]を
トライステート信号とすることができる。その命令フィ
ールドを認識するハードウェア・アクセラレータは、ク
ロック・サイクルの終端でバスを駆動する。
【0044】ハードウェア・アクセラレータのソフトウ
ェア・ビュー ハードウェア・アクセラレータ及びその機能基準を使用
するようにソフトウェアを共通設計するために、プロセ
ッサ12のCモデル(TI−DSP#C55x)は、ハ
ードウェアのビューを組み込むためのテンプレート及び
フックを提供する。これは、「copr()」の制御に
関連した機能呼出、及びモデル・パイプラインの実行フ
ェーズにおいて動作する命令ディスパッチ・デコードに
より、実行される。機能テンプレートは、パラメータの
定義及び形式を含む。ユーザはハードウェア・アクセラ
レータの挙動に対応したCコードを備える必要がある。
インターフェースにアクセラレータが接続されていない
ときはデフォールトにより、その機能は、アキュムレー
タ・バス上で0結果に復帰し、対応するゼロ・フラグが
「1」にセットされる。
【0045】ソフトウェア開発に関して、MACRステ
ートメントにより「copr()」の修飾をサポートす
ることができる。下記は、このようなアプローチの一例
である。
【0046】
【数1】
【0047】ハードウェア・アクセラレータのハードウ
ェア・ビュー ハードウェア・アクセラレータは、CPUのVHDLモ
デル(機能及びタイミング・モデル)に現れる。全ての
信号は、「clk」に関して以下の表により特徴付けら
れる。
【0048】
【表8】
【0049】ビデオ・アプリケーション分野においてハ
ードウェア・アクセラレータ接続機構をどのように使用
するか、及びソフトウェア対ハードウェアのトレードオ
フをどのようにして実施できるかについての1例を以下
に開示する。動き予測における大抵のサイクル・カウン
トは、フル・サーチ(FS:Full Search)
タスクによっており、このタスクは、マクロブロックを
基準イメージ内の一定面積の画素と比較することにより
得られる歪みを計算し、かつこの処理を動きを予測する
必要があるイメージ内の全てのマクロブロックについて
反復することからなる。h261アルゴリズムの場合、
マクロブロック周辺のウィンドウは、±15画素により
展開している。単一のマクロブロックの場合、計算は、
それぞれがマクロブロック画素と基準ウィンドウの画素
との間の絶対差の256和から構築された256歪みか
らなる。画素は8ビット(輝度)上で符号化され、また
歪みは16ビットにより符号化される。
【0050】イメージ・レベルで純粋に計算帯域幅を減
少させる1方法は、階層フル・サーチ(HFS)を適用
することである。これは、前のサブイメージからサブイ
メージを両方向で2によるダウンサンプリングするため
に、最初のイメージから、フィルタリングにより得られ
たサブイメージを発生することを含む。4レベルのサブ
イメージにより、マクロブロック(25歪みのみを必要
とする)周辺の±2画素によってのみ拡張するウィンド
ウ上にフル・サーチ・アルゴリズムを適用することがで
きる。これは、この例に関して選択された実施となる。
ハードウェア・アクセラレータ102は、歪みを得るた
めに基本的な計算を実施する。これらは、アキュムレー
タに記憶される(4×2=8歪みが適合可能である)。
サーチ・ウィンドウは二重アクセス・メモリ・バンクに
記憶される。基準イメージのマクロブロックは、単一ア
クセス・メモリ・バンクに記憶される。基準イメージの
マクロブロックは、単一アクセス・メモリ・バンクに記
憶される。copr()修飾子により再定義される形式
1の命令を使用することにより、各サイクルにおいて基
準マクロブロックから2画素、及びサーチ・ウィンドウ
から4画素をフェッチできる。従って、3歪みを並列に
処理することができる。
【0051】図19は概要的に144に20×20画素
によるサーチ・ウィンドウを示す。図2は概要的に14
6に16×16画素によるサーチ・ウィンドウを示す。
【0052】
【数2】
【0053】歪みはアキュムレータの上位部及び下位部
に記憶される。ハードウェア・アクセラレータにおける
モード1及び2は、必要に応じて、上位部及び下位部に
歪みを挿入可能にされている。例えば、モード選択に対
してハードウェア命令00及び01を選択すると、この
拡張を管理するメイン・ループが以下のように与えられ
る。
【0054】
【数3】
【0055】メイン・ループはDSPコア命令バッファ
に適合しないときは、再定義した命令上のサイクル・ペ
ネナルティーにより第1の内部反復を実行する。その結
果、以上のループの実効時間を2775サイクルと評価
することができる。平均絶対エラー計算の総数(引算に
abs()及び加算が続く)は、25×16×16=6
400であり、これは2.3計算/サイクルを意味す
る。
【0056】従って、本発明の効果は、全ての基本的な
機構がハードウェア・アクセラレータ102、RAM1
04及びDSPコア18内にあるということである。ハ
ードウェア・アクセラレータは、命令セットによりDS
Pリソースと見られるので、DSP内の他のオペレータ
と同様にしてデータを受け取る。これは、メモリから3
値/サイクルまで受け取る。これは、2回の読み出し及
び2回の書き込みにより内部リソースについて知り、ア
キュムレータ内容のうちの2つを得る。これは、システ
ムの一部から他へのデータ転送について知る必要はな
い。ハードウェア・アクセラレータ制御は、DSP命令
からプロセッサ端間でエクスポートされる。1ビットか
らなるストローブ信号(Hwsrobe)、8ビットか
らなるマイクロ命令(Hwinst)、DSPパイプラ
インにおいてパイプライン活動と同期が確保されるべき
アクセラレータの内部ステート・マシンを任意選択的に
制御するための一組のストール・インジケータ(Hws
tall)、及びプロセッサに戻されてそのバス・エラ
ー管理に組み込まれるバス・エラー・フラグがある。マ
イクロ命令ワードのデコードは、上位3ビットが与えら
れたハードウェア・アクセラレータを識別し、かつ会ビ
ットが32命令/アクセラレータを定義するように行わ
れてもよい。ユーザは、ハードウェア・アクセラレータ
を選択するためにこれらの3ビットを使用することによ
り、(トライステートによるか又はマルチプレクサに基
づいて実施したものによる)アキュムレータ書き込みバ
スへの接続を管理することができる。
【0057】その上、本発明は、丸めモードのように、
DSPから来る一組のステータス・ラインをエクスポー
トすることにより、DSPにより使用される算術モード
について、及びハードウェア・アクセラレータ・モデル
が2×40ビット結果に関連した「ゼロ結果フラグ」を
返送していることについて認識することができる。
【0058】ハードウェア・アクセラレータは、開示し
たように、典型的にはDSPコアから物理的に独立して
いる。本発明のユーザは、ソフトウェアの観点からは、
ハードウェア・アクセラレータ及びDSPを相互に接続
でき、かつハードウェア・アクセラレータがあたかも命
令セットの一部であるかのように、ハードウェア・アク
セラレータを使用できる必要がある。本発明は、いくつ
かのクラスの命令を開示し、かつ他のクラスを意図して
いる。しかし、ソフトウェアの観点から、ユーザはこれ
らの制御をソフトウェア・ループに置くことができる。
このモデルをソフトウェア・シミュレータに接続してそ
のソフトウェアをデバッグすることもできる。従って、
ユーザは、ゲート・レベルのビューを発生するためにハ
ードウェア・アクセラレータ機能ビューをVHDLに移
動させることができる。その結果、その影響は、設計フ
ローにおけるいくつかのステップ、即ちアプリケーショ
ン・レベル及び設計レベルに及ぶ。
【0059】本発明のどのような実施例においても、ユ
ーザは、ループにいくつかの標準DSP機能を使用する
ことにより、常にハードウェア・アクセラレータ内容を
標準にすることができる。例えば、全ての機能をALU
により実施することができる。ハードウェア・アクセラ
レータに移動しているときは、アプリケーションによっ
て4と20との間の係数により、「ソフトウェア」バー
ジョンを加速することができる。加速レベルは、アクセ
ラレータに加わるハードウェアの複雑さとソフトウェア
との間のトレードオフの一部である。
【0060】本発明の新しい他の特徴は、データ・フロ
ーにある。その命令インターフェースは、例えば「3つ
の8ビット値を全て一緒に乗算してある数を発生し、こ
のバスを介してアキュムレータに戻す」ような動きのエ
クスポートを容易にするために使用される。命令及びビ
ット・フィールドはコントローラにエクスポートされる
が、ソース及び行先はエクスポートされない。本発明
は、DSPの全ての内部リソースに対するアクセスを提
供し、これらは、使用している最中のアクセラレータに
エクスポートされて、値が元に戻される。この値は、実
行が完了するとコア内に記憶される。その結果、本発明
は、ハードウェア・アクセラレータにおいて計算され、
このバスを介して内部コアに戻される値を移動させる従
来技術のMCRモードを使用する必要はない。本発明に
対して、従来技術は、ソース及び行先をエクスポートし
ない。
【0061】その結果、本発明は、3回のメモリ読み出
しプラス2回のアキュムレータ読み出しを使用し、かつ
同一のサイクルでアキュムレータに戻す単一サイクル・
オペレーションを容易にする。転送は存在せず、転送は
コピー内で構築される。同じことがデータRAM104
を使用するときに反復される。従来技術では、その逆
に、RAM内のバッファからの処理を行うために、AR
Mがまずバッファをインストールし、その後に、制御オ
ペレーション及びRAMを介する処理を実行し、その後
に、結果をDSPに移動させる。本発明はその全てを1
命令内で実行可能である。
【0062】最終的に選択されたDSPがTIーDSP
#C55xファミリーのものでないとき、又はその代わ
りに、DSP(TIーDSP#C55x)における命令
クラスの機能性が使用されないときは、本発明は、プロ
セッサ「copr」命令の使用を意図しており、この命
令は、命令のいくつかの命令フィールドから抽出するど
のような命令とも並列に配置され得るプロセッサの命令
表内に発生することができる。例えば、オペレーション
・コード及びメモリ・アクセスに対する何らかの基準が
存在する(オペレーション・コード・フィールドは、前
述のように、ページ上で全てゼロである)。その結果
は、第3のアクセスである(mm)コードと共にメモリ
二重メモリ(XXX MMM YYY MMM)に対す
る基準となる。この上端に、アキュムレータのソース及
び行先(ooDD及びuuDD)、及び処理機能を制御
するオペレーション・コードを定義する(例えば、二重
macにおける)残りの全てのフィールドが存在する。
4×2ビットは、このインターフェース境界でエクスポ
ートされ、8ビットを定義してハードウェア・アクセラ
レータを制御する。
【0063】更に、本発明によれば、ハードウェア・ア
クセラレータのデコードは、命令フィールド及びストロ
ーブを管理する。これにより、ハードウェア・アクセラ
レータは、必要なクロックを発生し、従ってアクセラレ
ータを使用しないときに、電力消費を軽減することがで
きる。
【0064】要するに、発明のハードウェア・アクセラ
レータの概念は、2つの部分、即ち1)インターフェー
スであるハードウェア部及び能力と、2)インターフェ
ース、異なるモード及び分担を制御するために使用され
る命令セット部とを有する。本発明は、多くの機能がマ
シン・パイプライン内で実行されるので、ソフトウェア
とハードウェアとの間の種々の形式のトレードオフを可
能にする。
【0065】本発明は、単一サイクル及び多重サイクル
・オペレーションにおいて多重オペレーションを提供す
る単一処理システムにより開示されたが、本発明は、更
に他の実施例も意図している。例えば、単一コア実施例
において可能とするものを多重コア実施例に使用して、
一方のコアの内部リソースをハードウェア・アクセラレ
ータ・プロトコルを使用している他方へ転送するのを同
期できるので、2つのDSP(この場合は、図21内の
148に概要的に示すように、TIC55x)を接続す
るために、このハードウェア・アクセラレータを使用す
ることができる。従って、オペレータが値を交換するS
IMDマシンにおいて可能とするものに類似した、デイ
ジー・チェーンを介していくつかの計算を交換する必要
があるとき、特に、同一のプログラムを共有する又は同
一の形式のプログラムを実行するときは、同一チップ上
に2個のコア及びハードウェア・アクセラレータを備え
るのが望ましいことになる。
【0066】図22は、本発明に関連する携帯電話(概
要的に150に示す)を示す。図23は、本発明によ
り、プロセッサ168に接続される種々の周辺装置のブ
ロック図を示す。図24は、携帯電話150の基本的な
ブロック図である。電話150には、アンテナ152,
LCDディスプレイ、スピーカ156,マイクロホン1
58及びキーボード160が含まれる。携帯電話150
は、更に、アンテナ152に、アナログ・フロント・エ
ンド(アナログ・ベースバンド・チップ)164、及び
ディジタル・ベースバンド・エレクトロニックス(ディ
ジタル・ベースバンド・チップ)166を接続するRF
フロント・エンド(RFチップ)162を備えている。
電源167は、RFフロント・エンド162、アナログ
・フロント・エンド164、及びディジタル・ベースバ
ンド166に接続されている。
【0067】図25〜図29は図24に示した携帯電話
150の概要ブロック図である。プロセッサ168(T
IC55xDSP)は、プログラム・メモリ又はキャッ
シュ170、データ・メモリ172、RHEAバス・ブ
リッジ174、及びハードウェア・アクセラレータ10
2に接続されている。これらのハードウェア・アクセラ
レータは、更に、データ・メモリ172に接続されてい
る。DMA176は、データ・メモリ172をバス・ブ
リッジ174に接続されている。図25〜図29は、セ
ルラ基地局と通信するために符号分割多元接続(CDM
A)技術を利用するセルラ電話150の概要ブロック図
である。ハードウェア・アクセラレータ102は、ディ
ジタル・ベースバンド166内に配置されている。CD
MA技術を利用したセルラ電話を開示したが、他の通信
技術を使用することもできる。
【0068】本発明を特定の実施例に関連して説明した
が、この説明は、限定する意味に解釈されるべきでな
い。種々の交換及び変更はこの説明を参照することによ
り当該技術分野において習熟する者とって明らかであ
る。従って、請求の範囲は本発明の真の範囲内に入るど
のような変更即ち実施例を含むことを意図している。
【0069】この出願は、1998年10月6日、ヨー
ロッパにおいて出願された第98402463.8号
(TI−27680EU)、及び1998年10月6
日、ヨーロッパにおいて出願された第9840245
5.4号(TI−28433EU)に対して優先権を主
張する。
【図面の簡単な説明】
【図1】従来技術の二重プロセッサ・データ処理システ
ムのブロック図。
【図2】図1のデータ処理システムのメモリ内のプログ
ラムP1によりプログラムP2用のパラメータを書き込
む処理を示す図。
【図3】図1のプロトコル・プロセッサ14の概要的な
総合ブロック図。
【図4】図1のプロトコル・プロセッサ14の更に詳細
な総合ブロック図。
【図5】図4のプロトコル・プロセッサ14の異なる複
数点における信号を表す波形図。
【図6】本発明の一実施例によるデータ処理システムの
ブロック図。
【図7】本発明の一実施例による図6のハードウェア・
アクセラレータ102の概要ブロック図。
【図8】データ・フロー・モードが[ACx、ACy]
=copr(ACx,ACy,Xmem,Ymem,C
oef)である本発明の他の実施例によるハードウェア
・アクセラレータ102のブロック図。
【図9】データ・フロー・モードが[ACx、ACy]
=copr(ACy,Xmem,Ymem,Coef)
又は[ACx、ACy]=copr(ACx,Xme
m,Ymem,Coef)である本発明の他の実施例に
よるハードウェア・アクセラレータ102のブロック
図。
【図10】データ・フロー・モードが[ACx、AC
y]=copr(Xmem,Ymem,Coef)であ
る本発明の更に他の実施例によるハードウェア・アクセ
ラレータ102のブロック図。
【図11】データ・フロー・モードが[ACx、AC
y]=copr(ACx、ACy,Xmem,Yme
m)であり、バス124がデコーダ126をレジスタ1
28に接続した本発明の更に他の実施例によるハードウ
ェア・アクセラレータ102のブロック図。
【図12】データ・フロー・モードがACy=copr
(ACx、Xmem,Ymem)又はACy=copr
(ACx、Lmem)である本発明の更に他の実施例に
よるハードウェア・アクセラレータ102のブロック
図。
【図13】データ・フロー・モードがACy=copr
(ACx、Ymem,Coef)である本発明の更に他
の実施例によるハードウェア・アクセラレータ102の
ブロック図。
【図14】データ・フロー・モードがACy=copr
(Ymem,Coef)である本発明の更に他の実施例
によるハードウェア・アクセラレータ102のブロック
図。
【図15】データ・フロー・モードがACy=copr
(ACx,Smem)である本発明の更に他の実施例に
よるハードウェア・アクセラレータ102のブロック
図。
【図16】データ・フロー・モードが[ACx、AC
y]=copr(ACx、ACy)である本発明の更に
他の実施例によるハードウェア・アクセラレータ102
のブロック図。
【図17】データ・フロー・モードがACy=copr
(ACx、ACy)である本発明の更に他の実施例によ
るハードウェア・アクセラレータ102のブロック図。
【図18】単一サイクル・オペレーションのタイミング
図。
【図19】20×20画素による参照ウィンドウを示す
図。
【図20】16×16画素によるソース・マクロブロッ
クを示す図。
【図21】本発明の他の実施例によるデータ処理システ
ムのブロック図。
【図22】本発明に関連する携帯電話の外観を示す斜視
図。
【図23】プロセッサ168に接続された種々の周辺装
置のブロック図。
【図24】電話150の主要部品のブロック図。
【図25】図24の電話150のブロック配置図。
【図26】図24の電話150のブロック配置図。
【図27】図24の電話150のブロック配置図。
【図28】図24の電話150のブロック配置図。
【図29】図24の電話150のブロック配置図。
【符号の説明】
12、168 プロセッサ 36、48、56、94、120 アドレス・バス 38 命令バス 44、46、54、106、110、114、116、
151、152、153、192 データ・バス 64、68、76、78、115、121、123、1
24、127、129、130、140、142、14
5、147、149、151、153、155、15
7、161、163、165、199 バス 102 ハードウェア・アクセラレータ 104 ランダム・アクセス・メモリ 124、126 デコーダ 173 データ・メモリ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 カリム ドジャファリアン フランス国 ベンセ,バティメント ビー 1,レス トスカネス,ボウレバルド ド ゥ ラ レイネ ジーン 453 (72)発明者 ジーン − ピエレ ジアカローネ フランス国 ベンセ,シェマン デ エコ リエルス,484 (72)発明者 アルメレ ライネ フランス国 アンティベス,ル オウベル ノン 13

Claims (49)

    【特許請求の範囲】
  1. 【請求項1】 データ処理装置において、 ランダム・アクセス・メモリと、 前記ランダム・アクセス・メモリに接続されたハードウ
    ェア・アクセラレータと、 前記ランダム・アクセス・メモリに前記ハードウェア・
    アクセラレータを接続するプロセッサとを備えたデータ
    処理装置。
  2. 【請求項2】 前記データ処理装置は、単一サイクルに
    おいて多重オペレーションを実行する請求項1記載のデ
    ータ処理装置。
  3. 【請求項3】 前記多重オペレーションは、メモリ・ア
    クセス、オペレーション及びレジスタ転送を含む請求項
    2記載のデータ処理装置。
  4. 【請求項4】 前記のうちの少なくとも1つのバスは、
    前記ランダム・アクセス・メモリを前記ハードウェア・
    アクセラレータに接続する請求項1記載のデータ処理装
    置。
  5. 【請求項5】 前記のうちの少なくとも1つのバスは、
    16ビット・バスである請求項4記載のデータ処理装
    置。
  6. 【請求項6】 多重バスが前記プロセッサを前記ハード
    ウェア・アクセラレータに接続する請求項1記載のデー
    タ処理装置。
  7. 【請求項7】 前記多重バスは、13ビット・バス、4
    ビット・バス、2ビット・バス及び2×20ビット・バ
    スを含む請求項6記載のデータ処理装置。
  8. 【請求項8】 前記13ビット・バスは双方向であり、
    前記4ビット・バスは単方向であり、前記2ビット・バ
    スは単方向であり、かつ前記2×20ビット・バスであ
    る請求項8記載のデータ処理装置。
  9. 【請求項9】 前記プロセッサは、ディジタル信号プロ
    セッサである請求項1記載のデータ処理装置。
  10. 【請求項10】 前記ディジタル信号プロセッサは、前
    記ランダム・アクセス・メモリに接続されたアドレス発
    生ユニット、前記ハードウェア・アクセラレータに接続
    されたデータ・アキュムレータ、前記ハードウェア・ア
    クセラレータに接続されたステータス・フラグ、及び前
    記ハードウェア・アクセラレータに接続されたコプロセ
    ッサ命令インターフェースを含む請求項9記載のデータ
    処理装置。
  11. 【請求項11】 前記ハードウェア・アクセラレータ
    は、 デコーダと、 前記デコーダをオペレータ・カーネルに接続され第1の
    レジスタと、 前記オペレータ・カーネルに接続されたクロック・コン
    トローラとを備えている請求項1記載のデータ処理装
    置。
  12. 【請求項12】 前記デコーダは、命令信号及びストロ
    ーブ信号を受け取るように、かつ誤り信号を出力するよ
    うに接続されている請求項11記載のデータ処理装置。
  13. 【請求項13】 前記第1のレジスタ及び前記クロック
    ・コントローラは、クロック信号を受け取るように接続
    されている請求項11記載のデータ処理装置。
  14. 【請求項14】 更に、前記オペレータ・カーネルに接
    続され、かつ前記クロック・コントローラに接続された
    第2のレジスタを備えている請求項11記載のデータ処
    理装置。
  15. 【請求項15】 更に、第3のレジスタを含み、前記第
    3のレジスタは前記オペレータ・カーネルに接続され、
    かつ前記第2のレジスタに接続されている請求項14記
    載のデータ処理装置。
  16. 【請求項16】 更に、第3のレジスタ、及び第4のレ
    ジスタを含み、前記第3のレジスタは前記オペレータ・
    カーネルに接続され、前記第4のレジスタは前記オペレ
    ータ・カーネルに接続され、かつ前記第3のレジスタに
    接続された請求項11記載のデータ処理装置。
  17. 【請求項17】 前記第2、第3及び第4のレジスタ
    は、データRAMを更に接続されている請求項16記載
    のデータ処理装置。
  18. 【請求項18】 更に、前記オペレータ・カーネル上の
    XRポートに接続されたバスを含む請求項11記載のデ
    ータ処理装置。
  19. 【請求項19】 更に、前記オペレータ・カーネル上の
    YWポートに接続されたバスを含む請求項11記載のデ
    ータ処理装置。
  20. 【請求項20】 更に、前記オペレータ・カーネル上の
    XWポートに接続されたバスを含む請求項11記載のデ
    ータ処理装置。
  21. 【請求項21】 更に、前記オペレータ・カーネル上の
    フラグ・ポートに接続されたバスを含む請求項11記載
    のデータ処理装置。
  22. 【請求項22】 データ処理装置は、 ランダム・アクセス・メモリと、 前記ランダム・アクセス・メモリに接続された第1のプ
    ロセッサと、 前記ランダム・アクセス・メモリに接続された第2のプ
    ロセッサと、 前記ランダム・アクセス・メモリを前記第1及び第2の
    プロセッサに接続されたハードウェア・アクセラレータ
    とを備えたデータ処理装置。
  23. 【請求項23】 前記データ処理装置は、単一サイクル
    内で多重オペレーションを実行する請求項22記載のデ
    ータ処理装置。
  24. 【請求項24】 前記多重オペレーションは、メモリ・
    アクセス、オペレーション及びレジスタ転送を備えてい
    る請求項22のデータ処理装置。
  25. 【請求項25】 少なくとも1つのバスは、前記ランダ
    ム・アクセス・メモリを前記ハードウェア・アクセラレ
    ータに接続している請求項22記載のデータ処理装置。
  26. 【請求項26】 少なくとも1つのバスは、16ビット
    ・バスである請求項25記載のデータ処理装置。
  27. 【請求項27】 多重バスは、前記プロセッサを前記ハ
    ードウェア・アクセラレータに接続されている請求項2
    2記載のデータ処理装置。
  28. 【請求項28】 前記多重バスは、13ビット・バス、
    4ビット・バス、2ビット・バス及び2×40ビット・
    バスを含む請求項27記載のデータ処理装置。
  29. 【請求項29】 前記13ビット・バスは双方向であ
    り、前記4ビット・バスは単方向であり、前記2ビット
    ・バスは単方向であり、かつ前記2×40ビット・バス
    は双方向である請求項28記載のデータ処理装置。
  30. 【請求項30】 前記第1のプロセッサは、ディジタル
    信号プロセッサである請求項22記載のデータ処理装
    置。
  31. 【請求項31】 前記ディジタル信号プロセッサは、前
    記ランダム・アクセス・メモリに接続されたアドレス発
    生ユニット、前記ハードウェア・アクセラレータに接続
    されたデータ・アキュムレータ、前記ハードウェア・ア
    クセラレータに接続されたステータス・フラグ、及び前
    記ハードウェア・アクセラレータに接続されたコプロセ
    ッサ命令インターフェースを備えている請求項30記載
    のデータ処理装置。
  32. 【請求項32】 前記ハードウェア・アクセラレータ
    は、 デコーダと、 前記デコーダをオペレータ・カーネルに接続した第1の
    レジスタと、 前記オペレータ・カーネルに接続されたクロック・コン
    トローラとを備えている請求項22記載のデータ処理装
    置。
  33. 【請求項33】 前記デコーダは、命令信号、及びスト
    ローブ信号を受け取るように、かつ誤り信号を出力する
    ように接続されている請求項32記載のデータ処理装
    置。
  34. 【請求項34】 前記第4のレジスタ及び前記クロック
    ・コントローラは、クロック信号を受け取るように接続
    されている請求項32記載のデータ処理装置。
  35. 【請求項35】 更に、前記オペレータ・カーネルに接
    続され、かつ前記クロック・コントローラに接続された
    第2のレジスタを備えている請求項32記載のデータ処
    理装置。
  36. 【請求項36】 更に、第3のレジスタを含み、前記第
    3のレジスタは、前記オペレータ・カーネルに接続さ
    れ、かつ前記レジスタに接続されている請求項35記載
    のデータ処理装置。
  37. 【請求項37】 更に、第3のレジスタ及び第4のレジ
    スタを含み、前記第3のレジスタは前記オペレータ・カ
    ーネルに接続されると共に、前記第2のレジスタに接続
    され、かつ前記第4のレジスタは前記オペレータ・カー
    ネルに接続されると共に、前記第3のレジスタに接続さ
    れている請求項32記載のデータ処理装置。
  38. 【請求項38】 前記第2、第3及び第4のレジスタ
    は、更にデータRAMに接続されている請求項37記載
    のデータ処理装置。
  39. 【請求項39】 更に、前記オペレータ・カーネル上の
    XRポートに接続されたバスを含む請求項32記載のデ
    ータ処理装置。
  40. 【請求項40】 更に、前記オペレータ・カーネル上の
    YWポートに接続されたバスを含む請求項32記載のデ
    ータ処理装置。
  41. 【請求項41】 更に、前記オペレータ・カーネル上の
    XWポートに接続されたバスを含む請求項32記載のデ
    ータ処理装置。
  42. 【請求項42】 更に、前記オペレータ・カーネル上の
    フラグに接続されたバスを含む請求項32記載のデータ
    処理装置。
  43. 【請求項43】 データ処理装置において、 ランダム・アクセス・メモリと、 プロセッサと、 前記ランダム・アクセス・メモリを前記プロセッサに接
    続したインターフェースとを備え、単一サイクル内で多
    重オペレーションを処理する能力を有する前記データ処
    理装置。
  44. 【請求項44】 命令セットが前記インターフェース及
    び異なるモードを制御するために使用され、かつ前記プ
    ロセッサと前記インターフェースとの間でデータを共有
    している請求項43記載のデータ処理装置。
  45. 【請求項45】 電気通信装置において、 アナログ回路及びディジタル回路をアンテナに接続し、
    前記ディジタル回路はプロセッサに接続したハードウェ
    ア・アクセラレータを含むRF回路と、 前記RF回路、前記アナログ回路及び前記ディジタル回
    路に接続された電源とを備えた電気通信装置。
  46. 【請求項46】 前記RF回路はRFフロント・エンド
    を備え、前記アナログ回路はアナログ・フロント・エン
    ドを備え、前記ディジタル回路はディジタル・ベース・
    バンド・エレクトロニックスを備えている請求項45記
    載の電気通信装置。
  47. 【請求項47】 更に、ディスプレイ、前記ディジタル
    回路に接続されたキーボード、及び前記アナログ回路に
    接続されたスピーカ及びマイクロホンを含む請求項45
    記載の電気通信装置。
  48. 【請求項48】 単一プロセッサデータ処理システムに
    おける情報を処理する方法において、多重オペレーショ
    ンは単一サイクル内で処理される方法。
  49. 【請求項49】 単一サイクル内の多重オペレーション
    を容易にするように、データ処理システムにハードウェ
    ア高速化を使用する方法。
JP11321525A 1998-10-06 1999-10-06 デ―タ処理装置及び電気通信装置及び情報処理方法及びハ―ドウェア高速化を使用する方法 Pending JP2000215057A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP98402463A EP0992895A1 (en) 1998-10-06 1998-10-06 Hardware accelerator for data processing systems
EP98402463.8 1998-10-06

Publications (2)

Publication Number Publication Date
JP2000215057A true JP2000215057A (ja) 2000-08-04
JP2000215057A5 JP2000215057A5 (ja) 2006-12-21

Family

ID=8235520

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11321525A Pending JP2000215057A (ja) 1998-10-06 1999-10-06 デ―タ処理装置及び電気通信装置及び情報処理方法及びハ―ドウェア高速化を使用する方法

Country Status (2)

Country Link
EP (1) EP0992895A1 (ja)
JP (1) JP2000215057A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106527999A (zh) * 2016-12-01 2017-03-22 中国船舶重工集团公司第七六研究所 一种用于求解微分方程的硬件加速装置及加速方法
USRE48845E1 (en) 2002-04-01 2021-12-07 Broadcom Corporation Video decoding system supporting multiple standards

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2377519B (en) * 2001-02-14 2005-06-15 Clearspeed Technology Ltd Lookup engine
GB2410349B (en) * 2001-02-14 2005-11-09 Clearspeed Technology Plc Data processing architectures
EP1391812A1 (en) 2002-08-20 2004-02-25 Texas Instruments Incorporated Hardware accelerator for performing division
US9785444B2 (en) 2013-08-16 2017-10-10 Analog Devices Global Hardware accelerator configuration by a translation of configuration data

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5507000A (en) * 1994-09-26 1996-04-09 Bull Hn Information Systems Inc. Sharing of register stack by two execution units in a central processor
US5960209A (en) * 1996-03-11 1999-09-28 Mitel Corporation Scaleable digital signal processor with parallel architecture

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE48845E1 (en) 2002-04-01 2021-12-07 Broadcom Corporation Video decoding system supporting multiple standards
CN106527999A (zh) * 2016-12-01 2017-03-22 中国船舶重工集团公司第七六研究所 一种用于求解微分方程的硬件加速装置及加速方法

Also Published As

Publication number Publication date
EP0992895A1 (en) 2000-04-12

Similar Documents

Publication Publication Date Title
KR100440841B1 (ko) 마이크로컴퓨터
EP1282035A1 (en) Method and apparatus for interfacing a processor to a coprocessor
KR19980018072A (ko) 벡터 레지스터의 복수 뱅크를 사용한 단일 명령 복수 데이터 처리
JPH09231070A (ja) 情報処理回路、半導体集積回路装置、マイクロコンピュータ、電子機器
JP2001202245A (ja) 改良式命令セットアーキテクチャを有するマイクロプロセッサ
EP0498595B1 (en) Single chip digital processor and method for operating it
US7693929B2 (en) Hardware extension for accelerating fractional integer division within 3D graphics and MP3 applications
EP0295646A2 (en) Arithmetic operation processing apparatus of the parallel processing type and compiler which is used in this apparatus
JP2000215057A (ja) デ―タ処理装置及び電気通信装置及び情報処理方法及びハ―ドウェア高速化を使用する方法
US6948049B2 (en) Data processing system and control method
JP2002149402A (ja) データ処理装置およびその制御方法
JP2003529151A (ja) 構成可能な長命令語(cliw)を使用するプロセッサにユーザ定義の実行ユニットを追加するための方法と装置
US6889320B1 (en) Microprocessor with an instruction immediately next to a branch instruction for adding a constant to a program counter
US20020111977A1 (en) Hardware assist for data block diagonal mirror image transformation
KR19980018065A (ko) 스칼라/벡터 연산이 조합된 단일 명령 복수 데이터 처리
US6249858B1 (en) Information processing apparatus having a CPU and an auxiliary arithmetic unit for achieving high-speed operation
JP5372307B2 (ja) データ処理装置およびその制御方法
JPH11307725A (ja) 半導体集積回路
JP3727395B2 (ja) マイクロコンピュータ
KR19980018071A (ko) 멀티미디어 신호 프로세서의 단일 명령 다중 데이터 처리
CN113853591A (zh) 将预定义填补值插入到向量流中
Kuzmanov et al. Arbitrating Instructions in an ρμ-coded CCM
JPH04104350A (ja) マイクロプロセッサ
US5765013A (en) Digital signal processor
Srini et al. Parallel DSP with memory and I/O processors

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061006

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061106

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080415

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080422

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080722

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080725

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080822

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080827

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080922

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080926

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081022

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20081125