JPH07175782A - ディジタル信号処理プロセッサ - Google Patents

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

Info

Publication number
JPH07175782A
JPH07175782A JP6225434A JP22543494A JPH07175782A JP H07175782 A JPH07175782 A JP H07175782A JP 6225434 A JP6225434 A JP 6225434A JP 22543494 A JP22543494 A JP 22543494A JP H07175782 A JPH07175782 A JP H07175782A
Authority
JP
Japan
Prior art keywords
host
data
memory
register
transfer
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
JP6225434A
Other languages
English (en)
Inventor
Toru Umaji
徹 馬路
Atsushi Kiuchi
淳 木内
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Publication of JPH07175782A publication Critical patent/JPH07175782A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Microcomputers (AREA)
  • Complex Calculations (AREA)

Abstract

(57)【要約】 【目的】 周辺およびホストのデータ転送要求を迅速に
処理し、また、ホスト・インタフェースを提供する、オ
ンチップDMACならびに、そのDMACを内蔵したシ
ングルチップDSPを提供する。 【構成】 DSP1100のメモリ・マップされた資源
として、オンチップ・プログラム・メモリ1400、オ
ンチップ・データ・メモリ1900、内部レジスタ、メ
モリ・マップされた外部メモリおよび周辺装置が含まれ
る。DMAC3000は、DSPのメモリ・マップされ
た資源とのデータ転送のためにホストから出されたデー
タ転送コマンドを処理するホスト・コンピュータ・イン
タフェース、およびDSPのオペレーション・モードを
セットするためのコマンドを有している。DMACはホ
スト・コンピュータおよび周辺装置からの割込みを扱う
専用の割込みコントローラを有している。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ディジタル信号処理プ
ロセッサ(DSP)チップに設けられるオンチップダイ
レクト・メモリ・アクセス・コントローラ(DMAC)
に関するものであり、DSPは、DMACの他に、外部
ホスト・プロセッサへのインタフェース、周辺I/O
(入出力)装置のための幾つかのオンチップ・インタフ
ェース、外部メモリへのオンチップ並列(パラレル)イ
ンタフェース、オンチップ・データ・メモリ、オンチッ
プ命令メモリおよび複数のバスを有するものである。
【0002】
【従来の技術】データ処理システムにおいては、一般に
2種類のデータ転送がある。その第一は、メモリと中央
処理装置(CPU)との間でのデータおよび命令の転送
であり、第二は、周辺I/O装置とメモリとの間あるい
はメモリ間のデータ転送である。データ処理システム
は、これらの転送を次の2つのうちいずれかの方法で処
理する。即ち、 (1)CPUがすべてのデータ転送を管理できる。これ
は、CPUへのデータ転送またはCPUからのデータ転
送が関係する場合には、勿論、必要である。
【0003】(2)CPUがデータ処理の作業を実行し
続けている間、DMA(ダイレクト・メモリ・アクセ
ス)コントローラを用いて、データ転送を管理すること
ができる。その結果、データ転送の動作制御(操作、オ
ペレーション)に費やされるCPUの時間は少なくな
る。
【0004】オンチップDMAコントローラ(DMA
C)を有するディジタル信号処理プロセッサはあるが、
従来のデータ処理システムでは、CPUチップ上にDM
ACを備えたものはない。さらに、従来のデータ・プロ
セッサ・システムでは、DMACで管理される殆どの構
成要素は、CPUチップに対して離して(オフチップ
で)配置されている。このため、殆どのDMA転送は、
比較的低速の外部バスで行われるので、時間が掛かり、
DMAバスおよびそれぞれの周辺装置によって与えられ
る種々のバス・インタフェースの速度によって制限され
る。
【0005】
【発明が解決しようとする課題】よって、本発明の一つ
の目的は、DMACの性能およびデータ転送速度を向上
させることである。この目的は、メモリ、周辺インタフ
ェースおよびDMAコントローラを含む、可能な限り多
くの機能をチップ上に載せることによって部分的に達成
される。DMACはDSPコアと同時に動作し、メモリ
および種々の入出力(I/O)周辺装置インタフェース
を含むDSPのメモリ・マップされた(メモリ空間に割
り当てられた)資源間のローカルなデータ転送(ローカ
ル・データ転送)を可能にし、且つホストおよび周辺装
置のデータ転送要求を受け付ける。
【0006】これらの機能の幾つかを実現するために、
既存のDMACは、DMA転送に専用のバスを与えて、
データを転送する周辺I/O装置からの割込みに応答し
ている。しかし、これらのDMACは何れも、周辺割込
みを処理するためにローカルなDMA(例えば、メモリ
間のデータ転送)に割り込むこともなければ、周辺割込
みに対して専用のポインタやカウンタを提供することも
ない。このため、現在のチップに内蔵された(即ちオン
チップ(on−chip))DMACによる周辺割込み
の処理は最適とは言えない。同様に、既存のDMAC
で、ローカルなDMA動作(オペレーション)の最中に
(データ転送の要求またはコマンドのための)ホストの
割込みに応答したり、ホストのデータ転送を極力効率化
するために専用のレジスタを提供するものはない。最後
の点として、ホストがDSPコマンドを発行するのを可
能にしたり、ブートROMが独立型(スタンド・アロ
ン)DSPへプログラムおよびデータをダウンロードす
るのを可能とするホスト・インタフェースを既存のDM
ACは提供していない。このようなホスト機能をDMA
Cに統合していないため、そのようなホスト機能なしで
済ませるか、どこかに余分なハードウェアをわざわざ設
けなければならないことになる。
【0007】したがって、本発明の目的は、DSPコア
と同時に動作し、周辺およびホストのデータ転送要求を
迅速に処理し、また、オンチップ・ハードウェアの最小
化を目的としてホスト・インタフェースを提供する、オ
ンチップDMACを提供することにある。
【0008】また、本発明の具体的な目的は、次のもの
を提供することである。
【0009】即ち、ローカルなDMA転送中のホストお
よび周辺のデータ転送;周辺の割込みに対する専用のポ
インタおよびカウンタ;ホストの割込みのための専用ポ
インタ;DMACハードウェアを用いるホスト・インタ
フェース機能;強力なホスト・コマンドおよび全メモリ
資源へのアクセス能力;およびスタンド・アロンのDS
Pをバイト構成のROMからブート(起動)する能力
【0010】
【課題を解決するための手段】本発明の前記およびその
他の目的は、メモリ・マップされた資源およびオンチッ
プダイレクト・メモリ・アクセス・コントローラ(DM
AC)を含むシングルチップ・ディジタル信号処理プロ
セッサ(DSP)によって達成される。DSPのメモリ
・マップされた資源としては、オンチップ・プログラム
・メモリ(命令メモリ)、オンチップ・データ・メモ
リ、内部レジスタ、メモリ・マップされた外部メモリお
よび周辺装置が含まれる。DMACは、本来のデータ転
送および2つの割込みデータ転送を処理するアドレス・
レジスタおよび計数レジスタ(カウント・レジスタ)を
別個に含んでいる。計数レジスタ(回数レジスタ、カウ
ンタとも称する)は一つの減数器(デクリメンタ)を共
有し、アドレス・レジスタも一つのアドレス算出回路を
共有している。また、DMACは、ホスト・コンピュー
タおよび周辺装置からの割込みを処理する専用の割込み
コントローラも有する。
【0011】DMACは、本来のDMA転送を行う一方
で、アドレス・レジスタと計数レジスタの情報をメモリ
のスタック領域に格納する必要なしに、ホストとそして
2つまでの周辺装置からの割込みを受信し処理すること
ができる。この結果、DMACは、本来のDMA転送か
ら割込みによるDMA転送への切換およびその逆の切換
が、レジスタ内容のメモリ・スタック領域への待避およ
び復活に伴う「オーバーヘッド」のための命令サイクル
を一切用いることなく、可能である。
【0012】また、DMACはホスト・コンピュータ・
インタフェースを備えており、それにより、ホスト・コ
ンピュータはDMACに次のコマンド、即ち: (A)DSPのメモリ・マップされた資源との間のデー
タ転送を開始するリード、ライト、およびDMAのコマ
ンド、(B)DSPのオペレーション・モード(動作モ
ード)を実行(Run)、休止(Sleep)およびソ
フトウェア待機(Software Standby)
の何れかに設定するコマンド、(C)DSPを既知の状
態とする全体リセットを行うコマンド、および(D)D
SPコアに単一命令を実行させるコマンドをDMACに
送ることができるようになる。
【0013】また、DMACのホスト・インタフェース
はバイト構成のブートROMに接続されるように設計さ
れており、さらにDMACは、ブートROMがホスト・
インタフェースに接続されていてDSPがリセットされ
た場合は何時でもブート・プログラムをROMからDM
ACチップ上の命令メモリに自動的にロードするための
ブート・シーケンサを持っている。
【0014】本発明のその他の目的ならびに特徴は以下
の詳細な説明ならびに特許請求の範囲を、表ならびに添
付の図面と共に考慮することにより一層容易に明らかに
される。
【0015】
【実施例】以下、本発明を図1〜図24に示す実施例に
基づいて詳細に説明する。これらの図において、同様の
構成要素は同様の数字で表記する。
【0016】DSPのアーキテクチャ(概念構造) 図1は、 ディジタル信号処理プロセッサ(DSP)1
100およびホスト・マイクロ・プロセッサ(以降、単
に「ホスト」とも言う)1200を有するデータ処理シ
ステム1000を示す。DSP1100は、ハーバード
・アーキテクチャを有しており、データおよび命令のた
めの別個の24ビット内部バス、即ち、Xデータ・バス
(XD)1102、Yデータ・バス(YD)1104、
DMAデータ・バス(DD)1106およびPC命令バ
ス(INST)1114を備えている。XD1102、
YD1104、DD1106およびINST1114の
各バスを介して転送される24ビットのデータおよび命
令は、18ビットの内部アドレス・バス、Xアドレス・
バス(XA)1108、Yアドレス・バス(YA)11
10、DMACアドレス・バス(DA)1112および
PCアドレス・バス(PC)1116上にそれぞれ出さ
れるアドレスでアクセスされる。XD1102、YD1
104およびINST1114バス上での転送は、DS
Pコア3500の制御下にあり、DSPコアだけがバス
XA1108、YA1110およびPC1116へポイ
ンタを出すことができる。一方、DD1106上の転送
は、ダイレクト・メモリ・アクセス・コントローラ(D
MAC)3000がバスDA1112へポインタを出す
ことによって制御される。DSPコア3500には、プ
ログラム制御ユニット1500、演算ユニット1700
およびアドレス・ユニット1800が含まれる。
【0017】この複数のデータ・バスによって、チップ
上のプロセッサ(DSPコア3500およびDMAC3
00)とDSPの記憶資源(データ・メモリ1900、
命令メモリ1400、外部メモリ2500およびチップ
外の周辺装置2300)との間の同時的な多重データ転
送が可能となる。これらの記憶資源は、複数のデータ・
バスにより次のように結合される。
【0018】 DSPコア3500への DMAC3000への 記憶資源 結合を行うバス 結合を行うバス −−−−−−−− −−−−−−−−−−−− −−−−−−−−−−− テ゛ータ・メモリ1900 XDとXA,YDとYA DDとDA 命令メモリ1400 INSTとPC DDとDA 外部メモリ2500 XDとXA,YDとYA DDとDA INSTとPC 周辺装置 インタフェース2200 XDとXA,YDとYA DDとDA 図1に示したように、XD1102とXA1108、Y
D1104とYA1110を介してDSPコア3500
に結合される記憶資源は、データ・メモリ1900、周
辺装置インタフェース(PDI)2200(外部周辺装
置2300のアクセス用)、およびパラレル・メモリ・
インタフェース4000(外部メモリ2500のアクセ
ス用)である。さらに、DMAC3000は、バスXD
1102にも結合されるので、DSPコア3500とD
MAC3000との間の直接転送が可能となる。DMA
C3000は、バスDD1106およびDA1112を
介してデータ・メモリ1900、命令メモリ1400、
パラレル・メモリ・インタフェース4000および周辺
装置インタフェース2200に結合される。PC命令バ
ス(INST)1114およびPCアドレス・バス(P
C)1116は、DSPコア3500を命令メモリ14
00およびパラレル・メモリ・インタフェース4000
に結合する際に使用される。
【0019】図1によれば、DMAC3000は、バス
XD1102を介してDSPコア3500にも接続され
ているので、チップ上の2つのプロセッサ間の直接転送
が可能となる。また、DMAC3000がバスDA11
12上に乗せたポインタ、またはDSPコア3500が
バスXA1108、YA1110もしくはPC1116
上に乗せたポインタは、何れも並列アービタ2100に
よって受信される。並列アービタ2100は、これらの
アドレス・バスを監視することにより、(記憶資源がす
べて単一のポートしか持っていない場合で)単一ポート
・メモリ装置に対し複数のバスによって同時にアクセス
しようとした場合に発生するメモリ・アクセスの競合を
調停することができる。並列アービタ2100を図2に
示し、以下に詳細に述べる。
【0020】並列アービタ 本DSP1100において、レジスタ、内部メモリ、外
部メモリ、周辺装置への内部インタフェースなどを含む
事実上すべての資源が「メモリ空間に割り当てられてい
る(メモリ・マップされた)」ので、これらの各資源
は、予め定義された独自のアドレスを持つことになる。
DMAC3000とDSPコア3500は独立に、殆ど
の内部レジスタの他、外部メモリ2500、命令メモリ
1400、周辺装置2300、またはデータ・メモリ1
900における殆どすべてのメモリ・マップされた位置
にアクセスすることができる。また、すべてのDSP資
源をメモリ空間に割り当てることで、DSP1100に
より、すべてのメモリ・マップされた資源にホスト・プ
ロセッサ1200がアクセスできるようになる。
【0021】さらに、既に述べたように、これらの記憶
資源は、すべて単一ポートを有し、各記憶資源は、DM
AC3000(バスDA1112を経由)およびDSP
コア3500(XA1108、YA1110またはPC
1116の少なくとも1つを経由)によって同時にアク
セスすることができる。この結果、本DSPでは、次の
ようなメモリ・アクセスの競合が発生しうる。
【0022】ページの競合:データ・メモリ1900
は、4ページ(P0、P1、P2、P3)からなり、各
ページは、DSPコア3500(Xアドレス・バス11
08およびYアドレス・バス1110を経由)およびD
MAアドレス・バス1112(DMAC3000の制御
下にある)によって別々にアクセスすることができる。
ページの競合は、バスXA1108、YA1110また
はDA1112のポインタの中の2つ以上が同じメモリ
・ページをアクセスする場合に起こる。
【0023】外部アクセスの競合:XAバス1108、
YAバス1110(DSPコア3500の制御によって
制御される)、DAバス1112(DMAC3000の
制御下にある)、またはPCバス1116上のポインタ
の中の2つ以上が、外部メモリ2500を同時にアクセ
スする。
【0024】周辺アクセスの競合:XAバス1108ま
たはYAバス1110(DSPコア3500により制
御)またはDAバス1112(DMACの制御下)の上
のポインタの中の2つ以上が、周辺装置インタフェース
2200を介して外部周辺装置2300をアクセスす
る。
【0025】命令メモリの競合:PCバス1116また
はDAバス1112の上のポインタの中、2つ以上が、
チップ上の命令メモリ1400を同時にアクセスする。
【0026】並列(パラレル)アービタ2100は、こ
れらの競合を解消するため、アドレス・バスXA110
8、YA1110、DA1112およびPC1116上
に置かれたすべてのメモリ・ポインタをモニター・デコ
ードして、前記競合の発生を検出して、固定の優先順位
によってバス・アクセス権を与える。この設計には、単
一ポート・メモリへの多重バス・インタフェースを扱う
のに必要な制御論理の複雑度を大幅に単純化しながら
も、DSPコア3500およびDMAC3000が必要
に応じて記憶資源を独自にアクセスすることを許すとい
う2つの長所がある。
【0027】図2において、並列アービタ2100は、
前記競合の1つをそれぞれ調停する4個の調停ブロッ
ク、即ち、PGA2102(ページ・アービタ、即ち
(オンチップ・)データ・メモリ・ページ・アービ
タ)、EA2104(外部メモリ・アービタ)、PRA
2106(周辺アービタ)およびIA2108(オンチ
ップ命令メモリ・アービタ)から成る。これらの各アー
ビタは、対応する記憶資源へのアクセスを可能にするア
ドレス・バスから入力を受け取る。したがって、PGA
2102は、バスXA1108、YA1110およびD
A1112から入力を受信し;EA2104は、バスX
A1108、YA1110、DA1112およびPC1
116から;PRA2106は、バスXA1108、Y
A1110およびDA1112から;そして、IA21
08は、バスDA1112およびPC1116からそれ
ぞれ受信する。また、調停ブロックPGA2102、E
A2104、PRA2106およびIA2108は、バ
ス・イネーブル信号XABUSE、YABUSE、DA
BUSEおよびPCBUSEも受信する。これらの信号
は、活性化されると、それぞれXA1108、YA11
10、DA1112またはPC1116のアドレス・バ
スを介してDSPコア3500またはDMAC3000
がメモリにアクセスしようとしていることを示す。
【0028】PGA2102、EA2104、PRA2
106およびIA2108の各調停ブロックは、前記バ
ス上のアドレスを解読することによりメモリ・アクセス
の競合を検出し、記憶資源へのバス選択信号を生成する
とともに、延期信号(ストール信号、stall si
gnal)を生成して、チップ上のプロセッサ(DMA
C3000およびDSPコア3500)が競合中のバス
・アクセスを試みるのを遅らせる。
【0029】DSPコア3500への延期信号は、PG
STALL(PGAより)、EASTALL(EAよ
り)、PRSTALL(PRAより)およびIASTA
LL(IAより)であり、これらをORゲート2110
で集め、その出力PASTALLをDSPコアに与え
る。DMAC3000への延期信号は、PGDSTAL
L(PGAより)、EADSTALL(EAより)、P
RDSTALL(PRAより)およびIADSTALL
(IAより)であり、これらをORゲート2112で集
め、その出力PADSTALLをDMACに与える。
【0030】調停は、調停ブロックにおいて以下の規則
により進行する。
【0031】規則1:調停は、アクセス優先度に基づ
く。2つ以上のアドレス・ポインタが、同じメモリ資源
または外部/周辺ポートにアクセスする場合、次のアク
セス順位表に基づいてアクセスのサービスを行う。
【0032】1)待機中のDA1112 2)XA1108 3)YA1110 4)PC1116 5)DA1112 規則2:DSPコア3500およびDMAC3000に
対する調停は、独立している。DSPコア3500また
はDMAC3000のアクセスが終了した場合、必ず対
応する延期信号を他と無関係にリセットする。
【0033】規則3:すべての調停が済むまで待機す
る。これは、並列アービタの最終段のORゲート211
0および2112によって実現される。
【0034】規則4:前の調停が終了するまで待機す
る。DSPコア3500およびDMAC3000に対す
る調停が独立して実行されるので、並列アービタ210
0の制御下で前のDMACアクセスが実行されている間
に、次のDSPコアのアクセスが要求される可能性があ
る。この場合、この並列アービタ2100は、PAST
ALL信号を出して、前のDMAC3000アクセスが
終了するまで、次のDSPコア3500アクセスを遅ら
せる。同様の規則は、前のDSPコア3500のアクセ
スが実行中の場合にも適用する。
【0035】規則5:アクセス待機状態は、外部アクセ
スの調停に含まれる。PIOレディ信号PIOREAD
Yが、パラレル・インタフェースの待機状態コントロー
ラから外部アービタEAに送られる。外部アクセスが待
機状態である限り、外部アービタEAは、信号EAST
ALLまたはEADSTALLをHIGHに設定して、当該
ユニット(即ち、DSPコアまたはDMAC)が外部ア
クセスを行うのを引き延ばすようにする。
【0036】図3Aは、ページ・アービタ(データ・メ
モリ・ページ・アービタ)PGA2102の一部である
第0ページ調停回路2102−1の内部構造を示す。3
つのデコーダにより、XA、YAおよびDAの各バスに
より第0ページがアドレス指定されている時期を検出す
る。ページ・メモリが4つのページP0、P1、P2お
よびP3から構成されるため、PGAは、図3Aに示し
たブロックと同じ4つのブロックからなる。この図は、
同じアーキテクチャを有する他の調停ブロックEA、P
RAおよびIAに対して一般化することができる。
【0037】第0ページ調停回路は、第0ページへのア
クセスが行われようとしているか否かをそれぞれXA、
YAおよびDAのアドレス・バスを介して判断する3つ
の同じデコーダP0XDEC、P0YDECおよびP0
DDECを有する。この結果得られる復号された信号
は、バスXA、YAおよびDAの各バスが現在のDSP
命令サイクルにおいて使用中であるか否かを示すバス・
イネーブル信号XABUSE、YABUSEおよびDA
BUSEと論理積がとられ、要求信号XREQ、YRE
QおよびDREQが生成されて、第0ページ・アービタ
へと入力される。次に、通常の調停回路は、許可された
(イネーブルとされた)要求信号が2つ以上受信された
場合、一定の優先順位(最上位:X、次位:Y、最低
位:D)を用いて、要求信号に順位を与える。アービタ
は、調停に続いて、(アドレス・バスの少なくとも1つ
は許可されており、また、第0ページをアドレス指定し
ているものと仮定して)第0ページのメモリに向かうバ
ス選択信号XSEL、YSELおよびDSELの中の1
つを活性化する(これにより、どのアドレス・バスが第
0ページへのポインタを与えるかが決定される)。ある
命令サイクルの期間中に、許可されたアドレス・バスX
A、YAまたはDAの何れもが第0ページのアドレスを
指定していない場合、アービタPG0Aは、その命令サ
イクル中は、不活性となる。
【0038】アービタは、3つのアクセス要求を同時に
受信する可能性があるものの、必要上、DSPサイクル
毎に1つのアクセスしか認めることができないので、待
機アクセス要求を示すNextAccess(Y,D)
信号を生成する。これらの待機要求信号は、別の調停が
始まる前にその待機アクセス要求が処理されるように、
その第0ページ・アービタに帰還される。PGA第0ペ
ージ・アービタは、Yバス・アクセス要求が遅れた場
合、DSPコアの延期信号PGSTALLを生成し、D
MAバス・アクセス要求が遅れた場合、DMAC延期信
号PGDSTALLを生成する。4つのページ・アービ
タからの延期信号は、論理和をとり、図2に示した信号
PGSTALLおよびPGDSTALLを生成する。
【0039】XA、YAおよびDAのバス上のアドレス
間での1つのメモリ・ページへのアクセスに対する3方
の競合のタイミング図、およびPCおよびDAのバス上
のアドレス間での外部メモリへのアクセスに対する双方
の競合のタイミング図を図3Bおよび3Cに示す。これ
らのタイミング図では、DMAのリード動作を「DA
(R)」、ライト動作を「DA(W)」とそれぞれ示し
て、すべてのDMAデータ転送がリード(転送元のデー
タ・メモリからレジスタへ)およびライト(レジスタか
ら転送先のデータ・レジスタへ)から成るという事実を
反映している。
【0040】図3Bでは、外部メモリ2500が十分高
速でウェート・ステートを必要としないため、外部メモ
リ・アクセスのウェートは無いものと仮定し、一方、図
3Cでは、外部メモリの各アクセスに対して1ウェート
・ステートを要するものと仮定する。
【0041】図3Bにおいて、XA1108、YA11
10、PC1116およびDA1112が、すべてDS
Pサイクル1にアクセス要求を出している。ここで、X
A、YAおよびDAのすべてのバスが、オンチップ・デ
ータ・メモリの同じページのアドレスを出している一方
で、PCは外部メモリをアクセスしようとしている。P
GAブロック2102は、XA、YAおよびDAの(リ
ード)要求を調停して、そのメモリ・ページへのアクセ
ス権をDSPサイクル1、2および3においてそれぞれ
与える。サイクル1において、PGA2102は、XA
1108のアクセスは許すが、YA1110アクセスが
待機中のため、DSPコアを引き延ばすためにPGST
ALL信号を出す。また、サイクル1では、調停ブロッ
クEAが、PC1116アクセスを与え、EASTAL
L信号をリセットする。しかし、DSPコア3500へ
の延期信号PASTALLは、DSPコアへのすべての
延期信号(その中の1つPGSTALLは出されてい
る)のORをとることによって生成されるため、出され
たままである。DSPサイクル2において、PGA21
02は、そのメモリ・ページへのYAアクセスを許可
し、PGSTALLをクリアする。このクリアを行うの
は、DSPからのアクセスで保留されているものがな
く、DSPがサイクル3で次の命令n+1に進むことが
できるからである。これに対して、DAからのアクセス
は、DSPサイクル3まで延期される。このサイクルで
は、DMACへの延期信号(PADSTALL)をリセ
ットして、DMACが第4サイクルに次のDMA命令k
+1に進めるようにする。
【0042】第3サイクルのPCアクセスは、この命令
サイクルの間はDMACがオンチップ・メモリをアクセ
スしているので、DA(ライト)アクセスとの競合に合
わない。第4サイクルでは、正にXAおよびYAが同じ
オンチップ・データ・メモリ・ページをアクセスするの
で、最初にXA、次にYAがサービスされる。n+1番
目の命令フェッチ(PCn+1 )のアクセスが終了して
も、DSPコアは、YAアクセスが許されるまで、待た
なければならないので、第4サイクル中にPASTAL
L信号が出される。
【0043】外部メモリへのPCn+1 アクセスは第3サ
イクルで終了したので、DA(ライト)アクセスを第4
サイクルでの延期なしに実行することができる。この例
で実証したように、DSPコア3500およびDMAC
3000に対し独立した延期信号を用意することによ
り、調停過程が非常に効率的になる。
【0044】図3Cには、外部メモリへのアクセスを完
了するのに1ウェート・サイクルを必要とする(これ
は、外部メモリへのアクセスの度に2命令サイクルを必
要とすることになる)場合の並列アービタの動作を示
す。したがって、外部メモリへの最初のPCアクセス
(PCn )に第1および第2のアクセス・サイクルがか
かる。しかし、XAおよびYAのアクセスも、それらの
アクセス間のページ競合のために、完了に2サイクルを
必要とする。したがって、DSPコアの第n命令サイク
ルは、図3Bに示したウェートなしの例の場合と同じ時
間で終了する。
【0045】第3サイクルにおいて、次のPCn+1 アク
セス・サイクルが開始するが、XAおよびYAアクセス
は、DA(リード)アクセス(これも、第1命令サイク
ル中に宣言されたものである)が終了するまで、1サイ
クル分延期される。DMACが、第4サイクルにおい
て、そのk+1番目の命令を実行し始める。しかし、D
MACは、外部メモリへのPCn+1 アクセスがまだ終わ
っていないので、第4サイクルの期間中に並列アービタ
により引き延ばされるため、外部メモリへのDMACラ
イトDA(W)k+1 は、第5サイクルに始まる。
【0046】DMACアーキテクチャ DSPのメモリ・マップされた記憶資源(外部の周辺装
置2300、データ・メモリ1900、命令メモリ14
00および外部メモリ2500に対するアドレスを含
む)の間およびホスト1200とDSPコア3500と
の間のローカル・データ転送をDMAC3000が制御
する様子を、図1および図4A〜図4Fを参照しなが
ら、説明する。DMAC3000は、ホストおよび周辺
のデータ転送要求を扱う時には、ローカル・データ転送
を中断し、ホスト・コマンドの統合的な処理を与え、且
つ、DSP1100がスタンド・アロン・プロセッサと
して動作している場合、プログラムおよびデータをバイ
ト構成のブートROMからDSP1100へとロードす
る。
【0047】DMAC3000は、主にローカル・デー
タ転送に使用されるが、それを中断して、2つまでのチ
ップ上の「周辺装置」(これは、シリアルI/O装置0
および1、ならびにシリアル通信装置からなる)および
ホスト1200からのデータ転送要求を処理することが
できる。次のDMAC3000の機能ブロックの説明で
明らかとなるように、DMAC3000は、ローカル・
データ転送、2つの割込み駆動の周辺転送、ならびに割
込み駆動のホスト・データおよびコマンドの転送に専用
のレジスタを別個に備えることにより、多様な転送を処
理する。
【0048】DMACのデータ転送プログラム 一般に、DMAC3000のデータ転送は、すべて限ら
れた数の転送プログラムによって決定される。このプロ
グラムは、ハードウェアで実現され、且つ一貫してロー
ドおよびストア動作から構成される。このロードおよび
ストア動作では、DMAC3000の制御下で、データ
が、送信位置からDMAC3000の一時的なデータ・
レジスタを通って受信位置まで転送される。DMAC
は、殆ど常に、DDバス1106上のデータを送受信す
る一方で、DMAC3000は、DAバス1112に送
信位置および受信位置にポインタを一斉送信する。前記
の転送プログラムは、4種類に限定されている。即ち、
データ転送が、1つの転送元(ソース)と1つの転送先
(ディスティネーション)、1つの転送元と複数の転送
先、複数の転送元と1つの転送先、そして複数の転送元
と複数の転送先の間で行われるものである。
【0049】このような範囲の転送および割込みを容易
にするために、DMAC3000は、チップ上の転送の
ために制御レジスタ(ローカル転送および2つの周辺デ
ータ転送の反復回数、ローカル転送のプログラム番号、
ならびにDSPコアによって設定されるDMACの状態
および制御フラグなどの情報を格納する)を備えてい
る。また、DMAC3000は、ローカル・データ転
送、2つの割込み駆動周辺データ転送およびホストのデ
ータ転送に対する転送元と転送先とのポインタを同時に
格納するレジスタを有する。DMAC3000は、また
複数の転送元と複数の転送先を伴う転送を容易にするた
めに、それらのポインタをインクリメントする回路も備
える。最後に、DMAC3000は、ホストの転送およ
び2つの周辺転送に対する多重割込みを解決するため
に、それ独自の割込みハンドラを備え、且つホスト12
00とDSP1100との間でデータおよびコマンドを
転送するために、幾つかのレジスタをホスト・インタフ
ェース専用にする。
【0050】データ転送コントローラ 図4Dに示すように、データ転送コントローラ3002
は、転送回数レジスタ(反復回数レジスタ)rc 30
10、irc0 3012およびirc1 3014を
含み、バックグラウンドのローカル転送ならびに周辺デ
ータ転送0および1に対して転送するべきデータ数をそ
れぞれ保持する。また、データ転送コントローラは、機
能レジスタfr 3016、制御レジスタctr 30
18および状態レジスタstr 3020も含む。
【0051】制御レジスタctr 3018には、DS
PコアおよびDMACによる読み出しおよび書き込みが
可能なローカル・データ転送許可フラグDTが含まれ
る。DT=1のとき、ローカル・データ転送が許可さ
れ、DT=0のとき、ローカル・データ転送動作は行わ
れない。一般に、DSPにおいて、ローカル・データ転
送は、すべてDT=1と設定することにより開始され
る。DMAC3000は、ローカル・データ転送を完了
すると、DTフラグをクリアする。
【0052】前記のrc 3010、irc0 301
2およびirc1 3014は、反復回数レジスタ(リ
ピート・カウント・レジスタ、repeat coun
tregisters)である。レジスタrcは、フォ
アグラウンドデータ転送、あるいは、中断可能なデータ
転送としても知られる、ローカル・データ転送の反復回
数を保持する。レジスタirc0およびirc1は、周
辺割込みPIRQ0およびPIRQ1によってそれぞれ
開始されるデータ転送の反復回数を保持する。データ転
送を開始すると、行うべきデータ転送の回数が、レジス
タの中で実行中の転送の種類に対応するものに直ちに格
納される。転送元から転送先に1データ・ワードが転送
される度に、現在使用中の反復回数レジスタが、デクリ
メントされる。各反復回数レジスタには、256Kの大
きさの値(アクセス可能な最大メモリ・サイズに等し
い)を格納することができる。反復回数レジスタirc
0、irc1およびrcの何れでも現在の転送動作に使
用されているレジスタのデクリメントには、シーケンサ
3050において共有されるデクリメント回路3051
を使用する。
【0053】ローカル・データ転送動作を開始する場
合、DSPコア3500により、所望の転送動作の機能
番号を図4Bおよび4Dに示したDMACの機能レジス
タfrに書き込む。この機能番号(この有効な値は、0
〜3および5である)は、PLAシーケンサ3050に
おいて実現され、且つ表1に示した6個の基本命令から
構成されるデータ転送プログラムを表す。
【0054】
【表1】
【0055】表1において、変数rは、一時的データ・
レジスタdr3046、hi3042、ho3044の
1つを表す。ローカル転送に対しては、変数rは、常に
dr3046を意味することになる。変数sp、dp
は、転送元(ソース)ポインタ・レジスタ(as303
8、ais0 3032、ais1 3034)の1
つ、および転送先(ディスティネーション)ポインタ・
レジスタ(ad 3036、aid0 3028、ai
d1 3030)の1つをそれぞれ表す。前に「*」を
付けたポインタ変数は、そのポインタによってアドレス
指定されたデータのアクセスを示す。前に「*」を付け
且つ後に「++」を付けたポインタ変数は、そのポイン
タがアクセスの後にインクリメントされるべきことを示
す。したがって、命令r=*spは、spで指し示され
た(ポイントされた)データのデータ・レジスタrへの
転送を伴う転送元データのロードである。一方、命令r
=*sp++は、アクセスに続いてspが次のメモリ・
アドレスを指し示すような事後インクリメントを伴う転
送元データ・ロードである。同様に、命令*dp=r
は、データ・レジスタの内容のdpで示されるメモリ位
置への転送を伴う転送先(への)データ書き込みであ
り、命令*dp++=rは、dpへの事後インクリメン
ト付き転送先データ・ライトである。
【0056】2つのDMAC制御命令drepeat、
dstopも備えている。drepeat命令を転送プ
ログラムで使用すると、この命令により、DMACは、
次の2つのプログラム命令を反復回数レジスタrcに指
定された回数だけ繰り返す。dstop命令により、D
MACは、レジスタctrにあるデータ転送フラグDT
をクリアして、停止する(ホールト状態になる)。ま
た、これは、DIRQフラグをセットすることによりロ
ーカルなDMA転送が完了したことを示しながら、DS
Pコアに割込みを発する。
【0057】
【表2】
【0058】表2は、異なる種類のDMA転送に対して
表1に表した4つのデータ転送動作によって使用される
オペランド(被作用子)を示す。例えば、hoおよびh
iレジスタ3042、3044は、ホストのDMA転送
の期間中にデータを一時的に格納するために、またホス
ト・コマンドを実行するためにも使用される。一方、d
rレジスタ3046は、ローカルなDMAまたは周辺割
込み転送の最中に一時的にデータを格納するのに用いら
れる。
【0059】図5Aにおいて、DMACの転送制御シー
ケンサ3050は、表1および表2に示した6つの原始
機能を用いるローカル・データ転送プログラムを4つ備
えている。この4つのローカル・データ転送プログラム
は、それぞれに関係付けられた値を機能レジスタfrに
持つ。fr=0と設定すると1つの転送元と1つの転送
先とのデータ転送となり、fr=1は1つの転送元と複
数の転送先とのデータ転送となり、fr=2は複数の転
送元から1つの転送先へのデータ転送となり、fr=3
は複数の転送元から複数の転送先へのデータ転送とな
る。複数の転送元または転送先が関与するプログラムに
おいては、dstopは、最後の命令であり、データ転
送命令をdrepeatにより必要な回数だけ行った後
に限り実行するものであるという点に注意を要する。デ
ータ転送の期間中、シーケンサ3050は、6ビットの
シーケンス・レジスタdssr3052を用いて、現在
実行中のデータ転送マイクロプログラムの現在のステッ
プの追跡を続ける。
【0060】図5Bは、DMACに格納されている周辺
割込みデータ転送のマイクロプログラムを示し、図5C
は、DMACに格納されているホスト・データ転送およ
びホストDMA動作のマイクロプログラムを示す。図5
Dは、ローカル・データ転送動作に対するDMACの状
態図である。
【0061】ステータス・レジスタstr3020に
は、ビット・フラグDRPT、DMAEPが含まれる。
DMAEPは、割込みマスクである。DMAEPがセッ
トされている場合、DMACは、ローカルなDMA転送
の完了時にDMAE(ローカルなDMA終了)信号でD
SPコアに割込みをかけることができる。DMAEPフ
ラグがクリアされている場合は、DMACは、ローカル
なDMA転送の完了時に、DMAE割込みをDSPに送
らない。DMACが2ワード以上の転送を開始する場合
には、必ずDRPTフラグがセットされ、DMACがリ
ピート・モードにあることを示す。dstop命令が実
行されデータ転送が完了すると、直ちにDRPTがリセ
ットされる。
【0062】DMAC割込みコントローラ DMACによって調整される典型的なデータ転送は、オ
ンチップ・データ・メモリおよびオンチップ命令メモリ
ならびに外部メモリを含む高速メモリ間のものである。
DMACは、外部システムのための比較的低速の周辺装
置2300からシリアルI/Oインタフェースやシリア
ル通信インタフェースを介してデータ転送要求を処理し
なければならない場合もいろいろある。図4Dおよび4
Eにおいて、周辺装置インタフェースからの割込み信号
は、3つまで別々に処理することができる。それらの周
辺装置インタフェースは、それぞれ独自の出力エンプテ
ィ(アウトプット・エンプティ、Output Emp
ty)割込み(外向きのデータ転送用)および入力フル
(インプット・フル、Input Full)割込み
(内向きのデータ転送用)を有する。即ち、シリアルI
/O周辺装置0 2302に対してはS0DOEおよび
S0DIF、シリアルI/O周辺装置1 2304に対
してはS1DOEおよびS1DIF、ならびにシリアル
通信装置2306に対してはSCDOEおよびSCDI
Fを有する。シリアルI/O装置0および1は、符号/
復号器(コーデック、CODEC)チップまたはシリア
ル・デジタル・データにアクセスするその他の装置でも
よい。シリアル通信装置2306は、一般に、RS23
2Cポートを有する装置である。
【0063】なお、外部周辺装置2308は、割込み信
号を生成しないことに注意を要する。外部の装置230
8は、一般に、1つ以上のスイッチ、種々の装置の1つ
以上の制御ピン、多数の回路ノードのリードもしくはラ
イトもしくはその両方を行うために「モード制御」の設
定などに多く用いられるインタフェース、またはこれら
の組み合わせである。
【0064】DMACは、専用のDMA割込みコントロ
ーラ3060を用いて、これらの周辺データ転送要求を
割込みに基づいて処理する。これらの転送を許可するの
は、図4B、4Dおよび6に示した専用の周辺割込み制
御レジスタictr3022である。レジスタictr
3022には、2つの可能な周辺割込みPIRQ0およ
びPIRQ1のそれぞれに対し4つの情報フィールドを
設けてある。DSPコアは、割込みフラグ(PIRQ
1、PIRQ0)自体を除く、ictr3022の全フ
ィールドのリード/ライト・アクセス権を有するが、割
込みフラグに対してはリード・アクセス権のみを持つ。
【0065】割込み選択フィールド(PIRQ1の場合
はS12、S11、S10、またPIRQ0の場合はS
02、S01、S00)により、割込みの発信源である
周辺装置(シリアルI/O装置0 2302、シリアル
I/O装置1 2304またはシリアル通信I/O 2
306の何れか)およびその周辺装置がリード(「Ou
tput Empty」)またはライト(「Input
Full」)の用意ができているかどうかを指定す
る。例えば、ビットS02、01、00=<0,0,0
>ならば、シリアルI/O 0周辺装置からのInpu
t Full(即ち、受信データ)割込みに周辺割込み
0が割り当てられる。
【0066】機能選択フィールド(PIRQ1の場合は
F11、F10、またPIRQ0の場合はF01、F0
0)により、実行すべきデータ転送動作が指定される。
図6に割込みのデータ転送機能を短縮形式で示す。ただ
し、図示した各データ転送機能は、実際には、前述のよ
うにロードおよびストアの原始的な動作を別個に行う。
なお、DSPコア3500が実行するソフトウェアは、
周辺装置インタフェース2200がDMAC3000と
共に行うべき周辺I/O動作がある場合、それらを指定
するために、フィールドSj2、Sj1、Sj0、Fj
1、Fj0に値をロードするので、注意を要する。
【0067】DMAC割込みフラグPIRQ0およびP
IRQ1は、セットされている場合、DMACへの未処
理のPIRQ0およびPIRQ1割込み示す。これらの
フラグは、その割込みの受け付け時に、DMACによっ
て解除される。最後に、DSP割込み優先度フラグPT
E1PおよびPTE0Pがセットされている場合、DM
ACは、未処理のデータ転送が終了する(即ち、irc
0またはirc1が1に等しい)と直ちに、DSPコア
に割込みをかける。また、PTE0PまたはPTE1P
が0に等しい場合、DMACは、DSPコア3500に
割込みを発しない。
【0068】アドレス生成ブロック DMACは、異なる種類のデータ転送を処理する。最も
一般的なデータ転送は、メモリ空間に割り当てられた記
憶資源の間のローカル・データ転送である。メモリ空間
に割り当てられたオンチップ周辺装置(2つのシリアル
I/Oインタフェースおよびシリアル通信インタフェー
スを含む)から2つまでのデータ転送が、ローカル・デ
ータ転送に割り込むことができる。これらの異なるロー
ド/ストア・データ転送を極力迅速に処理するために、
ローカル・データ転送および2つの周辺(インタフェー
スによる)割込み転送のそれぞれ専用とする3組の転送
元(ソース)レジスタおよび転送先(ディスティネーシ
ョン)レジスタをDMACに設ける。
【0069】アドレス生成ブロック3006は、データ
転送の元と先のアドレスをDAバス1112に与える。
これらのアドレスは、次の18ビットの専用レジスタに
よって与えられる。
【0070】aid0 3028, aid1 3030:高速割込み周辺転
送0および1の転送先アドレスをそれぞれ格納する。
【0071】ais0 3032, ais1 3034:高速割込み周辺転
送0および1の転送元アドレスをそれぞれ格納する。
【0072】ad 3036, as 3038:ローカル・データ転送
の送信先および送信元のアドレスを格納する。
【0073】ホスト・プロセッサは、DSPのすべての
レジスタおよびメモリ位置に対しDMACによってリー
ド/ライト・アクセスすることができるので、前記のア
ドレス・ブロック・レジスタにもリード/ライト・アク
セスすることができる。
【0074】DMAC3000は、常に1つのデータ転
送しか実行できないが、割込みデータ転送およびローカ
ル・データ転送のためにそれぞれ専用のアドレス・レジ
スタを備えることにより、DMACは極めて迅速に割込
みを処理することが可能である。特に、割り込まれたロ
ーカル・データ転送に対するアドレス・レジスタの値
は、その割込み処理の前にスタック・メモリ領域に格納
する必要がないので、レジスタ値の待避に通常使用され
る幾つかの命令サイクルを節約することができ、その割
込み処理の終了後にそれらのレジスタ値を復元するため
の命令サイクルも同様に節約できる。
【0075】図4Cを説明すると、ホスト・データ転送
のため、アドレス生成ブロック3006は、18ビット
のホスト・ポインタ・レジスタhp3024を備えてお
り、このレジスタはDSPデータ転送の転送元(ソー
ス)または転送先(ディスティネーション)の何れかの
アドレスを保持する。ホスト・ポインタ・レジスタ値の
アドレスは、2ビットのホスト・ポインタ基底カウンタ
hpb3026(これは、DSPがバイト構成のROM
(読み出し専用メモリ)から起動されているときに、動
作を開始する)により拡張される。18ビットのhpレ
ジスタ3024は、ホストのデータ・バスが8ビット幅
の場合は、3つの別個のレジスタ(サブレジスタ)hp
0、hp1、hp2としてホストCPU1200により
アクセスされ、ホストのデータ・バスが16ビット幅の
場合は、2つの別個のレジスタ(サブレジスタ)hp
1、hp2としてアクセスされる。
【0076】また、アドレス生成ブロック3006は、
DMA演算ユニットdau 3040を備え、これによ
り、前述のレジスタに保持されたアドレスをインクリメ
ントして、先に説明した事後インクリメント動作を伴う
データ・ロードおよびストアを実現している。
【0077】DMACのデータ・レジスタ 前述のように、DMACが行うデータ転送は、一連のロ
ード/ストア動作によって実現される。このとき、デー
タ・ワードが、転送元アドレスから転送レジスタへと読
まれ、この転送レジスタから転送先アドレスに書き込ま
れる。DMACは、このため専用に3個の24ビット・
データ転送レジスタ、即ち、ホスト・データ入力レジス
タhi 3042、ホスト・データ出力レジスタho
3044およびDMAデータ・レジスタdr 3046
を備える。レジスタhi 3042およびho 304
4は、ホストのデータ転送で使用し、hi 3042に
はホスト1200によって書かれるデータ、ho 30
44にはホスト1200によって読まれるデータを格納
する。レジスタdr 3046は、ローカル・データ転
送用の一時データ記憶手段として利用する。
【0078】DMACホスト・インタフェース制御ブロ
ック DMACには、ホスト・データ転送用のレジスタを幾つ
か備えたホスト・インタフェース制御ブロック3070
が含まれる。これらの専用レジスタには、ホスト制御レ
ジスタhctr3011、ホスト状態レジスタstr0
3013、ホスト状態レジスタ1 str1 301
5およびホスト割込みレジスタhrq3017が含まれ
る。これらのホスト・インタフェース・レジスタの使用
は、「ホスト・データ転送」と題する部分において後述
する。DMACにホスト・インタフェースを組み込んで
あるので、DMACと同じハードウェアを使用するため
回路構成の点から非常に効率的である。さらに、DMA
Cにホスト・インタフェースを含むことにより、ホスト
がDMACにコマンドを送ることが可能となる。ホスト
のコマンド(ホスト・コマンド)は、後述の「ホスト転
送コマンド」に関する説明の部分において表7として示
す。
【0079】バスの接続 図1、図4B、図4Cおよび図4Eは、DSPバスD
A、DD、XDおよびホスト・バスHA 1124、H
D 1122へのDMAC3000の接続を示す。ホス
ト・レジスタ、周辺インタフェース、外部メモリおよび
オンチップ・メモリを含むメモリ・マップされた記憶資
源の間のデータ転送は、DMAデータ・バスDD 11
06およびDMAアドレス・バスDA 1112を用い
て行われる。したがって、図4Cに示すように、アドレ
ス・レジスタhp 3024、aid0 3028、a
id1 3030、ais0 3032、ais1 3
034、ad 3036、およびas 3038がDM
Aアドレス・バスDA 1112に接続され、図4Bに
示すように、データ・レジスタhi 3042、ho3
044、およびdr 3046がDMAデータ・バスD
D 1106に接続される。また、DMACは、XDバ
ス1102による以外にアクセスできないDSPコア3
500内部のレジスタへのホスト・データ転送も、ホス
ト・データ・レジスタhoおよびhiによってサポート
する。これらの転送に対しては、DMACのホスト・デ
ータ・レジスタhi 3042およびho 3044と
XDバス1102とが接続されている。
【0080】また、図4Eは、DMACとオンチップ周
辺インタフェースA 2202、B2204、C 22
06、D 2208との間の直接接続も示す。これら
は、24ビット周辺データ・バスPD0〜23 112
6、4ビット周辺アドレス・バスPA0〜3 1128
および周辺選択バスPASELを介して外部のシステム
2300のための周辺インタフェースを構成する。DM
ACは、これらの周辺装置インタフェース(PDI)に
はDDおよびDAバスを介してアクセスし、これによ
り、並列アービタ2100のPRA 2106によって
許可された場合、PDおよびPAバスへのDMACのア
クセスが許される。後述のように、周辺のアドレスおよ
びデータのバスは、DSPコアも利用し、これにより、
メモリに割り当てられたDMACの内部レジスタを直接
リードしたりライトしたりする。
【0081】なお、実際には、バスPDは、XD110
2、YD1104、およびDD1106の1つから並列
アービタ2100によって選択され、且つバスPAは、
XA1108、YA1110およびDA1112の1つ
から並列アービタによって選択される。図4Eに、その
周辺バスに接続すべき内部バスを選択するマルチプレク
サ回路を示す。周辺装置2300にアクセスするため
に、DSPコアまたはDMACは、まず、バス・イネー
ブル信号(例えば、XABUSE、YABISE、DT
BUSE)を並列アービタ2100に供給し、メモリ・
マップされた周辺装置のアドレスを対応するアドレス・
バスに置くとともに、同じアドレスを並列アービタに与
える。ここで、並列アービタ2100は、その周辺装置
へのアクセス権を与える。アクセスの競合がある場合に
は、幾分遅れて与えられる。並列アービタは、そのアク
セス権を与えるとき、バスの中の1つを周辺のデータ・
バスおよびアドレス・バスとして選択して、XA、YA
およびDAの各選択信号をPDIのマルチプレクサ22
10に送る。そして、PDIは、選択された周辺バスの
24ビットの線を周辺データ・バスPD0〜23に結合
する。また、PDIには、11の可能な周辺装置の中か
ら当該データ転送の転送元または転送先として1つを選
択するための11ビットの周辺選択信号PASEL0〜
10を生成するアドレス・デコーダ2212も含まれ
る。PDIは、DMACまたはDSPコアによって供給
される18ビット周辺アドレスのうちの第4〜7ビット
をデコードすることにより、この信号を生成する(これ
らのビットは、1つの周辺装置に一通りに対応する)。
次に、PDI2200は、18ビット周辺アドレスの第
0〜3ビットを周辺アドレス・バスPA0〜3を介して
周辺装置に供給することにより、選択された周辺装置内
部の16の可能なレジスタの1つをアドレス指定する。
次の表は、周辺レジスタのメモリ割り当てとそれらのP
ASELアドレスを示す。
【0082】 周辺装置 アドレス範囲 PASEL −−−−−−−−−−−−− −−−−−−−−−−−− −−−−− ビット・インタフェース 07400−0740F 0 パラレルI/Oポート 07410−0741F 1 シリアルI/Oポート0 07420−0742F 2 シリアルI/Oポート1 07430−0743F 3 シリアル通信インタフェース 07440−0744F 4 タイマ 07450−0745F 5 DMACの標準DMAレジスタ 07460−0746F 6 DMACの割込駆動レジスタ 07470−0747F 7 DMACのホスト 07480−0748F 8 インタフェース駆動レジスタ DMACのマイクロROM 07490−0749F 9 予備領域 074A0−074AF A ここに掲げたアドレスにおいて、各アドレスは、4桁の
16進数によって表される18ビットの値である(4桁
の16進数の最初の桁は2ビットしか操作できず、その
両者とも、ここに掲げたメモリ割り当て資源について
は、0に設定されている)。
【0083】前記のメモリ・マッピング方式によれば、
DSPコア3500において稼働中のプログラムが、X
A1108バスを用いてDMACの制御レジスタctr
3018にアクセスする必要がある場合、DSPコア3
500は、Xバス許可信号XABUSEをctr301
8のアドレス0x7460(この値は、DSPコア35
00がXAバス1108に設定する)と共に並列アービ
タ2100に送る。並列アービタ2100では、アドレ
スの第4〜7ビットをデコードして、PASELバスに
よって周辺装置6、即ち、DMACの標準DMAレジス
タを選択する。最後に、並列アービタが、制御レジスタ
ctrのアドレス(これは、DMAC内部でアドレス
「0000」に指定されている)を指定するようなアド
レス・ビット0〜3(「0000」)を周辺アドレス・
バスPA0〜3上に乗せる。
【0084】DMACの機能 DMACは、4つのデータ転送機能を有する。
【0085】(1)データ・メモリ1900、命令メモ
リ1400およびパラレルI/Oインタフェース240
0を含むメモリ・マップされた資源の間のローカル・デ
ータ転送 (2)周辺データ転送要求の高速処理 (3)DSP1100とホスト・マイクロプロセッサ1
200との間のデータ転送 (4)DSPのスタンド・アロン動作におけるバイト構
成のROMからのブート前述のように、これらのデータ
転送機能は、すべて一連のロード/ストア動作から構成
される。これらの命令を実行するために、DMACに
は、前の命令の実行中に新たな命令のフェッチと解読
(復号)を行う2段階パイプラインを採用する。次に、
これらの機能を説明する。
【0086】ローカル・データ転送 DMACにより制御されるデータ転送の最も一般的な形
態は、ローカル・データ転送であり、それはデータ・メ
モリ1900、命令メモリ1400、パラレル・メモリ
・インタフェース2400(外部メモリ2500にイン
タフェースを与える)および周辺装置インタフェース2
200(外部のシステム2300にインタフェースを与
える)の間におけるデータの高効率な移動を伴うもので
ある。典型的なローカル・データ転送においては、DM
ACにより比較的低速の外部メモリ2500から高速の
オンチップ命令メモリ1400にDSPプログラムを移
すことがある。ローカル・データ転送は、最も一般的な
DMACのデータ転送であるため、比較的頻度の低い周
辺およびホストのデータ転送要求によって割り込むこと
ができる。
【0087】他のDMACデータ転送と同様に、ローカ
ル・データ転送は、一連のロード/ストア動作からな
る。ロード/ストア動作においては、データが、転送元
アドレス(転送元(ソース)アドレス・レジスタasに
格納されている)からデータ転送レジスタdrに一時的
にロードされ、さらに転送先アドレス(転送先(ディス
ティネーション)アドレス・レジスタadに格納されて
いる)に書き込まれる。ローカル・データ転送は、すべ
て専用のバスDA1112およびDD1106を用いる
ので、バスDD1106にデータ・レジスタdrが接続
され、DA1112バスにアドレス・レジスタasおよ
びadが接続される。殆どの場合、DMACは、DSP
コアの動作と並列にローカル・データ転送を実行するこ
とができる。しかし、DMAC(DMAアドレス・バス
使用)とDSPコア(X、YまたはPCアドレス・バス
使用)とが同時に同じメモリ装置をアクセスしようとす
ると、ローカル・データ転送が遅れることもある。前記
のように、このようなアクセスの競合の解消は、並列ア
ービタにより、DMACの動作を引き延ばしてDSPコ
アのアクセスを許可してから、DSPコアからサイクル
を盗んでDMACのメモリ・アクセスを許可することに
よって、行われる。
【0088】図7に、メモリのブロック転送の場合のロ
ーカル・データ転送手順を示す。DSPプログラムは、
この転送の始めに、まず転送元の開始アドレスをレジス
タas 3038に、転送先の開始アドレスをレジスタ
ad 3036に、そして転送するべきワードの数を反
復回数レジスタrc 3010に書き込む。次に、DS
Pプログラムは、DMAマイクロ機能レジスタfr 3
016に3を書き込むことによってブロック転送機能を
指定する。なお、DSPコアは、必要であれば、fr
3016に0、1、2などの値を設定することにより、
別のローカル転送を指定することも可能である(ここ
で、0:単一の転送元から単一の転送先へのデータ転
送、1:単一の転送元から複数の転送先への転送、2:
複数の転送元から単一の転送先へのデータ転送)。DM
ACのローカル・データ転送を開始する最終段階とし
て、DSPが、ctrレジスタ3018に含まれるDT
フラグをセットする。
【0089】DSPコアが、DTフラグをセットすると
直ちに、DMACが、複数の転送元から複数の転送先の
プログラムの最初の転送命令を実行する。この命令は、
次のステップからなるポインタ・インクリメント付き転
送元データ・ロード(dr=*as++)である。
【0090】(1)DMAC3000が、転送元データ
・レジスタas 3038の内容をDMAアドレス・バ
ス1112および並列アービタ2100に送る(即ち、
DMACが、転送元メモリへのアクセスを要求する)。
【0091】(2)DMACが、転送元データへのアク
セスに対する並列アービタの許可を待つ。DMACが、
DSPコアと同じ記憶装置にアクセスしようとすると、
並列アービタが、PADSTALL信号をHighに保つこ
とによってDMACのアクセスを遅らせる。遅延の物理
的な命令サイクルの数は、転送元のデータが格納されて
いるメモリ装置のアクセスにウェートが必要な場合、そ
のウェート・ステート数に依存することになるが、アー
ビタによるDMACの遅れは、最悪の場合(DSPコア
が、バスXA、YAおよびPCを介してDMAC300
0と同じメモリのアクセスを試みている場合)でも、3
「論理」命令サイクルである。
【0092】(3)転送元のメモリをアクセスする要求
を並列アービタに許可されてから、DMAC3000
は、DAバス1112上に設定された転送元アドレスの
データをDMAデータ・バスを介してデータ・レジスタ
3046にロードする。
【0093】(4)DMACが、転送元アドレス・レジ
スタの内容をdau 3040を介してインクリメント
する。
【0094】次に、DMAC3000は、以下のステッ
プからなるポインタ・インクリメント付き転送先データ
・ストア(*ad++=dr)を実行する。
【0095】(1)DMAC3000が、ad 303
6の内容をDMAアドレス・バスDA1112と並列ア
ービタ2100に送り、drレジスタ3046の内容を
DMAデータ・バスDD 1106上に置く。
【0096】(2)並列アービタ2100がライト(書
き込み)要求を認めると、転送先の装置がDDバス 1
106に接続されて書き込み動作が行われる。アドレス
の競合が発生した場合、並列アービタにより、PADS
TALLを発してDMA転送動作を遅らせてもよい。
【0097】(3)転送の終了時に、DMACにより、
転送先アドレス・レジスタad 3036の内容をda
u 3040を介してインクリメントする。
【0098】このシーケンスの終了後、反復カウンタ
(反復回数レジスタ)rc 3010を検査して、デー
タ転送が完了したかどうかを判断する。rc 3010
が2に等しいかそれ以上の場合、転送が終わっていない
ことを示すので、rc 3010が1だけデクリメント
され、DMACが次のデータをロードすることによりブ
ロック転送動作を継続する。rc 3010=1の場
合、DMACは、実行を停止し、DTフラグを解除する
とともにDTDMAE(DMA終了)割込みをDSPの
割込みコントローラ2600に送ることによりDSPコ
アにデータ転送の終了の信号を送る。ただし、状態レジ
スタstr 3020の割込み優先フラグDMAEPが
0に設定されている場合、DMAC3000は、その割
込みを発しない。
【0099】DMACは、ローカル転送機能0、1、2
に対しても、ポインタの事後インクリメントを除いて同
じ動作シーケンスに従う。機能0の転送(単一の転送元
から単一の転送先)の場合、転送元および転送先のアド
レスに対するロード/ストア後のインクリメントは、な
い。機能1および2の転送の場合、DMACは、転送先
または転送元のポインタをそれぞれ事後インクリメント
する。
【0100】図8Aは、新たに開始された複数の転送元
から複数の転送先へのローカル・データ転送動作(機能
3)のタイミングを示す。なお、DMACにおいて実行
される命令は、命令のフェッチ・解読サイクルおよび実
行サイクルからなるパイプラインを通して実行される。
前述のように、このデータ転送動作を開始する前に、D
SPコアが、機能レジスタfr、転送元および転送先の
レジスタasおよびad、ならびに反復回数レジスタの
ロードを行う。次に、DSPコアは、制御レジスタct
r 3018のDTフラグを設定することにより、DM
ACデータ転送プログラムを開始する。DT設定後の最
初の命令サイクルにおいて、DMACは、最初のdre
peat命令(この命令が実行されると、ロード/スト
ア・シーケンスを繰り返す回数が決定される)のフェッ
チ・解読を行い、NOP命令を1つ実行する。第2の命
令サイクルにおいて、DMACは、ポインタ・インクリ
メント付きロード命令をフェッチ・解読し、且つdre
peat命令(strレジスタ3020のRPTフラグ
を設定する)を実行する。第3の命令サイクルにおい
て、DMACは、ポインタ・インクリメント付きロード
命令を実行する一方で、後続のポインタ・インクリメン
ト付きストア命令をフェッチする。DMACが、そのポ
インタ・インクリメント付きストア命令を実行し、次の
ロード/インクリメント命令をフェッチ/解読すること
により、最初のロード/ストア・シーケンスが第4サイ
クルで完了する。
【0101】DSPコアが、制御レジスタctr 30
18のDTフラグを解除することにより実行中のローカ
ル・データ転送動作を停止(ホールト)し、後にDTフ
ラグを再び設定することにより動作を再開させる場合の
DMACによって行われる動作シーケンスを図8Bに示
す。DSPコアがDTフラグを解除した後、DMAC
は、処理中のリード・ライト動作の終了に続いて、パイ
プラインの状態を凍結する。DSPコアが制御レジスタ
ctr 3018のDTフラグを再設定すると、DMA
Cは、凍結したパイプラインの状態から実行を再開す
る。
【0102】図8Cは、データ転送の最後にDMACが
行う動作を示す。
【0103】周辺装置の割込み 6種類あるDMAC動作への割込みを表3に示す。これ
らの割込みにより、DSPがローカル・データ転送動作
に迅速に割り込んでホストや周辺装置のデータ転送要求
を処理することが可能となるという点において、これら
の割込みは、本DSPの比類無き特徴の1つである。
【0104】
【表3】
【0105】表3および図9を参照すると、優先度が最
高の割込みは、DSPコア(RST信号)またはホスト
・インタフェース(GRESホスト・コマンドで開始さ
れるDTRESET)からのリセットである。これらの
1つが検出されると、レジスタが解除され、DMACが
停止(ホールト、HALT)モードに入る。リセットが
全く検出されない場合、DMACは、レジスタhstr
1のビット・フラグによってそれぞれ表されるホスト・
インタフェースの割込みDIF(data input full 、デ
ータ入力フル)およびDOE(data output empty 、デ
ータ出力エンプティ)を探す。これらが見つかった場
合、DMACは、ホスト・ポインタ・レジスタhp 3
024とデータ・レジスタhi 3042またはho
3044とを用いてホストDMAデータ転送またはWR
P/RDPホスト・コマンドを実行する。これが終わる
と、DMACは、DTフラグを検査する。DTフラグが
設定されている場合、DMACは、中断された本来のデ
ータ転送動作を開始する。DTフラグが解除されている
場合、DMACは、HALTモードに入る。
【0106】最後に、DMACは、レジスタictrの
ビット・フラグによってそれぞれ表される周辺割込み0
(PIRQ0)、そして周辺割込み1(PIRQ1)を
探す。これらの割込みの何れかが検出された場合、DM
ACは、割込み制御レジスタictr 3022におい
て指定される機能を伴う「load dr 」および「stored
r」コマンドを実行することにより、単一データ転送シ
ーケンスを実行する。割込みPIRQ0およびPIRQ
1には、転送先レジスタaid0/1、転送元レジスタ
ais0/1および反復回数レジスタirc0/1がそ
れぞれ使用される。この転送の終了の後、DMACは、
制御レジスタctrのDTフラグを検査する。このフラ
グが設定されている場合、DMACは、中断した本来の
データ転送動作を再開する。DTが解除されている場
合、DMACは、HALTモードにはいる。
【0107】図10は、DMACがシリアル・インタフ
ェースの入力レジスタ(周辺装置インタフェース220
0の一部)からメモリ・ブロックへとデータを転送する
過程を示す。転送先アドレス・ポインタ(あるメモリ位
置への)は、割込みの度にインクリメントする。このよ
うにして、シリアル装置からの非同期信号を転送先メモ
リに順次書き込むことができる。これは、モデムまたは
コーデックから内部または外部のメモリへのデータ転送
のような単一転送元レジスタから複数のメモリ位置への
データ転送の一例である。
【0108】DSPは、転送を始めるにあたり、最初
に、選択された周辺装置、転送機能およびDSPの割込
み要求モードを割込み制御レジスタictr 3022
に書き込む。この場合、DSPは、<S20,S10,
S00>を<0,0,0>と設定することにより、シリ
アル・インタフェース0の入力を周辺割込み0 PIR
Q0として選ぶ。第2に、DSPは、<F01,F00
>を<0、1>と設定する(これは、転送機能*aid
++=*aisに相当する)ことにより、転送が単一の
転送元(シリアル・インタフェース0のデータ受信レジ
スタ)から複数の転送先(メモリの1ブロック)へのも
のであることを指定する。第3に、DMACがデータ転
送の終了後にDSPに割り込むか否かを決定するPTE
0PフラグをDSPコアにより設定する。PTE0Pを
0に設定することは、DSPコアに割込みが送られない
ことを意味する。PTE0Pを1に設定することによ
り、DMACが、割込み転送カウンタirc0が1に等
しいときに、それぞれの割込みPTE0またはPTE1
をDSPコアに送るようになる。
【0109】次に、DSPが、転送元および転送先のア
ドレスをais0 3032およびaid0 3028
にそれぞれ設定する。この例では、ais0が、シリア
ル・インタフェース0の受信データ・レジスタのアドレ
スを保持し、aid0が、前記のシリアル・データの書
き込まれるメモリ・ブロックの開始アドレスを保持す
る。必要であれば、転送予定のデータ数を割込み反復回
数レジスタdirc0に書き込む。
【0110】次に、DSPにより、シリアル・インタフ
ェース0の制御レジスタsctr03071のフラグR
IE0を1に設定することによりシリアル・インタフェ
ース割込みのマスクを解除する(図4Eおよび4G参
照)。シリアル・インタフェース2202は、そのデー
タ読み込みレジスタrdr0 3073(実施例におい
ては24ビットのシフト入力パラレル出力レジスタ)を
満たすデータを受信すると、状態レジスタsstr0
3072のRDRF0フラグをセットする。レジスタs
ctr0のRIE0フラグを1に設定すると、シリアル
受信データ・レジスタrdr0が外部の装置2302か
ら受信したデータで一杯になったときに、シリアル・イ
ンタフェース0 2202は、受信データ割込み信号を
DMACまたはDSPの割込みコントローラの何れかに
送ることが可能となる。sctr0レジスタ3071の
IAD0(割込み要求アドレス)フラグが0に等しい場
合、受信データ割込みは、DSPコア3500に送られ
る。IAD0フラグが1に等しい場合、受信データ割込
みはDMACに送られる。RIE0が0に設定されてい
る場合、受信されたデータ割込みは、DSP割込みコン
トローラにもDMACにも送られないので、データはD
SPに全く受信されないことになる。
【0111】同様に、周辺装置へのデータの転送に対し
ては、周辺インタフェース2202が、転送されるべき
データが格納される送信データレジスタtdr0(実施
例においては24ビットパラレル入力シフト出力レジス
タ)を有する。周辺インタフェース2202は、レジス
タtdr0のデータが周辺装置2302により総て受信
されると、状態レジスタsstr0のビット・フラグT
DRE0をセットした後、対応する「出力エンプティ」
割込み要求信号を生成する。IDA0が1に等しい場
合、この割込みは、DMAC3000へと経路選択され
て送られ、次に、その周辺インタフェースに対する反復
回数irc0が2以上の場合、DMACが、次のデータ
・ワードを送信データレジスタtdr0にロードする。
【0112】シリアル・インタフェース1 2204も
同様のレジスタsctr1、sstr1、rdr1およ
びtrd1を備えている。
【0113】DMACの割込み動作は、シリアル・イン
タフェース0 2202からのシリアル入力データ・レ
ジスタフル割込み信号S0DIFによって開始される。
即ち、この割込み信号が、DSPの割込みコントローラ
2600に送られ、そこで、ictr 3022の割込
みフラグPIRQ0が値1に設定される。さらに、これ
により、シリアル・データのリードの用意のできたこと
が、DMACの割込みコントローラ3004に信号で通
知される。DMACに到達する多数の周辺割込みが、表
3で決定された優先度によって処理される。周辺のデー
タ転送が受け付けられると、一対のdrロード動作およ
びdrストア動作によって転送が実現される。前記のよ
うに、drロードおよびdrストアの動作中に行われる
メモリ・アクセスに対しては、競合の調停が行われる。
DMACの割込みプログラムのdrロード動作の直前
に、DMACがPIRQ0フラグを解除して、DMAC
の割込みコントローラに次の割込みを受ける準備をさせ
る。drロード動作に続いて、DMACは、シリアル入
力データレジスタフルフラグRDRF0を解除して、そ
のシリアル・インタフェースにさらにデータを受信する
準備をさせる。フラグPIRQ0およびRDRF0の解
除は別として、割込みデータ転送動作は、転送元および
転送先のレジスタがais0およびaid0である点を
のぞけば、前述のローカル・データ転送動作と正に同じ
である。
【0114】drロードおよびdrストアの終了後、D
MACは、反復カウンタirc0の内容を検査する。i
rc0=1(周辺転送が終了していることを意味す
る)、且つPTE0P=0(転送終了ののち直ちに、D
SPコア3500が割込みを受けることを意味する)の
場合、DMACは、割込みPTE0(周辺転送0終了)
をDSPコア3500に発する。irc>=2の場合、
反復カウンタirc0を1だけデクリメントし、DMA
Cが、次の周辺割込みを待つ。この時点で、フラグDT
=1(割り込まれたDMACのデータ転送プロセスを意
味する)の場合、DMACは、その中断したプロセスを
再開する。フラグDT=0(割込みを受けた動作が無い
ことを意味する)の場合、DMACは、HALTとな
る。
【0115】図11は、周辺データ転送動作のタイミン
グを示す。DMACの割込みが、割込みを受信し(フラ
グPIRQ0をセットするDSPを介して)、次のサイ
クルにおいて、優先度を解読する。競合する割込みの場
合、優先度の低い割込みは無視する。次のサイクルで、
DMACの割込みコントローラが、その割込みを承認
(アクノリッジ)して、割込み処理プログラムをフェッ
チする(ictrにおいて指定される転送機能からPL
A状態が生成される)。2つの連続した命令(ロードd
rおよびストアdr)がフェッチされる。2サイクルで
それらの命令が実行された後に、DMACの割込みコン
トローラにより、本来の転送ルーチンを再開する。な
お、DMACは、既に実行中のローカル・データ転送が
終了するまで、割込み処理プログラムの実行を延期す
る。つまり、前のデータ転送動作の実行が終わっていな
い場合、割込み動作をDMACの1動作周期だけ遅らせ
る。
【0116】ホストのデータ転送 DMAC3000には、日立製作所製のものおよびその
他の馴染み深いマイクロプロセッサに対するインタフェ
ースが含まれる。このインタフェースは、ホスト・デー
タ・バス(HD)1122への16ビットまたは8ビッ
トの接続ならびにホスト・アドレス・バスHA 112
4への4ビットの接続を提供する(これにより、ホスト
は、8または16ビット単位でDSPレジスタにアクセ
スすることが可能となる)。このホスト・インタフェー
スによって、次の機能が提供される。
【0117】1)データ転送コマンドおよびDSPコア
3500へのオペレーション・モード・コマンドを含む
ホスト・マイクロプロセッサからのコマンドの受信。
【0118】2)外部メモリ2500を含むDSPのす
べてのメモリ/レジスタ資源へのホストからのアクセ
ス。この機能は、DMAC3000のホスト・ポインタ
・レジスタhp 3024、およびホスト・データ入出
力レジスタhi 3042およびho 3044によっ
て実現され、これにより、ホストは、メモリ空間に割り
当てられた任意の資源にアクセスすることが可能とな
る。
【0119】3)ホストDMAコントローラ1202に
よるホスト・メモリとすべてのDMAメモリとの間のD
MA転送。
【0120】図4B、図4Dおよび表4に示すように、
ホスト・コンピュータ1200は、ホスト・インタフェ
ースにおける次のような接続線の集合によってDSPに
接続される。
【0121】
【表4】
【0122】本明細書においては、モード制御信号およ
びI/O制御信号をまとめてホスト制御信号バスと称す
る。
【0123】図4Bおよび4Dに示したように、ホスト
・バス・インタフェース3075により、ホストと次の
DSPレジスタとの間に接続を与える。このDSPレジ
スタには、24ビットのデータ・レジスタhi 304
2、ho 3044、18ビットのホスト・ポインタ・
レジスタhp 3024、ホスト・インタフェース状態
レジスタhstr0 3013、hstr1 301
5、およびホスト制御レジスタhctr 3011が含
まれる。ホスト・バス・インタフェース3075が許可
されるのは、デコーダ3076(DSPの外部の)が、
ホスト・アドレスの上位数ビット(あるいはHA3より
上のホスト・アドレス線)が所定のまたは予め割り当て
られた値と一致することを発見して有効なホスト・チッ
プ選択信号HCSをDSPのHCS\入力ピンに印加す
る場合に限られる。
【0124】ホスト・データ・バス1122では8また
は16ビット・データしか与えられないので、DMAC
のホスト・インタフェース・レジスタho 3044、
hi3042およびhp 3024は、まとめてではな
く、8ビットまたは16ビットに分けてアクセスされ
る。ホストCPU1200からのHBW信号で、ホスト
・データ・バスHDが8ビット幅か16ビット幅かを指
定する。4ビットのホスト・アドレス・バス・インタフ
ェースにより、ホストは、8ビットDSPレジスタを1
6個まで直接にアドレス指定できる。その他のDSPレ
ジスタおよびメモリ資源は、すべて、レジスタ・アドレ
スまたはメモリ・アドレスをhpレジスタ3024に指
定した後、MDACのhiおよびhoレジスタを通して
データ転送を行うことにより、アクセスされる。
【0125】DMACのアドレス可能なレジスタは24
ビットのホスト・ポインタ・レジスタhp 3024、
ホスト入力レジスタhi 3042、ホスト出力レジス
タの8ビットあるいは16ビットのレジスタ・セグメン
トからなっている。ホスト・コンピュータにより直接ア
ドレス可能な他のレジスタはホスト制御レジスタならび
に状態レジスタhctr 3011、hstr0 30
13、hstr1 0315である。これらのレジスタ
は、8ビットあるいは16ビットのホスト・データ・バ
スに直接接続されており、4ビットのホスト・アドレス
線を介してアドレス可能である。表5は、HDが8ビッ
トの場合(即ち、レジスタが一度に8ビットでアクセス
される場合)、アドレスHA0〜3がどのようにレジス
タに対応するか示されており、表6は、HDが16ビッ
トの場合(即ち、レジスタが一度に16ビットでアクセ
スされる場合)アドレスHA0〜3がどのようにレジス
タに対応するかが示されている。
【0126】
【表5】
【0127】
【表6】
【0128】本発明のDSP1100では、幾つかの外
部ピンをホスト・インタフェース専用としている。これ
らのピンを表6に示す。これらのピンの幾つかの状態
が、ホスト・レジスタstr0、str1およびhct
rのフラグに結び付けられている。
【0129】ホスト・データ転送は、転送元データ・ロ
ードとそれに続く転送先データ・ライトからなるという
点において、前述のローカル・データ転送と同じであ
る。ホスト・データ転送が、他方と異なるのは、ホスト
・データ転送では転送元または転送先の何れかがDSP
の外にあるという点であり、これは、DMAバスが転送
の半分に使用されるにすぎないことを意味する。例え
ば、DSPメモリに書く場合、ホストCPU1200
は、転送先のメモリ・アドレスをホスト・ポインタ・レ
ジスタhp 3024に書き、入力データをホスト入力
データ・レジスタhi3042に書き込む。DSPメモ
リから読む場合は、ホストが、転送先のメモリ・アドレ
スをホスト・ポインタ・レジスタhp 3024に書
き、DSPが、ホストにより読み出されるホスト出力デ
ータ・レジスタho 3044に出力データを入れる。
【0130】ホスト・データ転送には2種類ある。ホス
ト・ポインタ・レジスタhp 3024は、ホストが読
んだり書いたりするデータの転送元または転送先のアド
レスをホストが書き込む所である。そのホスト・データ
・インタフェースに接続された2つのレジスタhi 3
042およびho 3044、即ち、ホスト入力レジス
タおよびホスト出力レジスタが、DMACにより与えら
れる。DMACは、これらの2つのバスおよび3つのレ
ジスタを用いて、2種類のホスト・データ転送をサポー
トする。1つは、DMACによって制御されるRDP/
WRPホスト・コマンドによる独立したリード/ライト
であり、他方は、ホストDMAコントローラにより制御
される連続的なホストDMA転送である。
【0131】表7に、実施例においてホスト・コンピュ
ータがDMACに送ることができるホスト・コマンド・
セットを掲げる。ホスト・コンピュータは、ホスト・コ
マンドをホスト制御レジスタhctr 3011に書き
込む。
【0132】
【表7】
【0133】独立したホスト・リード/ライト動作によ
り、DSPのパラレル・インタフェースに接続された外
部メモリを含むDSPの任意の位置へのランダム・アク
セスが可能となる。このことは、DSPとその周辺装置
のデータや設定済みの制御機能の小部分を修正するのに
有用である。これに対し、DMA転送により、比較的大
量のデータを転送する効率的な方法が得られる。
【0134】DSPチップのメモリ空間割り当て資源が
ホスト・データ転送の転送元または転送先である場合、
その転送動作は、何れもDMACへの割込みとして実行
される。ホストによる割込みは、前記の周辺割込みとし
て処理される。なお、ホスト・データ入力フル割込みD
IFは、優先度が2番目の割込みであり、データ出力エ
ンプティ割込みDOEは、第3の優先度を有する。この
ように、ホストの割込みは、周辺割込みにより優先され
て処理される。その他のローカル・データ転送に関して
も同様であるが、ホストによるアクセスは、すべて並列
アービタ2100を通り、必要な場合(ページ・アクセ
スの競合がある場合)には、DSPコアのサイクルの合
間をぬってメモリにアクセスする。メモリ・アクセスの
競合がない場合、低速のホスト・データ転送でも、DS
Pコアの動作速度を落とすことなくバックグラウンドで
実行することができる。
【0135】転送元または転送先がDSPコアのレジス
タの場合、DMACが、RDP(DSPを読む)または
WRP(DSPに書く)コマンドをDSPの共用デコー
ダに送る。そして、これらのコマンドがDSPコアによ
り正規のレジスタ間の移動(move)動作として実行
される。ホストRDP/WRPコマンドは、次に説明す
る。
【0136】RDP/WRPホスト・コマンドによるリ
ード/ライト 図12Aおよび図12Bは、8ビット・ホスト・データ
・バスに対するホストのリードおよびライトの手順を示
し、図13Aおよび13Bは、16ビット・ホスト・デ
ータ・バスに対するホストのリードおよびライトの手順
を示す。
【0137】8ビット・ホスト・データ・バスの場合、
8ビット・データ・バスHD0〜7を通してホストが2
4ビットのデータをリード/ライトしたり、18ビット
のポインタ・データを設定したりする場合、DSPを3
回アクセスしなければならない。したがって、この手順
を実行するには、計7回のホスト・アクセス(データ転
送に3回、ポインタ転送に3回、さらにWRP/RDP
コマンドに1回)が必要となる。16ビット・ホスト・
データ・バスの場合、16ビットのHD0〜15を通し
てホストが24ビットのデータをリード/ライトした
り、18ビットのポインタ・データを設定したりする場
合、DSPを2回アクセスしなければならない。したが
って、この手順を実行するには、計5回のホスト・アク
セス(データ転送に2回、ポインタ転送に2回、さらに
WRP/RDPコマンドに1回)が必要となる。
【0138】DSPのメモリまたは周辺装置からリード
するためには、ホストは、まず18ビットのメモリ転送
元アドレスをホスト・ポインタ・レジスタhp 302
4に直に書き込む(8ビット・ホスト・データ・バスを
用いる場合、このhpレジスタは、レジスタhp2、h
p1およびhp0としてアクセスされ、16ビット・ホ
スト・データ・バスを用いる場合、このhpレジスタ
は、レジスタhp2およびhpLとしてアクセスされ
る)。次に、ホストが、RDPコマンドをホスト制御レ
ジスタhctr 3011に書くことによりRDPコマ
ンドを送る(図4Aおよび4B参照)と、直ちに、hp
レジスタによって指示される転送元データがホスト出力
レジスタ3044に転送される。
【0139】ホスト状態レジスタ1 hstr1のビッ
トの1つが、割込みフラグDOE1である。DOE1割
込みフラグは、RDPホスト・コマンドがDSPにより
フェッチされ、割込み信号DOE(ホスト・データ出力
エンプティ)がDMACの割込みコントローラに送られ
た後に、セットされる。DMAC割込みコントローラが
その割込みを受け付けた後、割込みアクノリッジ信号D
ACKが、DMAC3000に送り返されて、DOE1
がクリアされる。DOE割込みは、優先度3である(表
3参照)。
【0140】結局、ホストは、ho2、ho1およびh
o0から一度に8ビットずつ読むか、またはho2およ
びhoLから2回読むことにより、レジスタhoから読
むことができる。
【0141】ホストがデータをDSPに書き込む場合、
ホスト1200は、まず、18ビットの転送先アドレス
をポインティング・レジスタhp 3024に直接書き
込む(8ビット・ホスト・データの場合、hpはhp2
〜0であり、16ビットホスト・データの場合、hpは
hp2およびLである)。そして、ホストは、ホスト入
力レジスタhi2〜0(8ビット・ホスト・データの場
合)またはhi2およびL(16ビット・ホスト・デー
タの場合)にデータを書き込む。次に、ホスト・コマン
ドWRPをホスト制御レジスタhctr 3011に書
き込む。このコマンドにより、hi 3042の内容が
hp 3024によって示された転送先に書き込まれ
る。
【0142】WRPホスト・コマンドのフェッチの後、
DMACの(レジスタhstr1の)割込みフラグDI
FIが、DMACによりセットされ、割込み信号DIF
が、DSPの割込みコントローラに送られる。DSPの
割込みコントローラ2600は、DACK信号をDMA
C3000に送ることにより、その割込みを承認する。
ここで、DMACは、DIFIフラグを解除する。
【0143】図14Aおよび14Bには、ホスト120
0がDSPの資源をアクセスする種々のデータ経路を示
す。転送が、ホスト入力レジスタhi 3042および
ホスト出力レジスタho 3044とDSPのメモリ
(オンチップ・データ/命令メモリ1900、140
0、メモリ空間に割り当てられた周辺装置2300、ま
たは外部メモリ2500)との間で行われる場合、この
転送は、バスDA 1112およびDD 1106によ
って実行され、DMAC3000の割込みとして実行さ
れる。
【0144】図14Bは、ホスト入力/出力レジスタh
i、hoとDSPコア3500との間のデータ転送を示
す。ホスト・アドレス・ポインタhpがDSPコアのレ
ジスタ(DMAバスDA、DDからアクセスできない)
のアドレスを保持している時は、DMACは、割込みデ
ータ転送を行わない。代わりに、DMACは、RDP/
WRPホスト・コマンドをDTCOM0〜3信号線を通
して、7ビットのDSPコアレジスタ・コードをDTX
CODE0〜6信号線を通して、命令デコーダ1600
に送る(図4C参照)。命令デコーダ1600は、この
データ転送をレジスタ間の移動(move)動作として
実行する。
【0145】RDP/WRPを用いたメモリへのリード
/ライト DSPがHALT(ホールト、停止)またはRUN(ラ
ン、実行)モードの時でも、メモリまたは周辺装置への
ホストのデータ転送は、実行することができる。データ
転送動作がないと、DMACはHALTモードに置かれ
る。進行中のデータ転送があるときは、DMACはRU
Nモードにある。
【0146】図15は、(遅延がなく)DMACがHA
LTモードである時のホストRDP/WRPコマンドに
対する実行のタイミングを示す。DSPがRUNモード
の場合もDSPがSLEEPモードの場合も、この種の
転送が可能である。
【0147】ホスト・コマンドがラッチされた後のサイ
クルにおいて、DMACの入力レジスタフル割込みDI
F(WRPコマンドに対して)または出力レジスタエン
プティ割込みDOE(RDPコマンドに対して)が、D
MAC割込みコントローラに送られる。DMACの割込
みコントローラ3022が、この割込みを受けると、直
ちに、表3の優先順位表を用いてその優先度を解読す
る。その割込みが受理されると、割込みコントローラ3
022は、割込み承認(アクノリッジ)DACKを送り
返して、DIF/DOEフラグをクリアする。同時に、
そのホスト・コマンドに対応する割込み命令が、解読・
実行される。ホスト・コマンドがWRPの場合、*hp
=hiがフェッチされて解読される。そのコマンドがR
DPならば、ho=*hpがフェッチ・解読される。こ
れらの命令は、次のサイクルで実行される。DMAアド
レス・バスDA 1112上にアドレスが出され、次に
DMAデータ・バスDD 1106を通してデータが転
送される。
【0148】このデータ転送実行サイクル中に、並列ア
ービタからのPASTALL信号が時刻t2に監視され
る。この信号がLow の場合(メモリ・アクセスを進める
ことができることを意味する)、WRP/RDPが実行
されたことがホストにわかるように、ホストへの繰り延
べ信号HWAITを解除する。
【0149】DMACがHALTモードで、アドレス位
置へのアクセスに1サイクル分のウェートが必要な場合
のホストRDP/WRPコマンドに対する実行タイミン
グを図16に示す。この場合、並列アービタ2100か
らの延期信号PASTALLが、最初のデータ転送実行
サイクルにおいてセットされ、1サイクル後にリセット
される。この延期信号がセットされている限り、DDバ
スから転送先に書き込まれるデータは、保留される。繰
り延べ信号HWAITの解除は、ウェートのない例と比
較して、1サイクルだけ延期される。
【0150】DMACがRUNモードで(即ち、DMA
Cがローカル・データ転送を実行して)、アドレス指定
された位置へのリード/ライト・アクセスにウェートを
必要としない(即ち、メモリ・アクセスの競合がなく、
アドレス指定された位置が1サイクルでアクセスするこ
とができる)場合のホストRDP/WRPコマンドに対
する実行のタイミングを図17に示す。この実行タイミ
ングは、DSPコアのRUNおよびSLEEPの両モー
ドで適用できる。ホストRDP/WRP割込みシーケン
スにおいては、DMAC本来のデータ転送サイクルから
アクセス・サイクルが盗用される。この割込みは、現在
のDMACのデータ転送の終了後(即ちdr 3040
へのロードおよびdr 3040からのストア)に限っ
て、受け付けられる。
【0151】RDP/WRPを用いたDSPコアのレジ
スタへのリード/ライト DMACがSLEEPモードであり、ホストによりアク
セスされている位置がDSPコアのレジスタである場合
のホストRDP/WRPコマンドの実行タイミングを図
18に示す。この種の転送は、DSPコアがRUMまた
はSLEEPモードの場合に、可能である。
【0152】ホスト・アドレス・ポインタhp 302
4により、DSPコアのレジスタのメモリ・マップされ
たアドレスが保持される。このアドレスは、ホスト・コ
マンドがラッチされた後のサイクルで解読(デコード)
される。次のサイクルで、DMACが、RDP/WRP
ホスト・コマンドをDTCOM0〜3信号線を通して、
7ビットのレジスタ・コードをDTXCODE0〜6信
号線を通して、命令デコーダ1600に送る。命令デコ
ーダ1600は、そのホスト・コマンドを受信すると直
ちに、それを解読して、そのデータ転送をレジスタ間の
移動(move)動作として実行する。
【0153】図19Aは、DMAC内部のホスト・イン
タフェース・レジスタを直接アクセスするホスト・コン
ピュータの実行タイミングを示す。このようにアクセス
可能なレジスタは、図4Bに示した。ホスト・コンピュ
ータに直接アクセス可能なレジスタの場合、そのように
アクセスされるレジスタのデータは、HRDの立ち下が
りエッジに続く2番目のDSP命令サイクルの時刻t0
に、ホスト・データ・バスHD0〜15上に直接出され
る。HRDの立ち上がりエッジの検出の後、データ・バ
スHD0〜15は、HRD信号の取り下げに続く第2の
DSPサイクルの時刻t0にハイ・インピーダンスとな
る。このシーケンスの間、ウェート・ピンHWAIT
は、Highに保持される。この場合、ウェート・ステ
ートは無用である。
【0154】図19Bは、hctrを含まないホスト・
インタフェース・レジスタへのホスト・コンピュータ・
ライトのシーケンスの実行タイミングを示す。(ホスト
制御レジスタhctrに書き込みを行うと、そのレジス
タに書き込まれたコマンドは、何れを問わずDMACに
より実行され、その後、htcrは、DMACのホスト
・インタフェース制御ブロックにより自動的にクリアさ
れるので、注意を要する。)HWRの立ち上がりエッジ
に続くDSPサイクルの相t0において、ホスト・デー
タ・バスHD0〜15上のデータが、ホスト・アドレス
・バスHA0〜3上の信号によって指定される転送先レ
ジスタに格納される。このシーケンスの期間中、ウェー
ト・ピンHWAITがHighに保持される。ここで
は、ウェート・ステートは、必要ない。
【0155】さらに、図4Dを参照して注目されること
であるが、ビット・フラグ・レジスタhrq3017を
セットすると、HIRQ信号がホスト・コンピュータに
送られるので、DSPは、これにより、割込み要求をホ
スト・コンピュータに送ることができる。ホストが、H
IACK信号を送り返すと、ビット・フラグ・レジスタ
hrq3017は、DMACによってクリアされる。
【0156】ホスト・メモリとDSPの間のホストDM
A転送 ホストDMAは、ホスト・メモリ1204とDSPの間
の高速データ転送として使用される。ホストDMA転送
を用いて、データと命令の両方をDSPに送ることがで
きる。したがって、ホストのメモリ、ホストのハード・
ディスク、フロッピィ・ディスク、または通信網から大
きなアプリケーション・プログラムやデータをダウンロ
ードすることができる。ホスト1200は、それ自体の
DMAコントローラ1202を用いて(図4D参照)、
DSPに内蔵のメモリおよびレジスタのみならず、DS
Pの外部メモリ2500もアクセスすることができる。
ホストDMAは、2つのモードで行うことができる。即
ち、DSPがホストからメモリ・アクセス・サイクルを
盗用するサイクル・スチール・モード、および転送中に
DSPがホストバスを占有するバースト・モードであ
る。
【0157】図20は、本発明のDSPに接続されたD
MAコントローラを備えたホスト・コンピュータを示
す。ホストのDMAC1202は、ホスト1200に内
蔵されているか、またはホスト1200の外にあって、
それに接続されていることがありうる。DSPのホスト
・データ・バスHD0〜7(ホスト・バス幅信号HBW
=0のとき)またはHD0〜15(HBW=1のとき)
は、ホスト自体のデータ・バスの対応する部分、即ち、
ビット0〜7またはビット0〜15に接続される。ホス
トは、アドレスをアドレス・バスを介してDMACに送
る代わりに、アドレスをホスト・ポインタ・レジスタh
p 3024を介してDSPに送る。ホストは、ホスト
DMA転送の期間中、転送を3回(HBW=0の場合)
または2回(HBW=1の場合)行う度にhp 302
4の値をインクリメントする。この回数は、24ビット
のDSPレジスタの書き込みに要する転送回数に対応す
る。
【0158】ホストDMA転送は、ハンドシェーク信号
HDREQ、HDACKおよびHEODによって制御さ
れる。サイクル・スチール・データ転送では、DMAC
が、HDREQ信号をセットすることにより次のデータ
を要求する。すると、ホストDMAコントローラが、そ
の要求を認めてHDACK信号をDSPに送る。バース
ト転送モードにおいては、転送期間中、HDREQがHi
ghに保持される。HDACKの立ち下がりエッジによっ
て、DSP内部のデータ移動が開始される。データ転送
処理がすべて完了すると、ホストDMAコントローラ1
202が、データ終了信号HEODを発する。
【0159】図21は、ホストのバスが8ビットの場合
のサイクル・スチールDMAリードにおけるDMA手順
を示す。まず、ホストが、そのDMA転送に対する開始
アドレスをDSPポインタ・レジスタに書き込む。ま
た、ホストは、ホスト・メモリ位置の転送元または転送
先とDMA転送回数とをホストDMAC1202に送
る。そして、ホストが、開始コマンドをホストDMAC
に書き込むと、DMACは、DSPからのHDREQ信
号の受信後、直ちに転送を開始する準備が整う。
【0160】ホストは、HDREQ信号を受信すると直
ちに、DMACR(DMAサイクル・スチール・リー
ド)ホスト・コマンドをDSPに送る。これにより、h
str0レジスタ3013のDMAモード・フラグDM
1およびDM0が値「0,0」に設定される(図4F参
照)。ポインタ・レジスタhp 3024によって指し
示されるメモリ/レジスタの内容が、出力レジスタho
3044に移される。この転送の後、DSPのDMA
Cが、hp 3024の内容をインクリメントする。
【0161】サイクル・スチールDMAモードの場合、
そのような転送が終了する度に、データ転送要求信号H
DREQが、DSPからホストのDMAC1202に送
られる。なお、動作がDMAライトである場合、HDR
EQがホストDMACに送られる前にデータが転送され
ることはない。
【0162】ホストDMAC1202が、HDREQ信
号を受信し、バス要求RQをホストに送る。ホストがバ
スの利用を許可した後、ホストDMAC1202が、ア
クノリッジ信号HDACKをDSPに送る。HDACK
信号の受信に続いて、DSPは、HDREQ信号を取り
下げ、レジスタho 3044に読み出し用のデータが
用意されたことをホストDMAC1202に合図する。
次に、ホストDMACが、HWR信号を送ることによ
り、hoレジスタの内容がホスト・メモリ1204に書
き込まれる。なお、DSPにおけるHRDおよびHWR
の信号の意味が、ホストDMAモードに対しては入れ替
わるので、注意する必要がある。これは、ホスト・メモ
リ1204とDSP1100が、同じHRDおよびHW
R線に接続されていても、それらの一方のみが送信側と
なることができ、他方は受信側となるからである。した
がって、ホストDMAモードでは、HWRコマンドによ
り、hoレジスタのデータが読み出されてホスト・デー
タ・バスHD上に出され、一方、HRDコマンドによ
り、ホスト・データ・バスHD上のデータがhiレジス
タに書き込まれる。
【0163】サイクル・スチール・モードにおけるホス
トDMAライトの場合、一度、データが入力レジスタh
i 3042に送られると、DSPにおいて、hiの内
容がhp 3024で示される転送先に移され、hp
3024に格納されているポインタがインクリメントさ
れる。例えば、ホストがデータをhi 3042に書き
込むと、DMAのホスト・インタフェースが、HIFフ
ラグをセットする。これにより、割込みがDMACシー
ケンサに送られる。
【0164】これらのホストDMA動作は、DMACへ
の割込みとして実行される。ホスト・コンピュータが、
hstr1(表5に示されているようにホスト・コンピ
ュータが直接アクセスできる)のDOEIフラグをセッ
トすると、リード割込みが発生し、対応する割込みが、
DMACの割込みコントローラに送られるが、一方、デ
ータがホスト・コンピュータにより入力レジスタhiに
ストアされた後、ホスト・コンピュータがhstr1の
DIFIフラグをセットすると、ライト割込みが発生
し、対応する割込みが、DMACの割込みコントローラ
に送られる。DMACシーケンサによって実行される割
込みプログラムは、ライトに対しては*hp++=hi
であり、リードに対してはho=*hp++である。先
に説明したように、ホスト・データ・バスが8ビット・
バスの場合、ホスト・コンピュータは、18ビット・ホ
スト・ポインタ・レジスタhp 3024を設定するた
めにも、またho/hiホスト・データ・レジスタをリ
ード/ライトするためにも、アクセスを3回ずつ行わな
ければならない。ホスト・データ・バスが16ビット幅
の場合には、それらの各動作に対して2回のアクセスが
必要となる。
【0165】図22を参照すると、ホスト・バースト転
送においては、DOE(ホスト・リードの指定)または
DIF(ホスト・ライトの指定)の何れかの割込みを一
回だけDSPに送り、以降、データの最後に達するまで
連続的にデータを転送する点を除けば、ホスト・バース
トDMA転送は、サイクル・スチール・データ転送と同
じである。これに対して、サイクル・スチール・モード
DMA転送では、各ワードの転送の前にDSPの割込み
処理が必要となる。バースト・モード転送は、DSPが
DMA処理の期間中HREQピンをHighに保つことによ
って実行され、各データ転送は、HDACK信号の立ち
下がりエッジで開始される。さらに、ホスト・バースト
DMA転送の場合、DMAC3000において内部回数
カウンタはデクリメントされない。そのかわり、ホスト
・コンピュータ、即ち、ホスト・コンピュータのDMA
により、カウンタが維持され、最後のデータ・ワードが
転送された後、データ終了信号HEODがDMAC(H
EOD\ピン)に送られる。
【0166】すべてのホストDMA処理は、同様の実行
タイミングを有する。ホスト・コマンドDMACRまた
はDMABRの後、DSPは、データ移動を行って、H
DREQ信号を送る。これは、割込みDOEをDMAC
割込みコントローラに送り、且つ割込みプログラムho
=*hp++を実行することにより実行される。最初の
転送に対しては、DMACRおよびDMABRにより、
割込みを開始する(DOEI割込みフラグをセットす
る)。以降のデータ転送に対しては、ホスト(ホストD
MAC)が、すべてのhoレジスタ(即ち、ho2,h
o1,ho0、または、ho2,hoL)を読んだ時
に、割込みが開始される。DMACが実行中の場合、こ
のDMAC割込みのために、ローカルなDMAアクセス
動作から1サイクルが盗まれる。このDMAデータ転送
に対しては、余分なハードウェアを一切必要としない。
【0167】ホストDMAライトの場合、DMACWま
たはDMABWホスト・コマンドの後に、HREQ信号
が出される。このデータ転送*hp++=hiは、すべ
てのホスト入力レジスタhi(hi2,hi1,hi
0、または、hi2,hiL)に書き込まれてから、行
われる。
【0168】DSPのブート RST\ピンは、通常、これにRSTパルスを生成する
電源リセット回路、ウォッチドッグ回路、外部ホスト・
プロセッサ、手動スイッチ、またはこれらの組み合わせ
に接続される。RST\へのリセット・パルスにより、
DSPが、それ自体をリセットし、HMOD<0,1>
ピンを検査し、さらにHMOD<0,1>ピンの設定状
態に基づいて少なくとも1つのリセット動作を行う。
【0169】本発明は、2つのDSPブート・モード、
即ち、ローカルおよびホストを与える。ブート・モード
は、信号HMOD0および1によって制御される。DS
Pのパラレル・インタフェースにROMが接続されてい
ないときに、ホスト・コンピュータから起動するために
は、外部ピンHMOD<0,1>の信号を「1、0」に
設定する。信号HMOD<0,1>をホスト・ブート・
モードに設定した状態でRSTピンをセット出力する
と、DSPは、いつでもレジスタをすべてリセットし
て、スリープ・モードで待機する。ここで、ホストが、
WRPコマンドまたはバースト・モードの連続DMA転
送を用いて、割込みベクトルおよびリセット・ルーチン
・プログラムをオンチップ・命令メモリまたはDSPの
外部メモリにダウンロードする。次に、DSPにおい
て、制御フラグをセットして、64の割込みベクトル・
ワードの格納場所(即ち、チップ上かチップ外か)を示
す。最後に、ホストが、GRES(全体リセット)コマ
ンドを送って、DSPの動作を開始する。また、ホスト
は、GRESコマンドを送る前に、付加的なプログラム
およびデータをDSPの内部および外部のメモリにダウ
ンロードするのが一般的であるが、付加的なプログラム
は、GRESコマンドを送った後にロードすることもあ
り得る。
【0170】ローカル・ブート・モード 割込みベクトルが、チップ上の命令メモリか、またはパ
ラレル・インタフェースに接続されたローカルな外部メ
モリにある場合、ローカル・ブート・モードが用いられ
る。ホスト・モード信号HMOD<0,1>を「0,
0」に設定することにより、ローカル・モードが選択さ
れる。RST信号がセットされると、DSPは、すべて
のレジスタをリセットし、直ちにRSTベクトル記憶位
置まで飛び越してリセット・ルーチンを開始する。
【0171】ホスト・インタフェースに接続されたRO
Mを用いたスタンド・アロン・ブート・モード DSPにホストが接続されていない場合、このDSP
は、そのパラレル・インタフェースに接続されたROM
またはホスト・インタフェースに接続されたバイト構成
のROMから起動することができる。後者の構成は、次
の理由から特に有用である。
【0172】1)DSPのすべてのデータおよびプログ
ラム(これは26Kワード×24ビット=6.114M
bを超えない)を保持するには、8Mb(1Mワード×
8ビット)もしくはそれ以上のROMが1個で十分であ
る。しかし、ROMの最大ワード長は8ビットであるか
ら、24ビット・パラレル・ポートでDSPにロードす
るには、8MbのROMが3個必要となる。
【0173】2)パラレル・インタフェースからブート
ROMを取り去ることにより、並列な外部メモリのロー
ド処理が減るので、外部のRAMへのウェート無しのア
クセスがさらに実現しやすくなる。
【0174】図23は、ROMに対するホスト・インタ
フェースの接続を示す。ホスト・インタフェースをこの
モードに設定するには、モード制御ピンHMOD<0,
1>を値「1,0」に設定する。このモードにおいて
は、ピンHCS、HDACK、HEOD、HIACKお
よびHWRをすべてHigh(Vcc)にする必要がある。
ピンHBWは、0に接続して、ホスト・インタフェース
が8ビットのホスト・データを受信するように用いられ
ることを指定しなければならない。
【0175】なお、ホスト起動機能のために、24ビッ
トのDSP1100(通常、18ビット・アドレスを使
用)が20ビットのアドレスを有する8ビットROMか
らロードできることが必要となる。このため、DSPと
ROMが効率的に通信できるように、2つの適応が必要
となる。第1に、DSPが必要とする24ビット・ワー
ドを書き込むために、3つの連続したメモリ位置からの
8ビットのROMデータをホスト入力レジスタを構成す
るレジスタhi2、hi1、hi0に順次書き込む。こ
れには3サイクル必要である。第2に、ROMの20ビ
ット・アドレス空間をアクセスするできるように、DS
Pが、2ビットのホスト・ポインタ基底カウンタhpb
3026を付加的に使用する(図4Cも参照)ととも
に、外部のラッチ3202、3204を使用して、8ビ
ットのデータ・バスHD0〜7と4ビット・ホスト・ア
ドレス・バスHA0〜3によって20ビットのアドレス
が得られるようにする。
【0176】DSPのメモリ資源にアドレスを送る(例
えば、命令メモリやデータ・メモリにロードする場合)
ために、ホスト・ポインタ・レジスタhp2、hp1、
hp0を使用する。バイト構成のROMにアクセスする
ために、スタンド・アロン・ブート中は、付加的な2ビ
ットのベース・ポインタ・レジスタhpb 3026を
hpポインタ・レジスタに、それらの最下位の位置に設
ける。これにより、ROMの全メモリ空間をアドレス指
定するのに必要な20ビットが与えられる。
【0177】hpbカウンタ3026が0から2までイ
ンクリメントされる間に、1つの24ビット・ワードの
最下位バイト、中間のバイトおよび最上位バイトが、R
OMからホスト入力レジスタhiに対するホスト・ポイ
ンタ・レジスタに書き込まれる。hpb=3に対するR
OMの記憶位置は使用されない。したがって、ROMの
ワード・アドレスの境界は4の倍数で発生する。ROM
の長いアドレスA0〜19は、8ビットの双方向ホスト
・データ・インタフェースHD0〜7において、データ
と共に多重化される。ROMアドレスA0〜19の20
ビットがすべて同時に得られることを保証するために、
アドレス・ビットA2〜9およびA10〜17をそれぞ
れラッチする2つのラッチ3202および3204を設
けた。アドレス・ビットA2〜9/A10〜17のラッ
チは、第1および第2のアドレス・ラッチ3202およ
び3204の制御ピンCPにそれぞれ接続された外部ピ
ンHAL1およびHAL2をセットすることにより行
う。アドレス・ビットA0〜1およびA18〜19は、
HA0〜3のための双方向のホスト・アドレス・インタ
フェース3206によってホスト・アドレス線HA0〜
3上に直接与えられる。
【0178】図24は、DSPの命令メモリの最初の1
024ワードをバイト構成のROMからダウンロードす
るバイト・ブート・シーケンスを示す。バイト・ブート
動作のシーケンスは、DSPのリセット・ピンRSTを
セットすることにより、開始される。RST信号の立ち
上がりエッジで、ホスト・モード・ピンHMOD<0,
1>が「0,1」に設定されている場合、DMACは、
(図4Fに示すように、ホスト状態レジスタhstr1
のPSM0〜1を「0、1」に設定することにより)ホ
ストをSLEEPモードにし、ホスト・ポインタ・レジ
スタhp2,1,0およびhpbを0x00000に設
定し、さらに反復回数レジスタrcを値1023に設定
することにより、バイト・ブート・シーケンスを開始す
る。
【0179】なお、フラグPSM0〜1に値「01」を
格納することによりDSPのモードを「スリープ」に設
定することは、ホスト・コマンド「step」の受信時
に1命令を実行することを除いて、DSPコアの動作を
停止にすることであるから、注意を要する。フラグPS
M0〜1に値「10」を格納することによりDSPのモ
ードを「ソフトウェア・スタンバイ(SSBY)」に設
定することは、DSPコア3500およびDMAC30
00の動作を停止にすることである。
【0180】図4Cに示すように、バイト・ブート・シ
ーケンスは、DMAC3000において独立したバイト
・ブート・シーケンサ・ステート・マシーン3080に
よって制御される。
【0181】ここで、DMACは、DSPの命令メモリ
の最初の1024の24ビット・ワードがROMから8
ビット・ワードずつダウンロードされる反復的処理を開
始する。これは、次の動作シーケンスによって実現され
る。
【0182】(1)8ビット・ホスト・ポインタ・レジ
スタhp0の内容をデータ・ピンHD0〜7を通してア
ドレス・ラッチ1に出力し、ここで、HAL1を一時的
に出すことによりROMのアドレス・ビットA2〜9と
してラッチする。
【0183】(2)8ビット・ホスト・ポインタ・レジ
スタhp1の内容をデータ・ピンHD0〜7を通してア
ドレス・ラッチ2に出力し、ここで、HAL2を一時的
に出すことによりROMのアドレス・ビットA10〜1
7としてラッチする。
【0184】(3)2ビットのホスト・ポインタ・レジ
スタhp2および2ビットのホスト・ベース・ポインタ
・レジスタhpbの内容をそれぞれアドレス・ビットA
18,19(A19は、ROMのアドレスの最上位ビッ
トである)およびアドレス・ビットA0,1(A0は、
ROMのアドレスの最下位ビットである)としてアドレ
ス・ピンHA0〜3に出力するとともに、出力イネーブ
ル信号HOEをメモリに出力することにより、ROMが
アドレスA0〜19にある8ビットをホスト・データ・
バスHD0〜7に出すようにする。
【0185】データ・ピンHD0〜7を通してDSPに
入力される最初の8ビットをホスト入力レジスタの下位
8ビットhi0にラッチする。この転送には7サイクル
の一定なウェート(例えば、40ns/サイクルなら
ば、280nsのウェートに相当する)を与える。この
最初の転送が終了した後、ホスト・ベース・ポインタ・
レジスタを1だけインクリメントする。
【0186】レジスタhp2、hpbをバス線HA0〜
3に出力するステップ、HOEを出すステップ、ホスト
・データ・バス上のデータをラッチするステップおよび
hpbをインクリメントするステップを繰り返して、2
4ビットの命令ワードの中間および上位のバイトをそれ
ぞれhi1およびhi2に一時的にラッチする。これら
の第2および第3の転送に対して、2つのアドレス・ラ
ッチのアドレス・ビットA2〜19は、そのまま保持す
る。これにより、これらのラッチは、24ビットダウン
ロードする度に一回だけ更新するようにする。
【0187】3つのバイトをhi2、hi1、hiにダ
ウンロードした後、バイト・ブート・シーケンサによ
り、DMACの転送コントローラ内のレジスタdssr
3052に16進値3Dを格納する。これにより、D
MACの転送コントローラがコマンド*hp++=hi
を実行する(図5C参照)。このコマンドにより、レジ
スタhiの24ビット・データが、18ビット・ホスト
・ポインタ・レジスタhpで示されるアドレスに書き込
まれ、さらにデータ転送の実行後、レジスタhpが1だ
けインクリメントされる。なお、ホスト・ライト・コマ
ンドにおいて、2ビットのhpbの値は使用されない。
【0188】24ビット・データの転送が終了したと
き、4回目に備えて、ポインタhpbをインクリメント
すると、hpbカウンタはゼロとなる(これにより、転
送されるべき次の3つの8ビットROMワードの最初の
ワードを指し示す)。
【0189】最初の1024の24ビット・ワードを命
令メモリに書き込むまで、このサイクルを繰り返す。こ
れらの最初の1024ワードをダウンロードし終える
と、DMACが、DSPの共用デコーダにGRESコマ
ンドを送る、つまり、ホスト制御レジスタhctrにお
ける4ビットのホスト・コマンド・フィールドにコード
「1011」を書き込む。これにより、プログラム・カ
ウンタが、リセット・ベクトルの格納位置までジャンプ
し、そこからリセット・ルーチン(一般に、バイト構成
のROMからダウンロードした最初の1024ワードに
含まれる)のアドレスを取り出す。最後に、DSPが、
リセット・ルーチンを実行する。
【0190】ここで、図24のフローチャートの最後の
ステップを参照すると、ROMからデータをさらにダウ
ンロードしなければならない場合もあり得る。このた
め、DMACは、プログラム可能なバイト・ブート機能
を用意している。この機能は、fr機能レジスタ301
6に値5をロードしたときに、バイト・ブート・シーケ
ンサ・ステート・マシーンが実行する。このDMAC機
能により、24ビット・ワードの指定された数「K」を
指定された任意の宛先アドレス「L」で始まるDSPの
命令メモリにダウンロードすることが可能となる。RO
Mにおいてダウンロードされるべき領域は、ROMアド
レス4Lで始まる4Kの8ビット・メモリ・ワードを占
める。これは、ROMにおいては、DSPワードが4ワ
ード間隔で発生する(4ワードのうち3つが24DSP
ビットを与え、4番目のワードが使用されない)からで
ある。このようにすることにより、hpの内容が、常に
ROMのアドレス・ビットA19〜2に対応するように
なる。
【0191】特に、リセット・プログラム(DSPの全
体リセットの後に実行される)が、ダウンロード位置開
始アドレスLをホスト・ポインタ・レジスタhpに書き
込むことにより、プログラム可能なバイト・ブート機能
を呼び出す。次に、リセット・プログラムは、ダウンロ
ードするべき24ビット・ワードの数Kを反復回数レジ
スタrcに書き込む。最後に、そのリセット・プログラ
ムの制御下にあるDSPコアにより、機能レジスタfr
を、そのプログラマブル・バイト・ブート機能の機能番
号である0x5という値に設定する。
【0192】機能レジスタが0x5に設定されると直ち
に、DMACのバイト・ブート・シーケンサ3080
が、SLEEPホスト・コマンドを共用デコーダに送る
ことによって、DSPコアをSLEEPモードにする。
DSPが停止している間に、DMACのバイト・ブート
・シーケンサ・ステート・マシーン3080が、ROM
の転送元アドレス4Lで始まるKワードをDSPの転送
先アドレスLにダウンロードし始める。スタンド・アロ
ン・バイト・ブートの場合と同様に、データは、ホスト
入力レジスタhiに格納され、さらにhpで示された転
送先に書き込まれる。Kワードがダウンロードされる
と、バイト・ブート・シーケンサ3080が、RUNホ
スト・コマンドをDSPコアに送る(このコマンドをホ
スト制御レジスタhctrに書き込む)。そして、DM
ACの動作が再開する。
【0193】他の実施例 以上本発明者らによってなされた発明を実施例に基づき
具体的に説明したが、本発明は上記実施例に限定される
ものではなく、その要旨を逸脱しない範囲で種々変更可
能であることはいうまでもない。
【0194】
【発明の効果】本願において開示される発明のうち代表
的なものによって得られる効果を簡単に説明すれば、下
記のとおりである。
【0195】本発明によれば、DMACの性能およびデ
ータ転送速度を向上させることができる。
【0196】本発明によれば、DSPと同時に動作し、
周辺およびホストのデータ転送要求を迅速に処理し、ま
た、オンチップ・ハードウェアの最小化を目的としてホ
スト・インタフェースを提供する、オンチップDMAC
を提供することができる。
【0197】本発明によれば、次のものを提供し、また
可能にすることができる。即ち、ローカルなDMA転送
中のホストおよび周辺のデータ転送;周辺の各割込みに
対する専用のポインタおよびカウンタ;ホストの割込み
の専用ポインタ;DMACハードウェアを用いるホスト
・インタフェース機能;強力なホスト・コマンドおよび
全メモリ資源へのアクセス能力;およびスタンド・アロ
ンDSPをバイト構成のROMからブート(起動)する
能力。
【0198】周辺割込みを処理するためにローカルなD
MA(例えば、メモリ間のデータ転送)に割り込む機能
が提供され、周辺割込みに対して専用のポインタやカウ
ンタが提供されることにより、周辺割込みへの応答や、
データ転送を効率化することができる。また、専用のレ
ジスタにより、ローカルなDMA動作の最中に(データ
転送の要求またはコマンドのための)ホストの割込みに
応答したり、ホストのデータ転送を極力効率化すること
ができる。
【0199】DMACはホスト・コンピュータおよび周
辺装置からの割込みを専用の割込みコントローラで処理
するため、本来のDMA転送を行う一方で、アドレス・
レジスタと反復回数レジスタの情報をメモリのスタック
領域に格納する必要もなく、ホストおよび周辺装置から
の割込を処理することができる。このため、本来のDM
A転送と割込みによるDMA転送またはホストDMA転
送との間の切換が、レジスタ内容のメモリ・スタック領
域への待避および復活に伴う「オーバーヘッド」のため
に命令サイクルを一切用いることなく、可能である。
【0200】また、本発明によれば、DMACを内蔵し
たシングルチップ・ディジタル信号処理プロセッサ(D
SP)で、内蔵DMACにより周辺およびホストのデー
タ転送要求を迅速に処理するDSPを提供することがで
きる。
【図面の簡単な説明】
【図1】本発明によるディジタル信号処理プロセッサ
(DSP)のブロック図である。
【図2】バス・アクセス調停回路のブロック図である。
【図3A】DSPの内部メモリの一つのページ(頁)に
対するアクセス・アービタのブロック図である。
【図3B】内部データ・メモリ・ページ・アービタ21
02−0の動作および特定の命令シーケンスに対するペ
ージ・アービタの外部アクセス・アービタ2104との
協調動作を示すタイミング図である。
【図3C】内部データ・メモリ・ページ・アービタ21
02−0の動作および特定の命令シーケンスに対するペ
ージ・アービタの外部アクセス・アービタ2104との
協調動作を示すタイミング図である。
【図4A】本発明のダイレクトメモリ・アクセス・コン
トローラ(DMAC)のブロック図である。
【図4B】本発明のダイレクトメモリ・アクセス・コン
トローラ(DMAC)のブロック図である。
【図4C】本発明のダイレクトメモリ・アクセス・コン
トローラ(DMAC)のブロック図である。
【図4D】本発明のダイレクトメモリ・アクセス・コン
トローラ(DMAC)のブロック図である。
【図4E】シリアル通信を行う周辺装置とのDMA転送
に用いるオンチップ周辺装置インタフェースのブロック
図である。
【図4F】DMAC内のあるレジスタのブロック図であ
る。
【図4G】オンチップ周辺装置インタフェースにおける
あるレジスタのブロック図である。
【図5A】本発明のDMACにおいてデータ転送シーケ
ンサによって実行されるデータ転送マイクロ制御プログ
ラムを図式的に表した図である。
【図5B】本発明のDMACにおいてデータ転送シーケ
ンサによって実行されるデータ転送マイクロ制御プログ
ラムを図式的に表した図である。
【図5C】本発明のDMACにおいてデータ転送シーケ
ンサによって実行されるデータ転送マイクロ制御プログ
ラムを図式的に表した図である。
【図5D】本発明のDMACにおいてデータ転送シーケ
ンサによって実行されるデータ転送マイクロ制御プログ
ラムを図式的に表した図である。
【図6】DMA割込み制御レジスタのフィールドを図式
表現した図である。
【図7】DMACが行うローカル・データ転送のフロー
チャートである。
【図8A】複数の発信源と複数の受信先との間のローカ
ル・データ転送を表す図である。
【図8B】複数の発信源と複数の受信先との間のローカ
ル・データ転送を表す図である。
【図8C】複数の発信源と複数の受信先との間のローカ
ル・データ転送を表す図である。
【図9】重複した多数の割込みをDMACが処理するべ
き順序を決めるための優先順位決定過程のフローチャー
トである。
【図10】DMACが行う周辺装置へのデータ転送のフ
ローチャートである。
【図11】周辺割込み転送動作によって割り込まれるロ
ーカル・データ転送のタイミング図である。
【図12A】8ビットのホスト・データバスを用いるホ
ストのリード手順およびライト手順のフローチャートで
ある。
【図12B】8ビットのホスト・データバスを用いるホ
ストのリード手順およびライト手順のフローチャートで
ある。
【図13A】16ビットのホスト・データバスを用いる
ホストのリード手順およびライト手順のフローチャート
である。
【図13B】16ビットのホスト・データバスを用いる
ホストのリード手順およびライト手順のフローチャート
である。
【図14A】ホストCPUがDSPのメモリ資源をアク
セスする場合のデータ経路を示す図である。
【図14B】ホストCPUがDSPのメモリ資源をアク
セスする場合のデータ経路を示す図である。
【図15】DMACがHALT(停止)モードにあり、
且つアドレス指定されたメモリ資源へのアクセスにウェ
ートの必要がない時のホストのRDP/WRPコマンド
の実行に対するタイミング図である。
【図16】DMACがHALTモードにあり、且つアド
レス指定されたメモリ資源へのアクセスに1サイクル分
のウェートが必要な時のホストのRDP/WRPコマン
ドの実行に対するタイミング図である。
【図17】DMACがRUN(実行)モードにあり、且
つアドレス指定された資源へのアクセスにウェートの必
要がない時のホストのRDP/WRPコマンドの実行に
対するタイミング図である。
【図18】ホスト・プロセッサによるコア・レジスタへ
のアクセスのタイミング図である。
【図19A】DMACのホスト・インタフェース内のD
MACレジスタに対するホストのリードおよびライトの
実行タイミングを示す図である。
【図19B】DMACのホスト・インタフェース内のD
MACレジスタに対するホストのリードおよびライトの
実行タイミングを示す図である。
【図20】本発明のDSPに接続されたホストDMAコ
ントローラを有するホスト・コンピュータのブロック図
である。
【図21】8ビットのホスト・バスを使用するサイクル
・スチール・モードのDMAリード動作に対するホスト
DMA手順のフローチャートである。
【図22】8ビットのホスト・バスを使用するバースト
・モードのDMAライト動作に対するホストDMA手順
のフローチャートである。
【図23】スタンド・アロン・バイト・ブート・モード
で使用するために本発明のDSPに結合されるブートR
OMのブロック図である。
【図24】バイト構成のROMからプログラムおよびデ
ータをダウンロードするバイト・ブート・シーケンスを
示す図である。
【符号の説明】
1000 データ処理システム 1100 ディジタル信号処理プロセッサ(DSP) 1102 Xデータ・バス(XD) 1104 Yデータ・バス(YD) 1106 DMACデータ・バス(DD) 1108 Xアドレス・バス 1110 Yアドレス・バス 1112 DMACアドレス・バス 1114 PC命令バス(INST) 1116 PCアドレス・バス 1118 メモリ選択線 1120 クロック線 1698 イミーディエトデータ線 1200 ホスト・プロセッサ 1300 タイミング・ユニット 1400 命令メモリ 1500 プログラム制御ユニット 1600 命令デコーダ 1700 演算ユニット 1800 アドレス・ユニット 1900 データ・メモリ 2100 並列アービタ 2300 周辺装置 2400 パラレル・メモリ・インタフェース 2500 外部メモリ 2200 周辺装置インタフェース(PDI) 2600 割り込みコントローラ 2800 ASE 3000 ダイレクト・メモリ・アクセス・コントロー
ラ(DMAC) 4000 パラレルI/Oインタフェース 3500 DSPコア 5000 発振器 2100 並列アービタ 2102 オンチップ・データ・メモリ・ページ・アー
ビタPGA 2104 外部メモリ・アービタEA 2106 周辺アービタPRA 2108 命令メモリ・アービタIA 3002 データ転送コントローラ 3010 反復回数レジスタrc 3012 反復回数レジスタirc0 3014 反復回数レジスタirc1 3016 機能レジスタfr 3020 状態レジスタstr 3038 転送元アドレス・レジスタas 3036 転送先アドレス・レジスタad 3042 ホスト・データ入力レジスタhi 3044 ホスト・データ出力レジスタho 3022 割り込み制御レジスタ 3051 デクリメント回路 3050 PLAシーケンサ 3081 制御レジスタctr

