JP2008287557A - バスシステム及びマイクロコンピュータ - Google Patents

バスシステム及びマイクロコンピュータ Download PDF

Info

Publication number
JP2008287557A
JP2008287557A JP2007132670A JP2007132670A JP2008287557A JP 2008287557 A JP2008287557 A JP 2008287557A JP 2007132670 A JP2007132670 A JP 2007132670A JP 2007132670 A JP2007132670 A JP 2007132670A JP 2008287557 A JP2008287557 A JP 2008287557A
Authority
JP
Japan
Prior art keywords
bus
output
access
signal
peripheral
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2007132670A
Other languages
English (en)
Inventor
Yasuo Katsu
康夫 勝
Kenta Morishima
憲太 森島
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 Technology Corp
Original Assignee
Renesas Technology 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 Technology Corp filed Critical Renesas Technology Corp
Priority to JP2007132670A priority Critical patent/JP2008287557A/ja
Publication of JP2008287557A publication Critical patent/JP2008287557A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】バス渡り転送における周辺バスアクセス転送のレイテンシ性能を向上させる。
【解決手段】第1バス(100)と第2バス(200)とがバスブリッジを介して接続される。このとき、上記バスブリッジは、第1バスにアドレス信号が出力されたバスサイクルにおいて、上記アドレス信号が上記第2バスアクセスである場合に、同じバスサイクルで上記第1バスのアドレス信号を上記第2バスへ出力可能なアドレス伝達回路(101)を含んで構成される。第1バスにアドレス信号が出力されたバスサイクルと同じサイクルで、第2バスにアドレス信号を出力することが可能となるため、低速なバスサイクルで1サイクル分削減可能となり、低レイテンシ転送が実現できる。
【選択図】図1

Description

