TW201935259A - 半導體裝置及匯流排產生器 - Google Patents

半導體裝置及匯流排產生器 Download PDF

Info

Publication number
TW201935259A
TW201935259A TW107145114A TW107145114A TW201935259A TW 201935259 A TW201935259 A TW 201935259A TW 107145114 A TW107145114 A TW 107145114A TW 107145114 A TW107145114 A TW 107145114A TW 201935259 A TW201935259 A TW 201935259A
Authority
TW
Taiwan
Prior art keywords
access
bus
request
control unit
control system
Prior art date
Application number
TW107145114A
Other languages
English (en)
Inventor
山中翔
平木俊行
本田信彥
Original Assignee
日商瑞薩電子股份有限公司
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 日商瑞薩電子股份有限公司 filed Critical 日商瑞薩電子股份有限公司
Publication of TW201935259A publication Critical patent/TW201935259A/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
    • G06F12/0835Cache 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)
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/084Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1663Access to shared memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • 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/4063Device-to-bus coupling
    • G06F13/4068Electrical 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)
  • Bus Control (AREA)
  • Memory System (AREA)

Abstract

本發明提供了一種半導體裝置,即使是在主控端與記憶體控制器間配置了快取記憶體,也可以控制從記憶體控制器所受理的存取要求。該半導體裝置中,各主控端對記憶體90發出包含讀取要求及寫入要求的存取要求;快取記憶體將主控端所發出的寫入要求存入於其中;中央匯流排控制系統50對於各主控端所發出的讀取要求及快取機構75所輸出的寫入要求實施存取控制;中央匯流排控制系統60對於各主控端所發出的寫入要求實施存取控制;中央匯流排控制系統50依據記憶體控制器80的緩衝器的空閒狀況來實施存取控制;中央匯流排控制系統60依據快取機構75的空閒狀況來實施存取控制。

Description