Claims (15)

    【特許請求の範囲】
  1. 【請求項1】 ディジタル信号処理プロセッサ(DS
    P)であって、 DSPデータを格納するデータ・メモリにおける記憶場
    所、DSP命令を格納するプログラム・メモリにおける
    記憶場所、および前記DSPの外部の周辺装置とのイン
    タフェースを与える複数のオンチップ周辺インタフェー
    ス、を含む複数のメモリ・マップされた資源;前記のデ
    ータ・メモリおよびプログラム・メモリに接続され、前
    記の格納されたDSP命令を実行するDSPコア;前記
    DSPをホスト・プロセッサに接続するためのホスト・
    プロセッサ・インタフェースを含み、前記メモリ・マッ
    プされた資源の指定されたものどうしの間のローカル・
    データ転送を実行するために、また、該ホスト・プロセ
    ッサと該メモリ・マップされた資源との間のホスト・デ
    ータ転送を実行するために、前記データ・メモリ、前記
    プログラム・メモリ、前記DSPコアおよび前記オンチ
    ップ周辺インタフェースに接続された、DMAコントロ
    ーラ;そして、 前記データ・メモリ、前記プログラム・メモリ、前記D
    SPコアおよび前記DMAコントローラに接続された複
    数のデータ/アドレス・バス対であって、該データ/ア
    ドレス・バス対の第一のものは、前記ホスト・プロセッ
    サ、前記メモリおよび前記周辺装置間のデータ転送のた
    めに前記DMAコントローラにより制御されるデータ転
    送専用であり、該データ/アドレス・バス対の第二のも
    のは、前記DSPコアとのデータ転送のために前記DS
    Pコアにより制御されるデータ転送専用である、複数の
    データ/アドレス・バス対;を備え、 前記DMAコントローラが、前記メモリ・マップされた
    資源間のローカル・データ転送のための第一の組のレジ
    スタと、ホスト・データ転送のための前記ホスト・プロ
    セッサ・インタフェースにおける第二の組のレジスタを
    有し、該第一の組のレジスタにはデータ転送レジスタ、
    アドレス転送元レジスタおよびアドレス転送先レジスタ
    が含まれており、該第二の組のレジスタには、前記ホス
    ト・プロセッサからデータを受信するためのホスト入力
    レジスタ、該ホスト・プロセッサに送るべきデータを保
    持するためのホスト出力レジスタ、該ホスト・プロセッ
    サから受信したコマンドを格納するためのホスト・コマ
    ンド・レジスタ、該ホスト・プロセッサから前記メモリ
    ・マップされた資源の1つを指定するアドレスを受信す
    るためのホスト・ポインタ・レジスタが含まれており;
    前記ホスト・プロセッサ・インタフェースには、所定の
    ホスト・アドレス・バスのアドレスにおける前記第二の
    組のレジスタへの前記ホスト・プロセッサによる直接ア
    クセスを可能にするためのホスト・アドレス・バスおよ
    びホスト・データ・バス・インタフェースが含まれてお
    り;前記DMAコントローラには前記ホスト・コマンド
    ・レジスタに格納されている前記コマンドを実行するた
    めのコントローラが含まれており、該ホスト・コマンド
    ・レジスタに格納されている該コマンドは、前記メモリ
    ・マップされた資源の任意の指定された1つのリードお
    よびライトのためのコマンド、前記ホスト・プロセッサ
    と、一連のアドレスにおける一組の前記メモリ・マップ
    された資源との間のバースト・データ転送を開始させる
    ためのコマンド、そして該ホスト・プロセッサと、一連
    のアドレスにおける一組の前記メモリ・マップされた資
    源との間のサイクル・スチール・データ転送で、各サイ
    クル・スチール・データ転送は該DMAコントローラに
    より実行されているいずれのローカル・データ転送とも
    インターリーブされている、サイクル・スチール・デー
    タ転送を開始させるためのコマンドを含む、ホスト・コ
    マンドの所定の集合から選択される;ディジタル信号処
    理プロセッサ。
  2. 【請求項2】 前記DSPが、前記DSPコアのオペレ
    ーション・モードを指定するための、該DSPコアおよ
    び前記ホスト・インタフェースに接続された制御レジス
    タを含み;前記ホスト・コマンドの所定の集合が、更
    に、該制御レジスタにおける所定の複数のモード制御値
    のいずれの1つをも格納するためのホスト・コマンドを
    含み、該所定のモード制御値の第一のものが、該DSP
    コアによる前記格納されたDSP命令の実行をイネーブ
    ル(許可)にし、該所定のモード制御値の第二のものが
    該DSPコアによる該格納されたDSP命令の実行をデ
    ィスエーブル(禁止)にする、ことを特徴とする請求項
    1記載のディジタル信号処理プロセッサ。
  3. 【請求項3】 前記所定の複数のモード制御値は、前記
    DSPコアによる前記格納されたDSP命令の実行を禁
    止しまた前記DMAコントローラによるデータ転送の実
    行を禁止する第二の所定のモード制御値、そして該DS
    Pコアおよび該DMAコントローラの正常な動作を許可
    する第三の所定のモード制御値を含むことを特徴とする
    請求項2記載のディジタル信号処理プロセッサ。
  4. 【請求項4】 前記DMAコントローラが、前記DSP
    コアが前記第二のデータ/アドレス・バス対を用いて動
    作を実行している間に前記第一のデータ/アドレス・バ
    ス対により前記ホスト・データ転送を実行するためのデ
    ータ転送コントローラを有し、それにより該DSPコア
    により実行される該動作を停止させることなく該ホスト
    ・データ転送を実行できることを特徴とする請求項1記
    載のディジタル信号処理プロセッサ。
  5. 【請求項5】 前記第一のデータ/アドレス・バス対を
    介する前記DMAコントローラと、前記第二のデータ/
    アドレス・バス対を介する前記DSPコアとによる前記
    メモリ・マップされた資源のいずれのものへのアクセス
    の競合をも調停するためのアービタを更に含み、所定の
    優先順位の基準にしたがって前記データ/アドレス・バ
    ス対の所定の対を介してアクセスを与える手段を含むこ
    とを特徴とする請求項4記載のディジタル信号処理プロ
    セッサ。
  6. 【請求項6】 前記所定の優先順位の基準が、前記第一
    のデータ/アドレス・バス対を介するアクセスよりも前
    記第二のデータ/アドレス/バス対を介するアクセスに
    より高い優先度を与え、前記アービタが、該第一および
    第二のデータ/アドレス・バス対を介する前記メモリ・
    マップされた資源のいずれかへのアクセスで競合が発生
    する場合、該第二のデータ/アドレス・バス対を介する
    アクセスが完了するまで、前記DMAコントローラを延
    期(ストール)する手段を含んでいることを特徴とする
    請求項4記載のディジタル信号処理プロセッサ。
  7. 【請求項7】 前記第一のデータ/アドレス・バス対に
    接続された前記メモリ・マップされた記憶場所が、前記
    ディジタル信号処理プロセッサ内部のオンチップ・メモ
    リ・アレイにおける前記データ・メモリのメモリ記憶場
    所を含み、更に、該ディジタル信号処理プロセッサに対
    して外部のメモリ装置における記憶場所を含むことを特
    徴とする請求項1記載のディジタル信号処理プロセッ
    サ。
  8. 【請求項8】 前記第一のデータ/アドレス・バス対に
    接続された前記メモリ・マップされた記憶場所が、前記
    ディジタル信号処理プロセッサ内部のオンチップ・メモ
    リ・アレイにおける前記データ・メモリおよび前記プロ
    グラム・メモリの記憶場所を含み、更に、該ディジタル
    信号処理プロセッサの外部のメモリ装置における記憶場
    所を含むことを特徴とする請求項1記載のディジタル信
    号処理プロセッサ。
  9. 【請求項9】 シングルチップ・ディジタル信号処理プ
    ロセッサであることを特徴とする請求項1記載のディジ
    タル信号処理プロセッサ。
  10. 【請求項10】 ディジタル信号処理プロセッサ(DS
    P)であって、 データ・レジスタ、メモリ・アレイにおける記憶場所を
    含む複数のメモリ・マップされた資源で、各データ・レ
    ジスタおよび記憶場所が所定のメモリ・マップされたア
    ドレスを有する複数のメモリ・マップされた資源;前記
    メモリ・アレイに記憶されたDSP命令を実行するため
    に該メモリ・アレイに接続されたDSPコア;前記デー
    タ・メモリおよびプログラム・メモリに接続されたDM
    Aコントローラであって、 前記メモリ・マップされた資源間のローカル・データ転
    送のための第一の組のレジスタで、データ転送レジス
    タ、アドレス転送元レジスタおよびアドレス転送先レジ
    スタを含む、第一の組のレジスタ;前記メモリ・マップ
    された資源のうちの指定された転送元の場所から該メモ
    リ・マップされた資源のうちの指定された転送先の場所
    へデータを移動するデータ転送を実行するためのデータ
    転送シーケンサ;そして、 前記DMAコントローラを前記DSPの外部のホスト・
    プロセッサに接続するホスト・インタフェースであっ
    て、該ホスト・プロセッサからデータを受信するための
    ホスト入力レジスタ、該ホスト・プロセッサへ送信され
    るべきデータを保持するためのホスト出力レジスタ、該
    ホスト・プロセッサから受信されるコマンドを格納する
    ためのホスト・コマンド・レジスタ、該ホスト・プロセ
    ッサから前記メモリ・マップされた資源の1つを指定す
    るアドレスを受信するためのホスト・ポインタ・レジス
    タ;を有するDMAコントローラ;そして、 前記メモリ・アレイ、前記DSPコアおよび前記DMA
    コントローラに接続された複数のデータ/アドレス・バ
    ス対であって、該データ/アドレス・バス対の第一のも
    のは、前記ホスト・プロセッサ、前記メモリおよび前記
    周辺装置間でデータを転送するために該DMAコントロ
    ーラにより制御されるデータ転送に専用であり、該デー
    タ/アドレス/バス対の第二のものは、前記DSPコア
    とのデータ転送のために該DSPコアにより制御される
    データ転送に専用である、複数のデータ/アドレス・バ
    ス対;を有し、 前記ホスト・プロセッサ・インタフェースが、所定のホ
    スト・アドレス・バスのアドレスに位置する前記第二の
    組のレジスタに前記ホスト・プロセッサが直接アクセス
    するのを可能にするホスト・アドレス・バスおよびホス
    ト・データ・バス・インタフェースを含み;前記メモリ
    ・マップされた資源の指定されたものの間でローカル・
    データ転送を実行するために、また、前記ホスト・プロ
    セッサおよび前記メモリ・マップされた資源間のホスト
    ・データ転送を実行するために、前記DMAコントロー
    ラが前記メモリ・アレイと前記DSPコアに接続されて
    おり;前記DMAコントローラは前記ホスト・コマンド
    ・レジスタに格納された前記コマンドを実行するための
    コントローラを含み、該ホスト・コマンド・レジスタに
    格納された該コマンドは、前記メモリ・マップされた資
    源の任意の指定された1つのリードおよびライトのため
    のコマンド、前記ホスト・プロセッサと一連のアドレス
    に位置する一組の該メモリ・マップされた資源との間の
    バースト・データ転送を開始するためのコマンド、該ホ
    スト・プロセッサと一連のアドレスに位置する一組の該
    メモリ・マップされた資源との間のサイクル・スチール
    ・データ転送で各サイクル・スチール・データ転送は該
    DMAコントローラが実行しているいずれのローカル・
    データ転送ともインターリーブされているサイクル・ス
    チール・データ転送を開始するためのコマンド、を含む
    ホスト・コマンドの所定の集合から選択されたものであ
    る;ディジタル信号処理プロセッサ。
  11. 【請求項11】 前記第一のデータ/アドレス・バス対
    に接続された前記メモリ・マップされた記憶場所が、前
    記ディジタル信号処理プロセッサの内部のオンチップメ
    モリ・アレイの前記データ・メモリにおける記憶場所を
    含み、さらに、該ディジタル信号処理プロセッサの外部
    のメモリ装置における記憶場所を含み;前記コントロー
    ラが該外部のメモリ装置と前記ホスト・プロセッサとの
    間の前記第一のデータ/アドレス・バス対および前記ホ
    スト・データ・バスを介するデータ転送のための手段を
    含んでいる;ことを特徴とする請求項10記載のディジ
    タル信号処理プロセッサ。
  12. 【請求項12】 シングルチップ・ディジタル信号処理
    プロセッサであることを特徴とする請求項10記載のデ
    ィジタル信号処理プロセッサ。
  13. 【請求項13】 ディジタル信号処理プロセッサ(DS
    P)であって、 複数のメモリ・マップされた資源で、該メモリ・マップ
    された資源は、データ・レジスタ、およびメモリ・アレ
    イにおける記憶場所を含み、各データ・レジスタおよび
    記憶場所は所定のメモリ・マップされたアドレスを有す
    る、複数のメモリ・マップされた資源;前記データ・メ
    モリおよびプログラム・メモリに接続されたDMAコン
    トローラで、 前記メモリ・マップされた資源のうちの指定された転送
    元の場所から該メモリ・マップされた資源のうちの指定
    された転送先の場所へデータを移動させるデータ転送を
    実行するためのデータ転送シーケンサ;前記DMAコン
    トローラを前記DSPの外部装置に接続するホスト・イ
    ンタフェースであって、該ホスト・インタフェースは、
    前記外部装置および前記メモリ・マップされた資源間の
    データ転送を指定するための複数のホスト・インタフェ
    ース・レジスタ、該ホスト・インタフェースに接続され
    た前記外部装置とのデータ転送のためのホスト・データ
    ・バス、該ホスト・インタフェースにおける前記レジス
    タのアドレス指定のためのホスト・アドレス・バス、お
    よびデータ・フロー・コマンド信号の送信および受信の
    ためのホスト制御信号バスを含み、該ホスト・インタフ
    ェース・レジスタは該ホスト・アドレス・バスを介して
    別個にアドレス指定できる複数のホスト入力データ・サ
    ブレジスタからなるホスト・入力データ・レジスタを含
    んでいる、ホスト・インタフェース;前記ホスト・イン
    タフェースに接続された前記外部装置がデータ・プロセ
    ッサであるとき第一のホスト・モード値を指定し、該ホ
    スト・インタフェースに接続された該外部装置が読み出
    し専用メモリ(ROM)であるとき第二のホスト・モー
    ド値を指定するためのホスト・モード手段;リセット信
    号を受信するための手段;そして、 前記リセット信号に応答し、また、前記ホスト・インタ
    フェースがROMに接続されていることを示す前記第二
    のホスト・モード値を前記ホスト・モード手段が指定す
    る時にイネーブルとされるブート・シーケンサであっ
    て、該ブート・シーケンサが、1ブロックのデータを該
    ROMから、前記メモリ・アレイにおける前記記憶場所
    の所定の部分集合に自動的に転送する手段を含んでお
    り、該ROMにおける複数の記憶場所に繰り返しアクセ
    スし、順アクセスされる該ROMにおける記憶場所から
    前記複数のホスト入力データ・サブレジスタにデータを
    ロードして前記ホスト入力レジスタをデータで満たし、
    次いで、該ホスト入力レジスタから該メモリ・アレイに
    おける一連のメモリ・マップされた場所へデータを転送
    するための手段を含むブート・シーケンサ;を含むDM
    Aコントローラ;を含むディジタル信号処理プロセッ
    サ。
  14. 【請求項14】 前記メモリ・マップされた資源が、 DSPデータを記憶するためのデータ・メモリにおける
    記憶場所、および、 DSP命令を記憶するためのプログラム・メモリにおけ
    る記憶場所、を含み;前記DMAコントローラが、デー
    タを一時的に格納するためのデータ転送レジスタ、それ
    ぞれデータ転送ための転送元および転送先アドレスを指
    定し、転送されるべきデータの量を指定するための、ア
    ドレス転送元レジスタ、アドレス転送先レジスタおよび
    反復回数レジスタを含んでおり;前記データ転送シーケ
    ンサが、前記データ転送レジスタ、アドレス転送元レジ
    スタ、アドレス転送先レジスタおよび反復回数レジスタ
    を利用してデータ転送を実行するための手段を含んでお
    り;前記ホスト・インタフェースが、前記メモリ・マッ
    プされた資源の1つに対するポインタを格納するための
    ホスト・ポインタ・レジスタ、データを格納するための
    ホスト出力データ・レジスタ、該ホスト・インタフェー
    スに接続された外部装置からコマンドを受信するための
    ホスト・コマンド・レジスタ、該ホスト・インタフェー
    スに接続された該外部装置とデータ転送するためのホス
    ト・データ・バス、該ホスト・インタフェースにおいて
    前記レジスタをアドレスするためのホスト・アドレス・
    バス、およびデータ・フロー・コマンド信号を送信しま
    た受信するためのホスト制御信号バスを有しており;前
    記ブート・シーケンサが前記ホスト・ポイント・レジス
    タを所定の値に自動的にセットし、ついで、それを繰り
    返すための手段を有しており;前記ホスト・アドレス・
    バスにアドレス信号を出し、前記ホスト制御信号バスに
    制御信号を出すことにより、前記ROMの複数の記憶場
    所に順アクセスし、該ROMにおける順アクセスされる
    記憶場所から前記複数のホスト入力データ・サブレジス
    タへデータをロードすることにより前記ホスト入力レジ
    スタをデータで満たし;前記ホスト入力レジスタの前記
    データを、前記ホスト・ポインタ・レジスタにより指定
    されるメモリ・マップされた場所に転送し、該ホスト入
    力レジスタから該メモリ・マップされた場所への各デー
    タ転送の後で該ホスト・ポインタ・レジスタを更新す
    る;ことを特徴とする請求項13記載のディジタル信号
    処理プロセッサ。
  15. 【請求項15】 シングルチップ・ディジタル信号処理
    プロセッサであることを特徴とする請求項13記載のデ
    ィジタル信号処理プロセッサ。
