JP4233373B2 - データ転送制御装置 - Google Patents
データ転送制御装置 Download PDFInfo
- Publication number
- JP4233373B2 JP4233373B2 JP2003109341A JP2003109341A JP4233373B2 JP 4233373 B2 JP4233373 B2 JP 4233373B2 JP 2003109341 A JP2003109341 A JP 2003109341A JP 2003109341 A JP2003109341 A JP 2003109341A JP 4233373 B2 JP4233373 B2 JP 4233373B2
- Authority
- JP
- Japan
- Prior art keywords
- bus
- master
- data
- signal
- 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.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4221—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
- G06F13/4226—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus with asynchronous protocol
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
- Bus Control (AREA)
- Small-Scale Networks (AREA)
- Multi Processors (AREA)
Description
【発明の属する技術分野】
この発明は、例えばシステムLSIの内部に形成された複数のモジュール間で行われるデータ転送を制御するデータ転送制御装置に関する。
【0002】
【従来の技術】
従来、システムLSIの内部に構築されるデータ転送制御装置が知られている。このデータ転送制御装置は、バスマスタにマスタバスを介して接続された複数のバスインタフェースユニットと、この複数のバスインタフェースユニットにスレーブバスを介してそれぞれ接続された複数のバススレーブとを備えている。バスマスタは、例えばDMA転送コントローラから構成される。複数のバススレーブは、例えばRAM、入出力モジュール等から構成される。
【0003】
このデータ転送制御装置において、1つのバススレーブである入出力モジュールから他のバススレーブであるRAMへのデータ転送は、次のようにして行われる。先ず、バスマスタであるDMA転送コントローラは、バスアービタにリクエストを出して、入出力モジュールにアクセスするためのバス権を獲得し、その後、入出力モジュールからスレーブバス、バスインタフェースユニット及びマスタバスを経由してデータを取り込む。次に、DMA転送コントローラは、バスアービタにリクエストを出して、RAMにアクセスするためのバス権を獲得し、その後、先に入出力モジュールから取り込んだデータをRAMに転送して書き込む。
【0004】
関連する技術として、特許文献1は、共通のバスとマイクロプロセッサ及び付加機能回路ユニットとの間に介在して該バス上のデータ又はコマンドの転送を制御するバス制御手段を備え、マイクロプロセッサの命令フェッチ時に該マイクロプロセッサに対しノー・オペレーション命令を発行し、フェッチされたデータ又はコマンドを該マイクロプロセッサを介さずに付加機能回路ユニットへ転送するバス制御方式を開示している。このバス制御方式によれば、付加機能回路ユニットへのデータ又はコマンドの転送を効率良く行うことができ、ひいてはシステムの性能の向上に寄与する。
【0005】
また、特許文献2は、命令を記憶するROM、データを記憶するRAM、CPU及び入出力装置とを備え、CPUが命令を読み出すタイミング、即ち、インストラクション・フェッチの期間に、RAMを周辺回路に開放し、周辺回路は、RAM用のバスを介してCPUの命令実行を妨げることなくRAMにアクセスできるように構成したコンピュータ装置を開示している。このコンピュータ装置によれば、RAMと周辺回路との間で、DMA方式によりデータを転送するとき、インストラクション・フェッチのタイミングでDMA動作を行なうことができるので、命令実行が妨げられず、また、CPUと周辺回路とによるRAMへのアクセスの競合も防止される。
【0006】
更に、特許文献3は、データ処理装置を開示している。このデータ処理装置において、マスタは、第1及び第2の外部バス上のモジュールと自己の間でのデータの送受信を実行し、また、第1及び第2の外部バス上の各モジュール同士のデータの送受信を実行させる。また、マスタは、送信側及び受信側のアドレス情報を外部バス上に送出して、同一或いは異なる外部バス上にあるモジュール間での直接的なデータの送受信を可能にしている。この構成により、バスの配線を必要最小限に抑えて各モジュール間での通信を可能にし、且つ省電力での動作が可能になっている。
【0007】
【特許文献1】
特開平5−46538号公報
【特許文献2】
特開平5−210616号公報
【特許文献3】
特開2002−7313号公報
【0008】
【発明が解決しようとする課題】
しかしながら、上述した従来のデータ転送制御装置でデータ転送を行う場合は、バス権の獲得、データリード、バス権の獲得及びデータライトという一連の動作をシリアルに行う必要があるので、これらの動作を行うために多数のクロックサイクルが必要である。その結果、データ転送に時間がかかり効率的でないという問題がある。
【0009】
この発明は、上述した問題を解消するためになされたものであり、少ない数のクロックサイクルで効率よく、且つ迅速にデータ転送を行うことができるデータ転送制御装置を提供することを目的とする。
【0010】
【課題を解決するための手段】
この発明に係るデータ転送制御装置は、上記目的を達成するために、バスマスタにマスタバスを介して接続されたバスインタフェースを介して接続された複数のバススレーブと、この複数のバススレーブの中の第1バススレーブと複数の第2バススレーブとの間を接続する転送用バスとを備え、転送指示信号によって転送用バスを用いたデータ転送を行うことが指示されている時に、複数の第2バススレーブの中から選択された1つの第2バススレーブと第1バススレーブとの間における転送用バスを用いたデータ転送をスレーブバスに出力されている制御信号に従って実行するものである。
【0011】
【発明の実施の形態】
以下、この発明の実施の形態を図面を参照しながら詳細に説明する。なお、以下で説明する複数の実施の形態において、同一又は相当する構成要素には同一の符号を付して説明する。
【0012】
先ず、この発明の理解を容易にし、且つこの発明との比較を容易にするために、現在一般的に使用されているデータ転送制御装置について説明する。
【0013】
図1は、システムLSIの内部に形成される一般的なデータ転送制御装置の構成を示すブロック図である。このデータ転送制御装置は、バススレーブとして機能する3個の内部モジュール11、21a及び21bを備えている。内部モジュール11は、ランダムアクセスメモリ(RAM)から構成されており、以下では、RAM11と称する。また、内部モジュール21aは入出力モジュール(IOa)から構成されており、以下では第1内部モジュール21aと呼ぶ。内部モジュール21bは入出力モジュール(IOb)から構成されており、以下では第2内部モジュール21bと呼ぶ。
【0014】
このデータ転送制御装置は、大きく分けると、バスマスタ1、マスタバス1a、RAM用バスインタフェースユニット(以下、「BIU_R」と略する)10、RAM用スレーブバス10a、RAM11、IO用バスインタフェースユニット(以下、「BIU_I」と略する)20、IO用スレーブバス20a、第1内部モジュール21a及び第2内部モジュール21bから構成されている。
【0015】
バスマスタ1は、BIU_R10を介してRAM11との間でデータ転送を行うと共にBIU_I20を介して第1内部モジュール21a又は第2内部モジュール21bとの間でデータ転送を行う。このバスマスタ1は、マスタバス1aに接続されている。
【0016】
マスタバス1aは、マスタアドレスバス2、マスタ制御信号バス3、マスタライトデータバス4、RAM用リードデータバス5及びIO用リードデータバス6から構成されている。
【0017】
マスタアドレスバス2は、バスマスタ1から出力されるマスタアドレス信号MADDRをBIU_R10及びBIU_I20に送るために使用される。マスタ制御信号バス3は、バスマスタ1から出力されるマスタ制御信号MCSをBIU_R10及びBIU_I20に送るために使用される。このマスタ制御信号MCSには、アクセス要求信号REQ、アクセス許可信号ACK、アクセス終了信号END及びマスタリード/ライト信号RWが含まれる。アクセス要求信号REQは、バスマスタ1がBIU_R10及びBIU_I20に対してアクセスを要求する信号である。アクセス許可信号ACKは、BIU_R10及びBIU_I20からのアクセス可能である旨を表す信号の論理和をとった信号である。アクセス終了信号ENDは、BIU_R10及びBIU_I20から出力されるアクセスが終了した旨を表す信号の論理和をとった信号である。マスタリード/ライト信号RWは、バスマスタ1がリードアクセスを行うかライトアクセスを行うかを指示する信号である。
【0018】
マスタライトデータバス4は、バスマスタ1から出力されるマスタライトデータMDWをBIU_R10及びBIU_I20に送るために使用される。RAM用リードデータバス5は、RAM11からBIU_R10を介して送られてくるマスタリードデータMDR_Rをセレクタ7に送るために使用される。IO用リードデータバス6は、第1内部モジュール21a又は第2内部モジュール21bからBIU_I20を介して送られてくるマスタリードデータMDR_Iをセレクタ7に送るために使用される。
【0019】
RAM用リードデータバス5及びIO用リードデータバス6はセレクタ7の入力端子に接続されており、セレクタ7の出力端子はマスタリードデータバス8によってバスマスタ1に接続されている。このセレクタ7は、BIU_R10及びBIU_I20の何れが動作中であるかに応じて、RAM用リードデータバス5によって送られてくるマスタリードデータMDR_R及びIO用リードデータバス6によって送られてくるマスタリードデータMDR_Iの何れかを選択し、マスタリードデータとしてマスタリードデータバス8に出力する。
【0020】
BIU_R10は、RAM11にアクセスするために、マスタバス1aのプロトコルとRAM用スレーブバス10aのプロトコルとを相互に変換する。このBIU_R10は、RAM用スレーブバス10aを介してRAM11に接続されている。
【0021】
RAM用スレーブバス10aは、RAMアドレスバス12、RAMリードデータバス13、RAMライトデータバス14及びRAM制御信号バス15から構成されている。
【0022】
RAMアドレスバス12は、BIU_R10から出力されるRAMアドレス信号RADDRをRAM11に送るために使用される。RAMリードデータバス13は、RAM11から読み出されたRAMリードデータRDRをBIU_R10に送るために使用される。RAMライトデータバス14は、BIU_R10から出力されるRAMライトデータRDWをRAM11に送るために使用される。
【0023】
RAM制御信号バス15は、BIU_R10からRAM制御信号RCSとして出力されるRAMチップセレクト信号RCS及びRAMリード/ライト信号RRWをRAM11に送るために使用される。RAMチップセレクト信号RCSは、RAM11を選択するために使用される。RAMリード/ライト信号RRWは、RAM11に対してリードアクセスを行うかライトアクセスを行うかを指示する信号である。
【0024】
BIU_I20は、第1内部モジュール21a及び第2内部モジュール21bにアクセスするために、マスタバス1aのプロトコルとIO用スレーブバス20aのプロトコルとを相互に変換する。このBIU_I20は、IO用スレーブバス20aを介して第1内部モジュール21a及び第2内部モジュール21bに接続されている。
【0025】
IO用スレーブバス20aは、IOアドレスバス22、第1IOリードデータバス23a、第2IOリードデータバス23b、IOライトデータバス26及びIO制御信号バス27から構成されている。
【0026】
IOアドレスバス22は、BIU_I20からのIOアドレス信号IADDRを第1内部モジュール21a及び第2内部モジュール21bに送るために使用される。第1IOリードデータバス23aは、第1内部モジュール21aから読み出された第1IOリードデータをセレクタ24に送るために使用される。第2IOリードデータバス23bは、第2内部モジュール21bから読み出された第2IOリードデータをセレクタ24に送るために使用される。IOライトデータバス26は、BIU_IからのIOライトデータIDWを第1内部モジュール21a及び第2内部モジュール21bに送るために使用される。IO制御信号バス27は、BIU_I20から出力されるIOリード/ライト信号IRWを第1内部モジュール21a及び第2内部モジュール21bに送るために使用される。
【0027】
セレクタ24の出力端子はIOリードデータバス25によってBIU_I20に接続されている。このセレクタ24は、第1IOチップセレクト信号ICSa及び第2IOチップセレクト信号ICSbの何れがアクティブであるかに応じて、第1IOリードデータバス23aによって送られてくる第1IOリードデータ及び第2IOリードデータバス23bによって送られてくる第2IOリードデータの何れか選択し、IOリードデータIDRとして、IOリードデータバス25に出力する。
【0028】
また、BIU_I20から第1内部モジュール21a及び第2内部モジュール21bに対し、第1IO選択信号線28a及び第2IO選択信号線28bがそれぞれ接続されている。第1IO選択信号線28aは、BIU_I20が第1内部モジュール21aを選択するための第1IOチップセレクト信号ICSaを送るために使用される。第2IO選択信号線28bは、BIU_I20が第2内部モジュール21bを選択するための第2IOチップセレクト信号ICSbを送るために使用される。
【0029】
次に、上記のように構成される一般的なデータ転送制御装置の動作を説明する。先ず、データ転送制御装置の概略の動作を説明する。
【0030】
ここでは、データ転送制御装置の動作の一例として、RAM11に記憶されているデータを第1内部モジュール21aに転送する場合を説明する。データ転送制御装置の動作は、バスマスタ1がRAM11からデータを読み出すリード動作と、バスマスタ1が第1内部モジュール21aにデータを書き込むライト動作とから構成されている。
【0031】
先ず、バスマスタ1がRAM11からデータを読み出すリード動作を説明する。バスマスタ1は、データをリードするために必要なマスタ制御信号MCSをマスタ制御信号バス3に出力する。同時に、RAM11のリード開始位置を指示するマスタアドレス信号MADDRをマスタアドレスバス2に出力する。BIU_R10は、マスタ制御信号MCSがマスタ制御信号バス3に出力されると、マスタアドレスバス2に出力されているマスタアドレス信号MADDRがRAM11を指定するものであるかどうかを調べる。そして、RAM11を指定するマスタアドレス信号MADDRであることを判断すると、BIU_R10は、RAM用スレーブバス10aに対してデータリードのプロトコルを実行する。
【0032】
即ち、BIU_R10は、RAM制御信号バス15に、RAM11からデータをリードするために必要なRAM制御信号RCSを出力する。同時に、RAMアドレスバス12に、RAM11のリード開始位置を指示するアドレスをRAMアドレス信号RADDRとして出力する。これにより、RAM11からデータが読み出され、RAMリードデータRDRとしてRAMリードデータバス13に出力される。BIU_R10は、RAMリードデータバス13を用いて送られているRAMリードデータRDRを、マスタリードデータMDR_Rとしてマスタバス1aの中のRAM用リードデータバス5に出力する。
【0033】
バスマスタ1がRAM11にアクセスする時は、セレクタ7は、図示しない制御部により、RAMリードデータバス13を選択するように制御される。従って、セレクタ7は、RAM用リードデータバス5に出力されたマスタリードデータMDR_Rを選択し、マスタリードデータとしてマスタリードデータバス8に出力する。バスマスタ1は、このマスタリードデータバス8からのマスタリードデータを取り込む。以上により、バスマスタ1がRAM11からデータを読み込むリード動作が完了する。
【0034】
次に、バスマスタ1が第1内部モジュール21aにデータを書き込むライト動作を説明する。バスマスタ1は、データをライトするために必要なマスタ制御信号MCSをマスタ制御信号バス3に出力する。同時に、第1内部モジュール21aに割り当てられているアドレスをマスタアドレス信号MADDRとしてマスタアドレスバス2に出力する。更に、先にRAM11からリードしたデータを、マスタライトデータMDWとしてマスタライトデータバス4に出力する。
【0035】
BIU_I20は、マスタ制御信号MCSがマスタ制御信号バス3に出力されると、マスタアドレスバス2に出力されているマスタアドレス信号MADDRが第1内部モジュール21aを指定するものであるかどうかを調べる。そして、第1内部モジュール21aを指定するマスタアドレス信号MADDRであることを判断すると、BIU_I20は、IO用スレーブバス20aに対してデータライトのプロトコルを実行する。
【0036】
即ち、BIU_I20は、第1IO選択信号線28aに出力する第1IO選択信号ICSaをアクティブにする。これにより、第1内部モジュール21aが選択されて動作可能になる。同時に、データをライトするために必要なIOリード/ライト信号IRWをIO制御信号バス27に出力する。また、IOアドレスバス12に、データの書き込み位置を指示するIOアドレス信号IADDRを出力する。更に、マスタライトデータバス4から送られてきたマスタライトデータMDWを、IOライトデータIDWとしてIOライトデータバス26に出力する。これにより、バスマスタ1から送られてきたデータが第1内部モジュール21aに書き込まれる。以上により、バスマスタ1が第1内部モジュール21aにデータを書き込むライト動作が完了する。以上のリード動作及びライト動作により、RAM11に記憶されている1つのデータを第1内部モジュール21aに転送する動作が完了する。
【0037】
次に、図2に示したタイミングチャートを参照しながら、データ転送制御装置の動作を更に詳細に説明する。
【0038】
図2は4つのデータをRAM11から第1内部モジュール21aに転送する場合のタイミングを示している。なお、図2中において、R0〜R3は、データ転送時に実行される4つのデータのリード動作に関連する信号であることを表し、W0〜W3は、データ転送時に実行される4つのデータのライト動作に関連する信号であることを表している。これらの記号R0〜R3、W0〜W3及びRは、後に出現する他のタイミングチャートでも上記と同様の意味で使用される。
【0039】
クロックサイクル(以下、「CLK」と略する)“1”において、バスマスタ1はアクセス要求信号REQ、マスタリード/ライト信号RW及びマスタアドレス信号MADDRをアサートする。マスタリード/ライト信号RWは、高レベル(以下、「Hレベル」という)でリードを、低レベル(以下、「Lレベル」という)でライトを表す。BIU_R10は、マスタアドレスバス2に出力されているマスタアドレス信号MADDRを調べることによりRAM11に対するアドレスが出力されており、且つ応答可能状態にあることを判断すると、CLK1でアクセス許可信号ACKをアサートする。また、BIU_R10は、CLK1で、RAMチップセレクト信号RCS、RAMアドレス信号RADDR及びRAMリード/ライト信号RRWをアサートすることにより、RAM11に対してリード要求を出す。RAMリード/ライト信号RRWは、Hレベルでリードを、Lレベルでライトを表す。
【0040】
上記リード要求に応答してRAM11から読み出されたRAMリードデータRDRは、リード要求の次のCLK“2”でRAMリードデータバス13に出力される。このRAMリードデータバス13に出力されたRAMリードデータRDRは、CLK“2”において、BIU_Rを介してマスタバス1aのRAM用リードデータバス5に、マスタリードデータMDR_Rとして出力される。同時に、BIU_R10は、アクセス終了信号ENDをアサートする。
【0041】
RAM用リードデータバス5に出力されたマスタリードデータMDR_Rは、CLK2において、セレクタ7で選択され、マスタリードデータバス8に出力される。このマスタリードデータバス8に出力されたリードデータは、CLK“2”において、バスマスタ1に取り込まれる。以上により、バスマスタ1がRAM11からデータを読み出すリード動作が完了する。
【0042】
次に、バスマスタ1は、取り込んだリードデータを、次のCLK“3”において、マスタライトデータMDWとしてマスタライトデータバス4に出力する。これと同時に、バスマスタ1はアクセス要求信号REQ、マスタアドレス信号MADDR及びマスタリード/ライト信号RWをアサートする。
【0043】
BIU_I20は、マスタアドレスバス2に出力されているマスタアドレス信号MADDRを調べることにより第1内部モジュール21aに対するアドレスが出力されており、且つ動作可能状態にあることを判断すると、CLK“3”でアクセス許可信号ACKをアサートする。また、BIU_I20は、CLK“3”で、IOチップセレクト信号ICSa及びIOリード/ライト信号IRWをアサートする。更に、IOアドレス信号IADDRをIOアドレスバス22に出力し、更に、IOライトデータIDWをIOライトデータバス26に出力することにより第1内部モジュール21aに対してライト要求を出す。IOリード/ライト信号IRWは、Hレベルでリードを、Lレベルでライトを表す。これにより、IOライトデータIDWがIOアドレス信号IADDRで指定された位置に書き込まれる。以上により、バスマスタ1が第1内部モジュール21aにデータを書き込むライト動作が完了し、以て、RAM11に記憶されている1つのデータを第1内部モジュール21aに転送する動作が完了する。以下、同様にして、2〜4番目のデータの転送が行われる。
【0044】
なお、第1内部モジュール21aからRAM11へのデータ転送は、バスマスタ1が第1内部モジュール21aからデータをリードする動作とバスマスタ1がRAM11にデータを書き込む動作とにより構成される。これらの動作は、上述したRAM11から第1内部モジュール21aへデータ転送する動作と同様であるので説明を省略する。
【0045】
このデータ転送制御装置では、4つのデータをRAM11から第1内部モジュール21aに転送するために12個のクロックサイクルを要する。
【0046】
実施の形態1.
次に、この発明の実施の形態1に係るデータ転送制御装置を説明する。このデータ転送制御装置は、バススレーブとして機能するようにLSI内に設けられた複数の内部モジュール間の転送を、転送用バスを用いて行うようにしたものである。なお、以下では、図1に示したデータ転送制御装置の構成要素と同一又は相当部分には、それらと同一の符号を付して説明を省略する。
【0047】
図3は、この発明の実施の形態1に係るデータ転送制御装置の構成を示すブロック図である。このデータ転送制御装置は、図1に示した構成要素から、バスマスタ1、IO用リードデータバス6、セレクタ7、BIU_I20、第1内部モジュール21a、第2内部モジュール21b、セレクタ24及びこれらに付属する配線を除去し、新たにバスマスタ51、第1内部モジュール61a、第2内部モジュール61b、転送制御部62、セレクタ66、セレクタ68、IO選択レジスタ70及び転送指示レジスタ72を追加して構成されている。
【0048】
バスマスタ51は、BIU_R10を介してRAM11、第1内部モジュール61a及び第2内部モジュール61bにアクセスし、これらとの間でデータ転送を実行すると共に、RAM11と第1内部モジュール61a又は第2内部モジュール61bとの間でデータ転送を行わせる。このバスマスタ51は、マスタバス51aに接続されている。
【0049】
マスタバス51aは、上述したように、IO用リードデータバス6が除去されている点を除けば、図1に示したマスタバス1aと同じである。また、RAM用リードデータバス5は、BIU_R10から送られてくるマスタリードデータMDR_Rをそのまま(図1に示すセレクタ7を経由することなく)マスタリードデータとしてバスマスタ51に送る。
【0050】
第1内部モジュール61aは、IO選択レジスタ70から送られてくる第1選択信号SELaによって選択される点を除けば、図1に示した第1内部モジュール21aと同じである。同様に、第2内部モジュール61bは、IO選択レジスタ70から送られてくる第2選択信号SELbによって選択される点を除けば、図1に示した第2内部モジュール21bと同じである。
【0051】
転送制御部62は、RAM11と第1内部モジュール61a又は第2内部モジュール61bとの間のデータ転送を制御するための転送制御信号TCSを、RAM制御信号バス15からのRAM制御信号RCSと転送指示レジスタ72からの転送指示信号とに基づいて生成する。この生成された転送制御信号TCSは、転送制御信号バス63によって第1内部モジュール61a及び第2内部モジュール61bに送られる。上記転送制御信号TCSには、第1内部モジュール61a及び第2内部モジュール61bにリードタイミングを指示するためのIOリードストローブ信号RS及び第1内部モジュール61a及び第2内部モジュール61bにライトタイミングを指示するためのIOライトストローブ信号WSが含まれる。
【0052】
転送用バス60は、上述した転送制御信号バス63と、IOライトデータバス64、第1IOリードデータバス65a及び第2IOリードデータバス65bとから構成される。
【0053】
IOライトデータバス64は、RAMリードデータバス13と第1内部モジュール21a及び第2内部モジュール21bとを接続する。このIOライトデータバス64は、RAM11から読み出されたRAMリードデータRDRを、転送ライトデータTDWとして、第1内部モジュール21a及び第2内部モジュール21bに送るために使用される。第1IOリードデータバス65aは、第1内部モジュール61aから読み出された第1IOリードデータをセレクタ66に送るために使用される。第2IOリードデータバス65bは、第2内部モジュール61bから読み出された第2IOリードデータをセレクタ66に送るために使用される。
【0054】
セレクタ66の出力端子はIOリードデータバス67によってセレクタ68の一方の入力端子に接続されている。このセレクタ66は、第1選択信号SELa及び第2選択信号SELbの何れがアクティブであるかに応じて、第1IOリードデータバス65aによって送られてくる第1IOリードデータ及び第2IOリードデータバス65bによって送られてくる第2IOリードデータの何れか選択し、転送リードデータTDRとして出力する。
【0055】
セレクタ66の出力端子は、IOリードデータバス67によってセレクタ68の一方の入力端子に接続されている。IOリードデータバス67は、セレクタ66から出力される転送リードデータTDRをセレクタ68に送るために使用される。セレクタ68の他方の入力端子は、RAMライトデータバス14によってBIU_R10に接続されている。RAMライトデータバス14は、BIU_R10からのRAMライトデータRDWをセレクタ68に送るために使用される。このセレクタ68の出力端子はRAMライトデータバス69によってRAM11に接続されている。セレクタ68は、転送用バス60を使用したデータ転送であるかバスマスタ51によるデータ転送であるかに応じて、IOリードデータバス67によって送られてくる転送リードデータTDR及びRAMライトデータバス14によって送られてくるRAMライトデータRDWの何れか選択し、RAMライトデータバス69を用いて、RAMライトデータとしてRAM11に送る。
【0056】
IO選択レジスタ70は、第1内部モジュール61a及び第2内部モジュール61bの何れを選択してデータ転送を行わせるかを決定する値を保持する。このIO選択レジスタ70は、第1選択信号線71aによって第1内部モジュール61aに接続されると共に、第2選択信号線71bによって第2内部モジュール61bに接続されている。IO選択レジスタ70は、第1選択信号線71aを用いて第1選択信号SELaを第1内部モジュール61aに送ることにより、該第1内部モジュール61aをデータ転送の対象として選択する。同様に、IO選択レジスタ70は、第2選択信号線71bを用いて第2選択信号SELbを第2内部モジュール61bに送ることにより、該第2内部モジュール61bをデータ転送の対象として選択する。
【0057】
転送指示レジスタ72は、転送制御部62に転送指示を与えるかどうかを決める値を保持する。この転送指示レジスタ72は、転送指示線73によって転送制御部62に接続されており、この転送指示線73を用いて転送制御部62に転送指示信号を送る。
【0058】
次に、上記のように構成される、この発明の実施の形態1に係るデータ転送制御装置の動作を説明する。先ず、データ転送制御装置の概略の動作を説明する。
【0059】
ここでは、データ転送制御装置の動作の一例として、RAM11に記憶されているデータを第1内部モジュール61aに転送する場合を説明する。データ転送制御装置の動作は、RAM11からデータを読み出すリード動作と、読み出されたデータを第1内部モジュール61aに書き込むライト動作とから構成されている。リード動作は、バスマスタ51の制御によって実行され、ライト動作は転送制御部62の制御によって実行される。
【0060】
リード動作及びライト動作が開始されるに先立って、先ず、図示しない制御部により、転送指示レジスタ72に転送を実行すべき旨を指示する値がセットされる。これにより、転送指示信号がアクティブになり、転送指示線73を介してデータ転送を実行すべき旨が転送制御部62に伝えられる。また、図示しない制御部により、IO選択レジスタ70に第1内部モジュール61aを選択すべき旨の値がセットされる。これにより、第1選択信号SELaがアクティブになり、第1選択信号線71aを介して、データ転送の対象として選択された旨が第1内部モジュール61aに伝えられる。以上の準備が完了すると、転送動作が開始される。
【0061】
先ず、RAM11からデータを読み出すリード動作を説明する。このリード動作はバスマスタ51によって行われる。即ち、バスマスタ51は、データをリードするために必要なマスタ制御信号MCSをマスタ制御信号バス3に出力する。同時に、RAM11のリード開始位置を指示するマスタアドレス信号MADDRをマスタアドレスバス2に出力する。BIU_R10は、マスタ制御信号MCSがマスタ制御信号バス3に出力されると、マスタアドレスバス2に出力されているマスタアドレス信号MADDRがRAM11を指定するものであるかどうかを調べる。そして、RAM11を指定するマスタアドレス信号MADDRであることを判断すると、BIU_R10は、RAM用スレーブバス10aに対してデータリードのプロトコルを実行する。
【0062】
即ち、BIU_R10は、RAM制御信号バス15に、RAM11からデータをリードするために必要なRAM制御信号RCSを出力する。同時に、RAMアドレスバス12に、RAM11のリード開始位置を指示するアドレスをRAMアドレス信号RADDRとして出力する。これにより、RAM11からデータが読み出され、RAMリードデータRDRとしてRAMリードデータバス13に出力される。
【0063】
この際、上述した一般的なデータ転送制御装置と異なり、BIU_R10は、RAMリードデータバス13を用いて送られているRAMリードデータRDRを、マスタバス51aの中のRAM用リードデータバス5に出力しない。その代わりに、RAMリードデータRDRを、IOライトデータバス64を介して、転送ライトデータTDWとして第1内部モジュール61aに送る。以上により、RAM11からデータを読み込むリード動作が完了する。
【0064】
次に、RAM11から読み出されたデータを第1内部モジュール61aに書き込むライト動作を説明する。転送制御部62は、RAM制御信号バス15に流れるRAM制御信号RCSを監視している。従って、転送制御部62は、RAM11からRAMリードデータバス13にRAMリードデータRDRが出力されるタイミングを把握している。転送制御部62は、そのタイミングにおいて、転送制御信号TCSに含まれるIOライトストローブ信号WSをアクティブにする。これにより、RAM11からRAMリードデータバス13及びIOライトデータバス64を介して送られてきているRAMリードデータRDR、換言すれば転送ライトデータTDWが第1内部モジュール61aに書き込まれる。以上により、RAM11から読み出されたデータを第1内部モジュール61aに書き込むライト動作が完了する。以上のリード動作及びライト動作により、RAM11に記憶されている1つのデータを第1内部モジュール61aに転送する動作が完了する。
【0065】
データ転送制御装置の動作の他の一例として、RAM11に記憶されているデータをバスマスタ51に転送する場合を説明する。この場合、データ転送制御装置の動作は、RAM11からデータを読み出すリード動作のみから構成される。このリード動作が開始されるに先立って、先ず、図示しない制御部により、転送指示レジスタ72に転送を実行しない旨を指示する値がセットされる。これにより、転送指示信号がインアクティブになり、転送指示線73を介してデータ転送を実行しない旨が転送制御部62に伝えられる。以後の動作は、既に説明した一般的なデータ転送制御装置におけるリード動作と同じである。
【0066】
次に、図4に示したタイミングチャートを参照しながら、実施の形態1に係るデータ転送制御装置の動作を更に詳細に説明する。なお、図中におけるRは、RAM11から単独にデータを読み出すときに実行される1つのリード動作に関連していることを表している。後段で説明する図7および図9においても同様である。
【0067】
図4は4つのデータをRAM11から第1内部モジュール61aに転送する場合のタイミングを示している。先ず、データ転送に先立って、上述したように、転送指示レジスタ72及びIO選択レジスタ70に所定の値が設定され、転送指示信号及び第1選択信号SELaがアクティブにされる。
【0068】
次いで、CLK“1”において、バスマスタ51はアクセス要求信号REQ、マスタリード/ライト信号RW及びマスタアドレス信号MADDRをアサートする。マスタリード/ライト信号RWは、Hレベルでリードを、Lレベルでライトを表す。BIU_R10は、マスタアドレスバス2に出力されているマスタアドレス信号MADDRを調べることによりRAM11に対するアドレスが出力されており、且つ応答可能状態にあることを判断すると、CLK“1”でアクセス許可信号ACKをアサートする。また、BIU_R10は、CLK“1”で、RAMチップセレクト信号RCS、RAMアドレス信号RADDR及びRAMリード/ライト信号RRWをアサートすることにより、RAM11に対してリード要求を出す。RAMリード/ライト信号RRWは、Hレベルでリードを、Lレベルでライトを表す。
【0069】
上記リード要求に応答してRAM11から読み出されたRAMリードデータRDRは、リード要求の次のCLK“2”でRAMリードデータバス13に出力される。このRAMリードデータバス13に出力されたRAMリードデータRDRは、IOライトデータバス64を介して、転送ライトデータTDWとして第1内部モジュール61aに供給される。同時に、BIU_R10は、アクセス終了信号ENDをアサートする。
【0070】
転送制御部62は、CLK“2”でIOライトストローブ信号WSをアサートする。これにより、IOライトデータバス64に出力された転送ライトデータTDWは、CLK2において、第1選択信号SELaによって選択されている第1内部モジュール61aに書き込まれる。以上により、RAM11に記憶されている1つのデータを第1内部モジュール61aに転送する動作が完了する。以下、同様にして、2〜4番目のデータの転送が行われる。
【0071】
なお、第1内部モジュール61aからRAM11へのデータ転送は、バスマスタ51が第1内部モジュール61aからデータを読み出すリード動作により構成され、第1内部モジュール61aから読み出されたデータは、バスマスタ51に送られることなく直接にRAM11に書き込まれる。これらの動作は、上述したRAM11から第1内部モジュール61aへデータ転送する動作と同様であるので説明を省略する。
【0072】
この実施の形態1に係るデータ転送制御装置では、上述した一般的なデータ転送制御装置のように、バスマスタ51は、RAM11から読み出したデータをマスタバス51aを介して取り込み、その後、マスタバス51aを介して第1内部モジュール61a又は第2内部モジュール61bに書き込む必要がなく、RAMから読み出されたデータはマスタバス51aを経由することなく直接に第1内部モジュール61a又は第2内部モジュール61bに書き込まれる。従って、図4に示すように、CLK“1”〜CLK“4”の間で連続してアクセス要求信号REQを出力することが可能になり、連続したリード動作が可能である。
【0073】
なお、図4に示した例では、CLK“6”〜CLK“8”で、転送指示レジスタ72の設定が行われてCLK8で転送指示信号がインアクティブになり、その後、CLK“9”及びCLK“10”で、バスマスタ51がRAM11からデータを読み出す動作を示している。
【0074】
以上説明したように、この実施の形態1に係るデータ転送制御装置によれば、4つのデータをRAM11から第1内部モジュール61aに転送するために5個のクロックサイクルを必要とする。これに対し、上述した一般的なデータ転送制御装置では、4つのデータをRAM11から第1内部モジュール21aに転送するために12個のクロックサイクルを必要とする。
【0075】
このように、バスマスタはデータ転送の際、データのリード動作とライト動作とを交互に行う必要がなく、リードのみ又はライトのみを連続して行えばよいので、データ転送に要するクロックサイクルの数を低減することができる。また、クロックサイクル数を低減することにより、このデータ転送制御装置が適用されたシステムLSIの消費電力を減少させることができるという効果も期待できる。
【0076】
実施の形態2.
次に、この発明の実施の形態2に係るデータ転送制御装置を説明する。このデータ転送制御装置は、実施の形態1に係るデータ転送制御装置において、転送制御部62に与える転送指示信号を、RAM11に供給されるRAMアドレス信号RADDRに基づいて生成するようにしたものである。
【0077】
図5は、この発明の実施の形態2に係るデータ転送制御装置の構成を示すブロック図である。このデータ転送制御装置は、図3に示した実施の形態1に係るデータ転送制御装置の構成要素のうち、転送指示レジスタ72を転送指示制御部80で置き換えることにより構成されている。
【0078】
転送指示制御部80は、RAMアドレスバス12に出力されているRAMアドレス信号RADDRに基づいて、転送制御部62に転送指示を与えるかどうかを決める転送指示信号を生成する。この転送指示制御部80は、転送指示線81によって転送制御部62に接続されており、この転送指示線81を用いて転送制御部62に転送指示信号を送る。
【0079】
今、RAM11のアドレス空間が、図6に示すように、領域a、領域b及び領域cといった3つの領域に分けられており、領域a及び領域cはデータ転送用領域、領域bは通常の記憶領域として定義されるものとする。転送指示制御部80は、RAMアドレス信号RADDRによって領域a又は領域bが指定される場合は転送指示信号をアクティブにし、領域cが指定される場合は転送指示信号をインアクティブにする。なお、RAM11の領域の定義は、図示しないレジスタに所定の値を設定することにより行われるようになっている。従って、レジスタの内容を変更することにより、RAM11の領域の定義を任意に変更できるようになっている。
【0080】
次に、上記のように構成される、この発明の実施の形態2に係るデータ転送制御装置の動作を説明する。
【0081】
このデータ転送制御装置では、実施の形態1におけるデータ転送と同様に、転送指示制御部80から出力される転送制御信号がアクティブのときは、バススレーブ間(RAM11と第1内部モジュール61a又は第2内部モジュール61bとの間)でデータ転送が行われ、転送制御信号がインアクティブのときは、バスマスタ51とバススレーブ(RAM11、第1内部モジュール61a又は第2内部モジュール61b)との間でデータ転送が行われる。
【0082】
次に、図7に示したタイミングチャートを参照しながら、実施の形態2に係るデータ転送制御装置の動作を更に詳細に説明する。
【0083】
この実施の形態2に係るデータ転送制御装置は、データ転送の形態が切り替わる時の動作に特徴がある。この動作の一例として、RAM11から第1内部モジュール61aへ4つのデータ転送が行われた後に、RAM11からバスマスタ51にデータが転送される動作に切り替わる場合について説明する。
【0084】
CLK“1”〜CLK“4”においては、転送指示制御部80は、RAMアドレスバス12上のRAMアドレス信号RADDRが領域a又は領域cを指示していれば、バススレーブ間でデータを転送すべき旨を判断し、転送指示信号をアクティブにする。これにより、RAM11から読み出されたデータが第1内部モジュール61aに転送される。
【0085】
次に、CLK6において、転送指示制御部80は、RAMアドレスバス12上のRAMアドレス信号RADDRが領域bを指示していれば、バススレーブとバスマスタ51との間でデータを転送すべき旨を判断し、転送指示信号をインアクティブにする。これにより、RAM11から読み出されたデータはバスマスタ51に転送される。
【0086】
以上説明したように、この実施の形態2に係るデータ転送制御装置によれば、RAM11のアクセスされる領域に応じてバススレーブ間でデータ転送を行うか、バススレーブとバスマスタとの間で通常の転送を行うかが切り換えられる。従って、実施の形態1に係るデータ転送制御装置においては3クロックサイクルを要していた転送指示レジスタへの値の設定(図4参照)を省くことができるので、転送指示に要するオーバーヘッドを削減でき、少ない数のクロックサイクルで効率よく、且つ迅速にデータ転送を行うことができる。
【0087】
実施の形態3.
次に、この発明の実施の形態3に係るデータ転送制御装置を説明する。このデータ転送制御装置は、実施の形態1に係るデータ転送制御装置においては転送制御部62で生成されている転送指示信号をバスマスタで生成するようにしたものである。
【0088】
図8は、この発明の実施の形態3に係るデータ転送制御装置の構成を示すブロック図である。このデータ転送制御装置は、図3に示した実施の形態1に係るデータ転送制御装置の構成要素のうち、転送指示レジスタ72を除去し、バスマスタ51を新たなバスマスタ52で置き換えることにより構成されている。
【0089】
バスマスタ52は、BIU_R10を介してRAM11、第1内部モジュール61a及び第2内部モジュール61bにアクセスし、これらとの間でデータ転送を実行すると共に、RAM11と第1内部モジュール61a又は第2内部モジュール61bとの間でデータ転送を行わせる。また、このバスマスタ52は、転送指示信号を生成し、転送指示線53を用いて転送制御部62に送る。
【0090】
次に、上記のように構成される、この発明の実施の形態3に係るデータ転送制御装置の動作を説明する。
【0091】
このデータ転送制御装置では、実施の形態1におけるデータ転送と同様に、バスマスタ52から出力される転送制御信号がアクティブのときは、複数のバススレーブ間(RAM11と第1内部モジュール61a又は第2内部モジュール61bとの間)でデータ転送が行われ、転送制御信号がインアクティブのときは、バスマスタ52とバススレーブ(RAM11、第1内部モジュール61a又は第2内部モジュール61b)との間でデータ転送が行われる。
【0092】
今、バスマスタ52がDMA転送コントローラ(以下、「DMAC」と略する)であり、このDMACは、チャンネル0及びチャンネル1といった2つの転送チャンネルを備えているものとする。そして、チャンネル0は、RAM11から第1内部モジュール61aへデータ転送を行い、チャンネル1は、RAM11からマスタバス51aに接続されている他のモジュール(図示しない)へデータ転送を行うように割り当てられているものとする。
【0093】
DMACがチャンネル0を用いてデータ転送を行う場合、図示しない制御部からの指示に応答して、バスマスタ52は、転送指示線53に出力する転送指示信号をアクティブにする。引き続いてDMACがチャンネル1を用いてデータ転送を行う場合、図示しない制御部からの指示に応答して、バスマスタ52は、転送指示線53に出力する転送指示信号をインアクティブにする。
【0094】
この場合のデータ転送制御装置の動作を図9に示すタイミングチャートを参照しながら説明する。CLK“1”〜CLK“5”においては、DMACのチャンネル0を用いたデータ転送が行われる。即ち、DMACは転送制御信号をアクティブにするため、転送用バス60を用いてRAM11から第1内部モジュール61aへデータが転送される。CLK“6”では、DMACのチャンネル1を用いたデータ転送が行われる。即ち、DMACは転送制御信号をインアクティブにするため、RAM11から読み出されたデータがRAM用スレーブバス10a、BIU_R10及びマスタバス51aを介してDMACに取り込まれる。そして、DMACに取り込まれたデータがマスタバス51aを介して図示しないモジュールに送られる。
【0095】
次に、DMACのチャンネル0は、RAM11から第1内部モジュール61aへデータ転送を行い、チャンネル1は、RAM11から第2内部モジュール61bへデータ転送を行うように割り当てられている場合の動作を説明する。
【0096】
DMACがチャンネル0を用いてデータ転送を行う場合、図示しない制御部からの指示に応答して、バスマスタ52は、転送指示線53に出力する転送指示信号をアクティブにする。引き続いてDMACがチャンネル1を用いてデータ転送を行う場合、IO選択レジスタ70によって第2内部モジュール61bが選択された後に、図示しない制御部からの指示に応答して、バスマスタ52は、転送指示線53に出力する転送指示信号をアクティブにする。
【0097】
この場合のデータ転送制御装置の動作を図10に示すタイミングチャートを参照しながら説明する。なお、図10において、Ra及びWaは、チャンネル0のデータ転送時に関連する信号であることを表し、Rb及びWbは、チャンネル1のデータ転送時に関連する信号であることを表す。これらの記号Ra、Wa、Rb及びWbは、後に出現する他のタイミングチャートでも上記と同様の意味で使用される。
【0098】
CLK“1”〜CLK“5”においては、DMACのチャンネル0を用いたデータ転送が行われる。即ち、DMACは転送制御信号をアクティブにするため、転送用バス60を用いてRAM”11”から第1内部モジュール61aへデータが転送される。CLK“6”〜CLK“8”では、IO選択レジスタ70の設定が行われ、CLK“8”でIO選択レジスタ70から出力される第1選択信号SELaがインアクティブになり、第2選択信号SELbがアクティブになる。これにより、第2内部モジュール61bが選択される。その後のCLK“9”〜CLK“13”においては、DMACのチャンネル1を用いたデータ転送が行われる。即ち、DMACは転送制御信号をアクティブにするため、転送用バス60を用いてRAM11から第2内部モジュール61bへデータが転送される。
【0099】
以上説明したように、この実施の形態3に係るデータ転送制御装置によれば、転送指示信号をバスマスタ52で生成するようにしたので、実施の形態1に係るデータ転送制御装置における転送指示レジスタ72は不要になる。その結果、データ転送制御装置の構成を簡単にすることができる。また、アドレス比較を行わないので、動作周波数を高くすることができる。
【0100】
実施の形態4.
次に、この発明の実施の形態4に係るデータ転送制御装置を説明する。このデータ転送制御装置は、実施の形態3に係るデータ転送制御装置においてはIO選択レジスタ70で生成されている第1選択信号SELa及び第2選択信号SELbをバスマスタで生成するようにしたものである。
【0101】
図11は、この発明の実施の形態4に係るデータ転送制御装置の構成を示すブロック図である。このデータ転送制御装置は、図8に示した実施の形態3に係るデータ転送制御装置の構成要素のうち、IO選択レジスタ70を除去し、バスマスタ52を新たなバスマスタ54で置き換えることにより構成されている。
【0102】
バスマスタ54は、BIU_R10を介してRAM11、第1内部モジュール61a及び第2内部モジュール61bにアクセスし、これらとの間でデータ転送を実行すると共に、RAM11と第1内部モジュール61a又は第2内部モジュール61bとの間でデータ転送を行わせる。また、このバスマスタ54は、転送指示信号を生成し、転送指示線55を用いて転送制御部62に送る。更に、このバスマスタ54は、第1選択信号SELaを生成し、第1選択信号線56aを介して第1内部モジュール61aに送ると共に、第2選択信号SELbを生成し、第2選択信号線56bを介して第2内部モジュール61bに送る。
【0103】
次に、上記のように構成される、この発明の実施の形態4に係るデータ転送制御装置の動作を説明する。
【0104】
このデータ転送制御装置では、バスマスタ54から出力される転送制御信号がアクティブのときは、第1内部モジュール61a及び第2内部モジュール61bを選択する方法を除けば、実施の形態1におけるデータ転送と同様に、複数のバススレーブ間(RAM11と第1内部モジュール61a又は第2内部モジュール61bとの間)でデータ転送が行われる。また、転送制御信号がインアクティブのときは、実施の形態1におけるデータ転送と同様に、バスマスタ54とバススレーブ(RAM11、第1内部モジュール61a又は第2内部モジュール61b)との間でデータ転送が行われる。
【0105】
今、バスマスタ54がDMACであり、このDMACは、チャンネル0及びチャンネル1といった2つの転送チャンネルを備えているものとする。そして、チャンネル0は、RAM11から第1内部モジュール61aへデータ転送を行い、チャンネル1は、RAM11から第2内部モジュール61bへデータ転送を行うように割り当てられているものとする。
【0106】
DMACがチャンネル0を用いてデータ転送を行う場合、バスマスタ54は、転送指示線53に出力する転送指示信号をアクティブにすると共に、第1選択信号線56aに出力する第1選択信号SELaをアクティブにする。引き続いてDMACがチャンネル1を用いてデータ転送を行う場合、バスマスタ54は、転送指示線53に出力する転送指示信号をアクティブにすると共に、第2選択信号線56bに出力する第2選択信号SELbをアクティブにする。
【0107】
この場合のデータ転送制御装置の動作を図12に示すタイミングチャートを参照しながら説明する。
【0108】
CLK“1”〜CLK“5”においては、DMACのチャンネル0を用いたデータ転送が行われる。即ち、DMACはCLK“1”において転送制御信号及び第1選択信号SELaをアクティブにするため、CLK“1”〜CLK“4”においてRAM11から読み出されたRAMリードデータRDRは、RAMリードデータバス13に出力される。このRAMリードデータバス13に出力されたRAMリードデータRDRは、CLK“2”〜CLK“5”において、IOライトデータバス64を介して、転送ライトデータTDWとして第1内部モジュール61aに送られ、書き込まれる。DMACは、データ転送が開始されてから終了するまで、つまりCLK“1”〜CLK“5”の間は、第1選択信号SELaをアクティブに維持する。
【0109】
CLK“6”〜CLK“10”においては、DMACのチャンネル1を用いたデータ転送が行われる。即ち、DMACはCLK“6”において転送制御信号及び第2選択信号SELbをアクティブにするため、CLK“6”〜CLK“9”においてRAM11から読み出されたRAMリードデータRDRは、RAMリードデータバス13に出力される。このRAMリードデータバス13に出力されたRAMリードデータRDRは、CLK“7”〜CLK“10”において、IOライトデータバス64を介して、転送ライトデータTDWとして第2内部モジュール61bに送られ、書き込まれる。DMACは、データ転送が開始されてから終了するまで、つまりCLK“6”〜CLK“9”の間は、第2選択信号SELbをアクティブに維持する。
【0110】
以上説明したように、この実施の形態4に係るデータ転送制御装置によれば、バスマスタ54がデータ転送の対象となるバススレーブを選択する信号を出力するので、データ転送が切り換えられる毎にIO選択レジスタ70に所定値を設定する必要がない。その結果、実施の形態3に係るデータ転送制御装置においては3クロックサイクルを要していたIO選択レジスタ70への値の設定(図10参照)を省くことができ、バススレーブの選択に要するオーバーヘッドを削減できる。
【0111】
なお、上述した実施の形態1〜実施の形態3に係るデータ転送制御装置においても、この実施の形態3のように、第1選択信号SELa及び第2選択信号SELbをバスマスタで生成するように構成することができる。
【0112】
実施の形態5.
次に、この発明の実施の形態5に係るデータ転送制御装置を説明する。このデータ転送制御装置は、実施の形態4に係るデータ転送制御装置において、外部デバイスを制御するための情報に応じて転送指示信号を生成するようにしたものである。
【0113】
図13は、この発明の実施の形態5に係るデータ転送制御装置の構成を示すブロック図である。このデータ転送制御装置は、図11に示した実施の形態4に係るデータ転送制御装置の構成要素のうち、BIU_R10、転送制御部62及びRAM11を外部用バスインタフェースユニット(以下、「BIU_E」と略する)90、転送制御部110及び外部デバイス制御部91でそれぞれ置き換えることにより構成されている。また、外部デバイス制御部91には外部デバイス101が接続されている。
【0114】
BIU_E90は、外部デバイス制御部91を介して外部デバイス101にアクセスするために、マスタバス51aのプロトコルと外部デバイス用スレーブバス90aのプロトコルとを相互に変換する。このBIU_E90は、外部デバイス用スレーブバス90aを介して外部デバイス制御部91に接続されている。
【0115】
外部デバイス用スレーブバス90aは、外部アドレスバス92、外部リードデータバス93、外部ライドデータバス94及び外部制御信号バス95から構成されている。
【0116】
外部アドレスバス92は、BIU_E90から出力される外部アドレス信号EADDRを外部デバイス制御部91に送るために使用される。外部リードデータバス93は、外部デバイス制御部91から読み出された外部リードデータEDRをBIU_E90に送るために使用される。外部ライトデータバス94は、BIU_E90から出力される外部ライトデータEDWをセレクタ96を介して外部デバイス制御部91に送るために使用される。外部制御信号バス95は、BIU_E90から出力される外部制御信号ECSを外部デバイス制御部91及び転送制御部110に送るために使用される。
【0117】
外部制御信号ECSには、外部デバイス101にアクセスを要求するための外部デバイスアクセス要求信号EREQ、外部デバイス101にリードアクセスを行うかライトアクセスを行うかを指示するための外部デバイスリード/ライト信号ERW、及び外部デバイス101に対するアクセスが終了したことを示す外部デバイスアクセス終了信号EENDが含まれる。
【0118】
セレクタ96は、BIU_E90から外部ライトデータバス94を介して送られてくる外部ライトデータEDW及びセレクタ66からIOリードデータバス67によって送られてくる転送リードデータTDRの何れか選択し、ライトデータバス97を用いて、外部デバイス制御部91に送る。
【0119】
外部デバイス制御部91は、バススレーブとして機能する内部モジュールである。この外部デバイス制御部91は、外部デバイスアクセス情報信号線98により転送制御部110に接続されている。外部デバイス制御部91は、この外部デバイスアクセス情報信号線98を用いて、接続されている外部デバイス101のアクセスに関する情報を外部デバイスアクセス情報信号として転送制御部110に送る。また、この外部デバイス制御部91は、外部バス91aを介して、システムLSIの外部に接続される外部デバイス101に接続されている。
【0120】
外部バス91aは、外部デバイスアドレスバス102、外部デバイスデータバス103及び外部デバイス制御信号バス104から構成されている。
【0121】
外部デバイスアドレスバス102は、外部デバイス制御部91から出力される外部デバイスアドレス信号を外部デバイス101に送るために使用される。外部デバイスデータバス103は、外部デバイス制御部91と外部デバイス101との間でデータを送受するために使用される。外部デバイス制御信号バス104は、外部デバイス制御部91から出力される外部デバイス制御信号を外部デバイス101に送るために使用される。この外部デバイス制御信号は、外部デバイス101に対するコマンドから構成される。
【0122】
転送制御部110は、外部デバイス制御部91と第1内部モジュール61a又は第2内部モジュール61bとの間のデータ転送を制御するための転送制御信号TCSを、外部制御信号バス95からの外部制御信号ECS、バスマスタ54からの転送指示信号及び外部デバイス制御部91からの外部デバイスアクセス情報信号とに基づいて生成する。この生成された転送制御信号TCSは、転送制御信号バス63によって第1内部モジュール61a及び第2内部モジュール61bに送られる。転送制御信号TCSには、IOリードストローブ信号RS及びIOライトストローブ信号WSが含まれる。
【0123】
次に、上記のように構成される、この発明の実施の形態5に係るデータ転送制御装置の動作を説明する。先ず、データ転送制御装置の概略の動作を説明する。
【0124】
ここでは、データ転送制御装置の動作の一例として、第1内部モジュール61aから外部デバイス101にデータを転送する場合を説明する。データ転送制御装置の動作は、第1内部モジュール61aからデータを読み出すリード動作と、読み出されたデータを外部デバイス制御部91を介して外部デバイス101に書き込むライト動作とから構成されている。リード動作は転送制御部62の制御によって実行され、ライト動作はバスマスタ54の制御によって実行される。
【0125】
データ転送動作が開始されるに先立って、バスマスタ54は、転送指示信号をアクティブにし、転送指示線55を介してデータ転送を実行すべき旨を転送制御部110に伝える。また、第1内部モジュール61aを選択すべき旨の第1選択信号SELaをアクティブにし、第1選択信号線56aを介して、データ転送の対象として選択された旨を第1内部モジュール61aに伝える。以上の準備が完了すると、データ転送動作が開始される。
【0126】
データ転送動作は、先ず、バスマスタ54による外部デバイス101へのライト動作から開始される。即ち、バスマスタ54は、データをライトするために必要なマスタ制御信号MCSをマスタ制御信号バス3に出力する。同時に、ライトの対象となる外部デバイス101を指定するマスタアドレス信号MADDRをマスタアドレスバス2に出力する。BIU_E90は、マスタ制御信号MCSがマスタ制御信号バス3に出力されると、マスタアドレスバス2に出力されているマスタアドレス信号MADDRが外部デバイス101を指定するものであるかどうかを調べる。そして、外部デバイス101を指定するマスタアドレス信号MADDRであることを判断すると、BIU_E90は、外部デバイス用スレーブバス90aに対してデータライトのプロトコルを実行する。
【0127】
即ち、BIU_E90は、外部制御信号バス95に、外部デバイス101にデータをライトするために必要な外部デバイス制御信号ECSを出力する。同時に、外部アドレスバス92に、外部デバイス101に必要なアドレスを外部デバイスアドレス信号EADDRとして出力する。外部デバイス制御部91は、これら外部デバイス制御信号ECS及び外部デバイスアドレス信号EADDRを受け取ることにより、外部バス91aを介して外部デバイス101にライト動作を行う。
【0128】
即ち、外部デバイス制御部91は、外部バス91aを構成する外部デバイス制御信号バス104に、外部デバイス101にデータを書き込むために必要な制御信号を出力する。また、外部デバイスアドレスバス102に、外部デバイス101にデータを書き込むために必要なアドレスを出力する。更に、外部デバイスデータバス103に、外部デバイス101に書き込むデータを出力する。これにより、外部デバイス101にデータが書き込まれる。この外部デバイス101に書き込まれるデータは、書き込みのタイミングにおいて、第1内部モジュール61aから読み出され、セレクタ66、IOリードデータバス67、セレクタ96及びライトデータバス97を経由して外部デバイス制御部91に存在しなければならない。
【0129】
ここで、第1内部モジュール61aからデータを読み出す動作を説明する。転送制御部110は、外部デバイス用スレーブバス90aを構成する外部デバイス制御信号バス95に流れる外部デバイス制御信号ECSを監視している。また、外部デバイス制御部91から外部デバイスアクセス情報信号線98により送られてくる外部デバイスアクセス情報信号によって、外部デバイス101にアクセスするタイミングを認識する。転送制御部110は、これら外部デバイス制御信号ECS及び外部デバイスアクセス情報信号に基づいて外部デバイス制御部91が外部デバイス101にデータを書き込むタイミングを決定し、この決定されたタイミングに合わせて転送制御信号バス63に転送制御信号TCSを出力する。
【0130】
第1選択信号SELaによって選択されている第1内部モジュール61aは、この転送制御信号TCSに含まれるIOリードストローブ信号RSに応じてデータを読み出して第1IOリードデータバス65aに出力する。この第1IOリードデータバス65aに読み出されたデータは、セレクタ66を経由してIOリードデータバス67に出力され、転送リードデータTDRとしてセレクタ96に送られる。セレクタ96は、IOリードデータバス67からの転送リードデータTDRを通過させてライトデータバス97に出力し、外部デバイス制御部91に送る。以上により、第1内部モジュール61aから外部デバイス101へのデータ転送動作が完了する。
【0131】
次に、図14に示したタイミングチャートを参照しながら、実施の形態5に係るデータ転送制御装置の動作を更に詳細に説明する。ここでは、外部デバイス101としてSDRAMが使用される場合を説明する。
【0132】
先ず、CLK“1”において、バスマスタ54はアクセス要求信号REQ、マスタリード/ライト信号RW及びマスタアドレス信号MADDRをアサートする。マスタリード/ライト信号RWは、Hレベルでリードを、Lレベルでライトを表す。BIU_E90は、マスタアドレスバス2に出力されているマスタアドレス信号MADDRを調べることにより外部デバイス101に対するアドレスが出力されていることを判断すると、CLK“1”でアクセス許可信号ACKをアサートする。また、BIU_E90は、CLK“1”で、外部デバイスアクセス要求信号EREQ、外部デバイスアドレス信号EADDR及び外部デバイスリード/ライト信号ERWをアサートすることにより、外部デバイス制御部91に対してリードライトアクセスを行う。外部デバイスリード/ライト信号ERWは、Hレベルでリードを、Lレベルでライトを表す。
【0133】
外部デバイス制御部91は、CLK“1”において、外部デバイス制御信号バス104に行活性化コマンド“ac”を出力すると共に、外部デバイスアドレスバス102に行アドレス“r0”を出力する。引き続くCLK“2”及びCLK“3”において、外部デバイス制御部91は、外部デバイス制御信号バス104にノーオペレーションコマンド“np”を出力する。ノーオペレーションコマンド“np”を出力する理由は、SDRAMのACタイミング条件(行から列への遅延時間)として、行活性化コマンド“ac”とライトコマンド“w0”との間に3クロックサイクル以上存在することが要求されているからである。
【0134】
その後のCLK“4”において、外部デバイス制御部91は、外部デバイス制御信号バス104にライトコマンド“w0”を、外部デバイスアドレスバス102に列アドレス“c0”を、外部デバイスデータバス103にライトデータ“d0”をそれぞれ出力する。同時に、外部デバイス制御部91は、外部制御信号バス95に外部デバイスアクセス終了信号EENDを出力する。この外部デバイスアクセス終了信号EENDを受け取ったBIU_E90は、マスタバス51aのマスタ制御信号バス3に、マスタ制御信号MCSの中のアクセス終了信号ENDを出力する。これにより1回目の外部デバイス101へのライト動作が終了する。引き続いて、CLK“4”〜CLK“7”において、2〜4回目の外部デバイス101へのライト動作が行われる。2回目以降のライト動作が行われる場合は、既に行活性化状態にされているため、ライトコマンド“w1”〜“w3”は連続して発行される。
【0135】
一方、第1内部モジュール61aからのデータのリード動作は、CLK“4”〜CLK“7”において行われる。即ち、転送制御部110は、外部デバイス制御部91から送られてくる外部デバイスアクセス情報信号に含まれるSDRAMのACタイミング条件(行から列への遅延時間)に従って3クロックサイクルの遅延が必要であることを判断し、CLK“4”〜CLK“7”において、転送制御信号バス63にIOリードストローブ信号RSを出力する。これにより、CLK“4”〜CLK“7”において、第1内部モジュール61aからデータが読み出され、第1IOリードデータバス65a、セレクタ66、IOリードデータバス67、セレクタ96及び外部デバイス制御部91を経由して、外部デバイスデータバス103に出力される。以上により、第1内部モジュール61aから外部デバイス101へのデータ転送動作が完了する。
【0136】
なお、SDRAMのACタイミング条件(行から列への遅延時間)を満たすためのクロックサイクルの数は、SDRAMの種類及びクロック周波数に依存する。しかし、転送制御部110は、外部デバイス制御部91から送られてくる外部デバイスアクセス情報信号に含まれるSDRAMのACタイミング条件(行から列への遅延時間)に従って遅延させるクロックサイクルの数を決定するので、SDRAMの種類及びクロック周波数が変更されても、正確且つ確実なデータ転送動作を行わせることができる。
【0137】
以上説明したように、この実施の形態5に係るデータ転送制御装置によれば、例えばSDRAMのような、ACタイミング条件を満たすクロックサイクルの数がクロック周波数等によって異なる外部デバイスに対して、正確且つ確実なデータ転送を行うことができる。
【0138】
なお、この実施の形態5では、外部デバイス101としてSDRAMが用いられる場合について説明したが、SDRAMに限らず、ACタイミング条件を満たすようにクロックサイクルの数を制御する必要のある他のデバイスにも適用できる。また、外部デバイス101は、システムLSIの外部に接続されるデバイスに限らず、システムLSIの内部に設けられるバススレーブであってもよい。
【0139】
また、この実施の形態5に係るデータ転送制御装置は、実施の形態4に係るデータ転送制御装置の構成要素の一部を変更して構成したが、実施の形態1〜実施の形態3の何れかに係るデータ転送制御装置の構成要素の一部を変更して構成することもでき、この場合も、上述した作用及び効果を奏する。
【0140】
実施の形態6.
次に、この発明の実施の形態6に係るデータ転送制御装置を説明する。このデータ転送制御装置は、実施の形態4に係るデータ転送制御装置において、第1内部モジュール61a及び第2内部モジュール61bを選択するための第1選択信号SELa及び第2選択信号SELbを、RAM11に供給されるRAMアドレス信号RADDRに基づいて生成するようにしたものである。
【0141】
図15は、この発明の実施の形態6に係るデータ転送制御装置の構成を示すブロック図である。このデータ転送制御装置は、図13に示した実施の形態4に係るデータ転送制御装置のバスマスタ54から出力される第1選択信号線56a及び第2選択信号線56bが除去され、IO選択制御部74が新たに追加されて構成されている。
【0142】
IO選択制御部74は、RAMアドレスバス12からのRAMアドレス信号RADDRに基づいて、第1内部モジュール61aを選択するための第1選択信号SELa又は第2内部モジュール61bを選択するための第2選択信号SELbを生成する。このIO選択制御部74で生成された第1選択信号SELaは、第1選択信号線75aを用いて第1内部モジュール61aに送られる。同様に、第2選択信号SELbは、第2選択信号線75bを用いて第2内部モジュール61bに送られる。
【0143】
今、RAM11のアドレス空間が、図16に示すように、領域a及び領域bといった2つの領域に分けられており、領域aは第1内部モジュール61aがアクセスする領域、領域bは第2内部モジュール61bがアクセスする領域として定義されるものとする。IO選択制御部74は、RAMアドレス信号RADDRによって領域aが指定される場合は第1選択信号SELaをアクティブにし、領域bが指定される場合は第2選択信号SELbをアクティブにする。なお、RAM11の領域の定義は、図示しないレジスタに所定の値を設定することにより行われるようになっている。従って、レジスタの内容を変更することにより、RAM11の領域の定義を任意に変更できるようになっている。
【0144】
次に、上記のように構成される、この発明の実施の形態6に係るデータ転送制御装置の動作を説明する。
【0145】
このデータ転送制御装置では、バスマスタ54から出力される転送制御信号がアクティブのときは、第1内部モジュール61a及び第2内部モジュール61bを選択する方法を除けば、実施の形態1におけるデータ転送と同様に、複数のバススレーブ間(RAM11と第1内部モジュール61a又は第2内部モジュール61bとの間)でデータ転送が行われる。また、転送制御信号がインアクティブのときは、実施の形態1におけるデータ転送と同様に、バスマスタ54とバススレーブ(RAM11、第1内部モジュール61a又は第2内部モジュール61b)との間でデータ転送が行われる。従って、以下では、第1内部モジュール61a及び第2内部モジュール61bを選択する動作のみを説明する。
【0146】
今、バスマスタ54からマスタバス51a及びBIU_R10を経由してRAM用スレーブバス10aのRAMアドレスバス12に出力されたRAMアドレス信号RADDRがRAM11の領域aを指示していれば、IO選択制御部74は、第1選択信号SELaをアクティブにする。これにより、第1内部モジュール61aに対するリード動作及びライト動作が可能になる。
【0147】
同様に、バスマスタ54からマスタバス51a及びBIU_R10を経由してRAM用スレーブバス10aのRAMアドレスバス12に出力されたRAMアドレス信号RADDRがRAM11の領域bを指示していれば、IO選択制御部74は、第2選択信号SELbをアクティブにする。これにより、第2内部モジュール61bに対するリード動作及びライト動作が可能になる。
【0148】
以上説明したように、この実施の形態6に係るデータ転送制御装置によれば、RAM11のアクセスされる領域に応じて第1内部モジュール61aを選択するか、第2内部モジュール61bを選択するかが切り換えられる。従って、実施の形態3に係るデータ転送制御装置のようなIO選択レジスタを有する構成では3クロックサイクルを要していたIO選択レジスタへの値の設定(図10参照)を省くことができるので、第1内部モジュール61a又は第2内部モジュール61bの選択に要するオーバーヘッドを削減でき、少ない数のクロックサイクルで効率よく、且つ迅速にデータ転送を行うことができる。
【0149】
実施の形態7.
次に、この発明の実施の形態7に係るデータ転送制御装置を説明する。このデータ転送制御装置は、実施の形態4に係るデータ転送制御装置において、第1内部モジュール61a及び第2内部モジュール61bを選択するための第1選択信号SELa及び第2選択信号SELbを、バスマスタ54が予め記憶している第1内部モジュール61a又は第2内部モジュール61bに付与されているIOアドレスに基づいて生成するようにしたものである。
【0150】
図17は、この発明の実施の形態7に係るデータ転送制御装置の構成を示すブロック図である。このデータ転送制御装置は、図13に示した実施の形態4に係るデータ転送制御装置のバスマスタ54から出力される第1選択信号線56a及び第2選択信号線56bが除去され、IO選択制御部76が新たに追加されると共に、バスマスタ54からIO選択制御部74にIOアドレス信号IOADDRを送るためのIOアドレス線57が追加されて構成されている。
【0151】
IO選択制御部76は、バスマスタ54からのIOアドレス信号IOADDRに基づいて、第1内部モジュール61aを選択するための第1選択信号SELa又は第2内部モジュール61bを選択するための第2選択信号SELbを生成する。このIO選択制御部76で生成された第1選択信号SELaは、第1選択信号線77aを用いて第1内部モジュール61aに送られる。同様に、第2選択信号SELbは、第2選択信号線77bを用いて第2内部モジュール61bに送られる。
【0152】
今、IOアドレス空間が、図18に示すように、領域a及び領域bといった2つの領域に分けられており、領域aは第1内部モジュール61aに付与された領域、領域bは第2内部モジュール61bに付与された領域として定義されるものとする。IO選択制御部76は、IOアドレス信号IOADDRによって領域aが指定される場合は第1選択信号SELaをアクティブにし、領域bが指定される場合は第2選択信号SELbをアクティブにする。なお、IOアドレス空間の領域の定義は、図示しないレジスタに所定の値を設定することにより行われるようになっている。従って、レジスタの内容を変更することにより、IOアドレス空間の領域の定義を任意に変更できるようになっている。
【0153】
次に、上記のように構成される、この発明の実施の形態7に係るデータ転送制御装置の動作を説明する。
【0154】
このデータ転送制御装置では、バスマスタ54から出力される転送制御信号がアクティブのときは、第1内部モジュール61a及び第2内部モジュール61bを選択する方法を除けば、実施の形態1におけるデータ転送と同様に、複数のバススレーブ間(RAM11と第1内部モジュール61a又は第2内部モジュール61bとの間)でデータ転送が行われる。また、転送制御信号がインアクティブのときは、実施の形態1におけるデータ転送と同様に、バスマスタ54とバススレーブ(RAM11、第1内部モジュール61a又は第2内部モジュール61b)との間でデータ転送が行われる。従って、以下では、第1内部モジュール61a及び第2内部モジュール61bを選択する動作のみを説明する。
【0155】
データ転送の対象として第1内部モジュール61a及び第2内部モジュール61bの何れかを選択する場合、バスマスタ54は、内部に記憶しているIOアドレスを表すIOアドレス信号IOADDRを、IOアドレス線57を用いてIO選択制御部76に送る。IO選択制御部76は、受け取ったIOアドレス信号IOADDRがIOアドレス空間の領域aを指示していれば、第1選択信号SELaをアクティブにする。これにより、第1内部モジュール61aに対するリード動作及びライト動作が可能になる。
【0156】
同様に、IO選択制御部76は、受け取ったIOアドレス信号IOADDRがIOアドレス空間の領域bを指示していれば、第2選択信号SELbをアクティブにする。これにより、第2内部モジュール61bに対するリード動作及びライト動作が可能になる。
【0157】
以上説明したように、この実施の形態7に係るデータ転送制御装置によれば、アクセスされるIOアドレス空間の領域に応じて第1内部モジュール61aを選択するか、第2内部モジュール61bを選択するかが切り換えられる。従って、実施の形態3に係るデータ転送制御装置のようなIO選択レジスタを有する構成では3クロックサイクルを要していたIO選択レジスタへの値の設定(図10参照)を省くことができるので、第1内部モジュール61a又は第2内部モジュール61bの選択に要するオーバーヘッドを削減でき、少ない数のクロックサイクルで効率よく、且つ迅速にデータ転送を行うことができる。
【0158】
なお、この実施の形態7に係るデータ転送制御装置は、図19に示すように変形することができる。この変形に係るデータ転送制御装置は、図17に示したデータ転送制御装置のIO選択制御部76の機能を、第1内部モジュール61a及び第2内部モジュール61bの内部にそれぞれ取り込んでIO選択制御部76a及びIO選択制御部76bとすることにより構成されている。
【0159】
この変形例に係るデータ転送制御装置によっても、上述した実施の形態7に係るデータ転送制御装置と同様の作用及び効果を奏する。
【0160】
実施の形態8.
次に、この発明の実施の形態8に係るデータ転送制御装置を説明する。このデータ転送制御装置は、実施の形態5に係るデータ転送制御装置において、2個のバスマスタと2個のマスタバスを備え、各バスマスタが並行して第1内部モジュール61a及び第2内部モジュール61bにアクセスできるようにしたものである。
【0161】
図20は、この発明の実施の形態8に係るデータ転送制御装置の構成を示すブロック図である。このデータ転送制御装置は、主に、図13に示した実施の形態5に係るデータ転送制御装置に、第2バスマスタ200、第2マスタバス200a、バスインタフェースユニット(以下、「BIU_C」という)120、セレクタ7a、セレクタ207、セレクタ126、第1アドレスデコーダ210、第2アドレスデコーダ220が追加されることにより構成されている。
【0162】
第1バスマスタ154は、実施の形態5におけるバスマスタ54に対応する。この第1バスマスタ154は、第1マスタバス54a、BIU_E190及び外部デバイス制御部91を介して外部デバイス101との間でデータ転送を行うと共に、第2マスタバス200a、BIU_C120を介して第1内部モジュール61a又は第2内部モジュール61bとの間でデータ転送を行う。
【0163】
第1マスタバス54aは、実施の形態5におけるマスタバス51aに、BIU_C120からの第2リードデータ信号MaDR_Cを取り込むためのリードデータバス9Cが追加されて構成されている。具体的には、第1マスタアドレス信号MaADDRを流すためのマスタアドレスバス2、第1マスタ制御信号MaCSを流すためのマスタ制御信号バス3、第1マスタライトデータ信号MaDWを流すためのマスタライトデータバス4、BIU_E190からの第1リードデータ信号MbDR_Eを取り込むためのリードデータバス9及び上述したリードデータバス9Cから構成されている。
【0164】
また、セレクタ7aは、リードデータバス9から送られてくる第1リードデータ信号MaDR_E又はリードデータバス9Cから送られてくる第2リードデータ信号MaDR_Cの何れかを選択して第1バスマスタ154に送る。
【0165】
第2バスマスタ200は、第1マスタバス54a、BIU_E190及び外部デバイス制御部91を介して外部デバイス101との間でデータ転送を行うと共に、第2マスタバス200a、BIU_C120を介して第1内部モジュール61a又は第2内部モジュール61bとの間でデータ転送を行う。
【0166】
第2マスタバス200aは、第1マスタバス54aに対応する複数のバスから構成されている。即ち、第2マスタアドレス信号MbADDRを流すためのマスタアドレスバス202、第2マスタ制御信号MbCSを流すためのマスタ制御信号バス203、第2マスタライトデータ信号MbDWを流すためのマスタライトデータバス204、BIU_E190からの第1リードデータ信号MbDR_Eを取り込むためのリードデータバス209及びBIU_C120からの第2リードデータ信号MbDR_Cを取り込むためのリードデータバス209Cから構成されている。
【0167】
また、セレクタ207は、リードデータバス209から送られてくる第1リードデータ信号MaDR_E又はリードデータバス209Cから送られてくる第2リードデータ信号MaDR_Cの何れかを選択して第2バスマスタ200に送る。
【0168】
BIU_E190は、実施の形態5に係るデータ転送制御装置のBIU_E90に、第1バスマスタ154からのアクセスと第2バスマスタ200からのアクセスを調停する機能が加えられて構成されている。
【0169】
BIU_C120は、第1バスマスタ154からのアクセスと第2バスマスタ200からのアクセスを調停し、第1マスタバス54aのプロトコル又は第2マスタバス200aのプロトコルを、内蔵モジュール用スレーブバス120aのプロトコルに変換する。
【0170】
第1アドレスデコーダ210は、第1バスマスタ154から出力される第1マスタアドレス信号MaADDRが、BIU_E190及びBIU_C120のどちらのアドレス空間を指定しているかを判定する。この第1アドレスデコーダ210によりBIU_E190のアドレス空間を指定していることが判定された場合は、信号線211を介して、その旨を表すMaBIU_E選択信号がBIU_E190に送られる。一方、BIU_C120のアドレス空間を指定していることが判定された場合は、信号線212を介して、その旨を表すMaBIU_C選択信号がBIU_C120に送られる。
【0171】
第2アドレスデコーダ220は、第2バスマスタ200から出力される第2マスタアドレス信号MbADDRが、BIU_E190及びBIU_C120のどちらのアドレス空間を指定しているかを判定する。この第2アドレスデコーダ220によりBIU_E190のアドレス空間を指定していることが判定された場合は、信号線221を介して、その旨を表すMaBIU_E選択信号がBIU_E190に送られる。一方、BIU_C120のアドレス空間を指定していることが判定された場合は、信号線222を介して、その旨を表すMaBIU_C選択信号がBIU_C120に送られる。
【0172】
BIU_C120は、内蔵モジュール用スレーブバス120aによって第1内部モジュール61a及び第2内部モジュール61bに接続されている。内蔵モジュール用スレーブバス120aは、内部アドレスバス122、内部リードデータバス123、内部ライドデータバス124及び内部制御信号バス125から構成されている。
【0173】
内部アドレスバス122は、BIU_C120から出力される内部アドレス信号CADDRを第1内部モジュール61a及び第2内部モジュール61bに送るために使用される。内部リードデータバス123は、第1内部モジュール61a及び第2内部モジュール61bから読み出されてセレクタ126で選択された内部リードデータ信号CDRをBIU_C120に送るために使用される。内部ライトデータバス124は、BIU_C120から出力される内部ライトデータCDWを第1内部モジュール61a及び第2内部モジュール61bに送るために使用される。内部制御信号バス125は、BIU_C120から出力される内部制御信号CCSを第1内部モジュール61a及び第2内部モジュール61bに送るために使用される。
【0174】
セレクタ126は、第1内部モジュール61aから信号線123aを介して送られてくるリードデータ及び第2内部モジュール61bから信号線123bを介して送られてくるリードデータの何れか選択し、内部リードデータ信号CDRとして内部リードデータバス123に出力する。
【0175】
次に、上記のように構成される、この発明の実施の形態8に係るデータ転送制御装置の動作を説明する。先ず、第1バスマスタ154から第1内部モジュール61aに対するアクセス(リード動作及びライト動作)について説明する。
【0176】
第1バスマスタ154は、先ず、第1選択信号SELaを第1選択信号線56aに出力し、第1内部モジュール61aを選択する。次いで、アクセスに必要な第1マスタ制御信号MaCSをマスタ制御信号バス3に出力する。同時に、アクセスに必要な第1マスタアドレス信号MaADDRをマスタアドレスバス2に出力する。ライト動作時には、更に、第1マスタライトデータ信号MaDWをマスタライトデータバス4に出力する。
【0177】
また、第1アドレスデコーダ210は、第1マスタアドレス信号MaADDRをデコードし、BIU_E190及びBIU_C120のどちらのアドレス空間を指定しているかを判断する。この判断の結果、BIU_C120のアドレス空間を指定していることが判断されるので、信号線212を介して、MaBIU_C選択信号がBIU_C120に送られる。これにより、BIU_C120が選択される。
【0178】
このようにして選択されたBIU_C120は、第1バスマスタ154のアクセス要求を受け付けると、第1マスタバス54aのプロトコルを、内蔵モジュール用スレーブバス120aのプロトコルに変換する。これにより、BIU_C120から内部アドレス信号CADDRが内部アドレスバス122に出力されると共に、内部制御信号CCSが内部制御信号バス125に出力される。ライト動作の場合は、更に、内部ライトデータCDWが内部ライトデータバス124に出力される。この内蔵モジュール用スレーブバス120aに出力された各信号は、第1内部モジュール61aに送られる。
【0179】
第1内部モジュール61aでは、内部制御信号CCSによりリードアクセスが指定されていれば、内部アドレス信号CADDRで指定された位置からデータを読み出し、信号線123aに出力する。この信号線123aに出力されたデータは、セレクタ126を介して内部リードデータバス123に出力され、内部リードデータ信号CDRとしてBIU_C120に送られる。BIU_C120は、この内部リードデータ信号CDRを、第1リードデータ信号MbDR_Cとして第1マスタバス54aのリードデータバス209Cに出力する。この第1リードデータ信号MbDR_Cは、セレクタ7aを介して第1バスマスタ154に取り込まれる。これにより、リード動作は終了する。
【0180】
一方、内部制御信号CCSによりリードアクセスが指定されていれば、第1内部モジュール61aは、内部ライトデータバス124に出力されている内部ライトデータCDWを、内部アドレス信号CADDRで指定された位置に書き込む。これにより、ライト動作は終了する。
【0181】
第2バスマスタ200による第1内部モジュール61aへのアクセス(リード動作及びライト動作)は、第2マスタバス200aを利用して、上記と同様の手順で行われる。
【0182】
ここで、第1バスマスタ154と第2バスマスタ200とが同時にBIU_C120のアドレス空間にアクセスした場合を考える。この場合、第1アドレスデコーダ210から信号線212を介して送られてくるMaBIU_C選択信号によりBIU_C120が選択されると共に、第2アドレスデコーダ220から信号線222を介して送られてくるMbBIU_C選択信号によりBIU_C120が選択される。そこで、BIU_C120は、第1バスマスタ154と第2バスマスタ200との何れのアクセスを受け付けるかを決定するためのアービトレーションを行う。アービトレーションの方法としては、第1バスマスタ154からのアクセスを優先して受け付けるようにハードウェアで固定する方法、第2バスマスタ200からのアクセスを優先して受け付けるようにハードウェアで固定する方法、BIU_C120の内部にレジスタを設け、このレジスタの設定によって優先順位を切り換える方法等を用いることができる。例えば、第1バスマスタ154からのアクセスを優先して受け付けるようにハードウェアで固定する方法が採用される場合、先に第1バスマスタ154からのアクセスが受け付けられ、第2バスマスタ200のアクセスは、第1バスマスタ154の動作が終了するまで待たされる。そして、第1バスマスタ154からのアクセスが終了した後に、引き続いて第2バスマスタ200のアクセスが受け付けられ動作が行われる。
【0183】
この実施の形態8に係るデータ転送制御装置の構成によれば、上述した実施の形態5に係るデータ転送制御装置における動作と同様にして第1バスマスタ154からの要求に応じて第1内部モジュール61aから外部デバイス101へのデータ転送が行われている時に、第2バスマスタ200は、BIU_C120を介して上述した動作により、第1内部モジュール61aにアクセスできる。
【0184】
以上説明したように、この実施の形態8に係るデータ転送制御装置によれば、第1バスマスタ154からの要求に応じて第1内部モジュール61aから外部デバイス101へのデータ転送が行われている時に、このデータ転送と並行して、第2バスマスタ200は、第1内部モジュール61aにアクセスできるので、トータル的にデータ転送に要するクロックサイクルを減らすことができる。
【0185】
実施の形態9.
次に、この発明の実施の形態9に係るデータ転送制御装置を説明する。このデータ転送制御装置は、実施の形態8に係るデータ転送制御装置において、複数のバススレーブの間で行われる転送用バスを用いたデータ転送が終了するのを待たないで、バスマスタと他のバススレーブとの間のデータ転送を可能にしたものである。
【0186】
図21は、この発明の実施の形態9に係るデータ転送制御装置の構成を示すブロック図である。このデータ転送制御装置は、主に、図20に示した実施の形態5に係るデータ転送制御装置に、バスインタフェースユニット(以下、「BIU_M」という)130及び内蔵メモリブロック131が追加され、セレクタ7a及びセレクタ207がセレクタ7b及びセレクタ207aにそれぞれ変更されることにより構成されている。
【0187】
以下、実施の形態8に係るデータ転送制御装置と異なる部分を説明する。第1バスマスタ154は、BIU_E190及びBIU_C120を介するデータ転送の他に、BIU_M130を介して内蔵メモリブロック131との間でデータ転送を行う。第1マスタバス54aは、実施の形態8における第1マスタバス54aに、BIU_M130からの第3リードデータ信号MaDR_Mを取り込むためのリードデータバス9Mが追加されて構成されている。
【0188】
また、セレクタ7bは、リードデータバス9から送られてくる第1リードデータ信号MaDR_E、リードデータバス9Cから送られてくる第2リードデータ信号MaDR_C及びリードデータバス9Mから送られてくる第3リードデータ信号MaDR_Mの何れかを選択して第1バスマスタ154に送る。
【0189】
第2バスマスタ200は、BIU_E190及びBIU_C120を介するデータ転送の他に、BIU_M130を介して内蔵メモリブロック131との間でデータ転送を行う。第2マスタバス200aは、実施の形態8における第2マスタバス200aに、BIU_M130からの第3リードデータ信号MbDR_Mを取り込むためのリードデータバス209_Mが追加されて構成されている。
【0190】
また、セレクタ207aは、リードデータバス209から送られてくる第1リードデータ信号MaDR_E、リードデータバス209Cから送られてくる第2リードデータ信号MaDR_C及びリードデータバス209_Mから送られてくる第3リードデータ信号MaDR_Mの何れかを選択して第2バスマスタ200に送る。
【0191】
BIU_M130は、第1バスマスタ154からのアクセスと第2バスマスタ200からのアクセスを調停し、第1マスタバス54aのプロトコル又は第2マスタバス200aのプロトコルを、内蔵メモリ用スレーブバス130aのプロトコルに変換する。BIU_C120は、内蔵メモリ用スレーブバス130aによって内蔵メモリブロック131に接続されている。内蔵メモリ用スレーブバス130aは、内蔵メモリアドレスバス132、内蔵メモリリードデータバス133、内蔵メモリライドデータバス134及び内蔵メモリ制御信号バス135から構成されている。
【0192】
内蔵メモリアドレスバス132は、BIU_M130から出力される内蔵メモリアドレス信号MADDRを内蔵メモリブロック131に送るために使用される。内蔵メモリリードデータバス133は、内蔵メモリブロック131から読み出された内蔵メモリリードデータMDRをBIU_M130に送るために使用される。内蔵メモリライトデータバス134は、BIU_M130から出力される内蔵メモリライトデータMDWを内蔵メモリブロック131に送るために使用される。内蔵メモリ制御信号バス135は、BIU_M130から出力される内蔵メモリ制御信号を内蔵メモリブロック131に送るために使用される。
【0193】
転送制御部110は、実施の形態8における転送制御部110の機能に加えて、転送指示を受けたことを表す転送指示受付信号を、信号線111を介して第1バスマスタ154に送り、また、データ転送中であることを表すビジー信号を信号線112を介してBIU_E190に送る機能を備えている。
【0194】
次に、上記のように構成される、この発明の実施の形態9に係るデータ転送制御装置の動作を説明する。
【0195】
第1バスマスタ154からのアクセス要求に応答して行われる、第1内部モジュール61aから外部デバイス101へのデータ転送は、実施の形態5及び実施の形態8と同様にして行われる。なお、第1バスマスタ154が転送指示線55を介して転送指示信号を転送制御部110に送ると、転送制御部110は、この転送指示信号に応答して、第1内部モジュール61a及び外部デバイス101に対して必要な制御信号を出力する。これと同時に、転送制御部110は、転送指示を受けたことを表す転送指示受付信号を、信号線111を介して第1バスマスタ154に送ると共に、データ転送中であることを表すビジー信号を、信号線112を介してBIU_E190に送る。BIU_E190は、ビジー信号を受け取ると、そのビジー信号が解除されるまで、第1バスマスタ154及び第2バスマスタ200からのアクセス要求を受け付けない。この状態で、上述した第1内部モジュール61aから外部デバイス101へのデータ転送が行われる。
【0196】
第1バスマスタ154は、転送制御部110からの転送指示受付信号により、転送制御部110に出した転送指示が受け付けられたものと判断し、次のアクセスに移る。このとき、例えば第2内部モジュール61bから内蔵メモリブロック131へのデータ転送が可能である。このデータ転送動作は、第1バスマスタ154が、先ず、第2内部モジュール61bに対してリード動作を実行し、その後、内蔵メモリブロック131に対してライト動作を実行することにより実現できる。
【0197】
以上説明したように、この実施の形態9に係るデータ転送制御装置によれば、第1バスマスタ154は、転送制御部110に対して要求した転送指示が受け付けられると、その転送が完了するのを待たないで、次のアクセスを開始できるため、トータル的にデータ転送に要するクロックサイクルを減らすことができる。
【0198】
実施の形態10.
次に、この発明の実施の形態10に係るデータ転送制御装置を説明する。このデータ転送制御装置は、実施の形態8に係るデータ転送制御装置において、複数のバススレーブの間で行われる転送用バスを用いたデータ転送が終了するのを待たないで、バスマスタと他のバススレーブとの間のデータ転送を可能にしたものである。
【0199】
図22は、この発明の実施の形態10に係るデータ転送制御装置の構成を示すブロック図である。このデータ転送制御装置は、図20に示した実施の形態5に係るデータ転送制御装置において、第1バスマスタ154からBIU_E190及びBIU_C120に接続されるスレーブバス権確保信号線155が設けられて構成されている。第1バスマスタ154は、スレーブバス権確保信号線155にスレーブバス権確保信号を出力する。
【0200】
次に、上記のように構成される、この発明の実施の形態10に係るデータ転送制御装置の動作を説明する。ここでは、第1バスマスタ154からの要求に応答して行われる、第1内部モジュール61aから外部デバイス101へのデータ転送の動作について説明する。この動作は、実施の形態5、実施の形態8及び実施の形態9と同様にして行われる。ここで、第1バスマスタ154は、BIU_E190に対してアクセスを行う際に、スレーブバス権確保信号線155にスレーブバス権確保信号を出力する。BIU_E190は、一旦、第1バスマスタ154からのアクセス要求を受け付けると、そのアクセス要求に応じた動作が終了するまで、第1バスマスタ154以外のバスマスタからのアクセス要求を受け付けないように制御される。BIU_C120についても同様である。
【0201】
この実施の形態10に係るデータ転送制御装置によれば、第1バスマスタ154は、スレーブバス権確保信号を用いてBIU_E190又はBIU_C120に対するバス権を確保した状態でデータのリード動作又はライト動作を行うことができるので、他のバスマスタからのアクセス要求に基づいてデータ転送に起因してクロックサイクル数が増加するのを防止できる。その結果、トータル的にデータ転送に要するクロックサイクルを減らすことができる。
【0202】
この実施の形態10に係るデータ転送制御装置は、図23に示すように変形することができる。この変形例に係るデータ転送制御装置は、図22に示したデータ転送制御装置の構成と、図21に示した実施の形態9に係るデータ転送制御装置の構成とを組み合わせ、更に、実施の形態9及び実施の形態10における第1マスタバス54aが、デスティネーションアクセス(ライト動作)のための第1デスティネーション用マスタバス54bとソースアクセス(リード動作)のための第1ソース用マスタバス54cとに分けられて構成されている。
【0203】
第1バスマスタ154は、第1デスティネーション用マスタバス54b及び第1ソース用マスタバス54cに対するインタフェースを備えている。
【0204】
第1ソース用マスタバス54cは、ソースアクセス用アドレスバス2_s、ソースアクセス用制御信号バス3_s及びソースアクセス用スレーブバス権確保信号線155_sを含んでいる。ソースアクセス用スレーブバス権確保信号線155_sは、第1バスマスタ154からBIU_E190、BIU_C120及びBIU_M130に接続されており、これらにソースアクセス用スレーブバス権確保信号を送るために使用される。
【0205】
第1ソースアドレスデコーダ210_sは、第1バスマスタ154からソースアクセス用アドレスバス2_sに出力されるソースアドレス信号MaADDR_sを受けて、第1バスマスタ154からBIU_E190、BIU_C120及びBIU_M130の何れのアドレス空間が指定されているかを判断する。この第1ソースアドレスデコーダ210_sによりBIU_E190のアドレス空間が指定されていることが判定された場合は、信号線211_sを介して、その旨を表すソースMaBIU_E選択信号がBIU_E190に送られる。また、BIU_C120のアドレス空間が指定されていることが判定された場合は、信号線212_sを介して、その旨を表すソースMaBIU_C選択信号がBIU_C120に送られる。更に、BIU_M130のアドレス空間が指定されていることが判定された場合は、信号線213_sを介して、その旨を表すソースMaBIU_M選択信号がBIU_M130に送られる。
【0206】
第1デスティネーション用マスタバス54bは、デスティネーションアクセス用アドレスバス2_d、デスティネーションアクセス用制御信号バス3_d及びデスティネーションアクセス用スレーブバス権確保信号線155_dを含んでいる。デスティネーションアクセス用スレーブバス権確保信号線155_dは、第1バスマスタ154からBIU_E190、BIU_C120及びBIU_M130に接続されており、これらにデスティネーションアクセス用スレーブバス権確保信号を送るために使用される。
【0207】
第1デスティネーションアドレスデコーダ210_dは、第1バスマスタ154からデスティネーションアクセス用アドレスバス2_dに出力されるデスティネーションアドレス信号MaADDR_dを受けて、第1バスマスタ154からBIU_E190、BIU_C120及びBIU_M130の何れのアドレス空間が指定されているかを判断する。この第1デスティネーションアドレスデコーダ210_dによりBIU_E190のアドレス空間が指定されていることが判定された場合は、信号線211_dを介して、その旨を表すデスティネーションMaBIU_E選択信号がBIU_E190に送られる。また、BIU_C120のアドレス空間が指定されていることが判定された場合は、信号線212_dを介して、その旨を表すデスティネーションMaBIU_C選択信号がBIU_C120に送られる。更に、BIU_M130のアドレス空間が指定されていることが判定された場合は、信号線213_dを介して、その旨を表すデスティネーションMaBIU_M選択信号がBIU_M130に送られる。
【0208】
次に、この変形例に係るデータ転送制御装置の動作を説明する。ここでは、第1バスマスタ154の制御により第1内部モジュール61aから内蔵メモリブロック131にデータが転送される場合の例を説明する。
【0209】
先ず、第1バスマスタ154は、第1ソース用マスタバス54cを使用して第1内部モジュール61aからデータを読み出し、このリードされたデータを、第1デスティネーション用マスタバス54bを利用して内蔵メモリブロック131に書き込む。この動作を繰り返すことにより、所望の数のデータが転送される。第1内部モジュール61aからのデータの読み出し及び内蔵メモリブロック131へのデータの書き込みの各動作は、ソースアクセス用スレーブバス権確保信号及びデスティネーションアクセス用スレーブバス権確保信号が使用される点を除けば、実施の形態8で説明した第1バスマスタ154によるデータ転送動作と同じである。
【0210】
第1バスマスタ154から第1内部モジュール61aに対するソースアクセス(リード動作)時には、ソースアクセス用スレーブバス権確保信号線155_sにソースアクセス用スレーブバス権確保信号が出力され、BIU_E190、BIU_C120及びBIU_M130に送られる。第1ソースアドレスデコーダ210_sは、第1バスマスタ154から出力されたソースアドレス信号MaADDR_sをデコードし、信号線212_sを介して、ソースMaBIU_C選択信号をBIU_C120に送る。
【0211】
BIU_C120は、第1バスマスタ154からのソースアクセス要求、第1バスマスタ154からのデスティネーションアクセス要求及び第2バスマスタ200からのアクセス要求を調停し、受け付ける1つのアクセス要求を決定する。ここでは、第1バスマスタ154からのデスティネーションアクセス要求及び第2バスマスタ200からのアクセス要求は存在しないものと仮定する。
【0212】
BIU_C120は、唯一のアクセス要求である第1バスマスタ154からのソースアクセス要求を受け付ける。この際、第1バスマスタ154からソースアクセス用スレーブバス権確保信号線155_sにソースアクセス用スレーブバス権確保信号が出力されているので、現在行われている1データ分のリードアクセス動作が終了しても、第1バスマスタ154に与えられた内蔵モジュール用スレーブバス120aのバス権は開放されない。BIU_C120は、第1バスマスタ154から引き続いて出される第1内部モジュール61aへのソースアクセス要求を受け付ける。この時、第2バスマスタ200からのアクセス要求があっても、そのアクセス要求を受け付けない。
【0213】
このような動作により、第1バスマスタ154からソースアクセス用スレーブバス権確保信号線155_sにソースアクセス用スレーブバス権確保信号を出力し続けることにより、所望の回数のリードアクセス動作が繰り返される。このリードアクセス動作が繰り返されている間は、BIU_C120は、他のバスマスタからのアクセス要求は受け付けない。
【0214】
第1バスマスタ154から内蔵メモリブロック131に対するデスティネーションアクセス(ライト動作)時には、デスティネーションアクセス用スレーブバス権確保信号線155_dにデスティネーションアクセス用スレーブバス権確保信号が出力され、BIU_E190、BIU_C120及びBIU_M130に送られる。第1デスティネーションアドレスデコーダ210_dは、第1バスマスタ154から出力されたデスティネーションアドレス信号MaADDR_dをデコードし、信号線213_dを介して、デスティネーションMaBIU_M選択信号をBIU_M130に送る。
【0215】
BIU_M130は、第1バスマスタ154からのソースアクセス要求、第1バスマスタ154からのデスティネーションアクセス要求及び第2バスマスタ200からのアクセス要求を調停し、受け付ける1つのアクセス要求を決定する。ここでは、第1バスマスタ154からのソースアクセス要求及び第2バスマスタ200からのアクセス要求は存在しないものと仮定する。
【0216】
BIU_M130は、唯一のアクセス要求である第1バスマスタ154からのデスティネーションアクセス要求を受け付ける。この際、第1バスマスタ154からデスティネーションアクセス用スレーブバス権確保信号線155_dにデスティネーション用スレーブバス権確保信号が出力されているので、現在行われている1データ分のライトアクセス動作が終了しても、第1バスマスタ154に与えられた内蔵メモリ用スレーブバス130aのバス権は開放されない。BIU_M130は、第1バスマスタ154から引き続いて出される内蔵メモリブロック131へのデスティネーションアクセス要求を受け付ける。この時、第2バスマスタ200からのアクセス要求があっても、そのアクセス要求を受け付けない。
【0217】
このような動作により、第1バスマスタ154からデスティネーションアクセス用スレーブバス権確保信号線155_dにデスティネーションアクセス用スレーブバス権確保信号を出力し続けることにより、所望の回数のライトアクセス動作が繰り返される。このライトアクセス動作が繰り返されている間は、BIU_M130は、他のバスマスタからのアクセス要求は受け付けない。
【0218】
以上のようにして、第1バスマスタ154の制御による、第1内部モジュール61aから内蔵メモリブロック131へのデータ転送が実行される。なお、上述した動作により、第1内部モジュール61aから内蔵メモリブロック131へのデータ転送が行われている間は、このデータ転送と並行して、第2バスマスタ200は、外部デバイス101に対するアクセスを行うことができる。
【0219】
以上説明したように、この実施の形態10に係るデータ転送制御装置によれば、スレーブバス権確保信号を用いて、各BIUでスレーブバスのバス権を確保した状態でデータのリード動作及びライト動作を行うことができるので、他のバスマスタからのアクセスに起因してクロックサイクル数が増加するのを防止できる。その結果、最小のクロックサイクル数でデータ転送を実現できる。
【0220】
【発明の効果】
以上のように、この発明によれば、バスマスタからの指示に応じて、第1バススレーブと複数の第2バススレーブの中から選択された1つの第2バススレーブとの間で専用の転送用バスを用いたデータ転送が行われるので、転送されるデータはバスマスタを経由しない。その結果、バスマスタを経由するために要するクロックサイクルを削減できるので、少ない数のクロックサイクルで効率よく、且つ迅速にデータ転送を行うことができる効果がある。
【図面の簡単な説明】
【図1】 一般的なデータ転送制御装置の構成を示すブロック図である。
【図2】 図1に示されるデータ転送制御装置の動作を説明するためのタイミングチャートである。
【図3】 この発明の実施の形態1に係るデータ転送制御装置の構成を示すブロック図である。
【図4】 図3に示されるデータ転送制御装置の動作を説明するためのタイミングチャートである。
【図5】 この発明の実施の形態2に係るデータ転送制御装置の構成を示すブロック図である。
【図6】 図5に示されるデータ転送制御装置で使用されるRAMのアドレス領域を説明するための図である。
【図7】 図5に示されるデータ転送制御装置の動作を説明するためのタイミングチャートである。
【図8】 この発明の実施の形態3に係るデータ転送制御装置の構成を示すブロック図である。
【図9】 図8に示されるデータ転送制御装置の動作を説明するためのタイミングチャートである。
【図10】 図8に示されるデータ転送制御装置の他の動作を説明するためのタイミングチャートである。
【図11】 この発明の実施の形態4に係るデータ転送制御装置の構成を示すブロック図である。
【図12】 図11に示されるデータ転送制御装置の動作を説明するためのタイミングチャートである。
【図13】 この発明の実施の形態5に係るデータ転送制御装置の構成を示すブロック図である。
【図14】 図13に示されるデータ転送制御装置の動作を説明するためのタイミングチャートである。
【図15】 この発明の実施の形態6に係るデータ転送制御装置の構成を示すブロック図である。
【図16】 図15に示されるデータ転送制御装置で使用されるRAMのアドレス領域を説明するための図である。
【図17】 この発明の実施の形態7に係るデータ転送制御装置の構成を示すブロック図である。
【図18】 図17に示されるデータ転送制御装置で使用されるIOのアドレス領域を説明するための図である。
【図19】 この発明の実施の形態7に係るデータ転送制御装置の変形例の構成を示すブロック図である。
【図20】 この発明の実施の形態8に係るデータ転送制御装置の構成を示すブロック図である。
【図21】 この発明の実施の形態9に係るデータ転送制御装置の構成を示すブロック図である。
【図22】 この発明の実施の形態10に係るデータ転送制御装置の構成を示すブロック図である。
【図23】 この発明の実施の形態10に係るデータ転送制御装置の変形例の構成を示すブロック図である。
【符号の説明】
10 BIU_R(バスインタフェース)、10a RAM用スレーブバス(スレーブバス)、11 内部モジュール(バススレーブ)、51,52,54 バスマスタ、51a マスタバス、54a 第1マスタバス(マスタバス)、54b 第1デスティネーション用マスタバス(マスタバス)、54c 第1ソース用マスタバス(マスタバス)、60 転送用バス、61a 第1内部モジュール(バススレーブ)、61b 第2内部モジュール(バススレーブ)、62,110 転送制御部、70 IO選択レジスタ(選択部)、72 転送指示レジスタ(転送指示部)、74,76 IO選択制御部(選択部)、80 転送指示制御部(転送指示部)、90,190 BIU_E(バスインタフェース)、90a,190a 外部デバイス用スレーブバス(スレーブバス)、91 外部デバイス制御部(バススレーブ)、101 外部デバイス、120 BIU_C(バスインタフェース)、120a 内蔵モジュール用スレーブバス(スレーブバス)、130 BIU_M(バスインタフェース)、130a 内蔵メモリ用スレーブバス(スレーブバス)、131 内蔵メモリブロック(バススレーブ)、154 第1バスマスタ(バスマスタ)、200 第2バスマスタ、200a 第2マスタバス。
Claims (10)
- バスマスタと、
前記バスマスタにマスタバスを介して接続されたバスインタフェースと、
前記バスインタフェースと、端子を介して外部と接続される第1バススレーブと複数の第2バススレーブとを含む前記複数のバススレーブとの間を接続する転送用バスと、
前記バスマスタからの指示に応答して前記複数の第2バススレーブの中から1つを選択するための選択信号を出力する選択部と、
前記バスマスタによる前記第1バススレーブに対してのアクセス指示発行に応答して、前記転送用バスを用いたデータ転送を行うかどうかを前記選択部で選択された第2バススレーブに指示するための転送指示信号を出力する転送指示部と、
前記転送指示信号による指示がなされている時に、前記選択信号によって選択された第2バススレーブに対して前記第1バススレーブへのアクセスに同期して前記転送用バスを介してデータを入出力させる制御をする転送制御部とを備えたデータ転送制御装置。 - 第1バススレーブはメモリから成り、
転送指示部は、前記バスマスタにより出力されているアドレス信号によって指定される前記メモリのアドレス空間に応じて転送用バスを用いたデータ転送を行うかどうかを決定し、該決定に応じた転送指示信号を転送制御部に送ることを特徴とする請求項1記載のデータ転送制御装置。 - 転送指示部はバスマスタに含まれ、
前記バスマスタは転送用バスを用いたデータ転送を行うかどうかを指示するため転送指示信号を出力することを特徴とする請求項1記載のデータ転送制御装置。 - 選択部はバスマスタに含まれ、前記バスマスタは複数の第2バススレーブの中から1つを選択するための選択信号を出力することを特徴とする請求項3記載のデータ転送制御装置。
- 第1バススレーブは、外部に接続される外部デバイスを制御するための外部デバイス制御部から成り、
転送制御部は、転送指示信号によって転送用バスを用いたデータ転送を行うことが指示されている時に、選択信号によって選択された第2バススレーブと前記外部デバイス制御部を介した前記外部デバイスとの間の前記転送用バスを用いたデータ転送を前記バスマスタにより出力されている制御信号及び前記外部デバイス制御部から出力される前記外部デバイスを定義する情報に基づいて制御することを特徴とする請求項4記載のデータ転送制御装置。 - 複数の第2バススレーブは、各々が異なるアドレス空間に割り当てられた複数のモジュールから成り、
選択部は、前記バスマスタにより出力されているアドレス信号によって指定されるアドレス空間に応じて前記複数のモジュールの中から1つを選択するための選択信号を出力することを特徴とする請求項1記載のデータ転送制御装置。 - バスマスタは、複数のモジュールを特定するためのアドレス信号を選択部に送り、
前記選択部は、前記バスマスタからのアドレス信号に従って、前記複数のモジュールの中から1つを選択するための選択信号を出力することを特徴とする請求項6記載のデータ転送制御装置。 - 第2バスマスタと、前記第2バスマスタに第2マスタバスを介して接続された第2バスインタフェースとを更に備え、
転送制御部の制御によって選択信号によって選択された1つの第2バススレーブと外部デバイス制御部を介して外部デバイスとの間で行われている転送用バスを用いたデータ転送に並行して、第2バスマスタは、前記第2バスインタフェースを介して前記複数の第2バススレーブの中の他の1つとの間でデータ転送を行うことを特徴とする請求項5記載のデータ転送制御装置。 - 転送制御部は、バスマスタから転送指示信号を受け取った時に、第1バススレーブに接続されたバスインタフェースに対してデータ転送中であることを示すビジー信号を送って該バスインタフェースへのアクセスを禁止し、
前記バスマスタは、前記転送指示信号に応答して前記転送制御部から前記転送指示信号を受け付けたことを表す転送指示受付信号を受け取った後に、外部デバイス制御部を介して外部デバイス前記1つの第2バススレーブとの間で行われている転送用バスを用いたデータ転送の終了を待たないで、第2バスインタフェースを介して複数の第2バススレーブの中の前記他の1つとの間でデータ転送を行うことを特徴とする請求項8記載のデータ転送制御装置。 - バスマスタは、バス権を確保するためのスレーブバス権確保信号をバスインタフェースに供給し、
前記スレーブバス権確保信号を受け取った前記バスインタフェースは、前記バスマスタ又は第2バスマスタからのアクセス要求を受け付けないで第1バススレーブと複数の第2バススレーブの中の前記他の1つとの間でデータ転送を行うことを特徴とする請求項8記載のデータ転送制御装置。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003109341A JP4233373B2 (ja) | 2003-04-14 | 2003-04-14 | データ転送制御装置 |
TW092128980A TWI229795B (en) | 2003-04-14 | 2003-10-20 | Data transfer control apparatus |
US10/689,668 US7240138B2 (en) | 2003-04-14 | 2003-10-22 | Data transfer control apparatus |
CNB2004100027585A CN1329849C (zh) | 2003-04-14 | 2004-01-14 | 数据传送控制装置 |
US11/802,055 US7395364B2 (en) | 2003-04-14 | 2007-05-18 | Data transfer control apparatus |
US12/155,374 US20080276021A1 (en) | 2003-04-14 | 2008-06-03 | Data transfer control apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003109341A JP4233373B2 (ja) | 2003-04-14 | 2003-04-14 | データ転送制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004318340A JP2004318340A (ja) | 2004-11-11 |
JP4233373B2 true JP4233373B2 (ja) | 2009-03-04 |
Family
ID=33128091
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003109341A Expired - Lifetime JP4233373B2 (ja) | 2003-04-14 | 2003-04-14 | データ転送制御装置 |
Country Status (4)
Country | Link |
---|---|
US (3) | US7240138B2 (ja) |
JP (1) | JP4233373B2 (ja) |
CN (1) | CN1329849C (ja) |
TW (1) | TWI229795B (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8345744B2 (en) | 2002-03-28 | 2013-01-01 | Sony Corporation | Image compression system with coding quantity control |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7460558B2 (en) * | 2004-12-16 | 2008-12-02 | International Business Machines Corporation | System and method for connection capacity reassignment in a multi-tier data processing system network |
US7590788B2 (en) * | 2007-10-29 | 2009-09-15 | Intel Corporation | Controlling transmission on an asynchronous bus |
JP5595248B2 (ja) * | 2010-12-02 | 2014-09-24 | 三菱電機株式会社 | バスマスタ装置及びアドレスおよびデータ設定装置及びバス制御システム及びアドレスとデータの設定方法及びデータ転送要求情報送信方法及びプログラム |
US8825933B2 (en) * | 2011-11-30 | 2014-09-02 | Andes Technology Corporation | Bus apparatus with default speculative transactions and non-speculative extension |
US8949486B1 (en) * | 2013-07-17 | 2015-02-03 | Mellanox Technologies Ltd. | Direct memory access to storage devices |
US9696942B2 (en) | 2014-03-17 | 2017-07-04 | Mellanox Technologies, Ltd. | Accessing remote storage devices using a local bus protocol |
US9727503B2 (en) | 2014-03-17 | 2017-08-08 | Mellanox Technologies, Ltd. | Storage system and server |
TWI671638B (zh) * | 2018-05-24 | 2019-09-11 | 新唐科技股份有限公司 | 匯流排系統 |
TWI724608B (zh) * | 2019-11-04 | 2021-04-11 | 鴻海精密工業股份有限公司 | 微控制器架構及架構內資料讀取方法 |
US11113218B1 (en) | 2020-04-27 | 2021-09-07 | Renesas Electronics Corporation | Semiconductor device and method for protecting bus |
US11934658B2 (en) | 2021-03-25 | 2024-03-19 | Mellanox Technologies, Ltd. | Enhanced storage protocol emulation in a peripheral device |
US11934333B2 (en) | 2021-03-25 | 2024-03-19 | Mellanox Technologies, Ltd. | Storage protocol emulation in a peripheral device |
US11726666B2 (en) | 2021-07-11 | 2023-08-15 | Mellanox Technologies, Ltd. | Network adapter with efficient storage-protocol emulation |
US12007921B2 (en) | 2022-11-02 | 2024-06-11 | Mellanox Technologies, Ltd. | Programmable user-defined peripheral-bus device implementation using data-plane accelerator (DPA) |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3573741A (en) * | 1968-07-11 | 1971-04-06 | Ibm | Control unit for input/output devices |
US4309755A (en) * | 1979-08-22 | 1982-01-05 | Bell Telephone Laboratories, Incorporated | Computer input/output arrangement for enabling a simultaneous read/write data transfer |
US5029074A (en) * | 1987-06-29 | 1991-07-02 | Digital Equipment Corporation | Bus adapter unit for digital processing system |
US5239636A (en) * | 1988-09-09 | 1993-08-24 | Advanced Micro Devices, Inc. | Buffer memory subsystem for peripheral controllers |
US4912633A (en) * | 1988-10-24 | 1990-03-27 | Ncr Corporation | Hierarchical multiple bus computer architecture |
JPH04367058A (ja) * | 1991-06-14 | 1992-12-18 | Matsushita Electric Ind Co Ltd | 情報装置 |
JPH0546538A (ja) | 1991-08-08 | 1993-02-26 | Fujitsu Ltd | バス制御方式 |
JPH05210616A (ja) | 1991-11-29 | 1993-08-20 | Nec Corp | コンピュータ装置 |
GB2285524B (en) * | 1994-01-11 | 1998-02-04 | Advanced Risc Mach Ltd | Data memory and processor bus |
US5717875A (en) * | 1995-09-22 | 1998-02-10 | Vlsi Technology, Inc. | Computing device having semi-dedicated high speed bus |
JP2002007313A (ja) | 2000-06-16 | 2002-01-11 | Sony Corp | データ処理装置、データ処理方法及びバス制御装置 |
US6587905B1 (en) * | 2000-06-29 | 2003-07-01 | International Business Machines Corporation | Dynamic data bus allocation |
US7058740B2 (en) * | 2001-03-08 | 2006-06-06 | Sony Corporation | Effective bus utilization using multiple buses and multiple bus controllers |
US7099983B2 (en) * | 2002-11-25 | 2006-08-29 | Lsi Logic Corporation | Multi-core communications module, data communications system incorporating a multi-core communications module, and data communications process |
US7130953B2 (en) * | 2003-03-05 | 2006-10-31 | Broadcom Corporation | Bus architecture techniques employing busses with different complexities |
JP2005234932A (ja) * | 2004-02-20 | 2005-09-02 | Oki Electric Ind Co Ltd | マトリックス状バス接続システムとその低電力方法 |
US8478921B2 (en) * | 2004-03-31 | 2013-07-02 | Silicon Laboratories, Inc. | Communication apparatus implementing time domain isolation with restricted bus access |
US7305510B2 (en) * | 2004-06-25 | 2007-12-04 | Via Technologies, Inc. | Multiple master buses and slave buses transmitting simultaneously |
JP4260720B2 (ja) * | 2004-10-27 | 2009-04-30 | 日本テキサス・インスツルメンツ株式会社 | バス制御装置 |
KR100706801B1 (ko) * | 2006-01-04 | 2007-04-12 | 삼성전자주식회사 | 멀티 프로세서 시스템 및 그것의 데이터 전송 방법 |
-
2003
- 2003-04-14 JP JP2003109341A patent/JP4233373B2/ja not_active Expired - Lifetime
- 2003-10-20 TW TW092128980A patent/TWI229795B/zh not_active IP Right Cessation
- 2003-10-22 US US10/689,668 patent/US7240138B2/en active Active
-
2004
- 2004-01-14 CN CNB2004100027585A patent/CN1329849C/zh not_active Expired - Fee Related
-
2007
- 2007-05-18 US US11/802,055 patent/US7395364B2/en not_active Expired - Lifetime
-
2008
- 2008-06-03 US US12/155,374 patent/US20080276021A1/en not_active Abandoned
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8345744B2 (en) | 2002-03-28 | 2013-01-01 | Sony Corporation | Image compression system with coding quantity control |
Also Published As
Publication number | Publication date |
---|---|
US7240138B2 (en) | 2007-07-03 |
US20070226391A1 (en) | 2007-09-27 |
TW200421101A (en) | 2004-10-16 |
CN1329849C (zh) | 2007-08-01 |
US20080276021A1 (en) | 2008-11-06 |
US7395364B2 (en) | 2008-07-01 |
CN1538310A (zh) | 2004-10-20 |
US20040205278A1 (en) | 2004-10-14 |
JP2004318340A (ja) | 2004-11-11 |
TWI229795B (en) | 2005-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7395364B2 (en) | Data transfer control apparatus | |
JP4737438B2 (ja) | 複数の処理ユニットでリソースを共有する情報処理装置 | |
JPH0652096A (ja) | データ処理システム内でアービタを用いてバス仲裁を実行する方法および装置 | |
US20100082877A1 (en) | Memory access control apparatus | |
JP4198376B2 (ja) | バスシステム及びバスシステムを含む情報処理システム | |
JP2002055947A (ja) | バスシステム及びそのバス仲裁方法 | |
CN116028413A (zh) | 一种总线仲裁器、总线仲裁的方法、装置及介质 | |
JP4902640B2 (ja) | 集積回路、及び集積回路システム | |
US20150177816A1 (en) | Semiconductor integrated circuit apparatus | |
US7913013B2 (en) | Semiconductor integrated circuit | |
JPH09153009A (ja) | 階層構成バスのアービトレーション方法 | |
JP4928683B2 (ja) | データ処理装置 | |
US20050135402A1 (en) | Data transfer apparatus | |
JP4684577B2 (ja) | 高速の帯域幅のシステムバスを仲裁するためのバスシステム及びその方法 | |
JP4151362B2 (ja) | バス調停方式、データ転送装置、及びバス調停方法 | |
JP2003091501A (ja) | 情報処理装置 | |
JP2000250852A (ja) | バス調停装置、バスシステムおよびバス調停方法 | |
JP2002278923A (ja) | バスシステム,バス制御方式及びそのバス変換装置 | |
JP2004220309A (ja) | マルチプロセッサシステム | |
JP3698912B2 (ja) | マルチプロセッサシステムの制御装置および方法 | |
JPH11232215A (ja) | バスコントローラ、バスマスタ装置及びバス制御システムの制御方法 | |
JP2002366511A (ja) | バス調停回路 | |
JPH01261748A (ja) | バッファ記憶制御装置 | |
JP2005100210A (ja) | バス構成回路 | |
JP2003228546A (ja) | ダイレクト・メモリ・アクセス制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20060123 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060206 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20071101 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080904 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080909 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081105 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20081202 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20081209 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111219 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4233373 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111219 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111219 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111219 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121219 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121219 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131219 Year of fee payment: 5 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
EXPY | Cancellation because of completion of term |