JP5528939B2 - マイクロコンピュータ - Google Patents

マイクロコンピュータ Download PDF

Info

Publication number
JP5528939B2
JP5528939B2 JP2010170664A JP2010170664A JP5528939B2 JP 5528939 B2 JP5528939 B2 JP 5528939B2 JP 2010170664 A JP2010170664 A JP 2010170664A JP 2010170664 A JP2010170664 A JP 2010170664A JP 5528939 B2 JP5528939 B2 JP 5528939B2
Authority
JP
Japan
Prior art keywords
bus
cpu
access
signal
clock
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
JP2010170664A
Other languages
English (en)
Other versions
JP2012032936A (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 JP2010170664A priority Critical patent/JP5528939B2/ja
Priority to US13/179,119 priority patent/US8645602B2/en
Publication of JP2012032936A publication Critical patent/JP2012032936A/ja
Application granted granted Critical
Publication of JP5528939B2 publication Critical patent/JP5528939B2/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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/405Coupling between buses using bus bridges where the bridge performs a synchronising function
    • G06F13/4054Coupling between buses using bus bridges where the bridge performs a synchronising function where the function is bus cycle extension, e.g. to meet the timing requirements of the target bus

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)

Description

本発明は、CPU(Central Processing Unit)などのバスマスタがバスに接続される周辺IOなどのバススレーブにアクセスする技術に関し、特に、バスマスタがバススレーブに効率的にアクセスできるように制御するマイクロコンピュータに関する。
近年、半導体集積回路の高集積化が進み、CPUなどの複数のバスマスタや周辺IOなどの複数のバススレーブが1つの半導体チップに集積されるようになってきた。このような半導体装置において、周辺IOや外部バスといったバススレーブは、バスマスタの動作周波数よりも低速で動作し、バスマスタとバススレーブとの間の通信は同期信号によってクロックドメインの変換を行うのが一般的である。
また、バスマスタからバスに接続されたバススレーブに対してライトを行なう場合、ライトバッファを用いることによってサイクル性能の向上を図ることができる。
また、複数のバスマスタがバスを経由してバススレーブにアクセスするシステムにおいて、各バスマスタからのバスアクセス要求が競合した場合、予め定められた固定の優先順位に従って調停が行なわれるのが一般的である。これらに関連する技術として、下記の特許文献1〜2に開示された発明がある。
特許文献1は、スリープモードの場合でもシリアル通信を行うことが可能なマイクロコンピュータを提供することを目的とする。CPUの通常動作モードで生成するメインクロックとは別に、通常動作モードよりも消費電力量が少ないスリープモードでサブクロックを生成し、スリープモードにおいてサブクロックにより動作し、周辺回路とのシリアル通信を行うシリアル通信手段とを備える。さらに、受信データに基づいて、動作モードをスリープモードから通常動作モードに切り替えるウェイクアップが要求されるウェイクアップ要因が発生したか否かを判定するウェイクアップ要因判定手段と、ウェイクアップ要因が発生したと判定されたときに、動作モード切換手段に対し、動作モードをスリープモードから通常動作モードに切り替えるためのウェイクアップ信号を出力するウェイクアップ信号出力手段とを備える。
特許文献2は、低消費電力状態から動作状態への迅速な遷移と、低消費電力との双方の要求を満足させることができるデータプロセッサを提供することを目的とする。データプロセッサはスタンバイモード、ライトスタンバイモード及びスリープモードを有する。スリープモードではCPUへの同期クロック信号の供給が停止され、その他の回路モジュールへ同期クロック信号が供給される。スタンバイモードではクロックパルスジェネレータの逓倍及び分周動作が停止され且つCPU及びその他の回路モジュールへの同期クロック信号の供給が停止される。ライトスタンバイモードではクロックパルスジェネレータの逓倍及び分周動作が可能にされ且つCPU及びその他の回路モジュールへの同期クロック信号の供給が停止される。ライトスタンバイモードはスタンバイモードよりもCPUの命令実行可能状態への遷移が速く、しかも、スリープモードよりも低消費電力である。
特開2009−169539号公報 特開2002−163032号公報
上述のように、バスマスタとバススレーブとの間の通信は同期信号によってクロックドメインを変換することによって行なわれるが、バスマスタの周波数に関係なく、周辺IOや外部バスを高速で動作させたい場合、バススレーブの周波数をバスマスタの周波数よりも低速にする必要があるといった制約により、バスマスタとバススレーブとの周波数の組み合わせを自由に設定することができないといった問題点があった。
また、ライトバッファを用いた場合、ライトアクセスと直後のアクセスとの間で、異なるバスに接続されたバススレーブ同士のアクセス順を保証したいときは、最初のライトアクセス後、同じバススレーブに対してダミーリードを行なうなどの対策が必要となり、サイクル性能が低下するといった問題点があった。
また、複数のバスマスタからのバスアクセス要求が競合したときに固定優先順位で調停を行なった場合、割り込みなどのイベントが発生したときや、サイクル性能を必要としないバススレーブ間でDMA転送を行なうといったときでも、状況に合わせた柔軟なバス調停を行なうことができないといった問題点があった。
本発明は、上記問題点を解決するためになされたものであり、その目的は、バスマスタとバススレーブとの周波数の大小関係に依存せずにバスアクセスを行なうことが可能なマイクロコンピュータを提供することである。
本発明の一実施例によれば、CPUとタイマとを含んだマイクロコンピュータが提供される。CPUは、周波数が可変のクロック1で動作する。タイマは、クロック2で動作する。バス制御部は、メインバスを介してCPUと接続され、周辺IOバスを介してタイマと接続される。クロック1の周波数がクロック2の周波数よりも高い場合は、周辺IOバス側のバス制御信号の変化タイミングを示す同期信号1を用いてタイマへのバス制御信号を生成し、クロック1の周波数がクロック2の周波数よりも低い場合は、メインバス側のバス制御信号の変化タイミングを示す同期信号2を用いてCPUへのバス制御信号を生成する。
本発明の一実施例によれば、クロック1の周波数がクロック2の周波数よりも低い場合は、メインバス側のバス制御信号の変化タイミングを示す同期信号2を用いてCPUへのバス制御信号を生成するので、CPUとタイマとの周波数の大小関係に依存せずにバスアクセスを行なうことが可能となる。
本発明の第1の実施の形態におけるマイクロコンピュータの概略構成を示すブロック図である。 周波数変換論理回路11の詳細を説明するための図である。 本発明の第1の実施の形態におけるマイクロコンピュータの構成をさらに詳細に説明するための図である。 本発明の第1の実施の形態におけるマイコンの動作を説明するためのタイミングチャートである。 ICLKの周波数がPCLKの周波数よりも低い場合のマイコンの動作を説明するためのタイミングチャートである。 本発明の第2の実施の形態におけるマイコンの概略構成を示すブロック図である。 本発明の第2の実施の形態におけるマイコンのライトバッファ22を使用しない場合の動作を説明するためのタイミングチャートである。 本発明の第2の実施の形態におけるマイコンのライトバッファ22を使用する場合の動作を説明するためのタイミングチャートである。 本発明の第3の実施の形態におけるマイコンの概略構成を示すブロック図である。 図9に示す調停論理回路31をさらに詳細に説明するための図である。 調停論理回路31による調停方式の他の一例を示す図である。 本発明の第4の実施の形態におけるマイコンの概略構成を示すブロック図である。 本発明の第5の実施の形態におけるマイコンの概略構成を示すブロック図である。
(第1の実施の形態)
図1は、本発明の第1の実施の形態におけるマイクロコンピュータの概略構成を示すブロック図である。このマイクロコンピュータ(以下、マイコンとも呼ぶ。)は、バスマスタであるCPU1と、バス制御部2と、バススレーブ(周辺IO)の一例であるタイマ3とを含む。
CPU1は、周波数が可変のクロック1に応じて動作を行なう。また、タイマ3は、クロック1と周波数が異なるクロック2に応じて動作を行なう。CPU1がタイマ3に対するアクセスを行なう場合、バス制御信号の周波数変換を行なう必要がある。
バス制御部2は、CPU1に接続され、バス12を介してタイマ3に接続される周波数変換論理回路11を含む。周波数変換論理回路11は、クロック1の周波数がクロック2の周波数よりも高い場合は、同期信号1を用いてバス制御信号の周波数変換を行なう。また、周波数変換論理回路11は、クロック1の周波数がクロック2の周波数よりも低い場合は、同期信号2を用いてバス制御信号の周波数変換を行なう。
図2は、周波数変換論理回路11の詳細を説明するための図である。周波数変換論理回路11は、AND回路13および16と、フリップフロップ(以下、FFとも呼ぶ。)14および15とを含む。
後述のように、クロック1の周波数がクロック2の周波数よりも高い場合に、同期信号1にパルスが出力され、同期信号2がハイレベル(以下、Hレベルと略す。)の状態を維持する。したがって、同期信号1がHレベルになると、AND回路13がバス制御信号の値をFF14に出力し、次のサイクル(クロック1の立ち上がり)で、FF14はバス制御信号の値を保持する。この同期信号1は、周辺IOバス側のバス制御信号の変化タイミングを示す信号である。
また、クロック1の周波数がクロック2の周波数よりも低い場合に、同期信号1がHレベルの状態を維持し、同期信号2にパルスが出力される。同期信号2がHレベルになると、AND回路16がバス制御信号の値をFF15に出力し、次のサイクル(クロック2の立ち上がり)で、FF15はバス制御信号の値を保持する。この同期信号2は、メインバス側のバス制御信号の変化タイミングを示す信号である。
図3は、本発明の第1の実施の形態におけるマイクロコンピュータの構成をさらに詳細に説明するための図である。マイクロコンピュータは、バス制御部2と、STPCNT51と、EXDMAC(External Direct Memory Access Controller)52と、拡張バスマスタ53と、OCD(On Chip Debugger)54と、DTC(Data Transfer Controller)/DMAC55と、CIF(CPU Interface)56と、バスエラー監視部57と、レジスタ設定部58と、マルチプレクサ59と、EXDMAC(SFR)60と、機能ブロック群61と、CIF62とを含む。
また、バス制御部2は、バスマスタ調停部71と、内部メインバス制御部72と、外部バスコントローラ73と、EXDMAIF74とを含む。さらに、外部バスコントローラ73は、CSC(Chip Select Controller)91と、SDRAMC(Synchronous Dynamic Random Access Memory Controller)92とを含む。
内部メインバス制御部72は、EBIU(External Bus Interface Unit)81と、PIBIU(Peripheral Internal BIU)82と、ビッグエンディアンのPGBIU(Peripheral General BIU)83と、リトルエンディアンのPGBIU84と、ビッグエンディアンのPHBIU(Peripheral High-speed BIU)85と、リトルエンディアンのPHBIU86と、FBIU(Flash BIU)87と、MBIU(Memory BIU)88とを含む。これらは、内部メインバス1および内部メインバス2の両方に接続されている。
図1に示すCPU1は、CIF56を介して内部メインバス1に接続されており、各種BIU81〜88を介して周辺IOや外部バスなどのバススレーブに対するアクセスを行なう。たとえば、CPU1は、EBIU81、外部バスコントローラ73およびマルチプレクサ59を介して外部バスに対するアクセスを行なう。
また、CPU1は、PIBIU82を介して、内部周辺バス1に接続されるEXDMAC60や機能ブロック群61に対するアクセスを行なう。また、CPU1は、PGBIU83を介して、内部周辺バス2に接続される周辺IOに対するアクセスを行なう。
バスマスタ調停部71は、バスマスタである拡張バスマスタ53、OCD54およびDTC/DMAC55と、内部メインバス2との間に接続され、バスマスタ53〜55からの内部メインバス2に対するアクセスを調停する。
なお、図3に示すその他の構成については、本願発明とは特に関連するものではないため、詳細な説明は行なわない。
図4は、本発明の第1の実施の形態におけるマイコンの動作を説明するためのタイミングチャートである。なお、このタイミングチャートは、CPU1がPGBIU83を介して内部周辺バス2に接続されるタイマ3などの周辺IOにアクセスする場合を示しており、ICLK(クロック1)の周波数がPCLK(クロック2)の周波数よりも高い場合を示している。
図4において、IPNEXT信号は、図1および図2に示す同期信号1に対応し、PINEXT信号は、図1および図2に示す同期信号2に対応している。また、1Rおよび2Rは内部周辺バス2に対するリードサイクルを示し、3Wおよび4Wは内部周辺バス2に対するライトサイクルを示している。
まず、T1において、CPU1が内部メインバス1に対して最初のリードアクセス(1R)に対応するバスアクセス要求(REQ)信号を出力すると、PGBIU83はバスアクセス受付(ACK)信号をCPU1に返す。
T2において、PGBIU83は、IPNEXT信号がHレベルの次のサイクルでCPU1からのREQを受け付け、バスアクセス開始(BS_N)信号を内部周辺バス2(タイマ3)に出力する。このとき、PGBIU83は、内部周辺バス2からバスアクセス終了(DC_N)信号を受ける。また、CPU1は、内部メインバス1に対して2番目のリードアクセス(2R)に対応するREQ信号を出力する。
T3において、PGBIU83は、バスアクセス終了(END)信号をCPU1に出力すると共に、2番目のリードアクセス(2R)に対応するACK信号をCPU1に返す。
T4において、CPU1は、内部メインバス1に対して3番目のライトアクセス(3W)に対応するREQ信号を出力する。
T5において、PGBIU83は、IPNEXT信号がHレベルの次のサイクルでCPU1からのREQ(2R)を受け付け、BS_N信号を内部周辺バス2に出力する。このとき、PGBIU83は、内部周辺バス2からDC_N信号を受ける。
T6において、PGBIU83は、END信号(2R)をCPU1に出力すると共に、3番目のライトアクセス(3W)に対応するACK信号をCPU1に返す。
T7において、CPU1は、内部メインバス1に対して4番目のライトアクセス(4W)に対応するREQ信号を出力する。
T8において、PGBIU83は、END信号(3W)をCPU1に出力すると共に、4番目のライトアクセス(4W)に対応するACK信号をCPU1に返す。また、PGBIU83は、IPNEXT信号がHレベルの次のサイクルでCPU1からのREQ(3W)を受け付け、BS_N信号を内部周辺バス2に出力する。このとき、PGBIU83は、内部周辺バス2からDC_N信号を受ける。
このように、ICLK(クロック1)の周波数がPCLK(クロック2)の周波数よりも高い場合、PGBIU83は、図2に示す周波数変換論理回路11を用いてIPNEXT信号がHレベルの次のサイクルでBS_N信号を生成するようにしている。
図5は、ICLKの周波数がPCLKの周波数よりも低い場合のマイコンの動作を説明するためのタイミングチャートである。まず、T1において、CPU1が内部メインバス1に対して最初のリードアクセス(1R)に対応するREQ信号を出力すると、PGBIU83はACK信号をCPU1に返す。
T2において、PGBIU83は、PINEXT信号がHレベルの次のサイクルでCPU1からのREQを受け付け、バスアクセス開始(BS_N)信号を内部周辺バス2(タイマ3)に出力する。このとき、PGBIU83は、内部周辺バス2からバスアクセス終了(DC_N)信号を受ける。また、CPU1は、内部メインバス1に対して2番目のリードアクセス(2R)に対応するREQ信号を出力する。
T3において、PGBIU83は、END信号(1R)をCPU1に出力すると共に、2番目のリードアクセス(2R)に対応するACK信号をCPU1に返す。
T4において、CPU1は、内部メインバス1に対して3番目のライトアクセス(3W)に対応するREQ信号を出力する。また、PGBIU83は、PINEXT信号がHレベルの次のサイクルでCPU1からのREQ(2R)を受け付け、BS_N信号を内部周辺バス2に出力する。このとき、PGBIU83は、内部周辺バス2からDC_N信号を受ける。
T5において、PGBIU83は、END信号(2R)をCPU1に出力すると共に、3番目のライトアクセス(3W)に対応するACK信号をCPU1に返す。
T6において、CPU1は、内部メインバス1に対して4番目のライトアクセス(4W)に対応するREQ信号を出力する。また、PGBIU83は、PINEXT信号がHレベルの次のサイクルでEND信号(3W)をCPU1に出力すると共に、4番目のライトアクセス(4W)に対応するACK信号をCPU1に返す。また、PGBIU83は、PINEXT信号がHレベルの次のサイクルでCPU1からのREQ(3W)を受け付け、BS_N信号を内部周辺バス2に出力する。このとき、PGBIU83は、内部周辺バス2からDC_N信号を受ける。
このように、ICLK(クロック1)の周波数がPCLK(クロック2)の周波数よりも低い場合、PGBIU83は、図2に示す周波数変換論理回路11を用いてPINEXT信号がHレベルの次のサイクルでACK信号、END信号を生成するようにしている。
以上説明したように、本実施の形態におけるマイコンによれば、クロック1の周波数がクロック2の周波数よりも高い場合に、同期信号1に応じて内部周辺バス側のバス制御信号を生成し、クロック1の周波数がクロック2の周波数よりも低い場合に、同期信号2に応じて内部メインバス側のバス制御信号を生成するようにしたので、CPUと周辺IOとの周波数の大小関係に依存せずにバスアクセスを行なうことが可能となる。これによって、周波数の大小関係の制約を排除することができ、周辺IOのクロックを一定にしたまま、CPUの消費電力を削減することが可能となる。
また、CPUのクロック停止を前提としたスリープモードと比較した場合、本実施の形態においては、周辺IOのレジスタのポーリングといったCPUによるバス処理も行ないつつ、マイコン全体の消費電力を削減することが可能となる。
また、バスマスタがDMACの場合にも、DMACのクロック周波数を下げて速度を必要としないデータ転送を行ないつつ、マイコン全体の消費電力を削減することが可能となる。
(第2の実施の形態)
図6は、本発明の第2の実施の形態におけるマイコンの概略構成を示すブロック図である。このマイコンは、CPU1と、バス制御部4と、周辺IO1(5)と、周辺IO2(6)とを含む。
バス制御部4は、アドレス領域判定回路21と、ライトバッファ22と、セレクタ23とを含む。セレクタ23は、内部バス24を介して周辺IO1(5)および周辺IO2(6)に接続される。ここで、たとえば、周辺IO1(5)が図3に示す内部周辺バス1(PIBIU82)に接続され、周辺IO2(6)が図3に示す内部周辺バス2(PGBIU83)に接続されているものとして説明する。
ライトバッファ22は、CPU1が周辺IO1(5)または周辺IO2(6)に対してライトアクセスを行なう場合に、そのライトデータ、およびアクセス属性情報(上位アドレス、書き込むデータのサイズ、書き込むデータのバイト位置)を書き込む。
たとえば、CPU1が周辺IO1(5)にライトアクセスを行ない、次のアクセスを行う場合、次のアクセスのアクセス先が先行アクセスと同じ周辺IO1(5)のときは、先行アクセスのライトデータおよびアクセス属性情報をライトバッファ22に書き込まれた時点で、ライトバッファ22はCPU1に対してアクセスの終了を通知し、次のアクセスを受け付ける。
また、次のアクセスのアクセス先が先行アクセスとは異なる周辺IO2(6)のときは、先行アクセスである周辺IO1(5)からの終了通知を待ち、CPU1に対してアクセスの終了を通知してから次のアクセスを受け付ける。
アドレス領域判定回路21は、CPU1から出力される上位アドレスに基いて、どの内部周辺バスに対するアクセスであるかを判定する。たとえば、図3に示す内部周辺バス1〜6は、それぞれ異なるアドレス領域にマッピングされており、CPU1から出力される上位アドレスを参照することによって、どの内部周辺バスに対するアクセスであるかを判定することができる。
アドレス領域判定回路21は、ライトバッファ22を介してアクセスする必要がある周辺IO1(5)または周辺IO2(6)に対するアクセスの場合には、セレクタ23にライトバッファ22の出力信号を選択して出力させる。また、アドレス領域判定回路21は、ライトバッファ22を介してアクセスする必要がないアクセスの場合には、セレクタ23にCPU1からの出力信号を選択して出力させる。
図7は、本発明の第2の実施の形態におけるマイコンのライトバッファ22を使用しない場合の動作を説明するためのタイミングチャートである。なお、このタイミングチャートは、CPU1がPIBIU82およびPGBIU83を介して内部周辺バス1および内部周辺バス2に接続される周辺IOにアクセスする場合を示している。また、1Wおよび2Wは内部周辺バス2に対するライトサイクルを示し、3Wおよび4Wは内部周辺バス1に対するライトサイクルを示している。
まず、T1において、CPU1が内部メインバス1に対して最初のライトアクセス(1W)に対応するバスアクセス要求(REQ)信号を出力すると、PGBIU83はバスアクセス受付(ACK)信号をCPU1に返す。
T2において、PGBIU83は、CPU1からのREQを受け付け、バスアクセス開始(BS_N)信号を内部周辺バス2に出力する。また、CPU1は、内部メインバス1に対して2番目のライトアクセス(2W)に対応するREQ信号を出力する。
T3において、PGBIU83は、内部周辺バス2からバスアクセス終了(DC_N)信号を受ける。
T4において、PGBIU83は、バスアクセス終了(END)信号をCPU1に出力すると共に、2番目のライトアクセス(2W)に対応するACK信号をCPU1に返す。
T5において、CPU1は、内部メインバス1に対して3番目のライトアクセス(3W)に対応するREQ信号を出力する。
T6において、PGBIU83は、CPU1からのREQ(2W)を受け付け、BS_N信号を内部周辺バス2に出力する。T7において、PGBIU83は、内部周辺バス2からDC_N信号を受ける。
T8において、PGBIU83は、END信号(2W)をCPU1に出力する。また、PIBIU82は、3番目のライトアクセス(3W)に対応するACK信号をCPU1に返す。
T9において、PIBIU82は、CPU1からのREQ(3W)を受け付け、BS_N信号を内部周辺バス1に出力する。また、PIBIU82は、内部周辺バス1からDC_N信号を受ける。このとき、CPU1は、内部メインバス1に対して4番目のライトアクセス(4W)に対応するREQ信号を出力する。
T10において、PIBIU82は、END信号(3W)をCPU1に出力すると共に、4番目のライトアクセス(4W)に対応するACK信号をCPU1に返す。
図8は、本発明の第2の実施の形態におけるマイコンのライトバッファ22を使用する場合の動作を説明するためのタイミングチャートである。図7と同様に、1Wおよび2Wは内部周辺バス2に対するライトサイクルを示し、3Wおよび4Wは内部周辺バス1に対するライトサイクルを示している。
まず、T1において、CPU1が内部メインバス1に対して最初のライトアクセス(1W)に対応するバスアクセス要求(REQ)信号を出力すると、PGBIU83はバスアクセス受付(ACK)信号をCPU1に返す。
T2において、PGBIU83は、CPU1からのREQを受け付け、バスアクセス開始(BS_N)信号を内部周辺バス2に出力すると共に、バスアクセス終了(END)信号をCPU1に出力する。また、CPU1が、内部メインバス1に対して2番目のライトアクセス(2W)に対応するREQ信号を出力すると、PGBIU83はACK信号(2W)をCPU1に返す。
T3において、CPU1が内部メインバス1に対して3番目のライトアクセス(3W)に対応するREQ信号を出力する。T4において、PGBIU83は、内部周辺バス2からバスアクセス終了(DC_N)信号を受ける。
T5において、PGBIU83は、CPU1からのREQ(2W)を受け付け、BS_N信号を内部周辺バス2に出力すると共に、END信号(2W)をCPU1に出力する。このとき、ライトサイクル(3W)が内部周辺バス1に対するものであるため、PIBIU82は、CPU1に対してACK信号を返さずに、CPU1を待機状態にする。
T6において、PGBIU83は、内部周辺バス2からDC_N信号を受ける。T7において、PIBIU82は、PGBIU83によるライトアクセス(2W)が終了したことを受けて、ACK信号(3W)をCPU1に返す。
T8において、PIBIU82は、CPU1からのREQ(3W)を受け付け、BS_N信号を内部周辺バス1に出力すると共に、END信号(3W)をCPU1に出力する。また、CPU1が、内部メインバス1に対して4番目のライトアクセス(4W)に対応するREQ信号を出力すると、PIBIU82はACK信号(4W)をCPU1に返す。
以上説明したように、本実施の形態におけるマイコンによれば、CPU1が周辺IO1にライトアクセスを行ない、次のアクセスを行う場合、次のアクセスのアクセス先が先行アクセスとは異なる周辺IO2のときは、ライトバッファが、先行アクセスである周辺IO1からの終了通知を待ち、CPU1に対してアクセスの終了を通知してから次のアクセスを受け付けるようにした。したがって、異なる内部周辺バスに接続される周辺IO同士のアクセス順を保証することが可能となる。
(第3の実施の形態)
図9は、本発明の第3の実施の形態におけるマイコンの概略構成を示すブロック図である。このマイコンは、CPU1と、周辺IO5,6と、DMAC7と、バス制御部8とを含む。
バス制御部8は、CPU1およびDMAC7に接続され、バス36を介して周辺IO5,6に接続される調停論理回路31を含む。調停論理回路31は、通常DMAC7の優先順位をCPU1よりも高くて優先順位固定でアクセスの調停を行なうが、割り込みやIOレジスタの設定などが発生した場合にはCPU1の優先順位をDMAC7よりも高くして優先順位固定でアクセスの調停を行なう。調停論理回路31による調停方式は、固定優先順位のほかにラウンドロビン方式などであってもよい。
図10は、図9に示す調停論理回路31をさらに詳細に説明するための図である。調停論理回路31は、判定方式選択信号生成論理回路32と、CPU優先の調停回路33と、DMAC優先の調停回路34と、セレクタ35とを含む。
調停回路33は、CPU1の優先順位をDMAC7よりも高くしてアクセスの調停を行なう。また、調停回路34は、DMAC7の優先順位をCPU1よりも高くしてアクセスの調停を行なう。
判定方式選択信号生成論理回路32は、通常動作状態においてDMAC7の優先順位をCPU1よりも高く設定するために、セレクタ35に判定方式選択信号を出力して、調停回路(DMAC優先)34から出力されるアクセス要求信号を選択させる。
判定方式選択信号生成論理回路32は、IOレジスタ出力や割り込みの発生を検出すると、CPU1の優先順位をDMAC7よりも高く設定するために、セレクタ35に判定方式選択信号を出力して、調停回路(CPU優先)33から出力されるアクセス要求信号を選択させる。
なお、IOレジスタ出力処理や割り込み処理が終了した場合には、CPU1による設定などによってそれを検知し、元のDMAC優先の状態に戻す。
図11は、調停論理回路31による調停方式の他の一例を示す図である。判定方式選択信号生成論理回路32は、上述の調停方式以外に、優先順位トグル機能を有している。図11(a)は、優先順位トグル機能がOFFの場合のバスアクセスの優先順位を示している。EXDMACの優先順位が最も高く、拡張バスマスタ、DMACplus、オペランドアクセス、命令フェッチの順に優先順位が低くなり、これらの優先順位は固定である。これらの優先順位は、調停回路(DMAC優先)34に設定される。
判定方式選択信号生成論理回路32は、優先順位トグル機能がOFFに設定された場合には、判定方式選択信号をセレクタ35に出力して、調停回路(DMAC優先)34から出力されるアクセス要求信号を選択させる。
図11(b)は、優先順位トグル機能がONの場合のバスアクセスの優先順位を示している。図11(b)の上半分に示すように、EXDMACの優先順位が最も高く、拡張バスマスタ、DMACplusの順に優先順位が低くなり、これらの優先順位が調停回路(DMAC優先)34に設定される。
また、図11(b)の下半分に示すように、オペランドアクセス、命令フェッチの順に優先順位が低くなり、これらの優先順位が調停回路(CPU優先)33に設定される。
判定方式選択信号生成論理回路32は、たとえばCPU1からのアクセス要求信号が受け付けられた後は、判定方式選択信号をセレクタ35に出力して、調停回路(DMAC優先)34から出力されるアクセス要求信号を選択させる。逆に、DMAC7からのアクセス要求信号が受け付けられた後は、判定方式選択信号をセレクタ35に出力して、調停回路(CPU優先)33から出力されるアクセス要求信号を選択させる。このようにして、調停回路(CPU優先)33および調停回路(DMA優先)34から出力されるアクセス要求信号をセレクタ35によって順次切り替えることによって、優先順位トグル機能を実現する。
以上説明したように、本実施の形態におけるマイコンによれば、IOレジスタ出力や割り込みの発生を検出すると、調停論理回路31がCPU1の優先順位をDMAC7よりも高く設定するようにしたので、迅速な処理が必要とされる割り込み処理やIOレジスタ出力処理などを優先して行えるようになり、状況に合わせた柔軟なバス調停を行なうことが可能となる。
(第4の実施の形態)
図12は、本発明の第4の実施の形態におけるマイコンの概略構成を示すブロック図である。このマイコンは、CPU1と、DMAC7と、バス制御部9と、通信系周辺IO41と、割り込み制御部42と、RAM43とを含む。
バス制御部9は、CPU1およびDMAC7に接続され、バス36を介して周波数変換回路11に接続される調停論理回路31と、バス12を介して通信系周辺IO41、割り込み制御部42およびRAM43に接続される周波数変換回路11とを含む。
周波数変換回路11は、図1に示す第1の実施の形態におけるマイコンに含まれるものと同様である。また、調停論理回路31は、図9に示す第3の実施の形態におけるマイコンに含まれるものと同様である。したがって、重複する構成および機能の詳細な説明は繰り返さない。
通信系周辺IO41は、クロック2によって高速動作を行なうが、この通信系周辺IO41とRAM43との間でDMAC7によるDMA転送が行なわれ、CPU1がそのDMA転送が終了するまで待機している場合には、CPU1に供給されるクロック1の周波数を下げて消費電力の削減を図ることができる。この場合、第1の実施の形態において説明したように、周波数変換回路11によってバス制御信号の周波数変換が行なわれる。
また、調停論理回路31によってDMAC7の優先順位をCPU1よりも高く設定することによって、バスを効率的に動作させることができる。
そして、DMAC7によって一定のデータがRAM43に転送されると、CPU1に供給されるクロック1の周波数が上げられ、調停論理回路31によってCPU1の優先順位をDMAC7よりも高く設定することによって、CPU1がRAM43に対して高速に、かつ効率的にアクセスすることができるようになる。
以上説明したように、本実施の形態におけるマイコンによれば、バス制御部9において周波数変換回路11と調停論理回路31とが接続されるよう構成したので、第1の実施の形態および第3の実施の形態において説明した効果に加えて、さらに上述の効果を奏することが可能となる。
(第5の実施の形態)
図13は、本発明の第5の実施の形態におけるマイコンの概略構成を示すブロック図である。このマイコンは、図12に示す第4の実施の形態におけるマイコンと比較して、バス36と周波数変換回路11との間に、第2の実施の形態において説明したライトバッファ22およびセレクタ23が挿入されている点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰り返さない。
図13に示す構成とすることにより、連動して動作する通信系周辺IO41と割り込み制御部42との内部レジスタ設定時における書き込み順を保証しつつ、CPU1からRAM43への連続ライトアクセスの性能向上を図ることが可能となる。
以上説明したように、本実施の形態におけるマイコンによれば、第4の実施の形態におけるマイコンにさらにライトバッファ22およびセレクタ23を追加したので、第4の実施の形態において説明した効果に加えて、さらに上述の効果を奏することが可能となる。
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 CPU、2,4 バス制御部、3 タイマ、5,6 周辺IO、11 周波数変換論理回路、12,24 バス、13,16 AND回路、14,15 FF、21 アドレス領域判定回路、22 ライトバッファ、23,35 セレクタ、31 調停論理回路、32 判定方式選択信号生成論理回路、33,34 調停回路、41 通信系周辺IO、42 割り込み制御部、43 RAM、51 STPCNT、52 EXDMAC、53 拡張バスマスタ、54 OCD、55 DTC/DMAC、56 CIF、57 バスエラー監視部、58 レジスタ設定部、59 マルチプレクサ、60 EXDMAC、61 機能ブロック群、62 CIF、71 バスマスタ調停部、72 内部メインバス制御部、73 外部バスコントローラ、74 EXDMAIF、81 EBIU、82 PIBIU、83,84 PGBIU、85,86 PHBIU、87 FBIU、88 MBIU、91 CSC、92 SDRAMC。

