JP5856434B2 - バス接続回路、半導体装置及びバス接続回路の動作方法 - Google Patents

バス接続回路、半導体装置及びバス接続回路の動作方法 Download PDF

Info

Publication number
JP5856434B2
JP5856434B2 JP2011233589A JP2011233589A JP5856434B2 JP 5856434 B2 JP5856434 B2 JP 5856434B2 JP 2011233589 A JP2011233589 A JP 2011233589A JP 2011233589 A JP2011233589 A JP 2011233589A JP 5856434 B2 JP5856434 B2 JP 5856434B2
Authority
JP
Japan
Prior art keywords
bus
transfer
slave
bits
address
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.)
Active
Application number
JP2011233589A
Other languages
English (en)
Other versions
JP2013092852A (ja
Inventor
尉宏 小井土
尉宏 小井土
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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2011233589A priority Critical patent/JP5856434B2/ja
Priority to US13/659,183 priority patent/US9116783B2/en
Publication of JP2013092852A publication Critical patent/JP2013092852A/ja
Priority to US14/805,904 priority patent/US20150324310A1/en
Application granted granted Critical
Publication of JP5856434B2 publication Critical patent/JP5856434B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/364Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
    • 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
    • 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
    • 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Memory System (AREA)

Description

本発明は、半導体集積回路(LSI)内部のバス接続回路に関する。
近年、LSI(Large Scale Integration)で扱う情報量の増大に伴い、LSI内部のバスで転送されるデータ量が増加している。そのため、バススレーブ同士のデータ転送をより高速に行う技術が望まれている。従来の情報処理装置では、スレーブデバイス同士のデータ転送時にバスマスタを経由する。その場合、転送元スレーブデバイスからバスマスタへのデータ転送とバスマスタから転送先スレーブデバイスへのデータ転送とを実行するという2サイクル転送を行う。そのため、転送性能は最高でも2サイクルの転送サイクルにしかならない。
データ転送をより高速に行う技術として、特開2006−146817号公報(特許文献1)に、バスマスタを経由せず転送元スレーブデバイスから転送先スレーブデバイスへ直接データを転送する1サイクル転送の技術が開示されている。図1は、特許文献1のメモリ制御システムにおける回路構成を示すブロック図である。図1に示すように、LSI100は、CPU110、メモリコントローラ(MEMC)160及びシステムバス150を備えている。CPU110は、システムバス150に接続されている。MEMC160は、外部ROMデバイス200及び外部DRAMデバイス300をそれぞれ制御する。このMEMC160は共通の外部端子を経由した同一のアドレスバス161により外部ROMデバイス200と外部DRAMデバイス300とに接続されている。同様に、MEMC160は共通の外部端子を経由した同一のデータバス162により外部ROMデバイス200と外部DRAMデバイス300とに接続されている。更に、MEMC160は独立した外部端子を経由して、外部ROMデバイス200を制御するROMデバイス制御信号163を出力する。同様に、MEMC160は独立した外部端子を経由して、外部DRAMデバイス300を制御するDRAMデバイス制御信号164を出力する。これらの制御信号163、164は、一般的なROMデバイス及びDRAMデバイスを制御するために必要な最低限の信号を有しており、CPU110からのメモリアクセスに応じてそれぞれ独立して外部ROMデバイス200或いは外部DRAMデバイス300を制御することが可能である。
図2は、特許文献1のメモリ制御システムにおけるLSI100と外部ROMデバイス200及び外部DRAMデバイス300との具体的な接続形態を示すブロック図である。ここで、外部ROMデバイス200は16MビットのページROM(1Mワード×16ビット)である。20ビット幅で構成されるアドレスバス161がそのまま20ビットの物理アドレスとして供給される。一方、外部DRAMデバイス300は64MビットDRAM(4Mワード×16ビット)である。カラムアドレス12ビット、ロウアドレス10ビットで構成されている。アドレスバス161の下位12ビットのみが物理アドレスとして供給される。またデータバス162は16ビット幅で構成されており、外部ROMデバイス200と外部DRAMデバイス300に共に接続されている。ROMデバイス制御信号163はCS#、RD#信号からなり独立して外部ROMデバイス200と接続されている。また同様に、DRAMデバイス制御信号164はRAS#,LCAS#、UCAS#、WE#、OE#信号からなり独立して外部DRAMデバイス300と接続されている。
図3は、特許文献1のメモリ制御システムにおけるメモリマップの一例を示す図である。図3に示すように、外部ROMデバイス200はメモリマップの0xF000_0000番地から0xFFFF_FFFF番地にマッピングされている。また外部DRAMデバイス300はメモリマップの0x0000_0000番地から0x3FFF_FFFF番地にマッピングされている。ここで説明を容易にするために、この外部ROMデバイス200は、システムを初期化する初期化コードが0xF000_0000番地から0xF000_FFFF番地までの64KBに、実際にシステムを制御する命令コードが0xF001_0000番地から0xF010_FFFF番地までの1MBにそれぞれ書き込まれているものとする。更に、外部ROMデバイス200から外部DRAMデバイス300へ複製する命令コードは前述した実際にシステムを制御する命令コードの1MBだけであり、この命令コードは絶対アドレスに非依存なメモリアロケータブルな内容で記述されているものとする。
次に、特許文献1のメモリ制御システムにおいて、システム起動時に外部デバイスROM200の命令コードを外部デバイスDRAM300へ複製する動作について説明する。
まず初めに、外部からのパワーオンリセット等の初期リセットが解除されると、CPU110は、内部のリセットベクタに応じたメモリ空間に対して最初の命令コードのフェッチを行う。このとき、初期状態で命令コードを保持できるのは不揮発性メモリであるROMデバイスのみである。そのため、CPU110のリセットベクタは外部ROMデバイス200の先頭アドレス0xF000_0000番地を指し示しており、命令コードも予めリセットベクタが指し示すアドレスから順番に外部ROMデバイス200に書き込まれているものとする。
従って、リセット解除後、CPU110は、システムバス150とMEMC160を経由して外部ROMデバイス200にアクセスし、メモリマップの0xF000_0000番地からシステムを初期化するための初期化コードを順次フェッチする。この初期化コードのフェッチ後、CPU110は、その初期化コードの内容に従ってシステムの初期化を実施する。ここで、外部DRAMデバイス300に対しても外部ROMデバイス200にアクセスするためのアドレスと、外部ROMデバイス200から読み出されたデータが同時にドライブされるが、DRAMデバイス制御信号164によるアクセス許可が実行されていないため何ら影響を及ぼさない。
システムの初期化が完了すると、CPU110は、MEMC160に対して外部ROMデバイス200に書き込まれている命令コードを外部DRAMデバイス300へ複製するように要求する。この時点では、CPU110の動作は全て外部ROMデバイス200からフェッチした命令コードの内容に従って実施されている。以下、MEMC160により命令コードを複製する手順を示す。
まず、CPU110は、外部ROMデバイス200に書き込まれている命令コードの最初のアドレス0xF001_0000番地を転送元アドレス、外部DRAMデバイス300へ書き込むための最初のアドレス0x0000_0000番地を転送先アドレス、複製する命令コードの総バイト数(1MB)を転送長としてMEMC160に設定する。但し、命令コードの複製は外部DRAMデバイス300のカラムアドレスと外部ROMデバイス200のアドレスのカラムアドレスに相当する下位12ビットが等しくなる必要があるため、予め転送アドレスの下位12ビットを等しく設定しておくか、或いは転送先アドレス又は転送元アドレスの何れかの下位12ビットのみが有効になるものとする。これらの設定値は、予め命令コードと一緒に外部ROMデバイス200に書き込まれており、CPU110が外部ROMデバイス200から読み出すことによりMEMC160に設定することが可能である。
上述した各設定が完了すると、CPU110がMEMC160に対して開始を指示することで、CPU110とは独立して外部ROMデバイス200から外部DRAMデバイス300へ命令コードを複製することが可能となる。
ここで、外部ROMデバイス200のアドレス0xF001_1234番地の命令コードを外部DRAMデバイス300のアドレス0x0000_1234番地へ複製する動作について説明する。
図4は、特許文献1のメモリ制御システムにおける命令コードを複製する際のタイミングチャートを示す図である。まず、MEMC160は、時刻T2で外部DRAMデバイス300に対するロウアドレス0x001をアドレスバス161にドライブし、時刻T3でRAS#をアサートすることによりこのロウアドレスを有効にする。この時、アドレスバス161の下位10ビットのみが有効である。その後、時刻T4から外部ROMデバイス200と外部DRAMデバイス300に対して同一のアドレス0x11234をアドレスバス161上にドライブする。図2に示すように、外部ROMデバイス200に対してはアドレスバス161の20ビット全てが有効となるが、外部DRAMデバイス300に対してはカラムアドレスに相当する下位12ビットのみが有効となる。従って、この場合の外部DRAMデバイス300に対するカラムアドレスは0x234である。
次に、時刻T6でCS#とRD#をアサートすることにより外部ROMデバイス200に対してアドレス0x11234からの読み出し要求を行う。規定時間後、外部ROMデバイス200はデータバス162上にリードデータをドライブする。このとき、MEMC160は同時に時刻T8で外部DRAMデバイス300に対してもUCAS#、LCAS#、WE#をアサートすることによりアドレス0x01234への書き込み要求を行う。これにより、データバス162上にドライブされた命令コードは、直接外部DRAMデバイス300に書き込まれる。以降、転送元アドレスと転送先アドレスをインクリメントして同様に命令コードの読み出しと書き込みを繰り返す。
DMA転送が完了すると、MEMC160はCPU110に対してDMA転送の完了を通知する。このDMA転送の完了通知を受けると、CPU110は外部DRAMデバイス300へ複製した命令コードの最初のアドレス0x0000_0000番地に分岐する。これにより、CPU110は順次外部DRAMデバイス300からの命令コードをフェッチする。これ以降、CPU110は外部DRAMデバイス300に対してのみ命令コードをフェッチすることで、命令コードのフェッチを含む外部メモリアクセスのレイテンシーが削減され、システム全体の処理速度を高速化することが可能となる。
関連する技術として特開2008−146773号公報(特許文献2)に不揮発性半導体記憶装置が開示されている。この不揮発性半導体記憶装置は、第1のメモリが搭載された第1の半導体チップと、第2のメモリが搭載された第2の半導体チップとを備えている。コピー先である前記第2のメモリにおいて、リードイネーブル動作をライトイネーブル動作と認識させるコマンドを起動した後、前記リードイネーブル動作を行い、コピー元である前記第1のメモリのデータを前記第2のメモリにコピーする。
また、特開2007−164895号公報(特許文献3:対応米国特許7486569(B2))に不揮発性半導体記憶装置が開示されている。この不揮発性半導体記憶装置は、複数のメモリチップを有する。この不揮発性半導体記憶装置は、複数のメモリチップ間でデータのコピーを行うとき、コピー先のメモリチップにおいてリードイネーブル動作をライトイネーブル動作と認識させるコマンドを起動した後、前記リードイネーブル動作を行う。
特開2006−146817号公報 特開2008−146773号公報 特開2007−164895号公報
特許文献1に記載の技術では、外部ROMから外部DRAMへの直接転送をする場合(1サイクル転送の場合)と直接転送をしない場合(例示:2サイクル転送の場合)とが混在するためバス転送性能が低下するという問題点がある。その理由は、以下のとおりである。外部ROMから外部DRAMへの直接転送を実行するためには、例えば、CPU110は外部ROMデバイス200に書き込まれている命令コードの最初のアドレス0xF001_0000番地を転送元アドレス、外部DRAMデバイス300へ書き込むための最初のアドレス0x0000_0000番地を転送先アドレス、複製する命令コードの総バイト数(1MB)を転送長としてMEMC160に設定する必要がある。そのため、外部ROMからのデータ読み出しにおいて、外部DRAMへの直接転送をする場合(1サイクル転送の場合)と直接転送をしない場合(例示:2サイクル転送の場合)とが混在すると、その直接転送をする度に、MEMCの動作を切り替えるためのMEMCの設定が必要となる。そのようなMEMCの設定はオーバーヘッドとなるため、バス転送性能が低下する。
直接転送をする場合(1サイクル転送の場合)と直接転送をしない場合(例示:2サイクル転送の場合)とが混在しても、MEMC設定等の追加の動作を行うことなく、1サイクル転送する技術が望まれている。
以下に、発明を実施するための形態で使用される番号・符号を用いて、課題を解決するための手段を説明する。これらの番号・符号は、特許請求の範囲の記載と発明を実施するための形態との対応関係を明らかにするために括弧付きで付加されたものである。ただし、それらの番号・符号を、特許請求の範囲に記載されている発明の技術的範囲の解釈に用いてはならない。
本発明のバス接続回路は、バスマスタ(10)と複数のバススレーブ(12、15)とを接続する。このバス接続回路は、ミラー領域アクセス検出回路(13/63)と、処理回路(21+22+14/21+60+61)とを具備している。ミラー領域アクセス検出回路(13/63)は、バスマスタ(10)が複数のバススレーブ(12、15)のうちの第1バススレーブ(12/15)のミラー領域へアクセスすることを検出して、検出信号(35/62)を出力する。処理回路(21+22+14/21+60+61)は、検出結果(35/62)に基づいて、当該検出結果(35/62)に対応して予め設定されている処理を、アクセスの対象としての領域又はデータに対して実行する。
本発明の半導体装置は、バスマスタ(10)と、複数のバススレーブ(12、15)と、バス接続回路(2、2a〜2c)とを具備している。バス接続回路(2、2a〜2c)は、バスマスタ(10)と複数のバススレーブ(12、15)とを接続され、上記段落に記載されている。
本発明のバス接続回路の動作方法は、バスマスタ(10)と複数のバススレーブ(12、15)とを接続するバス接続回路の動作方法である。バス接続回路の動作方法は、バスマスタ(10)が複数のバススレーブ(12、15)のうちの第1バススレーブ(12/15)のミラー領域へアクセスすることを検出して、検出信号(35/62)を出力するステップと、検出結果(35/62)に基づいて、当該検出結果(35/62)に対応して予め設定されている処理を、アクセスの対象としての領域又はデータに対して実行するステップとを具備している。
本発明により、直接転送をする場合と直接転送をしない場合とが混在しても、MEMC設定等の追加の動作を行うことなく、1サイクル転送することが可能となる。
図1は、特許文献1のメモリ制御システムの回路構成を示すブロック図である。 図2は、特許文献1のメモリ制御システムのLSIと外部ROMデバイス及び外部DRAMデバイスとの具体的な接続形態を示すブロック図である。 図3は、特許文献1のメモリ制御システムのメモリマップの一例を示す図である。 図4は、特許文献1のメモリ制御システムの命令コードを複製する際のタイミングチャートを示す図である。 図5は、本発明の第1の実施の形態に係るバス接続回路を備える半導体装置の構成を示すブロック図である。 図6は、本発明の第1の実施の形態に係る半導体装置のメモリマップの例を示す図である。 図7は、本発明の第1の実施の形態に係るバス接続回路の制御方法を示すタイミングチャートである。 図8は、本発明の第1の実施の形態に係るバス接続回路を備える半導体装置の構成の変形例を示すブロック図である。 図9は、本発明の第2の実施の形態に係るバス接続回路を備える半導体装置の構成を示すブロック図である。 図10は、本発明の第2の実施の形態に係るバス接続回路のWriteRead変換回路の構成の一例を示すブロック図である。 図11は、本発明の第2の実施の形態に係るバス接続回路の制御方法を示すタイミングチャートである。 図12は、本発明の第2の実施の形態に係るバス接続回路においてWriteRead変換回路を用いない場合での制御方法を示すタイミングチャートである。 図13は、本発明の第3の実施の形態に係るバス接続回路を備える半導体装置の構成を示すブロック図である。
以下、本発明のバス接続回路、半導体装置及びバス接続回路の動作方法の実施の形態に関して、添付図面を参照して説明する。
(第1の実施の形態)
本発明の第1の実施の形態に係るバス接続回路を備える半導体装置について説明する。
図5は、本発明の第1の実施の形態に係るバス接続回路を備える半導体装置の構成の一例を示すブロック図である。半導体装置1は、半導体集積回路(LSI:Large Scale Integration)に例示され、バスマスタ(10)と、複数のバススレーブ(12、15)と、バスマスタ(10)と複数のバススレーブ(12、15)とを接続するバス接続回路(2)とを具備している。この図の例では、バスマスタ10と、複数のバススレーブとしての転送元バススレーブ12と転送先バススレーブ15とが互いにバス接続回路2を介して接続されている。バス接続回路2は、バス回路11と直接転送ライトストローブ信号生成回路13とセレクタ14とを備えている。
バスマスタ10は、例えばCPU(Central Processing Unit)やMEMC(Memory Controller)である。以下では、バスマスタ10はCPUであるとして説明する(CPU10)。ただし、本発明はバスマスタ10がCPU10である場合に限定されるものではない。CPU10は、バススレーブに対してリードリクエストやライトリクエストを発行する。CPU10は、バス回路11へ、スレーブ選択信号40、アドレス信号31、CPUライトデータ38、転送イネーブル信号34及びライトストローブ信号41を出力し、CPUリードデータ39を受信する。
バス回路11は、スレーブ選択信号40を受信した時に、アドレス信号31によって選択されたバススレーブに対してセレクト信号(30、37)を出力する。例えば、アドレス信号31により転送元バススレーブ12が選択されたときは、転送元セレクト信号30を出力する。アドレス信号31により転送先バススレーブ15が選択されたときは、転送元セレクト信号37を出力する。転送元セレクト信号30が出力された場合、転送元バススレーブ12からの転送元リードデータ33を読み出し、CPUリードデータ39とする。直接転送ライトストローブ信号35(後述)がハイレベルのときは、そのCPUリードデータ39をスレーブライトデータ32とする。直接転送ライトストローブ信号35(後述)がロウレベルのときは、CPUライトデータ38をスレーブライトデータ32とする。アドレス信号31と転送イネーブル信号34とライトストローブ信号41はバス回路11を通過するだけである。バス回路11は、アドレスデコーダ20とライトデータセレクタ21とリードデータセレクタ22とを備えている。
アドレスデコーダ20は、スレーブ選択信号40を受信した時に、アドレス信号31によって選択されたバススレーブ(12、15)に対してセレクト信号(30、37)を出力する。リードデータセレクタ22は、バススレーブ(12、15)からのリードデータ(33、36)を読み出し、CPUリードデータ39とする(例示:リードデータ(33、36)用配線をCPUリードデータ(39)用配線に接続する)。ライトデータセレクタ21は、直接転送ライトストローブ信号35(後述)がハイレベルのときは、そのCPUリードデータ39をスレーブライトデータ32とする(例示:CPUリードデータ(39)用配線をスレーブライトデータ(32)用配線に接続する)。直接転送ライトストローブ信号35(後述)がロウレベルのときは、CPUライトデータ38をスレーブライトデータ32とする(例示:CPUライトデータ(38)用配線をスレーブライトデータ(32)用配線に接続する)。
転送元バススレーブ12は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)である。転送元バススレーブ12は、バス回路11から転送元セレクト信号30とアドレス信号31とスレーブライトデータ32と転送イネーブル信号34とライトストローブ信号41を受信し、転送元リードデータ33をバス回路11に出力する。
直接転送ライトストローブ信号生成回路13は、転送元セレクト信号30とアドレス信号31と転送イネーブル信号34とを受信し、予め設定されたアドレス値の場合には直接転送ライトストローブ信号35をハイレベルにして出力する。直接転送ライトストローブ信号生成回路13は、アドレスデコーダ23と3入力AND回路24とを備えている。
アドレスデコーダ23は、アドレス信号31の所定ビットが予め設定されたアドレス値の場合にはハイレベルの結果信号を出力する。所定ビットは、後述のミラー領域を示すビットである。3入力AND回路24は、その結果信号と転送元セレクト信号30と転送イネーブル信号34とのAND演算結果を直接転送ライトストローブ信号35として出力する。
セレクタ14は、転送先バススレーブ15の直前に接続されている。直接転送ライトストローブ信号35がロウレベルのときは、バス回路11の信号(転送先セレクト信号37、アドレス信号31、転送イネーブル信号34、ライトストローブ信号41)を転送先バススレーブ15に出力する。しかし、直接転送ライトストローブ信号35がハイレベルのときは、転送先セレクト信号37と転送イネーブル信号34とライトストローブ信号41をアクティブにし、アドレス信号31を予めセレクタ14内に設定された値にして、転送先バススレーブ15に出力する。
予めセレクタ14内に設定されたアドレス信号の値は、転送先バススレーブ15内のレジスタを表す値であり、その設定方法は、ハードウェアとしてセレクタ14内に埋め込む方法と、バスインターフェースを持ちCPU10から設定可能なレジスタとする方法がある。本実施の形態では、ハードウェアとしてセレクタ14内に埋め込む方法として説明している。
転送先バススレーブ15は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)である。転送先バススレーブ15は、バス回路11からスレーブライトデータ32を受信し、セレクタ14を介して転送先セレクト信号37、アドレス信号31、転送イネーブル信号34及びライトストローブ信号41を受信し、転送元リードデータ36をバス回路11に出力する。
図6は、本発明の第1の実施の形態に係る半導体装置のメモリマップ70の一例を示す図である。
次の条件の元で、以下の説明を行う。その条件は以下のとおりである。アドレス信号31は8ビットで構成されている。転送元バススレーブ12内に実装したレジスタの数は16個以下である。転送元バススレーブ12はレジスタの選択にアドレス信号31のbit[3:0](下位の4ビット)のみを用いる。バス回路11内のアドレスデコーダ20はCPU10が出力するアドレス信号31のbit[7:6](上位2ビット)が「10」である場合に、転送元バススレーブ選択信号30をアクティブにする。この条件下、以下に説明を行う。
bit[7:6]が「10」のとき、転送元バススレーブ12の最初の一つのレジスタ(オフセットアドレス:+0000)は、「10000000」、「10010000」、「10100000」、「10110000」の4つのアドレスのいずれを用いてもアクセスすることが可能である。bit[3:0](下位の4ビット)のみでレジスタが選択されるからである。このアドレスのうち、「10010000」、「10100000」、「10110000」の3つをミラー領域という。従って、これら4つのアドレスで示される領域(3つのミラー領域を含む)は、同一の領域(同一のレジスタ)を示している。
上述のように、アドレス信号31において、bit[7:6]は転送元バススレーブ12の選択に用いられ、bit[3:0]は転送元バススレーブ12内のレジスタの選択に用いられているが、bit[5:4]はミラー領域を表すだけで、実体的には何も用いられていない。そこで、本実施の形態では、転送元バススレーブ12から転送先バススレーブ15に直接転送を行う場合(1サイクル転送の場合)、CPU10でアドレス信号31のbit[5:4]に、「01」、「10」、「11」のいずれかを設定するものとする。一方、直接転送をしない場合(例示:2サイクル転送の場合)、CPU10でアドレス信号31のbit[5:4]に、「00」を設定するものとする。すなわち、アドレス信号でミラー領域(bit[5:4]=01」、「10」、「11」)を指定するか否かにより、直接転送をするか否かを指定している。
このように、本実施の形態では、これまで実体的には何ら用いられていなかったミラー領域へアクセスすること(ミラー領域をアドレス信号で指定すること)に対して、単にデータを指定するだけでなく、一つの命令(動作)を実行するように設定している。それにより、ミラー領域を有効に活用している。ここでは、その命令(動作)として、直接転送(1サイクル転送)を設定している。その結果、直接転送をする場合(1サイクル転送の場合)と直接転送をしない場合(例示:2サイクル転送の場合)とを、アドレス信号31のbit[5:4]の変更だけで対応することができる。その結果、直接転送をする度に1サイクル転送の動作と2サイクル転送の動作とを切り替えるための特許文献1に記載のような設定を行う、という手順が不要となる。
この図の例では、メモリマップ70は、転送先バススレーブ15のメモリ領域71と、転送元バススレーブ12のメモリ領域72とを備えている。ここで、転送元バススレーブ12のメモリ領域72では、メモリ領域72a〜72dの4つの領域が存在する。しかし、現実には1つのメモリ領域72しか存在せず、他の3つはミラー領域を示している。ここでは、上述のように、bit[5:4]が「00」のときは直接転送をしない場合(例示:2サイクル転送の場合)とし、bit[5:4]が「01」、「10」、「11」のいずれかのときは直接転送をする場合(1サイクル転送の場合)としている。従って、アドレス信号が「10000000」の場合、bit[5:4]は「00」なので、メモリ領域72aを示し、直接転送をしない(例示:2サイクル転送をする)ことになる。また、アドレス信号が「10010000」の場合、bit[5:4]は「01」なので、メモリ領域72bを示し、直接転送をする(1サイクル転送をする)ことになる。
このとき、例えば、bit[5:4]の値が「01」(メモリ領域72bにアクセス)の場合に直接転送と設定されているとする。その場合、アドレスデコーダ23は、アドレス信号31をデコードしたとき、bit[5:4]の値が「01」の場合に、ハイレベルの信号を出力する。その結果、直接転送ライトストローブ信号生成回路13は、直接転送ライトストローブ信号35をアクティブにする。一方、bit[5:4]の値が「00」(メモリ領域72aにアクセス)の場合、ロウレベルの信号を出力する。その結果、直接転送ライトストローブ信号生成回路13は、直接転送ライトストローブ信号35をロウレベルにする。なお、bit[5:4]の値が「10」、「11」(それぞれメモリ領域72c、72dにアクセス)については、直接転送する場合としても良いし、直接転送しない場合としても良いし、異なる他の命令としても良い。
このようなアドレス信号31が示す値は、CPU10のプログラムコードに埋め込まれている。したがって、アドレス信号31が示す値をミラー領域に変更したこと(bit[5:4]を[00]から「01」、「10」、「11」のいずれかに変更したこと)によるオーバーヘッドはない。
なお、図6に示すメモリマップ70は例示であり、本実施の形態がこの例に限定されることはない。すなわち、アドレス信号31で示されるミラー領域の少なくとも一つを、直接転送(1サイクル転送)に対応させておけば、メモリマップの構成は任意に設定することができる。
以上のように、ミラー領域へのリードアクセスという命令に対して、追加的に他の命令(動作)を含ませることができる。例えば、上記実施の形態では、リードアクセスに対して更に「直接転送」を含ませることができる。すなわち、追加的な設定を何ら行うことなく、アドレス信号の変更(ミラー領域の指定)を行うことで、単なるリードアクセススだけでなく、追加的な他の命令(動作)を行わせることが可能となる。
また、Read命令を検出してCPU10から転送元バススレーブ12にリードを行う構成にしたため、転送元バススレーブ12のアクセスするアドレス(読み出し先のアドレス)をCPU10から制御することが可能となる。
次に、本発明の第1の実施の形態に係るバス接続回路の制御方法(バス接続回路(半導体装置)の動作)について説明する。図7は、本発明の第1の実施の形態に係るバス接続回路の制御方法を示すタイミングチャートである。(a)はクロック信号、(b)はスレーブ選択信号40、(c)は転送元セレクト信号30、(d)は転送元リードデータ33、(e)はアドレス信号31、(f)はCPUリードデータ39、(g)は転送イネーブル信号34、(h)は直接転送ライトストローブ信号35である。ここでは、CPU10が転送元バススレーブ12のミラー領域にリードアクセスをすることにより、直接転送(1サイクル転送)をする場合を考える。
T1のタイミングにおいて、CPU10が転送元バススレーブ12のミラー領域にリードアクセスをする(バス回路11上にリードリクエストを発行する)。すなわち、CPU10は、スレーブ選択信号40(b)をハイレベルとし、アドレス信号31(e)を出力する。アドレスデコーダ20は、スレーブ選択信号40及びアドレス信号31に基づいて、転送元セレクト信号30(c)をハイレベルとして、アドレス信号31によって選択された転送元バススレーブ12にリードアクセス要求を行う。
T2のタイミングにおいて、転送元バススレーブ12は、アドレス信号31によって指定された領域から転送元リードデータ33(d)を出力する。セレクタ22は、転送元セレクト信号30に基づいて、転送元リードデータ33をCPUリードデータ39とする(例示:転送元リードデータ用の配線をCPUリードデータ用の配線に接続する)。転送元リードデータ33はリードレスポンスとなる。
また、T2のタイミングにおいて、CPU10は、転送イネーブル信号34(g)をハイレベルとする。直接転送ライトストローブ信号生成回路13は、アドレス信号31、転送元セレクト信号30及び転送イネーブル信号34に基づいて、直接転送ライトストローブ信号35(h)を生成する。このとき、転送元セレクト信号30がハイレベルであり、転送イネーブル信号34がハイレベルであり、ミラー領域を示すアドレス信号31のbit[5:4]をアドレスデコーダ23でデコードした結果がハイレベルとなったとき、直接転送ライトストローブ信号35がハイレベルとなる。
また、T2のタイミングにおいて、ライトデータセレクタ21は、直接転送ライトストローブ信号35がハイレベルであることから、CPUリードデータ39をスレーブライトデータ32とする(例示:CPUリードデータ用の配線をスレーブライトデータ用の配線に接続する)。
また、T2のタイミングにおいて、セレクタ14は、直接転送ライトストローブ信号35がハイレベルであることから、バス回路11からの転送先セレクト信号37、アドレス信号31、転送イネーブル信号34及びライトストローブ信号41のうち、転送先セレクト信号37と転送イネーブル信号34とライトストローブ信号41をアクティブにし、アドレス信号31を予めセレクタ14内に設定された値にして、転送先バススレーブ15に出力する。その結果、転送先バススレーブ15は、転送先セレクト信号37と転送イネーブル信号34とライトストローブ信号41と、予め設定されたアドレス信号31とに基づいて、スレーブライトデータ32を書き込むことができる。
本実施の形態により、1サイクル転送する場合としない場合とが混在した場合でのバス転送性能の低下を防ぐことができる。その理由は、転送元バススレーブに対する通常のアクセスと1サイクル転送との区別を、ミラー領域を示すアドレス信号31から生成した直接転送ライトストローブ信号35で行うことが可能であり、メモリコントローラ(MEMC)の設定を行なわずに1サイクル転送が可能となるからである。このとき、アドレス信号31が示す値はCPU10のプログラムコードに埋め込まれており、この値をミラー領域に変更したことによるオーバーヘッドはない。
図8は、本発明の第1の実施の形態に係るバス接続回路を備える半導体装置の構成の変形例を示すブロック図である。この図の半導体装置1aは複数の転送先バススレーブ15a、15b、15cを備え、バス接続回路2aは複数の直接転送ライトストローブ信号生成回路13a、13b、13cを備えている点で、図5の半導体装置1及びバス接続回路2と相違している。複数の直接転送ライトストローブ信号生成回路13a、13b、13cは、複数の転送先バススレーブ15a、15b、15cに対応している。
図5の例では、直接転送の対象となる転送先バススレーブ15が一つであるため、bit[5:4]が「01」、「10」、「11」のいずれかのときは直接転送とすれば良い。一方、この図の例では、直接転送の対象として複数の転送先バススレーブ15a、15b、15cが設けられている。この場合、bit[5:4]により各転送先を指定することができる。例えば、bit[5:4]が「01」の場合には第1の転送先バススレーブ15aに直接転送するとし、「10」の場合には第2の転送先バススレーブ15bに直接転送するとし、「11」の場合には第3の転送先バススレーブ15cに直接転送するとすることができる。
直接転送ライトストローブ信号生成回路13a、13b、13cは、アドレス信号31、転送元セレクト信号30及び転送イネーブル信号34に基づいて、直接転送ライトストローブ信号35a、35b、36cを出力する。例えば、直接転送ライトストローブ信号生成回路13aにおいて、転送元セレクト信号30がハイレベルであり、転送イネーブル信号34がハイレベルであり、ミラー領域を示すアドレス信号31のbit[5:4]が「01」でアドレスデコーダ23aの出力がハイレベルとなったとき、直接転送ライトストローブ信号35aがハイレベルとなる。また、直接転送ライトストローブ信号生成回路13bにおいて、転送元セレクト信号30がハイレベルであり、転送イネーブル信号34がハイレベルであり、ミラー領域を示すアドレス信号31のbit[5:4]が「10」でアドレスデコーダ23bの出力がハイレベルとなったとき、直接転送ライトストローブ信号35bがハイレベルとなる。また、直接転送ライトストローブ信号生成回路13cにおいて、転送元セレクト信号30がハイレベルであり、転送イネーブル信号34がハイレベルであり、ミラー領域を示すアドレス信号31のbit[5:4]が「11」でアドレスデコーダ23cの出力がハイレベルとなったとき、直接転送ライトストローブ信号35cがハイレベルとなる。接転送ライトストローブ信号35a、35b、35cは、3入力OR回路28で束ねられ、ライトデータセレクタ21に入力される。
また、転送先バススレーブ15、15a、15b、15cからのリードデータ36a、36b、36cは、3入力OR回路29で束ねられ、セレクタ22に入力される。
その他の動作は、図5の場合と同様である。
この変形例のように、アドレス信号31のミラー領域を示すビット(例示:bit[5:4])を用いることにより、直接転送するか否かという命令(動作)だけでなく、直接転送の転送先を指定するという命令(動作)も同時に実行することも可能となる。
以上のように、ミラー領域へのリードアクセスという命令に対して、追加的に他の命令(動作)を含ませることができる。例えば、上記変形例では、リードアクセスに対して更に「転送先選択」及び「直接転送」を含ませることができる。すなわち、追加的な設定を何ら行うことなく、アドレス信号の変更(ミラー領域の指定)を行うことで、単なるリードアクセスだけでなく、追加的な他の命令(動作)を行わせることが可能となる。
(第2の実施の形態)
次に、本発明の第2の実施の形態に係るバス接続回路を備える半導体装置について説明する。
図9は、本発明の第2の実施の形態に係るバス接続回路を備える半導体装置の構成の一例を示すブロック図である。本実施の形態の半導体装置1b及びバス接続回路2bは、バス回路50、51、バスブリッジ回路53、54、及びWriteRead変換回路55を更に具備している点で第1の実施の形態の半導体装置1及びバス接続回路2と相違している。以下では、主に相違点について説明する。
CPU10はバス回路50に接続されている。バスブリッジ53は、バス回路50とバス回路51とのデータの受け渡しを行う。バスブリッジ54は、バス回路51とバス回路11とのデータの受け渡しを行う。バスブリッジ53とバスブリッジ54は一般的なバスブリッジ回路である。また、バスブリッジ54とバス回路11との間のデータの受け渡しはWriteRead変換回路55を介して行う。WriteRead変換回路55は、そのデータの受け渡しの時、CPU10からのライトアクセス信号をリードアクセス信号に変換する。
図10は、本発明の第2の実施の形態に係るバス接続回路のWriteRead変換回路の構成の一例を示すブロック図である。WriteRead変換回路55は、バスブリッジ54から受信したバススレーブ選択信号40とアドレス信号31と転送イネーブル信号34に基づいて、CPU10のアクセスがミラー領域へのアクセス(直接転送)か否かを検出する。当該ミラー領域へのアクセス(直接転送)の場合、バスブリッジ54から受信したライトストローブ信号41を反転しライトストローブ信号42としてバス回路11に出力する。また、バスブリッジ54からのバススレーブ選択信号40とアドレス信号31と転送イネーブル信号34は、更にバス回路11へも出力される。CPUリードデータ39及びCPUライトデータ38は、WriteRead変換回路55を通過するだけである。WriteRead変換回路55は、アドレスデコーダ83と3入力AND回路84とマルチプレクサ85とを備えている。
アドレスデコーダ83は、バスブリッジ54から受信したアドレス信号31の所定ビットが予め設定されたアドレス値の場合(直接転送の場合)にはハイレベルの結果信号を出力する。所定ビットは、第1の実施の形態で説明されたミラー領域を示すビットである。図6の例では、bit[5:4]である。すなわち、ミラー領域へのアクセスの場合(直接転送の場合)には、ハイレベルの結果信号を出力する。3入力AND回路84は、その結果信号とバスブリッジ54から受信したバススレーブ選択信号40及び転送イネーブル信号34とのAND演算結果をマルチプレクサ85の制御信号として出力する。すなわち、ミラー領域へのアクセスの場合には、ハイレベルの制御信号を出力する。マルチプレクサ85は、制御信号に基づいて、ミラー領域へのアクセスの場合には、ライトストローブ信号41を反転したストローブ信号42としてバス回路11に出力する。このストローブ信号42はライトストローブ信号41を反転しているのでリードストローブ信号となる。一方、ミラー領域へのアクセスでない場合には、ロウレベルの制御信号を出力する。マルチプレクサ85は、制御信号に基づいて、ミラー領域へのアクセスでない場合には、ライトストローブ信号41を反転せずにそのままの状態のストローブ信号42としてバス回路11に出力する。このストローブ信号42はライトストローブ信号41そのままなのでライトストローブ信号となる。
次に、本発明の第2の実施の形態に係るバス接続回路の制御方法(バス接続回路(半導体装置)の動作)について説明する。
転送元バススレーブ12へのリードリクエストの場合、CPU10がリードリクエストを発行すると、リードリクエストは、バスブリッジ53、バスブリッジ54、転送元バススレーブ12に伝播する。転送元バススレーブ12がリードリクエストに応答してリードデータを発行すると、リードデータは、バスブリッジ54、バスブリッジ53、CPU10と伝播する。それにより、リードリクエストが完了する。そして、バスブリッジ53は、リードリクエストと対応するリードデータの転送完了をもってデータ転送完了通知(リードレスポンス)をCPU10へ発行することになる。それにより、リードリクエストの処理が完了する。
一方、転送元バススレーブ12へのライトリクエストの場合、CPU10がライトリクエストを発行すると、ライトリクエストは、バスブリッジ53、バスブリッジ54、転送元バススレーブ12に伝播する。しかし、バスブリッジ53は、ライトリクエストの発行の次のクロックのタイミングでデータ転送完了通知(ライトレスポンス)をCPU10へ発行することができる。バスブリッジ53がライトデータ転送完了を待つ必要は無い。
以上のことから、本実施の形態では、第1の実施の形態のようにリードリクエストで直接転送を行うのではなく、ライトリクエストで直接転送を行うことしている。それにより、複数のバスブリッジを経由して直接転送のリクエストを伝搬させる場合であっても、CPU10は短期間でデータ転送完了通知を得ることができる。ただし、リードリクエストを用いる第1の実施の形態のバス接続回路の構成を用いるべく、ライトリクエストをWriteRead変換回路55でリードリクエストに変更する。以下、詳細に説明する。
図11は、本発明の第2の実施の形態に係るバス接続回路の制御方法を示すタイミングチャートである。ここでは、CPU10が転送元バススレーブ12のミラー領域にライトアクセスをすることにより、直接転送(1サイクル転送)をする場合を考える。
T1のタイミングにおいて、CPU10は、バス回路50上にライトリクエスト(W)を発行する。そのライトリクエスト(W)は、転送元バススレーブ12のミラー領域へのライトリクエストである。バスブリッジ53は、バス回路50からライトリクエスト(W)を受け取る。
T2のタイミングにおいて、バスブリッジ53は、ライトリクエスト(W)に応答して、バス回路50上にライトレスポンス(WR)を返しバス転送が完了する。CPU10は、バス転送が完了したため、T3のタイミングで次のライトリクエスト(W)を発行することができる。
T2のタイミングにおいて、バスブリッジ53は、ライトリクエスト(W)に応答して、バス回路51上にライトリクエスト(W)を発行する。バスブリッジ54は、バス回路51からライトリクエスト(W)を受け取る。
T3のタイミングにおいて、バスブリッジ54は、ライトリクエスト(W)に応答して、バス回路51上にライトレスポンス(WR)を返しバス転送が完了する。バスブリッジ53は、バス転送が完了したため、T4のタイミングで次のライトリクエスト(W)を発行することができる。
T3のタイミングにおいて、バスブリッジ54は、ライトリクエスト(W)に応答して、転送元バススレーブ12に対してライトリクエスト(W)を発行する。それに対応して、WriteRead変換回路55は、そのライトリクエスト(W)をリードリクエスト(R)に変換し、バス回路11上に発行する。バス回路11は、WriteRead変換回路55からリードリクエスト(R)を受け取る。加えて、バス回路11は、バスブリッジ54(CPU10)からのバススレーブ選択信号40とアドレス信号31と転送イネーブル信号34を受け取る。その後、第1の実施の形態と同様の動作を行い、直接転送を実行する。この場合、この図のT3が、第1の実施の形態のT1に対応する。また、この図のT4が、第1の実施の形態のT2に対応する。また、その結果、T4において、転送元バススレーブ12がリードデータをバス回路11上に出力することにより、バス回路11上にリードレスポンス(RR;CPUリードデータ39)が返信され、バス転送が完了する。
図12は、本発明の第2の実施の形態に係るバス接続回路においてWriteRead変換回路を用いない場合(Offにした場合)での制御方法を示すタイミングチャートである。WriteRead変換回路55をOffにして用いない場合、WriteRead変換回路55によるライトリクエストからリードリクエストへの変換が行われない。従って、CPU10は、転送元バススレーブ12へリードリクエスト(R)を発行する必要がある。その場合の動作は以下のようになる。
T1のタイミングにおいて、CPU10は、バス回路50上にリードリクエスト(R)を発行する。そのリードリクエスト(R)は、転送元バススレーブ12のミラー領域へのライトリクエストである。バスブリッジ53は、バス回路50からリードリクエスト(R)を受け取る。
T2のタイミングにおいて、バスブリッジ53は、リードリクエスト(R)に応答して、バス回路51上にリードリクエスト(R)を発行する。バスブリッジ54は、バス回路51からリードリクエスト(R)を受け取る。
T3のタイミングにおいて、バスブリッジ54は、リードリクエスト(R)に応答して、バス回路11上にリードリクエスト(R)を発行する。加えて、バス回路11は、バスブリッジ54(CPU10)からのバススレーブ選択信号40とアドレス信号31と転送イネーブル信号34を受け取る。
その後、第1の実施の形態と同様の動作を行い、直接転送を実行する。この場合、この図のT3が、第1の実施の形態のT1に対応する。また、この図のT4が、第1の実施の形態のT2に対応する。また、その結果、T4において、転送元バススレーブ12がリードデータをバス回路11上に出力することにより、バス回路11上にリードレスポンス(RR;CPUリードデータ39)が返信される。
T5のタイミングにおいて、バスブリッジ54は、リードレスポンス(RR)に応答して、バス回路51上にリードレスポンス(RR)を発行する。バスブリッジ53は、バス回路51からリードレスポンス(RR)を受け取る。
T6のタイミングにおいて、バスブリッジ53は、リードレスポンス(RR)に応答して、バス回路50上にリードリクエスト(R)を発行する。CPU10は、バス回路50からードレスポンス(RR)を受け取る。以上のプロセスにより、バス転送が完了する。
以上のように、WriteRead変換回路55をOffにした場合(図12)、T1のタイミングでCPU10から転送元バススレーブ12へ発生したリードリクエストは、T6のタイミングでバスブリッジ53からCPU10へリードレスポンスが返るまでリードデータ転送を完了することができない。すなわち、WriteRead変換回路55をOffにした場合、CPU10としては、1回の直接転送を完了するのにT1からT6の6クロックを必要とする。しかし、WriteRead変換回路55をOnにした場合(図11)、CPU10としては、1回の直接転送を完了するのにT1からT2の2クロックでよい。このように、WriteRead変換回路55を用いることで、CPU10は短期間でデータ転送完了通知を得ることができる。
本実施の形態のバス接続回路においても、第1の実施の形態の効果を得ることができる。その理由は、WriteRead変換回路55によりライトリクエストがリードリクエストに変換されるため、第1の実施の形態と同様の構成及び方法により、転送元バススレーブ12から転送先バススレーブ15への直接転送を行うことができるからである。
本実施の形態のバス接続回路では、更に、バスブリッジを介した多段構成バス回路の場合の1サイクル転送のスループットを向上することが可能となる。その理由は、ライトリクエストの場合には、バスブリッジは転送元バススレーブ12からの応答を待たずにバスマスタにライトレスポンスを返すことができ、バスマスタは次のライトリクエスト発行を開始することができるためである。
以上のように、ミラー領域へのライトアクセスという命令に対して、追加的に他の命令(動作)を含ませることができる。例えば、上記実施の形態では、ライトアクセスに対して更に「ライトアクセスのリードアクセスへの変換」及び「直接転送」を含ませることができる。すなわち、追加的な設定を何ら行うことなく、アドレス信号の変更(ミラー領域の指定)を行うことで、単なるライトアクセスだけでなく、追加的な他の命令(動作)を行わせることが可能となる。
(第3の実施の形態)
次に、本発明の第3の実施の形態に係るバス接続回路を備える半導体装置について説明する。
図13は、本発明の第3の実施の形態に係るバス接続回路を備える半導体装置の構成の一例を示すブロック図である。本実施の形態の半導体装置1c及びバス接続回路2cは、転送元バススレーブ12のミラー領域にリードアクセスするのではなく、転送先バススレーブ15のミラー領域にライトアクセスすることで直接転送を実現する点で第1の実施の形態の半導体装置1及びバス接続回路2と相違している。以下では、主に相違点について説明する。
バス接続回路2cは、第1の実施の形態のバス接続回路2と比較して、リードデータセレクタ22がセレクタ60に置き換えられ、セレクタ14がセレクタ61に置き換えられ、直接転送ライトストローブ信号生成回路13が直接転送リードストローブ信号生成回路63に置き換えられている。
アドレスデコーダ20は、スレーブ選択信号40入力時に、アドレス信号31によって選択されたバススレーブ(12、15)に対してセレクト信号(30、37)を出力する。
セレクタ60は、直接転送リードストローブ信号62(後述)がロウレベルのとき、かつ、転送先セレクト信号37がハイレベルのときは転送先リードデータ36をCPUリードデータ39として出力する(例示:リードデータ(36)用配線をCPUリードデータ(39)用配線に接続する)。また、直接転送リードストローブ信号62がロウレベルのとき、かつ、転送元セレクト信号30がハイレベルのときは転送元リードデータ33をCPUリードデータ39として出力する(例示:リードデータ(33)用配線をCPUリードデータ(39)用配線に接続する)。一方、セレクタ60は、直接転送リードストローブ信号62がハイレベルのとき、かつ、転送先セレクト信号37がハイレベルのときは転送元リードデータ33をCPUリードデータ39として出力する(例示:リードデータ(33)用配線をCPUリードデータ(39)用配線に接続する)。また、直接転送リードストローブ信号62がハイレベルのとき、かつ、転送元セレクト信号30がハイレベルのときは転送先リードデータ36をCPUリードデータ39として出力する(例示:リードデータ(36)用配線をCPUリードデータ(39)用配線に接続する)。
ライトデータセレクタ21は、直接転送リードストローブ信号62(後述)がハイレベルのときは、そのCPUリードデータ39をスレーブライトデータ32とする(例示:CPUリードデータ(39)用配線をスレーブライトデータ(32)用配線に接続する)。直接転送ライトストローブ信号35がロウレベルのときは、CPUライトデータ38をスレーブライトデータ32とする(例示:CPUライトデータ(38)用配線をスレーブライトデータ(32)用配線に接続する)。
直接転送リードストローブ信号生成回路63は、転送先セレクト信号37とアドレス信号31と転送イネーブル信号34とを受信し、予め設定されたアドレス値の場合には直接転送リードストローブ信号62にハイレベルを出力する。直接転送リードストローブ信号生成回路63は、アドレスデコーダ23と3入力AND回路24とを備えている。
アドレスデコーダ23は、アドレス信号31の所定ビットが予め設定されたアドレス値の場合にはハイレベルの結果信号を出力する。所定ビットは、第1の実施の形態で説明されたミラー領域(図6)を示すビットである。3入力AND回路24は、その結果信号と転送元セレクト信号30と転送イネーブル信号34とのAND演算結果を直接転送リードストローブ信号62として出力する。
セレクタ61は、転送元バススレーブ12の直前に接続されている。直接転送リードストローブ信号62がロウレベルのときは、バス回路11の信号(転送元セレクト信号30、アドレス信号31、転送イネーブル信号34、ライトストローブ信号41)を転送元バススレーブ12に出力する。しかし、直接転送リードストローブ信号62がハイレベルのときは、転送元セレクト信号30と転送イネーブル信号34とをアクティブにし、アドレス信号31を予めセレクタ61内に設定された値にして、転送元バススレーブ12に出力する。
本実施の形態において、CPU10は、転送先バススレーブ15のミラー領域に対してライトアクセスを行う。ミラー領域の設定方法については、図6の方法が例示される。ただし、本実施の形態では、例えば、図6において、転送元バススレーブの領域と転送先バススレーブの領域とを入れ替える。すなわち、メモリマップ70において、転送先バススレーブ15に対してメモリ領域72を割り当て、転送元バススレーブ12に対してメモリ領域71を割り当てる。
次に、本発明の第3の実施の形態に係るバス接続回路の制御方法(バス接続回路(半導体装置)の動作)について説明する。
T1のタイミングにおいて、CPU10が転送先バススレーブ15のミラー領域にライトアクセスをする(バス回路11上にライトリクエストを発行する)。すなわち、CPU10は、スレーブ選択信号40をハイレベルとし、アドレス信号31を出力する。アドレスデコーダ20は、スレーブ選択信号40及びアドレス信号31に基づいて、転送セレクト信号37をハイレベルとして、アドレス信号31によって選択された転送先バススレーブ15にライトアクセス要求を行う。
T2のタイミングにおいて、CPU10は、転送イネーブル信号34をハイレベルとする。直接転送リードストローブ信号生成回路63は、ミラー領域へのアクセスを検出し、直接転送リードストローブ信号62にハイレベルにする。具体的には、直接転送リードストローブ信号生成回路63は、アドレス信号31、転送先セレクト信号37及び転送イネーブル信号34に基づいて、直接転送リードストローブ信号62を生成する。このとき、転送セレクト信号37がハイレベルであり、転送イネーブル信号34がハイレベルであり、ミラー領域を示すアドレス信号31のbit[5:4]をアドレスデコーダ23でデコードした結果がハイレベルとなったとき、直接転送リードストローブ信号62がハイレベルとなる。
セレクタ61は、直接転送リードストローブ信号62がハイレベルのとき、転送元セレクト信号30と転送イネーブル信号34とをアクティブにし、アドレス信号31を予めセレクタ61内に設定された値にして、転送元バススレーブ12に出力する。転送元バススレーブ12は、アドレス信号31によって指定された領域から転送元リードデータ33を出力する。
セレクタ60は、直接転送リードストローブ信号62がハイレベルのとき、かつ、転送先セレクト信号37がハイレベルのとき、転送元リードデータ33をCPUリードデータ39として出力する(例示:リードデータ(33)用配線をCPUリードデータ(39)用配線に接続する)。転送元リードデータ33はリードレスポンスとなる。ライトデータセレクタ21は、直接転送リードストローブ信号62がハイレベルのときは、そのCPUリードデータ39をスレーブライトデータ32とする(例示:CPUリードデータ(39)用配線をスレーブライトデータ(32)用配線に接続する)。
転送先バススレーブ15は、転送先セレクト信号37と転送イネーブル信号34とライトストローブ信号41とアドレス信号31とに基づいて、スレーブライトデータ32を書き込むことができる(CPU10のライトアクセス)。
本実施の形態においても、第1の実施の形態と同様の効果を得ることができる。また、この場合にも、第1の実施の形態のような変形例が可能である。また、第2の実施の形態の場合にはWriteRead変換回路55が不要となる。また、Write命令を検出して転送先バススレーブ15から転送元バススレーブ12にリードを行う構成にしたため、転送先バススレーブ15のアクセスするアドレス(書き込み先のアドレス)をCPU10から制御することが可能となる。
以上のように、ミラー領域へのライトアクセスという命令に対して、追加的に他の命令(動作)を含ませることができる。例えば、上記実施の形態では、ライトアクセスに対して更に「直接転送」を含ませることができる。すなわち、追加的な設定を何ら行うことなく、アドレス信号の変更(ミラー領域の指定)を行うことで、単なるリードアクセス又はライトアクセスだけでなく、追加的な他の命令(動作)を行わせることが可能となる。
以上説明されたように、上記各実施の形態により、直接転送をする場合(1サイクル転送の場合)と直接転送をしない場合(例示:2サイクル転送の場合)とが混在しても、MEMC設定等の追加の動作を行うことなく、1サイクル転送することが可能となる。
また、上記各実施の形態により、ミラー領域へのリードアクセス又はライトアクセスという命令に対して、追加的に他の命令(動作)を含ませることができる。例えば、上記実施の形態では、リードアクセスに対して更に「直接転送」を含ませたり(図5)、リードアクセスに対して更に「転送先選択」及び「直接転送」を含ませたり(図8)、ライトアクセスに対して更に「ライトアクセスのリードアクセスへの変換」及び「直接転送」を含ませたり(図9、図10)、ライトアクセスに対して更に「直接転送」(図13)を含ませたりすることができる。すなわち、追加的な設定を何ら行うことなく、アドレス信号の変更(ミラー領域の指定)を行うことで、単なるリードアクセス又はライトアクセスだけでなく、追加的な他の命令(動作)を行わせることが可能となる。
ミラー領域へのアクセス命令に対して追加的に含ませる他の命令(動作)としては、上記各実施の形態の例の他に種々の命令が考えられる。すなわち、例えば、第1の実施の形態における直接転送ライトストローブ信号35は、以下のような種々の用途に用いることが可能である。ただし、以下では、直接転送ライトストローブ信号35のことをミラー領域検出信号と呼ぶ。ミラー領域検出信号は、ミラー領域へのアクセスを検出することでハイレベルとなる信号である。
ミラー領域検出信号をバススレーブに入力し、ミラー領域検出信号に基づいてバススレーブのレジスタインターフェース回路を制御する。それにより、バススレーブ内のリードオンリーレジスタにライトできるようになる。このとき、アドレス信号は、例えば、ミラー領域(リードオンリーレジスタにライトする命令に対応)+リードオンリーレジスタ内のアドレスである。通常は、モード設定(変更)のためにレジスタアクセスが必要となるが、本発明では不要である。
ミラー領域検出信号をバススレーブに入力し、ミラー領域検出信号に基づいてバススレーブのレジスタインターフェース回路を制御する。それにより、バススレーブ内のライトオンリーレジスタをリードできるようになる。このとき、アドレス信号は、例えば、ミラー領域(ライトオンリーレジスタをリードする命令に対応)+ライトオンリーレジスタ内のアドレスである。通常は、モード設定(変更)のためにレジスタアクセスが必要となるが、本発明では不要である。
ミラー領域検出信号をバススレーブに入力し、ミラー領域検出信号に基づいてバススレーブのレジスタインターフェース回路を制御する。それにより、バススレーブの隠しレジスタ(リードしてもレジスタ値に関わらず0が読み出せる)の値をリードできるようになる。このとき、アドレス信号は、例えば、ミラー領域(隠しレジスタをリードする命令に対応)+隠しレジスタ内のアドレスである。通常は、モード設定(変更)のためにレジスタアクセスが必要となるが、本発明では不要である。
ミラー領域検出信号をバススレーブに入力し、ミラー領域検出信号に基づいてバススレーブのリードデータ・ライトデータの接続を変更する。それにより、リードデータ・ライトデータのエンディアンを変換できるようになる。このとき、アドレス信号は、例えば、ミラー領域(リードデータ・ライトデータの接続を変更する命令に対応)+リードデータ又はライトデータのアドレスである。通常は、モード設定(変更)のためにレジスタアクセスが必要となるが、本発明では不要である。
ミラー領域検出信号をバススレーブに入力し、ミラー領域検出信号に基づいてバススレーブのリードデータ・ライトデータに接続した型変換回路を制御する。それにより、リードデータ・ライトデータの型変換(Signed/Unsigned、固定小数点−浮動小数点)ができるようになる。このとき、アドレス信号は、例えば、ミラー領域(リードデータ・ライトデータの型変換命令に対応)+リードデータ又はライトデータのアドレスである。通常は、モード設定(変更)のためにレジスタアクセスが必要となるが、本発明では不要である。
ミラー領域検出信号をバススレーブに入力し、ミラー領域検出信号に基づいてバススレーブのレジスタインターフェース回路を制御する。それにより、リードデータ・ライトデータのパッキング(複数のbyteデータを1回で纏めてアクセスする)ができるようになる。このとき、アドレス信号は、例えば、ミラー領域(リードデータ・ライトデータのパッキング命令に対応)+リードデータ又はライトデータのアドレスである。通常は、モード設定(変更)のためにレジスタアクセスが必要となるが、本発明では不要である。
ミラー領域検出信号をバススレーブに入力し、ミラー領域検出信号に基づいてバススレーブのリードデータ・ライトデータに接続した画像フォーマット変換回路を制御する。それにより、リードデータ・ライトデータの画像フォーマット変換(YUV422,YUV420,YUV411,RGB etc.)ができるようになる。このとき、アドレス信号は、例えば、ミラー領域(リードデータ・ライトデータの画像フォーマット変換命令に対応)+リードデータ又はライトデータのアドレスである。
ミラー領域検出信号をバススレーブに入力することで、ミラー領域検出信号に基づいてバススレーブの機能を変更する(ex.UARTの送信FIFO領域の場合、ミラー領域ごとに出力フォーマットが変わる)ことができるようになる。このとき、アドレス信号は、例えば、ミラー領域(機能を変更する命令に対応)+バススレーブのアドレスである。通常は、モード設定(変更)のためにレジスタアクセスが必要となるが、本発明では不要である。
本発明は上記各実施の形態に限定されるものではなく、発明の範囲及び精神を逸脱しない変形や変更が可能であることは明らかである。また、各実施の形態に用いられている各技術は、技術的矛盾の発生しない限り、他の実施の形態や応用例において適用可能である。
本発明はいくつかの実施の形態と併せて上述されたが、これらの実施の形態は本発明を説明するために単に提供されたものであることは当業者にとって明らかであり、意義を限定するように添付のクレームを解釈するために頼ってはならない。
1、1a、1b、1c 半導体装置
2、2a、2b、2c バス接続回路
10 バスマスタ(CPU)
11 バス回路
12 転送元バススレーブ
13、13a、13b、13c 直接転送ライトストローブ信号生成回路
14 セレクタ
15、15a、15b、15c 転送先バススレーブ
20 アドレスデコーダ
21 ライトデータセレクタ
22 セレクタ
23、23a、23b、23c アドレスデコーダ
24、24a、24b、24c 3入力AND回路
28 3入力OR回路
29 3入力OR回路
30 転送元セレクト信号
31 アドレス信号
32 スレーブライトデータ
33 転送元リードデータ
34 転送イネーブル信号
35、35a、35b、35c 直接転送ライトストローブ信号
36、36a、36b、36c リードデータ
37 セレクト信号
38 CPUライトデータ
39 CPUリードデータ
40 スレーブ選択信号
41 ライトストローブ信号
42 ライトストローブ信号
50、51 バス回路
53、54 バスブリッジ
55 WriteRead変換回路
60 セレクタ
61 セレクタ
62 直接転送リードストローブ信号
63 直接転送リードストローブ信号生成回路
70 メモリマップ
71 メモリ領域
72 メモリ領域
72a〜72d メモリ領域
83 アドレスデコーダ
84 3入力AND回路
85 マルチプレクサ

