JP2016015158A - 半導体装置 - Google Patents

半導体装置 Download PDF

Info

Publication number
JP2016015158A
JP2016015158A JP2015172584A JP2015172584A JP2016015158A JP 2016015158 A JP2016015158 A JP 2016015158A JP 2015172584 A JP2015172584 A JP 2015172584A JP 2015172584 A JP2015172584 A JP 2015172584A JP 2016015158 A JP2016015158 A JP 2016015158A
Authority
JP
Japan
Prior art keywords
bus
transaction
bus master
response
stop
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.)
Granted
Application number
JP2015172584A
Other languages
English (en)
Other versions
JP5981004B2 (ja
Inventor
源 山下
Hajime Yamashita
源 山下
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 JP2015172584A priority Critical patent/JP5981004B2/ja
Publication of JP2016015158A publication Critical patent/JP2016015158A/ja
Application granted granted Critical
Publication of JP5981004B2 publication Critical patent/JP5981004B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Bus Control (AREA)

Abstract

【課題】従来の半導体装置では、バスのハングアップを回避することが困難であった。【解決手段】本発明の半導体装置は、バスマスタとなる第1のインタフェース部から第1のトランザクションを発行する第1のモジュール11と、バススレーブとなる第2のインタフェース部と、バスマスタとなる第3のインタフェース部と、を有し、第1のトランザクションに応じて第2のトランザクションを発行する第2のモジュール14と、バススレーブとなる第4のインタフェース部により第2のトランザクションを受信する第3のモジュール18と、バスマスタ停止要求をアサートし、バスマスタ停止応答がアサートされたことに応じてアサート処理を完了するバスマスタ停止要求制御部10と、バスマスタ停止要求に関わらず第2のトランザクションの発行を強制する強制処理要求符号を第1のトランザクションに付す符号付加部と、を有する。【選択図】図1

Description

本発明は、半導体装置に関し、特に、バスを介して複数の回路ブロックが接続される半導体装置に関する。
半導体装置では、バスを介して複数のモジュール間の通信を行うバスシステムが多く提案されている。このようなバスシステムでは、パワーマネジメント制御を行う等のシステムの状態の変更を行うことがある。この際、バスシステムでは、バスにトランザクションを発行するバスマスタに新規のトランザクションの発行を停止させるバス停止要求を発行する。そして、バスシステムでは、バスに流れるトランザクションの消化を待って、システムの状態の変更を行う。このように、互いに連携する複数のモジュールを有するシステムの状態を変更する技術の例が特許文献1〜3に開示されている。
特許文献1では、メモリモジュールが主従関係を有している場合に、第1のモジュールからの要求に基づいて生成されるゲート信号により、第2のモジュールに対するクロック信号の供給又は停止を制御する技術が開示されている。
特許文献2では、複数のデバイスの内の何れかのデバイスに異常が発生したとき、各デバイスから既に発行されているトランザクションを処理する場合を除き、正常動作しているデバイスによるバスの利用を抑止する。その後、特許文献2に記載のバスシステムでは、未完了のトランザクションがないことを条件にして、異常の発生したデバイスに対してリセットを実施すると共にバスに対してバス特性情報を出力し、リセット解除時に異常の発生したデバイスにバス特性情報を取り込ませる構成を有する。
特許文献3は、1つのターゲットがバストランザクションに応答し、残りのターゲットが該バストランザクションを傍受してデータをシステムバスから受信し、通常は同報通信転送をサポートしない周辺装置相互接続(PCI)バスのようなシステムバスを介して、複数のターゲットにデータを同報通信する方法について開示する。特許文献3では、傍受ターゲットのいずれかが、一時的にバス上のデータを受け入れることができない状態にあることを応答ターゲットに通信している際に、該応答ターゲットがバストランザクションをストールする。
特開2007−52525号公報 特開2005−122337号公報 特表2004−526223号公報
しかしながら、バスシステムでは、バスに接続されるモジュールに、バススレーブとして機能する受信インタフェースと、バスマスタとして機能する送信インタフェースとをそなえるモジュールが存在する。このようなモジュールは、受信インタフェースにより受信したトランザクションを完了するために他のモジュールに新たなトランザクションを発行する。
このようなモジュールがバスに接続されているバスシステムでは、バス停止要求をアサートした後に、自モジュールが受信したトランザクションを完了するための新たなトランザクションの発行ができないことがある。このようなタイミングでバス停止要求がアサートされた場合、自モジュールに対してトランザクションを発行した他のモジュールは、発行したトランザクションに対応する応答を得ることができずにバス停止要求に対応するバス停止応答をアサートすることができない。そのため、このような状態が発生した場合、バスシステムでは、バス停止応答によりバスに流れるトランザクションが消化されたことを認識できずにシステムがハングアップする問題がある。
本発明にかかる半導体装置の一態様は、トランザクションを発行し、バスマスタ停止要求に応じて前記トランザクションの発行を停止するバスマスタと、前記トランザクションを受信するバススレーブと、のいずれか一方の機能が割り当てられる複数のインタフェース部が、ルータを介して接続される半導体装置であって、前記バスマスタとして機能する第1のインタフェース部を有し、第1のトランザクションを発行する第1のモジュールと、前記バススレーブとして機能する第2のインタフェース部と、前記バスマスタとして機能する第3のインタフェース部と、を有し、前記第1のトランザクションに応じて第2のトランザクションを発行する第2のモジュールと、前記バススレーブとして機能する第4のインタフェース部を有し、前記第2のトランザクションを受信する第3のモジュールと、前記バスマスタ停止要求をアサートし、前記バスマスタ停止要求に対応するバスマスタ停止応答がアサートされたことに応じて前記バスマスタ停止要求のアサート処理を完了するバスマスタ停止要求制御部と、前記第1のトランザクションに強制処理要求符号を付す符号付加部と、を有し、前記符号付加部は、前記ルータ上に設けられ、前記第2のモジュールは、前記バスマスタ停止要求がアサートされている期間に前記強制処理要求符号が付加された前記第1のトランザクションを受信した場合、前記バスマスタ停止応答をアサートすると共に前記第2のトランザクションを発行し、前記第1のモジュールは、前記第1のトランザクションに対する応答を受信したことに応じて前記バスマスタ停止要求に対応する前記バスマスタ停止応答をアサートする。
本発明にかかる半導体装置によれば、第2のモジュールが、強制処理要求符号が付された第1のトランザクションを受信した場合には、バスマスタ停止要求がアサートされているか否かに関わらず第2のトランザクションの発行を行う。これにより、バスマスタ停止要求のアサート後に第1のトランザクションによる動作を完了するために必要な第2のトランザクションを発行する必要が生じても、当該第2のトランザクションを発行することが可能になり、バスシステムのハングアップを防ぐことが可能になる。
本発明にかかる半導体装置によれば、バスシステムのハングアップを防ぐことができる。
実施の形態1にかかる半導体装置のブロック図である。 実施の形態1にかかるCPUのブロック図である。 実施の形態1にかかるトランスレーションルックアサイドバッファの概略図の一例を示す図である。 実施の形態1にかかるバスリクエストのデータフォーマットの概略図である。 実施の形態1にかかるL2キャッシュのブロック図である。 実施の形態1にかかる半導体装置の動作を示すタイミングチャートである。 実施の形態1にかかる半導体装置において強制処理要求符号を用いない場合の動作を示すタイミングチャートである。 実施の形態1にかかるパワーマネジメント部の動作を示すフローチャートである。 実施の形態2にかかるルータのブロック図である。 実施の形態2にかかるルータのルーティングテーブルの概略図の一例を示す図である。
実施の形態1
以下、本発明の実施の形態について図面を参照して説明する。図1に実施の形態1にかかる半導体装置1のブロック図を示す。なお、図1に示したブロック図では、半導体装置1によって利用されるUSBデバイスと、外部メモリとを示した。
図1に示すように実施の形態1にかかる半導体装置1は、バスマスタ停止要求制御部10、CPU(Central Processing Unit)11、12、グラフィックスコア13、L2キャッシュ14、DMAコントローラ15、USBインタフェース16、外部メモリインタフェース17、内部メモリ18、パワーマネジメント部19を有する。
図1に示すように、半導体装置1では、CPU11、12、グラフィックスコア13、及び、L2キャッシュ14がコアバスBUS1によって互いに接続され、L2キャッシュ14、DMAコントローラ15、USBインタフェース16、外部メモリインタフェース17、内部メモリ18、及び、パワーマネジメント部19がメインバスBUS2によって互いに接続される。なお、図1に示すシステムの構成は、一例であって、いずれのバスにどの回路ブロックが接続されるかは、半導体装置1のシステムの仕様に応じて変更することが可能である。
また、半導体装置1は、トランザクションを発行し、バスマスタ停止要求に応じてトランザクションの発行を停止するバスマスタと、トランザクションを受信するバススレーブと、のいずれか一方の機能が割り当てられる複数のインタフェース部が、バスを介して接続されるものである。このインタフェース部は、コアバス又はメインバスに接続される回路ブロックの一部として実装される。
また、半導体装置1では、ルータを用いてコアバス及びメインバスを構成する。ルータは、バスマスタとして機能するインタフェース部から発行されるトランザクションを、バススレーブとして機能するインタフェース部に出力する。より具体的には、ルータは、当該トランザクションに含まれるアクセスアドレスを参照してトランザクションの出力先を判別し、判別結果に基づき決定した出力先のバススレーブとして機能するインタフェース部に当該トランザクションを発行する。
バスマスタ停止要求制御部10は、バスマスタ停止要求REQ1〜REQ6をアサートし、バスマスタ停止要求REQ1〜REQ6に対応するバスマスタ停止応答ACK1〜ACK6がアサートされたことに応じてバスマスタ停止要求REQ1〜REQ6のアサート処理を完了する。より具体的には、バスマスタ停止要求制御部10は、パワーマネジメント部19が出力するバス停止要求REQ0がアサートされたことに応じてバスマスタ停止要求REQ1〜REQ6をアサートする。また、バスマスタ停止要求制御部10は、バスマスタ停止要求REQ1〜REQ6に対応するバスマスタ停止応答ACK1〜ACK6がアサートされたことに応じてパワーマネジメント部19に出力するバス停止応答ACK0をアサートする。そして、バスマスタ停止要求制御部10は、パワーマネジメント部19に出力するバス停止応答ACK0をアサートすることでバスマスタ停止要求REQ1〜REQ6のアサート処理を完了する。
CPU11、12及びグラフィックスコア13は、バスマスタとして機能する第1のインタフェース部を有し、第1のトランザクションを発行する第1のモジュールである。また、この第1のモジュールは、第1のトランザクションに対する応答を受信したことに応じてバスマスタ停止要求REQ1〜REQ3に対応するバスマスタ停止応答ACK1〜ACK3をアサートする。CPU11、12は、半導体装置1においてプログラムに基づいた汎用的な演算を行う演算器である。また、グラフィックスコア13は、半導体装置1における画像処理を行う演算器である。
L2キャッシュ14、DMAコントローラ15及びUSBインタフェース16は、バススレーブとして機能する第2のインタフェース部と、バスマスタとして機能する第3のインタフェース部と、を有し、第1のトランザクションに応じて第2のトランザクションを発行する第2のモジュールである。また、この第2のモジュールは、バス停止要求REQ4〜REQ6がアサートされている期間に強制処理要求符号が付加された第1のトランザクションを受信した場合、バスマスタ停止応答ACK4〜ACK6をアサートすると共に第2のトランザクションを発行する。
L2キャッシュ14は、CPU11、12及びグラフィックスコア13が利用するデータを一時的に記憶するキャッシュメモリである。L2キャッシュ14は、キャッシュメモリ上に要求されたデータがない場合、内部メモリあるいは外部メモリから要求されたデータを取得し、取得したデータをデータの要求元に返信するとともに、自モジュールに格納する。
DMAコントローラ15は、CPU11又はCPU12を介さずに回路ブロック間のデータ転送を行うダイレクトメモリアクセスを制御する回路ブロックである。USBインタフェース16は、外部に接続されるUSBデバイスのためのインタフェース回路である。
外部メモリインタフェース17、内部メモリ18、パワーマネジメント部19は、バススレーブとして機能する第4のインタフェース部を有し、第2のトランザクションを受信する第3のモジュールである。
外部メモリインタフェース17は、外部メモリと半導体装置1との間でデータの送受信を行うためのインタフェース回路である。内部メモリ18は、半導体装置1が利用するデータを格納する記憶部である。
パワーマネジメント部19は、バスマスタ停止要求制御部10に与えるバス停止要求REQ0をアサートし、バスマスタ停止要求制御部10におけるアサート処理の完了に応じてバスマスタ停止要求制御部10がアサートするバス停止応答ACK0に基づきバスに接続されるモジュール及びバスの少なくとも1つの動作状態を制御する。パワーマネジメント部19は、バスに接続されるモジュール及びバスの動作状態を定義する複数の設定レジスタ(以下、レジスタ群20と称す)を有し、バス停止応答ACK0がアサートされたことに応じてバスに接続されるモジュール及びバスの少なくとも1つの動作状態を設定レジスタ群20に定義された状態とする。例えば、パワーマネジメント部19は、バスに接続されるモジュール及びバスの少なくとも1つの動作クロックの周波数を変更、動作クロック信号の停止又は前記バスに接続されるモジュールの電源電圧を遮断する。
また、パワーマネジメント部19は、CPU11又はCPU12が設定レジスタ群20の所定のレジスタの値を書き換える。そして、パワーマネジメント部19は、所定のレジスタが書き換えられたことに応じてバス停止要求信号REQ0をアサートする。このバス停止要求信号REQ0には、停止対象のモジュールを指定する情報を含む。
実施の形態1にかかる半導体装置1では、第2のモジュール(例えば、L2キャッシュ14、DMAコントローラ15及びUSBインタフェース16)が、バス停止要求REQ4〜REQ6がアサートされている期間に強制処理要求符号が付加された第1のトランザクションを受信した場合、バスマスタ停止応答ACK4〜ACK6をアサートすると共に第2のトランザクションを発行する。つまり、半導体装置1では、第1のトランザクションに強制処理要求符号を付す符号付加部を有する。この符号付加部は、バスシステム上の様々な位置に設けることが可能である。そこで、実施の形態1では、符号付加部が第1のモジュール(例えば、CPU11、12及びグラフィックスコア13)を構成する1つの回路として実装した例について説明する。
第1のモジュールとして機能するCPU11、12及びグラフィックスコア13は、符号付加部とインタフェース部の構成が同じであるため、ここでは、第1のモジュールの例としてCPU11について説明する。
図2にCPU11のブロック図を示す。図2に示すように、CPU11は、CPUコア21、メモリ管理ユニット22、第1のインタフェース部(例えば、バスマスタインタフェース23)を有する。
CPUコア21は、CPU11においてプログラムに基づく演算を行う回路ブロックである。CPUコア21は、演算の結果に応じて外部アクセスリクエストを発行する。メモリ管理ユニット22は、CPUコア21から発行された外部アクセスリクエストのアドレスを論理アドレスから物理アドレスに変換するとともに外部アクセスリクエストに付加情報を付加する。バスマスタインタフェース23は、メモリ管理ユニット22が出力する外部アクセスリクエストと付加情報とを含むバスリクエストをコアバスBUS1に出力する。そして、バスマスタインタフェース23が出力するバスリクエストが第1のトランザクションとなる。
バスマスタインタフェース23は、バスリクエストに対応する応答(例えば、バスレスポンス)があった場合、当該バスレスポンスをCPUコア21に返信する。そして、CPUコア21は、バスレスポンスに対して処理を行う。
また、バスマスタインタフェース23は、バスマスタ停止要求REQ1がアサートされている期間は新たなバスアクセスの発行を停止する。さらに、バスマスタインタフェース23は、最後に発行したバスアクセスに対応したバスレスポンスがあったことに応じてバス停止応答ACK1をアサートする。
ここで、メモリ管理ユニット22の動作についてより詳細に説明する。メモリ管理ユニット22は、トランスレーションルックアサイドバッファ(TLB:Translation Lookaside Buffer)を有する。そして、メモリ管理ユニット22は、TLBを参照して、論理アドレスから物理アドレスへの変換を行う。また、メモリ管理ユニット22は、TLBを参照して、CPUコア21が出力する外部アクセスアドレスの論理アドレスに対応する付加情報を付加する。そこで、メモリ管理ユニット22のTLBの一例を図3に示す。図3に示すように、TLBは、1組の物理アドレス、アクセス付加情報及び強制処理要求符号(例えば、強制実行フラグ)と、CPUコア21が出力する外部アクセスリクエストの論理アドレスとが対応付けられた表である。CPU11では、メモリ管理ユニット22がTLBのアクセス付加情報と強制フラグとを外部アクセスリクエストに付すことから、メモリ管理ユニット22が符号付加部として機能する。
また、メモリ管理ユニット22が出力する外部アクセスクエストと付加情報とから生成されるバスアクセスのデータフォーマットの概略図の一例を図4に示す。図4に示すように、バスリクエストは、アクセスアドレスが記述されるアドレス領域と、アクセスが書き込み属性であるか読み出し属性であるかを示す属性領域と、送出するデータの属性を示すサイドバンド情報が記述されるサイドバンド情報領域と、書き込みデータが記述されるライトデータ領域とを有する。そして、このサイドバンド情報には、データの大きさを示すアクセスサイズ情報と、当該バスリクエストがキャッシュメモリを介して行われるべきかを示すキャッシャブルアクセスフラグ、バスを優先的に利用する権限を示すバス優先度フラグと、強制実行フラグと、が含まれる。つまり、強制実行フラグは、サイドバンド情報領域の1ビットのデータである。強制実行フラグは、例えば、該当するビットが1であれば有効な状態を示し、該当するビットが0であれば無効な状態を示す。
続いて、第2のモジュールについてより詳細に説明する。図1に示す例では、L2キャッシュ14、DMAコントローラ15及びUSBインタフェース16が第2のモジュールとして機能するが、強制処理要求符号に基づく動作を行うために必要な構成は同じであるため、ここでは、第2のモジュールとしてL2キャッシュ14について説明する。
L2キャッシュ14のブロック図を図5に示す。図5に示すように、L2キャッシュ14は、第2のインタフェース部(例えば、バススレーブインタフェース31)、キャッシュ制御部32、キャッシュメモリ33、第3のバスインタフェース部(例えば、バスマスタインタフェース34)、バス停止制御部35、キャッシュフィル制御部36を有する。
バススレーブインタフェース31は、コアバスBUS1からバスリクエストを受信する。このバスリクエストには、強制実行フラグFLGが含まれる。そして、バススレーブインタフェース31は、受信したバスリクエストをキャッシュ制御部32に与える。キャッシュ制御部32は、バスリクエストにより供給されたデータがキャッシュメモリ33に存在するか否かを判定するキャッシュヒット判定処理を行う。また、キャッシュ制御部32は、キャッシュヒット判定処理においてキャッシュメモリ33に要求されたデータがあると判定された場合にはバスリクエストが後段に伝達されることを防止し、キャッシュヒット判定処理においてキャッシュメモリ33に要求されたデータがないと判定された場合にはバスリクエストを後段に伝達するバスリクエスト制御処理を行う。L2キャッシュ14は、キャッシュメモリ33に要求されたデータがある場合、バススレーブインタフェース31を介してキャッシュメモリ33に格納されたデータを返信する。この返信は、バスレスポンスとなる。
一方、L2キャッシュ14は、キャッシュメモリ33に要求されたデータがない場合、要求されたデータを確保するためにバスマスタインタフェース34により第2のトランザクション(例えば、バスリクエスト)を発行する。バスマスタインタフェース34が出力するバスリクエストには、強制実行フラグFLGが含まれる。
また、L2キャッシュ14では、バス停止制御部35に強制実行フラグFLGの情報が与えられる。バス停止制御部35は、バスマスタ停止要求REQ4がアサートされたことに応じてバスマスタインタフェース34に第2のトランザクションの発行を停止させるトランザクション発行停止信号REQ_STPとバス停止応答ACK4とをアサートする。また、バス停止制御部35は、バススレーブインタフェース31を介して入力されるバスリクエストに強制実行フラグFLGが付加されている場合は、バスマスタ停止要求REQ4がアサートされているか否か関わらずトランザクション発行停止信号REQ_STPをネゲートする。
バスマスタインタフェース34は、トランザクション発行停止信号REQ_STPがアサートされている期間は新たなバスリクエストの発行を停止する。一方、バスマスタインタフェース34は、トランザクション発行停止信号REQ_STPがネゲートされている期間はバスリクエストを発行する。このバスリクエストは、バススレーブとして機能する第4のインタフェース部を有する第3のモジュール(例えば、内部メモリ18)に届けられる。
また、バスマスタインタフェース34は、自らが発行したバスリクエストに対応するバスレスポンスがあった場合、当該バスレスポンスをキャッシュフィル制御部36及びバススレーブインタフェース31に出力する。キャッシュフィル制御部36は、与えられたバスレスポンスに含まれるデータをキャッシュメモリ33に格納する。また、バススレーブインタフェース31は、バスマスタインタフェース34から出力されたバスレスポンスをコアバスに出力する。
このように、第2のモジュール(例えば、L2キャッシュ14、DMAコントローラ15及びUSBインタフェース16)では、バス停止制御部35を有する。そして、このバス停止制御部35により、バス停止要求REQ4〜REQ6がアサートされている期間に強制処理要求符号が付加された第1のトランザクションを受信した場合であっても、バスマスタ停止応答ACK4〜ACK6をアサートすると共に第2のトランザクションを発行することを実現する。
続いて、実施の形態1にかかる半導体装置1の動作について説明する。図6に半導体装置1の動作を示すタイミングチャートを示す。図6は、半導体装置1の動作のうち特にCPU11がL2キャッシュ14にバスアクセスを発行し、L2キャッシュ14がさらに内部メモリ18に対してバスアクセスを発行する場合において、CPU11がバスアクセスを発行後にバス停止要求REQ0がアサートされた例を示したものである。なお、CPU12、グラフィックスコア13、DMAコントローラ15及びUSBインタフェース16については、バスマスタ停止要求REQ2、REQ3、REQ5、REQ6に対してバスマスタ停止要求ACK2、ACK3、ACK5、ACK6を即座にアサートするため、図6では、これらの回路ブロックについてのタイミングチャートについては省略した。
図6に示す例では、タイミングT1において、CPU11がL2キャッシュ14に対してバスアクセスを発行する。そして、L2キャッシュ14がバスアクセスを発行する前のタイミングT2においてパワーマネジメント部19がバス停止要求REQ0をアサートする。次いで、タイミングT3において、このバス停止要求REQ0がアサートされたことに応じてバスマスタ停止要求制御部10がバスマスタ停止要求REQ1、REQ4をアサートする。そして、タイミングT4において、L2キャッシュ14では、バスマスタ停止要求REQ4がアサートされたことに応じてバスマスタ停止応答ACK4をアサートする。
図6に示す例では、L2キャッシュ14においてキャッシュミスヒットが生じたため、タイミングT5において、L2キャッシュ14が内部メモリ18に対してバスアクセスを発行する。このとき半導体装置1では、CPU11が強制実行フラグFLGを付加してバスアクセスを発行する。そのため、L2キャッシュ14は、この強制実行フラグFLGにより、タイミングT4でバスマスタ停止応答ACK4をアサートした後のバスマスタインタフェース34がバスアクセスを発行することができる。
そして、半導体装置1では、タイミングT5で発行されたバスアクセスに応答して内部メモリ18がバスレスポンスを返信し、タイミングT6でCPU11にタイミングT1で発行したバスアクセスに対応したバスレスポンスが到達する。そして、CPU11においてバスレスポンスに対応する処理が完了したタイミングT7において、CPU11のバスマスタインタフェース23はバスマスタ停止応答ACK1をアサートする。そして、タイミングT7においてバスマスタ停止応答ACK1〜ACK6の全てがアサートされるため、タイミングT8において、バスマスタ停止要求制御部10はバス停止応答ACK0をアサートする。
図6に示すように、実施の形態1にかかる半導体装置1では、強制実行フラグFLGに基づく制御を行うことで、バス停止要求REQ0がアサートされた場合においても、CPU11が発行したバスアクセスに関する動作を完了することができる。
ここで、比較例として、強制実行フラグFLGを用いない場合の半導体装置1の動作について説明する。強制実行フラグFLGを用いない場合の半導体装置1の動作を示すタイミングチャートを図7に示す。なお、図7に示す比較例は、図6に示した半導体装置1の動作を強制実行フラグFLGを用いずに行った場合のものである。
図7に示すように、強制実行フラグFLGを用いない場合、タイミングT2でアサートされたバス停止要求REQ0により、L2キャッシュ14がバスアクセスを発行する前にバスマスタ停止要求REQ4がアサートされる(タイミングT3)。そして、L2キャッシュ14は、タイミングT3でアサートされたバスマスタ停止要求REQ4に応じて、それ以降に新たにバスリクエストを発行することが禁止される。これにより、タイミングT5で発行されるバスアクセスが発行されない。そして、タイミングT5でバスアクセスが発行されないことにともないタイミングT6以降もバスレスポンスがCPU11に到達せずにバスマスタ停止応答ACK1がアサートされない。従って、図7に示す例では、バス停止要求REQ1に対応するバス停止応答ACK1がアサートされず、バスマスタ停止要求制御部10がバス停止要求のアサート処理を完了できずに半導体装置1がハングアップする問題が生じる。
続いて、実施の形態1にかかる半導体装置1の動作のうちパワーマネジメント部19の動作について説明する。パワーマネジメント部19の動作を示すフローチャートを図8に示す。なお、図8に示す例では、パワーマネジメント部19への制御指示をCPU11から行う例を示すものであるが、制御指示は、例えば、CPU12等の他の回路ブロックから行っても良い。
図8に示すように、パワーマネジメント部19は、CPU11からの制御指示に基づきバス停止要求REQ0をアサートする(ステップS1)。続いて、パワーマネジメント部19は、バス停止要求REQ0に対応するバス停止応答ACK0がアサートされることを待機する(ステップS2)。そして、パワーマネジメント部19は、バス停止応答ACK0がアサートされたことに応じてパワーマネジメント制御を行う(ステップS3)。このパワーマネジメント制御では、例えば、コアバス、システムバス及びバスに接続される回路ブロックに供給されるクロック信号の周波数変更、クロック信号の停止、又は電源遮断制御等の処理が行われる。そして、パワーマネジメント部19は、パワーマネジメント制御の処理完了後所定の待機時間を持って、バス停止要求REQ0をネゲートする(ステップS4)。なお、バス停止要求REQ0がネゲートされることによって、バスマスタ停止要求制御部10は、バスマスタ停止要求REQ1〜REQ6をネゲートする。
上記説明より、実施の形態1にかかる半導体装置1は、強制実行フラグFLGを第1のトランザクション(例えば、CPU11が発行するバスアクセス)に付す。そして、強制実行フラグFLGが付された第1のトランザクションを受信した第2のモジュール(例えば、L2キャッシュ14)は、強制実行フラグFLGが有効である場合、バス停止要求REQ4がアサートされている期間であっても第3のインタフェース部(例えば、バスマスタインタフェース34)に第2のトランザクションを発行させる。これにより、半導体装置1では、バス停止要求REQ0がどのようなタイミングでアサートされたとしてもシステムをハングアップさせることなく、正常にバスを停止できる。
また、バスを介して回路ブロックを相互に接続するバスシステムでは、バス停止要求REQ1〜REQ6のアサート順序をプログラムによって、或いは、ハードウェアの設計段階において制御することでハングアップを防ぐこともできる。しかしながら、プログラム或いはハードウェアによるアサート順序の制御を行う場合、システムがハングアップするモードに対して全て対策を講じなければならず、設計が煩雑になる問題及びバグ発生リスクが高まる問題がある。
しかしながら、実施の形態1にかかる半導体装置1では、システムのハングアップが懸念されるバスアクセスに対して強制実行フラグを付すだけバス構成によらずハングアップを防止することができる。近年は、バスを多段のバスによりバスシステム構成する、動作速度が異なるバスを組み合わせてバスシステムを構成するなど、バスシステムの構成が複雑になる傾向がある。このような複雑な構成のバスシステムでは、バグが発生する動作モードの全てを設計段階或いはプログラムの設計段階で考慮するのは非常に困難である。そのため、実施の形態1にかかる半導体装置1のように、システムのハングアップが生じる動作モードを考慮することなくバスシステムのハングアップを防止できることで、設計を容易化することができる。この効果は、バスシステムの構成が複雑になるほど顕著に表れる。
また、実施の形態1にかかる半導体装置1では、パワーマネジメント部19によりバスシステムの動作周波数の変更、停止、又は電源の遮断処理を行うことができる。これにより、半導体装置1では、システムに要求される処理能力に応じて消費電力を調整することができ、処理能力に応じた消費電力の削減を行うことができる。
実施の形態2
実施の形態2では、コアバスを構成するルータ上に符号付加部を設ける例について説明する。なお、実施の形態2にかかる半導体装置では、CPU11等の第1のモジュールからは符号付加部の機能は削除される。また、実施の形態2にかかる半導体装置のブロック図は、図1に示した実施の形態1にかかる半導体装置1と同じであるため、ここでは説明を省略する。
ここで、符号付加部としての機能を有する実施の形態2にかかるルータのブロック図を図9に示す。図9に示すように、ルータは、ルーティング制御部41及びルーティング情報格納部42を有する。
ルーティング制御部41は、第1のモジュール(例えば、CPU11、12及びグラフィックスコア13)からのバスリクエストを受けて、当該バスリクエストを伝達先の回路ブロックのバススレーブインタフェースに出力する。また、ルーティング制御部41は、受信したバスリクエストのアクセスアドレスの上位ビットをルーティング情報格納部42に出力する。
ルーティング情報格納部42は、アクセスアドレスの上位ビットに対応したバススレーブIDに置き換えると共に、バスリクエストに付加する強制実行フラグFLGを出力する。なお、バススレーブIDは、バススレーブとして機能する第2のバスインタフェールを識別するための値である。ルーティング制御部41は、強制実行フラグFLGを受信したバスリクエストに付加した後にバススレーブの1つに出力する。また、ルーティング情報格納部42には、ルーティングの規則を定義するルーティングテーブルを有する。
そこで、ルーティングテーブルの概略図の一例を図10に示す。図10に示すように、ルーティングテーブルは、1つのアクセスアドレスの上位ビットと、1組のバススレーブID及び強制実行フラグFLGと、の関連付けを定義するものである。ルーティング情報格納部42は、当該ルーティングテーブルに基づきバスリクエストに応じたバススレーブIDと強制実行フラグFLGを出力する。
上記説明より、符号付加部は、ルータに設けたとしても、システムのハングアップの原意となる第2のモジュールには、強制実行フラグFLGを付した第1のトランザクション(例えば、バスアクセス)を与えることができる。そして、実施の形態2にかかる半導体装置は、この強制実行フラグFLGに基づきバス停止要求REQ0がアサートされている期間中であっても、第2のトランザクション(第3のモジュールに対して発行するバスアクセス)を発行することができる。これにより、実施の形態2にかかる半導体装置では、バス停止要求REQ0がどのようなタイミングでアサートされたとしても、システムがハングアップすることを防ぐことができる。
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
1 半導体装置
10 バスマスタ停止要求制御部
11、12 CPU
13 グラフィックスコア
14 L2キャッシュ
15 DMAコントローラ
16 USBインタフェース
17 外部メモリインタフェース
18 内部メモリ
19 パワーマネジメント部
20 設定レジスタ群
21 CPUコア
22 メモリ管理ユニット
23 バスマスタインタフェース
31 バススレーブインタフェース
32 キャッシュ制御部
33 キャッシュメモリ
34 バスマスタインタフェース
35 バス停止制御部
36 キャッシュフィル制御部
41 ルーティング制御部
42 ルーティング情報格納部

Claims (5)

  1. トランザクションを発行し、バスマスタ停止要求に応じて前記トランザクションの発行を停止するバスマスタと、前記トランザクションを受信するバススレーブと、のいずれか一方の機能が割り当てられる複数のインタフェース部が、ルータを介して接続される半導体装置であって、
    前記バスマスタとして機能する第1のインタフェース部を有し、第1のトランザクションを発行する第1のモジュールと、
    前記バススレーブとして機能する第2のインタフェース部と、前記バスマスタとして機能する第3のインタフェース部と、を有し、前記第1のトランザクションに応じて第2のトランザクションを発行する第2のモジュールと、
    前記バススレーブとして機能する第4のインタフェース部を有し、前記第2のトランザクションを受信する第3のモジュールと、
    前記バスマスタ停止要求をアサートし、前記バスマスタ停止要求に対応するバスマスタ停止応答がアサートされたことに応じて前記バスマスタ停止要求のアサート処理を完了するバスマスタ停止要求制御部と、
    前記第1のトランザクションに強制処理要求符号を付す符号付加部と、を有し、
    前記符号付加部は、前記ルータ上に設けられ、
    前記第2のモジュールは、前記バスマスタ停止要求がアサートされている期間に前記強制処理要求符号が付加された前記第1のトランザクションを受信した場合、前記バスマスタ停止応答をアサートすると共に前記第2のトランザクションを発行し、
    前記第1のモジュールは、前記第1のトランザクションに対する応答を受信したことに応じて前記バスマスタ停止要求に対応する前記バスマスタ停止応答をアサートする半導体装置。
  2. 前記第2のモジュールは、前記バスマスタ停止要求が与えられたことに応じて前記第3のインタフェース部に前記第2のトランザクションの発行を停止させるトランザクション発行停止信号と前記バスマスタ停止応答とをアサートするとともに、前記第1のトランザクションに前記強制処理要求符号が付加されている場合は、前記バスマスタ停止要求がアサートされているか否かに関わらず前記トランザクション発行停止信号をネゲートするバス停止制御部を有する請求項1に記載の半導体装置。
  3. 前記バスマスタ停止要求制御部に与えるバス停止要求をアサートし、前記バスマスタ停止要求制御部における前記アサート処理の完了に応じて前記バスマスタ停止要求制御部がアサートするバス停止応答に基づき前記ルータに接続されるモジュール及び前記ルータの少なくとも1つの動作状態を制御するパワーマネジメント部を有する請求項1又は2に記載の半導体装置。
  4. 前記パワーマネジメント部は、前記ルータに接続されるモジュール及び前記ルータの動作状態を定義する複数の設定レジスタを有し、前記バス停止応答がアサートされたことに応じて前記ルータに接続されるモジュール及び前記ルータの少なくとも1つの動作状態を前記複数の設定レジスタに定義された状態とする請求項3に記載の半導体装置。
  5. 前記パワーマネジメント部は、前記バス停止応答がアサートされたことに応じて前記ルータに接続されるモジュール及び前記ルータの少なくとも1つの動作クロックの周波数を変更、動作クロック信号の停止又は前記ルータに接続されるモジュールの電源電圧を遮断する請求項3に記載の半導体装置。
JP2015172584A 2015-09-02 2015-09-02 半導体装置 Expired - Fee Related JP5981004B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015172584A JP5981004B2 (ja) 2015-09-02 2015-09-02 半導体装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015172584A JP5981004B2 (ja) 2015-09-02 2015-09-02 半導体装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2012005176A Division JP5805546B2 (ja) 2012-01-13 2012-01-13 半導体装置

Publications (2)

Publication Number Publication Date
JP2016015158A true JP2016015158A (ja) 2016-01-28
JP5981004B2 JP5981004B2 (ja) 2016-08-31

Family

ID=55231238

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015172584A Expired - Fee Related JP5981004B2 (ja) 2015-09-02 2015-09-02 半導体装置

Country Status (1)

Country Link
JP (1) JP5981004B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10983927B2 (en) 2017-07-11 2021-04-20 Fuji Xerox Co., Ltd. Electronic device for recovering from buffer overrun in a bus system
JP7476640B2 (ja) 2020-04-17 2024-05-01 株式会社リコー 情報処理装置、インタフェース制御回路および情報処理装置の制御方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10649933B1 (en) * 2019-04-22 2020-05-12 International Business Machines Corporation Select state detection and signal generation

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003058271A (ja) * 2001-08-15 2003-02-28 Fujitsu Ltd 半導体装置及びクロック制御方法
JP2006091972A (ja) * 2004-09-21 2006-04-06 Renesas Technology Corp バスシステム及び半導体集積回路
JP2007219678A (ja) * 2006-02-15 2007-08-30 Oki Electric Ind Co Ltd マルチレイヤバス・システム
JP2009015359A (ja) * 2007-06-29 2009-01-22 Panasonic Corp 計算機システム、プロセッサ装置および計算機システムの制御方法
WO2010013340A1 (ja) * 2008-07-31 2010-02-04 富士通株式会社 データ転送装置、データ送信装置、データ受信装置およびデータ転送方法
JP2010250470A (ja) * 2009-04-14 2010-11-04 Nec Corp コンピュータ・システム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003058271A (ja) * 2001-08-15 2003-02-28 Fujitsu Ltd 半導体装置及びクロック制御方法
JP2006091972A (ja) * 2004-09-21 2006-04-06 Renesas Technology Corp バスシステム及び半導体集積回路
JP2007219678A (ja) * 2006-02-15 2007-08-30 Oki Electric Ind Co Ltd マルチレイヤバス・システム
JP2009015359A (ja) * 2007-06-29 2009-01-22 Panasonic Corp 計算機システム、プロセッサ装置および計算機システムの制御方法
WO2010013340A1 (ja) * 2008-07-31 2010-02-04 富士通株式会社 データ転送装置、データ送信装置、データ受信装置およびデータ転送方法
JP2010250470A (ja) * 2009-04-14 2010-11-04 Nec Corp コンピュータ・システム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10983927B2 (en) 2017-07-11 2021-04-20 Fuji Xerox Co., Ltd. Electronic device for recovering from buffer overrun in a bus system
JP7476640B2 (ja) 2020-04-17 2024-05-01 株式会社リコー 情報処理装置、インタフェース制御回路および情報処理装置の制御方法

Also Published As

Publication number Publication date
JP5981004B2 (ja) 2016-08-31

Similar Documents

Publication Publication Date Title
CN102567109B (zh) 中断分配方案
KR102355989B1 (ko) 다중 노드 시스템 저전력 관리
CN107636630B (zh) 中断控制器
US8996774B2 (en) Performing emulated message signaled interrupt handling
US20120311266A1 (en) Multiprocessor and image processing system using the same
US9170963B2 (en) Apparatus and method for generating interrupt signal that supports multi-processor
US10459771B2 (en) Lightweight thread synchronization using shared memory state
JP5981004B2 (ja) 半導体装置
JP2012128788A (ja) 車両制御装置、データ通信方法
EP4004753A1 (en) Programmable network interface device comprising a host computing device and a network interface device
US10402332B2 (en) Memory pre-fetch for virtual memory
JP5805546B2 (ja) 半導体装置
TWI502361B (zh) 加速信息發信中斷處理的處理器、方法及系統
US7581042B2 (en) I/O hub resident cache line monitor and device register update
US9152588B2 (en) Race-free level-sensitive interrupt delivery using fabric delivered interrupts
US11275707B2 (en) Multi-core processor and inter-core data forwarding method
US8966149B2 (en) Emulation of an input/output advanced programmable interrupt controller
JP5630886B2 (ja) 半導体装置
JP5464676B2 (ja) 半導体装置
JP2010049718A (ja) 半導体装置
JP5431823B2 (ja) 半導体装置
JP2011108051A (ja) バス制御装置、プロセッサ、電子装置及びバス制御方法
JP2017004337A (ja) マルチ・プログラマブルデバイス・システムとその制御方法
JP2012118687A (ja) 半導体集積回路

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160630

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160705

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160727

R150 Certificate of patent or registration of utility model

Ref document number: 5981004

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees