米国特許情報 | 欧州特許情報 | 国際公開(PCT)情報 | Google の米国特許検索
 
     特許分類
A 農業
B 衣類
C 家具
D 医学
E スポ−ツ;娯楽
F 加工処理操作
G 机上付属具
H 装飾
I 車両
J 包装;運搬
L 化学;冶金
M 繊維;紙;印刷
N 固定構造物
O 機械工学
P 武器
Q 照明
R 測定; 光学
S 写真;映画
T 計算機;電気通信
U 核技術
V 電気素子
W 発電
X 楽器;音響


  ホーム -> 計算機;電気通信 -> 株式会社日立製作所

発明の名称 半導体集積回路装置
発行国 日本国特許庁(JP)
公報種別 公開特許公報(A)
公開番号 特開2003−256354(P2003−256354A)
公開日 平成15年9月12日(2003.9.12)
出願番号 特願2002−53004(P2002−53004)
出願日 平成14年2月28日(2002.2.28)
代理人 【識別番号】100081938
【弁理士】
【氏名又は名称】徳若 光政
【テーマコード(参考)】
5B061
5B062
【Fターム(参考)】
5B061 BA03 DD00 DD11 RR02 
5B062 AA01 DD08 DD10
発明者 鈴木 高明 / 上原 素記 / 池田 武信
要約 課題
簡単な構成でデータ転送効率を改善し、簡単な構成で使い勝手のよいDAMCを含む半導体集積回路装置を提供する。