本発明は、複数のバスが接続されて成るバスシステムに関し、例えばマイクロコンピュータに適用して有効な技術に関する。
近年、組込み用途向けマイクロコンピュータの分野では、CPU(中央処理装置)の動作周波数の向上により性能向上を実現してきていた。一方、主に低速なI/O(入出力)制御を行う周辺内蔵モジュールに関しては、既存IP(設計資産)の互換性を保ち、開発期間の短縮を図るために、動作周波数は従来の製品と同等とされる。そのため、CPUの動作周波数を大幅に向上させた分、CPUと周辺内蔵モジュールとの動作周波数差がますます拡大してきた。このように組込み用途向けマイクロコンピュータでは、それぞれ最適な動作周波数が異なるモジュール同士を1つのチップに集積する必要がでてきたことや、多数のモジュールを直接1つのバスに接続すると、バスの容量が大きくなり増加する消費電力を抑えることなどから、一般的に、CPUバス、内部バス、周辺バス等がバスブリッジを介して分離されるバス構成が用いられる(例えば特許文献1参照)。
特開平8−287005号公報
例えばCPUバス、内部バス、周辺バス等がバスブリッジを介して分離されるバス構成において、バスブリッジを介して行われるデータ転送を「バス渡り転送」と称する。このバス渡り転送について本願発明者が検討したところ、以下のような課題が見いだされた。
バス渡り転送においては、バスの接続部におけるアドレス信号などの受け渡しによるサイクル数の増加が生じたため、複数バスを経由するバス転送のレイテンシが長くなる。特にCPU(中央処理装置)の高性能化に伴い、CPUコアと低速なI/O系のモジュールが接続される周辺バスとの速度差が大きくなると、動作周波数が低い内部バス及び周辺バスへのアクセスサイクルによる転送レイテンシが支配的となるため、周辺バスアクセス転送のレイテンシ性能低下が顕著になる。また、リードアドレス信号がCPUバスに出力されてから、内部バス、周辺バス経由でアクセスサイクルが完了してCPUバスにデータが出力されるまで、バスを占有しCPUの周辺バスアクセス転送命令以降の処理も待たされるため、CPUの処理効率が低下する。尚、このような不都合は、CPUバスから内部バスを経由して周辺バスへ出力するアドレス信号の転送レイテンシが長いことに起因する。
本発明の目的は、バス渡り転送における周辺バスアクセス転送のレイテンシ性能を向上させるための技術を提供することにある。
本発明の上記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
本願において開示される発明のうち代表的なものについて簡単に説明すれば下記のとおりである。
すなわち、第1バスと第2バスとがバスブリッジを介して接続される。このとき、上記バスブリッジは、第1バスにアドレス信号が出力されたバスサイクルにおいて、上記アドレス信号が上記第2バスアクセスである場合に、同じバスサイクルで上記第1バスのアドレス信号を上記第2バスへ出力可能なアドレス伝達回路を含んで構成される。第1バスにアドレス信号が出力されたバスサイクルと同じサイクルで、第2バスにアドレス信号を出力することが可能となるため、低速なバスサイクルで1サイクル分削減可能となり、低レイテンシ転送が実現できる。
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
すなわち、バス渡り転送における周辺バスアクセス転送のレイテンシ性能を向上させることができる。
1.代表的な実施の形態
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
〔1〕本発明の代表的な実施の形態に係るバスシステムは、第1バス(100)と第2バス(200)とがバスブリッジを介して接続されて成る。このとき、上記バスブリッジは、第1バスにアドレス信号が出力されたバスサイクルにおいて、上記アドレス信号が上記第2バスアクセスである場合に、同じバスサイクルで上記第1バスのアドレス信号を上記第2バスへ出力可能なアドレス伝達回路を含んで構成する。
上記の構成によれば、第1バスにアドレス信号が出力されたバスサイクルと同じサイクルで、第2バスにアドレス信号を出力することが可能となるため、低速なバスサイクルで1サイクル分削減可能となり、低レイテンシ転送が実現できる。
〔2〕上記アドレス伝達回路は、上記第1バスのアクセスが上記第2バスへのアクセスである場合に、第1バスにアドレス信号が出力されたバスサイクルにおいて、上記第2バスに出力するアドレス信号として、第1バスから出力されたアドレス信号と、それ以前のバスサイクルで第1バスに出力されたアドレス信号のいずれかを選択的に上記第2バスへ出力可能なセレクタ(101)を含んで構成することができる。
〔3〕また、上記バスブリッジは、上記第1バスに出力されたアドレス信号が第2バスであることを判定可能なアドレスデコーダ(111)と、上記第2バスへのアドレス信号出力の有無を切り替えるトライステートドライバ(103)と、上記アドレスデコーダの判定結果及び第2バスのアクセス状態をもとに上記トライステートドライバの制御信号を出力するアドレス出力制御回路(102)と、上記第1バスのアドレス信号を保持するバッファ(110)と、上記第2バスに出力するアドレス信号として上記第1バスから出力されるアドレス信号と上記バッファに保持したアドレス信号のいずれかを選択するセレクタ(101)と、上記セレクタの動作制御を可能とするセレクタ制御回路(104)と、上記バッファへの取り込みの制御信号を出力するアクセス開始判定回路(105)とを含んで構成することができる。
〔4〕別な観点では、CPU(1)と、上記CPUによって動作制御可能な周辺モジュール(20〜2n)と、上記CPUによってアクセス可能な内部バス(100)と、上記周辺モジュールが結合された周辺バス(200)と、上記内部バスと上記周辺バスとを接続するためのバスブリッジ(10)と、を含んでマイクロコンピュータ(90)を構成する。このとき、上記バスブリッジは、上記第1バスに出力されたアドレス信号が第2バスであることを判定可能なアドレスデコーダ(111)と、上記第2バスへのアドレス信号出力の有無を切り替えるトライステートドライバ(103)と、上記アドレスデコーダの判定結果及び第2バスのアクセス状態をもとに上記トライステートドライバの制御信号を出力するアドレス出力制御回路(102)と、上記第1バスのアドレス信号を保持するバッファ(110)と、上記第2バスに出力するアドレス信号として上記第1バスから出力されるアドレス信号と上記バッファに保持したアドレス信号のいずれかを選択するセレクタ(101)と、上記セレクタの動作制御を可能とするセレクタ制御回路(104)と、上記バッファへの取り込みの制御信号を出力するアクセス開始判定回路(105)とを含んで構成することができる。
〔5〕上記セレクタ制御回路は、アクセス開始判定信号を入力し、上記周辺バスへのアクセスが行われている最中であることを示す周辺バスアクセス実行信号を出力する第1周辺バスアクセス状態制御回路(600A)と、上記周辺バスアクセス実行信号と上記アクセス開始判定信号とに基づいて上記セレクタを制御するための制御信号を生成するセレクタ制御信号出力回路(400)とを含んで構成することができる。上記周辺バスアクセス状態制御回路は、上記周辺バスアクセス実行信号を形成するための順序回路を含んで構成することができる。
〔6〕上記アドレス出力制御回路は、アクセス開始判定信号を入力とし、上記周辺バスへのアクセスが行われている最中であることを示す周辺バスアクセス実行信号を出力する第2周辺バスアクセス状態制御回路(600B)と、上記周辺バスアクセス実行信号と上記アクセス開始判定信号を入力とに基づいてトライステートドライバ制御信号を生成するトライステートドライバ制御信号出力回路(500)とを含んで構成することができる。
2.実施の形態の説明
次に、実施の形態について更に詳述する。
図9には、本発明にかかるバスシステムが適用されたマイクロコンピュータが示される。
図9に示されるマイクロコンピュータ90は、特に制限されないが、公知の半導体集積回路製造技術により、単結晶シリコン基板などの一つの半導体基板に形成される。このマイクロコンピュータ90におけるバスとして、CPUバス2、内部バス100、周辺バス200を挙げることができる。CPUバス2には、所定のプログラムを実行することによって演算処理可能なCPU1が接続されている。内部バス100には、内部バスの調停を行うIBSC(内部バスステートコントローラ)5と、CPU1を介さずにバスに接続されているモジュール間のデータを直接転送するDMAC(ダイレクト・メモリ・アクセス・コントローラ)6、外部バスに接続されるメモリと内部バス間でのバスのプロトコル変換を行うEBSC(外部バス・ステート・コントローラ)4が接続されている。周辺バス200は、CPUバス2に比べ低速な動作を行なうI/O装置などの周辺モジュール(MDL)20〜2nが接続されている。各バスのアクセスプロトコル変換を目的として、CPUバス2と内部バス100はバスブリッジ3を介して接続され、また、内部バス100と周辺バス200はバスブリッジ10を介して接続されている。
ここで、上記バスブリッジ10の基本的な構成について説明する。
図10には、上記バスブリッジ10の基本的な構成が示される。
内部バス100から周辺バス200へ出力するためのアドレス信号を保持するバッファ110と、周辺バスへのアドレス信号出力のオンオフの切り替えを行うトライステートドライバ103と、内部バス100と周辺バス200との間のデータ授受のためのデータ入出力回路120とが設けられる。内部バス100から出力されるアドレス信号150をデコードするアドレスデコーダ111と、リードあるいはライトの識別や転送サイズなどの情報を含むコマンドをデコードするコマンドデコーダ114と、周辺バスへのアクセス開始を判定するアクセス開始判定回路105とが設けられる。コマンドデコーダ114の出力信号161と内部バスのアクセス有効信号120をもとに、データ入出力回路の制御信号を出力するデータ制御回路113と、アドレス信号出力を制御するアドレス出力制御回路1002とが設けられる。
アドレスデコーダ111は、内部バス100から出力されたアドレス信号150をデコードし、そのアドレス信号が周辺バスの領域に該当するかを判別し、そのアドレス信号が周辺バスの領域に該当する場合は、周辺バスアドレス判定信号121を出力する。
アクセス開始判定回路105は、周辺バスアドレス判定信号121と内部バスのアクセス有効信号120を入力とし、内部バスのアドレス信号が周辺バスの領域であり、かつそのアドレス信号が有効であるときに、周辺バスへのアクセス開始を判定し、アクセス開始判定信号122を出力する。このアクセス開始判定信号122は、内部バスに出力されたアドレス信号をバッファに格納するためのバッファ格納制御信号としても使用される。
アドレス出力制御回路102は、アクセス開始を判定するアクセス開始判定信号をもとに、その信号が出力された次の周辺バスのクロックの立ち上がりから周辺バスのプロトコルに規定されたサイクル期間分、周辺バスへアドレス信号を出力するために、トライステートドライバ制御信号123を出力する。
これらのバッファ格納制御信号として使用されるアクセス開始判定信号122とトライステートドライバ制御信号123をもとに、バスブリッジは、周辺バスへのアドレス信号出力を制御している。また、トライステートドライバ制御信号123の仕様として、信号値が論理値“1”のときは、バッファ110出力信号151を周辺バス200に出力されたアドレス信号250として出力する。論理値“0”のときは、周辺バス200の出力アドレス信号がオフとなり、ハイインピーダンス状態となる。ハイインピーダンス状態にする理由は、通常バスのアクセスを行わない場合に、他の周辺バス200に接続されているモジュールのアクセスに対して影響を与えないようにするためである。
図11には、バスブリッジ10として、図10に示される構成を採用した場合の動作タイミングが示される。
尚、図11は、CPUバス2と内部バス100と周辺バス200の周波数比が10:1:1の場合である。CPUから周辺バスにアクセスする際、CPUバス、内部バスを経由する必要があり、バスサイクル11001の期間にCPUバスから出力されるアドレス信号は、バスサイクル11002の期間に、内部バス、そしてバスサイクル11003の期間以降に周辺バスへ順に出力されており、バス渡り転送では、フリップフロップ回路を経由してアドレス信号を受け渡しする必要があった。図10の構成で説明すると、バスサイクル11002の期間において、内部バス100から出力されたアドレス信号150が周辺バスでかつそのアドレス信号が有効であるため、アドレスデコーダ111から出力された周辺アドレス判定信号121及び内部バスアクセス有効信号120が論理値“1”にされる。それを受けて、アクセス開始判定回路105は、周辺バスへのアクセスが有ると判定し、アクセス開始判定信号122を論理値“1”にする。この出力により、バスサイクル11003の期間において内部バスに出力されたアドレス信号がバッファ110に格納される。更に同じバスサイクル11003の期間において、アドレス出力制御回路1002は、トライステートドライバ制御信号123を論理値“1”にすることで、周辺バスクロックの立ち上がりに同期してバッファ110に格納したアドレス信号151を周辺バス200へ出力することを開始する。
以上述べたバッファが前に述べたフリップフロップ回路の役割を果たす。バス渡り転送においては、バスの接続部におけるアドレス信号などの受け渡しによるサイクル数の増加が生じたため、複数バスを経由するバス転送のレイテンシが長くなる。特にCPU1の高性能化に伴いCPUコアと低速なI/O系のモジュールが接続される周辺バスとの速度差が大きくなると、動作周波数が低い内部バス100及び周辺バス200へのアクセスサイクルによる転送レイテンシが支配的となるため、周辺バスアクセス転送におけるレイテンシ性能の低下が顕著になる。また、リードアドレス信号RA1がCPUバス2に出力されてから、内部バス100、周辺バス200経由でアクセスサイクルが完了してCPUバス2にデータRD1が出力されるまで、バスが占有され、CPU1の周辺バスアクセス転送命令以降の処理も待たされるため、CPU1の処理効率も低下する。
そこで、周辺バスアクセス転送におけるレイテンシ性能の向上や、CPU1の処理効率の向上を図るため、上記バスブリッジ10を図1に示されるように構成する。
図1に示される構成が図10に示されるのと大きく相違するのは、周辺バスに出力するアドレス信号として内部バス100に出力されるアドレス信号150あるいはバッファ110に保持したアドレス信号151を選択するセレクタ101と、このセレクタ104の動作を制御するセレクタ制御回路104とを設けた点である。
セレクタ101は、セレクタ制御回路104から出力されるセレクタ制御信号107に従って、周辺バスへ出力するアドレス信号として、内部バスに出力されたアドレス信号とバッファに格納したアドレス信号のどちらかを選択する。例えば、セレクタ制御信号107の仕様として、信号値が論理値“1”のときは、内部バス100に出力されたアドレス信号105を出力する。論理値“0”のときは、バッファに格納されたアドレス信号151を出力する。ここで、上記セレクタ101は、内部バス100のアドレス信号を周辺バス200へ出力可能なアドレス伝達回路の一例とされる。
セレクタ制御回路104は、特に制限されないが、図4に示されるように、アクセス開始判定回路105から出力されるアクセス開始判定信号122を入力とし、周辺バスアクセス実行信号130Aを出力する周辺バスアクセス状態制御回路600Aと、その周辺バスアクセス実行信号130Aとアクセス開始判定回路105から出力されるアクセス開始判定信号122を入力とし、セレクタ制御信号124を出力するセレクタ制御信号出力回路400とを含んで成る。
周辺バスアクセス状態制御回路600Aは、周辺バスへのアクセスが行われている最中であることを示す周辺バスアクセス実行信号130Aを出力するための順序回路を備えている。図6には、上記順序回路の状態遷移が示される。
上記周辺バスアクセス状態制御回路600Aに含まれる順序回路は、周辺バスクロックに同期して動作を行い、P0、P1、P2、P3の4つの状態を有する。P0は、周辺バスへのアクセスが行われていない状態であり、P1、P2、P3は、周辺バスへのアクセスが行われている状態である。そのため、周辺バスアクセス実行信号130Aは、周辺バスへのアクセスが行われているP1、P2、P3の状態のときに出力される。周辺バスへのアクセスが行われていないP0の状態において、アクセス開始判定回路105から出力されるアクセス開始判定信号122が入力されると、周辺バスクロックに同期して、順にP1、P2の状態となり、周辺バスアクセス実行信号130Aが出力される。P2の状態において、連続して周辺バスへのアクセスが行われない、すなわちアクセス開始判定回路105から出力されるアクセス開始判定信号122が入力されていないと、周辺バスクロックに同期して、P0の状態となり、周辺バスアクセス実行信号130Aが出力されない。一方、P2の状態において、連続して周辺バスへのアクセスが行われる、すなわちアクセス開始判定回路105から出力されるアクセス開始判定信号122が入力されると、周辺バスクロックに同期して、順にP3、P1、P2の状態となり、周辺バスアクセス実行信号130Aが出力される。
図7には、上記セレクタ制御信号出力回路400の動作の流れが示される。
セレクタ制御信号出力回路104は、アクセス開始判定回路105から出力されるアクセス開始判定信号122をもとに、内部バス100のアクセスが周辺バス200へのアクセスであることを判定する(図7の701)。周辺バスへのバスアクセスでない場合は、セレクタ制御回路104は、セレクタ制御信号124を論理値“0”にする(図7の704)。一方、周辺バスへのバスアクセスである場合は、続けて、周辺バスアクセス状態制御回路から出力された周辺バスアクセス実行信号130Aをもとに、周辺バス200がバスアクセス中であることを判定する(図7の702)。周辺バスがバスアクセス中である場合には、セレクタ制御回路104は、セレクタ制御信号124を論理値“0”にする(図7の704)。一方、周辺バスがバスアクセス中でない場合は、セレクタ制御回路104は、セレクタ制御信号124を論理値“1”にする(図7の703)。
アドレス出力制御回路102は、特に制限されないが、図5に示されるように、アクセス開始判定回路105から出力されるアクセス開始判定信号122を入力とし、周辺バスアクセス実行信号130Bを出力する周辺バスアクセス状態制御回路600Bと、その周辺バスアクセス実行信号130Bとアクセス開始判定回路105から出力されるアクセス開始判定信号122を入力とし、トライステートドライバ制御信号123を出力するトライステートドライバ制御信号出力回路500とを含んで成る。
図8には、バスブリッジ10に含まれるアドレス出力制御回路の動作フローチャートが示される。
トライステートドライバ制御出力回路500は、アクセス開始判定回路105から出力されるアクセス開始判定信号122をもとに、内部バス100のアクセスが周辺バス200へのアクセスであることを判定する(図8の801)。周辺バスへのバスアクセスである場合は、トライステートドライバ制御信号出力回路500は、トライステートドライバ制御信号123を論理値“1”にする(図8の803)。一方、周辺バスへのバスアクセスでない場合は、続けて、周辺バスアクセス状態制御回路600Bから出力された周辺バスアクセス実行信号130Bをもとに、周辺バス200がバスアクセス中であることを判定する(図8の802)。周辺バスがバスアクセス中である場合には、トライステートドライバ制御出力回路500は、トライステートドライバ制御信号123を論理値“1”にする(図8の803)。一方、周辺バスがバスアクセス中でない場合は、トライステートドライバ制御出力回路500は、トライステートドライバ制御信号123を論理値“0”にする(図8の804)。
次に、CPU1から周辺バスに接続されているモジュールへのリード動作する場合を、図2のタイミング図を用いて説明する。尚、図2のタイミング図は、CPUバス2と内部バス100と周辺バス200の周波数比が10:1:1の場合である。まず、CPUから出力されたリードアドレス信号RA1は、バスサイクル2001の期間内にCPUバスクロックに同期してCPUバス2に出力される。CPUバス2に出力されたリードアドレス信号RA1は、内部バスクロックの立ち上がりに同期して、バスサイクル2002の期間に内部バス100に出力される。その出力されたアドレス信号RA1がアドレスデコーダ111でデコードされることで、周辺アドレス判定信号121が得られる。その周辺アドレス判定信号121と、内部バス有効信号120がともに出力されているので、アクセス開始判定回路115は、周辺バスへアクセスが有ると判断し、同じバスサイクル2002の期間に、バッファ格納制御信号122を論理値“1”にアサートする。それを受けて、次の周辺バスクロックの立ち上がりでRA1アドレス信号を、バッファ110に保持する。また同じバスサイクル2002の期間で、アクセス開始判定回路105から出力されたアクセス開始判定信号122の出力を受けて、セレクタ制御回路104内のセレクタ制御信号出力回路400は、図7のステップ701に従って、内部バス100に出力されたアドレス信号RA1が周辺バス200へのアクセスであることを判定する。続けて、同じバスサイクルで、周辺アクセス状態制御回路600AのステートがP0であり、周辺アクセス実行信号130Aが出力されていないため、図7のステップ702に従って、周辺バス200がバスアクセス中でないことを判定する。その判定を受けて、セレクタ制御信号124が論理値“1”にされる。更に同じバスサイクル2002の期間で、アクセス開始判定回路105から出力された制御信号の出力を受けて、アドレス出力制御回路102内のトライステート制御信号出力回路500は、図8のステップ801に従って、内部バス100に出力されたアドレス信号RA1が周辺バス200へのアクセスであることを判定する。その判定を受けて、トライステート制御信号123が論理値“1”にされる。その結果、バスサイクル2002で内部バス100のアドレス信号150を周辺バス200に出力する。以上で、内部バスにアドレス信号が出力されたバスサイクル2002と同じサイクルで、周辺バスにアドレス信号を出力することが可能となる。
その後、周辺バス200にアクセスして内部バスにリードデータが出力されるサイクルまでのバスサイクル2003と2004の期間内は、周辺バスにアドレス信号RA1を出力し続ける必要がある。バスサイクル2002の期間で、アクセス開始判定回路105から出力された制御信号の出力を受けて、バスサイクル2003と2004の期間においては、周辺アクセス状態制御回路600Aのステートは、それぞれP1、P2であるため、周辺アクセス実行信号130Aが出力される。その間は、アクセス開始判定回路105から出力された制御信号は論理値“0”にネゲートされるため、セレクタ制御回路104内のセレクタ制御信号出力回路400は、図7のステップ701に従って、内部バス100に出力されたアドレス信号が周辺バス200へのアクセスでないことを判定し、セレクタ制御信号124を論理値“0”にネゲートする。そのセレクタ制御信号を受けて、セレクタ101は、バッファ110に格納されたアドレス信号RA1を選択して出力する。また、アドレス出力制御回路102内のトライステート制御信号出力回路500において、図8のステップ801に従って、内部バス100に出力されたアドレス信号が周辺バス200へのアクセスでないことを判定し、周辺アクセス実行信号が論理値“1”アサートしているため、周辺バスがアクセス中であることを判定する。その判定を受けて、トライステートドライバ制御信号123が論理値“1”にされる。その出力を受けて、トライステートドライバはオンとなり、周辺バス200のアドレス信号250としてバッファ110に格納したアドレス信号を出力する。周辺バス200のアドレス信号で示されたレジスタを有する周辺内蔵モジュールは、バスサイクル2003の期間にリードデータRD1を周辺バスに出力する。そのリードデータRD1は、データ制御回路113によって制御されるデータ入出力回路120を介して、バスサイクル2004の期間に内部バス100に出力される。内部バス100に出力されたリードデータRD1は、バスサイクル2004の期間内にCPUバスクロックに同期してCPUバス2に出力される。
尚、周辺バス200へのアドレス信号出力の低レイテンシ転送に関しては、リード動作やライト動作において同様とされるため、ライト動作の説明は省略する。
以上のような動作により、CPU1から周辺バス200に接続されているモジュールへアクセスした場合に、周辺バス200へのアクセスが検出されたサイクルで周辺バス200のアクセスを開始するために周辺バス200へアドレス信号を出力することが可能となり、周辺バス200へのレイテンシが短い転送を実現することができる。
更に、CPU1から周辺バス200に接続されているモジュールへ連続リード動作する場合を、図3のタイミング図を用いて説明する。尚、バスの動作周波数とプロトコルは図2と同一条件である。
まず、CPU1から出力されたリードアドレス信号RA1は、バスサイクル3001の期間内にCPUバスクロックに同期してCPUバス2に出力され、続けてその次のCPUバスクロックに同期して、リードアドレス信号RA2がCPUバス2に出力される。CPUバス2に出力されたリードアドレス信号RA1は、内部バスクロックの立ち上がりに同期して、バスサイクル3002の期間に内部バス100に出力され、続けて、内部バス100へバスサイクル3003の期間にその次のリードアドレス信号RA2を出力する。その出力されたアドレス信号RA1はアドレスデコーダ111でデコードされる。これにより周辺アドレス判定信号121が得られる。その周辺アドレス判定信号121と、内部バス有効信号120がともに出力されているので、アクセス開始判定回路115は、周辺バスへアクセスが有ると判断し、同じバスサイクル3002の期間に、バッファ格納制御信号122を論理値“1”にアサートする。それを受けて、次の周辺バスクロックの立ち上がりでRA1アドレス信号を、バッファ110に保持する。また同じバスサイクル3002の期間で、アクセス開始判定回路105から出力された制御信号の出力を受けて、セレクタ制御回路104内のセレクタ制御信号出力回路400は、図7のステップ701に従って、内部バス100に出力されたアドレス信号RA1が周辺バス200へのアクセスであることを判定する。続けて、同じバスサイクルで、周辺アクセス状態制御回路600AのステートがP0であり、周辺アクセス実行信号130Aが出力されていないため、図7のステップ702に従って、周辺バスがバスアクセス中でないことを判定する。その判定を受けて、セレクタ制御信号124が論理値“1”にされる。更に同じバスサイクル3002の期間で、アクセス開始判定回路105から出力された制御信号の出力を受けて、アドレス出力制御回路102内のトライステート制御信号出力回路500は、図8のステップ801に従って、内部バス100に出力されたアドレス信号RA1が周辺バス200へのアクセスであることを判定する。その判定を受けて、トライステート制御信号123が論理値“1”にされる。その結果、バスサイクル3002で内部バス100のアドレス信号150を周辺バス200に出力する。以上により、内部バス100にアドレス信号が出力されたバスサイクル3002と同じサイクルで、周辺バス200にアドレス信号を出力することが可能となる。
その後、周辺バス200にアクセスして内部バス100にリードデータが出力されるサイクルまでのバスサイクル3003と3004の期間内は、周辺バスにアドレス信号RA1を出力し続ける必要がある。バスサイクル3002の期間で、アクセス開始判定回路105から出力された制御信号の出力を受けて、バスサイクル3003と3004の期間においては、周辺アクセス状態制御回路600Aのステートは、それぞれP1、P2であるため、周辺アクセス実行信号130Aが出力される。その間は、アクセス開始判定回路105から出力された制御信号は論理値“0”にネゲートされたため、セレクタ制御回路104内のセレクタ制御信号出力回路400は、図7のステップ701において、内部バス100に出力されたアドレス信号が周辺バス200へのアクセスでないことを判定し、セレクタ制御信号124を論理値“0”にネゲートする。そのセレクタ制御信号124を受けてセレクタ101は、バッファ110に格納されたアドレス信号RA1を選択して出力する。また、アドレス出力制御回路102内のトライステート制御信号出力回路500において、図8のステップ801により、内部バス100に出力されたアドレス信号が周辺バス200へのアクセスでないことが判定され、周辺アクセス実行信号130Bが論理値“1”アサートしているため、周辺バス200がアクセス中であることを判定する。その判定を受けて、トライステートドライバ制御信号123が論理値“1”にされる。その出力を受けて、トライステートドライバ103はオン状態となり、周辺バス200のアドレス信号250としてバッファ110に格納されたアドレス信号を出力する。周辺バス200のアドレス信号で示されたレジスタを有する周辺内蔵モジュールは、バスサイクル3003の期間にリードデータRD1を周辺バスに出力する。そのリードデータRD1は、データ制御回路113により制御されるデータ入出力回路120を介して、バスサイクル3004の期間に内部バス100に出力される。内部バス100に出力されたリードデータRD1は、バスサイクル3004の期間内にCPUバスクロックに同期してCPUバス2に出力される。
一方、リードアドレス信号RA2に関する転送は、リードアドレス信号RA1に関する転送が完了した後のバスサイクル3005から開始される。そのリードアドレス信号RA2はバスサイクル3003以降に内部バス100に出力されている。リードアドレス信号RA1に関する転送でリードデータRD1がCPUバス2に出力されているバスサイクル3004の期間で、その出力されたアドレス信号RA2をアドレスデコーダ111が周辺バス200のアドレス領域であることをデコードし、周辺アドレス判定信号121を出力する。その周辺アドレス判定信号121と、内部バス有効信号120がともに出力されているので、アクセス開始判定回路115は、周辺バス200へのアクセスが有ると判断し、同じバスサイクル3002の期間に、バッファ格納制御信号122を論理値“1”にアサートする。それを受けて、次の周辺バスクロックの立ち上がりでRA2アドレス信号を、バッファ110に保持する。
また同じバスサイクル3004の期間で、アクセス開始判定回路105から出力された制御信号の出力を受けて、セレクタ制御回路104内のセレクタ制御信号出力回路400は、図7のステップ701に従って、内部バス100に出力されたアドレス信号RA2が周辺バス200へのアクセスであることを判定する。続けて、同じバスサイクルで、周辺アクセス状態制御回路600AのステートがP2であり、周辺アクセス実行信号130Aが出力されているため、図7のステップ702で、周辺バスがバスアクセス中であることが判定される。その判定を受けて、セレクタ制御信号124が論理値“0”にされる。更に同じバスサイクル5004の期間で、アクセス開始判定回路105から出力された制御信号の出力を受けて、アドレス出力制御回路102内のトライステート制御信号出力回路500は、図8のステップ801において、内部バス100に出力されたアドレス信号RA2が周辺バス200へのアクセスであることが判定される。その判定を受けて、トライステート制御信号123が論理値“1”にされる。その結果、バスサイクル3004では、バッファ110に格納されたアドレス信号RA1が周辺バス200に出力される。
その後、周辺バス200にアクセスして内部バス100にリードデータが出力されるサイクルまでのバスサイクル3005と3007の期間内は、周辺バスにアドレス信号RA2を出力し続ける必要がある。バスサイクル3004の期間で、アクセス開始判定回路105から出力された制御信号の出力を受けて、バスサイクル3005と3006と3007の期間においては、周辺アクセス状態制御回路600Aのステートは、それぞれP3,P1、P2となるため、周辺アクセス実行信号130Aが出力される。その間は、アクセス開始判定回路105から出力された制御信号は論理値“0”にネゲートされたため、セレクタ制御回路104内のセレクタ制御信号出力回路400は、図7のステップ701において、内部バス100に出力されたアドレス信号が周辺バス200へのアクセスでないことが判定され、セレクタ制御信号124が論理値“0”にネゲートされる。そのセレクタ制御信号124を受けてセレクタ101は、バッファ110に格納されたアドレス信号RA2を選択して出力する。また、アドレス出力制御回路102内のトライステート制御信号出力回路500において、図8のステップ801により、内部バス100に出力されたアドレス信号が周辺バス200へのアクセスでないことが判定され、周辺アクセス実行信号が論理値“1”アサートしているため、周辺バス200がアクセス中であることが判定される。その判定を受けて、トライステートドライバ制御信号123が論理値“1”にされる。その出力を受けて、トライステートドライバ103はオン状態となり、周辺バス200のアドレス信号250としてバッファ110に格納されたアドレス信号を出力する。周辺バス200のアドレス信号で示されたレジスタを有する周辺内蔵モジュールは、バスサイクル3006の期間にリードデータRD1を周辺バス200に出力する。そのリードデータRD1は、データ制御回路113によって制御されるデータ入出力回路120を介して、バスサイクル3007の期間に内部バス100に出力される。内部バス100に出力されたリードデータRD1は、バスサイクル3007の期間内にCPUバスクロックに同期してCPUバス2に出力される。
尚、周辺バス200へのアドレス信号出力の低レイテンシ転送に関しては、リード動作やライト動作において同様とされるため、ライト動作の説明は省略する。
以上のような動作により、CPU11から周辺バス120に接続されているモジュールへのアクセスが連続した場合においても、1番目の周辺バス200へのアクセスが検出されたサイクルで周辺バス200のアクセスを開始するために周辺バス200へアドレス信号を出力することが可能となり、周辺バス200へのレイテンシが短い転送を実現することができる。
以上述べた例は、内部バス100にアドレス信号が出力されてから、そのアドレス信号をデコードし、アドレス信号出力を制御するためにセレクタ制御信号124及びトライステートドライバ制御信号123を生成し、それらの制御信号にもとづいて内部バスに出力されたアドレス信号を周辺バスに出力し、転送先である周辺バスに接続された周辺内蔵モジュールがその出力された周辺バスのアドレス信号を受け取りデコードするまでの動作が次の周辺バスクロックの立ち上がりまでに完了することが前提となっている。仮に、内部バスが周辺バスより周波数が高く、さらに周波数差が拡大している場合に、特に、内部バスへのアドレス信号出力が周辺バスクロックのバスサイクルの終わりに近いときに、上記動作が次の周辺バスクロックの立ち上がりまでに完了しないという問題がおこる恐れがある。しかし、内部バスへのアドレス信号出力が周辺バスクロックのバスサイクルの始めに近いときには、上記動作が次の周辺バスクロックの立ち上がりまでに完了するので、周辺バスの1バスサイクル期間内で、周辺バスへの全てのアドレス信号出力に関する上記動作が、次の周辺バスクロックの立ち上がりまでに完了しないというわけではない。例えば、内部バスが周辺バスの周波数比が2:1であるときには、上記動作が次の周辺バスクロックの立ち上がりまでに完了しない問題が起こった場合でも、周辺バスクロックのバスサイクル内の前半では、上記動作が次の周辺バスクロックの立ち上がりまでに完了する時間で、内部バスのアドレス信号が出力可能であるので、2サイクルに1回は周辺バスサイクルの1サイクル分の削減を実現することができる。
このように図1に示されるバスブリッジ10によれば、内部バスと周辺バスの階層渡りのバス転送において、内部バスにアドレス信号が出力されたバスサイクルと同じサイクルで、周辺バスにアドレス信号を出力することが可能となるため、低速なバスサイクルで1サイクル分削減可能となり、低レイテンシ転送が実現できる。
上記の例によれば、以下の作用効果を得ることができる。
(1)図1に示されるバスブリッジ10によれば、内部バスと周辺バスの階層渡りのバス転送において、内部バスにアドレス信号が出力されたバスサイクルと同じサイクルで、周辺バスにアドレス信号を出力することが可能となるため、低速なバスサイクルで1サイクル分削減可能となり、低レイテンシ転送が実現できる。
(2)上記低レイテンシ転送が実現されることにより、CPUバス2から内部バス100を経由して周辺バス200へ出力するアドレス信号の転送レイテンシが短くなるため、CPU1での処理効率の向上を図ることができる。
以上本発明者によってなされた発明を具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
本発明にかかるバスシステムが適用されたマイクロコンピュータにおけるバスブリッジの構成例ブロック図である。 上記マイクロコンピュータにおけるCPUから周辺バスへのリード動作に関するタイミング図である。 上記マイクロコンピュータにおけるCPUから周辺バスへの連続リード動作に関するタイミング図である。 上記バスブリッジに含まれるセレクタ制御回路の構成例ブロック図である。 上記バスブリッジに含まれるアドレス出力制御回路の構成例ブロック図である。 上記バスブリッジに含まれる周辺バスアクセス状態制御回路の状態遷移図である 上記バスブリッジに含まれるセレクタ制御回路の動作フローチャートである。 上記バスブリッジに含まれるアドレス出力制御回路の動作フローチャートである。 上記マイクロコンピュータの全体的な構成例ブロック図である。 上記バスブリッジの基本的な構成例ブロック図である。 図10に示されるバスブリッジを採用した場合のCPUから周辺バスへのリード動作に関するタイミング図である。
符号の説明
1 CPU
2 CPUバス
3,10 バスブリッジ
4 EBSC
5 IBSC
6 DMAC
20−2n 周辺内蔵モジュール
100 内部バス
101 セレクタ
102 アドレス出力制御回路
103 トライステートドライバ
104 セレクタ制御回路
105 アドレス出力制御回路
110 バッファ
111 アドレスデコーダ
112 コマンドデコーダ
113 アクセス制御回路
400 セレクタ制御信号出力回路
500 トライステートドライバ制御信号出力回路
600A,600B 周辺バスアクセス状態制御回路