Claims (5)

  1. バスマスタと複数のバススレーブとを接続するバス接続回路であって、
    前記複数のバススレーブは、
    転送元スレーブと、
    転送先スレーブと
    を含み、
    前記バスマスタは、前記複数のバススレーブに対し、上位の4ビット[7:4]と下位の4ビット[3:0]とで構成される8ビットのアドレス信号[7:0]を出力し、
    ここで、前記上位の4ビット[7:4]は、
    前記上位の4ビット[7:4]の中で一番上位の第1ビットと、前記第1ビットの次の第2ビットとで構成され、前記複数のバススレーブのうちアクセス対象のバススレーブを示す上位前半2ビット[7:6]と、
    前記第2ビットの次の第3ビットと、前記第3ビットの次の第4ビットとで構成される上位後半2ビット[5:4]と
    に分けられ、
    前記転送元スレーブのデータ格納領域は、前記上位前半2ビット[7:6]の値が“10”をとり、前記上位後半2ビット[5:4]の値が“00”、“01”、“10”および“11”のうちのいずれかをとり、かつ、前記下位の4ビット[3:0]の値が前記データ格納領域自体のアドレスを表す値をとるデータ格納領域であって、前記上位後半2ビット[5:4]の値が“00”をとる領域と、前記上位後半2ビット[5:4]の値が“01”、“10”および“11”のうちのいずれかをとるミラー領域とに分けられ、
    前記ミラー領域は、前記上位後半2ビット[5:4]の値が“00”をとる領域に対して、実体的に使用されていない領域であり、
    前記バス接続回路は、
    前記8ビットのアドレス信号[7:0]おける前記上位前半2ビット[7:6]の値が“10”であるときに、前記複数のバススレーブのうち前記アクセス対象のバススレーブが前記転送元スレーブであることを検出する第1のアドレスデコーダと、
    前記第1のアドレスデコーダによって前記アクセス対象のバススレーブが前記転送元スレーブであると検出された場合、前記8ビットのアドレス信号[7:0]における前記上位後半2ビット[5:4]の値が“01”、“10”および“11”のうちのいずれかであることを検出する第2のアドレスデコーダと
    前記第2のアドレスデコーダによって前記上位後半2ビット[5:4]の値が“01”、“10”および“11”のうちのいずれかであると検出された場合、前記転送元スレーブからの転送元リードデータを前記転送先スレーブへ前記バスマスタを介さずに直接転送することを指示する直接転送ライトストローブ信号を出力する論理回路と、
    前記論理回路から出力された前記直接転送ライトストローブ信号に従って、前記転送元リードデータを前記バスマスタを介さずに前記バスマスタからのライトデータ出力線へ出力する第1のセレクタと、
    前記論理回路から出力された前記直接転送ライトストローブ信号に従って、予め設定されたアドレスと転送イネーブル信号を前記転送先スレーブに出力する第2のセレクタと
    を具備し、
    前記転送先スレーブにおいて前記予め設定されたアドレスに前記転送元リードデータが格納される
    バス接続回路。
  2. 請求項に記載のバス接続回路において、
    WriteRead変換回路を更に備え、
    前記バスマスタは、前記転送元スレーブから前記転送先スレーブへの直接転送の際に、前記転送元スレーブの前記ミラー領域へのアクセス及びライト要求を設定し、
    前記WriteRead変換回路は、
    前記バスマスタからの前記転送元スレーブの前記ミラー領域へのアクセスを検出した場合、前記ライト要求をリード要求に変換する
    バス接続回路。
  3. バスマスタと、
    複数のバススレーブと、
    前記バスマスタと前記複数のバススレーブとを接続する、請求項1または2に記載のバス接続回路と
    を具備する
    半導体装置。
  4. バスマスタと複数のバススレーブとを接続するバス接続回路の動作方法であって、
    前記複数のバススレーブは、
    転送元スレーブと、
    転送先スレーブと
    を含み、
    前記バス接続回路の動作方法は、
    前記バスマスタが、前記複数のバススレーブに対し、上位の4ビット[7:4]と下位の4ビット[3:0]とで構成される8ビットのアドレス信号[7:0]を出力するステップと、
    ここで、前記上位の4ビット[7:4]は、
    前記上位の4ビット[7:4]の中で一番上位の第1ビットと、前記第1ビットの次の第2ビットとで構成され、前記複数のバススレーブのうちアクセス対象のバススレーブを示す上位前半2ビット[7:6]と、
    前記第2ビットの次の第3ビットと、前記第3ビットの次の第4ビットとで構成される上位後半2ビット[5:4]と
    に分けられ、
    前記転送元スレーブのデータ格納領域は、前記上位前半2ビット[7:6]の値が“10”をとり、前記上位後半2ビット[5:4]の値が“00”、“01”、“10”および“11”のうちのいずれかをとり、かつ、前記下位の4ビット[3:0]の値が前記データ格納領域自体のアドレスを表す値をとるデータ格納領域であって、前記上位後半2ビット[5:4]の値が“00”をとる領域と、前記上位後半2ビット[5:4]の値が“01”、“10”および“11”のうちのいずれかをとるミラー領域とに分けられ、
    前記ミラー領域は、前記上位後半2ビット[5:4]の値が“00”をとる領域に対して、実体的に使用されていない領域であり、
    前記8ビットのアドレス信号[7:0]における前記上位前半2ビット[7:6]の値が“10”であるときに、前記複数のバススレーブのうち前記アクセス対象のバススレーブが前記転送元スレーブであることを第1のアドレスデコーダが検出する第1の検出ステップと、
    前記第1の検出ステップによって前記アクセス対象のバススレーブが前記転送元スレーブであると検出された場合、前記8ビットのアドレス信号[7:0]における前記上位後半2ビット[5:4]の値が“01”、“10”および“11”のうちのいずれかであることを第2のアドレスデコーダが検出する第2の検出ステップと、
    前記第2の検出ステップによって前記上位後半2ビット[5:4]の値が“01”、“10”および“11”のうちのいずれかであると検出された場合、前記転送元スレーブからの転送元リードデータを前記転送先スレーブへ前記バスマスタを介さずに直接転送することを指示する直接転送ライトストローブ信号を論理回路が出力するステップと、
    前記論理回路から出力された前記直接転送ライトストローブ信号に従って、第1のセレクタが、前記転送元リードデータを前記バスマスタを介さずに前記バスマスタからのライトデータ出力線へ出力するステップと、
    前記論理回路から出力された前記直接転送ライトストローブ信号に従って、第2のセレクタが、予め設定されたアドレスと転送イネーブル信号を前記転送先スレーブに出力するステップと、
    前記転送イネーブル信号に従って、前記転送先スレーブが前記予め設定されたアドレスに前記転送元リードデータを格納するステップと
    を具備する
    バス接続回路の動作方法。
  5. 請求項に記載のバス接続回路の動作方法において、
    前記バスマスタが前記転送元スレーブから前記転送先スレーブへの直接転送の際に、前記転送元スレーブの前記ミラー領域へのアクセス及びライト要求を設定するステップと、
    WriteRead変換回路が、前記バスマスタからの前記転送元スレーブの前記ミラー領域へのアクセスを検出した場合、前記ライト要求をリード要求に変換するステップと
    を更に備える
    バス接続回路の動作方法。