半導體裝置及匯流排產生器
本發明係關於半導體裝置,例如有關對記憶體進行存取的半導體裝置。
本發明是關於產生上述半導體裝置中之匯流排的匯流排產生器。
在專利文獻1揭示了複數匯流排主控端與共通匯流排相連接之匯流排系統中之存取控制。專利文獻1中所記載的半導體裝置具有:複數主控端;記憶體控制器;將複數主控端與記憶體控制器相連接之匯流排;及中央匯流排控制系統。在專利文獻1中描述了中央匯流排控制系統監視各主控端的傳送量,根據各主控端的預約頻寬;所監視的傳送量;及權利賦予可能數目,來選擇賦予存取權的目標的主控端。在專利文獻1中未被賦予存取權的主控端的要求,在記憶體控制器與主控端之間的匯流排會被隱蔽。
在專利文獻1中,中央匯流排控制系統監視記憶體控制器內的緩衝器,依據緩衝器的空閒狀況來控制對於各主控端的存取要求賦予的存取權。每當賦予存取權時,中央匯流排控制系統會減少權利賦予可能數目,每當緩衝器被釋放時則會增加權利賦予可能數目。藉著依據緩衝器的空閒狀況來賦予存取權,可以避免緩衝器因為未處理的存取要求而被填滿,以及避免需要低延遲時間的存取要求不被記憶體控制器受理的情況。
[先行技術文獻]
[專利文獻]
[專利文獻1]國際公開第2017/056132號
[發明所欲解決的課題]
但是在專利文獻1中,當在各主控端與記憶體控制器之間配置了快取記憶體時,有時會因為快取記憶體的寫回造成記憶體控制器的緩衝器被占用。這時,被記憶體控制器所受理的存取要求會變得無法從中央匯流排控制系統來控制,變得很難保證其延遲時間。
其他的課題與新穎的特徴則可以從本發明說明書的描述及附圖來清楚地了解。
[解決課題的手段]
依據一實施形態,半導體裝置具有:主控端;記憶體控制器;快取機構;第1存取控制部,控制主控端所發出的讀取要求之往記憶體控制器的輸出與被快取機構存入快取記憶體的寫入要求之往記憶體控制器的輸出;及第2存取控制部,控制主控端所發出的寫入要求之往記憶體控制器的輸出。第1存取控制部依據記憶體控制器的快取記憶體的空閒狀況來進行存取控制,第2存取控制部依據快取記憶體的空閒狀況來進行存取控制。
[發明的效果]
依據上述一實施形態,即使主控端與記憶體控制器之間配置有快取記憶體時,也可以使用記憶體控制器來控制所受理的存取要求。
以下,參照圖面來詳細說明應用了解決上述課題的手段的實施形態。為了能夠明確地說明,以下的記載及圖面會被適當地省略及簡化。而且,記載在圖面上執行各種處理的功能方塊的各個要素在硬體上,可以用CPU(Central Processing Unit)、記憶體、或其它的電路來構成,在軟體上可以用載入記憶體的程式等來實現。因此,這些功能方塊可以僅使用硬體、僅使用軟體、或者將其加以組合等各種形式來實現已廣為該行業的人所理解,並不會被限定在其中任一種。在各個圖面上,相同的要素會被標示以相同的符號,必要時會省略其說明。
上述程式可以使用各種型式的非暫時性的電腦可讀媒體而儲存及提供給電腦。非暫時性的電腦可讀媒體包含各種形式的具有實體的記錄媒體。非暫時性的電腦可讀媒體的例子包含有磁性記錄媒體(例如軟碟,磁帶,硬碟機),光磁性記錄媒體(例如光磁性碟片),CD-ROM(Read Only Memory),CD-R,CD-R/W,半導體記憶體(例如,罩幕式ROM,PROM(Programmable ROM),EPROM (Erasable PROM),快閃ROM,RAM(Random Access Memory))。此外,程式也可以使用各種形式的暫時性的電腦可讀媒體來提供給電腦。暫時性的電腦可讀媒體的例子包含有電子信號,光信號,及電磁波。暫時性的電腦可讀媒體可以藉由電線及光纖等有線通信網路或無線通信網路來將程式提供到電腦。
在以下的實施形態中,為了方便說明在需要時會分成複數的章節或實施形態來說明,但除非有特別的說明,它們之間並非互相沒有關係,一者可以是另一者的一部分或全部的變形例,應用例,詳細說明,或補充說明等的關係。在以下的實施形態中,在提到要素的數目等(包含個數,數値,數量,範圍等)時,除非是有特別說明的情況以及在原理上明顯是限定在特定的數目的情況以外,並不會被限定在該特定的數目,也可以是特定的數目以上或者以下。
此外,在以下的實施形態中,其構成要素(包含動作步驟等),除非是有特別說明的情況以及在原理上明顯是必須如此的情況以外,也未必一定是必須的。同樣地,在以下的實施形態中,當提到構成要素等的形狀,位置關係等時,除非有特別說明的情況以及在原理上明顯並非是如此的情況以外,也包含實質上與該形狀等近似或類似的情況等。此一情況,對上述數目等(包含個數,數値,數量,範圍等)也是一樣。
[實施形態1]
圖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可以用例如包含處理器的電路來構成。
主控端A20、主控端B30及主控端C40對記憶體90發出存取要求。對記憶體90的存取要求包含讀取要求與寫入要求。記憶體90是例如DDR-SDRAM(Double-Data-Rate Synchronous Dynamic Random Access Memory)等的記憶體。主控端A20、主控端B30及主控端C40是以例如CPU或GPU(Graphics Processing Unit)等的處理器所構成。主控端A20、主控端B30及主控端C40經由分別對應的匯流排(讀取要求匯流排)21R、31R及41R來輸出讀取要求,經由匯流排(寫入要求匯流排)21W、31W、及41W來輸出寫入要求。
主控端A20經由匯流排21R及21W與所對應的次匯流排控制器22R及22W相連接。次匯流排控制器(讀取次匯流排控制器)22R經由匯流排24R與連接埠70相連接。次匯流排控制器(寫入次匯流排控制器2)22W經由匯流排24W與連接埠70相連接。次匯流排控制器22R包含要求發出控制部(讀取要求發出控制部)23R。次匯流排控制器22W包含要求發出控制部(寫入要求發出控制部2)23W。要求發出控制部23R及23W分別經由匯流排21R及21W受理讀取要求及寫入要求,控制所受理的讀取要求及寫入要求之往匯流排24R及24W的輸出。
主控端B30經由匯流排31R及31W與所對應的次匯流排控制器32R及32W相連接。次匯流排控制器32R及32W分別經由匯流排34R及34W與連接埠70相連接。次匯流排控制器32R及32W分別包含要求發出控制部33R及33W。同樣地,主控端C40經由匯流排41R及41W與所對應的次匯流排控制器42R及42W相連接。次匯流排控制器42R及42W分別經由匯流排44R及44W與連接埠70相連接。次匯流排控制器42R及42W分別包含要求發出控制部43R及43W。
要求發出控制部23R及23W分別從主控端A20受理讀取要求及寫入要求。當被中央匯流排控制系統50賦予存取權時,要求發出控制部23R將主控端A20所發出的讀取要求經由匯流排24R來輸出到連接埠70。當被中央匯流排控制系統60賦予存取權時,要求發出控制部23W將主控端A20所發出的寫入要求經由匯流排24W輸出到連接埠70。當未被賦予存取權時,要求發出控制部23R及23W分別會抑制主控端A20所發出的讀取要求及寫入要求之往連接埠70的輸出。
要求發出控制部33R及43R的功能與要求發出控制部23R的功能同樣,要求發出控制部33W及43W的功能與要求發出控制部23W的功能同樣。當被賦予存取權且沒有從所對應的主控端接受到讀取要求時,要求發出控制部23R、33R及43R也可以將存取權歸還信號輸出到中央匯流排控制系統50,以歸還存取權。而且,當被賦予存取權且沒有從所對應的主控端接受到寫入要求時,要求發出控制部23W、33W及43W也可以將存取權歸還信號輸出到中央匯流排控制系統60,以歸還存取權。中央匯流排控制系統50及60可以將被歸還的存取權用來對其他要求發出控制部賦予存取權。
連接埠70經由匯流排71R及71W與快取機構75相連接。連接埠70經由匯流排24R、34R、44R、24W、34W及44W來接受主控端A20、主控端B30、及主控端C40所發出的讀取要求及寫入要求。連接埠70是例如匯流排仲裁器,其協調從複數主控端被輸入的讀取要求及寫入要求。當接收到例如來自主控端A20、主控端B30、及主控端C40的讀取要求或寫入要求時,連接埠70依據各主控端被設定的優先度,將優先度較高的主控端所發出的讀取要求或寫入要求輸出到快取機構75。當得到輸出到快取機構75的讀取要求或寫入要求所對應的回應時,連接埠70會選擇下一個優先度高的主控端的讀取要求或寫入要求來輸出到快取機構75。
快取機構75被配置在記憶體控制器80與連接埠70之間。經由匯流排71R及71W從連接埠70被輸出的讀取要求及寫入要求會被輸入到快取機構75。快取機構75對寫入要求進行寫回,將被輸入的寫入要求及寫入資料存入於其中。而且,快取機構75會回應讀取要求將所讀出的讀取資料存入於其中。快取機構75具有將寫入資料及讀取資料暫時儲存的複數項目。
快取機構75,例如要將寫入要求存入快取記憶體時,經由匯流排79W及次匯流排控制器(寫入次匯流排控制器1)77,將所存入的寫入要求輸出到記憶體控制器80。例如當緩衝器81有空間時,記憶體控制器80會受理快取機構75所輸出的寫入要求。次匯流排控制器77包含要求發出控制部(寫入要求發出控制部1)78。要求發出控制部78經由匯流排76W受理來自快取機構75的寫入要求。要求發出控制部78控制所受理的寫入要求之往匯流排79W的輸出。當被中央匯流排控制系統50賦予存取權時,要求發出控制部78將寫入要求輸出到匯流排79W。當未被賦予存取權時,要求發出控制部78會抑制寫入要求之往匯流排79W的輸出。當被賦予存取權且沒有受理到寫入要求時,要求發出控制部78也可以將存取權歸還信號輸出到中央匯流排控制系統50,以歸還存取權。中央匯流排控制系統50可以將被歸還的存取權用來對其他要求發出控制部賦予存取權。
快取機構75,當被輸入讀取要求時,判斷在讀取要求所要求的資料(讀取資料)是否存在於快取記憶體中。換言之,快取機構75判斷快取是否命中。當讀取資料沒有存在於快取記憶體中時,快取機構75經由匯流排76R對於記憶體控制器80輸出讀取要求。當讀取資料存在於快取記憶體中時,快取機構75將該讀取資料作為對讀取要求的回應,輸出到讀取要求的發出來源的主控端。將讀取資料輸出到主控端時,快取機構75也可以將表示存在於快取記憶體的通知輸出到中央匯流排控制系統50,將「被賦予要求發出控制部23R、33R、或43R的存取權」歸還給中央匯流排控制系統50。
記憶體控制器80經由匯流排、快取機構75、及連接埠70等與主控端A20、主控端B30、及主控端C40相連接,依據快取機構75所受理的存取要求來存取記憶體90。圖1是說明當電子裝置10具有3個主控端的例子,但是主控端的數目並沒有限定。電子裝置10至少有1個:對於記憶體控制器80發出「對記憶體90的存取要求」的主控端就可以。當主控端的數目是1個時,則不須要用來協調的連接埠70。
記憶體控制器80具有緩衝器(要求緩衝器)81。緩衝器81儲存了記憶體控制器80經由連接埠70及快取機構75所受理的存取要求。緩衝器81的構成具有複數項目,可以儲存複數存取要求。除了緩衝器81以外,記憶體控制器80具有例如從儲存在緩衝器81中的複數存取要求中選擇1個的排程器,及依據被選擇的存取要求來產生用來存取記憶體90的記憶體指令(指令信號)之記憶體指令產生部。當存取要求從緩衝器81被選擇及處理時,記憶體控制器80會將「表示緩衝器81的項目被釋放之緩衝器釋放通知」輸出到中央匯流排控制系統50。
中央匯流排控制系統(中央匯流排控制系統1)50使用次匯流排控制器22R、32R、42R、及次匯流排控制器77來對讀取要求及寫入要求實施存取控制。中央匯流排控制系統50與次匯流排控制器22R、32R、42R、及次匯流排控制器77一起構成存取控制部(存取控制部1)。中央匯流排控制系統50因應緩衝器81的空閒狀況來對讀取要求及寫入要求實施存取控制。
中央匯流排控制系統50藉由例如控制對於要求發出控制部23R、33R及43R賦予存取權,對於各主控端輸出到記憶體控制器80的讀取要求實施存取控制。而且,中央匯流排控制系統50藉著控制對於要求發出控制部78賦予存取權,對從快取機構75輸出到記憶體控制器80的寫入要求實施存取控制。
另一方面,中央匯流排控制系統(中央匯流排控制系統2)60使用次匯流排控制器22W、32W及42W來對寫入要求實施存取控制。中央匯流排控制系統60與次匯流排控制器22W、32W及42W一起構成別的存取控制部(存取控制部2)。中央匯流排控制系統60從快取機構75取得快取機構75的空閒項目數。中央匯流排控制系統60依據所取得的空閒項目數來監視快取機構75的空閒狀況,因應快取機構75的空閒狀況來實施存取控制。中央匯流排控制系統60藉著控制例如對於要求發出控制部23W、33W及43W賦予存取權來對於各主控端輸出到快取機構75的寫入要求實施存取控制。
使用者可以在例如中央匯流排控制系統50及中央匯流排控制系統60內預先設定各主控端的區域,來保證一定時間(時槽)內的QoS(Quality of Service)。在本實施形態中,主控端被視為隨著存取要求的種類而存在,例如對讀取要求及寫入要求分別設定各自的主控端的區域。此外,在中央匯流排控制系統50所進行的存取控制中,輸出寫入要求的快取機構75被視為1個主控端。中央匯流排控制系統50對於要求發出控制部23R、33R、43R及78分別依據例如預定的存取控制的內容來賦予存取權。而且,中央匯流排控制系統60對於要求發出控制部23W、33W及43W分別依據預定的存取控制的內容來賦予存取權。存取控制的內容也可以是跟例如專利文獻1所描述的一樣。專利文獻1所描述的內容可以被包含在此說明書來作為參考。
中央匯流排控制系統50依據對例如各主控端的讀取要求及快取機構75的寫入要求所設定的QoS資訊來決定是否對於各主控端及快取機構75所對應的要求發出控制部23R、33R、43R及78賦予存取權。這時,中央匯流排控制系統50使用從匯流排24R、34R、44R及79W所取得的要求監視器(處理監視器信號)來監視匯流排中進行的處理,根據處理的傳送量來對每個時槽一邊修正一邊賦予存取權。中央匯流排控制系統50透過賦予存取權來控制各主控端及快取機構75所發出的讀取要求及寫入要求之往記憶體控制器80的輸出。
中央匯流排控制系統60例如依據對於各主控端的寫入要求所設定的QoS資訊來決定是否對於各主控端所對應的要求發出控制部23W、33W及43W賦予存取權。這時,中央匯流排控制系統60可以使用從匯流排24W、34W及44W所取得的要求監視器(處理監視器信號)來監視匯流排中進行的處理,根據處理的傳送量來對於各時槽邊修正邊賦予存取權。中央匯流排控制系統60透過賦予存取權來控制各主控端所發出的寫入要求之往快取機構75的輸出。
[中央匯流排控制系統1]
圖2說明中央匯流排控制系統50的構成例。中央匯流排控制系統50具有:權利賦予選擇控制部501;隱蔽信號產生部502;分發優先度計算電路503;權利賦予數目控制部504;更新控制部505;傳送量監視器510;時槽設定暫存器521;預約型暫存器群522;BE(Best Effort)型暫存器群523;及可賦予最大數目設定暫存器524。
傳送量監視器510是測定經由匯流排所傳送的讀取要求及寫入要求的處理的傳送量之功能部。傳送量監視器510具有預約型用傳送量監視器511與BE型用傳送量監視器512。預約型用傳送量監視器511測定經由匯流排24R、34R、及44R(參照圖1)被傳送到連接埠70之讀取要求的處理的傳送量。而且,預約型用傳送量監視器511測定經由匯流排79W被傳送到記憶體控制器80之寫入要求的處理的傳送量。BE型用傳送量監視器512也是一樣,測定經由匯流排24R、34R、及44R被傳送到連接埠70之讀取要求的處理的傳送量,及經由匯流排79W被傳送到記憶體控制器80之寫入要求的處理的傳送量。
時槽設定暫存器521存放在1個基本時槽內存在的次時槽的數目及1個次時槽的期間。基本時槽是指例如記憶體90中之更新期間。時槽設定暫存器521所存放的1個基本時槽內存在的次時槽的數目及1個次時槽的期間是可以改變的。
更新控制部505對於記憶體控制器80傳送更新要求,在記憶體90實施更新動作。更新控制部505使用例如圖中未標示之暫存器等來設定,在基本時槽內的特定號碼的次時槽對於記憶體控制器80傳送更新要求。
權利賦予選擇控制部501對於要求發出控制部23R、33R、43R及78賦予存取權。權利賦予選擇控制部501在賦予存取權時,決定(選擇)對那個要求發出控制部賦予存取權。權利賦予選擇控制部501對賦予存取權的目標的要求發出控制部,輸出表示獲得存取權的內容之存取權賦予信號。權利賦予選擇控制部501使得輸出到例如「存取權的賦予目標的要求發出控制部」之存取權賦予信號激活,輸出到「未賦予存取權的要求發出控制部」的存取權賦予信號則是維持在去活狀態。
權利賦予數控制部504計算可賦予要求發出控制部的存取權的數目(權利賦予可能數)。可賦予最大數目設定暫存器524內存放了存取權的權利賦予可能數的最大數目。權利賦予可能數的最大數是依據例如記憶體控制器80的緩衝器81所能存放的存取要求的數目來設定。權利賦予數控制部504依據例如緩衝器81的空閒狀況,以可賦予最大數目設定暫存器524所能夠存放的最大數目為上限,來計算可賦予存取權的權利數。權利賦予選擇控制部501在權利賦予數控制部504所計算的權利賦予可能數目的範圍之內賦予存取權。
例如當權利賦予選擇控制部501對任一個要求發出控制部賦予存取權時,權利賦予數控制部504會將權利賦予可能數目減少已經賦予的存取權數目。例如當記憶體控制器80輸出緩衝器釋放通知時,權利賦予數控制部504會將權利賦予可能數目增加被釋放的緩衝器的項目的數目。而且,當任一個要求發出控制部歸還存取權時,權利賦予數控制部504會將權利賦予可能數目增加被歸還的存取權的數目。當快取機構75輸出表示快取命中的內容的通知時,權利賦予數控制部504也會將權利賦予可能數目增加快取命中的讀取要求的數目。
預約型暫存器群522包含例如預約頻寬設定暫存器與預約型優先層級設定暫存器。預約頻寬設定暫存器存放例如對應到各主控端及快取機構75所被設定的預約頻寬。預約頻寬設定暫存器例如將各主控端及快取機構75的每1個次時槽的預約傳送量作為預約頻寬來存放。預約型優先層級設定暫存器存放例如各主控端及快取機構75的優先層級。
隱蔽信號產生部502判斷各主控端及快取機構75的傳送量是否達到了各主控端及快取機構75的預約傳送量。當任一個的主控端或快取機構75的次時槽的傳送量達到預約傳送量時,隱蔽信號產生部502對該主控端或快取機構75產生關於該次時槽的剩餘期間的隱蔽信號。
BE型暫存器群523包含例如目標傳送量設定暫存器,更新傳送量暫存器,分發優先度修正期間設定暫存器,及BE型優先層級設定暫存器。目標傳送量設定暫存器是對例如各主控端及快取機構75存放1個次時槽的目標傳送量。更新傳送量暫存器是對於各主控端及快取機構75存放表示傳送量的累積値之累積傳送量。分發優先度修正期間設定暫存器是存放表示修正目標傳送量的期間之分發優先度修正期間。BE型優先層級設定暫存器是對於各主控端及快取機構75存放優先層級。
分發優先度計算電路503計算表示關於分發存取權優先度的分發優先度。分發優先度計算電路503依據例如各主個控端及快取機構75的目標傳送量來計算分發優先度。更詳細地來說,分發優先度計算電路503使用BE型用傳送量監視器512所測定的傳送量、目標傳送量、累積傳送量、及分發優先度修正期間等來計算分發優先度。
而且,每當經過次時槽時,分發優先度計算電路503會更新BE型暫存器群523中所包含的更新傳送量暫存器內存放的累積傳送量。更詳細地,分發優先度計算電路503會從更新傳送量暫存器讀出上一個次時槽為止的累積傳送量。分發優先度計算電路503使用所讀出的累積傳送量及BE型用傳送量監視器512所量測到的這個次時槽的傳送量來計算這個次時槽為止的累積傳送量。分發優先度計算電路503藉著將所計算的累積傳送量存放在更新傳送量暫存器內來更新累積傳送量。分發優先度計算電路503將所計算的分發優先度輸出到權利賦予選擇控制部501。
權利賦予選擇控制部501獨立地執行使用預約型暫存器群522來選擇賦予存取權的目標,與使用BE型暫存器群523來選擇賦予存取權的目標。當使用預約型暫存器群522來選擇賦予存取權的目標時,權利賦予選擇控制部501使用例如從預約型暫存器群522讀出的預約頻寬及優先層級等來決定賦予存取權之要求發出控制部。當使用BE型暫存器群523來選擇存取權的賦予目標時,權利賦予選擇控制部501使用例如分發優先度計算電路503所計算的分發優先度及從BE型暫存器群523所讀出的優先層級等來決定賦予存取權的要求發出控制部。
[中央匯流排控制系統2]
圖3是說明中央匯流排控制系統60的構成例。中央匯流排控制系統60具有:權利賦予選擇控制部601,隱蔽信號產生部602,分發優先度計算電路603,權利賦予數控制部604,傳送量監視器610,時槽設定暫存器621,預約型暫存器群622,BE型暫存器群623,及可賦予最大數目設定暫存器624。中央匯流排控制系統60的構成除了不含更新控制部505(參照圖2)的點以外,可以是與中央匯流排控制系統50的構成相同。
傳送量監視器610是測定經由匯流排所傳送的寫入要求的處理傳送量的功能部。傳送量監視器610具有預約型用傳送量監視器611及BE型用傳送量監視器612。預約型用傳送量監視器611測定經由匯流排24W、34W及44W(參照圖1)被傳送到連接埠70的寫入要求的處理的傳送量。BE型用傳送量監視器612也是相同,測定經由匯流排24W、34W及44W被傳送到連接埠70之寫入要求的處理的傳送量。時槽設定暫存器621存放1個基本時槽內存在的次時槽的數目及1個次時槽的期間。
權利賦予選擇控制部601對於要求發出控制部23W、33W及43W賦予存取權。權利賦予選擇控制部601在賦予存取權時,決定(選擇)要對那一個要求發出控制部賦予存取權。權利賦予選擇控制部601對於「存取權的賦予目標之要求發出控制部」輸出「表示獲得存取權之存取權賦予信號」。權利賦予選擇控制部601例如使得輸出到存取權的賦予目標的要求發出控制部的存取權賦予信號激活,使得輸出到「未賦予存取權的要求發出控制部」的存取權賦予信號維持在去活狀態。
權利賦予數控制部604計算可賦予要求發出控制部之存取權的數目(權利賦予可能數)。可賦予最大數目設定暫存器624存放存取權的權利賦予可能數的最大數目。權利賦予可能數的最大數以快取機構75為例是依據快取可能寫入要求的數目(寫入資料的大小)來設定。權利賦予數控制部604是例如依據快取機構75的空閒項目數,以可賦予最大數目設定暫存器624所存放的最大數目為上限來計算存取權的權利賦予可能數。權利賦予選擇控制部601在權利賦予數控制部604所計算的權利賦予可能數的範圍內來賦予存取權。
當例如權利賦予選擇控制部601對那一個要求發出控制部賦予存取權時,權利賦予數控制部604會將權利賦予可能數目減少已經賦予的存取權的數目。例如當快取機構75的空閒項目數增加時,權利賦予數控制部604會將權利賦予可能數增加所增加的項目的數目。當那一個要求發出控制部歸還存取權時,權利賦予數控制部604會將權利賦予可能數增加被歸還的存取權的數量。
預約型暫存器群622包含例如預約頻寬設定暫存器,及預約型優先層級設定暫存器。預約頻寬設定暫存器存放例如對於各主控端所設定的預約頻寬。預約頻寬設定暫存器將例如各主控端的在每1個次時槽的寫入要求處理的預約傳送量作為預約頻寬來存放。預約型優先層級設定暫存器存放例如各主控端的優先層級。而且,中央匯流排控制系統50的預約型暫存器群522(參照圖2)的預約頻寬設定暫存器中,也可以將例如預約型暫存器群622的預約頻寬設定暫存器中所存放的各主控端的預約傳送量的總和,作為快取機構75輸出的寫入要求處理所對應的預約頻寬來存放。
隱蔽信號產生部602判斷在各個次時槽中,各主控端的傳送量是否達到了各主控端的預約傳送量。當任一個主控端的次時槽的傳送量達到預約傳送量時,隱蔽信號產生部602會對該主控端產生關於該次時槽的剩餘期間的隱蔽信號。
BE型暫存器群623例如包含:目標傳送量設定暫存器,更新傳送量暫存器,分發優先度修正期間設定暫存器,及BE型優先層級設定暫存器。目標傳送量設定暫存器例如對於各主控端存放在每1個次時槽的目標傳送量。更新傳送量暫存器對於各主控端存放用來顯示傳送量的累積値之累積傳送量。分發優先度修正期間設定暫存器存放用來表示修正目標傳送量的期間之分發優先度修正期間。BE型優先層級設定暫存器存放關於各主控端的優先層級。
分發優先度計算電路603計算表示分發存取權的優先度之分發優先度。分發優先度計算電路603依據例如各主控端的目標傳送量來計算分發優先度。分發優先度計算電路603中的分發優先度的計算等可以與中央匯流排控制系統50的分發優先度計算電路503相同。分發優先度計算電路603將所計算的分發優先度輸出到權利賦予選擇控制部601。
權利賦予選擇控制部601分別獨立地進行使用預約型暫存器群622來選擇存取權的賦予目標及使用BE型暫存器群623來選擇存取權賦予目標。當使用預約型暫存器群622來選擇存取權賦予目標時,權利賦予選擇控制部601例如使用從預約型暫存器群622讀出預約頻寬及優先層級等來決定賦予存取權之要求發出控制部。當使用BE型暫存器群623來選擇存取權的賦予目標時,權利賦予選擇控制部601例如使用分發優先度計算電路603所計算的分發優先度及從BE型暫存器群623所讀出的優先層級等來決定賦予存取權之要求發出控制部。
[動作順序]
圖4說明中央匯流排控制系統50賦予存取權的動作順序。中央匯流排控制系統50的權利賦予數控制部504(參照圖2)判斷是否有從記憶體控制器80接受到緩衝器釋放通知(步驟A1)。當在步驟A1判斷接收到緩衝器釋放通知時,權利賦予數控制部504會將權利賦予可能數目增加相當於被釋放的緩衝器的數目(步驟A2)。當在步驟A1判斷沒有接收到緩衝器釋放通知時,權利賦予數控制部504不會改變權利賦予可能數目。
權利賦予數控制部504判斷存取權是否有被歸還(步驟A3)。例如當從要求發出控制部23R、33R、43R及78的至少有一個輸出了存取權歸還信號時,權利賦予數控制部504判斷存取權有被歸還。而且,當快取機構75輸出了表示快取命中的通知時,權利賦予數控制部504判斷存取權被歸還。當在步驟A3判斷存取權有被歸還時,權利賦予數控制部504會增加權利賦予可能數相當於被歸還的存取權的數目(步驟A4)。當在步驟A3判斷存取權沒有被歸還時,權利賦予數控制部504不會改變權利賦予可能數目。步驟A1與步驟A3之中,那一個先實施都可以。
權利賦予選擇控制部501判斷是否可賦予存取權(步驟A5)。在步驟A5,權利賦予選擇控制部501從權利賦予數控制部504取得權利賦予可能數目,依據權利賦予可能數來判斷是否可能賦予存取權。例如當權利賦予可能數為1個以上時判斷可賦予存取權。當權利賦予可能數是0時,權利賦予選擇控制部501判斷不能賦予存取權。權利賦予選擇控制部501例如在每個週期判斷是否可能賦予存取權。當判斷不能賦予存取權時,會將處理回到步驟A1。
當在步驟A5判斷可賦予存取權時,權利賦予選擇控制部501選擇作為存取權的賦予目標的要求發出控制部(步驟A6)。在步驟A6,權利賦予選擇控制部501從主控端A20、主控端B30、主控端C40、及快取機構75所對應的要求發出控制部23R、33R,43R及78之中,決定要對那一個要求發出控制部賦予存取權。權利賦予選擇控制部501例如藉著使用預約型暫存器群522或BE型暫存器群523的選擇處理,來選擇(決定)權利賦予目標的要求發出控制部。
權利賦予選擇控制部501對步驟A6所選擇的賦予目標賦予存取權(步驟A7)。在步驟A7,權利賦予選擇控制部501藉著對賦予存取權的要求發出控制部輸出存取權賦予信號來賦予存取權。當從所對應的主控端或快取機構75受理到讀取要求或寫入要求時,接受到存取權賦予信號的要求發出控制部會將該讀取要求或寫入要求輸出到記憶體控制器80側。當接受到存取權賦予信號、且沒有從所對應的主控端或快取機構75受理到讀取要求或寫入要求時,要求發出控制部會將存取權歸還信號輸出到中央匯流排控制系統50。
當權利賦予選擇控制部501對於要求發出控制部賦予存取權時,權利賦予數控制部504會將權利賦予可能數目減少1個(步驟A8)。然後將處理回到步驟A1,重複依據緩衝器81的空閒狀況及歸還的存取權來計算權利賦予可能數,然後在權利賦予可能數的範圍內賦予存取權。
圖5說明中央匯流排控制系統60中賦予存取權的動作順序。中央匯流排控制系統60的權利賦予數控制部604(參照圖3)監視快取機構75的空閒狀況,並判斷快取機構75的項目是否有被釋放(步驟B1)。當在步驟B1判斷快取機構75的項目被釋放時,權利賦予數控制部604會增加相當於被釋放的項目的數目(步驟B2)的權利賦予可能數目。當在步驟B1判斷快取機構75的項目沒有被釋放時,權利賦予數控制部604不會改變權利賦予可能數。
權利賦予數控制部604判斷是否有從要求發出控制部23W、33W、或43W被歸還存取權(步驟B3)。例如當從要求發出控制部23W、33W及43W中的至少一個輸出存取權歸還信號時,權利賦予數控制部604會判斷存取權有被歸還。當在步驟B3判斷存取權有被歸還時,權利賦予數控制部604會增加相當於被歸還的存取權的數目之權利賦予可能數(步驟B4)。當在步驟B3判斷存取權沒有被歸還時,權利賦予數控制部604不會改變權利賦予可能數。步驟B1與步驟B3之中,將那一個先實施都可以。
權利賦予選擇控制部601判斷是否可賦予存取權(步驟B5)。在步驟B5時,權利賦予選擇控制部601從權利賦予數控制部604取得權利賦予可能數,依據權利賦予可能數來判斷是否可賦予存取權。例如當權利賦予可能數是1以上時,權利賦予選擇控制部601判斷可賦予存取權。當權利賦予可能數是0時,權利賦予選擇控制部601判斷不能夠賦予存取權。權利賦予選擇控制部601例如在每個週期判斷是否可賦予存取權。當判斷不能夠賦予存取權時會將處理回到步驟B1。
當在步驟B5判斷可賦予存取權時,權利賦予選擇控制部601選擇作為存取權的賦予目標的要求發出控制部(步驟B6)。在步驟B6,權利賦予選擇控制部601從主控端A20、主控端B30及主控端C40所對應的要求發出控制部23W、33W及43W之中,決定對那個主控端所對應的要求發出控制部賦予存取權。權利賦予選擇控制部601藉著例如使用預約型暫存器群622或BE型暫存器群623之選擇處理,來選擇(決定)作為權利賦予目標的要求發出控制部。
權利賦予選擇控制部601對步驟B6所選擇的賦予目標賦予存取權(步驟B7)。在步驟B7,權利賦予選擇控制部601藉著對賦予了存取權之要求發出控制部輸出存取權賦予信號來賦予存取權。當recieve了存取權賦予信號之要求發出控制部從所對應的主控端受理到寫入要求時,會將該寫入要求輸出到記憶體控制器80側。當接受到存取權賦予信號、且沒有從所對應的主控端受理到寫入要求時,要求發出控制部會將存取權歸還信號輸出到中央匯流排控制系統60。
當權利賦予選擇控制部601對於要求發出控制部賦予存取權時,權利賦予數控制部604會將權利賦予可能數減少一個(步驟B8)。然後回到步驟B1的處理,依據快取機構75的空閒狀況及被歸還的存取權來計算權利賦予可能數,在權利賦予可能數的範圍內來賦予存取權。
[整理]
在本實施形態中,電子裝置10在連接埠70與記憶體控制器80之間具有進行寫回之快取機構75。各主控端所發出的寫入要求會被暫時留在快取機構75,當例如記憶體控制器80有空閒時快取機構75再進行寫回。快取機構75做為資料緩衝器的功能很大,而讀取資料快取命中的期待値很小。所以在本實施形態中,中央匯流排控制系統50所進行之對於各主控端的讀取要求的存取控制中,是以讀取資料沒有快取命中記憶體,以讀取要求到達記憶體控制器80為前提來進行存取控制。換言之,中央匯流排控制系統50是以讀取要求會到達記憶體控制器80的緩衝器81為前提,來對於各主控端的讀取要求賦予存取權。
在本實施形態中,將對記憶體90之存取要求分成暫時留在快取機構75之存取要求及不會遲延地來存放在記憶體控制器80的緩衝器81之存取要求,分別對其個別地進行存取控制。更詳細來說,在本實施形態中,中央匯流排控制系統50會對預期不被快取機構75所遮擋而到達記憶體控制器80的緩衝器81之各主控端所發出的讀取要求,及快取機構75所輸出之寫入要求進行存取控制。中央匯流排控制系統60對暫時存放在快取機構75之各主控端所發出的寫入要求進行存取控制。
假如與專利文獻1相同地,使用1個中央匯流排控制系統,僅在各主控端與快取機構75之間實施存取控制,當快取機構75在進行寫回時緩衝器81會被占有,有可能會發生中央匯流排控制系統無法控制緩衝器81的空閒狀況的情況。這時,記憶體控制器80所受理的存取要求變得無法從中央匯流排控制系統來控制,尤其是難以保證對於各主控端所發出的讀取要求之延遲時間。與此相對,在本實施形態中,中央匯流排控制系統50對於各主控端所發出的讀取要求及快取機構75所進行的寫回(寫入要求)會依據緩衝器81的空閒狀況來進行存取控制。藉此可以從中央匯流排控制系統50來控制緩衝器81的空閒狀況,也可以保證對於各主控端所發出的讀取要求的延遲時間。
而且,中央匯流排控制系統60對於各主控端所發出的寫入要求會依據快取機構75的空閒狀況來進行存取控制。當寫入要求被快取機構75受理時,發出寫入要求的主控端可以接受對寫入要求的回應。中央匯流排控制系統60在例如快取機構75可以受理的範圍內,對於各主控端所發出的寫入要求賦予存取權。藉此也可以保證對主控端所發出的寫入要求的延遲時間。
[實施形態2]
接著說明實施形態2。包含本實施形態中之半導體裝置的電子裝置的構成可以是與圖1所示的實施形態中之電子裝置10的構成相同。圖6說明本實施形態中被使用的中央匯流排控制系統(中央匯流排控制系統1)的構成例子。本實施形態中所使用的中央匯流排控制系統50a是在圖2所示的實施形態1中所使用的中央匯流排控制系統50的構成中加上分發階段設定暫存器531,分發重疊設定暫存器532,及分發階段計算電路533。其他點則與實施形態1相同。
在本實施形態中,中央匯流排控制系統50a對於各主控端的讀取要求所對應的要求發出控制部23R、33R及43R,及快取機構75的寫入要求所對應的要求發出控制部78分開期間排他地賦予存取權。中央匯流排系統50a在對於要求發出控制部23R、33R及43R賦予存取權的期間內,不會對於要求發出控制部78賦予存取權。相反地,中央匯流排控制系統50a在對於要求發出控制部78賦予存取權的期間內,也不會對於要求發出控制部23R、33R及43R賦予存取權。
在本實施形態中,中央匯流排控制系統50a被設定為例如以次時槽為單位對於要求發出控制部23R、33R及43R,亦即對讀取要求賦予存取權的期間,及對於要求發出控制部78,亦即對寫入要求賦予存取權的期間。分發階段設定暫存器531儲存指定那一個次時槽是對讀取要求賦予存取權的期間,或者對寫入要求賦予存取權的期間的資訊。
在本實施形態中,中央匯流排控制系統50a對讀取要求賦予存取權的次時槽(以下,也稱之為讀取期間次時槽)及對寫入要求賦予存取權的次時槽(以下,也稱之為寫入期間次時槽)間的切換,也可以在其切換時間的預定時間以前的時間開始解除被抑止的存取權的賦予。分發重疊設定暫存器532是設定在切換讀取期間次時槽與寫入期間次時槽時,解除被抑止賦予存取權的預定時間長度。例如分發重疊設定暫存器532是儲存在切換讀取期間次時槽與寫入期間次時槽時,表示在現在的次時槽結束的幾個週期前開始,是否對讀取要求與寫入要求雙方同意了賦予存取權的資訊。分發重疊設定暫存器532也可以將從讀取期間次時槽切換到寫入期間次時槽及從寫入期間次時槽切換到讀取期間次時槽設定為不同的時間。
分發階段計算電路533依據儲存在分發階段設定暫存器531的資訊,將例如表示現在的次時槽是讀取期間次時槽還是寫入期間次時槽的資訊通知權利選擇控制部501。在讀取期間次時槽時,權利賦予選擇控制部501將要求發出控制部78從存取權的賦予目標的選擇對象中加以去除。或者在寫入期間次時槽時,權利賦予選擇控制部501將要求發出控制部23R、33R及43R從存取權的賦予目標的選擇對象中加以去除。
分發階段計算電路533參考分發重疊設定暫存器532,當在切換讀取期間次時槽與寫入期間次時槽的時間的預定時間之前的時間時,將可以對讀取要求與寫入要求雙方賦予存取權的情況通知權利賦予選擇控制部501。當接受到此一通知時,權利賦予選擇控制部501會從要求發出控制部23R、33R、43R及78之中選擇賦予存取權的目標,直到現在的次時槽結束為止。
[設定例]
圖7說明讀取期間次時槽與寫入期間次時槽的設定例。在圖7的例中,1個基本時槽包含6個次時槽。分發階段設定暫存器531儲存例如表示次時槽1、2、3、及5是讀取期間次時槽,次時槽4及6是寫入期間次時槽的情況的資訊。這時,權利賦予選擇控制部501會在次時槽1、2、3、及5對讀取要求賦予存取權,並抑制對寫入要求賦予存取權。權利賦予選擇控制部501會在次時槽4及6對寫入要求賦予存取權,並抑制對讀取要求賦予存取權。
當從次時槽3切換到次時槽4時,分發階段計算電路533在比該時間早於分發重疊設定暫存器532所設定的預定時間(重疊時間)的時間,將可以對讀取要求及寫入要求雙方賦予存取權的情況通知權利賦予選擇控制部501。當接受到該通知時,權利賦予選擇控制部501例如在讀取期間次時槽之次時槽3,將被抑止的寫入要求也加在賦予存取權的對象內。
從寫入期間次時槽之次時槽4切換到讀取期間次時槽之次時槽5時也同樣地,權利賦予選擇控制部501從切換時間的預定時間前開始,將被抑止的讀取要求加到賦予存取權的對象內。而且,從讀取期間次時槽之次時槽5切換到寫入期間次時槽之次時槽6時,權利賦予選擇控制部501從切換時間的預定時間前開始,將被抑止的寫入要求加到賦予存取權的對象內。
在此,相對於被賦予存取權的讀取要求是經由連接埠70及快取機構75等到達記憶體控制器80,寫入要求是立即到達記憶體控制器80。如此地,讀取要求與寫入要求從被賦予存取權開始直到到達記憶體控制器80為止的延遲時間不同。如果在各個次時槽完全排他地分發存取權,有可能會因為延遲時間的不同,造成記憶體控制器80的緩衝器81變成空的。藉著在預定時間內對讀取要求與寫入要求雙方賦予存取權直到切換讀取與寫入的時間為止,可以減少緩衝器81變成空的可能性。
[整理]
在本實施形態中,中央匯流排控制系統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被設定為寫入期間次時槽。
例如,假設在分發階段設定暫存器531(參照圖6)中儲存有圖7所示的設定。分發階段計算電路533從快取機構75取得空閒項目數,然後判斷空閒項目數是在上側閥值以上,還是下側閥值以下。在平時,例如空閒項目數較上側閥值少且較下側閥值多時,分發階段計算電路533以圖7所示的設定來設定讀取期間次時槽與寫入期間次時槽。
當空閒項目數是在上側閥值以上時,亦即空閒項目數較多時,分發階段計算電路533會減少寫入期間次時槽的數目,例如以圖8(a)所示地來設定讀取期間次時槽及寫入期間次時槽。當空閒項目數在下側閥值以下時,亦即空閒項目數較少時,分發階段計算電路533會增加寫入期間次時槽的數目,例如以圖8(b)所示地來設定讀取期間次時槽與寫入期間次時槽。
藉著如上述一般地設定,當空閒項目數較多時,亦即儲存在快取機構75內應該要寫回的寫入要求較少時,可以在基本時槽內對讀取要求賦予較平常多的存取權。另一方面,當空閒項目數較少時,亦即儲存在快取機構75應該要寫回的寫入要求很多時,可以在基本時槽內對寫入要求賦予較平常時多的存取權。依據快取機構75的空閒項目數來動態地控制讀取期間次時槽的數目與寫入期間次時槽的數目,例如當不需要寫回時可以對讀取要求賦予較多的存取權來改善存取的效率。
[實施形態3]
接著說明實施形態3。本實施形態中之電子裝置的構成也可以與圖1所示的實施形態1中的電子裝置10的構成相同。圖9說明本實施形態中被使用的中央匯流排控制系統(中央匯流排控制系統2)的構成。在本實施形態所使用的中央匯流排控制系統60a具有:權利賦予選擇控制部601,權利賦予數控制部604,時槽設定暫存器621,可賦予最大數目設定暫存器624,及QoS暫存器群625。權利賦予數控制部604,時槽設定暫存器621,及可賦予最大數目設定暫存器624可以與實施形態1所說明的相同。
在實施形態1中,中央匯流排控制系統60(參照圖3)使用預約型暫存器群622及BE型暫存器群623來選擇賦予存取權的目標的主控端(與其對應的要求發出控制部)。與其相對,在本實施形態中,中央匯流排控制系統60a依據快取機構75的空閒項目數來決定複數主控端之中要對那一個主控端的寫入要求賦予存取權。
在本實施形態的中央匯流排控制系統60a中,QoS暫存器群625將各主控端與快取機構75的空閒項目數的條件建立對應關係而儲存。權利賦予選擇控制部601取得快取機構75的空閒項目數,依據所取得的空閒項目數與儲存在QoS暫存器群625的資訊,來決定賦予存取權的目標的主控端。權利賦予選擇控制部601例如從所取得的空閒項目數滿足儲存在QoS暫存器群625的條件的主控端之中選擇賦予存取權的主控端。藉此可以例如對某個主控端不管空閒項目數的多少都將其做為賦予存取權的對象,對其他的主控端則是僅在空閒項目數較多時將其作為賦予存取權的對象。
[設定例]
圖10說明快取機構75的空閒項目數的層級。例如,快取機構75的空閒項目數是使用複數層級來管理。圖10所示的例子中,快取機構75的空閒項目數是從最小的層級1到最大的層級4為止的4個層級來管理。權利賦予選擇控制部601判定所取得的快取機構75的空閒項目數是在那一個層級。例如當空閒項目數在閥值A以下時,權利賦予選擇控制部601判定空閒項目數的層級是層級1。例如當空閒項目數較閥值A多而且在閥值B以下時,權利賦予選擇控制部601判定空閒項目數的層級是層級2。例如當空閒項目數較閥值B多而且在閥值C以下時,權利賦予選擇控制部601判定空閒項目數的層級是層級3。例如當空閒項目數是閥值C以上時,權利賦予選擇控制部601判定空閒項目數的層級是層級4。QoS暫存器群625也可以包含存放用來判定層級的閥值的暫存器。
QoS暫存器群625例如將各主控端與空閒項目數的層級建立關聯而儲存。QoS暫存器群625內所儲存的空閒項目數的層級是表示所對應的主控端成為賦予存取權的對象的條件。權利賦予選擇控制部601參照QoS暫存器群625,從儲存在QoS暫存器群625的空閒項目數的層級是在所取得的空閒項目數的層級以下的主控端之中選擇賦予存取權目標的主控端。例如當所取得的空閒項目數的層級是層級2時,權利賦予選擇控制部601從QoS暫存器群625之中,與層級1及層級2建立關聯而儲存的主控端之中選擇賦予存取權的目標的主控端。
圖11說明空閒項目數的層級與賦予存取權的對象的主控端之間的關係。在此,假設有從主控端A到主控端D的4個主控端。QoS暫存器群625例如對主控端A以層級2,對主控端B以層級1,對主控端C以層級4,對主控端D以層級3來作為賦予存取權的對象的條件而儲存。這時,若是所取得的空閒項目數的層級是層級1,權利賦予選擇控制部601僅將主控端B作為賦予存取權的對象,若是空閒項目數的層級是層級2則將主控端A及B作為賦予存取權的對象。而且,若是所取得的空閒項目數的層級是層級3時,權利賦予選擇控制部601將主控端A、B、及D作為賦予存取權的對象,若是空閒項目數的層級是層級4時,將所有的主控端作為賦予存取權的對象。
[整理]
在本實施形態中,權利賦予選擇控制部601依據快取機構75的空閒項目數來決定賦予存取權的對象的主控端,從賦予對象的主控端之中選擇賦予存取權的目標的主控端。例如在QoS暫存器群625中儲存有對於執行影像輸入的主控端不論快取機構75的空閒狀況為何使其經常成為賦予存取權對象的條件,對其他的主控端則儲存只有當快取機構75是在一定以上空閒時才會成為賦予存取權的對象的條件。這時,當快取機構75的空閒項目數較少時,藉著停止對執行影像輸入的主控端以外的主控端賦予存取權,較容易保證執行影像輸入的主控端的緩衝器不會溢出。也可以取代依據空閒項目數的層級來選擇賦予存取權的目標的主控端,在QoS暫存器群內直接設定空閒項目數的閥值,依據空閒項目數是否在閥值以上來選擇賦予存取權的目標的主控端。
[實施例4]
接著說明實施形態4。在本實施形態中說明以各種設定資訊來產生半導體裝置中之匯流排的電路情報之匯流排產生器。圖12說明匯流排產生器800的硬體構成例。匯流排產生器800是由包含例如CPU801、記憶體802、鍵盤804、滑鼠805、監視器806、及匯流排807之電腦裝置所構成。記憶體802中儲存有將電腦裝置作為匯流排產生器800來動作所需的匯流排產生工具803。在電腦裝置中,CPU801依據從記憶體802所讀出的匯流排產生工具803來執行處理,可以使電腦裝置作為匯流排產生器800來動作。
圖13說明匯流排設計的概略流程。首先考慮市場中的使用狀況等(步驟S101),檢討匯流排所需的性能(步驟S102)。接著,依據所需要的性能等來檢討匯流排構造(步驟S103)。匯流排構造的檢討包含檢討是否使用例如中央匯流排控制系統50及60(參照圖1)。
匯流排構造決定後,對應到所決定的匯流排構造所需要的設定資訊會被輸入到匯流排產生器(步驟S104)。匯流排產生器會產生匯流排的電路資訊並加以輸出(步驟S105)。電路資訊是以例如RTL(Register Transfer Level)來描述。然後,匯流排的電路資訊會被邏輯合成(步驟S106),接著進行佈局設計(步驟S107)。步驟S104及S105說明使用匯流排產生器來進行設計的階段。
圖14是說明輸入設定資訊的畫面的例子。例如在監視器806(參照圖12)顯示提醒要輸入設定資訊的畫面,使用者使用鍵盤804及滑鼠805將各種設定提供到匯流排產生器800。例如圖14所示的畫面中,當使用者從選單901選擇「QoS」時,次選單902會被顯示。當使用者在次選單902選擇「仲裁器」時,仲裁器方式等的選擇畫面903會被顯示。使用者可以在選擇畫面903選擇例如中央控制方式或者有無快取等。
使用者將主控端的存取目標的資訊,使用時脈的資訊,匯流排寬度有關的資訊,及功能安全有關的資訊等,例如作為對記憶體輸出存取要求之主控端有關的資訊來輸入到匯流排產生器800。並且輸入位址領域的資訊,使用時脈的資訊,匯流排寬度有關的資訊,及功能安全有關的資訊等來作為主控端所存取的從屬端有關的資訊。此外,輸入指定QoS方式的資訊及各方式的詳細設定等來作為關於仲裁器的資訊。
圖15說明匯流排產生器的功能方塊。匯流排產生器800作為功能方塊,具有:匯流排構造資訊產生部811,匯流排元件產生部812,中央匯流排控制部產生部813,次匯流排控制部產生部814,及合併部815。匯流排產生器800被輸入時脈資訊101,連接資訊102,從屬端資訊103,主控端情報104,快取資訊106,QoS資訊初期値107,DDR控制器緩衝器資訊108,及次功能選項109。這些資訊是經由例如圖14所示的設定資訊的輸入畫面被輸入。
匯流排構造資訊產生部811使用時脈資訊101,連接資訊102,從屬端資訊103,及主控端資訊104等來產生連接主控端與從屬端的匯流排的構造資訊。匯流排元件產生部812依據匯流排構造資訊產生部811所產生的匯流排的構造資訊及儲存在次IP(Intellectual Property)群儲存部105之各種功能方塊的電路資訊,來產生各種匯流排元件的電路資訊110。儲存在次IP群儲存部105的各種功能方塊的電路資訊是由例如提供各種IP核心的廠商所提供。匯流排元件產生部812產生例如以RTL來描述的匯流排元件的電路資訊110。
中央匯流排控制部產生部813會被輸入匯流排構造資訊產生部811所產生的匯流排的構造資訊、快取資訊106、QoS資訊初期値107、DDR控制器緩衝器情報108、及次功能選項109,及儲存在次IP群儲存部105之各種功能方塊的電路資訊。中央匯流排控制部產生部813產生中央匯流排控制系統的電路資訊111,其對主控端所輸出的讀取要求及快取記憶體的寫回,以及對主控端所輸出的寫入要求進行存取控制。中央匯流排控制部產生部813產生例如以RTL來描述的中央匯流排控制系統的電路資訊111。中央匯流排控制系統的電路資訊111是表示例如圖1所示的中央匯流排控制系統50及60的電路構成。
次匯流排控制部產生部814使用中央匯流排控制系統的電路資訊111,來產生依據中央匯流排控制系統的控制來動作之次匯流排控制系統的電路資訊112。次匯流排控制部產生部814產生例如以RTL來描述之次匯流排控制系統的電路資訊112。次匯流排控制系統的電路資訊112是表示例如圖1所示的次匯流排控制器系統22R、32R、42R、22W、32W、42W及77的電路構成。合併部815將匯流排元件的電路資訊110,中央匯流排控制系統的電路資訊111,及次匯流排控制系統的電路資訊112加以合併來輸出匯流排的電路資訊113。匯流排的電路資訊113是將例如圖1所示的電子裝置10之中,從各主控端到記憶體90間的匯流排有關的電路部分以RTL來描述。
[整理]
在本實施形態中,使用匯流排產生器800來產生匯流排系統。藉著將各種設定資訊等輸入到匯流排產生器800,可以自動地來產生例如圖1所示的電子裝置10中從各主控端到記憶體90間的匯流排系統。
[實施形態5]
說明實施形態5。圖16是說明包含本實施形態中之半導體裝置之電子裝置。在圖1所示的實施形態1中之電子裝置10,中央匯流排控制系統50藉著控制對快取機構75的寫回所對應之要求發出控制部78賦予存取權,來對寫回進行存取控制。與此相對,在本實施形態中之電子裝置10a中,中央匯流排控制系統50b藉著控制表示對於要求發出控制部78輸出的存取許可的信號,來實施對寫回的存取控制。其他的點則可以與實施形態1到3相同。
在本實施形態中,中央匯流排控制系統50b將許可期間通知作為表示存取許可的信號來輸出到要求發出控制部78。當存取被許可時許可期間通知會被激活,當存取沒有被許可時會被去活。當從中央匯流排控制系統50b輸出的許可期間通知是激活時,寫入要求發出控制部78會將快取機構75所輸出的寫入要求輸出到記憶體控制器80。當許可期間通知是去活時,要求發出控制部78會抑制將寫入要求輸出到記憶體控制器80。當要求發出控制部78將寫入要求輸出到記憶體控制器80時,會將表示該情況之傳送通知輸出到中央匯流排控制系統50b。
圖17說明中央匯流排控制系統50b的構成例。中央匯流排控制系統50b具有權利賦予選擇控制部501、隱蔽信號產生部502、分發優先度計算電路503、權利賦予數控制部504、更新控制部505、傳送量監視器510、時槽設定暫存器521、預約型暫存器群522、BE(Best Effort)型暫存器群523、及可賦予最大數目設定暫存器524。在本實施形態中,中央匯流排控制系統50b的預約型暫存器群522也可以不儲存關於快取機構75的預約頻寬等資訊,BE型暫存器群523也可以不儲存關於快取機構75的目標傳送量等的資訊。而且,傳送量監視器510也可以不監視要求發出控制部78與記憶體控制器80之間的匯流排79W的處理的傳送量(參照圖16)。
在本實施形態中的中央匯流排控制系統50b中,權利賦予選擇控制部501對於要求發出控制部23R、33R及43R進行的賦予存取權,可以是與實施形態1所說明的相同。權利賦予選擇控制部501對於要求發出控制部78輸出許可期間通知。權利賦予數控制部504從要求發出控制部78接受傳送通知。當接受到傳送通知時,權利賦予數控制部504會被視為已經對快取機構75的寫回賦予了存取權,並減少相當於所傳送的寫入要求的權利賦予可能數目。權利賦予選擇控制部501會在權利賦予可能數目的範圍內,對於要求發出控制部23R、33R、及43R賦予存取權。
[整理]
實施形態1中之中央匯流排控制系統50在賦予寫入要求的存取權時,賦予存取權的目標僅有快取機構75的寫回,亦即僅有要求發出控制部78。當依據存取權來實施快取寫回的存取許可時,因為賦予存取權的目標僅有1處,大多會被持續地賦予存取權。因為對DDR記憶體的存取一般來說是爆發存取,而且在寫入要求時也會有資料單元的傳送,即使是對於要求發出控制部78持續地賦予存取權,也不會全部被使用,大多會被歸還到中央匯流排控制系統50。這時,無用的存取權賦予會增加,造成可以對讀取要求賦予的存取權會減少。在本實施形態中,中央匯流排控制系統50b以對於要求發出控制部78輸出許可期間通知來對寫入要求實施存取控制。在本實施形態中,要求發出控制部78將寫入要求輸出到記憶體控制器80時會減少權利賦予可能數目,可以避免上述一般的無效的存取權的賦予。
[實施形態6]
說明實施形態6。本實施形態中的電子裝置的構成可以與圖1所示的實施形態1中的電子裝置10的構成相同。與實施形態2相同地,本實施形態中對於各主控端的讀取要求所對應的要求發出控制部23R、33R及43R、與快取機構75的寫入要求所對應的要求發出控制部78分開期間來排他地賦予存取權。在本實施形態中,圖6所示的實施形態2中使用的中央匯流排控制系統50a被作為中央匯流排控制系統1來使用。在本實施形態中,中央匯流排控制系統50a的更新控制部505配合切換對讀取要求賦予存取權的期間與對寫入要求賦予存取權的期間的時間,對記憶體90輸出更新要求。其他點則可以與實施形態2相同。
[動作例]
圖18說明對記憶體90的存取的動作例。圖18(a)是說明在切換讀取與寫入時不會進行更新時的動作例,(b)是說明在切換讀取與寫入時會進行更新時的動作例。
如圖18(a)所示,例如考慮在時間t11對記憶體90以讀取來開始存取,然後將存取類別切換到寫入的情況。將對記憶體90的存取類別從讀取切換到寫入時,在讀取結束之後直到開始寫入為止,需要設置有一定的期間是不會進行記憶體存取的期間。亦即,讀取與寫入間的切換時會發生R(Read)/W(Write)切換損失。在圖18(a)中,在時間t12結束讀取開始到在時間t13開始寫入為止的時間T1便是R/W切換損失。
在時間t13將存取類別切換到寫入之後,再將存取類別切換成讀取時也是從時間t14結束寫入開始到在時間t15開始讀取為止的時間T1會發生R/W切換損失。在時間t16開始更新時,在更新期間中也無法存取記憶體90,從時間t16開始到更新結束的時間t17為止的時間T2便成為更新損失。因為更新而被中斷的讀取對記憶體90的存取在時間t17會再開始,在時間t18時結束。
接著,如圖18(b)所示的,考慮例如在時間t21對記憶體90以讀取開始存取,然後將存取類別切換到寫入時的情況。這時也與圖18(a)的例子相同,從時間t22到時間t23為止的時間T1會發生R/W切換損失。在圖18(b)的例中,在時間t23存取類別被切換到寫入之後,在時間t24時存取類別的切換與更新會被同時實施。這時,從時間t24到時間t25為止的時間T2(更新損失),會隱蔽R/W切換損失(T1),不需要另外等候R/W切換損失的時間,也可以在時間t25將存取類別切換成讀取。在時間t25開始對記憶體90的讀取存取會在時間t26結束。
在圖18(a)的例中,從時間t11到時間t18為止,有兩次存取類別的切換跟一次更新動作。在圖18(a)的例中,因為有兩次R/W切換損失跟一次更新損失,從時間t11到時間t18為止,不能存取記憶體90的期間是2×T1+T2。在圖18(b)的例子中也是,從時間t21到時間t26為止,有兩次存取類別的切換跟一次更新。但是在圖18(b)的例中,因為更新損失會隱蔽R/W切換損失,從時間t21到時間t26為止,不能存取記憶體90的期間只有T1+T2。當從時間t11到時間t18為止的時間,與從時間t21到時間t26為止的時間相同時,因為在切換存取類別時同時實施更新,使得對記憶體90的存取時間增加相當於時間T1。
[整理]
在本實施形態中,中央匯流排控制系統50a在切換對讀取要求賦予存取權的期間與對寫入要求賦予存取權的期間時,對記憶體90實施更新動作。當DDR等記憶體存取時,在讀取與寫入之間切換存取類別的損失很大。在本實施形態中,藉著在切換對讀取要求賦予存取權的期間與對寫入要求賦予存取權的期間的時間來實施更新,可以用更新損失來隱蔽R/W切換損失。藉此,可以提高對記憶體90的存取效率。
[變形例]
而且,在上述各實施形態中說明了中央匯流排控制系統50的權利賦予選擇控制部501(參照圖2)將使用預約型暫存器群522來選擇賦予存取權的目標,與使用BE型暫存器群523來選擇賦予存取權的目標獨立地來進行的例子,但並不僅限定於此。權利賦予選擇控制部501也可以將使用預約型暫存器群522來選擇賦予存取權的目標,與使用BE型暫存器群523來選擇賦予存取權的目標切換地來實施。中央匯流排控制系統60的權利賦予選擇控制部601(參照圖3)也是一樣。
在上述各實施形態中,說明了使用2個中央匯流排控制裝置來實施輸出到記憶體控制器80的存取要求的存取控制,及暫時儲存在快取機構75的存取要求(寫入要求)的存取控制的例子,但是這些中央匯流排控制系統並不需要在實體上加以分離。也可以用1個中央匯流排控制系統來分別實施輸出到記憶體控制器80的存取要求的存取控制,及暫時儲存在快取機構75的存取要求(寫入要求)的存取控制。
以上依據實施型態來具體地說明了本發明者所考案的發明,但是本發明並不會被限定在所描述的實施形態,只要在不會脫離其主旨的範圍內當然也可以有各種變化。
例如,上述實施形態的一部分或者全部也可以如以下的附記一般來描述,但是並不僅限於以下。
[附記1]
一種半導體裝置,其具有:
主控端,對記憶體發出包含讀取要求及寫入要求之存取要求;
記憶體控制器,藉由匯流排與該主控端相連接,依據該存取要求來存取該記憶體;
快取機構,配置在該記憶體控制器與該主控端之間,當該存取要求是寫入要求時將該寫入要求存入快取記憶體中;
第1存取控制部,其實施控制該主控端所發出的讀取要求之往該記憶體控制器的輸出,及該被存入快取記憶體的寫入要求之往該記憶體控制器的輸出之第1存取控制;及
第2存取控制部,其實施控制該主控端所發出的寫入要求之往該記憶體控制器的輸出之第2存取控制,
該記憶體控制器具有受理該存取要求而儲存的要求緩衝器,
該第1存取控制部依據該要求緩衝器的空閒狀況來實施該第1存取控制,
該第2存取控制部依據該快取記憶體的空閒狀況來實施該第2存取控制。
[附記2]
如附記1的半導體裝置,其中
該匯流排包含用來傳送該讀取要求的讀取要求匯流排,及用來傳送該寫入要求的寫入要求匯流排,
該第1存取控制部包含:具有對應到該讀取要求匯流排而配置的讀取要求發出控制部之讀取次匯流排控制器;具有對應到該快取記憶體與該記憶體控制器之間的該寫入要求匯流排而配置的第1寫入要求發出控制部的第1寫入次匯流排控制器;及使用該讀取次匯流排控制器及該第1寫入次匯流排控制器來實施該第1存取控制之第1中央匯流排控制系統,
該第2存取控制部包含:具有對應到該主控端與該快取記憶體之間的該寫入要求匯流排而配置的第2的寫入要求發出控制部之第2寫入次匯流排控制器;及使用該第2寫入次匯流排控制器來實施該第2存取控制的第2中央匯流排控制系統。
[附記3]
如附記2的半導體裝置,其中
該第1中央匯流排控制系統藉著控制對於該讀取要求發出控制部賦予存取權來對該讀取要求實施該第1存取控制,
該讀取要求發出控制部從該主控端受理該讀取要求,當從該第1中央匯流排控制系統被賦予該存取權時,將該讀取要求輸出到該記憶體控制器,當沒有被賦予該存取權時,抑制該讀取要求之往該記憶體控制器的輸出。
[附記4]
如附記3的半導體裝置,其中
該第1中央匯流排控制系統藉著控制對於該第1寫入要求發出控制部賦予存取權來實施對於該寫入要求之該第1存取控制,
該第1寫入要求發出控制部從該快取記憶體受理該寫入要求,當被該第1中央匯流排控制系統賦予該存取權時,將該寫入要求輸出到該記憶體控制器,當沒有被賦予該存取權時,抑制該寫入要求之往該記憶體控制器的輸出。
[附記5]
如附記3的半導體裝置,其中
該第1中央匯流排控制系統藉著控制對於該第1寫入要求發出控制部輸出表示存取許可的信號來實施對該寫入要求的該第1存取控制,
該第1寫入要求發出控制部受理來自該快取記憶體的該寫入要求,當從該第1中央匯流排控制系統輸出表示許可該存取的信號時將該寫入要求輸出到該記憶體控制器,當表示該存取許可的信號沒有被輸出時抑制該寫入要求之往該記憶體控制器的輸出。
[附記6]
如附記2的半導體裝置,其中
該第2中央匯流排控制系統藉著控制對該第2寫入要求發出控制部賦予存取權來實施該第2存取控制,
該第2寫入要求發出控制部從該主控端受理該寫入要求,當從該第2中央匯流排控制系統被賦予該存取權時將該寫入要求輸出到該快取記憶體,當沒有被賦予該存取權時抑制該寫入要求之往該快取記憶體的輸出。
[附記7]
如附記2的半導體裝置,
其具有複數該主控端,更具有連接埠,其協調從該複數主控端所輸入的存取要求來輸出到該記憶體控制器。
[附記8]
如附記7的半導體裝置,其中
該讀取要求發出控制部與該第2寫入要求發出控制部分別對應到連接該複數主控端與該連接埠間的複數讀取匯流排及寫入匯流排而配置。
[附記9]
如附記4的半導體裝置,其中
該第1中央匯流排控制系統依據該要求緩衝器的空閒項目數來管理表示可賦予該存取權的數目的權利賦予可能數,在該權利賦予可能數的範圍內對於該讀取要求發出控制部及該第1寫入要求發出控制部賦予該存取權。
[附記10]
如附記9的半導體裝置,其中
當該要求緩衝器被釋放時,該記憶體控制器將表示該要求緩衝器被釋放的內容之緩衝器釋放通知輸出到該第1中央匯流排控制系統,
當對於該讀取要求發出控制部及該第1寫入要求發出控制部賦予該存取權時,該第1中央匯流排控制系統從該權利賦予可能數減去該存取權的賦予數,當接受到該緩衝器釋放通知時,在該權利賦予可能數加上在該要求緩衝器被釋放的項目的數。
[附記11]
如附記10的半導體裝置,其中
該讀取要求發出控制部及該第1寫入要求發出控制部,當分別被賦予該存取權且沒有受理到該讀取要求及寫入要求時,將該存取權歸還到該第1中央匯流排控制系統,
當該存取權被歸還時,該第1中央匯流排控制系統在該權利賦予可能數上加上該存取權的歸還數。
[附記12]
如附記10的半導體裝置,其中
該快取機構將從該記憶體讀出的讀取資料再存入快取記憶體中,
當該讀取要求發出控制部所輸出的讀取要求所要求的資料存在於該快取記憶體時,該快取機構將該讀取資料輸出到該讀取要求的發出來源的主控端來作為對該讀取要求的回應,並且將賦予該讀取要求發出控制部的存取權歸還到該第1中央匯流排控制系統。
[附記13]
如附記6的半導體裝置,其中
該第2中央匯流排控制系統依據該快取記憶體的空閒項目數來管理表示能夠賦予該存取權的數目之權利賦予可能數,在該權利賦予可能數的範圍內對該第2寫入要求發出控制部賦予該存取權。
[附記14]
如附記13的半導體裝置,其中
當對該第2寫入要求發出控制部賦予該存取權時,該第2中央匯流排控制系統從該權利賦予可能數減去該存取權的賦予數目,當該快取記憶體的空閒項目數增加時,在該權利賦予可能數上加上該空閒項目所增加的數目。
[附記15]
如附記14的半導體裝置,其中
當被賦予該存取權且沒有受理到該寫入要求時,該第2寫入要求發出控制部會將該存取權歸還到該第2中央匯流排控制系統,
當該存取權被歸還時,該第2中央匯流排控制系統會在該權利賦予可能數上加上該存取權的歸還數。
[附記16]
如附記4的半導體裝置,其中
該第1中央匯流排控制系統,在第1期間對於該讀取要求發出控制部賦予該存取權,且抑制對於該第1寫入要求發出控制部賦予該存取權,在第2期間對於該第1寫入要求發出控制部賦予該存取權,且抑制對於該讀取要求發出控制部賦予該存取權。
[附記17]
如附記16的半導體裝置,其中
該第1中央匯流排控制系統將預定的基本時槽的期間分割成複數期間後的期間作為次時槽,以該次時槽為單位來設定該第1期間或該第2期間。
[附記18]
如附記17的半導體裝置,其中
該第1中央匯流排控制系統具有用來指定該次時槽是被設定於該第1期間還是該第2期間的暫存器。
[附記19]
如附記17的半導體裝置,其中
該第1中央匯流排控制系統依據該快取記憶體的空閒項目數來改變設定於該第1期間的次時槽的數目及設定於該第2期間的次時槽的數目。
[附記20]
如附記17的半導體裝置,其中
該第1中央匯流排控制系統,從設定於該第1期間之次時槽切換到設定於該第2期間的次時槽,與從設定於該第2期間的次時槽切換到設定於該第1期間的次時槽中的至少一者,從該切換時間的預定時間之前的時間開始,解除該被抑制的存取權的賦予。
[附記21]
如附記16的半導體裝置,其中
該記憶體係構成為能夠執行更新動作,
該第1中央匯流排控制系統配合切換該第1期間與該第2期間的時間時對該記憶體進行該更新動作。
[附記22]
如附記6的半導體裝置,其具有複數該主控端,更具有
連接埠,其協調從該複數主控端所輸入的存取要求來輸出到該記憶體控制器;及
該第2中央匯流排控制系統,依據該快取記憶體的空閒項目數來決定要對該複數主控端中的那一個主控端的寫入要求賦予該存取權。
[附記23]
如附記22的半導體裝置,其中
該第2中央匯流排控制系統具有將該複數主控端與該快取記憶體的空閒項目數的條件建立對應關係而儲存的暫存器,從該快取記憶體的空閒項目數滿足該條件的主控端之中,決定賦予該存取權的主控端。
[附記24]
一種匯流排產生器,其係產生半導體裝置中的匯流排的匯流排產生器,其具有:
匯流排構造資訊產生部,其根據包含讀取要求及寫入要求,對記憶體輸出存取要求的主控端有關的資訊,及該主控端所存取的從屬端的資訊,來產生連接該主控端與該從屬端的匯流排的構造資訊;
中央匯流排控制部產生部,其使用該匯流排的構造資訊,將該寫入要求暫時地儲存再寫回之快取記憶體的資訊,該主控端的服務品質資訊,及功能方塊的電路資訊,來產生對該主控端所輸出的讀取要求及該快取記憶體的寫回,及該主控端所輸出的寫入要求進行存取控制的中央匯流排控制系統的電路資訊;
次匯流排控制部產生部,其使用該中央匯流排控制系統的電路資訊,來產生基於該中央匯流排控制系統的控制來動作之次匯流排控制系統的電路資訊;
匯流排元件產生部,其使用該匯流排的構造資訊及功能方塊的電路資訊,來產生匯流排元件的電路資訊;及
合併部,其合併該中央匯流排控制系統的電路資訊,該次匯流排控制系統的電路資訊,及該匯流排元件的電路資訊,來產生該匯流排的電路資訊。
10、10a‧‧‧電子裝置
20‧‧‧主控端A
30‧‧‧主控端B
40‧‧‧主控端C
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、60‧‧‧中央匯流排控制系統
70‧‧‧連接埠
75‧‧‧快取機構
71R、71W、76R、76W、79W‧‧‧匯流排
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‧‧‧分發階段計算電路
800‧‧‧匯流排產生器
801‧‧‧CPU
802‧‧‧記憶體
803‧‧‧匯流排產生工具
804‧‧‧鍵盤
805‧‧‧滑鼠
806‧‧‧監視器
807‧‧‧匯流排
811‧‧‧匯流排構造資訊產生部
812‧‧‧匯流排元件產生部
813‧‧‧中央匯流排控制部產生部
814‧‧‧次匯流排控制部產生部
815‧‧‧合併部
【圖1】說明包含實施形態1中之半導體裝置的電子裝置的方塊圖。
【圖2】說明中央匯流排控制系統1的構成例之方塊圖。
【圖3】說明中央匯流排控制系統2的構成例之方塊圖。
【圖4】說明中央匯流排控制系統1中賦予存取權的動作順序之方塊圖。
【圖5】說明中央匯流排控制系統2中賦予存取權的動作順序之方塊圖。
【圖6】說明實施形態2中所使用的中央匯流排控制系統1的構成例之方塊圖。
【圖7】說明讀取期間次時槽與寫入期間次時槽的設定例的圖。
【圖8】(a)及(b)分別是說明讀取期間次時槽與寫入期間次時槽的其他設定例的圖。
【圖9】說明實施形態3中所使用的中央匯流排控制系統2的構成例之方塊圖。
【圖10】說明快取記憶體的空閒項目數的層級的圖。
【圖11】說明空閒項目數的層級與存取權賦予對象的主控端間的關係圖。
【圖12】說明匯流排產生器的硬體構成例之方塊圖。
【圖13】說明匯流排設計的概略流程的流程圖。
【圖14】說明設定資訊的輸入畫面例的圖。
【圖15】說明匯流排產生器的功能例的方塊圖。
【圖16】說明包含實施形態5中之半導體裝置的電子裝置的方塊圖。
【圖17】說明實施形態5中所使用的中央匯流排控制系統1的構成例之方塊圖。
【圖18】(a)及(b)是說明對記憶體的存取之動作例的時序圖。