JP6225434A 1993-09-27 1994-09-20 ディジタル信号処理プロセッサ Pending JPH07175782A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/127,429 1993-09-27
US08/127,429 US5535417A (en) 1993-09-27 1993-09-27 On-chip DMA controller with host computer interface employing boot sequencing and address generation schemes

Publications (1)

Publication Number Publication Date
JPH07175782A true JPH07175782A (ja) 1995-07-14

Family

ID=22430065

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6225434A Pending JPH07175782A (ja) 1993-09-27 1994-09-20 ディジタル信号処理プロセッサ

Country Status (2)

Country Link
US (1) US5535417A (ja)
JP (1) JPH07175782A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007241588A (ja) * 2006-03-08 2007-09-20 Kyocera Mita Corp データ転送装置及び画像形成装置
WO2023119893A1 (ja) * 2021-12-23 2023-06-29 ソニーセミコンダクタソリューションズ株式会社 データ処理装置

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08110886A (ja) * 1994-10-07 1996-04-30 Ricoh Co Ltd Dmaコントローラ及びファクシミリ装置
TW266275B (en) * 1994-10-13 1995-12-21 Yamaha Corp Digital signal processing device and its direct memory access control process
NL9401923A (nl) * 1994-11-17 1996-07-01 Gti Holding Nv Werkwijze en inrichting voor het in een veiligheidssysteem verwerken van signalen.
US6578123B1 (en) * 1995-04-14 2003-06-10 Texas Instruments Incorporated Relocatable overland peripheral paging
US5696949A (en) * 1995-06-15 1997-12-09 Intel Corporation System for PCI slots expansion using asynchronous PCI-to-PCI bridge with clock generator for providing clock signal to the expansion mother board and expansion side of bridge
US6081852A (en) * 1996-04-26 2000-06-27 Texas Instruments Incorporated Packet data transferring system for autonomously operating a DMA by autonomous boot mode select signal wherein the DMA is enabled to at least one program control list
US6055619A (en) * 1997-02-07 2000-04-25 Cirrus Logic, Inc. Circuits, system, and methods for processing multiple data streams
US6259957B1 (en) 1997-04-04 2001-07-10 Cirrus Logic, Inc. Circuits and methods for implementing audio Codecs and systems using the same
US5893923A (en) * 1997-05-12 1999-04-13 Lexmark International, Inc. Microcontroller utilizing a circuit to select during reset process an internal or external memory as base memory
DE19733527A1 (de) * 1997-08-02 1999-02-04 Philips Patentverwaltung Kommunikationssystem mit einer DMA-Einheit
TW406229B (en) 1997-11-06 2000-09-21 Hitachi Ltd Data process system and microcomputer
SE520126C2 (sv) * 1997-12-11 2003-05-27 Axis Ab I/U-Processor och metod för styrning av periferienheter
US6058414A (en) * 1998-01-07 2000-05-02 International Business Machines Corporation System and method for dynamic resource access in an asymmetric resource multiple processor computer system
US6473780B1 (en) * 1998-04-01 2002-10-29 Intel Corporation Scheduling of direct memory access
US6351781B1 (en) * 1998-09-25 2002-02-26 Intel Corporation Code swapping techniques for a modem implemented on a digital signal processor
US6661848B1 (en) 1998-09-25 2003-12-09 Intel Corporation Integrated audio and modem device
US6711206B1 (en) 1998-09-25 2004-03-23 Intel Corporation Modem using a digital signal processor and separate transmit and receive sequencers
US6711205B1 (en) 1998-09-25 2004-03-23 Intel Corporation Tone detector for use in a modem
US6490628B2 (en) * 1998-09-25 2002-12-03 Intel Corporation Modem using a digital signal processor and a signal based command set
US6374312B1 (en) * 1998-09-25 2002-04-16 Intel Corporation System for dedicating a host processor to running one of a plurality of modem programs and dedicating a DSP to running another one of the modem programs
US6625208B2 (en) * 1998-09-25 2003-09-23 Intel Corporation Modem using batch processing of signal samples
US6502138B2 (en) * 1998-09-25 2002-12-31 Intel Corporation Modem with code execution adapted to symbol rate
DE19939763A1 (de) * 1999-08-21 2001-02-22 Philips Corp Intellectual Pty Multiprozessorsystem
US6457100B1 (en) 1999-09-15 2002-09-24 International Business Machines Corporation Scaleable shared-memory multi-processor computer system having repetitive chip structure with efficient busing and coherence controls
WO2001024019A1 (en) * 1999-09-27 2001-04-05 Zf Linux Devices, Inc. Embedded computer system and method with internal bus interface logic
DE60103222T2 (de) * 2000-09-27 2005-05-04 Texas Instruments Inc., Dallas Gerät und Verfahren für eine Hauptrechnersportschnitstelleneinheit in einer Einrichtung zur digitalen Signalverarbeitung
JP2002175265A (ja) * 2000-09-27 2002-06-21 Texas Instruments Inc 直接メモリ・アクセス・コントローラを有するディジタル信号プロセッサにおける複数の構成素子間での信号群交換装置および方法
JP2002132704A (ja) * 2000-09-27 2002-05-10 Texas Instruments Inc ディジタル信号演算装置におけるディジタル信号プロセッサ間の信号群転送装置および方法
US6748472B2 (en) * 2001-02-28 2004-06-08 Koninklijke Philips Electronics N.V. Method and system for an interrupt accelerator that reduces the number of interrupts for a digital signal processor
WO2002069157A1 (en) * 2001-02-28 2002-09-06 Brecis Communications Corporation A subsystem boot and peripheral data transfer architecture for a subsystem of a system-on-chip
US6643760B2 (en) * 2001-04-30 2003-11-04 Zilog, Inc. Architecture to relax memory performance requirements
US7386711B1 (en) * 2002-01-08 2008-06-10 Cisco Technology, Inc. Method and apparatus for redirecting the boot operations of one or more systems
KR100633742B1 (ko) * 2003-12-23 2006-10-13 한국전자통신연구원 주변 장치로부터 데이터 전송 크기를 자동으로 갱신하는직접 메모리 액세스 제어 장치 및 방법
US7937557B2 (en) 2004-03-16 2011-05-03 Vns Portfolio Llc System and method for intercommunication between computers in an array
US7904695B2 (en) * 2006-02-16 2011-03-08 Vns Portfolio Llc Asynchronous power saving computer
JP2006338538A (ja) * 2005-06-03 2006-12-14 Nec Electronics Corp ストリームプロセッサ
US7716387B2 (en) * 2005-07-14 2010-05-11 Canon Kabushiki Kaisha Memory control apparatus and method
US7617383B2 (en) * 2006-02-16 2009-11-10 Vns Portfolio Llc Circular register arrays of a computer
US7904615B2 (en) * 2006-02-16 2011-03-08 Vns Portfolio Llc Asynchronous computer communication
US7934075B2 (en) * 2006-02-16 2011-04-26 Vns Portfolio Llc Method and apparatus for monitoring inputs to an asyncrhonous, homogenous, reconfigurable computer array
US7966481B2 (en) 2006-02-16 2011-06-21 Vns Portfolio Llc Computer system and method for executing port communications without interrupting the receiving computer
US7555637B2 (en) * 2007-04-27 2009-06-30 Vns Portfolio Llc Multi-port read/write operations based on register bits set for indicating select ports and transfer directions
US20100023730A1 (en) * 2008-07-24 2010-01-28 Vns Portfolio Llc Circular Register Arrays of a Computer
US9218183B2 (en) * 2009-01-30 2015-12-22 Arm Finance Overseas Limited System and method for improving memory transfer
US9164886B1 (en) 2010-09-21 2015-10-20 Western Digital Technologies, Inc. System and method for multistage processing in a memory storage subsystem
US10579559B1 (en) * 2018-04-03 2020-03-03 Xilinx, Inc. Stall logic for a data processing engine in an integrated circuit
TWI761846B (zh) * 2020-06-01 2022-04-21 鴻海精密工業股份有限公司 自動資料傳輸方法、裝置及存儲介質
US20220067536A1 (en) * 2020-08-28 2022-03-03 Deep Vision Inc. Processor system and method for increasing data-transfer bandwidth during execution of a scheduled parallel process

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0062431B1 (en) * 1981-03-20 1986-10-01 Fujitsu Limited A one chip microcomputer
JPS6145347A (ja) * 1984-08-10 1986-03-05 Nec Corp マイクロコンピユ−タ
JPS63216170A (ja) * 1987-03-05 1988-09-08 Mitsubishi Electric Corp デイジタル信号処理プロセツサ
US5179689A (en) * 1987-03-13 1993-01-12 Texas Instruments Incorporated Dataprocessing device with instruction cache
US4896266A (en) * 1987-06-03 1990-01-23 Bull Hn Information Systems Inc. Bus activity sequence controller
US5155812A (en) * 1989-05-04 1992-10-13 Texas Instruments Incorporated Devices and method for generating and using systems, software waitstates on address boundaries in data processing
US5228139A (en) * 1988-04-19 1993-07-13 Hitachi Ltd. Semiconductor integrated circuit device with test mode for testing CPU using external signal
US5440749A (en) * 1989-08-03 1995-08-08 Nanotronics Corporation High performance, low cost microprocessor architecture
DE645685T1 (de) * 1989-08-31 1995-11-09 Yokogawa Electric Corp Verfahren zur Steuerung eines Line Computers zur Durchführung und Relokierung eines übersetztes Programms aus einer Datenspeichersammlung.
US5276836A (en) * 1991-01-10 1994-01-04 Hitachi, Ltd. Data processing device with common memory connecting mechanism
US5379381A (en) * 1991-08-12 1995-01-03 Stratus Computer, Inc. System using separate transfer circuits for performing different transfer operations respectively and scanning I/O devices status upon absence of both operations

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007241588A (ja) * 2006-03-08 2007-09-20 Kyocera Mita Corp データ転送装置及び画像形成装置
WO2023119893A1 (ja) * 2021-12-23 2023-06-29 ソニーセミコンダクタソリューションズ株式会社 データ処理装置