JP2011233589A 2011-10-25 2011-10-25 バス接続回路、半導体装置及びバス接続回路の動作方法 Active JP5856434B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2011233589A JP5856434B2 (ja) 2011-10-25 2011-10-25 バス接続回路、半導体装置及びバス接続回路の動作方法
US13/659,183 US9116783B2 (en) 2011-10-25 2012-10-24 Bus connection circuit, semiconductor device and operation method of bus connection circuit for making procedure for switching between a 1-cycle transfer and a 2-cycle transfer unnecessary
US14/805,904 US20150324310A1 (en) 2011-10-25 2015-07-22 Bus connection circuit, semiconductor device and operation method of bus connection circuit for making procedure for switching between a 1-cycle transfer and a 2-cycle transfer unnecessary

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011233589A JP5856434B2 (ja) 2011-10-25 2011-10-25 バス接続回路、半導体装置及びバス接続回路の動作方法

Publications (2)

Publication Number Publication Date
JP2013092852A JP2013092852A (ja) 2013-05-16
JP5856434B2 true JP5856434B2 (ja) 2016-02-09

Family

ID=48136930

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011233589A Active JP5856434B2 (ja) 2011-10-25 2011-10-25 バス接続回路、半導体装置及びバス接続回路の動作方法

Country Status (2)

