JP6946168B2 - 半導体装置 - Google Patents
半導体装置 Download PDFInfo
- Publication number
- JP6946168B2 JP6946168B2 JP2017246433A JP2017246433A JP6946168B2 JP 6946168 B2 JP6946168 B2 JP 6946168B2 JP 2017246433 A JP2017246433 A JP 2017246433A JP 2017246433 A JP2017246433 A JP 2017246433A JP 6946168 B2 JP6946168 B2 JP 6946168B2
- Authority
- JP
- Japan
- Prior art keywords
- control unit
- access
- request
- cache
- write request
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0831—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
- G06F12/0835—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means for main memory peripheral accesses (e.g. I/O or DMA)
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/084—Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
- G06F13/1663—Access to shared memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Memory System (AREA)
- Bus Control (AREA)
Description
図1は、実施形態1に係る半導体装置を含む電子装置を示す。電子装置10は、マスタA20、マスタB30、マスタC40、サブバスコントローラ22R、32R、42R、22W、32W、42W、及び77、中央バス制御システム50及び60、インターコネクト70、キャッシュ75、メモリコントローラ80、並びにメモリ90を有する。電子装置10の構成要素のうち、例えば、マスタA20、マスタB30、マスタC40、サブバスコントローラ22R、32R、42R、22W、32W、42W、及び77、中央バス制御システム50及び60、インターコネクト70、キャッシュ75、並びにメモリコントローラ80は、半導体装置を構成する。半導体装置の構成要素のうち、例えばサブバスコントローラ22R、32R、42W、22W、32W、42W、及び77、インターコネクト70、キャッシュ75、並びにメモリコントローラ80は、ハードウェア回路として構成することができる。また、中央バス制御システム50及び60は、例えばプロセッサを含んだ回路として構成することができる
図2は、中央バス制御システム50の構成例を示す。中央バス制御システム50は、権利付与選択制御部501、マスク信号生成部502、配付優先度計算回路503、権利付与数制御部504、リフレッシュ制御部505、転送量モニタ510、スロット設定レジスタ521、予約型レジスタ群522、BE(Best Effort)型レジスタ群523、及び付与可能最大数設定レジスタ524を有する。
図3は、中央バス制御システム60の構成例を示す。中央バス制御システム60は、権利付与選択制御部601、マスク信号生成部602、配付優先度計算回路603、権利付与数制御部604、転送量モニタ610、スロット設定レジスタ621、予約型レジスタ群622、BE型レジスタ群623、及び付与可能最大数設定レジスタ624を有する。中央バス制御システム60の構成は、リフレッシュ制御部505(図2を参照)を含まない点を除けば、中央バス制御システム50の構成と同様でよい。
図4は、中央バス制御システム50におけるアクセス権付与の動作手順を示す。中央バス制御システム50の権利付与数制御部504(図2を参照)は、メモリコントローラ80からバッファ解放通知を受け取ったか否かを判断する(ステップA1)。権利付与数制御部504は、ステップA1でバッファ解放通知を受け取ったと判断すると、バッファが解放された分だけ権利付与可能数を増加させる(ステップA2)。権利付与数制御部504は、ステップA1でバッファ解放通知を受け取っていないと判断した場合は、権利付与可能数を変化させない。
本実施形態では、電子装置10は、インターコネクト70とメモリコントローラ80との間に、ライトバックを行うキャッシュ75を有する。各マスタが発行したライト要求はキャッシュ75に一時的に留められ、キャッシュ75は、例えばメモリコントローラ80に空きがある場合に、ライトバックを行う。キャッシュ75は、データバッファとしての役割が大きく、リードデータがキャッシュにヒットする期待値は小さい。そこで、本実施形態では、中央バス制御システム50が行う各マスタのリード要求に対するアクセス制御において、リードデータがキャッシュにヒットせず、リード要求がメモリコントローラ80へ到達することを前提としたアクセス制御を行う。別の言い方をすれば、中央バス制御システム50は、リード要求がメモリコントローラ80のバッファ81に到達することを前提に、各マスタのリード要求に対してアクセス権を付与する。
次いで、実施形態2を説明する。本実施形態係る半導体装置を含む電子装置の構成は、図1に示す実施形態に係る電子装置10の構成と同様でよい。図6は、本実施形態において用いられる中央バス制御システム(中央バス制御システム1)の構成例を示す。本実施形態において用いられる中央バス制御システム50aは、図2に示される実施形態1で用いられた中央バス制御システム50の構成に加えて、配付フェーズ設定レジスタ531、配付オーバラップ設定レジスタ532、及び配付フェーズ計算回路533を有する。その他の点は、実施形態1と同様でよい。
図7は、リード期間サブスロットとライト期間サブスロットとの設定例を示す。図7の例では、1つの基本スロットは6つのサブスロットを含んでいる。配付フェーズ設定レジスタ531は、例えばサブスロット1、2、3、及び5がリード期間サブスロットで、サブスロット4及び6がライト期間サブスロットである旨を示す情報を記憶する。その場合、権利付与選択制御部501は、サブスロット1、2、3、及び5では、リード要求に対してアクセス権を付与し、ライト要求に対するアクセス権の付与を抑止する。また、権利付与選択制御部501は、サブスロット4及び6では、ライト要求に対してアクセス権を付与し、リード要求に対するアクセス権の付与を抑止する。
本実施形態では、中央バス制御システム50aは、リード要求とライト要求とに対し、期間を分けて排他的にアクセス権を付与する。例えばDDRなどのメモリ80へのアクセスでは、アクセス種別をリードとライトとの間で切り替える場合、アクセス種別の切替え時に一定時間だけメモリアクセスしない期間を設ける必要がある。このため、メモリアクセスでは、アクセス種別が同種のものを連続してアクセスした方が、効率よくメモリアクセスできる。本実施形態では、リード期間サブスロットではリード要求に対してアクセス権を付与し、ライト期間サブスロットではライト要求に対してアクセス権を付与する。このようにすることで、同種のアクセス種別のアクセス要求がメモリコントローラ80に連続して到達することとなり、メモリコントローラ80内のスケジューリング効率などを向上させることができる。
本実施形態において、中央バス制御システム50aは、キャッシュ75からキャッシュの空きエントリ数を取得し、空きエントリ数に応じて、基本スロット内における、リード期間サブスロットの数とライト期間サブスロットの数とを動的に変更してもよい。図8(a)及び(b)は、それぞれリード期間サブスロットとライト期間サブスロットとの設定例を示す。図8(a)では、サブスロット1、2、3、4、及び5がリード期間サブスロットに設定され、サブスロット6がライト期間サブスロットに設定される。一方、図8(b)では、サブスロット1、3、及び5がリード期間サブスロットに設定され、サブスロット2、4、及び6がライト期間サブスロットに設定される。
続いて、実施形態3を説明する。本実施形態に係る電子装置の構成は、図1に示される実施形態1に係る電子装置10の構成と同様でよい。図9は、本実施形態において用いられる中央バス制御システム(中央バス制御システム2)の構成を示す。本実施形態において用いられる中央バス制御システム60aは、権利付与選択制御部601、権利付与数制御部604、スロット設定レジスタ621、付与可能最大数設定レジスタ624、及びQoSレジスタ群625を有する。権利付与数制御部604、スロット設定レジスタ621、及び付与可能最大数設定レジスタ624は、実施形態1で説明したものと同様でよい。
図10は、キャッシュ75の空きエントリ数のレベルを示す。例えば、キャッシュ75の空きエントリ数は複数のレベルを用いて管理される。図10に示す例では、キャッシュ75の空きエントリ数は、最小のレベル1から、最大のレベル4までの4つのレベルで管理される。権利付与選択制御部601は、取得したキャッシュ75の空きエントリ数がどのレベルであるかを判定する。権利付与選択制御部601は、例えば空きエントリ数がしきい値A以下の場合、空きエントリ数のレベルがレベル1である判定する。権利付与選択制御部601は、例えば空きエントリ数がしきい値Aより多く、かつしきい値B以下の場合、空きエントリ数のレベルがレベル2である判定する。権利付与選択制御部601は、例えば空きエントリ数がしきい値Bよりも多く、かつしきい値C以下の場合、空きエントリ数のレベルがレベル3である判定する。権利付与選択制御部601は、例えば空きエントリ数がしきい値C以上の場合、空きエントリ数のレベルがレベル4である判定する。QoSレジスタ群625は、レベル判定に用いられるしきい値を格納するレジスタも含んでいてもよい。
本実施形態では、権利付与選択制御部601は、キャッシュ75の空きエントリ数に応じて、アクセス権の付与対象のマスタを決定し、付与対象のマスタの中からアクセス権の付与先のマスタを選択する。例えばQoSレジスタ群625には、ビデオ入力を行うマスタについてキャッシュ75の空き状況にかかわらず常にアクセス権の付与対象とするための条件が記憶され、他のマスタについては、キャッシュ75が一定以上空いている場合にのみアクセス権の付与対象とするための条件が記憶される。その場合、キャッシュ75の空きエントリ数が少ないときに、ビデオ入力を行うマスタ以外のマスタに対するアクセス権の付与が停止されることで、ビデオ入力を行うマスタのバッファがオーバフローしないことを保証しやすくなる。空きエントリ数のレベルに応じてアクセス権の付与先のマスタを選択することに代えて、QoSレジスタ群に直接に空きエントリ数のしきい値を設定し、空きエントリ数がしきい値以上であるか否かに基づいて、アクセス権の付与先のマスタを選択してもよい。
引き続き、実施形態4を説明する。本実施形態では、半導体装置におけるバスの回路情報の生成を、各種設定情報から生成するバスジェネレータを説明する。図12は、バスジェネレータ800のハードウェア構成例を示す。バスジェネレータ800は、例えば、CPU801、メモリ802、キーボード804、マウス805、モニタ806、及びバス807を含むコンピュータ装置として構成される。メモリ802には、コンピュータ装置をバスジェネレータ800として動作させるためのバス生成ツール803が記憶される。コンピュータ装置において、CPU801がメモリ802から読み出されたバス生成ツール803に従って処理を実行することで、コンピュータ装置をバスジェネレータ800として動作させることができる。
本実施形態では、バスシステムの生成にバスジェネレータ800が用いられる。バスジェネレータ800に各種設定情報などを入力することで、例えば図1に示される電子装置10の各マスタからメモリ90までの間のバスシステムを自動生成することができる。
実施形態5を説明する。図16は、本実施形態に係る半導体装置を含む電子装置を示す。図1に示される実施形態1に係る電子装置10では、中央バス制御システム50は、キャッシュ75のライトバックに対応したリクエスト発行制御部78に対して付与するアクセス権を制御することで、ライトバックに対するアクセス制御を行う。これに対し、本実施形態に係る電子装置10aでは、中央バス制御システム50bは、リクエスト発行制御部78へ出力するアクセス許可を示す信号を制御することで、ライト要求バックに対するアクセス制御を実施する。その他の点は、実施形態1から3と同様でよい。
実施形態1に係る中央バス制御システム50が行うライト要求のアクセス権の付与において、アクセス権の付与先は、キャッシュ75のライトバックのみ、つまりリクエスト発行制御部78のみである。キャッシュのライトバックのアクセス許可を、アクセス権に基づいて実施する場合、アクセス権の付与先が1箇所のみであるため、アクセス権が連続して付与されることが多いと考えられる。DDRメモリに対するアクセスはバーストアクセスであることが一般的であり、またライト要求ではデータセルの転送もあるため、リクエスト発行制御部78に対して連続してアクセス権を付与したとしても、使用しきれずに、中央バス制御システム50に返却されることが多くなると考えられる。その場合、無駄なアクセス権の付与が増え、リード要求に対して付与可能なアクセス権が減る可能性がある。本実施形態では、中央バス制御システム50bは、リクエスト発行制御部78に出力する許可期間通知を用いてライト要求に対するアクセス制御を実施する。本実施形態では、リクエスト発行制御部78がライトリクエストをメモリコントローラ80に出力した場合に権利付与可能数を減らしており、上記した無駄なアクセス権の付与を回避することができる。
実施形態6を説明する。本実施形態に係る電子装置の構成は、図1に示される実施形態1に係る電子装置10の構成と同様でよい。本実施形態では、実施形態2と同様に、各マスタのリード要求に対応するリクエスト発行制御部23R、33R、及び43Rと、キャッシュ75のライト要求に対応するリクエスト発行制御部78とに対し、期間を分けて排他的にアクセス権が付与される。本実施形態では、図6に示される実施形態2において用いられる中央バス制御システム50aが、中央バス制御システム1として用いられる。本実施形態において、中央バス制御システム50aのリフレッシュ制御部505は、リード要求に対してアクセス権が付与される期間と、ライト要求に対してアクセス権が付与される期間とを切り替えるタイミングに合わせて、メモリ90にリフレッシュ要求を出力する。その他の点は、実施形態2と同様でよい。
図18は、メモリ90へのアクセスの動作例を示す。図18(a)は、リードとライトとの切替えに合わせてリフレッシュを行わない場合の動作例を示し、(b)は、リードとライトとの切替えに合わせてリフレッシュを行った場合の動作例を示す。
本実施形態では、中央バス制御システム50aは、リード要求に対してアクセス権を付与する期間と、ライト要求に対してアクセス権を付与する期間とを切り替えるタイミングに合わせて、メモリ90にリフレッシュ動作を実施させる。DDRなどのメモリへのアクセスでは、リードとライトとの間のアクセス種別の切替えのペナルティが大きい。本実施形態では、リード要求にアクセス権を付与する期間とライト要求にアクセス権を付与する期間との切替えタイミングに合わせてリフレッシュを実施させることで、リフレッシュペナルティでR/W切替えペナルティを隠蔽することができる。このようにすることで、メモリ90へのアクセスの効率を上げることができる。
なお、上記各実施形態では、中央バス制御システム50の権利付与選択制御部501(図2を参照)が、予約型レジスタ群522を用いたアクセス権の付与先の選択と、BE型レジスタ群523を用いたアクセス権の付与先の選択とを独立して行う例を説明したが、これには限定されない。権利付与選択制御部501は、予約型レジスタ群522を用いたアクセス権の付与先の選択と、BE型レジスタ群523を用いたアクセス権の付与先の選択とを切り替えて実施してもよい。中央バス制御システム60の権利付与選択制御部601(図3を参照)についても同様である。
メモリに対して、リード要求及びライト要求を含むアクセス要求を発行するマスタと、
バスを介して前記マスタに接続され、前記アクセス要求に従って前記メモリにアクセスするメモリコントローラと、
前記メモリコントローラと前記マスタとの間に配置され、前記アクセス要求がライト要求である場合に該ライト要求をキャッシュするキャッシュと、
前記マスタが発行したリード要求の前記メモリコントローラへの出力、及び前記キャッシュにキャッシュされたライト要求の前記メモリコントローラへの出力を制御する第1のアクセス制御を実施する第1のアクセス制御部と、
前記マスタが発行したライト要求の前記メモリコントローラへの出力を制御する第2のアクセス制御を実施する第2のアクセス制御部とを備え、
前記メモリコントローラは、前記アクセス要求を受け付けて記憶するリクエストバッファを有しており、
前記第1のアクセス制御部は、前記リクエストバッファの空き状況に応じて前記第1のアクセス制御を実施し、
前記第2のアクセス制御部は、前記キャッシュの空き状況に応じて前記第2のアクセス制御を実施する半導体装置。
前記バスは、前記リード要求を伝送するためのリード要求バスと、前記ライト要求を伝送するためのライト要求バスとを含み、
前記第1のアクセス制御部は、前記リード要求バスに対応して配置されたリードリクエスト発行制御部を有するリードサブバスコントローラと、前記キャッシュと前記メモリコントローラとの間の前記ライト要求バスに対応して配置された第1のライトリクエスト発行制御部を有する第1のライトサブバスコントローラと、前記リードサブバスコントローラ及び前記第1のライトサブバスコントローラを用いて前記第1のアクセス制御を実施する第1の中央バス制御システムとを含み、
前記第2のアクセス制御部は、前記マスタと前記キャッシュとの間の前記ライト要求バスに対応して配置された第2のライトリクエスト発行制御部を有する第2のライトサブバスコントローラと、前記第2のライトサブバスコントローラを用いて前記第2のアクセス制御を実施する第2の中央バス制御システムとを含む付記1に記載の半導体装置。
前記第1の中央バス制御システムは、前記リードリクエスト発行制御部へのアクセス権の付与を制御することで前記リード要求に対する前記第1のアクセス制御を実施し、
前記リードリクエスト発行制御部は、前記マスタから前記リード要求を受け付け、前記第1の中央バス制御システムから前記アクセス権が付与されている場合は前記リード要求を前記メモリコントローラへ出力し、前記アクセス権が付与されていない場合は前記リード要求の前記メモリコントローラへの出力を抑止する付記2に記載の半導体装置。
前記第1の中央バス制御システムは、前記第1のライトリクエスト発行制御部へのアクセス権の付与を制御することで前記ライト要求に対する前記第1のアクセス制御を実施し、
前記第1のライトリクエスト発行制御部は、前記キャッシュから前記ライト要求を受け付け、前記第1の中央バス制御システムから前記アクセス権が付与されている場合は前記ライト要求を前記メモリコントローラへ出力し、前記アクセス権が付与されていない場合は前記ライト要求の前記メモリコントローラへの出力を抑止する付記3に記載の半導体装置。
前記第1の中央バス制御システムは、前記第1のライトリクエスト発行制御部へ出力するアクセス許可を示す信号を制御することで前記ライト要求に対する前記第1のアクセス制御を実施し、
前記第1のライトリクエスト発行制御部は、前記キャッシュから前記ライト要求を受け付け、前記第1の中央バス制御システムから前記アクセスの許可を示す信号が出力されている場合は前記ライト要求を前記メモリコントローラへ出力し、前記アクセス許可を示す信号が出力されていない場合は前記ライト要求の前記メモリコントローラへの出力を抑止する付記3に記載の半導体装置。
前記第2の中央バス制御システムは、前記第2のライトリクエスト発行制御部へのアクセス権の付与を制御することで前記第2のアクセス制御を実施し、
前記第2のライトリクエスト発行制御部は、前記マスタから前記ライト要求を受け付け、前記第2の中央バス制御システムから前記アクセス権が付与されている場合は前記ライト要求を前記キャッシュへ出力し、前記アクセス権が付与されていない場合は前記ライト要求の前記キャッシュへの出力を抑制する付記2に記載の半導体装置。
前記マスタを複数有し、
前記複数のマスタから入力されるアクセス要求を調停して前記メモリコントローラに出力するインターコネクトを更に備える付記2に記載の半導体装置。
前記リードリクエスト発行制御部及び前記第2のライトリクエスト発行制御部は、前記複数のマスタのそれぞれと前記インターコネクトとの間を接続する複数のリードバス及びライトバスのそれぞれに対応して配置される付記7に記載の半導体装置。
前記第1の中央バス制御システムは、前記リクエストバッファの空きエントリ数に応じて、前記アクセス権を付与することが可能な数を示す権利付与可能数を管理し、該権利付与可能数の範囲で前記リードリクエスト発行制御部及び前記第1のライトリクエスト発行制御部に前記アクセス権を付与する付記4に記載の半導体装置。
前記メモリコントローラは、前記リクエストバッファが解放されると、前記リクエストバッファが解放された旨を示すバッファ解放通知を前記第1の中央バス制御システムに出力し、
前記第1の中央バス制御システムは、前記リードリクエスト発行制御部及び前記第1のライトリクエスト発行制御部に前記アクセス権を付与した場合、前記権利付与可能数から前記アクセス権の付与数を減算し、前記バッファ解放通知を受け取った場合、前記権利付与可能数に前記リクエストバッファにおいて解放されたエントリの数を加算する付記9に記載の半導体装置。
前記リードリクエスト発行制御部及び前記第1のライトリクエスト発行制御部は、それぞれ、前記アクセス権が付与された場合に前記リード要求及びライト要求を受け付けていない場合は、前記第1の中央バス制御システムに前記アクセス権を返却し、
前記第1の中央バス制御システムは、前記アクセス権が返却された場合、前記権利付与可能数に前記アクセス権の返却数を加算する付記10に記載の半導体装置。
前記キャッシュは前記メモリから読み出されたリードデータを更にキャッシュし、
前記リードリクエスト発行制御部から出力されたリード要求で要求されるデータが前記キャッシュにキャッシュされている場合、前記キャッシュは、前記キャッシュされたリードデータを、前記リード要求の発行元のマスタに前記リード要求に対する応答として出力し、かつ、前記リードリクエスト発行制御部に付与されたアクセス権を前記第1の中央バス制御システムに返却する付記10に記載の半導体装置。
前記第2の中央バス制御システムは、前記キャッシュの空きエントリ数に応じて、前記アクセス権を付与することが可能な数を示す権利付与可能数を管理し、該権利付与可能数の範囲で前記第2のライトリクエスト発行制御部に前記アクセス権を付与する付記6に記載の半導体装置。
前記第2の中央バス制御システムは、前記第2のライトリクエスト発行制御部に前記アクセス権を付与した場合、前記権利付与可能数から前記アクセス権の付与数を減算し、前記キャッシュの空きエントリ数が増加した場合、前記権利付与可能数に前記空きエントリが増加した数を加算する付記13に記載の半導体装置。
前記第2のライトリクエスト発行制御部は、前記アクセス権が付与された場合に前記ライト要求を受け付けていない場合は、前記第2の中央バス制御システムに前記アクセス権を返却し、
前記第2の中央バス制御システムは、前記アクセス権が返却された場合、前記権利付与可能数に前記アクセス権の返却数を加算する付記14に記載の半導体装置。
前記第1の中央バス制御システムは、第1の期間では前記リードリクエスト発行制御部に前記アクセス権を付与し、かつ前記第1のライトリクエスト発行制御部への前記アクセス権の付与を抑止し、第2の期間では前記第1のライトリクエスト発行制御部に前記アクセス権を付与し、かつ前記リードリクエスト発行制御部への前記アクセス権の付与を抑止する付記4に記載の半導体装置。
前記第1の中央バス制御システムは、所定の基本スロットの期間を複数の期間で分割した期間をサブスロットとして、該サブスロットの単位で、前記第1の期間又は前記第2の期間を設定する付記16に記載の半導体装置。
前記第1の中央バス制御システムは、前記サブスロットが前記第1の期間に設定されるか、又は前記第2の期間に設定されるかを指定するためのレジスタを有する付記17に記載の半導体装置。
前記第1の中央バス制御システムは、前記キャッシュの空きエントリ数に応じて、前記第1の期間に設定されるサブスロットの数と、前記第2の期間に設定されるサブスロットの数とを変更する付記17に記載の半導体装置。
前記第1の中央バス制御システムは、前記第1の期間に設定されたサブスロットから前記第2の期間に設定されたサブスロットへの切替え、及び前記第2の期間に設定されたサブスロットから前記第1の期間に設定されたサブスロットへの切替えの少なくとも一方において、該切替えのタイミングよりも所定時間前のタイミングから、前記抑止されたアクセス権の付与を解除する付記17に記載の半導体装置。
前記メモリはリフレッシュ動作が実行可能に構成されており、
前記第1の中央バス制御システムは、前記第1の期間と前記第2の期間とを切り替えるタイミングに合わせて前記メモリに前記リフレッシュ動作を実行させる付記16に記載の半導体装置。
前記マスタを複数有し、
前記複数のマスタから入力されるアクセス要求を調停して前記メモリコントローラに出力するインターコネクトを更に備え、
前記第2の中央バス制御システムは、前記キャッシュの空きエントリ数に応じて、前記複数のマスタのうち、どのマスタのライト要求に前記アクセス権を付与するかを決定する付記6に記載の半導体装置。
前記第2の中央バス制御システムは、前記複数のマスタと、前記キャッシュの空きエントリ数の条件とを対応付けて記憶するレジスタを有し、前記キャッシュの空きエントリ数が前記条件を満たすマスタの中から、前記アクセス権を付与するマスタを決定する付記22に記載の半導体装置。
半導体装置におけるバスを生成するバスジェネレータであって、
リード要求及びライト要求を含む、メモリに対するアクセス要求を出力するマスタに関する情報と、前記マスタからアクセスされるスレーブの情報とに基づいて、前記マスタと前記スレーブとの間を接続するバスの構造情報を生成するバス構造情報生成部と、
前記バスの構造情報、前記ライト要求を一時的に記憶してライトバックするキャッシュの情報、前記マスタのサービス品質情報、及び機能ブロックの回路情報を用いて、前記マスタが出力するリード要求、及び前記キャッシュのライトバックと、前記マスタが出力したライト要求とに対してアクセス制御を行う中央バス制御システムの回路情報を生成する中央バス制御部生成部と、
前記中央バス制御システムの回路情報を用いて、前記中央バス制御システムの制御に基づいて動作するサブバス制御システムの回路情報を生成するサブバス制御部生成部と、
前記バスの構造情報、及び機能ブロックの回路情報を用いて、バス部品の回路情報を生成するバス部品生成部と、
前記中央バス制御システムの回路情報、前記サブバス制御システムの回路情報、及び前記バス部品の回路情報をマージし、前記バスの回路情報を生成するマージ部とを備えるバスジェネレータ。
21R、21W、31R、31W、41R、41W:バス
22R、22W、32R、32W、42R、42W:サブバスコントローラ
23R、23W、33R、33W、43R、43W:リクエスト発行制御部
24R、24W、34R、34W、44R、44W:バス
50:中央バス制御システム1
60:中央バス制御システム2
70:インターコネクト
75:キャッシュ
76R、76W、79W:バス
77:並びにサブバスコントローラ
77:トローラ(ライトサブバスコントローラ1)
77:サブバスコントローラ
78:リクエスト発行制御部
80:メモリコントローラ
81:バッファ
90:メモリ
101:クロック情報
102:接続情報
103:スレーブ情報
104:マスタ情報
105:IP群記憶部
106:キャッシュ情報
107:QoS情報初期値
108:コントローラバッファ情報
109:サブ機能オプション
110:バス部品の回路情報
111:中央バス制御システムの回路情報
112:サブバス制御システムの回路情報
113:バスの回路情報
501、601:権利付与選択制御部
502、602:マスク信号生成部
503、603:配付優先度計算回路
504、604:権利付与数制御部
505:リフレッシュ制御部
510、610:転送量モニタ
511、611:予約型用転送量モニタ
512、612:BE型用転送量モニタ
521、621:スロット設定レジスタ
522、622:予約型レジスタ群
523、623:BE型レジスタ群
524、624:付与可能最大数設定レジスタ
531:配付フェーズ設定レジスタ
532:配付オーバラップ設定レジスタ
533:配付フェーズ計算回路
601:権利付与選択制御部
800:バスジェネレータ
801:CPU
802:メモリ
803:バス生成ツール
804:キーボード
805:マウス
806:モニタ
807:バス
811:バス構造情報生成部
812:バス部品生成部
813:中央バス制御部生成部
814:サブバス制御部生成部
815:マージ部
Claims (19)
- メモリに対して、リード要求及びライト要求を含むアクセス要求を発行するマスタと、
バスを介して前記マスタに接続され、前記アクセス要求に従って前記メモリにアクセスするメモリコントローラと、
前記メモリコントローラと前記マスタとの間に配置され、前記アクセス要求がライト要求である場合に該ライト要求をキャッシュするキャッシュと、
前記マスタが発行したリード要求の前記メモリコントローラへの出力、及び前記キャッシュにキャッシュされたライト要求の前記メモリコントローラへの出力を制御する第1のアクセス制御を実施する第1のアクセス制御部と、
前記マスタが発行したライト要求の前記キャッシュへの出力を制御する第2のアクセス制御を実施する第2のアクセス制御部とを備え、
前記メモリコントローラは、前記アクセス要求を受け付けて記憶するリクエストバッファを有しており、
前記第1のアクセス制御部は、前記リクエストバッファの空き状況に応じて前記第1のアクセス制御を実施し、
前記第2のアクセス制御部は、前記キャッシュの空き状況に応じて前記第2のアクセス制御を実施する半導体装置。 - 前記バスは、前記リード要求を伝送するためのリード要求バスと、前記ライト要求を伝送するためのライト要求バスとを含み、
前記第1のアクセス制御部は、前記リード要求バスに対応して配置されたリードリクエスト発行制御部を有するリードサブバスコントローラと、前記キャッシュと前記メモリコントローラとの間の前記ライト要求バスに対応して配置された第1のライトリクエスト発行制御部を有する第1のライトサブバスコントローラと、前記リードサブバスコントローラ及び前記第1のライトサブバスコントローラを用いて前記第1のアクセス制御を実施する第1の中央バス制御システムとを含み、
前記第2のアクセス制御部は、前記マスタと前記キャッシュとの間の前記ライト要求バスに対応して配置された第2のライトリクエスト発行制御部を有する第2のライトサブバスコントローラと、前記第2のライトサブバスコントローラを用いて前記第2のアクセス制御を実施する第2の中央バス制御システムとを含む請求項1に記載の半導体装置。 - 前記第1の中央バス制御システムは、前記リードリクエスト発行制御部へのアクセス権の付与を制御することで前記リード要求に対する前記第1のアクセス制御を実施し、
前記リードリクエスト発行制御部は、前記マスタから前記リード要求を受け付け、前記第1の中央バス制御システムから前記アクセス権が付与されている場合は前記リード要求を前記メモリコントローラへ出力し、前記アクセス権が付与されていない場合は前記リード要求の前記メモリコントローラへの出力を抑止する請求項2に記載の半導体装置。 - 前記第1の中央バス制御システムは、前記第1のライトリクエスト発行制御部へのアクセス権の付与を制御することで前記ライト要求に対する前記第1のアクセス制御を実施し、
前記第1のライトリクエスト発行制御部は、前記キャッシュから前記ライト要求を受け付け、前記第1の中央バス制御システムから前記アクセス権が付与されている場合は前記ライト要求を前記メモリコントローラへ出力し、前記アクセス権が付与されていない場合は前記ライト要求の前記メモリコントローラへの出力を抑止する請求項3に記載の半導体装置。 - 前記第1の中央バス制御システムは、前記第1のライトリクエスト発行制御部へ出力するアクセス許可を示す信号を制御することで前記ライト要求に対する前記第1のアクセス制御を実施し、
前記第1のライトリクエスト発行制御部は、前記キャッシュから前記ライト要求を受け付け、前記第1の中央バス制御システムから前記アクセスの許可を示す信号が出力されている場合は前記ライト要求を前記メモリコントローラへ出力し、前記アクセス許可を示す信号が出力されていない場合は前記ライト要求の前記メモリコントローラへの出力を抑止する請求項3に記載の半導体装置。 - 前記第2の中央バス制御システムは、前記第2のライトリクエスト発行制御部へのアクセス権の付与を制御することで前記第2のアクセス制御を実施し、
前記第2のライトリクエスト発行制御部は、前記マスタから前記ライト要求を受け付け、前記第2の中央バス制御システムから前記アクセス権が付与されている場合は前記ライト要求を前記キャッシュへ出力し、前記アクセス権が付与されていない場合は前記ライト要求の前記キャッシュへの出力を抑制する請求項2に記載の半導体装置。 - 前記マスタを複数有し、
前記複数のマスタから入力されるアクセス要求を調停して前記メモリコントローラに出力するインターコネクトを更に備え、
前記リードリクエスト発行制御部及び前記第2のライトリクエスト発行制御部は、前記複数のマスタのそれぞれと前記インターコネクトとの間を接続する複数のリードバス及びライトバスのそれぞれに対応して配置される請求項2に記載の半導体装置。 - 前記第1の中央バス制御システムは、前記リクエストバッファの空きエントリ数に応じて、前記アクセス権を付与することが可能な数を示す権利付与可能数を管理し、該権利付与可能数の範囲で前記リードリクエスト発行制御部及び前記第1のライトリクエスト発行制御部に前記アクセス権を付与する請求項4に記載の半導体装置。
- 前記メモリコントローラは、前記リクエストバッファが解放されると、前記リクエストバッファが解放された旨を示すバッファ解放通知を前記第1の中央バス制御システムに出力し、
前記第1の中央バス制御システムは、前記リードリクエスト発行制御部及び前記第1のライトリクエスト発行制御部に前記アクセス権を付与した場合、前記権利付与可能数から前記アクセス権の付与数を減算し、前記バッファ解放通知を受け取った場合、前記権利付与可能数に前記リクエストバッファにおいて解放されたエントリの数を加算する請求項8に記載の半導体装置。 - 前記キャッシュは前記メモリから読み出されたリードデータを更にキャッシュし、
前記リードリクエスト発行制御部から出力されたリード要求で要求されるデータが前記キャッシュにキャッシュされている場合、前記キャッシュは、前記キャッシュされたリードデータを、前記リード要求の発行元のマスタに前記リード要求に対する応答として出力し、かつ、前記リードリクエスト発行制御部に付与されたアクセス権を前記第1の中央バス制御システムに返却する請求項9に記載の半導体装置。 - 前記第2の中央バス制御システムは、前記キャッシュの空きエントリ数に応じて、前記アクセス権を付与することが可能な数を示す権利付与可能数を管理し、該権利付与可能数の範囲で前記第2のライトリクエスト発行制御部に前記アクセス権を付与する請求項6に記載の半導体装置。
- 前記第2の中央バス制御システムは、前記第2のライトリクエスト発行制御部に前記アクセス権を付与した場合、前記権利付与可能数から前記アクセス権の付与数を減算し、前記キャッシュの空きエントリ数が増加した場合、前記権利付与可能数に前記空きエントリが増加した数を加算する請求項11に記載の半導体装置。
- 前記第1の中央バス制御システムは、第1の期間では前記リードリクエスト発行制御部に前記アクセス権を付与し、かつ前記第1のライトリクエスト発行制御部への前記アクセス権の付与を抑止し、第2の期間では前記第1のライトリクエスト発行制御部に前記アクセス権を付与し、かつ前記リードリクエスト発行制御部への前記アクセス権の付与を抑止する請求項4に記載の半導体装置。
- 前記第1の中央バス制御システムは、所定の基本スロットの期間を複数の期間で分割した期間をサブスロットとして、該サブスロットの単位で、前記第1の期間又は前記第2の期間を設定する請求項13に記載の半導体装置。
- 前記第1の中央バス制御システムは、前記キャッシュの空きエントリ数に応じて、前記第1の期間に設定されるサブスロットの数と、前記第2の期間に設定されるサブスロットの数とを変更する請求項13に記載の半導体装置。
- 前記第1の中央バス制御システムは、前記第1の期間に設定されたサブスロットから前記第2の期間に設定されたサブスロットへの切替え、及び前記第2の期間に設定されたサブスロットから前記第1の期間に設定されたサブスロットへの切替えの少なくとも一方において、該切替えのタイミングよりも所定時間前のタイミングから、前記抑止されたアクセス権の付与を解除する請求項14に記載の半導体装置。
- 前記メモリはリフレッシュ動作が実行可能に構成されており、
前記第1の中央バス制御システムは、前記第1の期間と前記第2の期間とを切り替えるタイミングに合わせて前記メモリに前記リフレッシュ動作を実行させる請求項13に記載の半導体装置。 - 前記マスタを複数有し、
前記複数のマスタから入力されるアクセス要求を調停して前記メモリコントローラに出力するインターコネクトを更に備え、
前記第2の中央バス制御システムは、前記キャッシュの空きエントリ数に応じて、前記複数のマスタのうち、どのマスタのライト要求に前記アクセス権を付与するかを決定する請求項6に記載の半導体装置。 - 前記第2の中央バス制御システムは、前記複数のマスタと、前記キャッシュの空きエントリ数の条件とを対応付けて記憶するレジスタを有し、前記キャッシュの空きエントリ数が前記条件を満たすマスタの中から、前記アクセス権を付与するマスタを決定する請求項18に記載の半導体装置。
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017246433A JP6946168B2 (ja) | 2017-12-22 | 2017-12-22 | 半導体装置 |
US16/189,355 US11188488B2 (en) | 2017-12-22 | 2018-11-13 | Semiconductor device and bus generator |
TW107145114A TW201935259A (zh) | 2017-12-22 | 2018-12-14 | 半導體裝置及匯流排產生器 |
KR1020180164323A KR102717553B1 (ko) | 2017-12-22 | 2018-12-18 | 반도체 장치 및 버스 제너레이터 |
EP21164812.6A EP3872644B1 (en) | 2017-12-22 | 2018-12-20 | Semiconductor device with master, bus, cache and memory controller and bus generator |
EP18214763.7A EP3502909B1 (en) | 2017-12-22 | 2018-12-20 | Semiconductor device with master, bus, cache and memory controller and bus generator |
CN201811590815.4A CN110059035B (zh) | 2017-12-22 | 2018-12-21 | 半导体装置和总线发生器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017246433A JP6946168B2 (ja) | 2017-12-22 | 2017-12-22 | 半導体装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019114015A JP2019114015A (ja) | 2019-07-11 |
JP6946168B2 true JP6946168B2 (ja) | 2021-10-06 |
Family
ID=64755234
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017246433A Active JP6946168B2 (ja) | 2017-12-22 | 2017-12-22 | 半導体装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11188488B2 (ja) |
EP (2) | EP3872644B1 (ja) |
JP (1) | JP6946168B2 (ja) |
CN (1) | CN110059035B (ja) |
TW (1) | TW201935259A (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6946168B2 (ja) * | 2017-12-22 | 2021-10-06 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
CN110299164B (zh) * | 2019-06-28 | 2021-10-26 | 西安紫光国芯半导体有限公司 | 一种自适应dram刷新控制方法和dram刷新控制器 |
JP2022129555A (ja) * | 2021-02-25 | 2022-09-06 | セイコーエプソン株式会社 | 回路装置及び電子機器 |
CN118227526A (zh) * | 2022-12-19 | 2024-06-21 | 华为技术有限公司 | 存储控制器及其控制方法、存储系统及微控制单元 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2759178B1 (fr) * | 1997-02-05 | 1999-04-09 | Sgs Thomson Microelectronics | Circuit de gestion de memoire dans un environnement multi-utilisateurs avec requete et priorite d'acces |
GB2341765B (en) | 1998-09-18 | 2003-10-22 | Pixelfusion Ltd | Idle bus usage |
JP2004171209A (ja) * | 2002-11-19 | 2004-06-17 | Matsushita Electric Ind Co Ltd | 共有メモリデータ転送装置 |
TWI252409B (en) * | 2004-04-26 | 2006-04-01 | Sunplus Technology Co Ltd | Enhanced expandable time-sharing bus device |
JP2008299438A (ja) * | 2007-05-29 | 2008-12-11 | Yamaha Corp | メモリ制御装置 |
TW201017421A (en) * | 2008-09-24 | 2010-05-01 | Panasonic Corp | Cache memory, memory system and control method therefor |
KR101620460B1 (ko) * | 2010-05-04 | 2016-05-13 | 삼성전자주식회사 | 인터커넥트, 그것을 포함하는 버스 시스템 그리고 버스 시스템의 동작 방법 |
WO2016039198A1 (ja) * | 2014-09-10 | 2016-03-17 | ソニー株式会社 | アクセス制御方法、バスシステム、および半導体装置 |
EP3358468B1 (en) * | 2015-10-01 | 2020-12-09 | Renesas Electronics Corporation | Semiconductor device |
JP6946168B2 (ja) * | 2017-12-22 | 2021-10-06 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
-
2017
- 2017-12-22 JP JP2017246433A patent/JP6946168B2/ja active Active
-
2018
- 2018-11-13 US US16/189,355 patent/US11188488B2/en active Active
- 2018-12-14 TW TW107145114A patent/TW201935259A/zh unknown
- 2018-12-20 EP EP21164812.6A patent/EP3872644B1/en active Active
- 2018-12-20 EP EP18214763.7A patent/EP3502909B1/en active Active
- 2018-12-21 CN CN201811590815.4A patent/CN110059035B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
US20190196997A1 (en) | 2019-06-27 |
TW201935259A (zh) | 2019-09-01 |
KR20190076869A (ko) | 2019-07-02 |
EP3872644B1 (en) | 2023-05-24 |
JP2019114015A (ja) | 2019-07-11 |
EP3502909B1 (en) | 2021-04-07 |
EP3502909A3 (en) | 2019-09-11 |
EP3502909A2 (en) | 2019-06-26 |
US11188488B2 (en) | 2021-11-30 |
EP3872644A1 (en) | 2021-09-01 |
CN110059035A (zh) | 2019-07-26 |
CN110059035B (zh) | 2023-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6946168B2 (ja) | 半導体装置 | |
JP6840145B2 (ja) | 高速メモリインタフェースのためのコマンドアービトレーション | |
JP2005258867A (ja) | リソース管理装置 | |
JP7075528B2 (ja) | 半導体集積回路 | |
WO2012167526A1 (zh) | 一种片上总线仲裁方法及装置 | |
JP2019522257A (ja) | 低電力メモリのスロットリング | |
JP7018833B2 (ja) | 半導体装置 | |
JP2023527685A (ja) | 効率的なメモリバス管理 | |
JP2017533515A (ja) | Pcd内で共有リソースの安全なダウンタイムを管理するためのシステムおよび方法 | |
KR102717553B1 (ko) | 반도체 장치 및 버스 제너레이터 | |
JP2011034214A (ja) | メモリ制御装置 | |
JP7018834B2 (ja) | 半導体装置 | |
JP4610961B2 (ja) | アクセス制御装置 | |
JP2009032085A (ja) | データ処理システム | |
JP2012168773A (ja) | バスシステムおよびアクセス制御方法 | |
JP2024514503A (ja) | Dramコマンドストリーク効率管理 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200417 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210305 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210420 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210604 |
|
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: 20210831 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210915 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6946168 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |