JP2000200218A - キャッシュメモリを有するマイクロプロセッサ - Google Patents

キャッシュメモリを有するマイクロプロセッサ

Info

Publication number
JP2000200218A
JP2000200218A JP11287162A JP28716299A JP2000200218A JP 2000200218 A JP2000200218 A JP 2000200218A JP 11287162 A JP11287162 A JP 11287162A JP 28716299 A JP28716299 A JP 28716299A JP 2000200218 A JP2000200218 A JP 2000200218A
Authority
JP
Japan
Prior art keywords
data
bus
hiu
read
write
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
JP11287162A
Other languages
English (en)
Inventor
Laurence R Simar Jr
アール.シマー,ジュニア. ローレンス
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 JP2000200218A publication Critical patent/JP2000200218A/ja
Pending legal-status Critical Current

Links

Classifications

    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • G06F12/0897Caches characterised by their organisation or structure with two or more cache hierarchy levels
    • 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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/25Using a specific main memory architecture
    • G06F2212/251Local memory within processor subsystem
    • G06F2212/2515Local memory within processor subsystem being configurable for different purposes, e.g. as cache or non-cache 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)
  • Memory System Of A Hierarchy Structure (AREA)
  • Advance Control (AREA)

Abstract

(57)【要約】 【課題】 プロセッサ・リソースにおける競合を減少さ
せ、プロセッサにおけるハウスキーピング・オーバヘッ
ドを減少させ、割込み処理とサブルーチン呼出しおよび
復帰とを簡素化し、プロセッサの帯域幅を増大させる。 【解決手段】 マイクロプロセッサは、並列データ演算
を行い得る第1の機能ユニットのセットと、並列データ
演算を行い得る第2の機能ユニットのセットと、第1お
よび第2の機能ユニットを接続するデータ相互接続経路
と、第1および第2の機能ユニットと相互接続された複
数のキャッシュ・レベルとを含む。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データ処理装置と
電子処理および制御システムとそれらの製造および動作
方法とに関する。
【0002】
【従来の技術】マイクロプロセッサ装置は、グレー・W
・ブーンに発行され、テキサス・インスツルメンツ社に
譲渡された米国特許第3,757,306号に示されて
いるように、MOS/LSI技術により製造された単一
半導体集積回路すなわち「チップ」内に通常含まれるデ
ィジタルプロセッサ用の中央処理装置すなわちCPUで
ある。このブーン特許は、全てがフォン・ノイマン・ア
ーキテクチャを用いるとともにデータ,アドレスおよび
命令用の双方向性並列バスを用いて相互接続された、並
列ALU,データおよびアドレス用のレジスタ,命令レ
ジスタおよび制御デコーダを含む、単一チップ8ビット
CPUを示している。グレー・W・ブーンおよびミカエ
ル・J・コーランに発行され、テキサス・インスツルメ
ンツ社に譲渡された米国特許第4,074,351号
は、単一チップ「マイクロコンピュータ」タイプの装置
を示しており、この装置は、ハーバード・アーキテクチ
ャにより構成されたプログラム記憶用のオンチップRO
Mおよびデータ記憶用のオンチップRAMとともに、4
ビット並列ALUおよびその制御回路を含む。マイクロ
プロセッサという用語は、通常は、プログラムおよびデ
ータ記憶用の外部メモリを用いる装置を指し、一方、マ
イクロコンピュータという用語は、プログラムおよびデ
ータ記憶用のオンチップROMおよびRAMを有する装
置を指す。本発明の説明においては、「マイクロコンピ
ュータ」という用語は、両タイプの装置を含むものとし
て用いられ、また、「マイクロプロセッサ」という用語
は、主として、オンチップROMをもたないマイクロコ
ンピュータを指すために用いられる。しかし、これらの
用語はしばしば本技術分野においては交換可能なものと
して用いられているので、本説明におけるこれらの用語
の一方または他方の使用は本発明の特徴を制限するもの
と考えるべきではない。
【0003】現今のマイクロコンピュータは、2つの一
般的種類すなわち汎用マイクロプロセッサおよび専用マ
イクロコンピュータ/マイクロプロセッサに分類され得
る。モトローラ社により製造されているM68020の
ような汎用マイクロプロセッサは、広範なタスクの任意
のものを行うようにユーザがプログラムし得る設計にな
っており、したがって、パーソナルコンピュータのよう
な装置の中央処理装置としてしばしば用いられている。
そのような汎用マイクロプロセッサは、広範な演算およ
び論理機能に対して良い性能を有するが、もちろんその
ような機能の特定の1つ用に特に設計されまた適応させ
られてはいない。これとは対照的に、専用マイクロコン
ピュータは、ユーザがそのマイクロコンピュータを用い
ようとしている特定の所定の演算および論理機能に対し
て性能を改善するように設計されている。そのマイクロ
コンピュータの主たる機能を知ることにより、設計者
は、専用マイクロコンピュータによる特定機能の性能が
ユーザにより作られたプログラムに係わらず汎用マイク
ロプロセッサによる同じ機能の性能を大きく超えるよう
に、そのマイクロコンピュータを構成し得る。
【0004】専用マイクロコンピュータにより大幅に改
善された速度で行われ得る1つのそのような機能は、デ
ィジタル信号処理、特にディジタルフィルタの実現のた
めまた高速フーリエ変換を行うために必要とされる計算
である。そのような計算は、整数乗算,多ビットシフト
および乗算と加算のような高度の反復演算から成るの
で、専用マイクロコンピュータはこれらの反復機能に特
に適応するように構成され得る。そのような専用マイク
ロコンピュータは、テキサス・インスツルメンツ社に譲
渡された米国特許第4,577,282号に説明されて
おり、これは、ここで参照されてその開示が本願に取り
込まれる。これらの計算用マイクロコンピュータの特定
の設計は、汎用マイクロプロセッサに比し十分に改善さ
れた性能を与え、そのような専用マイクロコンピュータ
は音声および画像処理のようなリアルタイム・アプリケ
ーションにおいて使用可能となった。
【0005】ディジタル信号処理アプリケーションは、
それらの計算集中性のために、メモリアクセス動作にお
いても集中的である。したがって、ディジタル信号処理
機能を行うマイクロコンピュータの全般的性能は、単位
時間毎に行われる特定計算の数によるのみでなく、マイ
クロコンピュータがシステムメモリからデータを検索し
またデータをそれへ格納し得る速度によっても、決定さ
れる。前記米国特許第4,577,282号に説明され
ているもののような従来の専用マイクロコンピュータ
は、ハーバード・アーキテクチャの修正バージョンを利
用しているので、データメモリへのアクセスはプログラ
ムメモリへのアクセスと無関係にかつそれと同時に行わ
れ得る。そのようなアーキテクチャは、もちろん、性能
をさらに改善する。
【0006】ますます増大する技術および市場からの要
求は、処理装置およびアプリケーションシステムにおけ
る構造およびプロセスのさらなる改善と、動作および製
造方法のさらなる改善とを所望している。
【0007】
【発明が解決しようとする課題】本発明の目的は、デー
タの捕捉または出力,機能と集中的計算動作との間のプ
ロセッサ・リソースに対する競合を減少させる、改善さ
れたデータ処理装置,システムおよび方法を提供するこ
とと、高サンプリング速度ディジタル信号処理アプリケ
ーションでのプロセッサにおけるハウスキーピング・オ
ーバヘッドを減少させる、改善されたデータ処理装置,
システムおよび方法を提供することと、割込み処理とサ
ブルーチン呼出しおよび復帰とを簡素化する、改善され
たデータ処理装置,システムおよび方法を提供すること
と、電気通信,制御システムおよび他のアプリケーショ
ンにおけるプロセッサ帯域幅を増大させる、改善された
データ処理装置,システムおよび方法を提供することと
にある。
【0008】
【課題を解決するための手段】一般に、本発明の1つの
形式は、多数のキャッシュメモリを有する極めて長い命
令ワード(VLIW)電子プロセッサを含む、改善され
たデータ処理装置である。
【0009】一般に、本発明のもう1つの形式は、変換
プロセスによりアナログ入力に対応するディジタル信号
を発生するアナログ/ディジタル変換器を含む信号処理
用のシステムである。このアナログ/ディジタル変換器
に接続されたメモリおよびプロセッサを有するディジタ
ル処理回路は、割込み信号に応答して、そのディジタル
信号をメモリに入力する。このプロセッサは、レジスタ
セットと、少なくとも1つの乗算器と、少なくとも1つ
の論理演算装置と、多数のキャッシュメモリとを含む。
【0010】本発明の他の装置,システムおよび方法の
形式がまた、ここに開示され、特許請求されている。
【0011】本発明の特徴と信じられる新しい諸特徴
は、添付の特許請求の範囲に記載されている。本発明の
実施例および本発明の他の諸特徴および利点は、添付図
面と併せて読まれる以下の詳細な説明を参照することに
より、最も良く理解されるであろう。文脈が異なること
を指示していなければ、図面のさまざまな図において、
同じ数字その他の記号は、同じ部品に関連する。
【0012】
【発明の実施の形態】ここで図1を参照すると、現在好
ましいマイクロプロセッサ11の高レベル機能ブロック
図が示されている。図1は、ディジタル信号プロセッサ
(DSP)のブロック図を示す。このDSPは、図1の
左側中央部に示されているCPUに基づいている。この
DSPは、2レベルメモリ階層に依存し、第2のレベル
のメモリは統合形データ/命令メモリバンクである。第
1のレベルのメモリは、L1プレフィックスにより表さ
れ、第2のレベルのものはL2として表される。
【0013】図1−1には、図1のDSPの代表的メモ
リマップが示されている。このオンチップメモリは、ア
ドレス0x00000000から始まるプログラムおよ
びデータ・メモリの単一統合形ブロックである。この記
憶場所におけるメモリの量はL2用に選択された構成に
依存する。これらの機能は後述される。
【0014】CPU命令側は、小形高速命令キャッシュ
からの供給を受ける。1ウェイ(直接マップ形)4キロ
バイト命令キャッシュ・マイクロプロセッサは、大部分
のマイクロプロセッサ・アプリケーションに対するかな
りのパフォーマンスのために適切であるヒット率(>9
5%)を十分に与える。L1I(レベル1命令)キャッ
シュは、DSPコアのL1I制御装置に単一サイクル・
スループットを供給する。64バイト(2フェッチ・パ
ケット)のラインサイズが、好ましくは、L1I用に用
いられる。これは、ミスに際してある量の(1フェッチ
・パケットに等しい)プログラム先取りをL2/外部メ
モリに供給する。L1Iは、常に、直接マップ形キャッ
シュとして動作し、メモリマッピングを受けない。
【0015】L1Iキャッシュをサポートするために
は、小量のタグ記憶が必要である。64バイト・ライン
サイズの場合は、それぞれが20ビットの64エントリ
が必要とされる。アドレスおよびタグは、次のように分
解される。
【0016】
【表1】
【0017】L1IタグRAMは、CPUと衝突せずに
L2からの(スヌープを介する)無効化をサポートする
ために、デュアルポート形のものであるべきである。
【0018】L1IRAMは、好ましくは、CPUによ
る単一サイクル実行をサポートするために、256ビッ
ト幅に構成される。RAMバンクは、図1に示されてい
る命令キャッシュ/CPUパイプラインのタイミング制
約内において動作する。
【0019】CPUデータメモリ制御装置は、小形高速
データキャッシュに対してインタフェースされる。L1
Dデータキャッシュとしては、4キロバイトの2ウェイ
セット連想データキャッシュが用いられる。このキャッ
シュは、CPUによる単一サイクル・アクセスを提供す
る。L1Dキャッシュに対しては、32バイトのライン
サイズが用いられる。L1Dキャッシュは、CPUパイ
プラインをより低速のL2バンクおよび外部メモリから
分離するために役立つ。L1Dは、メモリマップ形SR
AMとして動作するようにディスエーブルされ得ない。
L1Dキャッシュは、L2SRAM空間とキャッシュ可
能として識別される外部アドレスとを合わせたものにア
クセスする。
【0020】L1D制御装置は、タグRAMを用いて、
キャッシュ内のデータの妥当性を追跡する。2つのタグ
RAMがDSPの2つのロード/格納(LD/ST)ユ
ニットにより必要である。アドレスおよびタグは、次の
ように分解される。
【0021】
【表2】
【0022】セットフィールドは、メモリアクセスが6
4セットのいずれに対して行われるかを示す。サブライ
ンフィールドは、アクセスが64ビット・サブラインの
いずれに対して行われるかを示す。ワードフィールド
は、メモリアドレスが64ビット・サブラインの上半分
または下半分のいずれに関するものであるかを示す。
【0023】各タグRAMは、42ビット(21ビット
×2LD/STパイプ)の64エントリを含む。これら
のタグRAMは、L2からのスヌープ・サイクルにより
生じる機能停止をなくすために、デュアルポート形のも
のとされる。
【0024】L1D側におけるミスは、適宜、処理され
なければならない。L1Dミスに際して行われるサービ
スのタイプは、2つのアイテム、すなわち、そのミスの
アドレスおよび方向に依存する。読取りミスに際して
は、L1D制御装置は、L2にサービスの要求を送る。
これは、L2動作モードに係わらず行われる。したがっ
て、L1DはL2構成とは無関係になる。L1Dにおけ
る読取りミスは、それが修正されていれば、要求された
アドレスへのLRU(最低使用頻度)ラインマッピング
をL1Dに強制して、L2制御装置へコピーされるよう
にし、また、新しいラインがL1Dに読み込まれるよう
にする。L2へのコピー出力は、そのラインのL1Dコ
ピーが修正されている場合に限り存在し、それはライン
状態ビットにより示される。L2制御装置は、その動作
モードにより、要求に直接サービスするか、それをI/
Oサブシステムにそらす。新しいライン用のタグおよび
LRU状態は、L1DおよびL2の双方において適切に
更新される。
【0025】L1Dにおける書込みミスは、いくぶん異
なった処理を受ける。L1Dにおける書込みミスは、L
1Dの修正なしに(すなわち、L1Dには書込み割当て
が存在しない)、L2に達する。このタイプのキャッシ
ュは、通常、ライトスルーキャッシュと呼ばれるもので
ある。L2制御装置は、その構成または動作モードに依
存して、ミスをどのように処理すべきかを決定する。L
2は、書込みを直接受入れるか、書込みをI/Oサブシ
ステムにそらす。この場合も、タグおよびライン状態情
報は、L2において適切に更新される。L2メモリバン
クは、(最高速度において)2サイクルアクセスを行う
ので、書込みは、好ましくは、小形キューにおいてバッ
ファされる。このキューのサイズは調整可能であるが、
それはかなり小さい(2ないし3エントリ)必要があ
る。注意すべきこととして、読取りミスの場合には、書
込みバッファは、L2とのコヒーレンシを維持するため
に、まず空にされる。
【0026】現在のL1Dバンクは64ビット幅のデュ
アルポート形RAMバンクを用いており、これはCPU
の2つのLD/STパイプ間のバンク衝突を解消する。
L2へ/からの128ビットデータ経路がまた、RAM
データポートの双方を用いることによって提供される。
L1DタグおよびデータRAMは、図1−2に示されて
いるデータ・キャッシュ/CPUパイプラインの制約内
において動作しなければならない。
【0027】DSPは第2のレベルのメモリを含み、こ
れは、統合された64キロバイト・データおよび命令R
AM/キャッシュを与える。L2は、電源投入の際に選
択可能ないくつかのモードの1つで動作し得る。ユーザ
は、L2サイズの1/4の増加において、プログラムま
たはデータ・セグメント用のSRAMであるように、L
2の諸部分を選択し得る。L2メモリの1/4がSRA
Mとしてロックされるとき、残りのL2メモリのキャッ
シュ動作は低下した連想性をもって動作する。これは、
次の表1−3に示されている。L2のキャッシュ象限
は、L11からの命令およびデータフェッチ要求をキャ
ッシュする。
【0028】
【表3】
【0029】図1−3は、L2動作モードを示す。この
動作モードは、後述のように、メモリマップ形制御レジ
スタを介して決定される。L2は、電源投入/チップ・
リセット時に全SRAMモードにリセットされる。これ
は、後述のように、ブートローディングをサポートする
ために含まれる。
【0030】L2メモリ構造は、3つのポートを介して
アクセス可能であり、それは、L1I制御装置とL1D
制御装置とI/Oサブシステムとを含む。L2キャッシ
ュのライン状態を追跡するために、256セット,4ウ
ェイ・タグRAMが含まれ、各ウェイは18ビットのア
ドレスを含む。L1Dラインの状態を追跡するために、
また、(後述のように)コヒーレンシを維持するため
に、いくつかの追加ビットが含まれ得る。L2リソース
用の競合を緩和するために、タグRAMはx4基準に基
づいてバンク化されるべきである。
【0031】L1Iインタフェースは、L2からL1I
への256ビット・データ経路と、ミスに際しL1によ
り駆動されるL1Iからの26ビット・アドレスとを含
む。L2のラインサイズは128バイトにセットされ、
大部分はCPUの命令ワードの指示を受ける。L2に通
知されたL1IおよびL1Dミスは、適切なアドレスで
L2からデータを返送するか恐らくはCPUを機能停止
させるが、L2はその要求をI/Oサブシステムに通知
する。L2 SRAM空間にアクセスしたL1Iは、直
ちにサービスを受け得る。実行の前にL2 SRAM空
間内にコードがプレロードされ終わるのを保証すること
は、プログラマの責任である。
【0032】L2に対するL1D制御装置インタフェー
スは、読取りアクセスおよび書込みアクセスの双方を考
慮しなければならないので、L1Iインタフェースより
も複雑である。L2からL1Iへの読取りおよび書込み
データ経路はともに、128ビット幅を有する。この広
げられた経路は、L1Dフェッチおよびエビクション
(書戻し)を最小の待ち時間で行うことを助ける。L1
Dからのデータアクセスは、L2 SRAMまたはキャ
ッシュから行われ得る。キャッシュとして構成されたと
きのSRAM空間へのアクセスは、無効データを返送
し、キャッシュとして構成されたSRAM空間への書込
みは廃棄される。
【0033】最後のL2インタフェースはI/Oサブシ
ステムからのものである。このインタフェースは64ビ
ット・データ経路である。これは、将来の装置動作用の
インフラストラクチャの発展のために設けられ、それに
は、このより広いインタフェースが提供する追加の帯域
幅が役立つ。I/Oサブシステムは、書込みデータ経路
に伴う30ビットアドレスとともに、64ビットの(L
2からI/Oサブシステムへの)読取りデータポートお
よび(I/OサブシステムからL2への)書込みデータ
ポートの双方を含む。I/Oサブシステムへの読取り要
求は、後述のように、L1/L2によるアドレス発生よ
りもむしろ転送要求パケット構造に依存する。L2キャ
ッシュおよびそのインタフェースの簡単化されたブロッ
ク図を示す図1−4では、I/Oサブシステムは略語D
TB(データ転送バス)によって示されている。
【0034】L2 SRAMは、2サイクル・アクセス
を必要とする高密度ではあるが低速のSRAMセルから
構成されていることに注意すべきである。したがって、
L1からL2へは以下のミス・ペナルティが存在する。
L2へのL1Dミス:4サイクルおよびL2へのL1I
ミス:4サイクル。
【0035】L2へは3つのポートが存在するので、L
2のバンク化は重要事項である。L2 RAMおよびタ
グRAMの双方は、L1DとI/Oサブシステムとの間
の衝突が最小化されるように、バンク化される。理想的
には、プログラム・フェッチ側を隔離することもできる
かもしれないが、256ビット幅のために、これを行う
のにはかなりの努力が必要である。L2 RAMアレイ
は、4×64ビット・メモリとして編成される。したが
って、L1Iミスは、全L2 RAMバンク・セットを
必要とする。L1DおよびI/OサブシステムのL2へ
の同時アクセスのための手段を提供するタグもまた、バ
ンク化されるべきである。
【0036】L2制御装置は、バンクの衝突がない限
り、一時に2つまでの同時アクセスを許容する。L1D
インタフェースは、互いに衝突するアクセスに、一時に
1つのみが進行するように優先順位を与える。この優先
順位は、L1Dレベルのそれと一致し、L2は一時に1
つのみのL1D要求に対応する。
【0037】L2レベルにおいては、メモリバンクに関
し6つの要求が存在する可能性がある。これらの要求
は、アクセスが衝突する場合には、以下のように、(最
高から最低まで)優先順位を与えられる。 ・ L1I(ヒット) ・ L1D(ヒット) ・ TC(DMA読取り/書込み) ・ 読取り充填(L2におけるキャッシュサービス) ・ 犠牲書込み(L2からTCを介したメモリへのキ
ャッシュ書戻し) ・ スヌープ(L1Dによるデータ・マージング)
【0038】以上にリストした優先順位は、L1ミスが
生じたときに、できるだけ速やかにCPU機能停止を解
除することにより、CPUパフォーマンスを最適化す
る。TCにより行われるDMAアクセスは、定義により
バックグラウンド・タスクであり、L1アクセスの下の
優先順位を与えられている効果を許容し得る。
【0039】現存のC6201 DSPは、DMAによ
る競合解決用の内部メモリ・リソース用の優先順位ビッ
トを含む。この値は2レベル階層においてはいくらか制
限されるが、このビットは含まれており、L2に対する
L1I/L1DインタフェースとI/Oサブシステム・
インタフェースとの間のバンク衝突のあるアクセスの優
先順位付与を制御する。I/OサブシステムはL1D制
御装置への直接インタフェースをもたず、したがって、
それらのレベルでは特別の優先順位は必要とされない。
【0040】マルチレベル・メモリ階層に関してと同様
に、コヒーレンシの問題とそれがどのレベルに維持され
るべきかとが処理されなければならない。本システムに
おいては、コヒーレンシは、L1DおよびL2における
ラインの状態を追跡するとともに、必要とされる正しい
バス・サイクルを行うことにより、維持される。自己修
正コードは、ソフトウェアにより未だサポートされ得
る。
【0041】簡単化として、L1DおよびL2キャッシ
ュとの外部メモリ・コヒーレンシは維持されない。L1
Dは、L2に対するDMAおよびL1Iアクセス間の衝
突を減少させるためのバッファメモリ空間と考えられ得
る。また、L1Dは、ポートの数を4から3に減少させ
ることにより、L2制御装置を簡単化する(図1−3参
照)。
【0042】L1とL2との間の内部コヒーレンシを維
持するために、L2制御装置インタフェースは、スヌー
プ無効化サイクルのシステムに依存する。これらのサイ
クルは、CPUが劣化データにアクセスせず、DMAか
らのL2活動により悪影響を受けないことを保証する。
この機構は、以下に説明するように動作する。
【0043】L2がエビクションを行うとき、それは、
常に、L1Dにおいてスヌープ無効化サイクルを行い、
返送データを待つ。返送データがなければ(応答は常に
存在する)、エビクションは正常に進行する。データが
L1Dから返送されれば、それは、メモリに書き出され
るデータが最新のコピーであるように、エビクションが
進行する前にL2データとマージされる。ラインはL1
DおよびL2の双方において無効化される。
【0044】DMAがL2をアクセスするときは、同じ
タイプのサイクルが行われる。DMAアクセスは、L2
SRAM空間に対してのみ許容され、同じスヌープ無
効化サイクルに依存してL1とのコヒーレンシを維持す
る。L2 SRAMに対するDMA書込みが行われると
き、スヌープ無効化サイクルはL1D制御装置およびL
1I制御装置の双方へ送られる。L2制御装置はDMA
がコードまたはデータ・セグメントを含むかどうかを知
り得ないので、双方のL1がスヌープされなければなら
ない。L1D制御装置がデータにより応答すれば、それ
は入来DMAデータとマージされる。それでも、ライン
に対する将来のアクセスがL1Dをそれて、L2へ送ら
れてサービスが行われるように、ラインはL1Dにおい
て無効化される。このようにして、CPUは、新しいD
MAデータにアクセスすることを保証される。同様にし
て、ラインがL1I内にあれば、スヌープ無効化サイク
ルはそのラインを無効化し、L1Iはそのラインへのア
クセスを逸して、L2から新しいデータをフェッチす
る。L1Iは、L2からの無効化指令が「点火後忘却」
タイプの様式で送られ、L2における機構停止がDMA
によるコードのプレフェッチよりもむしろ実際のデータ
移動へ制限されるように、構成されなければならないこ
とに注意すべきである。
【0045】L2 SRAM空間のDMA読取りは、キ
ャッシュラインのエビクションと基本的に同様に処理さ
れる。L1Dに対しスヌープ無効化サイクルが行われ、
L2制御装置は応答を待つ。データがL2へ返送されれ
ば、それはL2内に配置され、次に、DMAは新しいデ
ータの転送へ進むことを許容される。この場合でも、ラ
インはL1Dにおいて無効化される。しかし、この無効
化は厳密には必要でなく、ラインはなおL2内にあるの
で、インパクトは無視できる。これは、L1D制御装置
を簡単化するために行われる。そのわけは、それが今や
1つのタイプのスヌープ無効化機能のみをサポートしさ
えすればよいからである。
【0046】L2からのエビクションおよびDMA読取
りサイクルの場合には、L1I無効化は行われないこと
に注意すべきである。これは、L1IがデータをL2に
返送しないという事実による。最適化として、L2制御
装置は、L1D内にないL2ラインへのアクセスが不必
要に無効化されないように、L1Dラインサイズ(32
バイト)まで低下させられたサブライン(L2ライン)
状態ビットを含むべきである。L1IはL2からの無効
化を帰還なしにサポートするので(上述を参照)、L2
内のディレクトリ・ビットはL1Iにとって不必要であ
る。
【0047】以下の例は、L1−L2キャッシュがL2
に対するDMAとともにどのように動作するかを示す。
この例の目的上、L2空間は単にSRAMとして構成さ
れているものと仮定する。ここで図1−5を参照する
と、そこにはL1DとL2との間のデータ転送の一例が
示されている。データ転送プロセスは、DMA制御装置
を介してL2に書き込まれたデータのバッファInBu
ffAから開始される。DMA制御装置からの割込み
は、CPUへそのデータが準備完了状態にあることを知
らせるために、CPUに送られたものであると仮定す
る。L2空間がアクセスされたとき(1)、それはL1
Dメモリ内へキャッシュされる。CPUがそのデータを
処理するとき、それはデータをL2空間内の別個の出力
バッファOutBuffAに書き込み得る。この例の目
的上、CPUはまずOutBuffAを読み取り、した
がって、それをL1D内へキャッシュする(2)と仮定
する。これが行われなかったならば、OutBuffA
はL2内に常駐するのみとなり、OutBuffAへの
書込みは前述の書込みバッファを単に通過してL2に達
する。OutBuffAへの書込みデータは、OutB
uffAのL1I像に捕獲される。バックグラウンドで
は、DMAアクセスは別個の入力バッファ(InBuf
fB)に対して継続され得ること(3)に注意すべきで
ある。
【0048】ここで図1−6を参照すると、そこにはL
1DとL2との間のデータ転送のもう1つの例が示され
ている。処理が完了したときは、OutBuffA内の
データを必要とするCPUまたは恐らくは周辺装置は、
L2へのDMAアクセスを行う。L2制御装置は、L1
Dに対してスヌープ無効化サイクルを行い、応答を待
つ。OutBuffAのL1D像は無効化されて
(4)、データはL2に返送される。そのデータはL2
SRAMに書き込まれたのち、I/Oサブシステムに
送られてDMAのために役立てられる(5)。CPUが
OutBuffAのさらなる使用を必要とするならば、
最初の読取りアクセスはL1Dを逸し、そのデータはL
2からフェッチされる。これは、システムパフォーマン
スに最小のインパクトしか与えない。
【0049】多くのDSPアプリケーションにおいて一
般的であるように、ダブルバッファリングがこの例に取
り入れられて、処理されなければならないコヒーレンシ
問題が説明される(6)。このプロセスが図1−7に継
続される際、CPUは、InBuffBが処理される準
備が完了したときに、割込みを受ける。CPUはInB
uffBを読み取り、それをL1D内にキャッシュする
(9)。データが処理されたとき、CPUはそれをOu
tBuffBに書き込む(10)。前と同様に、CPU
は最初にOutBuffBを読み取ってそれをL1D内
にキャッシュするものと仮定する。OutBuffBへ
の書込みは、OutBuffBのL1D像内に捕獲され
る。
【0050】OutBuffBが最初に読み取られなか
ったとすれば、OutBuffBへの書込みは、単に直
接にL2へ通過し、L1Dを変更されないままにする。
出力バッファの読取りは、このタイプのアクセスを行う
アプリケーションのために行われるキャッシュのスヌー
プ無効化の意味を示すために含まれている。
【0051】ここで図1−7を参照すると、そこにはL
1DとL2との間のデータ転送のもう1つの例が示され
ている。前と同様に、バックグラウンドにおいて、DM
Aアクセスは、上述においてOutBuffAについて
示したように、L1D内に常駐し得るバッファに継続さ
れ得る(7)。DMAアクセスがL2に対し行われると
き、L1D内の適切なラインは無効化されて(8)、C
PUが劣化データを使用することを防止する。DMA要
求がOutBuffBについて行われるとき、OutB
uffBのL1Dコピーがスヌープされて無効化され
(11)、最近のデータがI/Oサブシステムに送られ
る。このようにして、キャッシュ・ハードウェアは、装
置についてのプログラマの見方がまさにL2 SRAM
であるように、L2とのコヒーレンシを維持する。
【0052】L2とL1との間で行われるスヌープ無効
化サイクルが、システムパフォーマンスに与えるインパ
クトは最小でなければならない。これを保証するため
に、いくつかのアーキテクチャ決定がL1に取り入れら
れている。まず、L1IおよびL1D制御装置の双方
は、タグRAMをデュアルポート形エンティティとして
実現し、スヌープ無効化サイクルがCPUアクセスを妨
害しないようにする。
【0053】スヌープ無効化機構の悪影響は、L2から
のDMA読取りサイクルに対するもののみである。この
場合には、ラインは、厳密にはそうされる必要がないと
きにL1Dから無効化されることを想起されたい。しか
し、ラインはなおL2内にあるので、システム・インパ
クトは極めて小さい。CPUがデータを再び要求すれ
ば、それはL2からフェッチされなければならない。こ
れは、ラインがL2からL1Dにコピーされている間
に、CPUを4サイクル以下の期間だけ機能停止させる
(この期間を短縮することは可能である)。
【0054】L2キャッシュおよび/またはRAMに加
えて、制御装置はいくつかのメモリマップ形制御レジス
タを備え、CPUはこれらにアクセスしてL2動作モー
ドを構成することができる。これらのレジスタはCFG
BUSを介してアクセスされる。図1−8には、L2
制御レジスタが示されている。
【0055】以下では、図1−8に示されている上述の
レジスタの機能を略述する。DSPのエミュレーション
をサポートするために、命令およびデータキャッシュ
(両レベル)はいくつかの動作モードをサポートし得な
ければならない。動作のL1IおよびL1Dモードは、
CPU制御状態レジスタ(CSR)内のPCC/DCC
フィールドにより決定される。以下の諸モードがサポー
トされる。
【0056】
【表4】
【0057】
【表5】
【0058】ユーザは、L2CFGレジスタへの単一の
書込みによりL1Dおよび/またはL1Iを完全に無効
化し得る。IIおよびIDが「1」として書き込まれた
ときは、L1IおよびL1D内の全てのラインは無効化
される。この場合には、データはL2または外部メモリ
に書き戻されない。しかし、この機能はタスク・スイッ
チのためには有用である。タスク・スイッチでは、OS
は、それが新しいプログラム/データ・セグメントをL
2 SRAM空間内にページングしたことを知るL1を
クリアしようとする。注意すべきこととして、IIおよ
びIDは書込み専用ビットと考えられる。これらのビッ
トの読取りは、常に、「0」を返送する。無効化サイク
ルがこれらのビットにより知らされたときは、CPU
は、それが無効化が完了するまでL1DまたはL1Iを
アクセスしようと試みるならば、機能停止し、(明らか
に逸せられるであろう)新しい要求が処理される。
【0059】L2は、3つのポート、すなわち、L1I
インタフェースとL1DインタフェースとI/Oサブシ
ステム・インタフェースとを介してアクセス可能であ
る。L2におけるバンク衝突の場合には、L2制御装置
が優先順位を与え、これらのインタフェースからの要求
を直列化する。CPUアクセス(L1IまたはL1D)
は、L2CTLのPビットが0(リセット条件)なら
ば、I/Oサブシステムよりも高い優先順位を与えられ
る。それが1にセットされていれば、L2のI/Oサブ
システム要求はCPU要求よりも高い優先順位を与えら
れる。L1Iアクセスは、常に、L1Dよりも高い優先
順位を与えられる。
【0060】I/Oレジスタおよび周辺装置への単一ワ
ードアクセスをサポートするために、L2制御装置は、
外部メモリ空間のキャッシュ可能性を定めるための一組
のメモリマップ形制御レジスタを含む。図1−9には、
MAR(メモリ・アトリビュート・レジスタ)と呼ばれ
るこれらのレジスタが示されている。
【0061】MARレジスタの各ビットは、ある範囲の
EMIFアドレス空間に対するキャッシュ可能性を定め
る。1は、ある領域がキャッシュ可能であることを示
し、また、0は、その空間のキャッシングを不能化し、
長距離サービスを要求する。MARの全てのビットはシ
ステムリセットで0にクリアされる。各MARビットは
16MB範囲に対するキャッシュ可能性を制御すること
を意図している。MARレジスタ・セットにより定めら
れる範囲の外側の空間はキャッシュ不可能であると仮定
される。もっとも、全範囲に対するMARレジスタは実
現されていない。各MARビットは下記の表1−6にお
けるアドレス範囲に対するキャッシュ可能性を制御す
る。
【0062】
【表6】
【0063】要求がL2に通知されたとき、アドレスが
まず評価されて、行われるべきサービスのタイプが決定
される。アドレスがEMIFメモリ空間内にあれば、そ
のアドレスに対してMAR内に定められたキャッシュ可
能性アトリビュートが評価されて、キャッシュサービス
または直接アクセスのいずれが行われるべきかが決定さ
れる(これは、たとえL2が全てSRAMとして構成さ
れていても行われる)。長距離アクセスと呼ばれる直接
アクセスは、C6201が外部メモリをアクセスした方
法に類似しており、以下に説明される。
【0064】あるアクセスは、単一ワードの読取りまた
は書込みとして行われなければならない。例には、外部
オーディオ・コーデックまたはFPGAにおけるような
I/Oレジスタまたは周辺制御レジスタが含まれ得る。
これらのアクセスは、前述のメモリ・アトリビュート・
レジスタによって指示されるキャッシュ不可能メモリ空
間にマップされる。
【0065】キャッシュ不可能メモリ空間にCPUによ
って行われるアクセスは、長距離と称せられ、外部メモ
リへの直接アクセスと考えられるべきである。長距離読
取りの場合には、CPUは、読取りデータが返送される
まで機能停止されなければならない。長距離書込みの場
合には、CPUは、第2の長距離アクセス(読取りまた
は書込み)が試みられるまで動作を続け得る。一般に、
長距離アクセスは、CPUパフォーマンスに悪影響を及
ぼすので、コードにおいては避けるべきである。長距離
アクセスは、一般に、時間が重要な意味を持つコード・
セグメント中には用いられないが、それらはロバスト性
と使用の容易さとのために維持されなければならない。
【0066】L2制御装置は長距離バッファを含み、そ
れは、必要とされるCPUへの長距離アクセス機構およ
び適切な機能停止機構を具備する。長距離アクセスは、
L2制御装置によって、I/Oサブシステムへの単一ワ
ードTRパケットとしてフォーマットされる。長距離ア
クセスの完了は、L2制御装置によって直接、または、
I/Oサブシステムによって発生させられるL2リザー
ブQCOMPコードの1つを用いて、追跡される。
【0067】長距離アクセスは、常に、L1Dのミスを
強いり(プログラマに課せられる制限として、メモリ・
アトリビュート・レジスタはダイナミックに変えられな
いものと仮定する)、これは、いずれのミスとも同じよ
うに、L2に送られて処理される。L2制御装置は、ア
ドレスをメモリ・アトリビュート・レジスタと比較して
要求をどのように処理すべきかを決定する。キャッシュ
不可能であれば、長距離アクセスが行われる。書込みの
場合には、書き込まれるべきデータ値を長距離データバ
ッファにロードし、かつ、1ワードTR要求をI/Oサ
ブシステムに発信することによって、長距離書込みが行
われる。また、スティッキー・ビットが、将来の長距離
アクセスがCPUを機能停止させるように、セットされ
る。そのわけは、I/Oサブシステムがそれを読み取る
まで長距離データバッファがサービスを行わないからで
ある。このスティッキー・ビットは、読取りが完了した
ときにクリアされる。読取りの場合には、CPUは直ち
に機能停止される。1ワードTR要求が再びI/Oサブ
システムに送られる。読取りデータが長距離データバッ
ファに返送されたとき、CPUは機能停止状態から解放
される。
【0068】自己修正コードはキャッシュ・ハードウェ
アによって直接サポートされない。この決定は、キャッ
シュ制御装置状態マシンにおいて複雑性を減少させるた
めに行われたものである。自己修正コードは、ハードウ
ェア・フックおよびソフトウェアによりサポートされ得
る。ハードウェア・フックは、無効化と無効化および書
戻しの制御とを考慮するL2内の一組のメモリマップ形
制御レジスタである。
【0069】L2制御の方法はいくつかあるが、全て同
じ基礎的ハードウェアを用いる。ユーザが行う操作は、
1)(外部メモリに対する)書戻しと、2)L1Dおよ
びL2の無効化による書戻しと、3)L2への書戻しの
みによるL1Dの無効化と、4)L1I(のみ)の無効
化とである。最初の2つの方法は、一般に、キャッシュ
に基づくシステムにおけるデータフローを制御するため
に用いられる。後の2つの方法は、ソフトウェア制御自
己修正コードの手段を提供し、また、エミュレーション
・ブレークポイント挿入の提案された方法でもある。
【0070】キャッシュ制御機構は、L2を介してアク
セス可能な、32ビット・ベース・アドレス・レジスタ
および16ビット・ワード・カウント・レジスタから成
る。細分性はワードレベルまでしか低下し得ないことに
注意すべきである。書戻しの場合には、要求された数の
ワードしか書き戻しされない。しかし、(要求があれ
ば)要求されたワードのいずれかを含む完全なキャッシ
ュラインが無効化される。これらの操作を行うために、
ユーザは、メモリに書き戻しされるべきおよび/または
キャッシュから無効化されるべきワードの開始アドレス
でキャッシュ・ベース・アドレス・レジスタ(WBA
R)に書込みを行う。次に、第2の書込みサイクルがキ
ャッシュ書戻しワードカウンタ(WWC)に対し行われ
る。WWC書込みは、要求された動作を行うL2状態マ
シンを起動する。ユーザは、WBARレジスタが確実に
WWCへの書込みを行う前に正しくセットアップされる
よう注意すべきである。
【0071】WWCは、行われるべき動作を決定する多
数のメモリ・マップト・ロケーションでアクセス可能で
ある。整合性のために、WBARも同様に多数のロケー
ションでマップされる。しかし、2つの物理レジスタの
みしかこの機構には存在しないことに注意すべきであ
る。L2制御装置は、CPUが前に開始した書戻しおよ
び/または無効化サイクルを行っている間にこれらのレ
ジスタへのアクセスを試みるならば、CPUを機能停止
させる。読取りは、ワードカウントの現在値を返送する
ので、ユーザは書戻し/無効化の進行をモニタし得る。
【0072】これらのレジスタの使用例を以下に示す。 WWBAR=0x80000000 /*メモリへの書戻しに追加*/ WWC =0x200 /*256ワードを書戻す*/ while(WWC!=0){}; /*書込み完了まで待つ*/ ...その他のコード... 以下の表は、ライン制御レジスタについてのプログラマ
の見解を示す。
【0073】
【表7】
【0074】外部メモリへの書戻しは、L2キャッシュ
のタグを問い合わせかつ恐らくは無効化する簡単な状態
マシンによって行われる。前述のキャッシュ・スヌープ
無効化プロトコルを用いて、L1Dの修正されたデータ
は書戻しサイクル中に自動的にスヌープし尽くされるの
で、劣化データはメモリに書き出されない。同様にし
て、無効化サイクルはL2ラインを無効化し、それは前
述の機構を用いてL1Dラインをも無効化する。
【0075】L1Iの無効化は、L2がL1Iに関する
ライン状態情報を保持しない点で、いくぶん異なる。代
わりに、L1Iの無効化サイクルは、L2からL1Iに
送られる一連の無効化指令として処理される。データは
L1Iからまったく抽出されない。L1IタグRAM
は、好ましくは、無効化サイクル中の衝突を軽減するた
めにデュアルポート形とされる。
【0076】L1Dフラッシュ・サイクルは、ユーザが
データをL1DからL2に移動させることのみを許容す
る。このタイプのサイクルは、ソフトウェアにより自己
修正コード・シ−ケンスをサポートするために役立つ。
このタイプのサイクルの一般的用途は、CPUによるコ
ードの修正への追従であり、それは(少なくとも部分的
に)L1D内に捕獲される。ユーザは、新しいコードに
ジャンプする前にL2へのL1Dフラッシュを行い、L
1Iが確実に更新されたシ−ケンスを得られるようにす
る。キャッシュ書戻し機能は同じ機能を行うが、この場
合にデータが外部メモリに書き込まれるべき理由はない
ことに注意すべきである。
【0077】書戻し制御レジスタに加えて、2つの他の
キャッシュ制御機構が備えられる。ユーザは、L2FL
USHレジスタに書き込むことにより、単一指令を用い
て全L2キャッシュ空間を書き戻し得る。同様にして、
書戻しおよび無効化指令は、L2CLEANレジスタに
書き込むことにより、全キャッシュ空間に関して行われ
得る。フラッシュまたはクリーン・サイクルを行うため
には、ユーザはL2FLUSHまたはL2CLEANレ
ジスタに0x00000001を書き込まなければなら
ない。この値は、L2制御装置によって指令が完了する
までレジスタ内に保持され、指令が完了したときにレジ
スタはL2制御装置によって0x00000000にク
リアされる。これは、フラッシュまたはクリーン指令が
完了したときをCPUに知らせる手段となる。フラッシ
ュおよびクリーン・レジスタは以下のように定められ
る。
【0078】
【表8】
【0079】フラッシュ指令は、要求に応じてL1Dを
スヌープして正しいデータを抽出する。同様にして、ク
リーン指令は、適切なようにL2とともにL1Dおよび
L1Iラインを無効化する。次の表は、さまざまなキャ
ッシュ制御サイクルに対して要求される動作を略述す
る。
【0080】
【表9】
【0081】長距離バッファおよび機構はユーザには見
えないが、I/Oサブシステムがそれにデータを返送し
得るように、それは物理アドレスを必要とする。同様に
して、キャッシュサービスは、下層のRAMが読み取ら
れ/書き込まれることを許容するI/Oサブシステムに
アドレスを与えなければならない。これらのアドレスは
メモリの予約されたロケーションにある。次のアドレス
範囲が用いられ得る。
【0082】
【表10】
【0083】上記アドレス範囲に対するCPUによるア
クセスの動作は定められておらず、望ましくない効果を
生じ得る。L2キャッシュ制御装置は、全SRAM状態
(L2CFG=000)にリセットされる。これはSR
AMを確実に0x00000000ロケーションに存在
させるために行われる。これが必要なのは、CPUがリ
セット後に常にこのロケーションにジャンプするからで
ある。装置リセットの2つの方法がサポートされる。H
PIが用いられていれば、HPIは、CPUをリセット
から解放する前に、コードを0x00000000ロケ
ーションに置く責任がある(これは、DSP INTの表
明により知らされる)。システム内にホストがなけれ
ば、ROMまたは他のメモリ装置のEMIF空間/CE
1(0x90000000)内に有効なブート・コード
があり、そこからCPUがブートロードされることが仮
定される。
【0084】ブートローディングをサポートするため
に、L2制御装置はブートロード入力を含む。この入力
はEMIFのED[4:3]ピンからラッチされる。高位
の後続の装置がリセットされれば、L2制御装置は、1
キロバイトのデータが0x90000000から0x0
0000000に転送されることを要求する単一TRパ
ケットを送り出す。この転送が完了したとき、CPUを
停止解除するためにDSP INTが表明されなければ
ならない。L2予約済み完了コードの1つがこれを行う
ために用いられ得る。
【0085】構成バス(CFG BUS)の目的は、オ
ンチップ周辺装置とCPUレジスタ・ファイルの内部に
直接アクセス可能でない他の構成レジスタとを制御する
ためにCPUに対しスケーラブル・メカニズムを提供す
ることである。CPUは、特定のメモリ・ロケーション
に対し単にロード/格納を行うことによって(L2のよ
うな周辺制御または他の制御のための)CFG BUS
メモリ空間における任意の制御レジスタにアクセス(読
取りまたは書込み)し得る。この指令は、それをCFG
BUS要求としてデコードしかつそのCFG BUS
を制御レジスタに直接アクセスするために用いるL2に
送られる。このバスの目的が制御バスとして維持され、
一方、周辺装置に対する全てのデータアクセスが通常の
TC/XDMA機構によって行われることは重要であ
る。周辺装置に対する制御アクセスをデータアクセスか
ら分離しておけば、「ロックされた」周辺装置または
(CFG BUSによって)リセットされた周辺装置
が、たとえ通常のデータバスがブロックされても、許容
される。また、CFG BUSは、付属周辺装置の数と
それがサポートする周波数および待ち時間とにおいて高
度にスケーリング可能であるように保たれるべきであ
る。
【0086】全てのデータ転送はTCにより行われるの
で、主としてCPUのためのメモリまたはDSPの場合
においては特にL2であるCFG BUSの1つだけの
マスタが存在する。このマスタは全ての要求制御信号,
アドレスおよび書込みデータを駆動し、一方、スレーブ
はアクノリッジ制御信号および読取りデータのみを駆動
する。チップの至る所でのバス・ルーティングを節約す
るために、データバスは、各ノードと制御装置との間の
専用とはされず、むしろ制御装置とノードのそれぞれと
の間においてリンクされる。各ノードにおいて、要求,
アドレスおよび書込みデータバスは変化せずに次のノー
ドまで進み、一方、読取りデータバスは前ノードおよび
ローカル・データの間で多重化される(現在のCFG
BUS指令に応答する必要があれば)。各ノードは、そ
れ自身の独立したモジュール選択(mod sel)信
号およびモジュール・アクノリッジ(mod ack)
信号をモニタする。
【0087】プログラム可能なレジスタ経路を各ノード
に追加して、タイミングがこれを必要とするときにその
経路内にレジスタを挿入し得るようにすることができ
る。バスが単一サイクル内にマスタから最も遠いノード
まで到達することを保証しない場合に、この特別レジス
タはスケーラビリティを許容する。
【0088】CFG BUSのマスタは、ノードがアク
セスさせるmod selビットの1つをスイッチする
ことによって、指令を表示する。これらのモジュール選
択は、アクセスがいずれのノードを要求しているかを決
定するCFG BUSメモリ空間内の4つの最上位ビッ
トの単なるデコードである。同時に、rnw(読取り非
書込み)信号,アドレスバスおよび書込みデータバス
(書込み指令に際して)がセットアップされる。全ての
マスタ信号はCPUクロック速度でクロックされる。読
取り指令の際には、rnw信号がハイにセットされ、ま
た、書込み指令に対しては、rnw信号はロウにセット
される。結局、周辺装置は、それに応答して、その装置
のmod ackビット(mod sel毎に1つあ
る)をスイッチし、(指令が読取りであったとすれば)
読取りデータを読取りデータバス上に配置する。mod
ackは、ノードが指令を完了(読取りデータをフェ
ッチまたは書込みデータを書き込み)したときにそれを
表示し、もはやアドレスまたはデータ入力バスは必要と
されず、読取りの場合には読取りデータが供給される。
この場合も、マスタに返送される全てのこれらノード信
号はCPUクロック速度でクロックされる(しかし、ア
クノリッジの前には、それらは周辺装置のクロックに同
期させられ得る)。アドレスバスは周辺(および他の)
制御レジスタの大きい空間を考慮して16ビット幅とさ
れるが、データバスはワードアクセスのみを可能にする
32ビット幅とされる。
【0089】
【表11】
【0090】エッジ感知タイミングがモジュール選択お
よびモジュール・アクノリッジのために用いられ、簡単
な(かつ速やかな)異なるクロック領域間の同期を可能
にする。高レベルの方法が用いられたとすれば、次の指
令がCFG BUS上に送られ得る前に、mod se
lがハイになり、次にmod ackがハイになり、次
にmod selがロウになり、最後にmod ack
がロウになったはずである。スイッチング法を用いるこ
とにより、mod selはスイッチして新しいCFG
BUSアクセスを表示し、mod ackはスイッチ
してCFG BUSアクセスの受理通知を表示する。次
に、もう1つのCFG BUSアクセスが(このアクセ
スが同じノードに対するものであったと仮定すると)、
mod selのレベルをスイッチすることができ、この
アクセスは損失の可能性なしにノードに同期させられ
る。これは、対立するクロックにおける2つのパルスが
接近し過ぎ、第1のパルスが第2のパルスより前に同期
し得ず、アクセス・トリガであり得た第1のパルスを損
失するときに起こり得る。
【0091】モジュール選択信号およびモジュール・ア
クノリッジ信号に加えて、単一アクセス・インディケー
タ信号が要求される。これは、全てのCFG BUSノ
ードが、アクセスがそれらのノード用のものであるかど
うかを決定するために全てのモジュール選択をモニタす
ることを要求されないように行われる。新しいアクセス
が開始されるとき、アクセス信号は1サイクルの間だけ
ハイ・パルスとなる。アクセスがハイとしてサンプリン
グされ、モジュールのmod sel信号がトグルされ
ていれば、アクセスはそのノードのためのものである。
全ての要求されなかったノードは、指令に応答せず、下
流のノードに至る書込みデータ経路と上流のノードから
の読取りデータ経路とを多重化する(CFG BUS
は、単一読取り/書込みデータ経路を通って走ってい
る)。CFG BUSは各周辺装置用のローカルHIU
においてデコードされるので、CFG BUSの周辺バ
ージョンはアクセス信号を含まない。
【0092】同様に、1つだけのモジュール・アクノリ
ッジ信号が各周辺装置に送られ、ローカル・デコーディ
ングは適切なHIUにおいて行われる。図2−1および
図2−2は、CFG BUS上の読取りおよび書込み指
令をそれぞれ示す。L2,XDMAおよび割込みセレク
タのようなあるモジュールは、このインタフェースを用
いる。プロセッサ・メガモジュールの外部の周辺装置
は、後に論ぜられる。
【0093】オリジナルPBUS(C6201周辺バ
ス)は、タイミングによりスケーリングされ得ず、全て
のアクセスは3クロック・サイクル以内に完了するもの
と仮定されるが、これはチップのより高いメガヘルツ動
作に対しては成立しない。CFG BUSは、完全な周
辺ブロックが単一クロック領域において動作し得るよう
に、非同期アクセスに留意して設計されている。この理
由により、CFG BUS同期装置はHIU機構内に統
合される。HIUは、CPUクロックを受けるCFG
BUSを取り入れ、mod sel信号およびmod
ack信号とCPUクロックおよび周辺クロックとの間
を同期させ、また、全ての他の信号/バスをCFG
USと周辺装置との間を直接通過させる。
【0094】このようにして、CFG BUSデータ
は、制御信号が周辺装置に同期させられる時間までに全
てセットアップされ、または、復帰方向では、読取りデ
ータは、mod ack信号がCPUクロック領域内に
同期させられる時間までに準備完了状態となる。この同
期機構は、周辺通信へのTC用の各HIU内に現在ある
1を再使用し得る。これはまた、HIUおよび周辺装置
の双方においてではなくHIUのみにおいて多重領域ク
ロッキングが処理されなければならない場合に隔離の利
点を有する。
【0095】バスを各BUCFG Sノードと制御装置
との間の専用にするのとは対照的に、制御装置において
ルーティング要求を減少させかつ多重化を行うために、
チェイン・フローが用いられる。このチェインは、各ノ
ードの入力および出力をその近傍に接続するとともに1
組の信号のみをその近傍に供給することによって、作ら
れる。指令,アドレスおよび書込みデータを指示する制
御装置によって駆動される信号は、この情報が制御装置
から直接変化させられるのみであるので、単に1つのノ
ードから次のノードに送られる。返送される受理通知お
よび読取りデータの場合には、各ノードは、(指令がそ
の特定のCFG BUSノードに送られたときに)その
ローカルack/read dataと上方へ(CFG
BUS制御装置へ)送られるときの下方の近傍との間
で単に多重化を行う。搬送遅延と信号が単一サイクル内
に全てのCFG BUSノードを通過し得ない事実とを
サポートするために、レジスタが、データを近傍に通過
させる前に各ノード内に置かれる。さらに、プログラム
可能な経路が存在し、(タイミングが許せば)経路内の
レジスタを用いるべきか否かをノードに知らせる。これ
は、各ノードを登録するよりもCFG BUSに生じる
待ち時間を短くでき、また、それは、信号が1サイクル
内に進み得る距離が設計により識別されたときに特製さ
れ得る。図2−3は、CFG BUSのバス・フローを
示す。
【0096】図2−4には、CFG BUSの各HIU
データ経路アーキテクチャが示されている。アドレス,
データおよび制御信号の登録は、タイミングがそれを要
求する場合にのみ含められる。HIU内には、同期およ
び制御論理の小さいブロックがあり、それは、ローカル
・ノード・アドレスのデコーディングとHIUが対応す
るAUクロック領域内へのCFG BUSインタフェー
スの翻訳とに対して責任を有する。各HIUはそれ自身
のローカル・デコードを行うので、全ての16個ではな
く1つだけのモジュール選択が各AUに送られなければ
ならない。さらに、HIUがすでにローカル・ノード・
デコーディングを行っているので、CFG BUSアク
セス信号は周辺装置に供給されないであろうことに注意
すべきである。
【0097】図2−5および図2−6は、AUクロック
領域におけるCFG BUS用の読取りおよび書込みサ
イクルをそれぞれ示す。同じタイプのインタフェース
が、AU HIU CLOCKをCLKOUT2で置き
換えることにより、タイマ・モジュール用にも用いられ
る。CFG BUSはバイト・イネーブルを含まないこ
とに注意すべきである。全ての制御レジスタ・アクセス
は、32ビット幅であると考えられる。
【0098】いくつかの周辺接続は特別の注意を必要と
する。特に重要なのは、タイマ(x2)インタフェース
およびMCSP(x2)インタフェースである。C62
11の設計には、2つのタイマが含まれている。これら
のタイマ・モジュールの現存のPBUSインタフェース
はCFG BUSインタフェースに変更されている。こ
れらのタイマ・モジュールはCPUクロック領域(バッ
クエンドのCLKOUT2)において動作するので、同
期またはHIUインタフェースはこれらのタイマのため
には必要とされない。これらのタイマはCFG BUS
のメガモジュール境界バージョンに結合されている。
【0099】CFG BUSに対するI/Oサブシステ
ムのアクセスはL2制御装置によってのみ行われる。L
2はアクセス・アドレスをデコードし、CFG BUS
アドレスを検出すれば、そのアクセスは、通常のCPU
CFG BUS要求で調停される。しかし、TC読取
りに対するCFG BUSの使用は、CFG BUSを
長時間待つために(少なくともそのチャネルの)TCを
機能停止させる可能性がある。
【0100】リセット状態では、全てのmod sel
はロウであり、全てのmod ackはロウである。ア
ドレス,データおよびrnw信号は、リセット後の極性
スイッチに際してのみサンプリングされるべきなので、
関係ない。
【0101】CFG BUSは現存のC6201 PB
USメモリ空間を占有する。CFG BUSは16個のモ
ジュール選択をサポートし、各モジュール選択は異なる
アドレス空間にデコードされる。以下のモジュール選択
およびアドレス範囲が定められる。
【0102】
【表12】
【0103】L1およびL2バンクからの読取りおよび
書込み要求は、L2において統合され、転送要求(T
R)ノードを介して要求されたI/Oサブシステムに送
られる。TRノードは簡単な3ポート形エンティティで
あり、これは、上流ノードまたはローカル・ノードから
要求パケットを受け入れ、それらに適宜に優先順位を与
え、それらを下流ノードに送る。最後の下流ノードがI
/Oサブシステムであり、これが要求を処理する。TR
バスは多数のリクエスタによって共有されることがで
き、リクエスタはL2制御装置,(将来の装置内の)L
1制御装置,CPUポート(CPUが開始したDMAま
たはキャッシュ・プレフェッチ)またはPCIやホスト
・ポート・インタフェース(HPI)のようなインテリ
ジェント・マスタリング周辺装置が含み得る。図3−1
には、TRバスのアーキテクチャが示されている。TR
ノードは上流要求およびローカル要求に優先順位を与え
るので、各要求の相対優先順位はTRバス上のその位置
に依存する。TRバス上のトラヒックは最小であると予
想されるが、TR優先順位付与の特徴は、上流のTRノ
ードが要求によりTRバスをロックすることを考慮に入
れていることである。これを防止するために、簡単なラ
ウンド・ロビン・トークン通過スキームがTRバス上に
実現される。このトークンは、上流ノードから下流ノー
ドに(要求のフローと同様に)通過し、上流ノードがT
Rバス帯域幅を独占することを防止する。動作上のルー
ルは、ローカル要求がトークンをもたない限り上流パケ
ットにローカル要求より高い優先順位をTRノードが与
えることである。ローカル要求がトークンをもつ場合
は、ローカル要求は進むことを許される。トークンは、
ローカル要求がないときは、各サイクルにおいて下流に
通過させられる。
【0104】全ての要求はTRバスを介してI/Oサブ
システムに通知される。アクセス要求は、TRパケット
と呼ばれるパケット化されたフォーマットをなしてTR
バス上に置かれる。TRパケットはI/O制御装置に対
するアクセスを記述する。図3−2には、TRパケット
のフォーマットが示されている。そこに示されているよ
うに、全てのTRパケットは、発信するのに2CPUク
ロック・サイクルを必要とする。TRバスに対するアク
セスは前述のTRノードを介して行われる。TRノード
は、上流ノードおよびローカル・ノードからの要求に優
先順位を与えるとともに、機能停止機構およびパイプラ
イン・レジスタを備えて確実にデータ損失をなくす。
【0105】TRノードに対するリクエスタ・インタフ
ェースは簡単な2線式ハンドシェイク機構である。要求
を行うためには、リクエスタは、TRデータバス上の第
1のTRワードを駆動し、それのローカルTRノード上
に要求入力を表明しなければならない。機能停止がロウ
(イナクティブ)であれば、TRノードは、次のサイク
ルにおいて第2のデータワードで駆動され得る。機能停
止がハイとしてサンプリングされれば、TRデータワー
ドは変更されない。同じ制限は、第2のワードがTRノ
ードに駆動された後も適用され、それは、機能停止がロ
ウとしてサンプリングされるまで維持される。TRノー
ドからの機能停止信号は、いつでも入来でき、ローカル
・リクエスタによって登録されなければならない。TR
ノードにおける発信は連続的に行われ得るが、TRノー
ドは機能停止を挿入し得る。図3−3はTRトランザク
ションを示し、機能停止は第2のデータワード内に挿入
されている。注:REQビットは、TRパケットの69
番目のビットと考えられ、保留要求を示す。
【0106】TRバス上の全てのリクエスタはリクエス
タIDを割り当てられる。リクエスタIDは、受理され
処理された要求についての報告情報を返すためにI/O
サブシステムによって用いられる。各リクエスタは、図
3−2に示されているように、TRパケット内にそのリ
クエスタIDを含ませる責任がある。以下のリクエスタ
IDが定められている。
【0107】
【表13】
【0108】リクエスタは、TRバスのほかに、キュー
・アクノリッジ・バスすなわちQACKバスと呼ばれる
狭いバスに対してもインタフェースされなければならな
い。このバスは、いずれのTRパケットが受理されたか
についてI/Oサブシステムから報告情報を返す。この
バスの目的は、リクエスタによるハンドシェイク機構を
提供し、限られたI/Oサブシステムが過度な申込みを
受けないようにすることである。QACKバスは、7ビ
ット幅のバスであり、CPUクロックに同期して動作す
る。このバスは、有効ビットと3ビット優先順位レベル
(TRパケットの優先順位ビットへのマッピング)と3
ビット・リクエスタIDとを含む。このバスは、受理さ
れる各TRパケットのために、I/Oサブシステムによ
って1サイクルの間だけ有効に駆動される。図3−4
は、QACKバスの動作を示す。この例では、3つのT
R要求がI/Oサブシステムによって受理されている。
【0109】各リクエスタは、I/Oサブシステムの要
求を発信する際の各優先順位レベル用の小形カウンタを
有する。XDMA制御装置は、2つの制御装置(レベル
1およびレベル2)を含み、L2制御装置は単一カウン
タ(レベル0用)を含む。HPIはレベル1の要求のみ
を発信するが、それは割当てカウンタを必要としない。
QACKバスは、それが正しくない場合でもメガモジュ
ール境界に備えられ得る。
【0110】発信された各TRパケットに対して、リク
エスタは、そのTRパケットの優先順位を解釈し、適切
なカウンタを1だけデクリメントする。カウンタが0ま
でデクリメントされたときには、その優先順位レベルで
はTRパケットは発信されず、要求モジュールは機能停
止する。カウンタは、QACK(キュー・アクノリッ
ジ)バスの状態を検出することによってインクリメント
される。QACKバスの静的デコードは適切な増分信号
を発生する。図3−5には、2つの優先順位レベル用と
してセットされた代表的な機能カウンタが示されてい
る。
【0111】I/Oサブシステムによる転送の完了は、
QCOMPと呼ばれる第3のバスを介して送信される。
このバスは、5ビット返信完了コードと有効ビットとを
含み、CPUクロックに同期して動作する。TRパラメ
ータによってイネーブルされれば(下記の表3−2を参
照)、I/Oサブシステムは、1クロック・サイクルの
間このバス上のTRパラメータに指定されているレポー
ト・コードを駆動する。QCOMPバスの動作は、図3
−6に示されている。
【0112】QCOMPバスを介して送信されるレポー
ト・ワードは、TRパラメータから直接コピーされる。
TRパラメータとしては、32個の可能なコードが指定
され得る。以下のコードが割り当てられる。
【0113】
【表14】
【0114】上部の16個のレポート・ワード・コード
は、後述されるように、割込み発生またはXDMA事象
連鎖用に用いられ得る。TCは、高度に並列形のまた高
度にパイプライン形のメモリ・トランザクション・プロ
セッサであり、多くの周辺ポートおよび/またはメモリ
・ポートが接続されるバックプレーンとして役立つ。T
Cは、現存のC6201 DMA制御装置より優れた多
くの特徴を有し、それらには、多数の同時アクセス用の
サポートと低いターンアラウンドのサイクル毎の調停と
全てのポートの同期動作とが含まれる。
【0115】転送制御装置は3つの部分に分解され、そ
の3つの部分は、要求をバッファするキュー・マネジャ
ーと、チャネル・レジスタおよびアドレッシング・ハー
ドウェアを含むTC HUBと、TC HUBとメモリ
または周辺ポートとの間のバッファとして動作するHU
Bインタフェース・ユニットとである。
【0116】TCは、TRバッファからのアクセス要求
をキュー・マネジャーを介して受け取る。キュー・マネ
ジャーは、3つの別個のキューに分割される512バイ
トRAMであり、これは循環FIFOとして動作する。
要求がTRバスから取り出されるときに、優先順位レベ
ルが解釈され、アクセス・パラメータが適切なキュー内
に格納される。キュー・サイズは以下の通りである。 ・ 高優先順位(キュー/チャネル0)=96バイト
(6エントリ) ・ 中間優先順位(キュー/チャネル1)=208バイ
ト(13エントリ) ・ 低優先順位(キュー/チャネル2)=208バイト
(13エントリ)。
【0117】TCにおける適切なチャネルは、各キュー
・マネジャーRAMキューを空にする。チャネル・アク
セスが完了すると、TCチャネルは、そのチャネル用の
キュー・マネジャー・キューのヘッドをチェックし、別
のアクセスが保留状態にあれば、要求パラメータをチャ
ネル・レジスタにロードする。与えられたチャネル内の
要求は、常に順に完了され、また、そのチャネルの次の
アクセスが開始される前に常に完了される。図4−1に
は、キュー・マネジャーのブロック図が示されている。
【0118】キュー・マネジャーは、チャネル・レジス
タが要求を処理するのに伴い、要求を受け取りつつある
ことを報告する責任がある。この報告は、前述のよう
に、QACKバスを介して送信される。
【0119】TCエンジンの心臓部は、TC HUBで
あり、ソース(SRC)・パイプラインおよび宛先(D
ST)パイプラインと、ルーティング・ユニットとから
成る。パイプラインは以下の段から成る。 Qキュー キューRAMの読取り − ポートから受理通知を受け 取る(搬送に1サイクルを要する)。 Mマッピング ポートからの読取りおよび書込みのレディを解釈 − チャネル・マッピングに対するポート。 P優先順位付与 どのチャネルのアクセスを行うべきか優先順位を与える 。 A0 Add段0 SRC/DSTアドレスおよびワード(エレメント)・ カウントを調整するためのパイプライン化された追加の前半の半分。 A1 Add段1 SRC/DSTアドレスおよびワード(エレメント)・ カウントを調整するためのパイプライン化された追加の後半の半分。 C指令 ポートへの読取りまたは書込み指令を出す。搬送に1サ イクルを要する。
【0120】図4−2には、TCパイプラインの簡単化
されたブロック図が示されている。ソース・パイプライ
ン(SRCパイプライン)は2つのタイプの指令の責任
を有する。読取り指令は、常に、SRCパイプから出さ
れる。さらに、SRCパイプは、先行書込み指令を出す
責任も有する。
【0121】先行書込みは、書込み駆動形処理と呼ばれ
る新しい概念を導入する。伝統的に、DMA制御装置は
読取り駆動形処理を行い、その場合は、読取りデータが
使用し得るまで書込みは行われない。簡単なI/Oトラ
ヒックに対しては十分であるが、増大した帯域幅とシス
テム統合のレベルの高度化とはもっと効率的な機構を要
求する。読取り駆動形処理の古典的ダウンフォールは、
データを高速ポートから低速ポートへ、例えば内部メモ
リ(L2)ポートから非同期メモリと通信する外部メモ
リポートへ転送するときに明らかとなる。この転送の書
込み側は低速であり、読取りポートは書込みが完了する
と同時に連結されるので、これは、使用されるプロセッ
サその他の周辺装置用の内部メモリの帯域幅を減少させ
る。書込み駆動形処理は、読取り指令を出す前に宛先ポ
ートにおける空間を割り当てることにより、この制約を
解消する。これが行われれば、アクセスをより高速のメ
モリポートに対して行い続けることができる。宛先バッ
ファが割り当てられたときは、読取り指令を開始でき、
これは宛先の速度ではなくてソースの速度で動作するの
で、全てのポートに対する帯域幅が最大化される。SR
Cパイプの先行書込み指令は、各ポートをバッファリン
グするHIUとともに(図4−4参照)、この機能を可
能にする。
【0122】DSTパイプラインは、ポートに書込み指
令を出す責任を有する。DSTパイプラインはまた、ポ
ートからの読取り応答(返送読取りデータ)を受け取
り、また、読取りデータをルーティング・ユニットとし
て公知の構造内へ受け取る。ルーティング・ユニット
は、機能上、全てのTC読取りポートと書込みポートと
の間のクロスバーであり、これにより、アクセスは、外
部から外部,外部から周辺,周辺から外部,外部から内
部などを含めて完全に直交様式で行われ得る。このルー
ティング・ユニットは、データが宛先ポートに確実に正
しくアラインされることと、各ポートによって返送され
るワードの数および装置のエンディアン・モードを説明
することとに責任をもつ。DSTパイプはまた、転送の
終りを検出することと、TRパラメータにより指定され
た適切なレポート・ワードによってQCOMPバスを駆
動することとに責任をもつ。QCOMPバスのフォーマ
ットおよび機能については前述した。
【0123】SRCパイプおよびDSTパイプは互いに
独立して動作する。TCの各パイプラインは、各メガモ
ジュール・クロック・サイクルに基づいて指令を出し得
る。このようにして、TCの調停はパイプライン化さ
れ、1つのアクセスから次のアクセスまでのターンアラ
ウンド時間は、それぞれのかつことごとくのポートに対
して0に近くなる(実際のターンアラウンドは、ポート
による決定に従い、ゼロサイクルというような低さにな
り得る)。
【0124】各ポートは、「デフォルト・バースト・サ
イズ」と呼ばれるものをTC HUBに報告する。これ
らの値は、ポートの帯域幅の最良の使用を行うための最
小アクセスサイズとしてTCが用いようとするエレメン
トの数を表す。TCへのデフォルト・バースト・サイズ
入力は、モジュール境界において与えられ、チップのト
ップレベルにおけるハイまたはロウに結合されるべきで
ある。ポートにおけるデフォルト・バースト・サイズ
は、TCが各ポートへ指令を出そうとする際に用いる細
分性を表す。各ポートにおける値は1ワードと256ワ
ードとの間にあるが、実際には、このスペクトルの下端
部のみが用いられる。各ポートにおけるデフォルト・バ
ースト・サイズはポート・インタフェースの関数であ
る。例えば、直列ポートは本来サンプル毎のアクセスを
行うので、1ワードのデフォルト・バースト・サイズで
十分である。しかし、最高速度のSBSRAMにサービ
スするメイン・メモリ・ポートは、効率を維持するため
に8〜16ワードのバースト・サイズを必要とし得る。
【0125】デフォルト・バースト・サイズは、TCが
転送を進めていくときに行おうとする通常のアドレス調
整である。しかし、転送のために指定されたオプション
・ビットにより、他の調整値も可能である。例えば、ユ
ーザが固定したアドレッシングを指定すれば、アドレス
の更新は行われない。同様にして、TCを強制してアド
レスにデフォルト・バースト・サイズを加算させるので
はなく、アドレスからデフォルト・バースト・サイズを
減算させる逆アドレッシングが指定され得る。最後の複
雑さは、指定され得るプログラム可能インデックス(エ
レメント・インデックスおよびライン・インデックス)
によって追加される。これらの場合には、TCは指令毎
に1エレメントを処理する。さらに、何バイトか何ハー
フワードかのエレメント・サイズは「1アクセス毎エレ
メント」タイプのペナルティを招くことに注意すべきで
ある(低速ポートはパフォーマンスの衝突を起こさない
かもしれないが)。可能なときには、ワードアクセス
を、パフォーマンスが最高になるように行うことが提案
される。これは非効率的であるが、これらのモードを指
定する大部分の転送は、直列ポートへのサービス用のも
のまたは他の低速ソーティング機能用のものであり、し
たがって、影響は許容できる。次の表は、TRパケット
内において供給されるDIRフィールドにより決定され
る必要なTCアドレッシング機能を略述している。
【0126】
【表15】
【0127】SRCパイプラインまたはDSTパイプラ
インが指令を出すときは、以下のものの小さい方に対し
て出す。 ・ ポートのデフォルト・バースト・サイズ ・ 転送の実際のワード/エレメント・カウント ・ (次のものの2の補数)|(アドレス)アドレスの
LSビット、ただし、2の補数対アドレス決定はアドレ
スの方向(順方向対逆方向)によって決定され、LSビ
ットの数はアドレッシングされたポートにおけるデフォ
ルト・バースト・サイズによって決定される
【0128】例えば、16ワードのデフォルト・バース
ト・サイズを有するポートからの1000ワードの転送
は、そのポートに通知される、それぞれが16ワードの
64指令を生じる。しかし、そのポートは、一連の連続
する指令を受け、できるだけ高速でデータを流すことが
できる。TCの追加チャネルがアクティブ・ポートのサ
ービスを要求するならば、それらの指令は優先順位を与
えられ、適切なようにパイプライン内へ挿入され、その
ポートのデフォルト・バースト・サイズに従っての最適
化が再び試みられる。このようにして、TCは、各ポー
トにおいて利用可能などのような帯域幅でも常に最大化
する。
【0129】SRCパイプおよびDSTパイプは独立し
ているので、DSTパイプに返送された読取り応答デー
タは、どちらかのパイプラインからの追加の読取りまた
は書込み指令と重なり得る。重なりの量は、ポートのア
ーキテクチャに依存し、TCの機能には依存しない。ポ
ートは、指令が出された順に指令を処理することのみを
要求される。
【0130】以上にリストした第3の黒丸付きアイテム
は特に重要である。アクセスが、ポートのデフォルト・
バースト・サイズに従ってアラインされないアドレスに
対し行われるときは、TCはそのバースト・サイズに対
する自然アラインメントを行う。例えば、0x8000
0008の開始アドレスにおける8ワードのDBSを有
するポートへの11ワードの転送は、以下のように分解
される。第1のアクセスは、ワード0x8000000
8から0x8000001Cにアクセスして、6ワード
に対して行われる。TCは、6ワードがアドレスのLS
5ビットの2の補数を取ることによってアクセスされ得
ることを決定する。5つのLSビットは、そのアクセス
を8ワード境界にアラインさせるために選択される(8
ワード=32バイト≧5ビット)。すなわち、値6は以
下のように計算される。 0x80000008&0x0000001F=0x0
8 2s Comp(0x08)=0xF8 LS 5(0xF8)=0x18 0x18=24バイトすなわち6ワード
【0131】次に、0x80000020から開始され
る残りの5ワードに対して第2のアクセスが行われ、こ
れはポート(0x80000008+0x18=0x8
0000020)におけるDBSサイズ(8ワード)に
アラインされる。多重指令を必要とする転送に対して、
このアラインメント・ファシリティは常に存在する。そ
のような転送の第1のアクセスは要求されたアドレスに
行われ、その次のアクセスはポートのDBSに対しアラ
インされる。
【0132】TCの上述のアラインメント・ファシリテ
ィが、順方向および逆方向アドレッシングモードの双方
において動作することは注目に値する。逆方向アドレッ
シングモードが指定されれば、アドレスのLSビットの
2の補数を取る代わりに、LSビットをアドレスから直
接取ることができる。例えば、0x80000008か
ら開始される11ワードに対するアクセス要求は、次の
ように計算される2ワード用のアクセスから開始され
る。 0x80000008&0x0000001F=0x0
8 LS 5(0x08)=0x08 8バイト=2ワード
【0133】第2アクセスは、次に、全デフォルト・バ
ースト・サイズすなわち8ワードに対して、アドレス0
x0x80000000(0x80000008−0x
08)に行われる。このアクセスの後、転送されるべき
1ワードが残るので、TCにより最後の指令が0x7F
FFFFE0のアドレスにおいて出される。第2および
第3の指令の双方は8ワード(32バイト)境界にアラ
インしたアドレスに対して出されることに再び注意すべ
きである。
【0134】同じ転送のための一連の指令における第1
の指令のみがミスアライン状態になるであろう。TCに
おいて、自然アドレス・アラインメント・ファシリティ
の意義は重要でないように思われる。しかし、さまざま
な周辺装置がこの機構に依存してそれらの設計を簡単化
し得ることに注意すべきである。例えば、EMIFは、
この機構を用いて、境界条件であるページ交差論理の設
置の必要性を解消することができる。TC SRCパイ
プおよびDSTパイプの双方は、指令が完了する(エレ
メントカウントおよびラインカウントが使い尽くされ
る)まで処理を続ける。1−Dから2−Dへのまたは2
−Dから1−Dへの転送に遭遇したときには、機構の1
つのみ(SRCまたはDST)がラインカウントを評価
するので、特別の場合が存在する。この場合には、TC
SRC/DSTパイプは、他のマシンの2D指定子ビ
ット(開始TRパケットからの2DSまたは2DD)を
評価して、転送が実際に完了しているかどうかを決定し
なければならない。SRC/DSTパイプは、転送を完
了するためには、ライン・カウントおよびエレメント・
カウントの双方を使い尽くさなければならない。
【0135】TCモジュールは、アドレスされなければ
ならないキー・エミュレーション要求を有する。プロセ
ッサをエミュレーション制御のもとでおだやかに停止さ
せるためには、TCはエミュレーション論理に3つの個
々の信号を供給しなければならない。これらの信号は、
TCの各キューが空にされチャネル・レジスタがアイド
ル状態であることをエミュレーション論理に知らせる。
次の表は要求を略述したものである。
【0136】
【表16】
【0137】エミュレーション論理は、これらの信号を
用いて、いつ装置を停止させることができるかを決定す
る。これら3つの信号は全て、エミュレーション論理が
いずれのキューを評価すべきかを選択し得るように、供
給されなければならない。さらに、上にリストされた3
つの信号は、CHNL EMPTYレジスタを経てこれ
らの信号への読取りアクセスを行うXDMAモジュール
に送られるべきである。このファシリティは、チャネル
が空にされるときをアプリケーション・コードが決定す
ることを可能にし、それは、マルチタスキング・コード
内のフルコンテキスト・スイッチの受入れ可能点を決定
するために役立つ。
【0138】TCポートは、2つの部分に分割され得
る。アプリケーション専用設計(すなわち、MCSP,
HPI,EMIF)は、AUすなわちアプリケーション
・ユニットと呼ばれる。AUとTC HUBとの間に
は、HIUとして公知の第2のモジュールが存在する。
このHIUはいくつかの機能を行う。第1に、HIU
は、読取りデータおよび書込みデータのためのある量の
バッファリングを行い、書込み駆動形処理をサポートす
る。第2に、HIUは、SRC/DSTパイプラインか
らの読取りおよび書込み指令に優先順位を与え、ポート
が両アクセスタイプを統合した単一インタフェースに臨
むようにする。HIUの最後の機能は、ポート・インタ
フェースのクロック領域をメガモジュールのクロック領
域から分離することである(図4−4参照)。
【0139】TCプロトコルは、各ポートのHIUにお
けるある量のバッファリングを要求する。その結果、A
Uのクロック領域をメガモジュールのクロック領域から
さらに分離するために、そのバッファリングを用いる機
会がある。各HIUのAU側からのインタフェースは同
期しているが、メガモジュールのクロック速度とは無関
係な速度で動作し得る。例えば、メガモジュールのクロ
ック速度が180MHzであれば、EMIFは、この速
度に完全に非同期である速度で動作させられ得る。同様
にして、直列ポートのインタフェースは、EMIFおよ
びCPUの双方ならびにシステム内のいずれの他のポー
トにも非同期で動作し得る。HIUはまた、CFG
USインタフェース用の同期およびインタフェース論理
を含む。これは、HIUにおいて、AUが単一クロック
領域において動作し得るように行われる。CFG BU
Sインタフェースに関するもっと多くの情報について
は、図2−1ないし図2−6に関連する前述の議論を参
照されたい。図4−4には、HIUのブロック図が示さ
れている。
【0140】各ポート用の同期装置を1つの場所に統合
し、各周辺装置が1つだけのクロック領域内において動
作し得るようにする試みにおいて、HIUは、AU−H
IUインタフェースのために必要なもののほかにいくつ
かの同期装置を含む。これらのことを以下に説明する。
【0141】各AU用のHIUは、CFG BUSをA
Uのクロック領域内へ翻訳するための同期装置を含む。
これは、極めて低いゲートカウントのインタフェースで
あるものと予想されるが、HIUクロック領域とAUク
ロック領域との間における、モジュール選択信号および
モジュール・アクノリッジ信号の同期を必要とする。
【0142】各HIUは、XDMAおよび割込み同期用
の一組の同期装置を含む。これは、全ての同期装置を設
計の限られた部分内へ統合するために、再びHIUにお
いて行われる。以下の同期装置の要求が存在する。
【0143】
【表17】
【0144】各AUインタフェースは同じである。各H
IUインタフェースは単一周辺装置またはメモリAUに
連結され得る。多重AUは、それぞれに対する帯域幅要
求が十分に低い限り、単一HIUに連結され得る。DS
P用のポート・マッピングは、次の通りである。
【0145】
【表18】
【0146】AU−HIUインタフェースは、読取り指
令および書込み指令をAUへ統合する。指令はポートの
デフォルト・バースト・サイズまでHUBから与えられ
ることを想起すると、各AUは、小形のインクリメンタ
およびデクリメンタを備え、AUが指令を実行するのに
伴い、アドレスおよびワード・カウントをそれぞれ調整
しなければならない。インクリメンタおよびデクリメン
タのサイズは、ポートのデフォルト・バースト・サイズ
を定めるビット位置までのものである必要がある。その
わけは、TC HUBは、その細分性まで行われるアラ
インメントを処理するからである。さらに、サブワード
・アクセスの責任を持つインタフェースに関連してバイ
トが使用可能となるので、アドレスの低位の2ビットは
0であると仮定することができる。したがって、インク
リメンタ/デクリメンタのサイズを決定する式は以下の
ようになる。 アドレス・インクリメンタ/デクリメンタ・サイズ(ビ
ット単位)=log2(デフォルト・バースト・サイズ
(バイト単位))−2 ワード・カウント・デクリメンタ・サイズ(ビット単
位)=アドレス・インクリメンタ・サイズ+1
【0147】ワード・カウント・デクリメンタのサイズ
は、0条件をフルバースト・サイズとして強制的に解釈
することにより、1ビットだけ減少させることができ
る。しかし、これは制御論理を複雑化するので推薦でき
ない。
【0148】DSPにおけるポート構成は、以下のバー
スト・サイズおよびその結果としてのインクリメンタ/
デクリメンタ・サイズを有する。インクリメンタ/デク
リメンタの位置は、AUのクロック領域内にある必要が
ある。 EMIF DBS=8ワード、インクリメンタ/デクリメンタ・サ
イズ=3ビット MCSP DBS=1ワード、インクリメンタ/デクリメンタ・サ
イズ=0ビット(不必要) HPI DBS=4ワード、インクリメンタ/デクリメンタ・サ
イズ=2ビット 次の節では、図4−5に示されているAU−HIUイン
タフェースの機能を略述する。次の表は、各ンタフェー
ス信号およびその機能を示す。
【0149】
【表19】
【0150】AU−HIUインタフェースは、AUの出
力であるAU HIU CLOCKによって駆動され
る。これは、各ポートがその具備するインタフェースと
同程度の速度で動作し得るようにするために行われる。
AUの全ての出力はAU HIU CLOCKに同期し
て駆動されるべきであり、AUの全ての入力はAU
IU CLOCKに同期して駆動されるべきである。A
U−HIUインタフェースのために提案されるタイミン
グは、次の通りである。
【0151】
【表20】
【0152】指令は、AU HIU CLOCKに同期
してHIUインタフェースに明示される。指令は、HI
AU ADDR(アドレス)とHIU AU WD
SIZE(ワード・カウント)とAU HIU RE
ADおよびAU HIU WRITEとに関して発信さ
れる。これらの信号は、AUに与えられる有効指令の存
在を表示するために用いられる第4の信号であるAU
HIU VALIDによって、さらに増加させられる。
全てのHIUをソースとする信号はAU HIU CL
OCKに同期している。
【0153】AUは、HIUに対し指令が受理されたこ
とを通知するAU HIU CMD ACKを表明するこ
とによって指令を受理し、ポートがレディであれば、次
の指令をそのポートに送る。ポート(AU)は、HIU
AU CDMとHIU AU ADDRとHIU AU
WD SIZEとに関するアクセス情報をラッチしな
ければならない。CMD ACK信号の表明は、HIU
を強制して、次のAU HIU CLOCKサイクルに
おいて、次のエントリへスイッチさせる。全インタフェ
ースはAUが発生するクロックに同期しているので、指
令を受理する状態マシンはかなり簡単なものである。図
4−6には、指令受理サイクルが示されている。
【0154】HIUは、AUが指令を受理し得る速度に
ついて仮定をしない。AUは、インタフェースが十分に
高速ならば、指令が有効になるサイクルにおいてその指
令を受理し得る。しかし、実際には、AUへの全ての入
力は登録されると信じられるので、より高速のAUは1
つおきのサイクルにおいて指令を受理し得るのみとな
る。しかし、これはパフォーマンスの衝突とは考えられ
ない。そのわけは、予想では最高速度のポートは十分に
大きいデフォルト・バースト・サイズを有するので、指
令アクノリッジ時間は取るに足らないものとなり、デー
タ・アクセスと重なるからである。
【0155】ポートが指令を受理すると、それは指令を
解釈し、適宜に処理しなければならない。機能上、ポー
トが直ちに指令を受理することを要求するものはない。
このことの効果は、数サイクルの間AU HIU CM
ACK信号が表明されないことである。これは、所
望のポート機能およびスループット要求の関数となる。
HIU AU CMD VALID信号は、読取りおよ
び書込み指令信号を適格であるとするために用いられな
ければならない。HIU AU CMD VALIDが
アクティブ(ハイ)でなければ、指令は、有効ではな
く、実行されてはならない。
【0156】AU HIU CMD ACKの表明によ
る指令の受理と同様に、AUは、HIUに、AU HI
CLOCKに同期したAU HIU WR DAT
ACK信号の表明により、書込みデータが受理された
ことを知らせる。図4−7は、書込みデータ・アクノリ
ッジ・タイミングを示す。
【0157】図4−7は、書込みデータ・アクノリッジ
・ストローブのいくつかの特徴を指摘している。第1
に、AU HIU WR DATA ACKはAU
IU CMD ACKストローブと同じに動作する。HI
Uは、AU HIU WR DATA ACKがハイにな
るAU HIU CLOCKの各立上りエッジにおい
て、アクティブ指令または次の指令用の次のデータ・エ
ントリにシフトする。第2に、指令に対する書込みデー
タは、指令が有効になった後のサイクルまで有効になら
ないことに注意すべきである(指令はサイクル12にお
いて有効になるが、データはサイクル13まで駆動され
ない)。上述の連続的な書込みの場合には、これは切れ
目のないアクセスとAU設計用の矛盾のないモデルとを
与える。
【0158】処理されなければならない書込み指令用の
独特な制約が存在する。HIUにおけるキューイング機
構のために、AUは、前の書込み指令からの全てのデー
タを受理し終わるまで、書込み指令(HIU AU
MD VALIDおよびアクティブAU HIU WR
とともに表明されるAU HIU CMD ACK)を
受理し得ない。このルールはAUによって厳密に守られ
なくてはならず、さもないと、書込みバッファ・ポイン
タが占有されることになる。しかし、指令の終りは、A
Uがとにかく行わなければならないワード・カウントの
追跡によって検出され得るので、このルールを守ること
はかなり簡単である。書込み指令が完了され得なけれ
ば、AUは、AU HIU WR DATA ERRO
Rを表明することによってエラー状態を表示し得る。こ
の信号は、書込み指令毎に1回のみ表明される必要があ
り、指令の過程中の何時でも表明され得る。他の信号と
同時に表明される必要はないが、AU HIU CLO
CKに同期して表明されなければならない。書込みデー
タエラーの場合には、AUが、適切なAU HIU CL
OCKサイクルの間AU HIU WR DATA
CK信号をなお表明することが重要であり、さもなけれ
ば、HIUバッファ・ポインタが劣化する。書込みエラ
ー状態は、単に装置のCPUに強制的に異常を知らせる
のみであり、それはHIUデータ・バッファにどのよう
な影響も与えない。
【0159】現在のTMS320C62X装置において
は、書込みデータエラーの概念がない。AU HIU
WR DATA ERROR信号は、スプリアスエラー
がHIUに報告されるのを防止するためには、ロウに拘
束される。
【0160】読取り指令に応答して読取りデータがHI
Uに返送されるとき、AUは、AU HIU RD DA
TA VALID信号を表明することによって、AU
HIU RD DATAバス上の有効データの存在を表
示しなければならない。この信号は、データ返送中の各
AU HIU CLOCKサイクルの間表明(すなわち
ハイに)される。HIUは、この信号を用いて、そのデ
ータを内部データ・バッファにラッチし、さらにその内
部ポインタを維持する。AUは、同じサイクルにおける
指令に対し、その指令が受理されたとき(AU HIU
CMD ACKはハイ)は、データを返送するための
RD DATA VALIDストローブを表明しなくて
よい。この条件は極めて稀であるが、直列ポートのよう
な低速ポートはこの条件との遭遇を安全ならしめること
に注意しなければならない。
【0161】読取りエラーの場合は、図4−8に示され
ているように、AUは、返送された無効な読取りデータ
の各ワードに対して、AU HIU RD DATA
VALIDと同時にAU HIU RD DATA
RRORを表明しなければならない。
【0162】現在のTMS320C62X装置において
は、読取りデータエラーの概念がない。AU HIU
RD DATA ERROR信号は、スプリアスエラー
がHIUに報告されるのを防止するためには、ロウに拘
束される。
【0163】書込みアクセスは、適切なバイトまたはハ
ーフワードをバスの全てのバイト/ハーフワード上に複
製し、バイトストローブを適宜に駆動する。したがっ
て、1ワードを書き込むためのポート指令は、実際には
1バイトまたは1ハーフワードを書き込むのみであり得
る。この場合には、指令とともに供給されるワード・カ
ウントは、アクセス・カウントとして考えられ得る。バ
イトストローブ情報は、HIU AU WS(3:1)
バスから直接取られ得る。読取りアクセスは、バイトお
よびハーフワード・アクセスを必要としないので、特別
の要求は存在しない。バイト複製ハードウェアはHIU
内に組み込まれる。
【0164】指令アドレス,ワード・カウントおよび指
令タイプと同時に、HIUはまた、HIU AU FI
ADDR信号をも駆動し得る。ここで議論されるタ
イミング図の大部分からは除外されているが、この信号
は、重要であり、慎重に処理されなければならない。T
C機構は、固定されたソース・アドレスまたは宛先アド
レスを有するDMAをユーザが指定することを可能にす
る。この転送タイプは、同じアドレスでの多重読取りま
たは書込みが行われなければならないFIFOのアドレ
ッシングにおいて有用である。この機構における基本的
問題は、アクセス・パラメータが知らせる内容にかかわ
らず、TC HUBとHUBでないポートとがアドレス
の固定を実際に制御することである。
【0165】TC HUBは、アクセス・パラメータを
解析し、それらを「デフォルト・バースト・サイズ」チ
ャンク内のポートに送る責任をもつ。例えば、EMIF
が16ワードのバースト・サイズを指定すれば、64ワ
ードのバーストは、ポートへの4つの指令に分解され
る。指定されたパラメータがソース・アドレスを固定し
ても、ポートはアドレスおよびワード・カウントのみを
知り固定アドレスの要求については知らないので、それ
は相違を生じない。
【0166】したがって、この問題を処理するために、
HIUは、固定アドレス信号をHIU AU FIX
ADDR信号によってTC HUBからポートAUに送
る。AUはセットされたときにその指令を通常のものと
して行うが、アドレスは指令とともにHIU AU
DDR(31:0)によって供給されるオリジナル・ア
ドレスに固定される。HIU AU FIX ADDR
は、HIU AU CMD VALIDがアクティブ
(ハイ)であるときにのみ有効と考えられる。
【0167】I/Oサブシステムは、各メモリおよび/
または周辺ポートのコアース・アドレッシングの責任を
持つ。これは、逆アドレッシングを指定するフレーム同
期形イベントにおいて潜在的なパフォーマンス問題を生
じる。TCは、各ポートをそのデフォルト・バースト・
サイズによってアドレッシングすることを試み、それに
より、そのポートに適合すると思われる精密さのアドレ
ッシングを行うことが可能になることを想起すべきであ
る。逆アドレッシングが指定されたとき、TCはそのア
ドレスにデフォルト・バースト・サイズを追加すること
はできない。同じ制約は、プログラム可能なインデック
スを指定するフレーム同期形転送にも適用される(C6
201スタイルのフレーム同期形イベントはDIR=1
1を有する)。固定アドレスモードと同様に、HIU
は、(TC HUBからの)デクリメント信号をAUへ
送り(HIU AU DEC ADD)、この信号は、
供給されたアドレスが転送の進行に伴って増加させられ
るのではなくて減少させられるべきであることをAUに
知らせる。HIU AU DEC ADDのハイは、逆
アドレッシングが指定されるべきであることを表示し、
ロウ値は、通常のアドレッシングが行われるべきである
ことを表示する。注意として、HIU AU DEC
DDとHIU AU FIX ADDRとは相互に排他
的である。HIU AU DEC ADDは、HIU
AU CMD VALIDがアクティブ(ハイ)である
ときにのみ有効と考えられる。
【0168】AU−HIUインタフェースの機能上の要
求を以下に要約する。 ・ AUは、HIU AU RD,AU HIU
R,HIU AU ADDR(31:0)およびHIU
AU WD SIZE(7:0)(ワード・カウン
ト)の諸バス上に存在する有効指令が存在するときを決
定するために、HIU AU VALIDビットをモニ
タする。全ての信号はHIUにおいてAU HIU CL
OCKに同期させられる。 ・ ポートは、AU HIU CMD ACKを表明す
ることによって指令を受理し得る。この信号は通常は1
ポート・クロック・サイクルの間表明されるのみである
が、いずれHIUは連続する指令アクノリッジをサポー
トするようになるであろう。ただし、そうなるのは、い
つかAUがそれをサポートするように設計されればのこ
とである。AUは、情報AU HIU ADDR(3
1:0),HIU AU WD SIZE(7:0)お
よびAU HIU RD|WR,HIU AU FIX
ADDR,HIU AU DEC ADDをAU
IU CMD ACKの表明がHIUにこれらのバス上の
値の変更の承認を知らせたとき(これは、AU HIU
CMD ACKがハイになるAU HIU CLOC
Kの立上りエッジにおいて起こる)、ラッチすべきであ
る。
【0169】書込み指令の場合には、特別の条件が存在
することに注意すべきである。AUは、前の書込み指令
が全てのそのデータを受理し終わるまで、書込み指令を
受理し得ない(図4−7参照)。
【0170】注意として、別の指令がすでに通知されて
いるかもしれないので、指令の受理は必ずしも強制的に
HIU AU RD/WRまたはHIU AU CMD
VALIDビットの非表明化はしない。AU HIU
CMD ACKは、指令が受理される各サイクルに対
して1回表明される。 ・ AUは、読取りデータが返送されつつあることをH
IUに知らせる。この機能はAU HIU RD DA
TA VALIDの表明によって提供され、これはHI
UにAU HIU RD DATA(31:0)バスを
ラッチしてそのデータを受理するように命令する。AU
は、AU HIU RD DATA VALIDを表明
し、ポートが持続可能である限り、多数のサイクルの間
AU HIU RD DATA(31:0)を駆動す
る。AU HIU RD DATA VALIDは、指令
を完全に使い尽くす(すなわち、ワード・カウントがゼ
ロに減少する)ための適切な数のサイクルの間表明され
なければならない。AUは、データがその指令のための
ものであれば、AU HIU RD DATA VAL
IDストローブをAU HIU CMD ACKストロ
ーブと同じサイクルにおいては表明しない。この条件は
極めて稀であるが、直列ポートのような低速ポートは、
読取り指令が受理された後までRD DATA VAL
IDが確実にオフに保たれるように、注意しなければな
らない。 ・ 読取りエラーの場合には、HIU読取りバッファ・
ポインタが劣化しないことを保証するために、AU
IU RD DATA VALIDストローブが表明さ
れなければならない。 ・ AUは、それが書込みデータおよびマスク情報を受
け取りつつあることをAU HIU WR DATA
ACKを表明することによってHIUに知らせる。この
信号を表明する際に、ポートはまた、受理ストローブの
表明がHIUにこのバス上の値の変更の承認を知らせた
とき、HIU AU WR DATA(31:0)をラ
ッチしなければならない。読取りデータ経路におけると
同様に、AUは、それがデータ速度を処理し得る限り、
読取りデータ受理ストローブを表明し続け得る。AU
HIU WR DATA ACK信号は、指令を使い尽
くす(ワード・カウントがゼロに減少する)ために適切
な数のAU HIU CLOCKサイクルの間表明され
なければならない。AU HIU WR DATA AC
Kは、HIU書込みバッファ・ポインタの劣化を防止す
るために、書込みエラーの場合にも表明されなければな
らない。 ・ AUは、AU HIU RD DATA ERRO
Rを適切に表明することによって、読取り異常状態をH
IUに知らせる。読取りデータエラーは、AU HIU
RD DATA ERRORをAU HIU RD
ATA VALIDおよび読取りエラーに対応する(A
HIU RD DATA(31:0)上で駆動され
る)データと同時に表明することによって知らされる。
エラーが生じれば読取りデータは無効となり、したがっ
て、制御フローは、全くデータを駆動せずに、単にデー
タ有効およびデータエラー・ストローブを表明する。こ
の特徴は、装置およびAUの設計の将来の改訂のために
備えられている。第1の構成(DSP)においては、各
AUの設計はAU HIU RD DATA ERRO
Rをロウにすべきである。 ・ AUは書込みの異常状態をHIUに知らせる。AU
HIU WR DATA ERRORがAU HIU
CLOCKに同期して駆動され、書込みサイクル中の
いずれかの時刻に表明される。この特徴は、装置および
AUの設計の将来の改訂のために備えられている。第1
の構成(DSP)においては、各AUの設計はAU
IU WR DATA ERRORをロウにすべきであ
る。
【0171】XDMA制御装置は、DMAパラメータを
記憶するためのRAMと、同時イベントに優先順位を与
えるための優先順位エンコーダと、記憶されているDM
Aパラメータを読取りTRノード構造を介してそれらを
TRバスに書き込むための簡単な状態マシンとを含むブ
ロックである。XDMAは、いくつかの拡張を有する現
存の(C6201/02)DMA制御装置機能のスーパ
セットを提供するように意図されている。特に、レジス
タではなくRAMを使用することにより、XDMA空間
内に著しく多くのパラメータが記憶され得るようにな
り、したがって、より効果的なチャネルが使用し得るよ
うになる。第2に、XDMA制御装置は、DMA転送の
リンキングを可能にするいくつかのフックを含む。XD
MAは、C62x装置のための新しい周辺装置である。
図5−1には、XDMA制御装置のブロック図が示され
ている。
【0172】図示されているように、XDMA制御装置
はいくつかのキーエレメントから成る。これらは、イベ
ント捕獲レジスタと、優先順位エンコーダと、パラメー
タを読取りそれらをTRバスに送るFSM(有限状態マ
シン)と、XDMAパラメータRAMと、TRノードと
である。以下の節では、これらのブロックと全般的なX
DMA制御装置の動作とを説明する。
【0173】イベントは、XDMA制御装置に知らさ
れ、イベントレジスタに捕獲される。イベントは、XD
MA制御装置の16個のイベント入力におけるロウから
ハイへの遷移によってXDMA制御装置に知らされる。
全てのXDMAイベント入力は、TC HIU内の同期
論理または個々の周辺ブロックによって内部クロック領
域に同期させられる。要求を行うときに少なくとも1つ
のサイクルの間XDMAイベントラインにパルスを印加
する全ての要求用論理は、立上りエッジがXDMA制御
装置によって検出されることを保証する。または、周辺
装置および他の要求用装置は、サービスを要求するとき
に、それらの装置の要求信号をハイに遷移させ、かつ、
その要求がI/Oサブシステムにより処理されるまでそ
れをハイのままにしておく。この方法は、I/Oサブシ
ステムによるサービスを検出するために要求用装置に追
加のハードウェアを必要とし、かつ、さらにイベントの
パイプライン化を制限するが、受け入れることはでき
る。XDMA制御装置に駆動される全てのイベントは、
XDMAモジュールの外の内部クロック領域に同期させ
られるべきである。システム内の同期装置を統合するた
めに、イベントの同期はTC HIUにおいて行われ
る。以下のXDMAイベントが提案される。
【0174】
【表21】
【0175】イベント・レジスタに加えて、XDMA
は、CPUが要求に応じてイベントを選択的にイネーブ
ルおよびディスエーブルし得るためのイベント・イネー
ブル・レジスタをも含む。XDMA制御装置に知らされ
るイベントは、常に、イベント・レジスタ内に捕獲され
る(たとえそのイベントがディスエーブルされていて
も)。これは、割込みイネーブルおよび割込みペンディ
ング・レジスタのアーキテクチャに類似している。知ら
されたペンディング・イベントによるイベントの再イネ
ーブルは、XDMA制御装置を強制して、そのイベント
をその優先順位に従って処理させる。ユーザは、イベン
トセット・レジスタに書き込むことにより、随意選択的
にXDMA転送を開始し得る。この場合、イベントはイ
ネーブルされる必要はない(CPUには、DMAを開始
する他の方法が存在しないので)。図5−2は、XDM
Aレジスタの機能図を示す。
【0176】図5−2は、さまざまな制御レジスタビッ
トの所望される機能を示す。全てのXDMA制御レジス
タおよびパラメータRAMは、CFG BUS(構成バ
ス)を介してアクセス可能である。
【0177】上述のように、CPUは、EVT EN
REG(イベント・イネーブル・レジスタ)に書き込む
ことにより、全てのイベントを選択的にイネーブルおよ
びディスエーブルする能力を有する。さらに、CPU
が、通知されたイベントをクリアする能力をもつよう
に、擬似レジスタ,EVT CLR REG(イベント
・クリア・レジスタ)が含まれる。後者の特徴は、シス
テムリセットの後および周辺装置のロックアップまたは
エラー状態の場合に、殊に有用である。
【0178】XDMA制御装置に通知されたイベント
は、EVT REGに捕獲される。EVT REGは、
各イベント用に1ビットまたは合計で16ビットを含
む。セットされたとき、EVT REGビットは、XD
MA制御装置のFSMがそのイベント用のTRパケット
を送るまで、または、CPUがEVT CLR REG
のそのイベントに対応するビット位置に1を書き込むま
で、セットされたままになっている。CPUは、EVT
SET REGの対応するビットに1を書き込むこと
により、EVT REGのビットを直接セットし得る。
この特徴は、CPUにシステム内のDMAを提示する能
力を与え、また、有用なデバッグツールでもある。この
場合、イベントはイネーブルされる必要がないことに注
意すべきである。
【0179】EVT REGに通知されたイベントは、
EVT EN REGを経てイネーブルされ、優先順位
エンコーダに送られ、XDMA制御装置によってサービ
スされる。EVT EN REGは、各イベント用に1
ビットを含み、EVT EN REG内の1は、対応する
イベントをイネーブルし、0は、そのイベントをディス
エーブルする。EVT EN REG内の全てのビット
は、スプリアス・イベントがサービスされることを防止
するために、システム(チップ)リセットによりクリア
される。
【0180】イベントと割込み捕獲とイネーブルの諸レ
ジスタのほかに、XDMA制御装置は、ユーザにとっ
て、状態報告の目的でTCからのいくつかの信号をマッ
プするためにアクセス可能なレジスタを含む。TCから
の3つの信号がモニタされる。これらの信号は、TCチ
ャネル0〜2が空であることを表示し、これは、適切な
時刻におけるコンテキスト・スイッチをスケジュールす
るマルチタスキング・アプリケーションに情報を与え
る。使用例は以下の通りである。
【0181】
【表22】
【0182】TCモジュールは、CH0 IDLE,C
H1 IDLEおよびCH2 IDLEを供給する。こ
れら3つの信号は、エミュレーション論理に供給される
ほかに、CHNL EMPTYレジスタのビットMT
0,MT1,MT2内にそれぞれ複製される。このレジ
スタは、読取り専用と考えられ、任意の便利な手段によ
り実現され得る。MTnビットはCHn IDLEから
直接とられ、反転または登録はタイミングがこれを要求
しなければ必要とされない。
【0183】図5−3は、XDMA制御レジスタビット
を示す。リザーブされたビットは読取り動作中に0とし
て復帰させられ、それらに対する書込みは効果をもたな
い。
【0184】イベントは、XDMA制御装置に通知され
たとき、イベント処理の順番を決定するための簡単な優
先順位エンコーダによって、優先順位を与えられる。し
かし、これはイベントの優先順位と見るべきではない。
優先順位エンコーダは、同時イベントを選び出す機構に
すぎない。イベントが有する実際の優先順位は、イベン
ト用のパラメータRAMに記憶されているパラメータに
おいて決定され、I/Oサブシステムによって選び出さ
れる。
【0185】優先順位付与が行われると、XDMA制御
装置は、XDMA RAM内の上位16エントリの1つ
を読み取り、そのイベント用のパラメータを抽出する。
これらのパラメータは、RAMから読み取られ、TRバ
スに書き込まれる。転送に関連するパラメータに依存し
て、ソースおよび/または宛先アドレスのある更新が行
われ得る。同様にして、エレメント,ラインおよびライ
ン・カウントの更新も必要とされ得る。
【0186】XDMAはRAMバンクを含み、このRA
Mバンクは各イベント用のパラメータを記憶する。パラ
メータ・セットは、相互にリンクされ、複雑なストリー
ムの処理,分類機能および環状バッファリングを行う。
イベント用のパラメータは、図5−4に示されているよ
うに編成される。
【0187】このフォーマットは、双方のエンディアン
・モードに対し有効である。XDMA制御装置は、パラ
メータRAMおよび制御レジスタに/から行われる32
ビットのアクセスのみを許容する。
【0188】上述のように、イベント用の(エントリと
呼ばれる)各パラメータ・セットは、6ワード(32ビ
ット)または合計192ビットから成る。XDMA R
AMは2キロバイトであるように提案されており、これ
は85個の完全なパラメータ・セットの記憶に対応す
る。最初の16エントリ(384バイト)は、各イベン
ト用にTRノードに送られるべきパラメータを含み、残
りの69セット(1656バイト)は、イベント用のリ
ンクされたパラメータとして用いられ得る。2キロは2
4バイトにより平等に分割し得ないので、使用されない
8バイトが生じる。
【0189】XDMA RAMの設計は、ここでは提供
しない。XDMA制御装置は、TRパケットを必要な2
CPUクロック・サイクル期間内に発信し得る。RAM
の具体化に影響し得るさらなる注意として、XDMA
RAMは、XDMA制御レジスタと同様に、32ビット
幅のCFG BUSを介してのみアクセス可能である。
XDMA制御装置は、ハーフワード(16ビット)また
はバイト(8ビット)でのアクセスを許容しない。
【0190】次の表は、CPUから見た(CFG BU
Sとして読み取られる)XDMAパラメータRAMを略
述する。CFG BUSの構造および機能については、
前述した。次の表は、提案されたパラメータ記憶装置を
略述する。
【0191】
【表23】
【0192】図5−5は、XDMAパラメータRAMお
よびオプション・フィールドを示す。このパラメータR
AMは64ビット幅のバンクである。各エントリ内にお
けるフィールドの位置とオプション・フィールド内にお
けるビット位置とはTRパケット・フォーマットにでき
るだけ精密に整合すべきである。これはXDMA制御装
置の具体化を容易にするために行われる。しかし、XD
MA制御装置は、TRバスへどのパラメータを発信すべ
きかを決定するために、いくつかのオプションビットを
解釈しなければならないので、1対1のマッピングは存
在しない。
【0193】以下の節においては、XDMA制御装置が
提供するXDMAパラメータおよび機能を説明する。X
DMA制御装置は、「リンキング」として公知の機構を
有し、これは、イベント・パラメータが、パラメータR
AM内のロケーションから再ロードされることを可能に
する。XDMAパラメータの各セットは、リンク・アド
レス・フィールド(図5−5参照)を含み、これは、そ
のイベントのためのXDMAパラメータをXDMA R
AM位置から再ロードする当該XDMA RAM位置を
識別する。リンク・アドレスは24バイトの境界にアラ
インされる。XDMAパラメータには、リンク・アドレ
ス・フィールドに加えて、リンキングをイネーブル/デ
ィスエーブルするための別個のLINKビットが含まれ
ている。リンク・アドレスは、LINKが1に等しい場
合に限り、かつ、イベントのパラメータが使い尽くされ
た場合に限って、評価される。これは、XDMA RA
M内に記憶されているイベント・パラメータによって識
別され、以下に要約されている。
【0194】
【表24】
【0195】1つの特別な場合が、同期させられた(F
S=0)読取り/書込みである非2D転送に対し存在す
る。この場合には、転送が一時に単一エレメントのため
に行われる。これらは、直列ポート・サービスにおいて
一般的である。この場合には、XDMA制御装置は、転
送のエレメント・カウントを追跡し、それが1まで減少
したときにそれをXDMA RAMから再ロードするこ
とに責任をもつ。これは、リンク・サイクルではない
が、ほとんど同様に処理される。この条件の検出は、非
2D読取り/書込み同期イベントにおける0のエレメン
ト・カウントかつ0でないライン・カウントである。こ
れが起こったとき、XDMA制御装置は、XDMAパラ
メータのエレメント・カウント再ロード・フィールドか
らの転送のために、そのエレメント・カウントを再ロー
ドする。全ての他のタイプの転送に対しては、エレメン
ト・カウント再ロード・フィールドは用いられない。上
述のリンク条件が満たされれば、更新結果を上書きする
リンク・サイクルが行われるであろうから、更新はスキ
ップされる。
【0196】リンク・フィールドの評価は、リンク・フ
ィールドによって指定されたアドレスにあるパラメータ
の読取りと、対応するイベントのためのXDMA RA
Mの最初の16エントリの1つへのそれらの書込みとを
含む。このプロセスは、イベントの次の発生に対するX
DMAパラメータをセットアップする。この機構がタイ
ミング・ウィンドウを与える可能性をなくすために、X
DMA制御装置は、パラメータ更新を行っている間はイ
ベント・レジスタを評価しない(イベントはなおイベン
ト・レジスタに捕獲されている)。イベント速度は、パ
ラメータ更新が行われ得るよう十分に遅いものであると
仮定する。XDMA RAMにおけるパラメータ更新
は、最後のイベント用のTRパケットがI/Oサブシス
テムに送られた後に行われる。リンク・プロセス中に、
「リザーブされた」フィールドをコピーする必要はない
が、これらのフィールドはいつか使用され得るので、更
新が提案されることに注意すべきである。
【0197】XDMA制御装置は、イベント同期の2つ
の方法、すなわち読取り/書込み同期とフレーム同期と
をサポートする。XDMA制御装置の動作は、同期モー
ドと転送パラメータの次元数(1−D対2−D)とに依
存する。単一次元の読取り/書込み同期は、低速周辺装
置用または単一サンプル形アクセス用として意図された
ものである。1−Dの読取りまたは書込み同期イベント
は、ソースから宛先アドレスへの単一エレメントの転送
を強制する。これをサポートするために、XDMA制御
装置は、同期ビット(FS)および2DS|2DDビッ
トを解釈し、RAM内のエレメント・カウントの記憶値
ではなく1のエレメント・カウントによってTRパケッ
トをフォーマットする。2−D転送(2DS|2DD=
1)の場合には、単一ラインが一時に転送される(フレ
ーム同期2−D転送において行われる完全フレームとは
対照的である)。
【0198】2次元転送は、各パラメータセット用のオ
プション・フィールド内の2DS(ソース)および2D
D(宛先)ビットによって指定される。XDMA制御装
置は、2DSおよび2DDビットをI/Oサブシステム
にイベント用のTRパケットによって送ることに責任を
もつ。さらに、2DSまたは2DDがセットされれば、
XDMA制御装置もまた、指定された同期のタイプに依
存して、TRバス上に送られるパラメータを修正する。
この機能を以下に説明する。
【0199】2DSおよび2DDビットはFSビットと
ともに働いて、前述のさまざまな動作モードを提供す
る。以下の表は、XDMA制御装置の動作を略述する。
【0200】
【表25】
【0201】
【表26】
【0202】PRIビットは、I/OサブシステムがT
Rパラメータによって指定されたトランザクションを行
うときの優先順位を定める。XDMA制御装置は、イベ
ント用にパラメータRAMに記憶されているPRIビッ
トをTRバスに送る責任を持つ。定められているよう
に、PRIフィールドは3ビット幅のものであるが、ユ
ーザズガイドには1(001)および2(010)のみ
が用いられ得るように示されていることに注意すべきで
ある。
【0203】I/Oサブシステムは、行われた全ての転
送要求をTRノードによって処理する。I/Oサブシス
テムは制限されたリソースであるので、トランザクショ
ンの最大数が任意の時刻にそれに通知され得る。I/O
サブシステムへの過度の申込みを防止するために、XD
MA制御装置は、I/Oサブシステムの各優先順位レベ
ルにおける顕著な要求の数を追跡するいくつかの小形カ
ウンタを設ける。
【0204】カウンタの数はI/Oサブシステムの優先
順位レベルの数に対応する。DSPにおいては、優先順
位レベル0,1,2(緊急,ハイおよびロウ)に対応し
て3つのカウンタが必要となる。L2制御装置は、緊急
(レベル0)優先順位レベルを用い、一方、XDMAイ
ベントはハイおよびロウ(1および2)優先順位レベル
に依存する。したがって、XDMA制御装置には2つの
カウンタのみが必要である。これらのカウンタはユーザ
には見えずかつメモリマッピングされないことに注意す
べきである。各カウンタは、以下に定めるように、固定
値にリセットされる。
【0205】
【表27】
【0206】発信された各TRパケットにおいて、XD
MA制御装置は、PRIフィールドを解釈し、適切なカ
ウンタを1だけ減少させる。カウンタが0まで減少させ
られると、その優先順位レベルにおいてはTRパケット
は発信され得ない。カウンタは、QACK(キュー・ア
クノリッジ)バス上の条件を検出することによって増加
させられる。QACKバスについては前述した。QAC
Kバスのスタティックデコードは適切な増加信号を生じ
る。図5−6には、カウンタの機能ブロック図が示され
ている。
【0207】XDMA制御装置は、パラメータが読み取
られるまでイベントの優先順位を知らず、したがって、
その段階までカウンタは評価され得ない。機能停止が検
出されたときは、XDMA制御装置は機能停止するであ
ろう。別個の優先順位レベル上の転送を行い得る他のペ
ンディング・イベントを評価する試みは行われない。X
DMA制御装置は単に転送を行えるまで待ち、最終的に
は、それは機能停止された優先順位レベル用のQACK
バス上の返送コードによってゲートされる。
【0208】各パラメータ・エントリのSRC/DST
DIRビットは、XDMAがさまざまなイベントのた
めに行うアドレス更新のタイプを表示する。SRC/D
STDIRビットはまた、I/Oサブシステムが正しい
アドレス発生を行い得るように、適切なフィールドによ
りTRバスにコピーされるべきである。SRC/DST
DIRビットはまた、TRノードに送られるエレメン
ト・インデックス・パラメータにも影響を及ぼす。この
機能は、XDMAパラメータのSRC/DST DIR
ビットおよび2DS/2DD(2D SRC/DST)
ビットの双方に依存する。必要な動作は以下に定められ
る。
【0209】SRC DIRまたはDST DIRが1
1にセットされていれば、TRパケットによって送られ
るエレメント・インデックスは、RAMパラメータに記
憶されているエレメント・インデックス・フィールドか
らコピーされなければならない。いずれも11にセット
されていなければ、TRエレメント・インデックスが0
(2DSおよび2DD=0)にセットされるべきか記憶
されているライン・インデックス値(2DS|2DD=
1)にセットされるべきかを決定するために、2DSお
よび2DD転送指示子が評価される。I/Oサブシステ
ムはエレメント・インデックスをライン・インデックス
値として正しく解釈する。図5−7は、エレメント・イ
ンデックス発生動作の機能図を示す。
【0210】ライン・インデックスは、全ての2D転送
(SRCまたはDST)用のエレメント・インデックス
・フィールドによってTRバスに送られる。ライン・イ
ンデックスおよびエレメント・インデックスは、I/O
サブシステムによって16ビットの正負符号付きの値と
して解釈される。
【0211】ESZフィールドは転送パラメータ用のエ
レメント・サイズを指定する。XDMA制御装置は、こ
れらのビットをイベント用のTRバスにコピーする責任
を持つ。次の表は、I/Oサブシステムによりサポート
されるエレメント・サイズをリストする。
【0212】
【表28】
【0213】TCINTビットは、転送の完了時にCP
Uに割込みが送られるべきことを指定する。この機能
は、前述のように、TCの返送完了コードにマップされ
る。TCINTがセットされていれば、XDMA制御装
置はそれに応答して転送用のTRパケットのRCビット
をセットする。これは、表5−3に定められている転送
パラメータが使い尽くされた場合に限って行われること
に注意すべきである。XDMA制御装置は、この条件用
の検出論理を実現し、RCを適宜にセットする。
【0214】オプション内のレポート・ワード・フィー
ルドは、(TRパラメータ内のRCにマップされた)T
CINTとともに働き、割込みをCPUに通知する。各
イベント用のレポート・ワードは、4ビット幅しかない
が、TRパケットのレポート・ワード・フィールドは5
ビットを含む。XDMA制御装置は、TRパケットの下
位の4ビットにより、イベント用に記憶されているパラ
メータ内の4ビット・レポート・ワードを送り、かつ、
1つの「1」をTRレポート・ワードのMSビットにハ
ードコード化する。表5−3に略述されている条件が満
たされ、かつ、イベントのパラメータにおいてTCIN
T=1であるときにのみ、レポート・ワードはTRによ
って送られ(またTCにより返送され)る。
【0215】
【表29】
【0216】XDMA割込みは、XDMA制御装置自身
によって検出される。しかし、機能的にはこの必要はな
い。検出のための要求はすでにXDMA制御装置内に存
在し、XDMA制御装置は、捕獲レジスタ(XINT
SRC)のために要求されるCFG BUS上のノード
を含む。XDMA制御装置は、I/Oサブシステムから
のQCOMPバスをモニタする。このバスは、さまざま
な転送が完了したことを表示するI/Oサブシステムか
ら駆動されることを想起すべきである。XDMA制御装
置は、コード16〜31が完了コード(XDMAはレポ
ート・ワードのMSビットを1にハードコード化する)
として指定され得るようにする。これらの16コード
は、デコードされ、XINT SRCレジスタ内のビッ
トをセットする。ビットは、適切なQCOMPコードが
検出され、かつ、QCOMP(有効)がセットされてい
た場合に限り、セットされる。次の表は、QCOMPコ
ードとXINT SRCビットとの間のマッピングを略
述する。
【0217】
【表30】
【0218】XINT SRCのいずれかのビットがセ
ットされれば、単一モジュール出力とXINT SRC
ENの対応するビットとがセットされ、XDMA
NTが1にセットされる。この信号は、割込みセレクタ
・ブロック(表7−1参照)に送られ、そこで、それ
は、(CPUにおいて)イネーブルされていれば、CP
U割込みを生ぜしめ得る。
【0219】XINT SRC ENレジスタにおいて
意図されている動作は、EVT ENレジスタにおける
と正確に同様である。有効なQCOMPコードが上述の
ように検出されれば、それは常にXINT SRCに捕
獲されるべきである。しかし、割込みは、XINT
RC EN内の対応するCENビットが1にセットされ
ていれば、XDMA INT上にのみ発生させられる。
この特徴は、プログラマが、イベントが発生したという
事実を捕捉しつつ、一時的に割込みをディスエーブルし
得るようにする。
【0220】CPU ISRは、XINT SRCレジ
スタを読み取り、あるならどのイベントが完了したかを
決定し、必要な動作を行う。XDMA INTがセット
された時刻とCPUが応答する時刻との間でXINT
SRC内の1つまたはそれ以上のビットがセットされ得
ることに注意すべきである。ISRは、適宜これにサー
ビスし、XDMA INTにおいて将来の割込みが認識
されようとしているならばXINT SRCレジスタを
クリアすることが期待される。XINT SRCビット
は、それらに1を書き込むことによってCPUによって
クリアされる。0の書込みはXINT SRCビットの
状態を変えるべきではない。
【0221】XINT SRCビットのクリアリングに
関し、特殊な境界条件が存在する。CPUの解釈はエッ
ジ依存形であるから、イベントがXINT SRC内に
それが書き込まれる同じサイクルで捕獲されるならば、
イベントが見逃される可能性が存在する。この場合に
は、XDMA制御装置は割込みをXDMA INTに通
知しなければならない。図6は、所望のXDMA IN
T機能を生ぜしめる簡単な方法を示す。
【0222】上述の構造により、XINT SRCがイ
ベントのXINT SRCへの入来と同じサイクルで書
き込まれるならば、XDMA INTはロウへ強制され
るが、それは次のサイクルでハイになる。この効果は、
CPUへのXDMA INTの通知を1サイクルだけ遅
延させることであり、これは受入れ可能である。
【0223】前述の割込み検出論理と同様に、XDMA
制御装置もまた、QCOMPバスを用いて4つのイベン
トを発生しXDMA制御装置自身へ返す。これらのイベ
ントの目的は、ユーザが、ソーシング周辺装置における
1つのイベント発生により、いくつかのXDMAイベン
トを連結し得るようにすることである。次の表は、必要
な動作を略述する。
【0224】
【表31】
【0225】QCOMPバスによってイネーブルされた
XDMAイベント連結とXINT SRCによってイネー
ブルされた(CPUへの)XDMA割込みとを分離する
ために、XDMA制御装置は、以上に略述されたイベン
ト用のイネーブル・ビットの別個のセットを含む。QC
OMPバスは、XCOMP ENにおいて対応するXC
Eビットが(1に)セットされていれば、上述のXDM
Aイベントのみを発生する。次の表は、必要な動作を略
述する。
【0226】
【表32】
【0227】XCOMP EN機能は、EVT ENレ
ジスタおよびXINT SRC ENレジスタと同じ働
きをする。イベントがディスエーブルされれば(XCO
MP EN=0)、イベントはQCOMPバスの有効デコ
ードによってEVT REGになお捕獲されている。こ
れは、ソフトウェアがイベントを選択的にイネーブルお
よびディスエーブルするとともに全てのイベント・イネ
ーブル機能用の矛盾のないモデルを提供することを可能
にするために、行われる。最初の具体化においては、X
COMP ENは擬似レジスタとして実現され、ビット
へのマッピングはEVT REGレジスタによって定め
られる。XCOMP ENの読取りおよび書込みは、E
VT ENレジスタのビット8〜11からのデータを適
切なものとして返送する。この結果、ユーザもまた、X
COMP ENへのアクセスによりセットされ、クリア
される、EVT ENレジスタのビット8〜11を知
る。内部完了コードのみがこれらのイベントのソースで
あるから、これは問題としては認識されない。XDMA
制御装置のさらなる改訂は、これらのビットを物理的に
分離されたレジスタに移動させることによって、全ての
イベントの連結を可能にし得る。
【0228】いくつかの重要な問題がXDMA制御装置
で処理されなければならない。第1に、XDMA制御装
置は少なくとも1つの、恐らくは複数の加算器を含まな
ければならない。これらは、XDMA制御装置が、ソー
スアドレスおよび宛先アドレスとライン・カウントおよ
びエレメント・カウントとを適切に更新し得るように要
求される。更新は複数の並列加算器または共用加算器に
よって行われる。リンキングを無視する全パラメータの
更新サイクルは、4CPUクロック・サイクル以下を必
要とするものであるべきである(この予定は、データに
基づくものではなくむしろ構成に対して上限を課すた
め、また、パフォーマンスに深刻な影響を与えることを
避けるためのものである)。
【0229】XDMA制御装置では、以下のアドレス更
新が行われる。全ての更新は、イベント・パラメータが
TRバスに送られた後に行われることに注意すべきであ
る。したがって、更新は次のイベント用のXDMAパラ
メータをセットする目的のものである。更新はリンク要
求の下位の優先順位を与えられる。すなわち、表5−3
に略述されている条件が満たされれば、パラメータ更新
はスキップされて、リンク・パラメータが直ちにコピー
される。または、それらは普通のように行われたのち、
リンク更新によって上書きされる。
【0230】
【表33】
【0231】
【表34】
【0232】アドレス更新のほかに、XDMAはライン
・カウントおよびエレメント・カウントも更新しなけれ
ばならない。
【0233】
【表35】
【0234】図5−10から図5−95は、XDMA制
御装置のさまざまな動作モードを示す。各図は、代表的
なパラメータ・フォーマットおよび結果として得られる
転送を示す。DSPは、好ましくは、16個の割込みソ
ースを含む。前のDMA割込みは、前述した単一のXD
MA割込み(XDMA INT)によって置き換えられ
る。割込みセレクタ・ブロックは、16個のイベントを
12個のCPU割込みにマッピングする。このマッピン
グは、割込みセレクタ・ブロック内の制御レジスタのセ
ットによって制御される。このブロックは、16個のC
FG BUS空間の1つとしてデコードされ、ラッパ・
インタフェースを必要とし得る。図7−1は、割込みセ
レクタのマルチプレクサ・レジスタ(mux)制御レジ
スタを示す。リザーブされたビットは、0として読み取
られるべきである。それらへの書込みは無効となる。特
定の割込みを選択するためには、割込みセレクタ・マル
チプレクサ・レジスタの適切なINSELフィールドが
以下のコードの1つによってセットされる。
【0235】
【表36】
【0236】割込みマルチプレクサ制御レジスタは、以
下の表7−2に示されている値にリセットされる。CP
Uは、システムリセット後、これらの値に上書きする。
【0237】
【表37】
【0238】マルチプレクサ・レジスタに加え、割込み
セレクタはさらに、外部ピンから駆動される4つの外部
ピンの極性を選択するためのレジスタをも含む。通常
は、外部割込み4〜7は、それらそれぞれのピン上のロ
ウからハイへの遷移によって通知される。外部割込み極
性レジスタ(EXINTP)内のビットをセットするこ
とにより、遷移の検出は(通知条件としてEXT IN
T4〜7上のハイからロウへの遷移を選択し)反転され
得る。EXINTPレジスタは、図7−2に示されてお
り、また図7−1の一部である。極性インバータはメガ
モジュール内にあるので、エッジ検出論理もまた含まれ
る。外部割込みは、EMIFおよびHPI HIU内の
同期装置ブロックによって内部クロック領域に同期させ
られる。
【0239】DSP PLLブロックは、外部発振器が
PLL基準周波数を駆動し得るようにする。PLLは、
直接その周波数にロックされる(1Xモード)か、入力
周波数の4倍のクロック基準を駆動する(4Xモー
ド)。選択されるモードは、外部部品の可用性,PCB
雑音,EMI要求および他のシステム問題を含むさまざ
まな要因によって決定される。1Xモードにおいては、
最大入力クロック周波数は200MHzであり、4Xモ
ードにおけるそれは50MHzである。
【0240】PLL周波数範囲の入力はスタティックと
考えられ、チップのリセットなしには変更されるべきで
はない。リセットの持続時間は、必要ならばPLLをロ
ックするのに十分な時間を与える。PLLブロックはま
た、x1対x4の動作モードを選択する入力をも含む。
次の表は、PLLブロックの動作を定める。
【0241】
【表38】
【0242】周波数選択のほかに、PLLブロックはい
くつかの他の入力を必要とする。PLLからの供給は、
それがチップの他の部分へ駆動するクロック出力内のジ
ッタを減少させるために、EMI雑音を受けない状態に
保たれなければならない。この機能を実現するために、
別個の隔離されたVDDピンがPLLのために備えられ
る。GND入力は、内部的に装置の他のGNDピンに連
結されている。また、PLLは特殊なフィルタ・ピンを
必要とし、それに外部ループフィルタ成分(R−Cフィ
ルタ)が接続される。図8−1には、PLLブロックの
ブロック図が示されている。
【0243】メガモジュールPLLブロックは、CPU
用のクロックと、L1およびL2キャッシュと、XDM
Aと、TCおよびHIUを合わせたものと、メガモジュ
ール内の他のさまざまな機構(割込みセレクタ、グルー
論理など)とを備えている。さらに、オンチップ周辺イ
ンタフェースのいくつかは、内部CPUクロックから導
かれるクロックを供給されなければならない。これらの
モジュールは、以下のものを含む。
【0244】
【表39】
【0245】CPUクロック/2(CLKOUT2)
は、上述のインタフェースをクロックするためにメガモ
ジュール境界に供給されなければならない。タイマ以外
の全ての場合において、同期段は、内部CPUクロック
(CLKOUT1としても公知)と関連するモジュール
用のHIUインタフェース内に備えられたCLKOUT
2との間に存在する。しかし、タイマの場合において
は、CFG BUSインタフェースのみが備えられ、こ
れは同期装置を備えていてもいなくてもよい。
【0246】メガモジュールは、周辺インタフェーシン
グのためにメガモジュール境界にCLKOUT2を供給
するほかに、CPUクロック(CLKOUT1)自体を
も供給しなければならない。
【0247】DSPシステム内には、CLKOUT1お
よびCLKOUT2の領域を越えた所に、いくつかの他
のクロック領域が存在する。EMIF,HPIおよびM
CSP(2つのMcBSP)インタフェースは、恐らく
は異なるクロック領域において、全て互いに無関係に動
作する。EMIFモジュールは、関連するHIUブロッ
クに備えられたCLKOUT1領域に同期して、ECL
KIN領域においてのみ動作する。HPIは、モジュー
ル自身から供給されるCLKOUT2へ同期して、装置
ピンにおいて同期して動作する。CLKOUT2領域は
また、HPIのHIUインタフェースのためにも用いら
れ、これは次にCLKOUT1領域に同期する。同様に
して、McBSPモジュールは、ピンとHIUインタフ
ェースとの間に同期論理を含む。これらのピンは、メガ
モジュールに同期して動作する。各McBSPは、モジ
ュール自身の中のCLKOUT2領域に同期する。MC
SP用のHIUインタフェースはCLKOUT2の速度
で動作し、これは次にCLKOUT1領域に同期する。
タイマモジュールは類似した同期ブロックを含み、これ
らは外部(ピン)領域をCLKOUT2領域に同期さ
せ、これはCLKOUT1領域に同期させられても同期
させられなくてもよい。
【0248】エミュレーションは、追加のクロック領域
すなわちTCLKまたはJTAGテスト・クロックを装
置に導入する。TCLK領域は、エミュレーション・ブ
ロック(emu)内にあり、ATPGテストブロックは
DSP CPUコア内にある。
【0249】DSPは、ATPGによるテストをサポー
トする。この論理は、DSPメガモジュール外のASI
Cバックプレーン内にある。一般に、ATPGモジュー
ルは、TCLK速度で動作する。しかし、(速度におけ
る)遅延故障テストがDSP内に含まれるべきであれ
ば、それはまたCLKOUT1領域を含み得る。
【0250】遅延故障テストにかかわらず、ATPGテ
ストブロックは、scan enの表明により装置をテ
スト用のATPGモードにする手段を提供する。このモ
ード(scan en=1)においては、全ての走査可
能なフロップのD入力は多重化されて、scan in
入力に送られ、PLLブロック(plltop)のCL
KOUT1出力は、PLL出力からではなく装置のTC
LK入力から駆動される。適正な動作を保証するために
は、ATPGテスト論理が装置の走査を試みる前に複数
サイクルの間scan enのアクティブ(ハイ)を表
明しかつ保持することが必要であり得る。これを実施す
ることにより、各モジュールは、多数のクロック領域に
おける動作をしないようにされる。
【0251】DSPは、走査クロックスキームとは対照
的に、走査入力/出力/イネーブル・アーキテクチャに
依存する。要するに、これは、走査可能な各モジュール
が走査入力,出力および走査イネーブル信号を含むこと
を意味するが、それはTCLK領域において動作する必
要はない。このアーキテクチャは、装置の周囲で追加の
クロックが動作する必要をなくすので、複雑性,フロア
プランニングおよび電力管理に関し利点を有する。この
走査方法をサポートするために、DSP内のレジスタ
は、図8−2に示されている機能構造を有する。
【0252】図8−3は、さまざまなDSPを示す。図
9において、示されている各クロックは、以下に指定さ
れている最大周波数で動作する。
【0253】
【表40】
【0254】多数のクロック領域が存在するので、多数
のインタフェースは、2つまたはそれ以上のクロック領
域間で移動する同期段(フロップ)を必要とする。周辺
装置はすでにそのような同期装置を十分に含み、また
は、それらの同期装置は周辺装置の関連するHIU構造
において例示されている。次の表は、DSPにおいて重
要なクロックの位相関係を定める。
【0255】
【表41】
【0256】パワーダウンモードを理解するためには、
まずDSPのために採用されたクロッキング戦略を理解
する必要がある。モデルは、メガモジュール内に2つの
クロック領域を含む。これらは、以下のものである。 ・ CPU ・ L1およびL2TC+HIU+TR+XDMA+
周辺装置
【0257】周辺クロック領域は、各HIUがそれ自身
の領域内において動作でき、したがって、関連するHI
Uの半分がこの領域内において動作し得る点で、やや複
雑になっている。この分解は、TCおよび/またはXD
MAおよび周辺装置を用いて有用な動作が行われている
間に、CPUがシャットダウンされることを考慮に入れ
ている。
【0258】DSPは、パワーダウンの3つのモードを
有する。シャットダウンモードは、CPUのクロッキン
グを停止させたのち、L1/L2およびTC/HIUと
周辺装置とを次第に停止させる。パワーダウン状態は、
CSRレジスタへのCPU書込みにより入られる。図1
0には、CASレジスタのパワーダウンファイルが示さ
れている。CSRのビット14:10は、ひとまとめに
してPWRDフィールドと呼ばれる。
【0259】パワーダウン状態1は、CSRのビット1
3,14によって制御される、マスクされたまたはマス
クされない割込みにより脱出される。パワーダウン状態
2,3は、システムリセットによってのみ中止される。
【0260】
【表42】
【0261】パワーダウン回路はまた、装置がパワーダ
ウン状態にあることを外部論理に知らせるために、/P
Dを表明する。この信号は、パワーダウンモード2,3
において表明される。図11には、パワーダウン論理の
ブロック図が示されている。
【0262】パワーダウンモード2,3は、内部ソース
からのEMIFのクロッキングをディスエーブルする。
EMIFが外部からクロックされていれば、それはクロ
ックし続ける。EMIFに関するTC要求は行われない
が、リフレッシュサイクルは行われ続け得る。
【0263】DSPは、アクティブ・ロウ/RESET
入力の表明によりリセットされる。装置は、リセット状
態にある間に初期化される。全ての3状態出力は、高イ
ンピーダンス状態に置かれる。全ての他の出力は、それ
らのイナクティブ・レベルに駆動される。L2動作状
態,割込み選択論理およびXDMA制御装置は、それら
のデフォルト状態にセットされる。/RESET中に
は、いくつかの装置構成オプションがセットされなけれ
ばならない。これらには、以下のものが含まれる。 ・ 1X対4X PLL動作モード ・ アドレス0x00000000からの、ブートロ
ード対コード実行 ・ ROMに基づくブートをサポートするためのEM
IFバス幅 ・ 装置のエンディアン 以下の節では、これらのオプションを説明する。
【0264】/RESET入力は、入力クロック(CL
KIN)およびDSP出力クロック(CLKOUT2)
の双方によりサンプリングされる。/RESETは、最
小期間の間ロウに留まらなければならない。PLLが再
ロードされる必要があれば、この時間はかなり長い(マ
イクロ秒単位で)。EMIFモジュールは、SDRAM
のタイミング要求を満たすために、少なくとも200μ
sの間アクティブであるリセット入力を要求する。この
要求を最も簡単に満たすためには、/RESET入力が
ロウである時間も最小200μsが要求される。
【0265】/RESET中においては、いくつかの装
置構成入力が装置にラッチされ、これはその動作モード
をセットする。以下の節では、必要とされる構成入力を
略述する。
【0266】PLLのために必要とされる全ての構成入
力は、(/RESETがロウである)リセット中にセッ
トアップされなければならない。活動的な動作中のリセ
ットとパワーアップからのコールドスタートとにおける
条件は異なるので、リセット中に一般のピンをラッチし
てPLLモードにセットする方法は複雑である。例え
ば、活動的な動作中においては、リセットは/RESE
Tにおける負になるエッジを保証し得るが、最初のパワ
ーアップ中においてはこれは保証され得ない。提案され
る解決法は専用のPLL構成入力を備えることであり、
これらはPLL動作モードを決定する。これらの入力は
動作中は静的である。変化させられるとすれば、PLL
がロックされかつ正しく機能することを保証するのに十
分な長さの時間の間、装置はリセット状態に保たれなけ
ればならない。
【0267】ブート・ロードおよびエンディアン構成入
力は、/RESETの立上りエッジにおいてサンプリン
グされる。通常は、これは、リセットがハイとしてサン
プリングされる前に、メガモジュール・クロックエッジ
において装置構成入力をサンプリングすることによって
行われる。以下の構成入力は、メガモジュール境界にお
いて供給される。
【0268】
【表43】
【0269】オンチップPLL周波数乗算器は装置リセ
ット中に構成される。この乗算器は、2つのモードの一
方においてCLKX4入力により制御される4倍または
I倍の乗算器として動作し得る。CLKX4入力は、以
下に示すように、PLL CLKMODE入力にマップ
される。CLKX4はスタティック入力であり、/RE
SETの立上りエッジによってサンプリングされる必要
がないことに注意すべきである。
【0270】
【表44】
【0271】DSPは、2つの方法の一方によってブー
トされる。しかし、双方のモードにおいて、L2は適正
な動作を保証するための調節機構である。装置リセット
は、/RESETの立上りエッジにおいて、HD[4:
3]に関するブート・モード機能をラッチする。ブート
・モードにかかわらず、CPUはリセットから脱出し、
L2のベース(これは、全てのSRAMのモード000
にリセットされている)であるアドレス0x00000
000からのプログラムフェッチを試みる。このアクセ
スは、常に、L1Iを省略してL2に送られる。L2
は、直ちに通常のL1I−L2インタフェースを経てL
2を機能停止させたのち、ブート・モードに依存して要
求にサービスする。
【0272】HD[4:3]=00ならば、ブートロー
ディングが行われる。この場合には、HPIがコードを
アドレス0x00000000(CPU PCがリセッ
トされる先のL2 SRAMのベース)に置いたと仮定
される。このモードでは、L2は、HPI HIUモジ
ュールからのDSP INTの表明を待ち、L1I要求
へのサービスを進める。DSP INTが表明されたと
き、L2は最初のL1Iライン(0x00000000
の要求アドレスに2つのフェッチ・パケット)をL1I
に供給し、これは通常のL1I機構によってCPUを機
能停止させる。
【0273】リセットでラッチされたHD[4:3]の
他の値は、ブートローディングが行われるべきことを示
す。この場合には、CPUは、再び、L1Iを省略して
L2に送られる要求0x00000000へのジャンプ
を試みる。L2は、再び、この要求を機能停止させると
ともに、ブート・モード入力を評価するときに、ブート
ローディングが行われなければならないことを決定す
る。この要求にサービスするために、L2制御装置は、
1キロバイトのデータをEMIF/CE1のベース(0
x90000000)空間から0x00000000に
移動させるための転送要求をI/Oサブシステムに出
す。この転送が完了したとき、L2制御装置は、通常の
L1I−L2インタフェース・プロトコルにより最初の
L1IラインをL1Iに供給することによってL1I要
求にサービスする。これは、通常のL1I−CPUイン
タフェースによりCPUの機能停止を解除する。ブート
・コードは追加の転送を指定して、アプリケーションお
よび/またはブート・コードの残りを移動させ、EMI
F制御レジスタをセットアップし、要求されたようにL
2内のキャッシュ・モードをイネーブルする。両ブート
・モードにおいて、DSPは停止解除された状態にリセ
ットされ、CPU境界rdyNストローブの1つ、特に
L1Iが用いる1つの表明により保持されなければなら
ないように仮定されていることに注意すべきである。こ
のようにして、装置に対してサービスするブート・モー
ドは、通常のL1Iミスと同じ機構を用い、また、ブー
ト・モード入力およびDSP INT信号の双方をモニ
タしなければならないL2においては、リセットの複雑
性のみが追加される。DSP INTは簡単にモニタさ
れ、それがCPUに通知されるのを防止するためにDS
INTを遮る必要はない。CPUは、全ての割込み
がディスエーブルされてリセットされるので、ブートに
おける「誤り」のDSP INTは無視される。
【0274】前述のブートローディング機構をサポート
するために、EMIFは、制御レジスタへのアクセスな
しに/CE1のバス幅をセットする手段をサポートす
る。そのわけは、そのようなアクセスを行うためのコー
ドがまだロードされていないからである。そのバス幅
は、HPI HD[4:3]ピンからラッチされ、ブー
トロード・モードにかかわらずリセットに続いてセット
される。ユーザは、リセットに続いて/CE1のために
セットアップされたバス・サイズを上書きし得る。次の
表は、この動作を定める。
【0275】
【表45】
【0276】メガモジュールのLENDIAN信号は、
装置におけるエンディアン・モードをセットする。LE
NDIANは、リセットの立上りエッジにおいてHPI
HD[8]入力からサンプリングされ、装置にラッチ
される。したがって、エンディアン・モードは、装置リ
セット中においてのみ変更され得る。LENDIANが
1にセットされれば、装置はリトルエンディアン・モー
ドで動作する。0にセットされれば、ビッグエンディア
ン・モードが選択される。
【0277】EMIFは、SDRAM,SBSRAMお
よび非同期メモリをサポートする。それは、4つまでの
CE空間において、x8,x16およびx32装置をサ
ポートする。それは、ビッグおよびリトルエンディアン
・フォーマットの双方による読取りおよび書込みを処理
する。EMIFは、直線的増加,直線的減少および固定
の3つの異なるアドレッシング・モードをサポートす
る。モジュールの現在選択されている最大クロック周波
数は、125MHzである。EMIFの追加の特徴は、
新しいレジスタによりまた現存のレジスタのリザーブさ
れたフィールドによりアクセスされる。
【0278】改善されたパフォーマンスおよび柔軟性を
提供するために、多くのSDRAMパラメータがプログ
ラム可能である。SDRAMは、多分PC100/PC
125コンプライアントであるDSPと共用されるが、
EMIFは低パフォーマンスのSDRAMをも含み得
る。EMIFは、可能なときはrasおよびcasオー
バヘッドを隠しつつ、SDRAMの内部的にバンク化さ
れた構造を利用する。
【0279】SBSRAMは、もっぱらEMIFクロッ
ク周波数(125MHz)で動作する。エミュレーショ
ンをサポートするために、特別なことは行われていな
い。ブレークポイントが生じたときは、EMIFは、H
IUインタフェースを介してTC/XDMAに応答し続
ける。SDRAMのリフレッシュは継続される。
【0280】少なくとも1ワードの長さの外部メモリへ
/からの全ての転送は、ワード・アラインされなければ
ならない(ソース,宛先およびサイズ)。1ワード未満
の書込み転送は、バイトイネーブルの使用を必要とす
る。3バイトの転送はサポートされない。2バイトの転
送は、ハーフワード・アラインメントを必要とする(E
MIFハーフワード1へ/からのHIUハーフワード1
またはEMIFハーフワード0へ/からのHIUハーフ
ワード0)。単一バイトの転送は、バイトアラインされ
なければならない(EMIFバイト3へ/からのHIU
バイト3またはEMIFバイト2へ/からのHIUバイ
ト2またはEMIFバイト1へ/からのHIUバイト1
またはEMIFバイト0へ/からのHIUバイト0)。
【0281】直線的減少アドレス・モードは、1ワード
より大きいものの転送を必要とする。減少は、バイトま
たはハーフワードに基づいてではなくワード境界におい
て行われる。固定アドレス・モードもまた、1ワードを
超える転送を必要とする。アドレスはワード境界におい
て「固定」され、バイト幅のSDRAMへの固定書込み
は、バイト・アドレスN,N+1,N+2,N+3,
N,N+1などに至る。16ビット幅のSDRAMへの
固定書込みは、バイト・アドレスN,N+2,N,N+
2などに至る。32ビット幅のSDRAM構成への固定
書込みは、バイト・アドレスN,N,Nなどに至る。
【0282】EMIFは、2次元(ブロック)アドレッ
シングを行わない。TC/XDMAは、2D能力を提供
するために、EMIFから外部的に転送を順序づけなけ
ればならない。EMIFは、単一転送内のSDRAMペ
ージ交差をサポートしない。転送がページを越えるであ
ろうことをTC/XDMAが検出すれば、それは、その
転送を2つの部分に分割し、それぞれのためにEMIF
へ別個の要求を行う。EMIFは、そのリセットが20
0μsを超えることを仮定する。それは、200μsの
パワーアップ要求がSDRAMのために満たされること
を保証するカウンタをもたない。パワーダウン・モード
は、SDRAMまたはいかなる他の装置のためにもサポ
ートされない。図12−1は、EMIFの入力および出
力を示す。
【0283】
【表46】
【0284】ECLKINは、ここでは、EMIF
IU CLOCKとも呼ばれる。LENDIANおよび
CE1 WIDTHはリセット中に固定される。FAS
BOOTおよびscanはテストのために供給され
る。/CLK2ENは、いったん初期化され、その後そ
のままにしておかれる。
【0285】
【表47】
【0286】EMIF−HIUインタフェースは、EM
IFによるデータ転送のためのものである。
【0287】
【表48】
【0288】CFG BUSは、EMIFレジスタの読
取りおよび書込み用のものである。
【0289】
【表49】
【0290】SDINTは、EMIF SDRAMリフ
レッシュ制御レジスタにおいてカウンタがゼロに達する
毎に8ECLKIN周期の間だけハイにパルスされる。
【0291】
【表50】
【0292】外部装置上のアドレス・ピン0は、常に、
EA[2]に接続される。EMIFは、8ビット幅,1
6ビット幅および32ビット幅の装置が必要とするよう
に、アドレスを内部的にシフトする。
【0293】
【表51】
【0294】
【表52】
【0295】
【表53】
【0296】ピンを節約するために、EMIF出力のい
くらかは互いに多重化される。これらは、/ARE+/
SSADS+/SDCAS,/AOE+/SSOE+/
SDRASおよび/AWE+/SSWE+/SDWEで
ある。
【0297】
【表54】
【0298】EMIFグローバル制御レジスタは、図1
2−2に示されており、全てのCE空間に共通なパラメ
ータを構成する。
【0299】
【表55】
【0300】CLK2ENフィールドは、反転されてE
MIFモジュールから追放され、DSPコアにおいてC
LKOUT2を制御する。図12−3には、4つのCE
空間制御レジスタが示されており、これらは、EMIF
によってサポートされる4つのCEメモリ空間に対応す
る。SCレジスタの機能性は、TMS320C6201
周辺装置リファレンスガイドに説明されている。しか
し、TAフィールドはこのガイドには説明されていな
い。TAは、ターンアラウンドの省略形であり、1つの
装置からもう1つの装置にスイッチするために要する時
間のことである。出力ドライバは停止するのに有限の時
間量を要し、TAフィールドは、何か他のものがEDバ
スをデータにより駆動し得るようになる前に、非同期イ
ンタフェース読取りに続いて経過しなければならない数
のクロック・サイクルを含む。/AOE信号は、読取り
ホールド期間の完了までアクティブに留まるので、TA
フィールドは、装置を非選択にした後にバスの競合を最
小化するために必要である。同じ装置が連続的にアクセ
スされるとき、TA遅延は生じないことに注意すべきで
ある。読取りホールドおよび書込みホールド・フィール
ドは、1ビットだけ増加させられている。MTYPEフ
ィールドもまた1ビットだけ拡張されており、その新し
い定義は表12−4に示されている。
【0301】
【表56】
【0302】EMIFは、ビッグおよびリトル・エンデ
ィアン装置の双方の読取りおよび書込みを含むx8,x
16およびx32のバス幅をサポートする。その結果、
「ROM」と「非同期インタフェース」との区別をする
必要はない。MTYPEが(なんらかの幅の)SDRA
MまたはSBSRAMを指示すれば、レジスタの残りの
フィールドは効果をもたない。図12−4には、SDR
AM制御レジスタが示されており、それは、SDRAM
メモリタイプを含む全てのCE空間をセットする。この
レジスタの機能性は、TMS320C6201周辺装置
リファレンスガイドに説明されている。1つの追加の問
題は、EMIFがINITフィールドを、それがSDR
AMの初期化を行った後に、自動的にゼロにクリアする
ことである。RESETがイナクティブになったとき
は、どのCE空間もSDRAMとして構成されないの
で、INITフィールドは速やかに1から0に変化す
る。CPUは、全てのCE空間制御レジスタを初期化
し、かつ、SDRAM拡張レジスタをそれがINITビ
ットを1へセットし返す前に初期化すべきである。SD
WTHフィールドは、次の表12−5に示されているよ
うに、SDRAM内のバンクの数,行アドレスのサイズ
および列アドレスのサイズを定めるように変更されてい
る。
【0303】
【表57】
【0304】ハードウェアのリセットの後のデフォルト
SDRAMタイプは、2バンク,11行アドレスピン,
9列アドレスピンの装置であるものと仮定する(代表的
な2Mx8部分は、この記述に適合する)。SDWTH
は、与えられたCE空間用のデータバス幅を決定しな
い。むしろ、それは、バス上に置かれるSDRAMのサ
イズを決定する。与えられたCE空間用のデータバス幅
は、CE制御レジスタにおけるMTYPEフィールドに
より決定される。図12−5に示されているSDRAM
リフレッシュ周期レジスタは、EMIFクロック・サイ
クル(CLKOUT2サイクルではない)によりリフレ
ッシュ周期を制御する。このレジスタの機能性は、TM
S320C6201周辺装置リファレンスガイドに説明
されている。COUNTERフィールドおよびPERI
ODフィールド用の初期値は、増加させられている。0
x5DCは、1500クロック・サイクルに等しい。1
0nsのEMIFサイクル時間の場合は、リフレッシュ
動作の間に15μsの時間がある。SDRAMは、一般
に、15.625μs毎リフレッシュを必要とする。
【0305】特別リフレッシュ・フィールドは、カウン
タがゼロに達したときに行われるリフレッシュの数を制
御する(「00」なら1、「01」なら2、「10」な
ら3、「11」なら4)。例を挙げると、リフレッシュ
を行うためには全てのバンクが非活動化されなければな
らないので、2つのリフレッシュを半分の頻度で行うこ
とが所望される。全てのリフレッシュ要求は高い優先順
位のものと考えられる。リフレッシュすべきときには、
そのリフレッシュは直ちに行われる(しかし、進行中の
転送は完了することが許される)。全てのバンクは、リ
フレッシュ指令が出される前に非活動化されなければな
らない。リフレッシュ指令が完了したときに、バンク
は、リフレッシュ前のそれらの状態へ復元されない。図
12−6に示されているSDRAM拡張レジスタは、C
6201上には存在しない。その目的は、DSPがさま
ざまなSDRAMとインタフェースし得るようにするこ
とである。あるタイミング・パラメータのプログラムさ
れた値は、他のパラメータに適合することを保証し得
る。また、タイミング・パラメータの部分集合(例え
ば、TCL)は他のパラメータのあるものを十分駆動す
ることができ、これはSDRAM拡張レジスタに冗長性
があることを意味する。
【0306】
【表58】
【0307】
【表59】
【0308】CFG BUSはEMIFの制御レジスタ
へのアクセスをCPUに提供する。それはデータ転送を
意図したものではない。EMIF−HIUインタフェー
スはデータ転送を取扱う。CFG BUSとEMIF−
HIUインタフェースとは、無関係にかつ同時に動作す
る。CFG BUSの読取りおよび書込みはCFG BU
MOD SEL信号の遷移により開始される。ハー
ドウェアのリセットにおいては、MOD SEL信号が
0に初期化される。ハイまたはロウへのその後の遷移
は、転送が要求されていることを表示する。
【0309】図12−7および図12−8はそれぞれ、
負および正のCFG BUS MOD SELによるC
FG BUS読取り用のタイミングを示す。要求モジュ
ール(HIU)における同期遅延により、CFG BU
ADDおよびCFG BUS RNW信号は、CF
BUS MOD SEL信号の遷移前のある数のク
ロックの間安定している。CFG BUS MOD
CKは、CFG BUS READ DATAが有効に
なるサイクルにおいて遷移すべきである。
【0310】図12−9および図12−10はそれぞ
れ、負および正のCFG BUS MOD SELによ
るCFE BUS書込み用のタイミングを示す。要求モ
ジュール(HIU)における同期遅延により、CFG
BUS WR DATA,CFG BUS ADDおよび
CFG BUS RNW信号は、CFG BUS MO
SEL信号の遷移前のある数のクロックの間安定し
ている。
【0311】CFG BUS MOD ACKは、CF
BUS WR DATAがEMIF内に登録される
サイクルにおいて遷移すべきである。図12−1および
次の表12−8には、EMIF AIUインタフェース
が示されている。
【0312】
【表60】
【0313】TCは、DSPの全体における優先順位付
与およびルーティング・データを管理する。EMIF
は、HIU(HUBインタフェース・ユニット)モジュ
ールを経てTCとEMIFクロック速度でインタフェー
スする。TCとEMIFとの間のデータの全ての同期
は、もっぱらHIU内において行われる。
【0314】EMIF−HIUインタフェースはデータ
転送のためのみのものであることに注意すべきである。
EMIF制御レジスタはCFG BUSを経てアクセス
される。EMIF−HIUインタフェースおよびCFG
BUSは、無関係にかつ同時に動作する。
【0315】図12−11は、代表的なEMIF−HI
Uトランザクションを示す。この図は、EMIF−HI
Uトランザクション用のプロトコルを示している。HI
Uは、トランザクションを開始するために、HIU
MIF RD/HIU EMIF WR,HIU EM
IF ADDR,HIU EMIF SIZE,HIU
EMIF WS,HIU EMIF WR DATA
(書込み用),HIU EMIF FIX ADDRおよ
びHIU EMIF DEC ADDRを含む全ての関
係のある信号が有効であることを意味するHIU EM
IF CMD VALIDを表明する。EMIFは、EM
IF HIU CMD ACK信号を表明し、それが指
令を受理したことを表示する。最も早期にこのACKが
表明され得るのは、CMD VALIDの正の遷移に続
くサイクルにおいてである(ACKは、図12−11の
サイクル3において生じ得る)。同じサイクル(サイク
ル2)は、HIU EMIF CMD VALID入力
がEMIF内に登録されるので不可能である。HIUか
らの入力は、ACKサイクルに続くサイクルにおいて無
効になる。
【0316】EMIFは、HIU EMIF ADDR
[30:28]を調べ、どのCE空間がアドレッシング
されつつあるかを決定する(000=>CE0,001
=>CE1,010=>CE2、011=>CE3)。
HIU EMIF ADDR[29:28]は、CE空
間を識別するためには十分であるが、将来の装置におけ
るCE空間の数の増加を容易ならしめるために、(タイ
ミングの困難はないものと仮定して)3ビットの全てを
チェックすべきである。HIUは、いったん要求を出す
と、それはその要求を変更または削除しない。
【0317】読取りトランザクションにおいては、EM
IFは、それがEMIF HIU RD DATAバス上
のHIUにデータを供給する各サイクルにおいて、EM
IF HIU−RD DATA VALID信号を表明
する。データは、連続するサイクルにおいて有効であっ
てもよく、それらの間にギャップがあってもよい。EM
IFの設計は、可能なときにはギャップを最小化するも
のであるべきである。全ての場合に、EMIFは、後の
トランザクション用のデータを供給する前に、与えられ
たトランザクションを完全に処理しなければならない。
EMIFは、返送されたデータがその指令に対するもの
であれば、AU HIU CMD ACKと同じサイク
ルにおいてRD DATA VALIDを表明し得ない
ことに注意すべきである。EMIFは、入力および出力
データ・レジスタの双方を含むので、これは定義により
不可能である。
【0318】書込みトランザクションにおいては、EM
IFは、それがHIU EMIF−WR DATA上の
書込みデータを受理しつつあることを表示するために、
EMIF HIU WR DATA ACK信号を表明
する。ACQは、連続するサイクルにおいて発生しても
よく、それらの間にギャップがあってもよい。EMIF
の設計は、可能なときにはギャップを最小化するもので
あるべきである。EMIF HIU WR DATA
ACKは、EMIFがHIUから書込み指令を受理する
同じサイクルにおいてハイになり得る。
【0319】書込みトランザクションは、後の書込み指
令が受理可能になる前に転送からの全てのデータがAC
Kされなければならないという制限を有する。この制限
はHIUにおける制約による。図12−12は、EMI
F−HIU書込みトランザクションを示す。
【0320】HIU EMIF WS信号は、HIU
EMIF−WD SIZEが1に等しいときに限り重要
である。そのときは、それらは、どのバイトが外部メモ
リに書き込まれるかを決定するために用いられる。有効
ストローブ値は、「1111」,「1100」,「00
11」,「1000」,「0100」,「0010」お
よび「0001」を含む。
【0321】RESETピン上の1は、EMIFの初期
化を開始し、全てのメモリマップトレジスタをそれらの
デフォルト値にセットする。RESETは200μsよ
り長い間ハイに留まるものと仮定する。この条件が真で
ないことがわかれば、カウンタはSDRAM初期化要求
を確実に満たすことを要求される。
【0322】LENDIAN,CE1 WIDTH
[1:0]およびFAST BOOTはリセット中にD
SPピンからラッチ解除される。EMIFはこれらの入
力を登録する必要はない。そのわけは、それらはメガモ
ジュールのどこか他へ登録され、それらはリセットがイ
ナクティブである間は変化しないからである。CE1
WIDTH[1:0]は、CE1空間幅をセットする
(11=>32ビット幅,10=>16ビット幅,01
=>8ビット幅,00=>後にHPIを初期化−32ビ
ット幅へデフォルト)。FAST BOOTは、テスト
の目的のために供給される。FAST BOOTがハイ
ならば、CE1は装置のリセット中にSBSRAMとし
て構成される。FAST BOOTがロウならば、CE
1は非同期インタフェースとして構成される。デフォル
トEMIFレジスタ値が正しくなければ、それらはHP
Iアクセスまたは通常のコード実行により変更されるべ
きである。EMIFデータバス上に置かれた装置のパフ
ォーマンスは、レジスタ値が変更されなければ、かなり
最適とは言えないものとなる。
【0323】DSP EMIFは、8ビット幅,16ビ
ット幅および32ビット幅を有する装置における読取り
および書込みをサポートする。図12−13に示されて
いるように、ビッグおよびリトル・エンディアン・フォ
ーマットの双方がサポートされる。装置は、SDRA
M,SBSRAMまたは非同期メモリであり得る。装置
のタイプは、同じCE空間内においては混合され得ない
が、同じタイプの複数部分を用いてより大きい1つの部
分をエミュレートすることはできる。例えば、2つの2
Mx8SDRAMは、単一の2Mx16SDRAMを形
成するように組み合わせ得る。CE空間内において複数
部分が用いられるときに、それらは、装置の広さを増加
させることはできるが、深さを増加させることはできな
い。深さの増加は、アドレス・デコーディング用の追加
のチップ・イネーブル論理または外部グルー論理を必要
とする。
【0324】I/Oタイミングを改善するためには、I
/Oパッドへ/からの全てのEMIF信号が、モジュー
ルの外部にある1つのレジスタ段を経て進まなければな
らない。これらのレジスタはEMIFの設計を簡単化す
る。レジスタ・ルールに対する唯一の例外はARDYで
ある。ARDYはパッドとEMIFとの間にレジスタを
もたず、それにより、周辺装置のガイドの説明はなお正
確であり得る。
【0325】EMIF−HIUデータバスは32ビット
幅に固定されるので、ED[31:0]バスからのバイ
ト,ハーフワードおよびワードをワード量にパックする
論理がなければならない。図12−14は、この問題を
解決するために必要なデータ経路を示す。このデータ経
路は、EMIFが32ビット幅のSDRAM/SBSR
AMへまたは120ns,8ビット幅のEPROMへイ
ンタフェースし得る広範囲のデータ速度を可能にする。
第2のレジスタ段におけるイネーブル信号は、アドレッ
シングされるロケーション毎に複数クロック・サイクル
を要する装置に適応するように要求される。
【0326】出力におけるレジスタおよびマルチプレク
サは、PC100コンプライアントでないSDRAMに
おけるアドレス減少をサポートするためのみに備えられ
る。あるSDRAMは、読取り指令に別の読取り指令に
より割り込むために、2サイクルの遅延を必要とする。
この遅延は、データ・シャフリングを強制して、ワード
境界におけるアドレス減少をサポートさせる。SDRA
M拡張レジスタにおけるRD2RDフィールドは、デー
タ・シャフリングが必要かどうかを表示する。
【0327】図12−15および図12−16は、減少
形の読取りおよび書込みデータ経路をそれぞれ示す。3
2ビット幅のEMIF−HIUデータバスからバイト,
ハーフワードおよびワードに変換する論理は、かなり直
接的なものである。図12−16には、書込みデータ経
路が示されている。ED[31:0]バス上の装置が3
2ビット幅のものであれば、EMIFは、ことごとくの
サイクルにおいてHIUからのデータにアクノリッジし
得べきである。装置が8ビット幅または16ビット幅の
ものであれば、HIUは明らかにデータをより長く保持
する必要がある。
【0328】読取りデータ経路におけるように、図12
−17に示されている出力におけるレジスタおよびマル
チプレクサは、PC100コンプライアントでないSD
RAMにおけるアドレス減少をサポートするためのみに
備えられる。あるSDRAMは、書込み指令に別の書込
み指令により割り込むために、2サイクルの遅延を必要
とする。この遅延は、データ・シャフリングを強制し
て、ワード境界におけるアドレス減少をサポートさせ
る。SDRAM拡張レジスタにおけるWR2WRフィー
ルドは、データ・シャフリングが必要かどうかを表示す
る。
【0329】EMIFはSDRAM選択において大きい
柔軟性を実現する。行サイズ,列サイズおよびバンクの
数は、プログラム可能である。さらに、SDRAMパラ
メータの多くもまた、プログラム可能である。設計は、
PC100/PC125 SDRAMを目標として用い
る。そのわけは、それらが広く利用可能であるからであ
る。しかし、PC100コンプライアントでないSDR
AMもまたサポートされる。
【0330】EMIF設計の主目的の1つは、外部メモ
リバスED[31:0]の帯域幅を最大化することであ
る。32ビット幅のSDRAMがDSPに接続されると
すれば、SDRAMへ/からのブロック転送内のED
[31:0](およびHIU−EMIFデータバス)上
のアイドル・サイクルはゼロであるべきである。アイド
ル・サイクルは転送の開始時に生じ得るが、その数はで
きるだけ小さく保たれなければならない。アイドル・サ
イクルはまた、CE空間が16ビット幅または8ビット
幅のSDRAM構成を有するならば、要求される。SD
RAM制御レジスタおよびSDRAM拡張レジスタにお
けるタイミング・パラメータはEMIF設計を複雑化す
るが、それらは大きく向上したパフォーマンスおよび柔
軟性を提供する。SDRAM制御レジスタにおけるSD
WTHフィールドは、バンクの数,行アドレス・サイズ
および列アドレス・サイズの独立したセッティングを可
能にする。バンクの数は設計のために必要ではないが、
それは、行アドレスの先頭にいくつのMSBが追加され
るかを示す。行アドレス・サイズおよび列アドレス・サ
イズは、EAピンを正しく駆動するために必要なシフテ
ィングの量を表示する。例えば、代表的な2バンクx5
12Kx16SDRAMは、2バンク,11行アドレス
・ビットおよび8列アドレス・ビットのセッティングを
有する。
【0331】
【表61】
【0332】READ−P,WRT−PおよびSTOP
はサポートされない。表12−9において、「X」は定
められておらず、ピンの値は、電力を節約するために遷
移を減少させるように前のサイクルにおいてそのピンが
保持した値と一致すべきである。記号「V」は有効を意
味する。「MRS」フィールドは後に定められる。EA
ピンの値はSDRAMのSDWTHに依存する。EA
[16:14]はもしかすると不使用であり得る。「B
S」フィールド(バンク選択)は行アドレス・ピンの左
方へ直ちに始まる。また、最上位の列アドレスとEA
[12]との間の全てのビットは、DEAC,DCA
B,WRTおよびREAD中にEA[12]の値により
駆動されるべきである。8ビット列装置においてDCA
Bを行うためには、EA[12:10]は111である
べきである。同じ装置においてDEAC,WRTまたは
READを行うためには、EA[12:10]は000
であるべきである。
【0333】EMIFは、SDRAMの直列(直線的)
バースト・モードを用いる。表12−10は、SDRA
M内でのアドレスが増加する方式を示す。TC/XDM
Aについての観点からは、アドレスは順次データのペー
ジ内において常に直線的に増加する。この事実が意味す
ることは、11である最初のEA[3:2]アドレス
は、新しいアドレスが外部から直ちに印加されるのを必
要とすることである。さもないと、アドレスは前進せず
にラップする。例えば、新しいアドレス入力がないと、
0x23は、(0x23,0x24,0x25,0x2
6)のようにではなく(0x23,0x20,0x2
1,0x22)のように増加する。SDRAM拡張レジ
スタ内のRD2RDおよびWR2WRパラメータは、割
込みREADまたはWRITE指令がどのように速やか
に印加され得るかを指示する。それらのレジスタの値に
基づき、ある場合にはアイドル・データ・サイクルが避
けられなくなり得る。
【0334】
【表62】
【0335】EMIFは、3つの異なるアドレッシング
・モードをサポートする。アドレスは、直線的に増加、
直線的に減少または固定されたままにできる。直線的増
加は直接的に行われる。増加バイトは増加バイト・アド
レスに存在する。SDRAMとの関連においては、直線
的減少はやや困難を伴う。直線的減少は、アドレスをワ
ード境界において減少させる。あるSDRAMにおいて
は、1クロック・サイクルのRD2RDおよびWR2W
Rが可能であるが、他においては2クロック・サイクル
が必要である。2サイクルSDRAMは、追加のマルチ
プレクサ,レジスタおよび制御論理を必要とする(詳細
は、図12−15および図12−17に示されてい
る)。固定アドレッシング・モードは、同じバイト・ア
ドレスへ/からの連続するアクセスを行う。
【0336】TC/XDMAは、転送がSDRAMのペ
ージ境界を越えて拡大することを許容しない。他の場合
に境界を越える転送は2つの部分に分解され、一時に1
つがEMIFに送られる。ページ境界は越えることがで
きないので、EMIFは、複数のCE空間を越えて拡大
する単一転送をサポートする必要はない。
【0337】EMIFは、SDRAMモード・レジスタ
を0x032(cas待ち時間3)または0x022
(cas待ち時間2)にプログラムする。このセッティ
ングは、SDRAMを直線的バーストおよび4の読取り
/書込みバースト長を有するように構成する。
【0338】SDRAMのバースト長は、1つのcas
指令の結果として、どれだけ多くのクロック・サイクル
のデータが転送されるかを決定する。最初のアドレスは
casを備えており、SDRAMは後のアクセスのため
に内部的に自動増加を行う。PC100の仕様は、1,
2または4のバースト長選択をサポートする(あるSD
RAMは、8およびフル・ページをもサポートする)。
1のバースト長は、図12−18に示されているよう
に、現転送により用いられていないバンクにアクセスす
るデータ内にギャップを必要とするので、よい選択では
ない。2のバースト長は、比較すると、図12−19に
示されているように、同じ状況においてギャップを回避
する。4のバースト長(図12−20)もまた、ギャッ
プレス・マルチバンク・アクセスを可能にし、かつ、そ
れはバースト長2の動作よりも消費電力が少ない(ca
sおよびアドレス・トグルの頻度が低く、チップおよび
SDRAMの双方における電力消費を減少させる)。
【0339】図12−21に示されているように、バー
スト・サイズとしての4の選択は、転送サイズに限度を
導入しない。4サイクルより多くを必要とする転送は、
ギャップレス・データ・アクセスを保証するタイミング
により出される多数のREAD/WRITE指令として
行われる。4サイクルより小さい転送は、後の転送用の
待ち時間を減少させるために割り込まれる。図12−1
9を参照されたい。第2の転送がペンディングでなけれ
ば、EMIFはその転送を完了させる。
【0340】図12−22は、SDRAM読取りの開始
に用いられる指令を示す。SDRAM制御レジスタおよ
びSDRAM拡張レジスタからのあるパラメータも含ま
れている。SDRAMアドレスおよび書込みイネーブル
信号は、図を簡単にするために省略した。
【0341】図12−23は、SDRAM読取りの終了
時に用いられる指令を示す。SDRAM制御レジスタお
よびSDRAM拡張レジスタからのパラメータも示され
ている。この例においては、バンクは読取りの完了時に
非活動化され、新しいトランザクションがペンディング
になる。SDRAMアドレスおよび書込みイネーブル信
号は、図を簡単にするために省略した。cas待ち時間
は3であり、バースト長は4である。
【0342】図12−24は、SDRAM書込みの開始
時に用いられる指令を示す。SDRAM制御レジスタお
よびSDRAM拡張レジスタからのあるパラメータも含
まれている。SDRAMアドレスは、図を簡単にするた
めに省略した。
【0343】図12−25は、SDRAM書込みの終了
時に用いられる指令を示す。SDRAM制御レジスタお
よびSDRAM拡張レジスタからのパラメータも示され
ている。この例においては、バンクは書込みの完了時に
非活動化され、新しいトランザクションがペンディング
になる。SDRAMアドレスは、図を簡単にするために
省略した。/CEおよび/SWEの遷移は、本節内の全
ての例において電力を低減するために最小化されること
に注意すべきである。
【0344】待ち時間を減少させ、有効帯域幅を増加さ
せるために、EMIFは、隠れたras動作をサポート
する。1つのバンク内のページをアクセスするときに、
EMIFは、転送のために異なるバンク内の別のページ
を準備し得る。その第2のバンクの準備は第1の転送用
のアクセスと同時に行われるので、第2の転送用のra
sおよびcasのオーバヘッドは隠され得る。図12−
26に示されているように、2つの転送用のデータは中
間のギャップなしに到着する。
【0345】領域は、隠れたrasをサポートするため
に速やかに加算される。基本的には、EMIFは、どの
ページが開かれているかの記録を保持する必要がある
(ページはアクセスの後常に開かれたままになってい
る。それらは、REFR指令を行うためにまたはアクテ
ィブバンク内の新しいページにアクセスするためにのみ
閉じられる)。単一ページの追跡は19個のレジスタ・
ビットを必要とし、そのうちの3ビットはCE空間のた
め、2ビットはバンクのため、13ビットは行アドレス
のためのものであり、1ビットは有効ビットである。比
較器論理もまた必要である。
【0346】EMIFは、4つのページ・レジスタをサ
ポートする。諸ページは、全てのCE空間にまたがって
広がることができ、または、それらは単一CE空間内に
集中することもできる。SDRAMアクセスが行われる
たびに、転送が開かれたページに関するものであるかど
うかを知るためのチェックが行われる。ページが開かれ
ていれば、待ち時間は最小化される。ページがページ・
レジスタ内に記憶されていなければ、その情報は1つの
レジスタ内に置かれ、通常のrasおよびcas遅延を
受ける。
【0347】ページ・レジスタにおいては、ランダム置
換戦略が用いられる。EMIFは、フリーランニング2
ビット・カウンタを有する。ページ・レジスタを置換す
べきときには、EMIFは、カウンタによりポイントさ
れたレジスタを選択する。
【0348】ページ・レジスタは、完全にフレキシブル
ではない。1つのページ・レジスタのみが有効であると
仮定し、かつ、それがCE0のバンク0内にページを含
むと仮定する。次のメモリ・アクセスがCE0のバンク
0内の異なるページに行けば、存在する開かれたページ
は閉じられ(非活動化され)、かつ、新しいページのア
ドレスにより再び開かれ(起動され)なければならな
い。SDRAMのバンク内の1つのページのみが一時に
開かれ得るので、同じSDRAMの同じバンク内のペー
ジの値を記憶するために2つのレジスタを用いることは
意味をなさない。リセットにおいては、有効ビットはデ
ィスエーブルされる。
【0349】SBSRAMのバースト能力を利用して、
アドレスはできるだけ稀に供給され、電力消費が最小化
される。バースト読取りおよび書込みは4クロック・サ
イクル毎にアドレスを必要とするが、アドレス・ラップ
・アラウンド(前記の表12−10参照)は追加のアド
レス・エントリをもたらす。減少モードは、32ビット
幅のSDRAMを仮定すると、新しいアドレスの入力を
毎サイクルに必要とすることに注意すべきである。
【0350】図12−27は、EMIF SBSRAM
インタフェースを示す。/ADSピンは、一般に、SB
SRAM上のADSC#と呼ばれる(SBSRAM上の
ADSP#ピンはVCCに連結されるべきである)。/
ADVをGNDに接続すると、SBSRAMアドレス
は、部品がアクティブである間に強制的に連続的に増加
させられる。/SSADSピン(/ADS)をストロー
ブすると、新しいバースト・アドレスが入力されてバー
スト増加を置換する。バースト転送は、/CE(/C
S)がハイになり/SSADS(/ADS)がロウにな
ることにより完了する。
【0351】図12−28から図12−31までは、3
2ビット幅のSBSRAM CE空間からの6ワード読
取りを示す。各図は、開始アドレスの2つの最下位ビッ
トに対する異なる値を示す。
【0352】図12−28において、SBSRAMバー
ストは、サイクル10において/CEと/SSQEまた
は/SSWEとの非表明化により終了させられる。非選
択化は、やはりSBSRAMへ行くペンディング要求が
なければ、SBSRAMアクセスが完了したときに行わ
れる。
【0353】図12−29において、アドレス・ラップ
・アラウンドは第2の/SSADS表明のタイミングを
変化させる。図12−30において、アドレス・ラップ
・アラウンドは第2の/SSADS表明のタイミングを
変化させる。
【0354】図12−31において、アドレス・ラップ
・アラウンドは強制的に追加の/SSADS表明を行わ
せる。図12−32は、32ビット幅のSBSRAMイ
ンタフェースを仮定した減少形読取り動作を示す。EA
ピンは、各クロック・サイクルにおいてウィグルしなけ
ればならない。
【0355】図12−33から図12−36までは、3
2ビット幅のSBSRAM CE空間からの6ワード書
込みを示す。各図は、開始アドレスの2つの最下位ビッ
トに対する異なる値を示す。
【0356】図12−34において、アドレス・ラップ
・アラウンドは第2の/SSADS表明のタイミングを
変化させる。図12−35において、アドレス・ラップ
・アラウンドは第2の/SSADS表明のタイミングを
変化させる。
【0357】図12−36において、アドレス・ラップ
・アラウンドは強制的に追加の/SSADS表明を行わ
せる。図12−37は、32ビット幅のSBSRAMイ
ンタフェースを仮定した減少形書込み動作を示す。EA
ピンは、各クロック・サイクルにおいてウィグルしなけ
ればならない。
【0358】非同期インタフェースは、EPROM,S
RAM,フラッシュ,FPGA,ASICその他を含む
多くのタイプの装置と通信する。しかし、CE空間制御
レジスタに対しては、以下の変更が行われた。 ・ タイミング・フィールドは、CLKOUT1サイク
ルではなくECLKINサイクルにより定められる。 ・ MTYPEは3ビットから4ビットへ拡張され、も
っと多くのタイプが定められる。 ・ 読取りホールドおよび書込みホールド・フィールド
は2ビットから3ビットへ拡張される。
【0359】ARDY信号のふるまいは、以下の通りで
ある。ARDY信号はEMIFへの組合せ入力であり、
I/OパッドとEMIFとの間にはレジスタは存在しな
い。EMIF内において、ARDYはもっぱら組合せ論
理内において用いられる(1つの例外は、EMIFグロ
ーバル制御レジスタである)。ARDYは、ストローブ
期間の最後のサイクルにおいて検査される。ARDYが
ロウならば状態は変化せず、EMIFはストローブ期間
の最後のサイクル内に留まる。ARDYがハイならば、
EMIFはそのストローブ期間から脱出する。
【0360】図12−38に示されているように、AR
DYを必要とする非同期インタフェースにより2サイク
ル・トランザクションをサポートすることは可能であ
る。セットアップ,ストローブおよびホールドは1,1
および0にそれぞれプログラムされているものと仮定す
る。また、EAは/CEの前に安定しているものと仮定
する(または、EAは必要とされない)。セットアップ
期間であるサイクル5においてARDYが必要であるか
どうかを決定するために、外部/CEピンがボード上に
おいてデコードされる。外部論理がARDYをロウにす
る。ストローブ期間であるサイクル6において、EMI
FはARDY信号を検査して、それがストローブ状態に
留まるべきかホールド状態へ移行すべきかを決定する。
ARDYはロウであるから、EMIFはサイクル7にお
いてストローブ状態に留まる。
【0361】外部論理は、EAおよびCEの組合せデコ
ードに基づきARDYを正しい値へ駆動するために、お
よそ1〜1.5ECLKIN周期を有する。ARDYの
非表明化は、ECLKINへの配慮を必要とする。2サ
イクルを超えるトランザクションにおいては、外部論理
は、ARDYを非同期的に安全に表明し、また、非表明
化し得る。
【0362】EMIFはECLKINによりクロックさ
れる。図12−39は、ECLKINおよびDSPクロ
ッキング構造の高レベル図を示す。ECLKINは、C
PUに非同期で動作でき、または、CLKOUT2はE
CLKINに連結されてEMIFをCPU周波数の半分
でEMIFを動作させ得ることに注意すべきである。
【0363】図12−40は、ECLKINに関連する
I/O経路を示す。図12−41は、クロックされる外
部装置からの読取りを示す。図12−42は、クロック
される外部装置への書込みを示す。
【0364】HPIは、DSPアドレス空間から/への
読取りおよび書込みアクセスを行うための外部ホストプ
ロセッサ、典型的にはマイクロコントローラを許容す
る。HPIは、大容量データ移動用の標準HIU(HU
Bインタフェース・ユニット)を経てTCに、また、読
取りおよび書込み要求を行うためのTRバスにインタフ
ェースする。
【0365】装置リセット中に、装置エンディアン・モ
ードおよびEMIFバス幅が、ホスト・データ・ポート
においてサンプリングされる。これは、装置/RESE
Tピンの立上りエッジにおいて行われる。通常は、これ
は、/RESETハイに先行するCLKOUT2サイク
ルにおいて、適切なピンをサンプリングすることにより
行われ、これは設計者のための細部として残される。以
下のピンは、装置の動作モードを決定するためにサンプ
リングされる。HPIは、これらの信号を構成用の他の
モジュールおよびメガモジュールへのモジュール出力と
して供給しなければならない。これらの信号は、/RE
SETが非表明化された後にはスタティックになるもの
と仮定する。
【0366】
【表63】
【0367】DSPコアに対するHPIインタフェース
は、TCおよびTR機構に対するインタフェースへの変
更を必要とする。HPIの目的は、33MB/sの帯域
幅を維持することである。HPIモジュールは、2つの
DSPメガモジュールの境界インタフェースに接続され
ている。読取りおよび書込みデータは、TCのAU−H
IUインタフェースの1つを経て送られ、このインタフ
ェースには、HPIデータ経路が接続されなければなら
ない。HPIはまた、TCに関し要求を行い得なければ
ならず、これは第2のインタフェースであるTRバスを
経て行われる。図13−1および図13−2は、HPI
へ/からの要求のフローおよびデータ移動を示す。
【0368】図13−1は、HPI書込みシ−ケンス
と、DSPシステム内に生じなければならない指令/デ
ータのフローとを示す。このトランザクションは、TR
バス(1)を介したHPIによる要求の通知により開始
される。TRパケットは、キュー・マネジャー(QM)
RAMを介して流れ、他のペンディングの要求とともに
優先順位の付与を受ける。最後に、それは、SRC/D
STパイプライン・レジスタにロードされる。先行書込
み指令(2)が、ランディング・データ用の空間をリザ
ーブするために、宛先ポートに出される。宛先ポートに
空間がリザーブされると、SRCパイプは読取り指令
(3)をソース・ポート(この場合は、HPI)に出
す。この指令はHIUを介してHPIへ送られ、HPI
は直ちにデータにより応答する。HIUはこのデータを
TC DSTパイプライン(4)に返送する。次に、T
Cは、このデータを書込み指令を介して最終宛先ポート
(5)に送り得る。先行書込み指令(2)はHPIには
感知され得ないことに注意すべきである。
【0369】図13−2は、HPI読取りシーケンス
と、DSPシステム内に生じなければならない指令/デ
ータのフローとを示す。このトランザクションは、TR
バス(1)を介したHPIによる要求の通知により開始
される。TRパケットは、キュー・マネジャー(QM)
RAMを介して流れ、他のペンディングの要求とともに
優先順位の付与を受ける。最後に、それはSRC/DS
Tパイプライン・レジスタにロードされる。先行書込み
指令(2)が、ランディング・データ用の空間をリザー
ブするために、宛先ポート(HPI)に出される。宛先
ポートHIUに空間がリザーブされると、SRCパイプ
は読取り指令(3)をソース・ポートに出す。この指令
はL2制御装置に送られ、L2制御装置はデータにより
応答する。HIUはこのデータをTC DSTパイプラ
イン(4)に返送する。次に、TCは、このデータをH
PI HIUへの書込み指令により最終宛先ポート
(5)に送ることができる。HPI HIUはその書込
み指令をHPIに送る。先行書込み指令(2)はHPI
には感知され得ないことに注意すべきである。
【0370】前の例が示すように、HPIからの要求と
実際のデータ移動との間にはかなり長い経路が存在す
る。これを補償するために、HPIインタフェースは、
好ましくは、データ・バッファリング用の1つまたは2
つのFIFOを含むように修正される。HPI読取り
(TC書込み)およびHPI書込み(TC読取り)のデ
ータ経路の双方がバッファリングされなければならな
い。各データ経路のために別個のFIFOが備えられる
か、双方向性FIFOが用いられ得る。
【0371】図13−3に示されているように、HPI
データ経路内の各FIFOは8x32ビットのサイズの
ものとされる。このサイズは、必要な帯域幅とポートに
サービスするためのTR/TC機構に関連する待ち時間
との間のバランスを表すように選択される。32ビット
幅は、32ビット幅を有するHIUインタフェースのた
めの最適化ポイントとして選択される。16ビット幅
は、制御論理の設計をより簡単にする。本節を通じ、F
IFOの動作を説明するために、2つの変数M,Nが参
照される。Nは、各FIFOのサイズすなわち8ワード
を表し、Mは、各FIFOのハーフフル状態であり、4
ワードである。
【0372】HPI制御論理は、FIFOのほかに、F
IFOの状態およびTCへの顕著な要求の状態を追跡す
るための2つのカウンタを含む。これらのカウンタおよ
びそれらの動作は、以下に定められる。
【0373】書込みデータFIFO(TCに対するHP
I/ピン)の状態は、WR FIFO ELCTにより
追跡される。読取りデータFIFO(HPI/ピンに対
するTC)の状態は、RD FIFO ELCTにより
追跡される。両カウンタは、システムリセットにおい
て、ゼロにリセットされるべきである。以下に示される
ように、RD FIFO ELCTはまた、フラッシュ
動作中にもリセットされるべきである。各カウンタは、
FIFOに各ワードが書き込まれる毎に1だけ増加させ
られ、FIFOから各ワードが読み取られる毎に1だけ
減少させられる。このようにして、カウンタは、常に、
各FIFO内のワード数を追跡する。HPIバスは16
ビット幅しかもたないので、WR FIFO ELCT
は1つおきのHPID書込みにおいて増加することに注
意すべきである。同様にして、RD FIFO ELCT
も、1つおきのHPID読取りにおいて減少する。原H
PI仕様により、全てのアクセスはHPI上の16ビッ
ト対により行われる。
【0374】エレメント・カウンタに加えて、HPI制
御論理もまた、すでに転送要求を受けたワードの数を追
跡しなければならない。これらのカウンタWR FIF
SUBMITTEDおよびRD FIFO SUBM
ITTEDは、後述されるTR発信論理とともに動作す
る。詳述すると、これらのカウンタは、以下のように動
作する。 WR FIFO SUBMITTED: ・ WR FIFOにサービス(読取り)を行うため
に発信された各TRパケットに対し、WR FIFO
SUBMITTEDはM(要求されているワードの数で
ある4)だけ増加する。 ・ WR FIFOにおいて(TC側から)行われた
各読取りにより、WR FIFO SUBMITTEDは
1だけ減少する。 ・ WR FIFO SUBMITTEDは、システ
ムリセットにより0にリセットされる。 ・ RD FIFO SUBMITTED: ・ RD FIFOにサービス(書込み)を行うため
に発信された各TRパケットに対し、RD FIFO
SUBMITTEDはM(要求されているワードの数で
ある4)だけ増加する。 ・ TCを経てFIFOに書き込まれた各ワードによ
り、RD FIFO SUBMITTEDは1だけ減少す
る。 ・ RD FIFO SUBMITTEDは、システ
ムリセットにより0にリセットされる。
【0375】発信カウンタは、システム内においてどれ
だけ多くのデータがフライト中であるかを知らせるのに
役立つ。それらは、アクセスの終了時にHPIインタフ
ェースを動作停止させるために用いられる。書込みアク
セスの場合には、アクセスの終りに1からNワードがW
FIFO内に残されてい得る。FIFOを動作停止
させるためには、TR発信論理は、FIFOから(WR
FIFO ELCT−WR FIFO SUBMIT
TED)ワードを読み取るためのTCに対する最終TR
要求を発信しなければならない。この転送が完了したと
き、WR FIFOは空になり、次の指令を処理する準
備を完了する。同様にして、HPIにより読取り指令が
完了されたときは、データはなおRD FIFO内にあ
り得、かつ、あるデータはなおHPIへの経路上にあり
得る。読取りの場合には、これらのデータは廃棄され得
るが、HPI制御論理は、フライト中のデータおよび適
正に動作停止しようとしているHIUから受理すべきデ
ータの量を知らなければならない。RD FIFO
UBMITTEDカウンタはこの情報を与える。
【0376】HPIサイクルは、バースト用の開始アド
レスをセットするためのHPIAレジスタへの書込みか
ら開始される。図13−4に示されているように、HP
IAへの書込みはまた、第2のレジスタにコピーされ、
これはTR要求を発生するために用いられる。このシャ
ドー・アドレス・レジスタは、ホストまたはコアにとっ
てアクセス可能である必要はない。HPIAに書き込ま
れかつTR発信レジスタにシャドーイングされたアドレ
スは、HPID(書込み)に書き込まれたデータ用の宛
先アドレスを表すか、HPID(読取り)から読み取ら
れるべきデータ用のソースアドレスを表す。転送の方向
は、HPIDデータアクセスが開始されるまで、HPI
またはTR発信論理により知られないことに注意すべき
である。HPIA書込みは、アドレスをHPIAレジス
タおよびTR発信シャドー・レジスタに単にコピーす
る。
【0377】アドレス機能およびTR発信機構は、最初
の見かけよりもやや複雑である。課せられる基本的な挑
戦は、データを実際に移動させるための適正なTRパラ
メータを発信しつつ行われる、HPIA内の現アドレス
の追跡である。上述のように、これは、正しい動作を提
供するための1つまたは2つの小形加算器を必要とす
る。これらの加算器に対する速度要求は著しく高いもの
ではない(30ns)。注意すべき点として、読取りお
よび書込みデータ経路は同時に動作し得ないので、単一
加算器が受け入れられ得る。必要な動作は、以下のよう
に定められる。
【0378】HPI書込み:DSTアドレス=HPIA
−WR FIFO ELCTによるTR発信。例外が、
HCNTRL〔1:0〕=11の場合に認められ、その
場合には、HPIAが直接用いられ得る。 HPI読取り:SRCアドレス=HPIA+0x10
(M、4ワード)によるTR発信。例外が、HCNTR
L〔1:0〕=11の場合と、バーストの最初の読取り
中(HCNTRL〔1:0〕=01)とに認められる。
これら2つの場合には、H PIAが直接用いられ得
る。
【0379】ホストは、HPIおよびDSPの要求を一
連のアクセスにより通知する。読取り要求は、HPIA
(HPIアドレス)レジスタへの書込みにより通知さ
れ、その書込みに続いて、HPID(HPIデータ)レ
ジスタの1つまたはそれ以上の読取りが行われる。同様
にして、書込みはHPIAレジスタへの書込みにより行
われ、その書込みに続いて、HPIDレジスタへの1つ
またはそれ以上の書込みが行われる。ホストは、通常
は、アクセスの開始アドレスをセットアップするために
HPIAへ書き込む。HPIDレジスタへの後のアクセ
スは、HPI HCNTRL〔1:0〕入力により、H
PIAにおけるアドレスが増加後のものであるかスタテ
ィックのままになっていたものであるかを選択し得る。
TC機構は、単一ワード転送よりもバースト・アクセス
を比較的により良好に行う。その結果、TR機構はバー
ストタイプのアクセスに対し同様に最適化される。HP
Iは、可能なときは必ずバースト・アクセスを行う。
【0380】以下の節においては、HPIからの書込み
バーストについて略述する。ピン(HPI)からの書込
みはTCによるHPIデータFIFOの読取りを生じ
る。書込みアクセスは、バーストの開始アドレスをセッ
トするためのHPIAレジスタへの書込みにより、ホス
トによって開始される。HPI書込みはHPIDレジス
タへのアクセスにより行われる。これは2つの形式の1
つをとり得る。HCNTRL〔1:0〕が01にセット
されれば、HPIA内のアドレスは書込みに続いて増加
される。HCNTRL〔1:0〕が11にセットされれ
ば、HPIAは変更されず、固定アドレッシング・モー
ドが選択される。後者の場合には、HPI制御論理は、
前に送出された書込みをまずフラッシュしなければなら
ない。
【0381】通常は、HCNTRL〔1:0〕は01に
セットされ、バーストタイプのアクセスが選択される。
書込みが行われるとき、データはHPI WR FIF
Oにコピーされ、それに応じて、WR FIFO EL
CTが増加させられる。単一の32ビット・ワードをW
FIFOに書き込むためには、HPIDへの2つの
16ビット・ホスト書込みが行われなければならないこ
とに注意すべきである。M(4)ワードがHPIDに書
き込まれる(WR FIFO ELCT〔1:0〕の1
1=>00遷移により知らされる)毎に、TR要求がT
Rインタフェースを介してコアに送られる。以下のパラ
メータが送られるべきである。
【0382】
【表64】
【0383】TRが発信されるとき、WR FIFO
SUBMITTEDはM(4)だけ増加させられ、M
(4)ワードを読み取るための要求が発信されたことを
知らせる。発信されたTRは、ある時間遅れて、TCに
よるHPI WR FIFOの読取りを生じる。HPI
制御論理は、この読取りを受理し、AU−HIUインタ
フェースによりデータを供給する。WR FIFOの読
取りが行われるとき、WR FIFO ELCTと同様
に、WR FIFO SUBMITTEDが減少させら
れる。このようにして、WR FIFO SUBMIT
TEDは、まだ行われていなかった(WR FIFO
の)顕著な読取り要求の数を追跡し、WR FIFO
LCTは、FIFO内のワードの総数を追跡する。
【0384】書込みサイクルが、タイムアウト,HPI
Cアクセス,(アドレスの不連続を意味する)HPIA
書込みアクセスまたはバス方向の変更により終了したと
きは、FIFOは空にされなければならない。これを行
うためには、まだ要求を受けていないFIFO内のワー
ドの数を求める最後のTR要求がコアに送られなければ
ならない。数学的には、これはWR FIFO ELC
T−WR FIFO SUBMITTEDに等しい。これ
は、表13−2にリストされているパラメータの残りを
用い、そのサイクルにおける最終のTR要求のワード・
カウントとして送られる。書込みFIFOがフラッシュ
されるまで、HPIDまたはHPICまたはHPIA書
込みへの将来のアクセスは、HPIにより受理されな
い。HPIはそのようなアクセスを/HRDYを用いて
抑制する。
【0385】HCNTRL〔1:0〕=11であるHP
IDへの書込みにおいて、特別の場合が存在する。この
モードは、DSPメモリに単一ワードが書き込まれるべ
きことを指定する。この場合には、HPIAは変更され
ない。合理的方法によりこのモードをサポートするため
に、HPI制御論理は、HPIA内の指定されたアドレ
スにある単一ワード(EC=1,ELSZ=00,32
ビット)にTRパケットを発信する。前述のTRアドレ
ス発生機構を用いると、これは、HPI状態マシンに対
する極めて小さい変更しか要求しない。
【0386】
【表65】
【0387】HPI読取りは、HPI制御装置の内部に
おいて、HPI書込みとは実際にかなり異なる。基本的
な相違は、高スループットHPI読取りをサポートする
ために、HPI制御装置がDSPメモリシステムの読取
りを、ホストが実際にそれらを要求する前に、推定的に
行わなければならないことである。HPI読取りアクセ
スは、バーストの開始アドレスをセットアップするため
に、HPIへの書込みにより通常開始される。HPIA
へ書き込まれた値は、書込みにおけると全く同様に、T
R要求を形成するために用いられるシャドー・レジスタ
にコピーされる(これは、読取りアクセスと書込みアク
セスとがいっしょにパイプラインされ得ないもう1つの
理由である)。読取りは、書込みと同様に、2つのモー
ドの1つにより行われる。HCNTRL〔1:0〕が0
1にセットされれば、HPIAは読取りの終了時に増加
させられる。HCNTRL〔1:0〕が11にセットさ
れれば、HPIAは変更されず、固定アドレッシング・
モードが用いられる。01の場合のほうが、より一般的
なアクセスのバーストタイプであり、まず考慮される。
【0388】HPI読取りは、HPIDレジスタの読取
りアクセスにより知らされる。HPIDの最初の読取り
は、RD FIFOが空なので、HPI制御装置を強制
して/HRDYを表明することによりホストを機能停止
させる。これと並行して、TR発信論理は、RD FI
FOの充填を開始するために、以下のパラメータにより
TR要求を送出する。
【0389】
【表66】
【0390】最初のTRパケットは、最終的には、N
(8)データ・ワードのRD FIFOへの書込みを生
じる。RD FIFOへ各ワードが書き込まれる毎に、
RD FIFO ELCTは1だけ増加させられる。FI
FOが少なくとも1つのワードを内部に有するようにな
ったときは、/HRDY論理は、/HRDYを表明し、
第1のホストの読取りが進行し得るようにする。RD
FIFOから各ワードが読み取られる毎に、RD FI
FO ELCTは1だけ減少させられる(これは、ホス
トによる2つの16ビット読取りを必要とすることに注
意すべきである)。ホストが、データをRD FIFO
から読み取ったとき、新しいデータがTRにより要求さ
れなければならない。この要求の条件は、RD FIF
ELCT〔1:0〕の00から11への遷移により
表され、以下のパラメータによるTRパケットの発信を
行わせるべきである。
【0391】
【表67】
【0392】読取りデータ用の後のTR要求は一時にM
(4)ワードのみに対して行われることに注意すべきで
ある。最初の読取り要求のみがFIFOの全N(8)ワ
ードに対して行われる。このようにして、FIFOが空
でない状態に保たれるので、バースト読取りアクセスが
継続し得る。
【0393】読取り指令が、タイムアウト,HPICア
クセス,(アドレスの不連続を意味する)HPIA書込
みアクセスまたはバス方向の変更により終了したとき
は、FIFOは空にされなければならない。このプロセ
スは、FIFO読取りおよび書込みポインタとRD
IFO ELCTとを単に0にリセットすることにより
極めて容易に行われ得る。しかし、これに追加して、な
おフライト中の読取りデータはTC側のHPIポートに
より受理されなければならず、さもなければ、HIUバ
ッファ・ポインタが劣化する。したがって、以下のパイ
プダウン・プロシージャが読取りサイクルの終了時に提
案される。RD FIFO SUBMITTEDカウン
タが、まずモニタされ、0まで減少させられる。これ
は、送られた最後のTRパケットにおいて、最終書込み
がポートにより受理され終わったときに行われる。読取
りに対してTRパケットが発生させられる方法により、
それは、このランディング・データ(無用ではあるが)
のためにRD FIFO内にメモリ空間が存在する設計
によって保証される。RD FIFO SUBMITT
EDがゼロになると、RD FIFO読取りおよび書込
みポインタとRD FIFO ELCTカウンタとが0
にリセットされ得る。これは、FIFOが次の読取りサ
イクルのためにセットアップされることを保証する。こ
の動作停止サイクルのシーケンス中においては、HPI
Dへの将来のアクセスやHPICまたはHPIA書込み
は、HPIにより受理されない。そのようなアクセスの
試みは、/HRDYの表明により抑制される。
【0394】HCNTRL〔1:0〕=11でのHPI
読取りは、HPIA内のアドレスを用い、固定アドレッ
シングモードを選択する。このモードを用いHPIDの
読取りが行われるときは、HPI制御論理は、以下に示
されるように単一ワードTRを単に発信すべきである。
【0395】
【表68】
【0396】HPIモジュールは、HPIC内のビット
に単に書き込むことにより、HPIAによって指定され
るアドレスにおいて単一ワード読取りが行われ得る特別
の転送モードをサポートする。HPIC内のFETCH
と呼ばれるこのビットは、HPICのビット4,20に
マッピングされる。1にセットされたときは、HPIA
内のアドレスに関し単一ワード読取りが行われる。この
タイプの動作をサポートするためには、HPIモジュー
ルは単に、それがHCNTRL〔1:0〕=11である
単一ワード読取りを行う場合と同様に、処理を行い得
る。2つの場合に対するTRパラメータおよびFIFO
フラッシング・ルーチンは同じである。
【0397】HPI制御装置は、読取りおよび書込みサ
イクルの終了をモニタするためのウォッチドッグ・タイ
マを含む。これが必要な理由は、スループットを増加さ
せるためにFIFOを含めることにより、単一ワードア
クセスがある程度非効率的になるからである。これは、
サイクルの完了が容易に検出され得るように、HPIイ
ンタフェースへ/BLAST(バースト終端)信号を供
給することにより変化させられ得る。ウォッチドッグ・
タイマもまた、HPIのRD FIFOをフラッシュす
るのに役立つが、この機構はあまり利用されていない。
【0398】ウォッチドッグ・タイマの機能は以下の通
りである。HPIは6ビットのウォッチドッグ・タイマ
を含む。このタイマは、HPIDにアクセスするどのサ
イクルにおいても0にリセットされる。読取りまたは書
込み指令が進行中であれば、カウンタは、HPIDへの
アクセスが検出されない各サイクルにおいて、1だけ増
加させられる。カウンタが63に到達すれば、サイクル
は完了し、かつ、読取りおよび書込みFIFOはフラッ
シュされたものと仮定される。カウンタも、この条件に
よりリセットされる。
【0399】読取りまたは書込みの終了の検出は、HP
Iの動作にとって決定的に重要である。この条件は、読
取りおよび/または書込みFIFOをクリアし、それら
を次の指令に備えさせるように、HPI制御論理に知ら
せる。いかなるデータの損失もなく確実かつ適正にこれ
を行うためには、指令の終了が適正に検出されなければ
ならない。必要な動作を以下に略述する。読取り/書込
みサイクルは、以下の場合に終了する。 ・ HPIAへの書込みアクセスが検出された場合。 ・ HPICのアクセス(読取りまたは書込み)が検出
された場合。 ・ HPIDへのアクセスが方向を変えた(書込みが読
取りに変化または読取りが書込みに変化した)場合。 ・ HPIDへのアクセスがHCNTRL〔1:0〕=
11とともに検出された場合。 ・ タイムアウトが検出された場合。 サイクルの終りが検出されたとき、HPI制御論理はR
FIFOおよび/またはWR FIFOをクリアす
る。これが完了したとき、HPIはホストから新しい指
令を受理し得る。
【0400】理想的には、HPIインタフェースは、読
取りおよび書込み指令のパイプライン処理をサポートし
得る。例えば、書込みサイクルが終了したとき、新しい
書込みサイクルは直ちに開始され得る。これは、改善さ
れたスループットを与え得るが、論理設計の複雑性を伴
う。さらに、読取りサイクルに対しては、同じ機能性を
与える方法が殆どない。そのわけは、フライトに際し読
取りデータがまずFIFOからフラッシュされ、新しい
読取りデータが推定によりフェッチされなければならな
いからである。これらの理由のために、HPIインタフ
ェースは、いかなる種類の読取りおよび書込みサイクル
のパイプライン処理をも行うべきではない。サイクルの
終りが検出されたとき、HPI制御論理は、新しいサイ
クルが開始される前に、前述のように、読取りおよび書
込みデータ経路を完全にフラッシュする。
【0401】HPI制御論理は、/HRDY(ホストレ
ディ)インディケータを用い、ホストを適切に抑制して
適正な動作を保証する。/HRDYは、以下の場合にア
クティブ(ロウ)であることを表明される。 /HRDYが表明される場合: ・ WR FIFOがいっぱいであるときにHPIDへ
の書込みが試みられる場合。 ・ RD FIFOが空であるときにHPIDの読取り
が試みられる場合。 ・ FIFOのフラッシュ動作中にHPIAへの書込み
アクセスが試みられる場合(WR FIFOフラッシュ
動作の最終TR要求を発生するために、HPIA内に記
憶されているアドレスがなお必要とされ得るので、これ
は保護機構として含まれる)。 ・ FIFOのフラッシュ動作中にHPICへのなんら
かのアクセスが試みられる場合。
【0402】/HRDY発生論理は指令終了論理との密
接な関連のもとに動作しなければならないことに注意す
べきである。特に重要なのは、HPIDアクセスがHC
NTRL〔1:0〕=11とともに検出される場合であ
る。書込みの場合には、前の書込みが行われている間に
ホストを機能停止させるために、/HRDYが(WR
IFOからDSPへ)表明されなければならない。読取
りの場合には、RD FIFOがフラッシュされ、新しい
読取りが新しいTR要求により要求されなければならな
い。さらに、データが前に行われた読取りからなおフラ
イト中であれば(RD FIFO SUBMITTED
!=0)、このデータはランディングさせられ、新しい
要求が行われ得る前に廃棄されなければならないことに
注意すべきである。ホストは、新しい読取りデータが帰
ってくるまで機能停止しなければならない。HCNTR
L〔1:0〕=11でのアクセスは、一般的な単一ワー
ドアクセスであり、したがって、非効率的であるという
贅沢さを有する。
【0403】転送要求はTRバスを介してコアに通知さ
れる。メガモジュール境界には、コアの外部の周辺装置
がTRパケットを発信し得るように、16ビットのバス
が備えられる。メガモジュールの内部においては、この
バスは他のTRリクエスタと互いに連結され、これらの
リクエスタはL2制御装置およびXDMA機構を含む。
【0404】周辺装置は単一クロック領域内に保たれる
ことが所望されるので、TR発信機構はメガモジュール
境界において同期させられる。2つの同期装置が必要と
され、その1つは、HPIが駆動してアクティブにする
ことにより、TRへの要求と、コアから駆動され返送さ
れてTR要求の受理を知らせるアクノリッジとを知らせ
る。メガモジュールは、136ビットの境界バスを68
ビットのマルチサイクルTRバスに変換するためのフォ
ーマッティング論理を含む(機能上これは、小形状態マ
シンおよび68ビットMUXを必要とする)。HPIが
インタフェースしなければならない境界TRバスは、以
下の信号を含む。
【0405】
【表69】
【0406】要求(PER TR REQ)およびアク
ノリッジ(TR PER ACK)信号は、HPI H
IU内の同期装置を通って送られる。HPIが単一クロ
ック(HPI HIU CLOCK)より動作するよう
に、これらの信号のそれぞれは、適切なクロック領域に
同期させられる。同期装置は一般に1つのクロック領域
から他のクロック領域にエッジを送るように設計される
ので、TRバスに要求を発信するためのプロトコルはエ
ッジに基づくものである。HPIは、適切な転送情報に
よりPER TR WORD0およびPER TR
ORD1バスをセットアップした後、PER TR
EQをスイッチする。このエッジは、前述の同期装置を
介してコアに送られ、これはパケットをTRノード上に
フォーマットすることを含む。TRがコアにより成功裏
に発信され終わると、TR PER ACKは(HPI
HIU CLOCKに同期して)スイッチし、それが
PER TR WORD0|1バス上の値を変更し、別
のTRパケットのためのセットアップを行うようにHP
Iに知らせる。これは、前述したCFG BUSの動作
と同じである。図13−5には、TR発信およびアクノ
リッジ・サイクルの例が示されている。
【0407】図13−5においては、2つのTR要求が
行われている。TR WORDが正しくセットアップさ
れると、HPIはPER TR REQ(au to
mega xdma int sync1)をスイッチ
する。ある時間だけ遅く、TR PER ACK(me
ga to au tr ack sync)がスイッ
チされ、要求が発信され終わったことをHPIに知らせ
る。これはまた、それが別の要求を発信し得ることをH
PIに知らせる。PER TR REQは、要求が同期
装置を通らなければならないために、所望ならば、TR
WORDと同期してスイッチされ得ることに注意すべ
きである。しかし、HPIは同期装置によるタイミング
が保証され得ないので、PER TR REQがスイッ
チした後にTR WORDをスイッチしてはならない。
TR WORDは、TR PER ACK信号がスイッチ
するまで維持されなければならない。HPIモジュール
は、TRパケットを発信するほかに、2つのインタフェ
ースを介してメガモジュールによりアクセス可能でなけ
ればならない。以下の節では、これら2つのインタフェ
ースについて略述する。
【0408】
【表70】
【0409】CFG BUSは、HPIの制御レジスタ
へのアクセスをCPUコアに提供する。それはデータ転
送を意図してはおらず、HPI−HIUインタフェース
がデータ転送を処理する。CFG BUSおよびHPI
−HIUインタフェースは無関係にかつ同時に動作す
る。CFG BUSの読取りおよび書込みはCFG
US MOD SEL信号の遷移により開始される。ハ
ードウェアのリセット時に、このMOD SEL信号は
0に初期化される。後のハイまたはロウへの遷移は、転
送が要求されていることを表示する。
【0410】図13−6および図13−7は、CFG
BUS MOD SEがそれぞれ負および正の場合のC
FG BUS読取りを示す。要求モジュール(HIU)
における同期遅延により、CFG BUS MOD SE
L信号の遷移前のあるクロック数の間CFG BUS
ADDおよびCFG BUS RNW信号は安定してい
る。CFG BUS MOD ACKは、CFG BU
READ DATAが有効になるサイクルにおいて
遷移すべきである。HPIの設計目標は、MOD SE
Lの遷移に続く2サイクル以内にACKを遷移させるこ
とである。
【0411】図13−8および図13−7は、CFG
BUS MOD selがそれぞれ負および正の場合の
CFG BUS書込みを示す。要求モジュール(HI
U)における同期遅延により、CFG BUS MOD
SEL信号の遷移前のあるクロック数の間CFG BU
WR DATA,CFG BUS ADDおよびC
FG BUS RNW信号は安定している。CFG
US MOD ACKは、CFG BUS WR DA
TAがHPI内に登録されるサイクルにおいて遷移すべ
きである。HPIの設計目標は、MOD SELの遷移に
続く2サイクル以内にACKを遷移させることである。
【0412】CFG BUSは、モジュールの選択およ
びアクノリッジがレベル依存形でなく遷移依存形である
点を除外すれば、PBUSに極めて類似していることに
注意すべきである。これは、HIU内の同期論理の負担
を軽減するために行われたものである。PBUSインタ
フェースが所望されるならば、HPIモジュールは、C
FG BUSをPBUSに変換するブロックを含み得
る。
【0413】HPI用のHIUは、CFG BUS
OD SEL〔2〕をデコードして、CFG BUS
MOD ACK〔2〕を適切に駆動し、これは、0x0
188XXXXの範囲内のアドレスをデコードしてHP
Iモジュールに供給する。HPI内の唯一のCPUアク
セス可能レジスタはHPICであり、これは0x018
80000のアドレスでアクセス可能である。この空間
内の全ての他のアドレスは定められておらず、HPIモ
ジュールによる部分的デコードが許容されている。
【0414】HPIモジュールは、CFG BUSイン
タフェースのほかに、HIUにもインタフェースしなけ
ればならず、これはHPIへのまたHPIからの大容量
のデータ移動を行う。HPI制御レジスタすなわちHP
ICは、HIUインタフェースを介してアクセスするこ
とはできないことに注意すべきである。HIUインタフ
ェースを介しての読取りおよび書込みアクセスは、HP
I読取りFIFOを充填し、また、HPI書込みFIF
Oを空にする目的のためのみのものである。
【0415】HPI HIUは、内部的に(メガモジュ
ールに対し)適切なHPIアドレスをデコードする。こ
のアドレスの範囲(0x60000000〜0x6FF
FFFFF)はユーザからは見えないことに注意すべき
である。このアドレス範囲は、TCが読取りおよび書込
み指令を送るべきポートを決定し得るためにのみ必要と
されるものである。デコードされたアクセスは、HIU
インタフェースを介してHPIに示される。完全なアド
レスがHPIに供給されるが、それは無視され得る。読
取りアクセスは、常に、HPI書込みFIFOをアクセ
スし、一方、書込みは、常に、HPI読取りFIFOを
アクセスする。
【0416】HIUインタフェースは、CFG BUS
インタフェースと全く同様に、CLKOUT2に同期し
て動作する。HIUインタフェースの完全な説明につい
ては、図4−5に関する前述の議論を参照されたい。
【0417】2つのMCSPユニットが、DSP内のメ
ガモジュールの外側に例示されている。これらは、装置
のための直列インタフェースを与え、さまざまな一般的
なアナログ・インタフェース回路(AIC),コーダお
よび恐らくは直列インタフェースを有する別のDSPま
たはマイクロコントローラのような他のインテリジェン
ト直列装置に対してインタフェース動作を行う。コアに
対するMCSPインタフェースは、HIUおよびCFG
BUS機構に対するインタフェースへの変更を必要と
する。MCSPの目的は、MCSP毎に50Mb/sの
帯域幅を維持することである。
【0418】MCSPモジュールは2つのメガモジュー
ル境界インタフェースに接続されなければならない。読
取りおよび書込みデータはTCのAU−HIUインタフ
ェースの1つを介して送られ、それへはMCSPデータ
経路(DMAインタフェース)が接続されなければなら
ない。MCSPはまた、周辺制御用のCFG BUS
(RHEAバスインタフェース)にも接続されなければ
ならない。追加のコンパティビリティ要求として、MC
SPのデータ側(受信および送信データレジスタ)もま
た、CFG BUSを介してアクセス可能でなければな
らない。
【0419】2つのMCSPインタフェース用のアドレ
ス・デコーディングは、MCSPコアの外部で処理され
る。MCSPは、同時アクセスの場合に、HIUインタ
フェースとCFG BUSインタフェースとの両者の間
のデータチャネルにおける要求を多重化するためのアー
ビトレーション論理を含む。CFG BUSの方が高い
優先順位を有する。ここでは、CFG BUSアクセス
は、XDMAよりもむしろCPUにより最も頻繁に開始
されると考えられる。さらに、2つのMCSPは単一の
HIUモジュールに対しインタフェースされなければな
らないことにも注意すべきである。しかし、別個のCF
BUS空間(モジュール選択)が制御チャネルのた
めに備えられる。以下のアドレスおよびCFG BUS
空間は、各MCSP用に定められたものである。
【0420】
【表71】
【0421】MCSPデータ・チャネルに対するHIU
AUインタフェースについては、詳細に前述した。C
FG BUSについても、また前述した。MCSP C
FG BUSインタフェースは、メガモジュール内のM
CSPHIUにより与えられる。このHIUは、MCS
HIU CLOCKによって制御される外部クロッ
ク領域に対するCFG BUSの同期を処理する。MC
SPモジュールの場合、両モジュールは、(バックエン
ドにおいて)同じ速度で動作させられ得る。CLOCK
OUT2は、これらのインタフェース用の基準クロック
として用いられるように意図されている。CLOCKO
UT2は、MCSP用のMCSP HIU CLOCK
として、メガモジュール内に結合し返される。このクロ
ックはまた、同期のためにMCSPへも供給される。C
FG BUSおよびAH HIUインタフェースの双方
は、MCSP HIU CLOCKのクロック領域内で
動作する。
【0422】CFG BUSインタフェースは、MCS
P RHEAバス・インタフェースを置換し、MCSP
モジュールの制御レジスタ・アクセスおよび一般構成の
ために用いられるように意図されている。データ・チャ
ネル(受信および送信データ・レジスタ)は、通常、デ
ータ・チャネル(以前はDMAインタフェース、今はA
HIUインタフェース)および制御インタフェース
(以前はRHEA、今はCFG BUS)の双方へアク
セス可能でなければならない。直列ポートデータ移動の
好ましい方法は、AU HIUポートを介してのもので
ある。しかし、CFG BUSポートは、データ・レジ
スタへもアクセスを有する。各直列ポート用の制御レジ
スタは、AU HIUインタフェースを介してアクセス
し得ない方がよい。
【0423】これをサポートするためには、MCSP
が、CFG BUSおよびAU HIUインタフェース
の双方による同時アクセスの場合を処理するためのある
アービトレーション論理を含む必要がある。競合の場合
には、CFG BUSが優先権を与えられる。注意すべ
きこととして、アドレスの比較の必要はなく、MCSP
は、MCSPへのCFG BUSアクセスに対し、AU
−HIUインタフェースを機能停止させ得る。CFG
BUSアクセスはかなり稀で大部分が最初の構成サイク
ル中にのみ生じるので、これはパフォーマンスに強い影
響を与えるとは思われない。以下の節では、MCSPブ
ロック用のCFG BUSおよびHIUインタフェース
について略述する。
【0424】
【表72】
【0425】CFG BUSは、直列ポートの制御レジ
スタへのアクセスをCPUコアに提供し、また、データ
転送のためにも用いられ得る。しかし、データ転送のた
めには、データ・チャネル(AU−HIUインタフェー
ス)が用いられる方がよい。CFG BUSおよびMS
CP−HIUインタフェースは無関係にかつ同時に動作
する。
【0426】CFG BUSの読取りおよび書込みはC
FG BUS MOD SEL信号の遷移により開始さ
れる。ハードウェアのリセット時に、このMOD SE
L信号は0に初期化される。後のハイまたはロウへの遷
移は、転送が要求されていることを表示する。これらの
遷移は、図13−6から図13−9までに関連して前述
したものと同様である。
【0427】各直列ポートは、それ自身のMOD SE
LおよびMOD ACK信号を有する。選択およびアク
ノリッジはメガモジュール内においてアドレス・デコー
ドを受けるので、直列ポートはそれら自身のレジスタ空
間デコーディングの責任を持ちさえすればよい。全直列
ポート・レジスタ空間(データおよび制御レジスタ)は
CFG BUSインタフェースを介してアクセス可能で
なければならない。
【0428】MCSPモジュールは、CFG BUSイ
ンタフェースのほかに、HIUへもインタフェースしな
ければならず、これは直列ポートへのまた直列ポートか
らの大容量のデータ移動を行う。MCSP制御レジスタ
はHIUインタフェースを介してアクセスすることはで
きないことに注意すべきである。HIUインタフェース
を介しての読取りおよび書込みアクセスは、ポートの直
列データ・ストリームにサービスする目的のためのみの
ものである。
【0429】MCSP HIUは、内部的に(メガモジ
ュールに対し)適切なMCSPアドレスをデコードす
る。デコードされたアクセスは、HIUインタフェース
を介してMCSPに示される。完全なアドレスがMCS
Pに供給されるが、LSビットは無視され得る。読取り
アクセスは、常に、適切なMCSP RDR(読取りデ
ータ・レジスタ)をアクセスし、一方、書込みは、常
に、適切なWDR(書込みデータ・レジスタ)をアクセ
スする。しかし、MCSPは、相互間においてHIUか
らアクセスを分離する責任を有する。すなわち、MCS
P0は0x30000000にあり、MCSP1は0x
34000000にあるので、供給されたHIU MC
SP ADDRバスのビット26は、MCSPへのアク
セスを識別するためにデコードされなければならない。
TCはこれら2つの空間間の交差を本来サポートしない
ので、指令が有効(下記参照)になり、直列ポートが選
択されたとき、それはその指令が完了するまで選択状態
に留まる。
【0430】HIUインタフェースは、CFG BUS
インタフェースと全く同様に、CLKOUT2に同期し
て動作する。これは、できるだけ多くのクロック領域を
なくすために、設計により行われた。HIUインタフェ
ースの完全な説明については、図4−5に関する前述の
議論を参照されたい。
【0431】データ・インタフェースに加え、MCSP
モジュールはそれぞれ、イベント発生、特にCPUに対
するXDMAおよび割込みの目的のために、4つの信号
をメガモジュールに供給する。以下の信号が供給され
る。
【0432】
【表73】
【0433】各直列ポートは4つのみのイベントをメガ
モジュールに提供することに注意すべきである。早期の
直列ポート・モジュールは、A−BIS直列規格(欧州
規格)をサポートするために、直列ポート毎に2つの追
加のイベントを含んでいた。これら追加のイベントは、
ブロック転送中の係数の再ロードのために用いられる。
このタイプの動作は、追加のイベント信号なしに、XD
MA制御装置を用いて行われる。したがって、以上にリ
ストされたイベントのみがメガモジュールに提供され
る。直列ポート・モジュールからの追加のイベント信号
は接続されないままにされ得る。
【0434】2つのタイマがメガモジュールの外側に例
示されている。これらは、DSPアプリケーションにお
いて典型的なリアルタイム割込みおよび周期的ウォッチ
ドッグ・カウントのようなシステム・タイミング機能の
ためのものである。
【0435】タイマポートへのまたタイマポートからの
帯域幅は例外的に小さい。これらのタイマは、最も頻繁
に、リアルタイム・カウンティングに対する周期的割込
みのために構成され、または、恐らくはXDMAイベン
ト用のソースとしてのみ用いられる。これらのタイマは
有用なデータの送信および受信はしないので、タイマへ
のアクセスは構成および制御サイクルのみへ制限され
る。したがって、メガモジュールからコアへのインタフ
ェースは、他の周辺装置と同様に、HIU設計を必要と
しない。むしろ、タイマ・モジュールはシステムCFG
BUSを介してインタフェースされる。EMIFおよ
びHPIのような他の周辺装置は、それらそれぞれのH
IUにより与えられるCFG BUSインタフェースを
含むことを想起すべきである。タイマ・モジュールは、
メガモジュール境界に同じインタフェースを含むが、H
IUは含まれない。タイマ・モジュール用のメガモジュ
ール・インタフェースは、追加のCFG BUS装置が
メガモジュールの外側に実現され得るように、適切なモ
ジュール選択およびアクノリッジ信号と使用されていな
い選択およびアクノリッジ信号のいずれかとを含む。
【0436】タイマ・モジュールはメガモジュールCF
BUS境界インタフェースに接続されなければなら
ない。アーキテクチャ的には、このインタフェースは、
CFG BUSからの読取りおよび書込みデータ経路が
メガモジュール内へ帰らないので、バス上の最後のCF
BUSノードとなる。図14−1は、これを示すC
FG BUSのブロック図である。タイマはCFG
USを介してCPUまたはTCによりアクセスされる。
以下のアドレス範囲が定められる。
【0437】
【表74】
【0438】CFG BUSインタフェースについて
は、前述した。タイマCFG BUSインタフェースは
メガモジュールによって与えられる。タイマはバックエ
ンドに供給されるクロック入力に同期するので、これら
のインタフェースには特に同期の必要はない。メガモジ
ュールは、タイマ・インタフェース用のCLKOUT2
で動作するCFG BUSインタフェースを与える。C
FG BUS信号は、メガモジュール境界にあるこの最
後のノードのために登録される。同期論理もまた含まれ
得る。図14−2および図14−3は、タイマ用のCF
BUS読取りおよび書込みサイクルをそれぞれ示
す。
【0439】データ・インタフェースに加え、タイマ・
モジュールはそれぞれ、イベント発生、特にCPUに対
するXDMAおよび割込みの目的のために、信号をメガ
モジュールに供給する。以下の信号が供給される。
【0440】
【表75】
【0441】本発明およびその利点を詳細に説明してき
たが、さまざまな変更,置換および改変が、添付の特許
請求の範囲により定められる本発明の精神および範囲か
ら逸脱することなく行われ得ることを理解すべきであ
る。
【0442】(関連出願に対するクロスリファレンス)
本願は、権利者を共通とする出願である、S.N.09
/008,909(TI−22106),S.N.09
/012676(TI−22109),S.N.09/
012,380(TI−23604),S.N.09/
012,381(TI−24333),S.N.09/
012,324(TI−24334),S.N.09/
012,693(TI−24335),S.N.09/
012,325(TI−24942),S.N.09/
012,332(TI−24956),S.N.09/
012,327(TI−25248),S.N.09/
012,329(TI−25309),およびS.N.
09/012,326(TI−25310)に関連し、
これらは全て本願と同時に出願されており、ここで参照
されてその開示が本願に取り込まれている。
【図面の簡単な説明】
【図1−1】メモリマップを示す図である。
【図1−2】データ・キャッシュ/CPUパイプライン
を示す図である。
【図1−3】L2キャッシュ/SRAM構成を示す図で
ある。
【図1−4】L2のブロック図である。
【図1−5】コヒーレンシの例(パート1/3)を示す
図である。
【図1−6】コヒーレンシの例(パート2/3)を示す
図である。
【図1−7】コヒーレンシの例(パート3/3)を示す
図である。
【図1−8】L2制御レジスタを示す図である。
【図1−9】メモリ・アトリビュート・レジスタ(MA
R)を示す図である。
【図2−1】CFG BUS読取りサイクルを示す図で
ある。
【図2−2】CFG BUS書込みサイクルを示す図で
ある。
【図2−3】CFG BUSフローを示す図である。
【図2−4】CFG BUS HIUアーキテクチャを
示す図である。
【図2−5】AUクロック領域におけるCFG BUS
読取りを示す図である。
【図2−6】AUクロック領域におけるCFG BUS
書込みを示す図である。
【図3−1】TRバスを示す図である。
【図3−2】TRパケットを示す図である。
【図3−3】TRノード・タイミング(ローカル・イン
タフェース)を示す図である。
【図3−4】キュー・アクノリッジ(QACK)・バス
・タイミングを示す図である。
【図3−5】割当てカウンタの動作(機能上)を示す図
である。
【図3−6】キュー完了(QCOMP)バスのタイミン
グを示す図である。
【図4−1】キュー・マネジャーを示す図である。
【図4−2】TCパイプラインを示す図である。
【図4−3】インデックス形およびパッチ調整アドレッ
シングを示す図である。
【図4−4】HIUアーキテクチャを示す図である。
【図4−5】AU−HIUインタフェースを示す図であ
る。
【図4−6】AU指令受理サイクルを示す図である。
【図4−7】AU書込みデータ・アクノリッジを示す図
である。
【図4−8】AU読取りデータの有効/エラーを示す図
である。
【図5−1】XDMA制御装置を示す図である。
【図5−2】XDMAレジスタ(機能図)を示す図であ
る。
【図5−3】XDMA制御レジスタを示す図である。
【図5−4】XDMAパラメータ記憶装置を示す図であ
る。
【図5−5】XDMAパラメータRAMおよびオプショ
ン・フィールドを示す図である。
【図5−6】割当てカウンタの動作(機能上)を示す図
である。
【図5−7】TRエレメント・インデックスの発生を示
す図である。
【図5−8】TRレポート・ワードの発生を示す図であ
る。
【図6】XDMA INT境界条件を示す図である。
【図7−1】割込みMUX制御レジスタを示す図であ
る。
【図7−2】EXINTPレジスタを示す図である。。
【図8−1】PLLのブロック図である。
【図8−2】C6211フロップ構造を示す図である。
【図9】TMS320C6211クロック領域を示す図
である。
【図10】CSRパワーダウン・フィールドを示す図で
ある。
【図11】パワーダウン・ブロック(機能上)を示す図
である。
【図12−1】EMIFのブロック図である。
【図12−2】EMIFグローバル制御レジスタの図で
ある。
【図12−3】EMIF CE(0/1/2/3)空間
制御レジスタの図である。
【図12−4】EMIF SDRAM制御レジスタの図
である。
【図12−5】EMIF SDRAMリフレッシュ周期
の図である。
【図12−6】EMIF SDRAM拡張レジスタの図
である。
【図12−7】負CFG BUS MOD SELによ
るCFG BUS読取りを示す図である。
【図12−8】正CFG BUS MOD SELによ
るCFG BUS読取りを示す図である。
【図12−9】負CFG BUS MOD SELによ
るCFG BUS書込みを示す図である。
【図12−10】正CFG BUS MOD SELに
よるCFG BUS書込みを示す図である。
【図12−11】EMIF−HIUトランザクションの
例を示す図である。
【図12−12】連続的EMIF−HIU書込みトラン
ザクションを示す図である。
【図12−13】EMIFデータバス上における装置配
置を示す図である。
【図12−14】読取りデータ経路を示す図である。
【図12−15】減少形読取りを示す図である。
【図12−16】書込みデータ経路を示す図である。
【図12−17】減少形書込みを示す図である。
【図12−18】cas待ち時間2,バースト長1によ
るマルチバンク読取りアクセスを示す図である。
【図12−19】cas待ち時間2,バースト長2によ
るマルチバンク読取りアクセスを示す図である。
【図12−20】cas待ち時間2,バースト長4によ
るマルチバンク読取りアクセスを示す図である。
【図12−21】cas待ち時間2,バースト長4によ
る2連続読取りを示す図である。
【図12−22】SDRAM読取りの開始を示す図であ
る。
【図12−23】SDRAM読取りの終了を示す図であ
る。
【図12−24】SDRAM書込みの開始を示す図であ
る。
【図12−25】SDRAM書込みの終了を示す図であ
る。
【図12−26】連続読取り中のギャップレス・アクセ
スを示す図である。
【図12−27】EMIF−SBSRAMインタフェー
スを示す図である。
【図12−28】6ワードSBSRAMの読取り,EA
〔3:2〕=00を示す図である。
【図12−29】6ワードSBSRAMの読取り,EA
〔3:2〕=01を示す図である。
【図12−30】6ワードSBSRAMの読取り,EA
〔3:2〕=10を示す図である。
【図12−31】6ワードSBSRAMの読取り,EA
〔3:2〕=11を示す図である。
【図12−32】SBSRAM読取り用の減少モードを
示す図である。
【図12−33】6ワードSBSRAMの書込み,EA
〔3:2〕=00を示す図である。
【図12−34】6ワードSBSRAMの書込み,EA
〔3:2〕=01を示す図である。
【図12−35】6ワードSBSRAMの書込み、EA
〔3:2〕=10を示す図である。
【図12−36】6ワードSBSRAMの書込み,EA
〔3:2〕=11を示す図である。
【図12−37】SBSRAM書込み用の減少モードを
示す図である。
【図12−38】2サイクル非同期インタフェースによ
るARDYの使用を示す図である。
【図12−39】高レベルC6211クロック図であ
る。
【図12−40】C6211ECLKINの図である。
【図12−41】外部装置からEMIFへの読取りを示
す図である。
【図12−42】EMIFから外部装置への書込みを示
す図である。
【図13−1】HPI書込みシーケンスを示す図であ
る。
【図13−2】HPI読取りシーケンスを示す図であ
る。
【図13−3】HPIデータ経路を示す図である。
【図13−4】HPI TRアドレス発生を示す図であ
る。
【図13−5】HPI TR要求インタフェースを示す
図である。
【図13−6】負のCFG BUS MOD SELに
よるCFG BUS読取りを示す図である。
【図13−7】正のCFG BUS MOD SELに
よるCFG BUS読取りを示す図である。
【図13−8】負のCFG BUS MOD SELに
よるCFG BUS書込みを示す図である。
【図13−9】正のCFG BUS MOD SELに
よるCFG BUS書込みを示す図である。。
【図14−1】CFG BUSフローを示す図である。
【図14−2】タイマCFG BUS読取りサイクルを
示す図である。
【図14−3】タイマCFG BUS書込みサイクルを
示す図である。
【符号の説明】
L1D 第1のレベルの命令キャッシュメモリ L1I 第1のレベルのデータ・キャッシュメモリ L2 第2のレベルの統合形データ/命令メモリバンク

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 並列データ演算を行い得る機能ユニット
    の第1のセットと、 並列データ演算を行い得る機能ユニットの第2のセット
    と、 前記第1および第2の機能ユニットを接続するデータ相
    互接続経路と、 前記第1および第2の機能ユニットと相互接続された複
    数のキャッシュレベルと、 を含む、マイクロプロセッサ。