Country Link
US (2) US9116783B2 (ja)
JP (1) JP5856434B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5856434B2 (ja) * 2011-10-25 2016-02-09 ルネサスエレクトロニクス株式会社 バス接続回路、半導体装置及びバス接続回路の動作方法
JP6600518B2 (ja) * 2015-09-28 2019-10-30 ルネサスエレクトロニクス株式会社 バスシステム
KR20180034853A (ko) * 2016-09-28 2018-04-05 에스케이하이닉스 주식회사 합성곱 신경망의 연산 장치 및 방법
DE102019128331A1 (de) 2019-08-29 2021-03-04 Taiwan Semiconductor Manufacturing Co., Ltd. Gemeinsam genutzter decodiererschaltkreis und verfahren
CN112447218A (zh) * 2019-08-29 2021-03-05 台湾积体电路制造股份有限公司 存储器电路和方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04367058A (ja) * 1991-06-14 1992-12-18 Matsushita Electric Ind Co Ltd 情報装置
JPH06208539A (ja) * 1992-04-23 1994-07-26 Nec Corp 高速データ転送方式
JPH09204393A (ja) * 1996-01-26 1997-08-05 Matsushita Electric Ind Co Ltd 情報装置
US5815675A (en) * 1996-06-13 1998-09-29 Vlsi Technology, Inc. Method and apparatus for direct access to main memory by an I/O bus
JP2006146817A (ja) 2004-11-24 2006-06-08 Canon Inc メモリ制御システム及びメモリ制御装置
JP4955990B2 (ja) 2005-12-14 2012-06-20 株式会社東芝 不揮発性半導体記憶装置
JP5010263B2 (ja) 2006-12-12 2012-08-29 株式会社東芝 不揮発性半導体記憶装置
US20080162807A1 (en) * 2006-12-29 2008-07-03 Rothman Michael A Method and apparatus for redundant memory arrays
US8321622B2 (en) * 2009-11-10 2012-11-27 Hitachi, Ltd. Storage system with multiple controllers and multiple processing paths
JP5856434B2 (ja) * 2011-10-25 2016-02-09 ルネサスエレクトロニクス株式会社 バス接続回路、半導体装置及びバス接続回路の動作方法