Claims (20)

  1. 一種半導體裝置,其具有: 主控端,對記憶體發出包含讀取要求及寫入要求之存取要求; 記憶體控制器,藉由匯流排與該主控端相連接,依據該存取要求來存取該記憶體; 快取機構,配置在該記憶體控制器與該主控端之間,當該存取要求是寫入要求時將該寫入要求存入快取記憶體; 第1存取控制部,其實施控制該主控端所發出的讀取要求之往該記憶體控制器的輸出,及被該快取機構所存入的寫入要求之往該記憶體控制器的輸出之第1存取控制;及 第2存取控制部,其實施控制該主控端所發出的寫入要求之往該記憶體控制器的輸出之第2存取控制, 該記憶體控制器具有受理該存取要求而儲存的要求緩衝器, 該第1存取控制部依據該要求緩衝器的空閒狀況來實施該第1存取控制, 該第2存取控制部依據該快取記憶體的空閒狀況來實施該第2存取控制。
  2. 如申請專利範圍第1項的半導體裝置,其中 該匯流排包含用來傳送該讀取要求的讀取要求匯流排,及用來傳送該寫入要求的寫入要求匯流排, 該第1存取控制部包含:具有對應到該讀取要求匯流排而配置的讀取要求發出控制部之讀取次匯流排控制器,具有對應到該快取記憶體與該記憶體控制器之間的該寫入要求匯流排而配置的第1寫入要求發出控制部的第1寫入次匯流排控制器,及使用該讀取次匯流排控制器及該第1寫入次匯流排控制器來實施該第1存取控制之第1中央匯流排控制系統, 該第2存取控制部包含:具有對應到該主控端與該快取記憶體之間的該寫入要求匯流排而配置的第2的寫入要求發出控制部之第2寫入次匯流排控制器,及使用該第2寫入次匯流排控制器來實施該第2存取控制的第2中央匯流排控制系統。
  3. 如申請專利範圍第2項的半導體裝置,其中 該第1中央匯流排控制系統藉著控制對於該讀取要求發出控制部賦予存取權來對該讀取要求實施該第1存取控制, 該讀取要求發出控制部從該主控端受理該讀取要求,當從該第1中央匯流排控制系統被賦予該存取權時,將該讀取要求輸出到該記憶體控制器,當沒有被賦予該存取權時,抑制該讀取要求之往該記憶體控制器的輸出。
  4. 如申請專利範圍第3項的半導體裝置,其中 該第1中央匯流排控制系統藉著控制對於該第1寫入要求發出控制部賦予存取權來實施對於該寫入要求之該第1存取控制, 該第1寫入要求發出控制部從該快取記憶體受理該寫入要求,當被該第1中央匯流排控制系統賦予該存取權時,將該寫入要求輸出到該記憶體控制器,當沒有被賦予該存取權時,抑制該寫入要求之往該記憶體控制器的輸出。
  5. 如申請專利範圍第3項的半導體裝置,其中 該第1中央匯流排控制系統藉著控制表示對於該第1寫入要求發出控制部輸出之存取許可的信號來實施對於該寫入要求的該第1存取控制, 該第1寫入要求發出控制部受理來自該快取記憶體的該寫入要求,當從該第1中央匯流排控制系統輸出表示許可該存取的信號時將該寫入要求輸出到該記憶體控制器,當表示該存取許可的信號沒有被輸出時抑制該寫入要求之往該記憶體控制器的輸出。
  6. 如申請專利範圍第2項的半導體裝置,其中 該第2中央匯流排控制系統藉著控制對該第2寫入要求發出控制部賦予存取權來實施該第2存取控制, 該第2寫入要求發出控制部從該主控端受理該寫入要求,當從該第2中央匯流排控制系統被賦予該存取權時,將該寫入要求輸出到該快取記憶體,當沒有被賦予該存取權時,抑制該寫入要求之往該快取記憶體的輸出。
  7. 如申請專利範圍第2項的半導體裝置,其具有複數該主控端,更具有: 連接埠,其協調從該複數主控端所輸入的存取要求來輸出到該記憶體控制器, 該讀取要求發出控制部與該第2寫入要求發出控制部對應到連接該複數主控端之各自與該連接埠之間的複數讀取匯流排及寫入匯流排之各自而配置。
  8. 如申請專利範圍第4項的半導體裝置,其中 該第1中央匯流排控制系統依據該要求緩衝器的空閒項目數來管理表示可賦予該存取權的數目的權利賦予可能數,在該權利賦予可能數的範圍內對於該讀取要求發出控制部及該第1寫入要求發出控制部賦予該存取權。
  9. 如申請專利範圍第8項的半導體裝置,其中 該記憶體控制器,當該要求緩衝器被釋放時,將表示該要求緩衝器被釋放的內容之緩衝器釋放通知輸出到該第1中央匯流排控制系統, 該第1中央匯流排控制系統,當對於該讀取要求發出控制部及該第1寫入要求發出控制部賦予該存取權時,從該權利賦予可能數減去該存取權的賦予數,當接受到該緩衝器釋放通知時,在該權利賦予可能數加上在該要求緩衝器被釋放的項目的數。
  10. 如申請專利範圍第9項的半導體裝置,其中 該快取機構將進一步存入從該記憶體讀出的讀取資料再存入快取記憶體中, 當該讀取要求發出控制部所輸出的讀取要求所要求的資料存在於該快取記憶體時,該快取機構將該讀取資料輸出到該讀取要求的發出來源的主控端來作為對該讀取要求的回應,並且將賦予該讀取要求發出控制部的存取權歸還到該第1中央匯流排控制系統。
  11. 如申請專利範圍第6項的半導體裝置,其中 該第2中央匯流排控制系統依據該快取記憶體的空閒項目數來管理表示能夠賦予該存取權的數目之權利賦予可能數,在該權利賦予可能數的範圍內對該第2寫入要求發出控制部賦予該存取權。
  12. 如申請專利範圍第11項的半導體裝置,其中 當對該第2寫入要求發出控制部賦予該存取權時,該第2中央匯流排控制系統從該權利賦予可能數減去該存取權的賦予數目,當該快取記憶體的空閒項目數增加時,在該權利賦予可能數上加上該空閒項目所增加的數目。
  13. 如申請專利範圍第4項的半導體裝置,其中 該第1中央匯流排控制系統,在第1期間對於該讀取要求發出控制部賦予該存取權,且抑制對於該第1寫入要求發出控制部賦予該存取權,在第2期間對於該第1寫入要求發出控制部賦予該存取權,且抑制對於該讀取要求發出控制部賦予該存取權。
  14. 如申請專利範圍第13項的半導體裝置,其中 該第1中央匯流排控制系統將預定的基本時槽的期間分割成複數期間後的期間作為次時槽,以該次時槽為單位來設定該第1期間或該第2期間。
  15. 如申請專利範圍第13項的半導體裝置,其中 該第1中央匯流排控制系統依據該快取記憶體的空閒項目數來改變設定於該第1期間的次時槽的數目,及設定於該第2期間的次時槽的數目。
  16. 如申請專利範圍第14項的半導體裝置,其中 該第1中央匯流排控制系統,在從設定於該第1期間之次時槽切換到設定於該第2期間的次時槽,與從設定於該第2期間的次時槽切換到設定於該第1期間的次時槽中的至少一者,從該切換時間的預定時間之前的時間開始,解除該被抑制的存取權的賦予。
  17. 如申請專利範圍第13項的半導體裝置,其中 該記憶體係構成為能夠執行更新動作, 該第1中央匯流排控制系統配合切換該第1期間與該第2期間的時間對該記憶體進行該更新動作。
  18. 如申請專利範圍第6項的半導體裝置,其具有複數該主控端,更具有: 連接埠,其協調從該複數主控端所輸入的存取要求來輸出到該記憶體控制器, 該第2中央匯流排控制系統,依據該快取記憶體的空閒項目數來決定要對該複數主控端之中的那一個主控端的寫入要求賦予該存取權。
  19. 如申請專利範圍第18項的半導體裝置,其中 該第2中央匯流排控制系統具有:將該複數主控端與該快取記憶體的空閒項目數的條件建立對應關係而儲存的暫存器,從該快取記憶體的空閒項目數滿足該條件的主控端之中,決定賦予該存取權的主控端。
  20. 一種匯流排產生器,其係產生半導體裝置中的匯流排的匯流排產生器,其具有: 匯流排構造資訊產生部,其根據對記憶體輸出之包含讀取要求及寫入要求的存取要求的主控端有關的資訊;及由該主控端所存取的從屬端的資訊,來產生連接該主控端與該從屬端之間的匯流排的構造資訊; 中央匯流排控制部產生部,其使用「該匯流排的構造資訊;將該寫入要求暫時地儲存再寫回之快取記憶體的資訊;該主控端的服務品質資訊;及功能方塊的電路資訊」,來產生對「該主控端所輸出的讀取要求及該快取記憶體的寫回;與該主控端所輸出的寫入要求」進行存取控制的中央匯流排控制系統的電路資訊; 次匯流排控制部產生部,其使用該中央匯流排控制系統的電路資訊,來產生基於該中央匯流排控制系統的控制來動作之次匯流排控制系統的電路資訊; 匯流排元件產生部,其使用該匯流排的構造資訊及功能方塊的電路資訊,來產生匯流排元件的電路資訊;及 合併部,其合併該中央匯流排控制系統的電路資訊、該次匯流排控制系統的電路資訊、及該匯流排元件的電路資訊,來產生該匯流排的電路資訊。