JP11287162A 1998-09-01 1999-09-01 キャッシュメモリを有するマイクロプロセッサ Pending JP2000200218A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US9879398P 1998-09-01 1998-09-01
US098793 1998-09-01

Publications (1)

Publication Number Publication Date
JP2000200218A true JP2000200218A (ja) 2000-07-18

Family

ID=22270927

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11287162A Pending JP2000200218A (ja) 1998-09-01 1999-09-01 キャッシュメモリを有するマイクロプロセッサ

Country Status (2)

Country Link
EP (1) EP0987625A3 (ja)
JP (1) JP2000200218A (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6694385B1 (en) * 1999-09-10 2004-02-17 Texas Instruments Incorporated Configuration bus reconfigurable/reprogrammable interface for expanded direct memory access processor
US6985982B2 (en) * 2000-10-27 2006-01-10 Texas Instruments Incorporated Active ports in a transfer controller with hub and ports
US9465755B2 (en) 2011-07-18 2016-10-11 Hewlett Packard Enterprise Development Lp Security parameter zeroization
CN109426520A (zh) * 2017-09-04 2019-03-05 深圳市中兴微电子技术有限公司 一种实现一致性验证的方法及装置
CN113190475B (zh) * 2021-05-08 2022-08-02 中国电子科技集团公司第五十八研究所 一种二级cache控制器结构

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5793941A (en) * 1995-12-04 1998-08-11 Advanced Micro Devices, Inc. On-chip primary cache testing circuit and test method
US5706514A (en) * 1996-03-04 1998-01-06 Compaq Computer Corporation Distributed execution of mode mismatched commands in multiprocessor computer systems
US5790824A (en) * 1996-03-18 1998-08-04 Advanced Micro Devices, Inc. Central processing unit including a DSP function preprocessor which scans instruction sequences for DSP functions

Also Published As

Publication number Publication date
EP0987625A2 (en) 2000-03-22
EP0987625A3 (en) 2002-07-17

Similar Documents

Publication Publication Date Title
JP7227680B2 (ja) ノンブロッキング高性能トランザクションクレジットシステムを備えるマルチコアバスアーキテクチャ
US9652404B2 (en) Multicore, multibank, fully concurrent coherence controller
US9268708B2 (en) Level one data cache line lock and enhanced snoop protocol during cache victims and writebacks to maintain level one data cache and level two cache coherence
US6279077B1 (en) Bus interface buffer control in a microprocessor
US5887146A (en) Symmetric multiprocessing computer with non-uniform memory access architecture
US8601221B2 (en) Speculation-aware memory controller arbiter
US5572703A (en) Method and apparatus for snoop stretching using signals that convey snoop results
US6182168B1 (en) Programmable sideband port for generating sideband signal
EP0646873B1 (en) Single-chip microcomputer
US6556952B1 (en) Performance monitoring and optimizing of controller parameters
US5809524A (en) Method and apparatus for cache memory replacement line identification
US20070283109A1 (en) Memory controller configurable to allow bandwidth/latency tradeoff
US20080184008A1 (en) Delegating network processor operations to star topology serial bus interfaces
EP0886225A1 (en) Microprocessor architecture capable of supporting multiple heterogenous processors
US11321248B2 (en) Multiple-requestor memory access pipeline and arbiter
US7043612B2 (en) Compute node to mesh interface for highly scalable parallel processing system and method of exchanging data
US8209492B2 (en) Systems and methods of accessing common registers in a multi-core processor
JP2000200218A (ja) キャッシュメモリを有するマイクロプロセッサ
US10365681B1 (en) Multiprocessor system having fast clocking prefetch circuits that cause processor clock signals to be gapped
US7028115B1 (en) Source triggered transaction blocking
US10366019B1 (en) Multiprocessor system having efficient and shared atomic metering resource
JPH1083343A (ja) メモリをアクセスする方法