Also Published As

Publication number Publication date
US9116783B2 (en) 2015-08-25
JP2013092852A (ja) 2013-05-16
US20130103869A1 (en) 2013-04-25
US20150324310A1 (en) 2015-11-12

Similar Documents

Publication Publication Date Title
TWI679539B (zh) 主從式系統、指令執行方法與資料存取方法
KR900004006B1 (ko) 마이크로 프로세서 시스템
US7907469B2 (en) Multi-port memory device for buffering between hosts and non-volatile memory devices
US7299323B2 (en) Memory controller having a read-modify-write function
JP5856434B2 (ja) バス接続回路、半導体装置及びバス接続回路の動作方法
JP2504206B2 (ja) バスコントロ―ラ
US7165126B2 (en) Direct memory access device
US6272583B1 (en) Microprocessor having built-in DRAM and internal data transfer paths wider and faster than independent external transfer paths
TWI231903B (en) Semiconductor memory device and information processing unit
US8312216B2 (en) Data processing apparatus and data processing method
JP2008140078A (ja) バスブリッジ装置、情報処理装置、およびデータ転送制御方法
JP2009037639A (ja) ストリーミングidメソッドによるdmac発行メカニズム
JP2004288147A (ja) シリアルメモリに対するxipシステム及びその方法
WO2023047762A1 (ja) プロセッサおよびエンディアン変換方法
WO2011030498A1 (ja) データ処理装置及びデータ処理方法
TW201826114A (zh) 半導體裝置的處理器與其操作方法
JP2006146817A (ja) メモリ制御システム及びメモリ制御装置
JP2007310927A (ja) 不揮発性メモリ、メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システム
US20180336029A1 (en) Arithmetic processing device and control method for arithmetic processing device
JP3201439B2 (ja) ダイレクト・メモリ・アクセス・制御回路
JPH07271575A (ja) レジスタ拡張回路
JP5270605B2 (ja) マイクロコントローラ
JP2003288316A (ja) マイクロコンピュータ装置、入出力装置および半導体装置
JP2006195810A (ja) メモリコントローラおよび高速データ転送方法
JPH06243049A (ja) パリティ制御回路

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140829

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150511

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150602

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150803

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150825

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151023

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: 20151117

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151211

R150 Certificate of patent or registration of utility model

Ref document number: 5856434

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150