Claims (2)

  1. マイクロコンピュータであって、
    周波数が可変の第1のクロックで動作するバスマスタと、
    第2のクロックで動作するバススレーブと、
    メインバスを介して前記バスマスタと接続され、周辺バスを介して前記バススレーブと接続されるバス制御手段とを含み、
    前記バス制御手段は、前記第1のクロックの周波数が前記第2のクロックの周波数よりも高い場合は、前記周辺バス側のバス制御信号の変化タイミングを示す第1の同期信号を用いて前記バススレーブへのバス制御信号を生成し、前記第1のクロックの周波数が前記第2のクロックの周波数よりも低い場合は、前記メインバス側のバス制御信号の変化タイミングを示す第2の同期信号を用いて前記バスマスタへのバス制御信号を生成し、
    前記バススレーブは、第1の周辺バスに接続される第1のバススレーブと、第2の周辺バスに接続される第2のバススレーブとを含み、
    前記マイクロコンピュータはさらに、前記バスマスタからのライトアクセスを代行して行なうライトバッファを含み、
    前記ライトバッファは、前記バスマスタが前記第1のバススレーブに対するライトアクセスを行なった後、前記第2のバススレーブに対して次のアクセスを行なう場合、前記第1のバススレーブから前記ライトアクセスに対する終了通知を受けた後に、前記バスマスタからの次のアクセスを受付ける、マイクロコンピュータ。
  2. 前記バスマスタは、第1のバスマスタおよび第2のバスマスタを含み、
    前記マイクロコンピュータはさらに、前記第1のバスマスタおよび前記第2のバスマスタからのアクセスを調停する調停手段を含み、
    前記調停手段は、前記第1のバスマスタからのアクセスを優先して調停する設定がされている場合でも、割り込みまたはIOレジスタの設定が発生した場合には、前記第2のバスマスタからのアクセスを優先して調停する、請求項1記載のマイクロコンピュータ。