Claims (6)

  1. 第1バスと第2バスとがバスブリッジを介して接続されるバスシステムであって、
    上記バスブリッジは、第1バスにアドレス信号が出力されたバスサイクルにおいて、上記アドレス信号が上記第2バスアクセスである場合に、上記バスサイクルと同じバスサイクルで上記第1バスのアドレス信号を上記第2バスへ出力可能なアドレス伝達回路を含んで成ることを特徴とするバスシステム。
  2. 上記アドレス伝達回路は、上記第1バスのアクセスが上記第2バスへのアクセスである場合に、第1バスにアドレス信号が出力されたバスサイクルにおいて、上記第2バスに出力するアドレス信号として、第1バスから出力されたアドレス信号と、それ以前のバスサイクルで第1バスに出力されたアドレス信号のいずれかを選択的に上記第2バスへ出力可能なセレクタを含む請求項1記載のバスシステム。
  3. 第1バスと第2バスとがバスブリッジを介して接続されるバスシステムであって、
    上記バスブリッジは、上記第1バスに出力されたアドレス信号が第2バスであることを判定可能なアドレスデコーダと、
    上記第2バスへのアドレス信号出力の有無を切り替えるトライステートドライバと、
    上記アドレスデコーダの判定結果及び第2バスのアクセス状態をもとに上記トライステートドライバの動作制御を可能とするアドレス出力制御回路と、
    上記第1バスのアドレス信号を保持するバッファと、
    上記第2バスに出力するアドレス信号として上記第1バスから出力されるアドレス信号と上記バッファに保持したアドレス信号のいずれかを選択するセレクタと、
    上記セレクタの動作制御を可能とするセレクタ制御回路と、
    上記第2バスへのアクセス開始を判定して上記バッファへの取り込みの制御信号を出力するアクセス開始判定回路と、を含んで成ることを特徴とするバスシステム。
  4. CPUと、
    上記CPUによって動作制御可能な周辺モジュールと、
    上記CPUによってアクセス可能な内部バスと、
    上記周辺モジュールが結合された周辺バスと、
    上記内部バスと上記周辺バスとを接続するためのバスブリッジと、を含むマイクロコンピュータであって、
    上記バスブリッジは、上記第1バスに出力されたアドレス信号が第2バスであることを判定可能なアドレスデコーダと、
    上記第2バスへのアドレス信号出力の有無を切り替えるトライステートドライバと、
    上記アドレスデコーダの判定結果及び第2バスのアクセス状態をもとに上記トライステートドライバの動作制御を可能とするアドレス出力制御回路と、
    上記第1バスのアドレス信号を保持するバッファと、
    上記第2バスに出力するアドレス信号として上記第1バスから出力されるアドレス信号と上記バッファに保持したアドレス信号のいずれかを選択するセレクタと、
    上記セレクタの動作制御を可能とするセレクタ制御回路と、
    上記第2バスへのアクセス開始を判定して上記バッファへの取り込みの制御信号を出力するアクセス開始判定回路と、を含んで成ることを特徴とするマイクロコンピュータ。
  5. 上記セレクタ制御回路は、アクセス開始判定信号を入力し、上記周辺バスへのアクセスが行われている最中であることを示す周辺バスアクセス実行信号を出力する第1周辺バスアクセス状態制御回路と、
    上記周辺バスアクセス実行信号と上記アクセス開始判定信号とに基づいて上記セレクタを制御するための制御信号を生成するセレクタ制御信号出力回路と、を含み、
    上記周辺バスアクセス状態制御回路は、上記周辺バスアクセス実行信号を形成するための順序回路を含んで成る請求項4記載のマイクロコンピュータ。
  6. 上記アドレス出力制御回路は、アクセス開始判定信号を入力とし、上記周辺バスへのアクセスが行われている最中であることを示す周辺バスアクセス実行信号を出力する第2周辺バスアクセス状態制御回路と、
    上記周辺バスアクセス実行信号と上記アクセス開始判定信号を入力とに基づいてトライステートドライバ制御信号を生成するトライステートドライバ制御信号出力回路と、を含んで成る請求項4記載のマイクロコンピュータ。