TW107145114A 2017-12-22 2018-12-14 半導體裝置及匯流排產生器 TW201935259A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017246433A JP6946168B2 (ja) 2017-12-22 2017-12-22 半導体装置
JP2017-246433 2017-12-22

Publications (1)

Publication Number Publication Date
TW201935259A true TW201935259A (zh) 2019-09-01

Family

ID=64755234

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107145114A TW201935259A (zh) 2017-12-22 2018-12-14 半導體裝置及匯流排產生器

Country Status (6)

Country Link
US (1) US11188488B2 (zh)
EP (2) EP3872644B1 (zh)
JP (1) JP6946168B2 (zh)
KR (1) KR20190076869A (zh)
CN (1) CN110059035B (zh)
TW (1) TW201935259A (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
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 セイコーエプソン株式会社 回路装置及び電子機器

Family Cites Families (10)

* Cited by examiner, † Cited by third party
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 삼성전자주식회사 인터커넥트, 그것을 포함하는 버스 시스템 그리고 버스 시스템의 동작 방법
US11392517B2 (en) * 2014-09-10 2022-07-19 Sony Group Corporation Access control method, bus system, and semiconductor device
US10108562B2 (en) * 2015-10-01 2018-10-23 Renesas Electronics Corporation Semiconductor device including a request issuing controller
JP6946168B2 (ja) * 2017-12-22 2021-10-06 ルネサスエレクトロニクス株式会社 半導体装置

Also Published As

Publication number Publication date
EP3872644B1 (en) 2023-05-24
KR20190076869A (ko) 2019-07-02
EP3502909A3 (en) 2019-09-11
US20190196997A1 (en) 2019-06-27
EP3502909A2 (en) 2019-06-26
US11188488B2 (en) 2021-11-30
JP6946168B2 (ja) 2021-10-06
CN110059035A (zh) 2019-07-26
EP3502909B1 (en) 2021-04-07
CN110059035B (zh) 2023-10-17
JP2019114015A (ja) 2019-07-11
EP3872644A1 (en) 2021-09-01

Similar Documents

Publication Publication Date Title
JP4480427B2 (ja) リソース管理装置
KR100899951B1 (ko) 캐시 메모리 버스트 싸이클 동안 버스 중재를 제어하는시스템 및 방법
US20090204771A1 (en) Device for controlling access from a plurality of masters to shared memory composed of a plurality of banks each having a plurality of pages
TW201935259A (zh) 半導體裝置及匯流排產生器
JP2012038293A (ja) マシンビジョン用マルチプロセッサシステムオンチップ
JP2007334748A (ja) 情報処理装置およびアクセス制御方法
JP4142069B2 (ja) 情報処理装置およびアクセス制御方法
WO2012167526A1 (zh) 一种片上总线仲裁方法及装置
JP2013542520A (ja) ストリームトランザクションに関連する情報に基づくストリームトランザクションのアービトレーション
US11100019B2 (en) Semiconductor device and bus generator
US10740032B2 (en) Resource allocation for atomic data access requests
JP5382113B2 (ja) 記憶制御装置及びその制御方法
JP6497392B2 (ja) アクセス制御方法、バスシステム、および半導体装置
JP2011034214A (ja) メモリ制御装置
JP4924970B2 (ja) データ処理システム
JP7018834B2 (ja) 半導体装置
JP2004326633A (ja) 階層型メモリシステム
JP2007304830A (ja) 情報先行取得による調停方法および調停装置
JP7493311B2 (ja) バスシステムおよびその制御方法
JP2007164713A (ja) リソース管理装置及びリソース管理方法
JP2006040019A (ja) アクセス制御装置
JP2009205313A (ja) バスシステム