JP2010170664A 2010-07-29 2010-07-29 マイクロコンピュータ Active JP5528939B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010170664A JP5528939B2 (ja) 2010-07-29 2010-07-29 マイクロコンピュータ
US13/179,119 US8645602B2 (en) 2010-07-29 2011-07-08 Microcomputer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010170664A JP5528939B2 (ja) 2010-07-29 2010-07-29 マイクロコンピュータ

Publications (2)

Publication Number Publication Date
JP2012032936A JP2012032936A (ja) 2012-02-16
JP5528939B2 true JP5528939B2 (ja) 2014-06-25

Family

ID=45527870

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010170664A Active JP5528939B2 (ja) 2010-07-29 2010-07-29 マイクロコンピュータ

Country Status (2)

Country Link
US (1) US8645602B2 (ja)
JP (1) JP5528939B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9962973B2 (en) 2014-05-29 2018-05-08 Hewlett-Packard Development Company, L.P. Handle of a printhead movable between a folded position and a non-folded position
KR102369354B1 (ko) * 2020-03-26 2022-03-02 성균관대학교산학협력단 폴링 입출력 방식 기반 전력 효율 조절 방법 및 장치

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0216667A (ja) * 1988-07-05 1990-01-19 Yokogawa Electric Corp プロセッサ・システム
US5263172A (en) * 1990-04-16 1993-11-16 International Business Machines Corporation Multiple speed synchronous bus having single clock path for providing first or second clock speed based upon speed indication signals
US5537660A (en) * 1992-04-17 1996-07-16 Intel Corporation Microcontroller having selectable bus timing modes based on primary and secondary clocks for controlling the exchange of data with memory
US5758133A (en) * 1995-12-28 1998-05-26 Vlsi Technology, Inc. System and method for altering bus speed based on bus utilization
US5778218A (en) * 1996-12-19 1998-07-07 Advanced Micro Devices, Inc. Method and apparatus for clock synchronization across an isochronous bus by adjustment of frame clock rates
US5918073A (en) * 1997-06-27 1999-06-29 Advanced Micro Devices, Inc. System and method for equalizing data buffer storage and fetch rates of peripheral devices
US6097738A (en) * 1997-11-10 2000-08-01 Cypress Semiconductor Corp. Multi-speed retainer
JP2001175588A (ja) * 1999-12-15 2001-06-29 Matsushita Electric Ind Co Ltd バス制御装置
US6701399B1 (en) * 2000-02-29 2004-03-02 Compaq Information Technologies Group Priority mechanism for scheduling isochronous and asynchronous transactions on a shared bus
US6772254B2 (en) * 2000-06-21 2004-08-03 International Business Machines Corporation Multi-master computer system with overlapped read and write operations and scalable address pipelining
JP3905703B2 (ja) 2000-11-29 2007-04-18 株式会社ルネサステクノロジ データプロセッサ及びデータ処理システム
US6990598B2 (en) * 2001-03-21 2006-01-24 Gallitzin Allegheny Llc Low power reconfigurable systems and methods
JP4124579B2 (ja) * 2001-05-23 2008-07-23 株式会社ルネサステクノロジ バス制御システム
JP3798292B2 (ja) * 2001-10-31 2006-07-19 富士通株式会社 データ同期化回路及び通信インターフェース回路
KR100520118B1 (ko) * 2003-08-21 2005-10-10 삼성전자주식회사 다수개의 피제어 기기 제어를 위한 통합 제어 장치 및 방법
US7213084B2 (en) * 2003-10-10 2007-05-01 International Business Machines Corporation System and method for allocating memory allocation bandwidth by assigning fixed priority of access to DMA machines and programmable priority to processing unit
US6920586B1 (en) * 2004-01-23 2005-07-19 Freescale Semiconductor, Inc. Real-time debug support for a DMA device and method thereof
TWI252409B (en) * 2004-04-26 2006-04-01 Sunplus Technology Co Ltd Enhanced expandable time-sharing bus device
US7219177B2 (en) * 2004-11-23 2007-05-15 Winbond Electronics Corp. Method and apparatus for connecting buses with different clock frequencies by masking or lengthening a clock cycle of a request signal in accordance with the different clock frequencies of the buses
US20060155893A1 (en) * 2004-12-09 2006-07-13 International Business Machines Corporation Methods and apparatus for sharing memory bandwidth
JP2006195948A (ja) * 2004-12-16 2006-07-27 Matsushita Electric Ind Co Ltd バスアダプタ装置
US7174403B2 (en) * 2005-02-24 2007-02-06 Qualcomm Incorporated Plural bus arbitrations per cycle via higher-frequency arbiter
US8238376B2 (en) * 2005-04-13 2012-08-07 Sony Corporation Synchronized audio/video decoding for network devices
US7254657B1 (en) * 2005-04-29 2007-08-07 Unisys Corporation Dual mode capability for system bus
CN101136000B (zh) * 2006-09-01 2011-01-05 飞思卡尔半导体公司 实现sd主机/从属设备的应用处理器电路和电子设备
TWI376605B (en) * 2006-09-04 2012-11-11 Novatek Microelectronics Corp Method and apparatus for enhancing data rate of advanced micro-controller bus architecture
JP2008130056A (ja) * 2006-11-27 2008-06-05 Renesas Technology Corp 半導体回路
JP2009169539A (ja) 2008-01-11 2009-07-30 Denso Corp マイクロコンピュータ
US8225021B2 (en) * 2009-05-28 2012-07-17 Lexmark International, Inc. Dynamic address change for slave devices on a shared bus