Also Published As

Publication number Publication date
US5535417A (en) 1996-07-09

Similar Documents

Publication Publication Date Title
JPH07175782A (ja) ディジタル信号処理プロセッサ
JPH07175781A (ja) ディジタル信号処理プロセッサ
EP0550164B1 (en) Method and apparatus for interleaving multiple-channel DMA operations
US5386532A (en) Method and apparatus for transferring data between a memory and a plurality of peripheral units through a plurality of data channels
US5212795A (en) Programmable DMA controller
US5642489A (en) Bridge between two buses of a computer system with a direct memory access controller with accessible registers to support power management
US5740466A (en) Flexible processor-driven SCSI controller with buffer memory and local processor memory coupled via separate buses
US10241946B2 (en) Multi-channel DMA system with command queue structure supporting three DMA modes
US7814496B2 (en) Method and system for replicating schedules with regard to a host controller for virtualization
US5269005A (en) Method and apparatus for transferring data within a computer system
KR100296718B1 (ko) 다중프로세서 시스템에서 가변폭 버스를 동시에 액세스하기 위한 방법 및 시스템
JPH0221018B2 (ja)
JP4226085B2 (ja) マイクロプロセッサ及びマルチプロセッサシステム
JPH04290150A (ja) Fifoバッファの制御装置及び制御方法並びにデータ転送を制御する装置
KR100615659B1 (ko) 다수의 가상 직접 메모리 액세스 채널들을 지원하기 위한 직접 메모리 액세스 엔진
KR19990029294A (ko) 가변폭 버스의 동시적인 액세스를 이용하는 다중프로세서시스템에서 버스중재를 위한 방법 및 시스템
JPH0916533A (ja) 対称多重処理システム
JPS63288353A (ja) 集積回路マイクロコントローラ
US5341495A (en) Bus controller having state machine for translating commands and controlling accesses from system bus to synchronous bus having different bus protocols
KR100190377B1 (ko) 마이크로 프로세서의 버스 인터페이스 유닛
JP3077807B2 (ja) マイクロコンピュータシステム
JPH0340169A (ja) 多重プロセツサシステムおよび複数の処理装置を制御する方法
JPS6336012B2 (ja)
JP4214521B2 (ja) 情報処理システム及びマルチプロセッサ・システム
JPH02252044A (ja) コプロセッサ及びデータ転送制御方式