解決手段
複数のチャネルを有するDMACにおいて、上記チャネルとそれに対応するインターフェイス回路とを対応させる第1レジスタと、上記第1レジスタと同じ構成にされた第2レジスタとを設け、第1モードでは上記第1と第2レジスタにチャネルの設定を可能とし、第2モードでは上記第1レジスタに対してのみチャネルの設定を可能とし、上記第2レジスタに既に設定されたチャネルの設定情報データ転送を行うようにする。
特許請求の範囲
【請求項1】 中央処理ユニットと、上記複数のインターフェイス回路と、上記インターフェイス回路を介したデータ転送を行う複数のチャネルを有するDMACと、上記チャネルと上記インターフェイス回路とを対応させる第1レジスタと、上記第1レジスタと同じ構成にされた第2レジスタとを備え、上記第1と第2レジスタにチャネルの設定を可能とする第1モードと、上記第1レジスタに対してのみチャネルの設定を可能とし、上記第2レジスタに既に設定されたチャネルの設定情報に対応してデータ転送を行う第2モードとを備えてなることを特徴とする半導体集積回路装置。
【請求項2】 請求項1において、上記チャネルの数に対して上記インターフェイス回路の数が多くされてなることを特徴とする半導体集積回路装置。
【請求項3】 請求項1において、上記第2モードにおいて、上記第2レジスタに設定されたチャネルの設定情報によるデータ転送が終了したときには上記第2レジスタの内容は第1レジスタの設定情報に置き換えられることを特徴とする半導体集積回路装置。
【請求項4】 請求項2において、1つのデータ転送要求に対応したデータ転送動作が終了しているときには上記第1モードにされ、1つのデータ転送要求に対応したデータ転送動作が終了していないときには上記第2モードとされることを特徴とする半導体集積回路装置。
発明の詳細な説明
【0001】
【発明の属する技術分野】この発明は、半導体集積回路装置に関し、ダイレクト・メモリ・アクセス・コントローラ(以下、単にDMACという)を含む1チップマイクロコンピュータ等の半導体集積回路装置に利用して有効な技術に関するものである。
【0002】
【従来の技術】マイクロコンピュータにおいて、中央処理ユニット(Central Processing Unit:CPUと略す)が負担すべきデータ処理量が多くなると、マイクロコンピュータのデータ処理能力を向上させるのは難しくなる。そこで、CPUに代わってデータ転送制御行なうための周辺モジュールを組み込むことによって、CPUのデータ処理負担を分散させることが可能になる。そのような周辺モジュールとして例えばDMAC(Direct Memory Access Controller :ダイレクト・メモリ・アクセス・コントローラ)がある。
【0003】DMACを内蔵した従来のマイクロコンピュータは、DMA転送を行う際、CPUがDMACにデータ転送に必要な制御情報(転送アドレス、転送回数、転送モード、転送方向等)を初期設定している。DMACについて記載された文献の例としては、1996年4月19日付日経BP社発行の「コンピュータの構成と設計[下]」第520頁及び第521頁がある。
【0004】
【発明が解決しようとする課題】CPUと周辺モジュールとしてオーディオデジタル、携帯電話、液晶、フラツシュメモリ、USB等のインターフェースを搭載した1チップマイクロコンピュータがある。上記のマイクロコンピュータにおいて、外部のデバイスヘのデータ転送には、上記CPUの負荷を低減させる為にDMACが用いられる。DMA転送はそれぞれのモジュ―ル毎に転送プロトコルが存在するため、転送チャネル毎にどのモジュールの転送を行うのかを設定するレジスタ(DMAリクエストリソース選択レジスタ)が設けられる。
【0005】顧客が開発するシステムが大きくなるに従い、DMACがサポートしなければならないモジュールが増加してきている。今までのように、サポートするモジュールが少ない場合には、DMACの転送チャネル数を増やす事でDMA転送をサポートすることが可能であったが、DMACがサポートするモジュール数がチャネル数を上回るようなシステムでは、全てのモジュールに対して一対一対応してチャネル毎に振り分けことが不可能となる。
【0006】そこで、本願発明者においては、既存のDMACを用い、そのチャネル数を超える数のモジュールに対してDMA転送を実現することを考えた。つまり、上記DMAリクエストリソース選択レジスタを利用し、DMA転送設定を再設定する事で1つのチャネルを複数のモジュールで使い分けるようにすることを検討した。しかし、DMA転送中にDMAリクエストリソース選択レジスタの設定がCPU等により行われてしまうと、DMACはDMA転送アクノリッジ信号をアサートせず、DMA転送リクエストを出したモジュールがアクノリッジ信号を待ち続ける状態に陥り、ストールしたままの状態になってしまうという問題を有することが判明した。
【0007】この発明の目的は、簡単な構成でデータ転送効率を改善したDAMCを含む半導体集積回路装置を提供することにある。この発明の他の目的は、簡単な構成で使い勝手のよいDAMCを含む半導体集積回路装置を提供することにある。この発明の前記ならびにそのほかの目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【0008】
【課題を解決するための手段】本願において開示される発明のうち代表的なものの概要を簡単に説明すれば、下記の通りである。複数のチャネルを有するDMACにおいて、上記チャネルとそれに対応するインターフェイス回路とを対応させる第1レジスタと、上記第1レジスタと同じ構成にされた第2レジスタとを設け、第1モードでは上記第1と第2レジスタにチャネルの設定を可能とし、第2モードでは上記第1レジスタに対してのみチャネルの設定を可能とし、上記第2レジスタに既に設定されたチャネルの設定情報にてデータ転送を行うようにする。
【0009】
【発明の実施の形態】図1には、この発明に係る半導体集積回路装置の一実施例のブロック図が示されている。この実施例の半導体集積回路装置LSIは、CPUコアを含む1チップマイクロコンピュータに向けられており、そのうのDAMC周辺部が代表として例示的に示されている。
【0010】半導体集積回路装置LSIにおいて、CPUコアには本願発明に関係するDAMC、DDT(on demamd data transfer) の他に、図示しないが1チップマイクロコンピュータを構成するCPUの他に、例えば浮動小数点ユニット(FPU)やキャッシュメモリ及びバステスートコントローラ等も有する。特に制限されないが、CPUは16ビット固定長命令セットを備えた32ビットRISC(Reduced Instruction Set Computer:縮小命令セットコンピュータ)アーキテクチャを有する。
【0011】この実施例では、DMAリクエストデコーダ(以下、単にDRDと略す)が設けられる。このDRDにより上記DMAC(DDT)を制御するようにされる。DRDでは、各IPモジュールからアサートされるDMA転送リクエストの制御を行う。バスブリッジ(以下、BRGという)では、LDCC(液晶表示装コントローラ)、AC97/12S(デジタルオーディオ用インターフェイス)、USBからのDMA転送リクエストをFIFO(First In First Out:ファースト・イン・ファースト・アウト)を介してDRDへのDMA転送リクエスト制御を行っている。
【0012】上記各IPモジュールやLDCC、AC97/12S及びUSBは、周辺バスに対応して設けられる。周辺バスは、アドレスバスppaとデータバスppdからなり、図示しないが内蔵周辺モジュールが接続される。周辺バスに接続される内蔵周辺モジュールの例としては、フラッシュメモリ、コントローラ、シリアルコミュニケーションインターフェースやタイマー、A/D変換器等である。また、外部バスにはメインメモリ等のメモリ回路MEM、外部デバイスEXDが接続される。これらの外部デバイスEXDからのデータ転送要求は、信号DREQによってDRDに入力される。
【0013】図2には、図1のバスブリッジBRG、DMAリクエストデコーダDRDの一実施例のブロック図が示されている。DRDに設けられたDMAリクエスとリソース選択レジスタは、DMARSRA(DMAリソースセレクトレジスタA)とDMARSRB(DMAリソースセレクトレジスタB)で構成されている。これらのレジスタDMARSRAとDMARSRBは、次に説明するシャードレジスタS−REGと区別するために、まとめてレジスタC−REGと呼ぶ場合がある。特に制限されないが、各DMAリソースセレクトレジスタDMARSRA,DMARSRBは、それぞれが4チャネル分の転送チャネルの割り当てを可能とされる。したがって、この実施例のDMACでは、最大で8チャネルのデータ転送チャネルを持つものである。
【0014】これに対して、周辺バスに接続されるモジュールは、IP0からIP9までの10個のIPモジュールに加えて、BRGで集約された1チャネル分と、外部デバイスからの最大4つの転送要求を受け付けることが可能とされる。DRDの制御回路CC1は、上記LDCC、AC97/12S及びUSBのデータ転送リクエスト信号req1〜req4がリクエストクリエータCRに入力され、かかるCRからの信号と上記外部デバイスEXDからの信号DREQ0〜3をセレクタにより選択する。DRDの制御回路CC2は、各IPモジュールからのDMA転送リクエスト信号をセレクタにより選択する。これらのセレクタの選択は、上記レジスタDMARSRA及びDMARSRBで設定されている設定情報により行われる。
【0015】この実施例では、上記のように2つのレジスタDMARSRA及びDMARSRBを纏めて制御レジスタC−REGとするなら、それと全く同じ構成のレジスタがシャドーレジスタS−REGとして設けられる。このシャドーレジスタS−REGは、CPUからは直接アクセスすることができないので、シャドーレジスタと呼ばれる。アドレスデコーダadecは、上記レジスタDMARSRA及びDMARSRBを選択するためのものである。
【0016】上記レジスタDMARSRA及びDMARSRBに対するチャネル設定情報の書き込みは、2つのモードを持って行われるようにされる。そのうちの1つのモードは、上記DMARSRA及びDMARSRBを選択して行われるチャネル設定において、レジスタDMARSRA及びDMARSRB(C−REG)に対する設定情報がそのままシャドーレジスタS−REGに書き込まれるという動作である。他の1つのモードは、DMARSRA及びDMARSRB(C−REG)を選択して行われるチャネル情報設定において、レジスタC−REGに対してのみ設定情報が書き込まれ、シャドーレジスタS−REGは既に設定されている設定情報を維持するというものである。
【0017】BRGにおいて、各インターフェイスLCDC、左右の音声チャネルに対応した12S/AC97(0)と(1)、USBには、それぞれにFIFOが設けられ、これらのFIFOのうちいずれれか1つがセレクタにより選択されてブリッジバスを介して外部バスに接続される。上記セレクタは、バッファセレクト回路BSによりセレクタが制御される。BRGにおいて、バッファセレクト回路BSにより、リードライト信号rw、サイズ信号siz、転送回数conut、アドレス信号add等がDRDの制御回路CC1のリクエスト生成回路RQに伝えられる。DRDにおいて、セレクタを通したリクエスト信号は優先順位エンコーダPEを介してリクエスト生成回路RQに伝えられる。このリクエクス生成回路RQの信号と制御回路CC2を通したリクエスト信号とは、共にDMAC、DDTに伝えられて、データ転送動作が実行される。
【0018】図3には、この発明に係るDMACのチャネル転送モジュールの変更動作の一例を説明するためのフローチャート図が示されている。CPUにおいては、DMACによりデータ転送転送時の任意のタイミングにおいて、任意のチャネルに対してDMA転送モジュ―ルを変更が許される。
【0019】システムの初期設定時と区別するために、DMAリクエストリソース選択レジスタの所望のチャネル用のビットに対して特定のデータH’80(16進)をライトする。
【0020】(1)DMACのチャネルコントロールレジスタCHCTの変更したいチャネルnにおいて転送終了ビットが "1”の場合、つまり、1ビットからなる転送終了フラグがハイレベル(CHCTn.TE=1)のときはDMACによるDMA転送が終了しており、かかる場合には、第1モードと判定されて次のチャネルの設定情報がDMAリクエストリソース選択レジスタに対してユーザによって行われる。つまり、前記CPUにより、特定のチャネルに対応したモジュールが変更される。
【0021】(2)DMACのチャネルコントロールレジスタCHCTの変更したいチャネルnにおいて転送終了ビットが "0”の場合、上記1ビットからなる転送終了フラグがハイレベル(CHCTn.TE=0)のときはDMACによるDMA転送がが終了して場合には、次のような動作になる。
【0022】(2−1)DMAリクエストコントロールレジスタDMARCRのDMAリクエストフラグ( REXnビット,n=0〜7)が、 "0”の場合、つまり、1ビットからなるDMAリクエストフラグがロウレベルのとき(REXn=0,n=0〜7)のときは、DMA転送リクエストが既にDMAC内部で処理されており、そのリクエストに対するアクノリッジ信号がアサートされる状態になつているため、上記(1)の場合と同様に次のチャネルの設定情報がDMAリクエストリソース選択レジスタに対してユーザによって行われる。
【0023】(2−2)DMAリクエストコントロールレジスタDMARCRのDMAリクエストフラグ(REXnビット,n=0〜7)が、 "1”の場合、つまり、上記DMAリクエストフラグがハイレベルのとき(REXn=1,n=0〜7)のときは、DMA転送リクエストが未だDMAC内部で処理されていないため、DMAリクエストフラグ(REXnビット,n=0〜7)が、 "0”になるまで、DMAリクエストリソ−ス選択レジスタのシャドーレジスタS−REGが書き換わらないようにライトプロテクトがかけられる。つまり、CPUによりモジュールが変更が指示されたにもかかわらず、DMACはそれを無視し、シャドーレジスタS−REGに保持されているチャネル設定情報に従い、上記未処理のDMA転送リクエストの処理を続行して、前記のようなフリーズする事を回避するものである。
【0024】この実施例のように、DMAリクエストリソース選択レジスタDMARSRA,DMARSRBと同じビット数を持つたシャドーレジスタR−REGを設けた。シャドーレジスタR−REGは、初期設定によりDMAリクエストリソース選択レジスタDMARSRA,DMARSRB(C−REG)に設定された情報を格納しておき、上記レジスタC−REGを任意に再設定した後でも、上記シャドーレジスタR−REGによりDMA転送リノクエストを出したモジュールに対して、DMA転送アクノリッジ信号をアサートするものである。
【0025】この実施例に従えば、DMACの転送チャネル数以上のモジュールのDMAC転送をサポートすることにより、システム全体の性能向上を実現できる。つまり、前記説明したように、DMA転送を制御するモジュール数が多くなると、DMA転送を行う度に、DMAリクエストリソース選択レジスタを再設定しなければならなくなる。DMACは、DMA転送要求を受け取り、DMA転送アクノリッジ信号をDMA転送要求元のモジュールヘアサートする。DMA転送中にDMA転送アクノリッジ信号を待っているモジュールがあつた場合、DMA転送モジュール設定レジスタを再設定することにより、前述の通りDMA転送アクノリッジ信号が発行されなくなってしまう。
【0026】この実施例により追加したDRDを用いることにより、DMA転送アクノリッジ信号は必ずアサートされるため、前述の問題を回避できる。以上より、転送チャネル数以上のモジュールが存在した場合、DMAリクエストリソース選択レジスタの再設定によるアクノリッジ信号を待ち続けてフリーズする事を回避でき、DMAリクエストリソ一ス選択レジスタの再設定を容易に行う事が可能になる。この場合、DMACそれ自体は、既存のものをそのまま流用し、前記のようなDMAリクエストリソース選択レジスタと、そのシャドーレジスタとを備えたDRDを追加するだけで良いから、DMACの機能の拡張を簡単にしかも容易に行うようにすることができる。
【0027】特に制限されないが、DMACにおいては、転送元アドレスレジスタ,転送先アドレスレジスタ,転送回数カウントレジスタ,チャネルコントロールレジスタ及びオペレーションレジスタ及びバスインターフェイス部を備える。バスインターフェイス部は、特に制限されないが、アドレスレジスタ及びデータレジスタを含み、アドレスレジスタは、RAM等に対するアドレスを保持し、データレジスタは、例えばRAMに対する書き込みデータ又は読み出しデータを保持する。
【0028】転送元アドレスレジスタは、転送すべきデータが格納されているRAMのアドレスつまり転送元アドレス又はそのアドレスポインタのアドレスを保持し、転送先アドレスレジスタは、これらのデータの転送先となるアドレスつまり転送先アドレス又はそのアドレスポインタのアドレスを保持する。また、転送回数カウントレジスタは、転送すべきデータの数つまり転送回数を保持し、チャネルコントロールレジスタ及びオペレーションレジスタは、DMACの各チャネルの動作モードや動作条件等を管理する。転送元アドレスレジスタ,転送先アドレスレジスタならびに転送回数カウントレジスタは、カウンタとしての機能を有し、その保持内容は自動的にカウントアップ又はカウントダウンされて、前記のようなデータ転送動作が行われる。
【0029】以上本発明者よりなされた発明を実施例に基づき具体的に説明したが、本願発明は前記実施例に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、DAMCやDDTの構成は、種々の実施例形態を採ることができる。DMAリクエストリソース選択レジスタとそれに対応したシャドーレジスタの具体的構成は、種々の実施形態を採ることができる。シャドーレジスタに対するチャネル変更を許可する条件は、前記のようにDMACがDMA転送要求を受け取り、DMA転送アクノリッジ信号をDMA転送要求元のモジュールヘアサートし、DMA転送中にDMA転送アクノリッジ信号を待っているモジュールがあつた場合、DMA転送モジュール設定レジスタを再設定することにより、前述の通りDMA転送アクノリッジ信号が発行されなくなってしまうことを回避できるものであればよい。この発明は、DMACを備える1チップマイクロコンピュータや、CPUとDMACを備えるシステムLSI等のような半導体集積回路装置に適用して好適なものとなる。
【0030】
【発明の効果】本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば、下記の通りである。複数のチャネルを有するDMACにおいて、上記チャネルとそれに対応するインターフェイス回路とを対応させる第1レジスタと、上記第1レジスタと同じ構成にされた第2レジスタとを設け、第1モードでは上記第1と第2レジスタにチャネルの設定を可能とし、第2モードでは上記第1レジスタに対してのみチャネルの設定を可能とし、上記第2レジスタに既に設定されたチャネルの設定情報データ転送を行う。




 

 


     NEWS
会社検索順位 特許の出願数の順位が発表

URL変更
平成6年
平成7年
平成8年
平成9年
平成10年
平成11年
平成12年
平成13年


 
   お問い合わせ info@patentjp.com patentjp.com   Copyright 2007-2013