Also Published As

Publication number Publication date
US20120030389A1 (en) 2012-02-02
US8645602B2 (en) 2014-02-04
JP2012032936A (ja) 2012-02-16

Similar Documents

Publication Publication Date Title
US7127563B2 (en) Shared memory architecture
JP4733877B2 (ja) 半導体装置
JP5102789B2 (ja) 半導体装置及びデータプロセッサ
EP2250569B1 (en) Sharing bandwidth of a single port sram between at least one dma peripheral and a cpu operating with a quadrature clock
KR100633773B1 (ko) 버스 시스템 및 버스 중재 방법
US8433835B2 (en) Information processing system and control method thereof
JP3954011B2 (ja) サブシステム間で通信するための方法およびコンピュータ・システム
JP2007048022A (ja) 非同期バスインタフェース及びその処理方法
JP2006040276A (ja) 選択的なクロック制御に基づいて消費電力を節減させるバス仲裁システム及びその方法
US20150177816A1 (en) Semiconductor integrated circuit apparatus
JP5528939B2 (ja) マイクロコンピュータ
JPWO2012081085A1 (ja) 割込み要因管理装置及び割込み処理システム
US8799699B2 (en) Data processing system
JP2002149591A (ja) プロセッサ・ローカル・バス・システムでのバス最適化の方法および装置
JP4112813B2 (ja) バスシステム及びそのコマンドの伝達方法
JP2012084123A (ja) メモリ制御装置、メモリ制御方法
JP4124579B2 (ja) バス制御システム
JP2008287557A (ja) バスシステム及びマイクロコンピュータ
JP4887044B2 (ja) 半導体集積回路装置
JP4093872B2 (ja) メモリ制御回路
JP4609540B2 (ja) マルチプロセサシステム
JP2004171194A (ja) 信号処理システム
JPH0388082A (ja) 画像処理装置
JP2006154897A (ja) Dramコントローラ
KR20080035873A (ko) 다중 프로세서 구조의 영상 처리 시스템 및 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130322

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140114

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140313

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140416

R150 Certificate of patent or registration of utility model

Ref document number: 5528939

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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