JP2007132670A 2007-05-18 2007-05-18 バスシステム及びマイクロコンピュータ Pending JP2008287557A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007132670A JP2008287557A (ja) 2007-05-18 2007-05-18 バスシステム及びマイクロコンピュータ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007132670A JP2008287557A (ja) 2007-05-18 2007-05-18 バスシステム及びマイクロコンピュータ

Publications (1)

Publication Number Publication Date
JP2008287557A true JP2008287557A (ja) 2008-11-27

Family

ID=40147209

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007132670A Pending JP2008287557A (ja) 2007-05-18 2007-05-18 バスシステム及びマイクロコンピュータ

Country Status (1)

Country Link
JP (1) JP2008287557A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8843687B2 (en) 2011-12-12 2014-09-23 Kabushiki Kaisha Toshiba Semiconductor device controlling outbound and inbound path switching sections based on a setting state and controlling method thereof
JP2016513326A (ja) * 2013-02-28 2016-05-12 インテル・コーポレーション 異なる相互接続プロトコルのための一つの相互接続プロトコルの列挙および/または設定機構の活用

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03282757A (ja) * 1990-03-30 1991-12-12 Nec Corp バス拡張装置
JPH048154A (ja) * 1990-04-26 1992-01-13 Shicoh Eng Co Ltd 有鉄心形単相ブラシレスモータ
JPH04128914A (ja) * 1990-09-20 1992-04-30 Toshiba Corp 絶縁ゲート型集積回路
JPH05101000A (ja) * 1991-10-04 1993-04-23 Fujitsu Ltd バス拡張方式
JP2000057086A (ja) * 1998-08-06 2000-02-25 Matsushita Electric Ind Co Ltd バス接続装置
JP2000357153A (ja) * 1999-06-17 2000-12-26 Hitachi Ulsi Systems Co Ltd バスブリッジ回路およびデータ処理システム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03282757A (ja) * 1990-03-30 1991-12-12 Nec Corp バス拡張装置
JPH048154A (ja) * 1990-04-26 1992-01-13 Shicoh Eng Co Ltd 有鉄心形単相ブラシレスモータ
JPH04128914A (ja) * 1990-09-20 1992-04-30 Toshiba Corp 絶縁ゲート型集積回路
JPH05101000A (ja) * 1991-10-04 1993-04-23 Fujitsu Ltd バス拡張方式
JP2000057086A (ja) * 1998-08-06 2000-02-25 Matsushita Electric Ind Co Ltd バス接続装置
JP2000357153A (ja) * 1999-06-17 2000-12-26 Hitachi Ulsi Systems Co Ltd バスブリッジ回路およびデータ処理システム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8843687B2 (en) 2011-12-12 2014-09-23 Kabushiki Kaisha Toshiba Semiconductor device controlling outbound and inbound path switching sections based on a setting state and controlling method thereof
JP2016513326A (ja) * 2013-02-28 2016-05-12 インテル・コーポレーション 異なる相互接続プロトコルのための一つの相互接続プロトコルの列挙および/または設定機構の活用

Similar Documents

Publication Publication Date Title
US8531893B2 (en) Semiconductor device and data processor
US20070150763A1 (en) Highly energy-efficient processor employing dynamic voltage scaling
JPH0877098A (ja) 制御されたバーストメモリアクセスを備えたデータプロセッサおよびその方法
JP2008009817A (ja) 半導体装置及びデータ転送方法
US20230185744A1 (en) Seamlessly Integrated Microcontroller Chip
JP5304815B2 (ja) マイクロコンピュータ
JP5775398B2 (ja) 半導体集積回路装置
JP2008287557A (ja) バスシステム及びマイクロコンピュータ
JP4178268B2 (ja) マイクロコントローラ
JP2001034530A (ja) マイクロコンピュータおよびメモリアクセス制御方法
TW201437814A (zh) 記憶體存取方法、記憶體存取控制方法、spi快閃記憶體裝置以及spi控制器
JP2006268390A (ja) 直列インタフェース回路
JP5528939B2 (ja) マイクロコンピュータ
JP2004192051A (ja) 共用端子制御装置
JP2004013289A (ja) マイクロコントローラのオンチップデバッグ方法
US20110320658A1 (en) Information processing system
JP4498705B2 (ja) キャッシュシステム
JP2001014259A (ja) データ処理装置
WO2001067271A1 (fr) Dispositif de traitement d'informations
JP2009289232A (ja) 半導体集積回路
JP2007305073A (ja) データ処理装置及びメモリコントローラチップ
JP2006164024A (ja) オンチップバスシステム
JP2003271573A (ja) マルチプロセッサ、マルチプロセッサコア及びその制御方法
JP2001344194A (ja) バス・ブリッジを有する制御システム
JP2004246808A (ja) 集積回路

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100303

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20100514

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110914

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110915

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120126