TWI651620B - 用於處理多個交易之資料處理系統及方法 - Google Patents

用於處理多個交易之資料處理系統及方法 Download PDF

Info

Publication number
TWI651620B
TWI651620B TW104100099A TW104100099A TWI651620B TW I651620 B TWI651620 B TW I651620B TW 104100099 A TW104100099 A TW 104100099A TW 104100099 A TW104100099 A TW 104100099A TW I651620 B TWI651620 B TW I651620B
Authority
TW
Taiwan
Prior art keywords
transaction
request
transactions
address
cache
Prior art date
Application number
TW104100099A
Other languages
English (en)
Other versions
TW201539196A (zh
Inventor
馬修遜布魯斯詹姆斯
克勞斯福特達仁
派克傑森
Original Assignee
英商Arm股份有限公司
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 英商Arm股份有限公司 filed Critical 英商Arm股份有限公司
Publication of TW201539196A publication Critical patent/TW201539196A/zh
Application granted granted Critical
Publication of TWI651620B publication Critical patent/TWI651620B/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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • 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/0817Cache consistency protocols using directory methods
    • G06F12/0828Cache consistency protocols using directory methods with concurrent directory accessing, i.e. handling multiple concurrent coherency transactions
    • 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
    • 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
    • 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
    • G06F13/364Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • 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/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17306Intercommunication techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本案係關於一種資料處理系統,該資料處理系統具有主裝置及複數個從屬裝置,該資料處理系統使用互連電路系統以耦接主裝置與複數個從屬裝置,以使得交易能夠在有來自主裝置之請求時由從屬裝置執行。主裝置發出多交易請求,該多交易請求辨識多個待執行交易,該多交易請求提供基本交易識別符、指示待執行交易之數目的數量指示,及位址資訊。互連電路系統內之請求分配電路系統分析位址資訊及數量指示,以便針對多個交易中之每一者決定執行該交易所需之從屬裝置。然後,交易請求自請求分配電路系統被發至每一決定的從屬裝置,以辨識哪些交易需要由每一從屬裝置執行。每一決定的從屬裝置向主裝置提供一回應,以辨識由該決定之從屬裝置執行之每一交易的完成情況。每一決定的從屬裝置以獨立於來自任何其他決定的從屬裝置之回應之方式提供其回應,且每一回應包括根據基本交易識別符及 交易特定資訊決定之交易識別符。此舉使得主裝置能夠辨識在多交易請求內所辨識之每一交易之完成情況。在一替代性配置中,相同多交易請求方法可由主裝置用以在複數個快取記憶體儲存裝置內啟動快取記憶體維護操作。此方法可在資料處理系統內產生顯著的效率改良及功率消耗降低。

Description

用於處理多個交易之資料處理系統及方法
本發明係關於用於處理多個交易之資料處理系統及方法。
在現代的資料處理系統中,最大程度地有效利用可用記憶體頻寬變得越來越重要。例如,在片上系統(System on Chip;SoC)中,有多個可發出涉及寫入或讀取大量資料之交易的主裝置,如圖形處理單元(graphics processing unit;GPU)及顯示控制器。已知發出交易為叢發交易,叢發交易由複數個拍組成,每一拍期間有一定量的資料被寫入記憶體,或自記憶體中被讀取。此種叢發交易可極為有效地利用記憶體頻寬。然而,存在一限制,即任何特定交易必須由特定從屬裝置處理。在現代系統中,多個記憶體裝置可配備在SoC內,或連接至SoC,及資料可交插在彼等多個裝置中,且此舉可限制可由任何特定交易定址之資料的數量。
此外,現代SoC通常包括多個主裝置,每個主裝置可包含一或更多個等級之快取記憶體。此舉導致快取相干性 問題,且在通常情況下,使多個主裝置與從屬裝置互連之互連電路系統包括快取記憶體相干性電路系統(例如探聽電路系統)以確保快取記憶體內容保持相干,且由此將使每一主裝置存取最新資料。然後,在發出交易時,假定交易規定可快取之位址,則在發出交易時將不會知曉該位址處之資料是否經快取。因此,將不會知曉是在快取記憶體中還是在記憶體中存取資料。通常情況下,此舉限制由任何特定交易定址之資料的數量以使該數量不超過快取線大小,由此在資料存在於快取記憶體中之情況下確保任何特定交易可藉由對該快取記憶體之存取而獲得執行。對於叢發交易而言,此舉由此限制叢發的總大小。儘管此方法確保可以簡單及有效的方式維持快取相干性,但由於對處理多個較小叢發交易之需求,此方法減少對可用記憶體頻寬之有效利用。利用該種較小叢發亦增大互連電路系統內之功率消耗,且可能由於有效地降低未來交易在該等交易之重新排序佇列中之可見性而降低記憶體控制器之重新排序能力,從而降低記憶體效率。
US 2010/0042759提供一種機制,該機制用於容許兩個或兩個以上記憶體裝置作為單個聚集目標而經處理。因此,主裝置可將交易發至該單個聚集目標,從而容許規定較大的叢發交易。然後,單個交易經分裂以用於發送至多個從屬裝置。然而,結果隨後需要重新組合,以便可使該等結果從原始交易所被導引至的單個聚集目標返回至主裝置。此舉導致協調結果之複雜性。
與有效處理SoC中主裝置與從屬裝置之間的交易關 聯之上述問題亦可針對在SoC內發出之其他類型之交易而發生。例如,主裝置可將交易發至互連電路系統,該互連電路系統辨識將針對SoC內複數個快取儲存器所執行之快取記憶體維護操作。由於在關聯交易發至互連電路系統之時可能並不知曉哪一個或哪些快取記憶體儲存裝置需要實施快取維護操作,因此通常限制每一交易以定址資料之單個快取線。因此,通常情況下,必須發出多個單獨交易以便執行針對多個快取線之快取記憶體維護操作。此舉傾向於增大互連內之功率消耗。
由此,提供用於在資料處理系統內處理交易的改良機制是合乎需要的。
自第一態樣可見,本發明提供一資料處理系統,該系統包括:主裝置;複數個從屬裝置;互連電路系統,該互連電路系統經配置以耦接主裝置與該複數個從屬裝置,以使得交易能夠在有來自主裝置之請求時得以由該複數個從屬裝置執行;主裝置經配置以發出辨識多個待執行交易之多交易請求,該多交易請求提供基本交易識別符、指示待執行交易之數目的數量指示,及位址資訊;互連電路系統包括請求分配電路系統,該請求分配電路系統經配置以分析位址資訊及數量指示,以便為多個交易中之每一者決定執行該交易所需之從屬裝置,且進一步經配置以將交易請求發至每一已決定之從屬裝置,以在該多個交易中辨識將由該已決定之從屬裝置執行之交易;每一經決定之從屬裝置經配置以向主裝置提 供一回應,以辨識由經決定之從屬裝置執行之每一交易之完成情況,每一經決定之從屬裝置經配置以提供自身之回應,該等回應獨立於來自任何其他經決定之從屬裝置的回應,且每一回應包括根據基本交易識別符及交易特定資訊所決定之交易識別符,以使得主裝置能夠辨識在多交易請求內所辨識之每一交易的完成情況。
依據本發明,主裝置經配置以發出辨識多個待執行交易之多交易請求。然後,互連電路系統內之請求分配電路系統對具備多交易請求的位址資訊及指示待執行交易之數目的數量指示進行分析,以便決定需要哪些從屬裝置執行每一交易。然後,由於該分析,請求分配電路系統將交易請求發至有關從屬裝置,該等請求辨識將由彼等從屬裝置執行之交易。然後,每一從屬裝置經配置以處理分配給該從屬裝置之交易,且向主裝置提供回應,主裝置辨識每一交易之完成情況。每一從屬裝置提供其回應,該等回應獨立於來自任何其他從屬裝置之回應,每一回應包括根據多交易請求中提供之基本交易識別符及一些交易特定資訊所決定之交易識別符,此舉使得主裝置能夠辨識在多交易請求內經辨識之每一交易之完成情況。
藉由此方法,請求分配電路系統可確保多交易請求內所規定之個別交易經路由至適當的從屬裝置以用於處理,但不需要協調由多個從屬裝置產生之回應。特定而言,主裝置察覺到,儘管主裝置已發出單個請求(多交易請求),但該請求涉及複數個交易,且主裝置期待接收針對每一交易之 回應。由此,該等回應可由每一從屬裝置連同適當的交易識別符一起獨立地產生,以容許主裝置決定該多交易請求內哪一交易正在被回應。
回應將採用多種形式。例如,對於讀取交易而言,可將一或更多個回應提供至主裝置,每一回應辨識一讀取資料條目。對於寫入交易而言,將自從屬裝置將回應發送返回至主裝置以確認寫入交易已經操作,例如寫入資料已由從屬裝置接收到。
因為多交易請求涉及複數個交易,因此此舉在互連電路系統內可產生效率,且在互連電路系統與從屬裝置之間產生有效利用。例如,藉由分析多交易請求之複數個交易,此舉可導致對互連電路系統內之資源的更有效的利用。另外,在決定交易中數個交易可由同一從屬裝置處理之情況下,請求分配電路系統可將彼等多個交易一起路由至從屬裝置,從而容許更佳地利用互連電路系統與從屬裝置之間的頻寬。另外,藉由向從屬裝置提供彼等多個待執行之交易的知識,從屬裝置能夠更有效地處理彼等交易。作為一特定實例,從屬裝置可為用以控制對DRAM記憶體之存取的記憶體控制器。存取記憶體之同一開放頁面內之資料的多個條目更為有效,且在藉由同時接收及處理多個交易的情況下,與必須單獨處理彼等多個交易之情況相比,記憶體控制器能夠更有效地處理該交易序列。然後,從屬裝置仍可發送回應至主裝置,該主裝置辨識每一交易之完成情況,從而使得主裝置能夠決定已經處理每一交易之時間。
存在數個方式,請求分配電路系統可以該等方式向每一已決定之從屬裝置發出交易請求。在一個實施例中,由請求分配電路系統發出的交易請求包括至少一個多交易請求,該至少一個多交易請求中之每一者辨識該多個交易中需要由已決定之向其發送多交易請求之從屬裝置執行之複數個交易。藉由該種方法,單個從屬裝置可接收關於該從屬裝置將處理之複數個交易之通告,從而使得該從屬裝置能夠配置對彼等交易之處理,以便使效率最佳化。作為一特定實例,如若請求分配電路系統決定多交易請求中之交易的特定順序無需經受任何探聽/快取相干性操作,且該順序中全部交易將由特定從屬裝置服務,則可將多交易請求發出至該從屬裝置,該從屬裝置辨識彼等交易順序。因此,與以逐件方式接收彼等單個交易及分別處理彼等交易相比,從屬裝置往往由於瞭解待執行之交易的整體順序而將能夠更有效地處理彼等交易。
多交易請求可採用多種形式。然而,在一實施例中,由主裝置發出的多交易請求是多叢發交易請求,且該多個交易中之每一者是一叢發交易,該叢發交易規定在主裝置與經決定用於該叢發交易之從屬裝置之間待執行之複數個資料傳送。
位址資訊可採用多種形式,但在一實施例中,位址資訊包括基本位址,且藉由參考基本位址而決定由多交易請求辨識出之每一交易之位址。由此,可藉由參考基本位址而決定與每一交易關聯之單個位址。
在一個實施例中,每一多交易請求辨識關於在連續位址範圍內之預定位址之交易序列。由此,僅舉例而言,如若每一交易是辨識資料中一定數目之位元組的叢發交易,則可辨識位址以便規定相鄰資料塊,每一資料塊含有由多交易請求規定的交易序列內之單獨叢發交易之主題。
在一替代性實施例中,交易序列無需相關於連續位址範圍內之預定位址。例如,在一實施例中,多交易請求包括遮罩資訊,該遮罩資訊用於結合基本位址以決定由多交易請求辨識之每一交易之位址。在一個實施例中,遮罩資訊可採用按位元欄位形式,該按位元欄位例如可用以辨識相鄰資料塊序列中哪些資料塊將經每一交易而處理。例如,按位元欄位「1011」可辨識第一、第二及第四資料塊應由多交易請求內之三個交易序列處理。
交易特定資訊可採用多種形式,該交易特定資訊結合基本交易識別符以便針對返回至主裝置的每一回應而形成交易識別符。然而,在一個實施例中,當從屬裝置對特定交易提供回應時,交易特定資訊包括經規定用於交易之位址之數個位元,該交易特定資訊由該從屬裝置用以結合基本交易識別符以產生包括在回應中的交易識別符。例如,位址中一定數目之低階位元在結合基本交易識別符之情況下可用以唯一地辨識每一交易。
在一個實施例中,資料處理系統進一步包括至少又一主裝置,該主裝置具有快取儲存器,該快取儲存器中之資料經高速緩存以用於由該至少又一主裝置存取。由此,快取 相干性問題可在資料處理系統內產生,且請求分配電路系統經配置以在決定如何分配由多交易請求規定之多個交易之時慮及該等問題。特定而言,在一實施例中,互連電路系統包括探聽電路系統,探聽電路系統可回應於所接收到的交易請求,以基於規定用於與該接收到的交易請求關聯之交易的位址而執行針對該快取儲存器的探聽操作,以便決定該位址處之資料是否儲存在快取儲存器內。請求分配電路系統經進一步配置以分析位址資訊及數量指示,以便決定該多個交易中是否有任何交易規定需要由探聽電路系統執行探聽操作之位址,且請求分配電路系統可回應於對多個交易中之至少一者需要執行探聽操作之決定,以將自主裝置的接收到的多交易請求分裂成複數個交易請求,且將該等交易請求中之至少一者發至探聽電路系統。依據由於探聽電路系統執行之探聽操作而自探聽電路系統接收到之回應,可能將回應直接發至主裝置以用於有關交易,或可能必須將彼等交易路由至從屬裝置中之一者上以用於處理。
在一個實施例中,發至探聽電路系統之交易請求中之至少一者包括多交易請求,該多交易請求辨識該多個交易中執行探聽操作所需要之複數個交易。藉由被通知有多個需要由探聽電路系統進行處理之交易,探聽電路系統能夠更有效地執行探聽操作,例如藉由在任何關聯探聽過濾器內執行更少查找,且/或將探聽請求發至快取儲存器,該探聽請求辨識待探聽之多個快取線。
探聽電路系統可採用多種形式,但在一實施例中, 探聽電路系統包括複數個探聽電路,每一探聽電路與不同位址範圍相關聯,且請求分配電路系統經配置以將單獨的交易請求發至每一探聽電路。藉由提供多個探聽電路,可同時執行不同位址範圍的探聽操作,由此改良效率。此外,可將多交易請求發至每一探聽電路,從而提供更高效率效益。
在一個實施例中,探聽電路系統在接收到來自請求分配電路系統之交易請求時,可將探聽請求自動發至每一快取記憶體。然而,在一替代性實施例中,探聽電路系統可包括探聽過濾器,探聽過濾器經配置以維持位址之位址指示,該等位址之資料儲存在快取儲存器中,且執行交易之探聽操作包括參考使用由該交易規定之位址的探聽過濾器,且在探聽過濾器指示該位址與探聽過濾器所維持之位址指示中之一者匹配之情況下將探聽請求發至快取儲存器。該種方法可減少需要被發至快取儲存器的探聽請求之數目。
此外,當處理多交易請求時,探聽電路系統能夠基於對多交易請求內辨識之多個交易的認識,而減少在探聽過濾器中所需之查找次數。例如,探聽過濾器中每一項可經配置以儲存比正常略短正常的標記部分,該標記部分因此與多個快取線匹配,且對於彼等快取線中之每一者而言,該項可經配置以儲存一資訊,倘若偵測到與該項之匹配,則該資訊辨識需要探聽哪些快取記憶體。因此能針對每一項執行單個查找,且倘若交易的對應之縮短標記部分與儲存在探聽過濾器之項中之標記部分匹配,則儲存在該項中之有關資訊可用以辨識需要針對關聯之快取線探聽哪些快取記憶體。藉由能 夠將多個快取線與單個項關聯,此舉可藉由減少所需查找次數以便處理多交易請求所覆蓋之全部位址範圍,而顯著地改良對探聽過濾器之存取效率。
複數個從屬裝置可採用多種形式,但在一實施例中,複數個從屬裝置包括複數個記憶體控制器,該等記憶體控制器耦接至關聯記憶體裝置。
在一個實施例中,每一關聯之記憶體裝置經配置以儲存與位址型樣關聯之資料,一個記憶體裝置之位址型樣與另一個記憶體裝置之位址型樣交插。請求分配電路系統經配置以將多叢發交易請求分裂成單獨的多個叢發交易請求,該等請求將被發至每一記憶體控制器,以便使每一記憶體控制器執行該多個交易中之交易,該等交易的規定位址在關聯記憶體裝置之位址型樣內。每一記憶體控制器因此能在獨立於由其他記憶體控制器中任何者處理之交易的情況下,處理自身所接收之多叢發交易請求中所辨識之多個交易,每一記憶體控制器將回應發回至主裝置以指示每一記憶體控制器已處理之每一交易的完成情況。藉由接收多叢發交易請求,記憶體控制器將可看見需要該控制器執行之多個交易,且因此可計劃自身對關聯的記憶體裝置之存取,以便最佳化對彼等多個交易所需之多個存取之處理效率。
存在數個方式,每一記憶體控制器可以該等方式可決定自身需要執行之交易。例如,在一個實施例中,每一記憶體控制器可具備控制資料,該控制資料由記憶體控制器用以辨識哪些交易需要由該記憶體控制器執行。特定而言,在 通常情況下靜態定義位址交插在多個記憶體裝置之間的方式,且由此可將彼資訊提供至記憶體控制器。記憶體控制器可由此在由主裝置發出完整的原始多叢發交易請求時接收該等請求,且可根據控制資料決定自身應處理該多叢發交易請求內之哪些個別交易。然後,記憶體控制器會將自身處理之每一交易的回應發回主裝置。假定多叢發交易請求經路由至全部有關的記憶體控制器,此舉將確保全部交易得以執行,且主裝置得到涉及該多叢發交易請求內之每一交易之完成情況的通知。
或者,請求分配電路系統可將控制資料編碼至發至每一記憶體控制器的多交易請求內。由此,每一記憶體控制器將接收略經修正之多交易請求,控制資料特定於該多交易請求所發至的記憶體控制器。此控制資料可採用多種形式,但在一個實施例中,控制資料可採用以下形式:某種遮罩資料,用以辨識將由接收記憶體控制器處理之特定交易子集。
如前文所論述,多交易請求內規定之交易可為讀取交易或寫入交易。倘若該等交易為寫入交易,則通常情況下將有大量寫入資料將需要路由至多個從屬裝置,以便使得由多交易請求所規定的每一寫入交易能夠得以執行。此舉可潛在地導致互連電路系統的寫入資料路由電路系統內之擁塞,此擁塞可降低互連電路系統之操作效率。然而,在一個實施例中,此種擁塞可能性藉由延緩寫入資料條目之傳輸直至多個從屬裝置需要該等條目而得以減輕。特定而言,在一個實施例中,由主裝置發出的多交易請求辨識多個寫入交易,該 等寫入交易需要從主裝置將寫入資料寫入經決定用於每一寫入交易之從屬裝置,互連電路系統包括寫入資料路由電路系統,該寫入資料路由電路系統經配置以將該多個寫入交易中每一者之寫入資料路由至經決定用於每一寫入交易之從屬裝置,且主裝置經配置以延遲每一交易的寫入資料經由寫入資料路由電路系統的輸出,直至經決定用於該交易之從屬裝置發出對該寫入資料之請求。
存在多種方式,從屬裝置可以該等方式發出對寫入資料之請求。在一個實施例中,資料處理系統在每一已決定之從屬裝置與主裝置之間進一步包括交握機制,經由該交握機制,每一已決定之從屬裝置發出對寫入資料之請求。因此,當從屬裝置經由該交握機制請求每一寫入資料條目時,主裝置將僅輸出每一寫入資料條目。
在一替代性實施例中,主裝置包括快取儲存器,該寫入資料儲存在該快取儲存器中,且由已決定之從屬裝置發出之寫入資料的請求經配置以使所請求之寫入資料將被逐出快取儲存器。因此,在此實施例中,寫入資料儲存在快取記憶體中,且按照有關從屬裝置的需要或在有關從屬裝置需要時被逐出快取記憶體。有數個方式,資料可以該等方式被逐出快取儲存器。例如,從屬裝置可為經配置以將探聽請求發至互連電路系統內之探聽電路系統,以使逐出發生。
在一個實施例中,互連電路系統進一步包括回應路由電路系統,該回應路由電路系統經配置以在多個交易之執行期間將由每一從屬裝置發出的回應路由至主裝置。依據一 個實施例,互連電路系統進一步包括爭用緩解電路系統,其與請求分配電路系統關聯,且根據請求分配電路系統將使多交易請求分裂成複數個發至不同從屬裝置之交易請求的決定而經配置,該爭用緩解電路系統用以針對複數個交易請求應用爭用減少措施,以便設法降低回應路由電路系統內由於回應從不同的從屬裝置經由回應路由電路系統返回而產生之爭用。特定而言,因為請求分配電路系統分析正在進入之關於多個所需交易之多交易請求,因此在此時,互連電路系統對回應數目及彼等回應之來源(亦即哪些從屬裝置將發出彼等多種回應)將有些失察,且依據此實施例,互連電路系統包括爭用緩解電路系統,該爭用緩解電路系統設法減少回應路由電路系統內由於多個需要從多個從屬裝置返回至主裝置之回應而產生之爭用。
存在多種方式,爭用緩解電路系統可以該等方式設法減少回應路由電路系統內之爭用。例如,所應用之爭用減少措施可在回應路由電路系統內為每一從屬裝置分配不同的時槽,以便避免多個從屬裝置同時設法將回應發送至主裝置。替代地或另外,可在每一交易請求內提供關聯的資料指示,從而限制已決定之從屬裝置所使用之資料速率。資料指示例如可辨識從屬裝置可返回回應時的最大速率(例如用於用於返回讀取交易之讀取資料之最大速率),或對於寫入交易而言,資料指示可規定從屬裝置可請求寫入資料的最大速率。藉由節流可使用之資料速率,此舉可降低互連電路系統中發生爭用之機會。作為另一可能的可用措施,請求分配電 路系統可錯開交易請求向每一單個從屬裝置之向前傳播,以便在由特定從屬裝置進行的交易操作之間引入時間延遲。
在一個實施例中,在多交易請求辨識多個寫入交易之情況下,多交易請求可包括一欄位,該欄位辨識將針對每一交易寫入之寫入資料值。此欄位可用於例如將邏輯0值寫入記憶區。因為寫入資料值被規定為交易欄位,因此所需寫入資料可由處理該交易之從屬裝置在本端產生,且此舉由此可導致寫入資料擁塞減少,且功率消耗降低。
用於上述實施例之多交易請求亦可用以提供有效的記憶複製功能性。例如,在一個實施例中,多交易請求可辨識多個待執行之讀取交易,且可進一步規定用以辨識每一讀取資料值應被寫入之位址的寫入位址指示,由此容許在不分離發出之寫入交易請求的情況下自一個位址讀取資料,然後將該資料寫入另一位址。寫入位址資訊可以多種方式得以規定,例如由明確的寫入位址而經規定,或藉由規定針對每一交易之讀取位址而待應用的某個偏移值而經規定。
作為用於執行該種記憶複製操作的一替代性機制,主裝置可經配置以發出多交易讀取請求,隨後發出關聯之多交易寫入請求,且請求分配電路系統經配置以可回應於該多交易讀取請求及該關聯之多交易寫入請求,以將交易請求發至每一已決定之從屬裝置,以便使資料從一個位址中被讀取,然後被寫入另一位址。
存在數個方式,多交易寫入請求可以該等方式經辨識為與多交易讀取請求相關聯。例如,在一個實施例中,關 聯之多交易寫入請求經配置以將同一基本交易識別符規定為用於多交易讀取請求,以便使得請求分配電路系統能夠將關聯之多交易寫入請求辨識為與該多交易讀取請求相關聯。
自第二態樣可見,本發明提供互連電路系統,該互連電路系統用於將主裝置與複數個從屬裝置互連,以使得交易能夠在有來自主裝置之請求時由該複數個從屬裝置執行,該互連電路系統包括:主介面,經配置以接收來自主裝置之多交易請求,該多交易請求辨識多個待執行之交易,該多交易請求提供基本交易識別符、指示待執行交易之數目的數量指示,及位址資訊;請求分配電路系統,經配置以分析位址資訊及數量指示,以便針對多個交易中之每一交易決定執行該交易所需要之從屬裝置,且進一步經配置以將交易請求發至每一所決定之從屬裝置,以辨識該多個交易中將由該所決定之從屬裝置執行之交易;及回應路由電路系統,經配置以將從每一已決定之從屬裝置提供的回應路由至主裝置,以辨識由該已決定之從屬裝置執行的每一交易的完成情況,每一已決定之從屬裝置以獨立於來自任何其他已決定之從屬裝置的回應之方式提供其自身回應,且每一回應包括根據基本交易識別符及交易特定資訊所決定的交易識別符,以使得主裝置能夠辨識在多交易請求內經辨識之每一交易之完成情況。
自第三態樣可見,本發明提供在資料處理系統內執行交易之方法,該資料處理系統包括主裝置、複數個從屬裝置,及互連電路系統,該互連電路系統將主裝置與該複數個從屬裝置耦接以使得該等交易能夠在有來自主裝置之請求時 由該複數個從屬裝置執行,該方法包括:自主裝置發出多交易請求,該多交易請求辨識多個待執行之交易,該多交易請求提供基本交易識別符、指示待執行交易之數目的數量指示,及位址資訊;在互連電路系統內分析位址資訊及數量指示,以便針對多個交易中之每一交易決定執行該交易所需要之從屬裝置,且將交易請求發至每一所決定之從屬裝置,以辨識該多個交易中將由該所決定之從屬裝置執行之交易;及將來自每一已決定之從屬裝置的回應發至主裝置,以辨識由該已決定之從屬裝置執行的每一交易的完成情況,每一已決定之從屬裝置以獨立於來自任何其他已決定之從屬裝置的回應之方式提供其自身回應,且每一回應包括根據基本交易識別符及交易特定資訊所決定的交易識別符,以使得主裝置能夠辨識在多交易請求內經辨識之每一交易之完成情況。
自第四態樣可見,本發明提供資料處理系統,該資料處理系統包括:主手段;複數個從屬手段;互連手段,該互連手段用於將主手段與該複數個從屬手段耦接,以使得交易能夠在有來自主手段之請求時由該複數個從屬手段執行;主手段用於發出多交易請求,該多交易請求辨識多個待執行之交易,該多交易請求提供基本交易識別符、指示待執行交易之數目的數量指示,及位址資訊;互連手段包括請求分配手段,該請求分配手段用於分析位址資訊及數量指示,以便針對多個交易中之每一交易決定執行該交易所需要之從屬手段,且進一步用於將交易請求發至每一所決定之從屬手段,以辨識該多個交易中將由該所決定之從屬手段執行之交易; 每一已決定之從屬手段用於將回應提供至主手段,以辨識由該已決定之從屬手段執行的每一交易的完成情況,每一已決定之從屬手段以獨立於來自任何其他已決定之從屬手段的回應之方式提供其自身回應,且每一回應包括根據基本交易識別符及交易特定資訊所決定的交易識別符,以使得主手段能夠辨識在多交易請求內經辨識之每一交易之完成情況。
本發明之發明者認識到,亦可關於在主裝置與複數個快取儲存裝置之間執行的交易而採用本發明之多交易請求方法,特定而言,交易序列規定快取維護操作。特定而言,自本發明之又一態樣可見,本發明提供資料處理系統,該資料處理系統包括:主裝置;複數個快取儲存裝置;互連電路系統,該互連電路系統經配置以將主裝置與該複數個快取儲存裝置耦接,以使得由主裝置規定之快取維護操作能夠由複數個快取儲存裝置執行;主裝置經配置以發出多交易請求,該多交易請求辨識多個待執行之交易,且該多交易請求提供指示待執行交易之數目的數量指示,及位址資訊,該多個交易中之每一交易規定將在與該交易關聯之位址處執行之快取維護操作;互連電路系統包括請求分配電路系統,請求分配電路系統經配置以分析位址資訊及數量指示,以便針對多個交易中之每一交易決定該複數個快取儲存裝置中執行該交易需要哪些裝置,且進一步經配置以將交易請求發至複數個快取儲存裝置中之每一裝置,以辨識該多個交易中將由該複數個快取儲存裝置中之每一者執行之交易;及快取維護追蹤電路系統,該電路系統經配置以在該多個交易之執行期間接收 來自複數個快取儲存裝置之進度指示,且向主裝置提供進度資訊以使得主裝置能夠決定該多個交易何時完成。
依據本發明之此態樣,互連電路系統內之請求分配電路系統能夠決定複數個快取儲存裝置中執行多交易請求中所規定的每一交易需要哪些裝置,且因此能夠將交易請求發至複數個快取儲存裝置中之每一者以辨識其執行需要每一儲存裝置的交易。每一快取儲存裝置可隨後執行其所需要之快取維護操作,快取維護追蹤電路系統用以接收自彼等快取儲存裝置返回之進度指示,然後將進度資訊提供至主裝置。經由利用多交易請求方法,可一次性規定快取維護操作的整體序列,而請求分配電路系統可由此確保每一個別快取儲存裝置執行適當的快取維護操作。儘管某些快取維護操作可僅需由單個快取記憶體執行,但其他快取維護操作可能需要在複數個快取儲存裝置內執行,且在該情況下,快取維護追蹤電路系統可使用來自多個快取儲存裝置之進度指示以決定每一快取維護操作何時已完成,且據此通知主裝置。
無需主裝置瞭解哪些快取儲存裝置需要處理每一單個交易/快取維護操作,主裝置僅使用自快取維護追蹤電路系統提供之進度資訊來決定多個多交易何時已完成。根據主裝置之觀點,多個交易/快取維護操作以何種順序執行並不重要,且由此,此舉容許多個快取儲存裝置使自身特性最佳化以按儘可能有效的方式執行多個快取維護操作。例如,在個別快取儲存裝置接收到規定待執行交易/快取維護操作序列之多交易請求之情況下,當執行某些快取維護操作時,有可能 減少在快取儲存裝置的標記部分內所需之查找次數。
與本發明之第一態樣之發明一樣,請求分配電路系統其自身可發出多交易請求,在此情況中,該等多交易請求之接收者為快取儲存裝置中之一或更多者。此外,與第一態樣之發明一樣,由多交易請求辨識之每一交易之位址在一個實施例中是藉由參考由該多交易請求規定之基本位址而決定的。
複數個快取儲存裝置可採用多種形式。例如,該等快取儲存裝置可全部為在多個主裝置之間共享的快取儲存裝置。或者,該等快取儲存裝置可全部是與特定主裝置關聯之個別快取儲存裝置。在一特定實施例中,複數個快取儲存裝置可包含與特定主裝置關聯而提供之快取儲存裝置與在複數個主裝置之間共享的其他快取儲存裝置的混合物。
在一個實施例中,請求分配電路系統包括探聽電路系統,該探聽電路系統經配置以針對該複數個快取儲存裝置執行探聽操作,以便執行由多個交易請求中之每一者規定的快取維護操作。
在一個特定實施例中,探聽電路系統包括複數個探聽電路,每一探聽電路與不同的位址範圍相關聯,且請求分配電路系統進一步包括第一階段請求分配電路系統,該第一階段請求分配電路系統經配置以分析位址資訊及數量指示,以便針對多個交易中之每一交易決定複數個探聽電路中執行由該交易規定之快取維護操作需要哪一電路,且依據該決定而將單獨的交易請求發至每一探聽電路。因此,在此實施例 中,請求分配電路系統將首先基於與每一交易關聯之位址決定哪一探聽電路將接收該交易,且由此將依據該決定而將交易請求發至每一探聽電路。此舉通常可使得每一探聽電路接收多交易請求,該等多交易請求辨識與該探聽電路關聯之特定交易。個別探聽電路可由此處理彼等請求,以便決定哪些快取儲存裝置需要執行快取維護操作中之每一者,彼等探聽電路隨後將交易請求發至快取儲存裝置上(及同樣地,彼等交易請求中之一或更多者自身可為規定將由該多交易請求所發至於的快取儲存裝置執行的複數個交易/快取維護操作之多交易請求)。
快取維護追蹤電路系統可採用多種形式。然而,在一個實施例中,快取維護追蹤電路系統包括在該複數個探聽電路中每一電路內提供之快取維護追蹤電路,每一快取維護追蹤電路經配置以在執行由關聯之探聽電路所處理之交易所規定的快取維護操作期間接收來自複數個快取儲存裝置的進度指示,且以獨立於由每一其他快取維護追蹤電路所提供的進度資訊之方式向主裝置提供進度資訊。特定而言,當主裝置發出多交易請求時,主裝置對如何處理彼等交易沒有約束,且由此在多個快取維護追蹤電路之間無需任何協作。相反,從快取維護追蹤電路中之每一者所提供的進度資訊足以使得主裝置能夠決定原始多交易請求中所規定之全部交易何時已經處理,此已足夠。
在一個實施例中,探聽電路系統可經配置以在接收到交易請求之時向快取儲存裝置中之每一者發出探聽請求。 然而,在一替代性實施例中,探聽電路系統包括探聽過濾器,該探聽過濾器經配置以針對每一快取儲存裝置維持位址的位址指示,該等位址之資料儲存在該快取儲存裝置中;及針對一交易執行之探聽操作包括:藉由使用由該交易規定的位址在探聽過濾器內執行查找操作,且針對每一快取儲存裝置而言,在該查找操作指示位址與由探聽過濾器維持之該快取儲存裝置之位址指示中之一者匹配之情況下,向該快取儲存裝置發出探聽請求。此舉可減少系統內之探聽請求通信量。此外,在探聽電路系統接收辨識待執行之多個交易的多交易請求之情況下,在探聽過濾器內之查找可經最佳化以便降低與在探聽過濾器內執行查找相關聯之功率消耗。
例如,在一個實施例中,探聽過濾器可包括:複數個項,每一項儲存一位址指示;及快取標識符資訊,在交易位址與該位址指示匹配之情況下,該資訊指示應向該複數個快取儲存裝置中之哪些裝置發出探聽請求。
然而,如若探聽電路系統接收到一多交易請求,該多交易請求規定在較大位址範圍中待執行之快取維護操作序列,則此舉可能需要探聽過濾器內之相同項經受多個查找操作。在一個實施例中,在此種情況下,執行經修正之查找操作以便減少對探聽過濾器之存取次數。特定而言,在一個實施例中,探聽過濾器是集結合儲存器,且每一交易之位址之索引部分用以辨識探聽過濾器內之項,該項的位址指示將用以比較該位址。如若由多交易請求規定之多個交易涉及一位址範圍,該位址範圍大至足以在處理該多個交易時需要多次 參考探聽過濾器中之每一項,則探聽電路系統經配置以在探聽過濾器內應用經修正之查找操作,藉此,探聽過濾器之每一項經受一次查找,自該項獲得之位址指示之數個位元被遮蔽,然後該等位元與複數個交易共有之遮蔽位址進行比較;及如若該比較指示匹配,則探聽請求被發至與探聽過濾器中之該項關聯之快取標識符資訊所指示的每一快取儲存裝置。此方法可顯著降低與執行探聽操作關聯之功率消耗,且改良效能。
在快取儲存裝置接收多交易請求之情況下,同一基本方法亦可用於快取儲存裝置內。特定而言,可在每一快取項內僅執行一次查找,再次使用遮蔽以執行經修正之比較,且由該比較產生之匹配指示關聯快取項中之資料值應經受快取維護操作。
作為提高探聽操作效率之另一方式,探聽過濾器項之結構自身可變更,以使得儲存在項中之位址指示不僅涉及單個快取線,而是涉及多個快取線(例如藉由將位址指示配置為較少數個位元之位址)。項可隨後儲存指示,該指示是哪些快取儲存裝置用以探聽共享該縮短位址指示之快取線中每一列。當利用探聽過濾器獲得匹配時,隨後,此舉將依據哪些快取儲存裝置已經由該項標旗為需要對每一快取線進行探聽,而使得探聽請求被發至與探聽過濾器中之該項關聯之任何或全部快取線中所需快取記憶體中之每一者。
由快取維護追蹤電路系統提供至主裝置之進度資訊可採用多種形式。例如,一旦已經執行由多交易請求規定之 全部多個交易,則進度資訊可形成由快取維護追蹤電路系統發出的單個組合回應。或者,複數個單獨的進度資訊條目可由快取維護追蹤電路系統提供,每一條目提供一計數值。主裝置可隨後經配置以聚集接收到的計數值,以便決定全部交易何時已完成。在需要由多個快取儲存裝置執行特定快取維護操作之情況下,快取維護追蹤電路系統將確保由全部彼等快取儲存裝置對該快取維護操作之完成僅產生單個返回至主裝置的「計數」,以確保主裝置僅需要聚集計數值以便決定多個變換何時已完成。
自又一態樣可見,本發明提供互連電路系統,該互連電路系統用於互連主裝置與複數個快取儲存裝置,以使由主裝置規定之快取維護操作能夠由複數個快取儲存裝置執行,該互連電路系統包括:主介面,經配置以接收來自主裝置之多交易請求,該多交易請求辨識多個待執行之交易,該多交易請求提供指示待執行交易之數目的數量指示,及位址資訊,多個交易中之每一交易規定將在與該交易關聯之位址處執行之快取維護操作;請求分配電路系統,該系統經配置以分析位址資訊及數量指示,以便針對多個交易中之每一交易決定需要該複數個快取儲存裝置中哪些裝置執行該交易,且進一步經配置以將交易請求發至複數個快取儲存裝置中之每一裝置,以辨識該多個交易中將由該複數個快取儲存裝置中之每一者執行之交易;及快取維護追蹤電路系統,該電路系統經配置以在該多個交易之執行期間接收來自複數個快取儲存裝置之進度指示,且向主裝置提供進度資訊以使得主裝 置能夠決定該多個交易何時已完成。
自又一態樣可見,本發明提供在資料處理系統內執行快取維護操作之方法,該資料處理系統包括主裝置、複數個快取儲存裝置,且互連電路系統,該互連電路系統將主裝置與該複數個快取儲存裝置耦接以使得由主裝置規定之該等快取維護操作能夠由該複數個快取儲存裝置執行,該方法包括:自主裝置發出多交易請求,該多交易請求辨識多個待執行之交易,該多交易請求提供指示待執行交易之數目的數量指示,及位址資訊,多個交易中之每一交易規定將在與該交易關聯之位址處執行之快取維護操作;在互連電路系統內分析位址資訊及數量指示,以便針對多個交易中之每一交易決定需要該複數個快取儲存裝置中哪些裝置執行該交易,且將交易請求發至複數個快取儲存裝置中之每一裝置,以辨識該多個交易中將由該複數個快取儲存裝置中之每一者執行之交易;及在該多個交易之執行期間在互連電路系統內接收來自複數個快取儲存裝置之進度指示,且向主裝置提供進度資訊以使得主裝置能夠決定該多個交易何時已完成。
自本發明之又一態樣可見,本發明提供資料處理系統,該資料處理系統包括:主手段;複數個快取儲存手段;互連手段,該互連手段用於將主手段與該複數個快取儲存手段耦接,以使得由主手段規定之快取維護操作能夠由複數個快取儲存手段執行;主手段用於發出多交易請求,該多交易請求辨識多個待執行之交易,且該多交易請求提供指示待執行交易之數目的數量指示,及位址資訊,多個交易中之每一 交易規定將在與該交易關聯之位址處執行之快取維護操作;互連手段包括請求分配手段,該請求分配手段用於分析位址資訊及數量指示,以便針對多個交易中之每一交易決定需要該複數個快取儲存手段中哪些手段執行該交易,且進一步用於將交易請求發至複數個快取儲存手段中之每一手段,以辨識該多個交易中將由複數個快取儲存手段中之每一者執行之交易;及快取維護追蹤手段,該手段用於在該多個交易之執行期間接收來自複數個快取儲存手段之進度指示,且用於向主手段提供進度資訊以使得主手段能夠決定該多個交易何時已完成。
10‧‧‧多交易請求
12‧‧‧第一欄位
14‧‧‧欄位
16‧‧‧欄位
18‧‧‧欄位
20‧‧‧讀取/寫入欄位20
22‧‧‧可選欄位
30‧‧‧大小欄位
35‧‧‧按位元欄位
50‧‧‧互連電路系統
55‧‧‧主裝置
60‧‧‧從屬裝置
62‧‧‧從屬裝置
64‧‧‧從屬裝置
66‧‧‧從屬裝置
70‧‧‧請求分配電路系統
75‧‧‧寫入資料路由電路系統
77‧‧‧路徑
80‧‧‧讀取資料/回應路由電路系統
82‧‧‧路徑
100‧‧‧請求佇列
105‧‧‧請求處理電路系統
110‧‧‧寫入資料佇列
115‧‧‧寫入控制電路系統
130‧‧‧主裝置
132‧‧‧快取記憶體
140‧‧‧主裝置
142‧‧‧快取記憶體
150‧‧‧主裝置
152‧‧‧快取記憶體
165‧‧‧讀取資料/回應路由電路系統
170‧‧‧從屬裝置
172‧‧‧從屬裝置
174‧‧‧從屬裝置
200‧‧‧請求分配電路系統
202‧‧‧記憶體控制器
204‧‧‧記憶體控制器
206‧‧‧記憶體控制器
208‧‧‧記憶體控制器
210‧‧‧位址映射分裂電路
212‧‧‧探聽電路
214‧‧‧探聽電路
220‧‧‧位址映射分裂電路
225‧‧‧位址映射分裂電路
250‧‧‧主裝置
255‧‧‧請求分配電路系統
260‧‧‧交插支援塊
262‧‧‧記憶體映射
265‧‧‧爭用緩解塊
270‧‧‧從屬裝置
272‧‧‧交易處置器
274‧‧‧碼資訊
280‧‧‧從屬裝置
282‧‧‧交易處置器
284‧‧‧碼資訊
300‧‧‧多交易請求
312‧‧‧欄位
314‧‧‧欄位
316‧‧‧欄位
318‧‧‧欄位
320‧‧‧欄位
322‧‧‧欄位
324‧‧‧寫入類型欄位
350‧‧‧佇列
355‧‧‧請求處理佇列/請求處理塊
360‧‧‧讀取控制電路系統
365‧‧‧寫入控制電路系統
400‧‧‧主裝置
410‧‧‧主裝置
412‧‧‧本地快取記憶體
420‧‧‧主裝置
422‧‧‧本地快取記憶體
430‧‧‧探聽電路
440‧‧‧請求分配電路系統
445‧‧‧探聽過濾器
450‧‧‧共享快取記憶體
452‧‧‧共享快取記憶體
460‧‧‧探聽電路
470‧‧‧請求分配電路系統
500‧‧‧探聽過濾器
505‧‧‧項
507‧‧‧標記位址部分
509‧‧‧欄位
520‧‧‧探聽過濾器
525‧‧‧項
530‧‧‧欄位
532‧‧‧欄位
534‧‧‧欄位
536‧‧‧欄位
555‧‧‧步驟
560‧‧‧步驟
565‧‧‧步驟
575‧‧‧步驟
600‧‧‧元件
602‧‧‧方式
604‧‧‧方式
606‧‧‧方式
608‧‧‧方式
610‧‧‧位址
612‧‧‧標記部分
614‧‧‧索引部分
620‧‧‧項
625‧‧‧標記比較塊
630‧‧‧標記比較塊
635‧‧‧標記比較塊
本發明將僅以舉例之方式,藉由參考如附圖中圖示之本發明實施例進行進一步描述,在該等附圖中:第1A圖示意性圖示依據一個實施例之多交易請求,且第1B圖圖示依據一個實施例之多交易請求內包括之交易資訊數目之替代性格式;第2圖是依據一個實施例之資料處理系統的方塊圖;第3圖示意性圖示依據一個實施例之延緩寫入機制,該延緩寫入機制可併入第2圖之系統內;第4圖示意性圖示一實施例,其中依據一個實施例之請求分配電路系統包括相干性處理電路系統以確保快取相干性;第5圖示意性圖示依據一個實施例可如何由數個階 層式分配塊形成請求分配電路系統;第6A圖及第6B圖示意性圖示依據不同實施例可如何將交插支援功能併入請求分配電路系統內;第7A圖及第7B圖示意性圖示依據不同實施例可如何將爭用緩解功能併入請求分配電路系統內;第8圖示意性圖示依據一替代性實施例之多交易請求;第9圖示意性圖示依據一個實施例可如何執行記憶體複製操作;第10圖圖示依據一替代性實施例之資料處理系統,該資料處理系統使得快取維護操作能夠經由發出多交易請求得以執行;第11A圖及第11B圖圖示依據不同實施例之用於第10圖之探聽過濾器內之項的兩個不同格式;第12圖是一流程圖,該圖圖示依據一個實施例之最佳化,該最佳化可在第10圖之系統內進行的探聽過濾器查找或快取記憶體查找內執行;及第13圖示意性圖示依據一個實施例如何執行第12圖中論述之遮蔽。
第1A圖是一圖表,該圖示意地圖示依據一個實施例利用由主裝置發出的多交易請求10規定之多個欄位。第一欄位12規定基本交易識別符,該基本交易識別符可用以結合交易特定資訊以針對多交易請求中規定之每一交易產生識別 符。此外,欄位14提供有關多交易請求內所含交易的數目之資訊。此資訊可採用多種形式,且第1B圖圖示兩個可能實例。依據第一實例,欄位14實際上採用大小欄位30的形式,該大小欄位規定交易的數目。在一替代性實施例中,欄位14採用按位元欄位35之形式,該形式中每一位元經設定或清零以便指示資料塊序列內之特定資料塊是否將由多交易請求內之交易處理。此資訊可用以結合位址欄位16內提供之位址資訊,以便辨識多交易請求內每一交易之起始位址。
例如,位址資訊欄位16可規定與多交易請求內包含之交易序列中之第一交易關聯之基本位址。在給定每一交易將在主裝置與從屬裝置之間傳送的特定資料數量之情況下(作為自主裝置傳送至從屬裝置之寫入操作,或作為自從屬裝置將資料返回至主裝置之讀取操作),可決定序列中每一交易之起始位址。當使用單個大小欄位30時,可假定交易是連續的交易序列,且可由此根據欄位16中之基本位址決定每一交易之起始位址。如若換用按位元欄位35,則可藉由使用按位元欄位中之資訊來決定序列中每一交易之起始位址。藉由使用第1B圖中所示之實例,在該實例中第一位元、第二位元及第四位元已設定,但第三位元清零,此舉可用以辨識第一交易自基本位址發生,第二交易是相鄰資料塊之交易,藉由按照由每一交易所處理之資料大小所決定之某個量遞增每一交易之基本位址而找到起始位址(為實現說明之目的,吾人將假定此起始位址等於基本位址加偏移X)。第三位元位置中之邏輯0值指示下一位址(亦即基本位址加2X)處之資 料塊將不成為交易對象,且下一交易則實際上是相對於位於一起始位址處之資料,該起始位址等於基本位址加3X。
請返回參看第1A圖,可提供叢發大小欄位18以辨識每一交易所傳送之資料量。在此實例中,假定每一交易是叢發交易,在該叢發交易中在每一時鐘週期(本文中亦稱作拍)傳送預定資料量,且在交易之每一拍期間針對不同的資料塊重複該過程。叢發大小欄位可用以辨識經由每一叢發交易(針對每一叢發交易發出單獨回應)傳送之整體資料量。此欄位可為可選的,因為在一替代性實施例中,可預定叢發大小。
讀取/寫入欄位20用以針對每一多交易請求辨識由該請求辨識之多個交易是讀取交易還是寫入交易。在任何特定實施例中,亦可提供一或更多個另外的可選欄位22以提供被視為相關之其他資訊。
第2圖是依據一個實施例之資料處理系統的方塊圖。在此實例中,主裝置55經由互連電路系統50與複數個從屬裝置60、62、64、66耦接。如彼等熟習該項技術者將理解,互連電路系統時常會將複數個主裝置與複數個從屬裝置互連,但為便於說明,第2圖中僅圖示單個主裝置。依據所述實施例,主裝置55將發出多交易請求,該多交易請求具有前文中參考第1A圖及第1B圖所述之形式,且該多交易請求將由互連電路系統50內之請求分配電路系統70接收。請求分配電路系統70經配置以決定需要哪一從屬裝置執行由多交易請求規定之每一交易。通常情況下,從屬裝置60、62、64、 66中之每一者將被映射至全部的可能位址範圍(由位址映射所辨識)內的特定位址範圍,且由此,藉由使用欄位16中之位址資訊及欄位14中有關交易數目之資訊,請求分配電路系統70可決定每一交易之起始位址,然後藉由參考位址映射可決定需要哪一從屬裝置執行每一交易。然後,請求分配電路系統70將交易請求序列發至每一從屬裝置。
依據一個實施例,在複數個交易將由一個特定從屬裝置處理之情況下,請求分配電路系統可形成多交易請求以傳播至從屬裝置上。藉由經由單個請求為從屬裝置提供有關該裝置需要執行之多個交易之資訊,此舉可使得該從屬裝置能夠設法最佳化自身之特性,以改良處理彼等多個交易之效率。例如,如若從屬裝置是用以存取諸如DRAM記憶體之記憶體的記憶體控制器,則對DRAM中記憶體之開啟頁面進行多次存取通常更為高效,因為存在與關閉DRAM頁面及打開另一頁面相關聯之額外負擔。利用對需要執行之交易序列之認知,記憶體控制器可設法最佳化記憶體存取,以便在執行由多交易請求中所辨識之交易序列所規定之必要的寫入或讀取操作時更有效地利用開啟頁面。
如若多交易請求規定寫入交易序列,則寫入資料亦將需要由主裝置55經由路徑77輸出至互連裝置50,隨後,在該互連裝置處,寫入資料路由電路系統75將用以將所需寫入資料路由至每一交易的有關從屬裝置。在一個實施例中,由請求分配電路系統決定之關於哪一從屬裝置將處理每一交易之資訊亦可提供至寫入資料路由電路系統,以用於恰當地 路由每一交易之關聯寫入資料。然而,在一替代性實施例中,每一寫入交易之寫入資料不發至從屬裝置,直至從屬裝置請求該寫入資料才發出。由此,在此實施例中,一旦請求分配電路系統70已將交易請求發至特定從屬裝置,則該從屬裝置將回應發回至原始主裝置55,指示該從屬裝置已準備好接受寫入資料。此回應包含寫入資料必須經路由送達的從屬裝置ID。
由此,當主裝置首先發送多交易請求時,主裝置不知曉為每一交易及關聯之寫入資料指定哪一從屬裝置,而是等待來自從屬裝置之指示,該指示指出現在可以為多交易請求內之特定交易發送寫入資料,該指示亦提供資訊,該資訊使得寫入資料路由電路系統75能夠將寫入資料路由至適當的從屬裝置。
依據所述實施例,儘管主裝置已發出單個多交易請求,但主裝置知道自身已請求進行執行之個別交易。因為交易是離散的,因此主裝置並不關心個別交易之執行順序,亦無需瞭解哪些從屬裝置正在處理任何特定交易。所需操作僅為通知主裝置每一交易的完成情況。對於每一交易而言,此操作可藉由每一從屬裝置經由互連裝置50內之讀取資料/回應路由電路系統80發出回應資料而實現,然後此操作將該回應資料經由路徑82路由至主裝置。對於寫入交易,回應資料僅需為簡單的確認型式信號,該信號用以確認寫入交易已經執行。此外,將基於欄位12中之基本交易識別符及一些交易特定資訊而產生交易識別符,以使得主裝置能夠決定多交易 請求中所辨識之多個交易中哪一交易正在得到回應。
對於規定讀取交易序列之多交易請求而言,經由電路系統80返回之讀取資料自身可形成回應,主裝置需要該回應以便決定已經執行個別交易,此外,讀取資料之每一條目伴隨有交易識別符,該交易識別符辨識正在得到回應之特定交易。
藉由此種機制,主裝置可發出規定多個交易之單個請求,組成該多交易請求之該多個交易隨後由請求分配電路系統70路由至適當的從屬裝置。在個別從屬裝置自身接收來自請求分配電路系統之多交易請求之情況下,該從屬裝置可基於對需要執行之多個交易的認知而設法最佳化該多個交易所需之存取。例如,如若從屬裝置是支援交易重新排序之從屬裝置,則該從屬裝置可選擇對彼等交易重新排序,以便更有效地執行所請求之交易。此外,慮及前述之記憶體控制器/DRAM記憶體實例,從屬裝置可設法最大化對開啟頁面之存取,以便更有效地處理交易所需之存取。由於每一交易可經獨立辨識,因此每一從屬裝置可以獨立於其他從屬裝置而操作,因此可在可用時自彼等從屬裝置經由讀取資料/回應路由電路系統80提供回應,每一回應提供足以使得主裝置能夠在多個交易之間辨識正在得到回應之特定交易之交易識別符。此機制使得能夠在與從屬裝置之通信路徑中對可用頻寬之更佳利用,同時由於某些從屬裝置能夠基於對需要執行之多個交易之概述而改良處理交易之效率,因此亦使得效能改良能夠得以實現。
對於規定寫入交易序列之多交易請求而言,存在以下可能性:如若多個交易所需之寫入資料將從與多交易請求關聯之主裝置55輸出至寫入資料路由電路系統75,則此舉可能導致寫入資料路由電路系統75內之擁塞。特定而言,寫入資料路由電路系統將通常由數個級組成,該等級具有關聯之寫入佇列,且彼等佇列中某些佇列可能變得充滿,從而等待多個寫入交易進行處理。此舉可能降低互連電路系統之操作效率。在一個實施例中,此種潛在的寫入擁塞藉由延緩來自主裝置之寫入資料的傳輸而得以減輕,如第3圖中示意性地圖示。為實現說明之目的,圖示從屬裝置60中之一者,該從屬裝置具有請求佇列100,轉送至從屬裝置之每一交易請求被置入該請求佇列。依據一個實施例,如若從屬裝置接收多交易請求,則該多交易請求僅佔據請求佇列100內之一個槽。請求處理電路系統105經配置以處理來自佇列之請求。因為多交易請求可經排列以僅佔據單個請求佇列,因此與其他方式相比,此舉有效地容許請求處理電路系統對更大數目之擱置交易具有可見性,且由此改良請求處理電路系統由於對未來交易之可見性增大而可能應用之任何重新排序之效率。
在第3圖中,圓中所含數字用以指示從由從屬裝置接收到交易請求起,直至寫入該交易請求之關聯寫入資料的一般處理序列。
當請求處理電路系統正在處理多交易請求時,對於每一交易而言,該電路系統可將適當的控制信號發送返回至主裝置55,請求關於該交易之寫入資料。該請求可利用交易 識別符而標記,該交易識別符根據多交易請求之基本交易識別符及一些交易特定資訊(如起始位址之一些低階位元)而獲得。此舉隨後將使所需之寫入資料經由寫入資料路由電路系統75而從主裝置輸出,在該電路系統中,該寫入資料將置於寫入資料佇列110內。請求處理電路系統105將控制寫入控制電路系統115,以便寫入控制電路系統可隨後讀取來自佇列之該寫入資料,且啟動寫入操作。對於記憶體控制器及關聯之記憶體裝置之前述實例,第3圖之從屬裝置60內圖示之元件可在記憶體控制器內提供,且寫入資料將從寫入控制元件115中輸出以用於儲存在關聯之記憶體裝置內。
用於觸發主裝置以輸出寫入資料之機制可採用多種形式。例如,交握機制可存在於從屬裝置與主裝置之間以使得從屬裝置能夠請求寫入資料之輸出。如若此種交握機制不可用,則從屬裝置能夠致使從主裝置之快取記憶體中逐出寫入資料,例如藉由使互連裝置內之探聽電路系統發出探聽請求以將資料從主裝置快取記憶體中逐出。
第4圖圖示請求分配電路系統可如何經配置以在處理多交易請求時管理快取相干性問題。與第3圖一樣,圈中所含數字指示圖中所示的多個互動之相對排序。在此實例中,資料處理系統包括主裝置序列130、140、150,該等主裝置中之每一者具有與其自身關聯之快取記憶體132、142、152。彼等快取記憶體中之每一者可為單個等級之快取記憶體,或其自身可由複數個等級之快取記憶體組成,例如1級快取記憶體與2級快取記憶體相結合。如圖所示,假定主裝 置130將多交易請求發至請求分配電路系統160,在此實例中,請求分配電路系統包括相干性處理電路系統,該相干性處理電路系統在一個實施例中可採用探聽電路系統之形式。
在一個實施例中,請求分配電路系統160內之相干性處理電路系統可經配置以針對多交易請求中發出之每一交易的位址而將探聽請求發至其他主裝置140、150之快取記憶體142、152,探聽回應隨後返回請求分配電路系統。或者,相干性處理電路系統可對提供位址指示之儲存結構進行存取,該等位址之資料保存在快取記憶體142、152中;且隨後僅在該儲存結構指示快取記憶體中具有一儲存資料之時,才將探聽請求發至有關的快取記憶體,該儲存資料之位址指示與該交易中之位址指示匹配。請求分配電路系統160之相干性處理電路系統內之儲存結構可採用多種形式,但在一個實施例中,該儲存結構採用探聽過濾器之形式,該探聽過濾器用於保持位址部分之日誌及對應針對一交易而進行探聽之快取記憶體之辨識,該交易之關聯位址部分與探聽過濾器中所記錄之該位址部分匹配。
為回應於探聽請求而需要採取之操作將依據實施例及交易類型而有所不同。例如,對於寫入交易而言,探聽請求可能僅使本地快取記憶體142、152中所儲存之資料的任何複本無效化,隨後,由主裝置130提供新寫入資料以用於在有關的從屬裝置170、172、174中儲存。此舉將確保主裝置140、150隨後不會由於存取其本地快取記憶體中之過期資料而存取錯誤資料。或者,除了將新的寫入資料寫入記憶體之 外,還可將該新寫入資料寫入經探聽之快取記憶體中。對於讀取交易而言,在由讀取交易所請求之資料經發現存在於快取記憶體內之情況下,探聽請求將通常使所需資料作為探聽回應之部分從經探聽之快取記憶體輸出。此舉將容許相干性處理電路系統160隨後將所需之讀取資料經由讀取資料/回應路由電路系統165返回至主裝置130,無需存取從屬裝置170、172、174以存取該資料。
在快取記憶體142、152中之每一者針對多交易請求中之每一交易而經探聽之實施例中,對於讀取交易而言通常將為以下情況:在決定關聯之交易請求是否需要傳播至從屬裝置上之前,將由相干性處理電路系統聚集探聽回應(因為所需之讀取資料不存在於快取記憶體142、152中之一者中)。對於寫入交易序列而言,在有關快取線包含先前版本之寫入資料之情況下,如若探聽請求僅使有關快取線無效化,則寫入交易可被同時傳播至所需的從屬裝置170、172、174上。類似地,對於使用探聽過濾器以便僅多交易請求所規定的一交易請求子集可需要發出探聽請求之實施例而言,將有數個交易請求,該等交易請求可在不延遲情況下傳播至從屬裝置170、172、174上,無需等待接收到任何探聽回應。為此,自請求分配電路系統160中傳播出之多個探聽請求、探聽回應及交易請求全部用元件符號3進行標誌,以指示該等探聽請求、探聽回應及交易請求基本上同時存在,受上文所列約束的限制。與前文所述實施例一樣,在請求分配電路系統辨識出複數個交易需要傳播至從屬裝置中之一者之情況下,請求 分配電路系統可將多交易請求發至有關的從屬裝置上,該多交易請求辨識將由該從屬裝置執行之交易。
從前文之論述中將瞭解,從屬裝置中之每一者將經由讀取資料/回應路由電路系統165獨立地將回應輸出至主裝置130,以指示所執行之交易中之每一者的完成情況。此外,基於接收到的來自經探聽之快取記憶體142、152之探聽回應,請求分配電路系統160內之相干性處理電路系統自身可為回應之來源,該等回應經由讀取資料/回應路由電路系統165經路由返回至主裝置130。與來自從屬裝置之回應一樣,任何來自相干性處理電路系統之回應將具有與該電路系統關聯之交易識別符,該交易識別符根據多交易請求之欄位12中之基本交易識別符及一些交易特定資訊而獲得,如交易之起始位址之一定數目之低階位址位元。由此,與前文所述實施例一樣,主裝置130可監視經由讀取資料/回應路由電路系統165提供之多個回應,以便決定多交易請求中規定之交易中之每一者何時已完成。
第5圖示意性圖示請求分配電路系統200可如何由以階層式方式排列之複數個分散級形成。在此實例中,假定在請求分配電路系統內提供由兩個單獨的探聽電路212、214形成之探聽電路系統,每一探聽電路與不同的位址範圍關聯。由此,提供位址映射分裂電路210,該電路分析最初接收到的多交易請求,以便針對多交易請求中規定之每一交易決定哪一探聽電路應查核該交易。由於該分析,將經修正之多交易請求發送至每一探聽電路,以辨識需要由彼等探聽電路 進行查核之多個交易。第一探聽電路212將針對其自身接收之每一交易而決定是否需要針對主裝置140、150內之快取記憶體142、152發出任何探聽請求。如若需要,則將發出彼等探聽請求,且將接收所需之探聽回應。對於寫入交易而言,探聽電路亦將通常將交易請求發至該電路之關聯從屬裝置上,在此情況下,該從屬裝置是記憶體控制器202。此外,此舉可藉由從探聽電路212將多交易請求發至記憶體控制器202而實現,以容許記憶體控制器202在處理彼等多個交易時最佳化自身特性。可基於探聽回應而針對不能得到回應之任何讀取交易採取同一操作。
探聽電路214將以與探聽電路212類似之方式操作,按需求將探聽請求發至快取記憶體142、152。然而,在此情況下,並非僅有與由探聽電路214管理之位址範圍關聯之單個從屬裝置,相反,在此實例中,有由記憶體控制器204、206、208形成之三個從屬裝置。由此,由探聽電路214輸出之交易請求首先傳遞至位址映射分裂電路220,該位址映射分裂電路在此實例中瞭解與記憶體控制器204關聯之位址。由此,對於具有映射至記憶體控制器204之關聯位址的任何交易而言,位址映射分裂電路220會將該交易發至記憶體控制器204。全部其他交易請求隨後將被轉送至位址映射分裂電路225上,位址映射分裂電路瞭解與記憶體控制器206及208中之每一者關聯之位址,且由此分裂接收到的交易,以便將交易請求傳播至適當的記憶體控制器206、208。
將瞭解,第5圖僅為一實例,該實例為:如何可以 階層式方式排列請求分配電路系統以在按需執行探聽請求之同時將多個交易請求路由至所需的從屬裝置上。
可能為以下情況:特定從屬裝置的關聯位址與另一從屬裝置的關聯位址以粗略粒度等級或更精細的粒度等級相交插。例如,此情況往往是使用DRAM記憶體之情況,在該記憶體中將提供多個記憶體控制器,每一記憶體控制器控制對關聯的DRAM記憶塊之存取,且位址交插在多個DRAM記憶塊之間以便改良存取時間。在一個實施例中,請求分配電路系統可包括交插支援電路系統,以便協助將接收到的多交易請求分裂成針對每一從屬裝置指定的交易請求。第6A圖中以實例之方式圖示此配置,在該圖中,主裝置250經由包括請求分配電路系統255之互連裝置耦接至兩個從屬裝置270、280。請求分配電路系統包括交插支援塊260,該交插支援塊對記憶體映射262進行存取,該記憶體映射辨識位址如何經映射至兩個從屬裝置270、280,該等從屬裝置例如可為記憶體控制器。從屬裝置中之每一裝置將具有與該裝置關聯之交易處置器272、282以執行交易,該裝置接收該等交易之交易請求。如前文所論述,從屬裝置自身可接收來自請求分配電路系統255之多交易請求,且在該情況下,交易處置器將決定交易中待執行之每一交易,然後使彼等交易由從屬裝置執行,回應資料隨後被路由返回至主裝置以指示交易中之每一者之完成情況。
在第6A圖之實例中,請求分配電路系統255分析多交易請求,且特定而言,交插支援塊260參考記憶體映射 262以便決定哪些交易需要路由至從屬裝置270、280中之哪一者。然後,請求分配電路系統255產生經修正之多交易請求,該多交易請求經發送至從屬裝置中之每一者。在此實施例中,修正涉及針對由請求分配電路系統發出的每一多交易請求設定在欄位14內之交易資訊數目,以辨識對於接收從屬裝置而言需要執行哪些交易。在一個實施例中,此舉可藉由使用諸如第1B圖中按位元欄位35之按位元欄位而實現,以辨識多交易請求內將由接收從屬裝置處理之特定交易。因此,自請求分配電路系統255發至從屬裝置270之多交易請求將以不同於自請求分配電路系統255發至從屬裝置280之多交易請求的方式設定該按位元欄位,以便從屬裝置中之每一者隨後將執行所請求之交易及將所需回應發至主裝置。主裝置由此將能夠決定其最初發出之多交易請求中規定的交易中之每一者何時已完成。
第6B圖圖示一替代性實施例,在該實施例中,從屬裝置270、280中之每一者在本地儲存碼資訊274、284,該等碼資訊辨識用以在從屬裝置270、280之間交插位址之交插型樣。在此實施例中,從屬裝置270、280隨後都接收到相同多交易請求,且使用關聯之碼資訊274、284以決定將處理多交易請求內哪些交易。交插支援塊260隨後用於決定哪些交易將由從屬裝置270或從屬裝置280處理,且隨後構成多交易請求,該多交易請求以一方式經廣播至彼等從屬裝置,該方式將使得彼等從屬裝置能夠使用其本地儲存碼274、284,以便辨識彼等從屬裝置需要處理之特定交易。
在第6A圖及第6B圖中,圖示了可選的爭用緩解塊265。現將藉由參考第7A圖及第7B圖描述可使用此塊之方式。在處理由多交易請求規定之多個交易時,互連裝置之讀取資料/回應路由電路系統內存在出現爭用問題之可能性,且對於寫入交易而言,互連裝置之寫入資料路由電路系統內亦存在此可能性。爭用之可能性將在有多個交易同時經服務之任何系統中出現。然而,因為請求分配電路系統255可控制多交易請求之處理方法,且特定而言控制如何將彼等交易告知執行該多交易請求中所規定之交易的所需的多個從屬裝置,因此請求分配電路系統255可包括爭用緩解塊265以應用爭用減緩措施,以便設法減少互連裝置內之爭用。作為可能採取之爭用減少措施之一個實例(請參見第7A圖),請求分配電路系統255可經配置以將多交易請求發至從屬裝置270,且對所需多交易請求至另一從屬裝置280之傳輸進行延時。此舉有可能在時序中引入交錯,利用該交錯,回應經路由返回主裝置,因此減少爭用。
第7B圖圖示一替代性實施例,在該實施例中,多交易請求基本上同時從請求分配電路系統255被發至每一從屬裝置270、280,但緩解控制資訊作為邊帶信號包括在多交易請求中之每一者內。在一實例中,此舉可規定可由從屬裝置使用的某個最大資料速率,例如以降低每一從屬裝置可向主裝置提供回應之最大速率,或在多交易請求關於多個寫入交易之情況下降低每一從屬裝置可從主裝置請求寫入資料的最大速率。此舉將用以降低互連裝置內之爭用之可能性。可將 特定時槽分配至從屬裝置中之每一者,以便經由讀取資料/回應路由電路系統80返回回應資料,作為另一減低爭用措施。
在一替代性實施例中,在從屬裝置與主裝置之間使用交握信號以請求寫入交易之寫入資料,可能無需特別針對寫入資料路由電路系統75採取爭用緩解措施。相反,如若兩個從屬裝置同時請求寫入資料,則主裝置將僅接收彼等請求中之一者,且針對所接受之請求提供寫入資料。其請求未在當時被服務之從屬裝置可重新發出請求,或可在等待寫入資料之同時重新計劃不同的交易。
第8圖示意性圖示另一格式之多交易請求,該多交易請求可針對某些類型之寫入交易用於一個實施例中。多交易請求300包括多個欄位,亦即與第1A圖中圖示之欄位12、14、16、18、20,及22對應之欄位312、314、316、318、320,及322。在此實例中,讀寫欄位320經設定以辨識該多交易請求關於寫入交易序列。亦提供寫入類型欄位324,此欄位可經設定為第一值以辨識正常寫入,或可經設定為第二特別值以辨識特定形式之寫入操作,在該操作中,可直接根據寫入類型欄位而隱含寫入資料。例如,在一個實施例中,如若寫入類型欄位經設定為邏輯0值,則此舉意謂著每一寫入交易之寫入資料將為邏輯0值序列,由此容許記憶體之整體區域得以重置為邏輯0值。利用此種形式之多交易請求,從屬裝置將無需為每一交易個別請求寫入資料,因為將隱含寫入資料,且可在本地產生寫入資料。此舉減少寫入資料擁塞,且降低互連裝置內之功率消耗。
所述實施例之多交易請求方法亦可用以執行有效的記憶體複製操作,如第9圖中示意地圖示。依據記憶體複製操作,自第一位址讀取資料,然後將資料直接寫入第二位址。在一個實施例中,可藉由發出多交易讀取請求,隨後發出與該多交易讀取請求關聯之多交易寫入請求,來針對較大範圍之記憶體位址執行此種記憶體操作。指示多交易讀取請求與多交易寫入請求之間的關聯之一個方式是為該兩個多交易請求使用同一基本交易識別符。首先考慮全部位址及多交易寫入請求之對象(subject)皆位於單個從屬裝置內之第一情況,則可在該從屬裝置內提供第9圖中圖示之組件,且該等組件包括佇列350及請求處理電路355,多交易請求被接收至該佇列350中,且該請求處理電路355用於處理請求佇列內之請求。在處理請求之時,請求處理塊355將與讀取控制電路系統360及寫入控制電路系統365通信,以使所需的讀取及寫入操作發生。在發現佇列包含多交易讀取請求及隨後之多交易寫入請求,該兩個請求具有同一基本交易識別符時,則請求處理塊355將控制讀取控制電路以執行所需的讀取操作,且讀取資料之每一條目由此將從讀取控制塊直接轉送至寫入控制塊365,請求處理塊將使該寫入控塊執行所需的寫入操作。
在並未全部針對同一從屬裝置執行讀取及寫入操作之情況下,例如在正在從一個從屬裝置讀取資料,然後將資料寫入另一從屬裝置之情況下,可在互連結構內實施兩個從屬裝置之間的協作,以便將從從屬裝置中之一者返回至互連 裝置的讀取資料直接路由至其他從屬裝置中之寫入控制塊,以使得該資料被寫入該其他從屬裝置內之所需的記憶體位址。
在一替代性實施例中,不請求單獨的多交易讀取請求及多交易寫入請求以便執行記憶體複製功能,而是可規定經修正之多交易讀取請求,該請求包括寫入位址資訊以使得能夠決定每一讀取資料條目皆應寫入之位址。寫入位址資訊可採用多種形式,但在一個實施例中,寫入位址資訊可包括指示將應用於每一讀取位址之偏移的偏移指示,以便計算對應的寫入位址。
將理解,對於實際上經定址之資料而言,多交易請求之長度通常由於讀取或寫入遇到頁面邊界而受限制。
亦可使用前述實施例中所述之多交易請求方法,以便提高由從主裝置發至互連裝置內之探聽電路系統的交易所啟動之快取維護操作之效率,以便針對系統內之多個快取記憶體使快取維護操作得以執行。以舉例方式藉由參考第10圖而圖示此種配置。在此實例中,主裝置400發出多交易請求(在此情況下,多交易請求內之每一交易規定一快取維護操作),且該多交易請求由探聽電路430內之請求分配電路系統440接收。可在系統內提供複數個快取記憶體,且請求分配電路系統440藉由參考多交易請求內之位址資訊及數量指示(亦即指示交易數目)決定哪些快取記憶體需要經受哪些快取維護操作。多個快取記憶體可為與其他主裝置410、420關聯之本地快取記憶體412、422,或可為數個共享快取記憶 體450、452,例如可由主裝置400、410、420中之每一者存取之3級快取記憶體。在一個實施例中,如第10圖中所示,多個快取記憶體可包括本地快取記憶體412、422與共享快取記憶體450、452之混合物。
在一個實施例中,針對每一交易,將探聽請求發至快取記憶體中之每一者以在彼等快取記憶體內啟動查找,且如若偵測到作為快取記憶體查找之部分的命中(亦即如若交易的有關位址部分與所儲存之與快取線關聯的位址部分匹配),則啟動快取維護操作在關聯之快取線上之執行。
然而,在一替代性實施例中,維持一探聽過濾器445,該探聽過濾器具有複數個辨識位址部分之項,且在交易之對應位址部分與探聽過濾器項中所儲存之位址部分匹配之情況下,提供哪些快取記憶體需經受探聽請求之指示。此種配置在第11A圖中圖示,在該圖中,探聽過濾器500中之每一項505包括標記位址部分507,該標記位址部分是快取記憶體之快取線內所保持之全部資料值共有之位址部分。此外,每一項在快取記憶體欄位509中儲存一指示,該指示指示在標記部分507與交易之標記部分匹配之情況下(在此情況下,該交易規定快取維護操作)需要經探聽之快取記憶體。藉由使用探聽過濾器方法,此舉可藉由決定需要經受每一快取維護操作之快取記憶體的子集而減少系統內之探聽請求通信量。
快取維護操作可採用多種形式,彼等熟習該項技術者將理解此點。例如,快取維護操作可需要使快取線內容清 零及無效化。如若快取線中保持之資料比記憶體中儲存之資料更新,則清零操作將需要在使記憶體無效化之前將當前內容寫出至記憶體。
因為主裝置400規定多交易請求,該多交易請求辨識多個交易及由此辨識多個需要執行之快取維護操作,因此在請求分配電路系統440決定特定快取記憶體需要執行多個快取維護操作之情況下,請求分配電路系統440可藉由將多交易請求作為探聽請求發至有關的快取記憶體來向快取記憶體辨識該快取維護操作。此舉可使得能夠對快取記憶體內之快取維護操作的處理之一定最佳化,如下文將例如藉由參考第12圖及第13圖所論述。
多個探聽回應將返回至請求分配電路系統,且隨後被轉送至追蹤電路系統435上,該電路系統負責將進度資訊提供返回至主裝置400以使得主裝置能夠決定多個交易(在此情況下為多個快取維護操作)何時已經執行。在特定快取維護操作需要在快取記憶體中多者內執行之情況下,追蹤電路系統將監視來自快取記憶體中每一者之回應,且一旦已接收到全部探聽回應後,則僅處理已完成之特定交易。
追蹤電路系統435可經配置以追蹤多交易請求中規定之全部交易之執行,然後在全部所需快取維護操作已經執行的情況下,將單個通知發送回主裝置400。或者,追蹤電路系統可以更逐件之方式提供進度資訊,例如在交易塊或個別交易經處理時,將計數值序列發回至主裝置400。主裝置400可由此僅聚集多個計數值,以便決定多交易請求中規定之全 部交易何時已經處理。
將瞭解,利用本地快取記憶體412、422,內容將隨著時間經過而動態改變,且探聽過濾器445提供一有效機制以用於追蹤與每一快取記憶體內之項關聯之位址,且由此指示探聽請求是否將為必需。對於共享快取記憶體450、452,時常為以下情況:不同的位址範圍與不同的快取記憶體關聯,且由此在快取記憶體與其中所儲存之資料之位址之間存在更為靜態的關係。在此種配置中,請求分配電路系統440可存取關於共享快取記憶體450、452之一些靜態映射資訊,以便針對任何特定交易決定需要將探聽請求發至共享快取記憶體中之哪一者。
儘管可提供單個探聽電路,但在一個實施例中,提供多個探聽電路430、460,每一探聽電路與不同的位址範圍關聯。在此種實施例中,可提供第一級請求分配電路系統470以用於參考關於與每一探聽電路關聯之位址範圍之資訊,以便針對由多交易請求規定之每一交易決定哪一探聽電路應接收及處理關聯之交易。此舉可產生交易子集,該子集被轉送至探聽電路430,且一不同子集經路由至探聽電路460。探聽電路中之每一者可由此經配置以接收來自第一級請求分配電路系統470之經修正之多交易請求,該經修正之多交易請求辨識將由該探聽電路處理之多個交易。在此種實施例中,每一探聽電路將具有單獨的追蹤電路系統435,每一追蹤電路系統將獨立地將進度資訊提供返回至主裝置400。主裝置400可由此監視從追蹤電路中之每一者中提供之進度資訊,以便 決定何時已經處理與多交易請求關聯之全部交易。
應值得注意,與前文論述之實施例不同,對於規定快取維護操作序列之多交易請求,主裝置400通常將無需以逐個交易的方式知曉哪些交易已經執行。相反,主裝置僅需知曉快取維護操作何時已經完成。由此,通常僅需將充足進度資訊傳遞回主裝置,以使主裝置足以決定全部快取維護操作何時已經執行,且該資訊無需包括唯一交易識別符資訊以向主裝置400辨識個別交易。
第11B圖圖示可對探聽過濾器之配置進行之最佳化,該最佳化用以協助處理由多交易請求所規定的多個快取維護操作。在此實施例中,探聽過濾器520中之每一項525具有欄位530,該欄位儲存之標記部分略短於第11A圖之實例的欄位507中儲存之標記部分,由此,此較短的標記部分與多個快取線匹配。單個查找可由此針對每一項525得以執行,且倘若交易之對應的縮短標記部分與儲存在欄位530中之標記部分匹配,則全部多個欄位532、534、536中之有關資訊可用以針對與彼等欄位關聯之快取線來辨識需要探聽哪些快取記憶體。由於能夠將多個快取線與單個項關聯起來,此舉可藉由減少為處理多交易請求所覆蓋之完整位址範圍而需要的查找次數,來顯著改良對探聽過濾器之存取效率。
探聽過濾器445將時常具有與快取記憶體相同之基本結構,且由此可經配置為N路集結合儲存器結構,如第13圖中藉由元件600所圖示。通路602、604、606、608中之每一者將包括複數個項,該等項儲存標記部分及一些關聯資 訊。在探聽過濾器內,關聯之資訊將為第11A圖或第11B圖中圖示之資訊,亦即在偵測到與項中儲存之標記部分有匹配的情況下辨識需經探聽之快取記憶體。對於快取記憶體自身,關聯之資訊將包括有效及壞控制資料。此外,將瞭解,在該等快取記憶體中,對於每一標記項而言,將有對應的快取線儲存複數個資料值,在交易位址之標記部分與項620中儲存之標記部分之間發現有匹配之情況下,將存取該等資料值。
如第13圖所示,對於慮及位址610而言,位址之索引部分614將用以辨識N路集結合儲存器結構內之特定集,且標記資訊將由此從該集中之每一項輸出至對應標記比較塊625、630、635,N路集結合節後中之每一通路具有一個標記比較塊。輸出標記資訊將由此與位址610之標記部分612比較,以便決定是否存在命中。如若存在命中,則在正在探聽過濾器中執行查找之情況下,項之關聯資訊將辨識需要經探聽之快取記憶體。如若正在快取記憶體中之一者內執行查找,則倘若有命中,此舉將辨識需要經受快取維護操作之快取線。
第12圖是一流程圖,該圖圖示在多交易請求所覆蓋的位址範圍大於快取通路尺寸之情況下,倘若多交易請求經導引至彼等元件,則可在探聽過濾器445或在任一快取記憶體中使用之最佳化。如若位址範圍不大於快取通路大小,則流程僅前進至步驟575,在該步驟中執行標準標記查找流程。然而,如若位址大於快取通路大小,則流程前進至步驟555, 在該步驟中決定將需要多少疊代經由每一索引進入快取記憶體內以便服務全部交易。然後,該流程並非經由每一索引疊代多次,而是前進至步驟560,在該步驟中,為每一索引執行一次標記查找,以便獲得該索引位置處的每一集的對應標記值。其後,在步驟565中,每一標記值之數個最低有效位元根據標記比較而經遮蔽,遮蔽之位元數目依據步驟555中決定之疊代數目而定。例如,如若決定將需要八個疊代經由每一索引,則將遮蔽標記值中最低有效的三個位元。更一般而言,如若所需疊代數目是二的冪,則可使用簡單的位元遮罩。對於其他疊代,可使用更複雜之技術。
此外,如第13圖所示,遮蔽來自位址610之標記部分612之同等數目之位元,以便每一標記比較塊625、630、635基於經遮蔽的標記資訊執行標記比較。在正在資料快取記憶體412、422、450、452中之一者中執行查找,或正在探聽過濾器快取記憶體中執行查找之情況下,倘若在任一通路中偵測到命中,則對對應之快取線執行清零操作,隨後,此舉將觸發探聽請求被發至由探聽過濾器項中的關聯控制資訊所辨識出的每一快取記憶體。
在探聽過濾器在實體位址上工作之實施例中,將瞭解,任何較大的虛擬位址操作可需要細化至頁面大小的操作,因此在此種情況下限制可自主裝置發出之多交易請求之大小。
作為可由參考第12圖及第13圖所述之該方法實現之優勢之實例,吾人將八路256kB快取記憶體視作實例。如 若每一線路是64位元組,則總快取記憶體將具有4k線路,且將有512個集。由此,如若需要執行4MB清零操作,則在沒有使用第12圖及第13圖之方法的情況下,此舉將需要執行64k檢查,在4MB清零的執行期間針對每一索引執行重複的查找操作。然而,經由使用第12圖及第13圖之方法,每一項僅檢查一次,且由此將執行512次檢查,而不是64k檢查。每一檢查將有效地覆蓋128位址,所以位址之7個位元經遮蔽以用於標記檢查。
雖然本文已描述特定實施例,但將瞭解,本發明並非限制於該等實施例,且可在符合本發明範疇之情況下對實施例進行許多修正及增添。例如,可在不脫離本發明範疇之情況下,利用獨立項之特徵進行下文附屬專利申請範圍之多個特徵組合。

Claims (45)

  1. 一種資料處理系統,包括:一主裝置;複數個從屬裝置;一互連電路系統,該互連電路系統經配置以將該主裝置與該複數個從屬裝置耦接,以使得交易能夠在有來自該主裝置之請求時由該複數個從屬裝置執行;該主裝置經配置以發出一多交易請求,該多交易請求辨識多個待執行之交易,該多交易請求提供一基本交易識別符、指示待執行交易之一數目的一數量指示、及位址資訊;該互連電路系統包括請求分配電路系統,該請求分配電路系統經配置以分析該位址資訊及該數量指示,以便針對該多個交易中之每一交易決定執行該交易需要之從屬裝置,且進一步經配置以將交易請求發至每一經決定之從屬裝置,以辨識該多個交易中將由該經決定之從屬裝置執行之該等交易;每一經決定之從屬裝置經配置以向該主裝置提供一回應,以辨識由該經決定之從屬裝置執行之每一交易之完成情況,每一經決定之從屬裝置經配置以提供自身之回應,該等回應獨立於來自任何其他經決定之從屬裝置的回應,且每一回應包括根據該基本交易識別符及交易特定資訊所決定之一交易識別符,以使得該主裝置能夠辨識在該多交易請求內所辨識之每一交易的完成情況。
  2. 如請求項1所述之資料處理系統,其中由該請求分配電路系統發出的該等交易請求包括至少一個多交易請求,該至少一個多交易請求中之每一者辨識由該經決定之從屬裝置執行所需之該多個交易中之複數者,該多交易請求被發至該經決定之從屬裝置。
  3. 如請求項1所述之資料處理系統,其中由該主裝置發出之該多交易請求是一多叢發交易請求,且該多個交易中之每一者是一叢發交易,該叢發交易規定將在該主裝置與該經決定之從屬裝置之間針對該叢發交易執行複數個資料傳送。
  4. 如請求項1所述之資料處理系統,其中該位址資訊包括一基本位址,且藉由參考該基本位址而決定由該多交易請求辨識之每一交易之位址。
  5. 如請求項4所述之資料處理系統,其中每一該多交易請求辨識涉及一連續位址範圍內之預定位址的一交易序列。
  6. 如請求項4所述之資料處理系統,其中該多交易請求包括遮罩資訊,該遮罩資訊用於結合該基本位址以決定由該多交易請求辨識之每一交易之該位址。
  7. 如請求項4所述之資料處理系統,其中當一從屬裝置對一特定交易提供一回應時,由該從屬裝置結合該基本交易識別符使用以產生包括在該回應中之該交易識別符的該交易特定資訊包括針對該交易規定之該位址之數個位元。
  8. 如請求項1所述之資料處理系統,進一步包括:至少又一個主裝置,該至少又一個主裝置具有一快取儲存器,資料經高速緩存在該快取儲存器中以便由該至少又一個主裝置存取;該互連電路系統包括一探聽電路系統,該探聽電路系統可回應於一接收到的交易請求,以基於規定用於與該接收到的交易請求關聯之該交易的一位址,針對該快取儲存器執行一探聽操作,以便決定位於該位址處之資料是否儲存在該快取儲存器內;該請求分配電路系統進一步經配置以分析該位址資訊及該數量指示,以便決定該多個交易中之任何者是否規定需要由該探聽電路系統執行一探聽操作的一位址;該請求分配電路系統可回應於對該多個交易中之至少一者需要執行一探聽操作之一決定,以將自該主裝置接收之該多交易請求分裂成複數個交易請求,且將該等交易請求中之至少一者發至該探聽電路系統。
  9. 如請求項8所述之資料處理系統,其中發至該探聽電路系統之該等交易請求中之至少一者包括一多交易請求,該多交易請求辨識該多個交易中之複數個交易,需要為該複數個交易執行一探聽操作。
  10. 如請求項8所述之資料處理系統,其中該探聽電路系統包括複數個探聽電路,每一探聽電路與一不同的位址範圍關聯,且該請求分配電路系統經配置以將單獨的交易請求發至每一探聽電路。
  11. 如請求項8所述之資料處理系統,其中該探聽電路系統包括一探聽過濾器,該探聽過濾器經配置以維持位址的位址指示,該等位址之資料儲存在該快取儲存器中;及針對一交易執行之探聽操作包括:藉由使用由該交易規定的該位址參考該探聽過濾器,且在該探聽過濾器指示該位址與由該探聽過濾器維持之該等位址指示中之一者匹配之情況下,向該快取儲存器發出一探聽請求。
  12. 如請求項1所述之資料處理系統,其中該複數個從屬裝置包括複數個記憶體控制器,該複數個記憶體控制器耦接至關聯的記憶體裝置。
  13. 如請求項12所述之資料處理系統,其中:每一關聯之記憶體裝置經配置以儲存與一位址型樣關聯之資料,一個記憶體裝置之該位址型樣與另一個記憶體裝置之該位址型樣交插;及該請求分配電路系統經配置以將該多叢發交易請求分裂成單獨的多叢發交易請求,該等單獨的多叢發交易請求將被發至每一記憶體控制器以便使每一記憶體控制器執行該多個交易之間其規定位址位於該關聯之記憶體裝置的該位址型樣內的該等交易。
  14. 如請求項13所述之資料處理系統,其中該等記憶體控制器中之每一者具備控制資料,該控制資料由該記憶體控制器用以辨識哪些交易需要由該記憶體控制器執行。
  15. 如請求項14所述之資料處理系統,其中該請求分配電路系統將該控制資料編碼至發至每一記憶體控制器的該多交易請求內。
  16. 如請求項1所述之資料處理系統,其中:由該主裝置發出之該多交易請求辨識多個寫入交易,該等寫入交易需要自該主裝置將寫入資料寫入針對每一寫入交易之該經決定之從屬裝置;該互連電路系統包括寫入資料路由電路系統,該寫入資料路由電路系統經配置以將該多個寫入交易中每一交易之該寫入資料路由至針對每一寫入交易之該經決定之從屬裝置;及該主裝置經配置以針對每一交易延遲該寫入資料經由該寫入資料路由電路系統之一輸出,直至針對該交易的該經決定之從屬裝置對該寫入資料發出一請求為止。
  17. 如請求項16所述之資料處理系統,進一步在每一經決定之從屬裝置與該主裝置之間包括一交握機制,該每一經決定之從屬裝置經由該交握機制發出對該寫入資料之該請求。
  18. 如請求項16所述之資料處理系統,其中該主裝置包括一快取儲存器,該寫入資料儲存在該快取儲存器中,且由該經決定之從屬裝置發出之對該寫入資料之該請求經配置以使所請求之該寫入資料將被逐出該快取儲存器。
  19. 如請求項1所述之資料處理系統,其中該互連電路系統進一步包括:回應路由電路系統,該回應路由電路系統經配置以在該多個交易之執行期間將由每一從屬裝置發出的該等回應路由至該主裝置;及爭用緩解電路系統,該爭用緩解電路系統與該請求分配電路系統關聯,且經配置在決定該請求分配電路系統將使該多交易請求分裂成發至不同從屬裝置之複數個交易請求時針對該複數個交易請求應用一爭用減少措施,以便設法減少該回應路由電路系統內由於回應從不同的從屬裝置經由該回應路由電路系統返回而產生之爭用。
  20. 如請求項19所述之資料處理系統,其中該爭用減少措施包括在該回應路由電路系統內為該等不同從屬裝置中之每一者分配不同的時槽。
  21. 如請求項19所述之資料處理系統,其中該爭用減少措施包括結合由該請求分配電路系統發出的每一交易請求而提供一資料速率指示,該指示限制該經決定之從屬裝置所使用之一資料速率。
  22. 如請求項1所述之資料處理系統,其中該多交易請求辨識多個寫入交易,該等寫入交易需要自該主裝置將寫入資料寫入針對每一寫入交易之該經決定之從屬裝置,且該多交易請求包括一欄位,該欄位辨識將針對每一交易所寫入之該寫入資料值。
  23. 如請求項1所述之資料處理系統,其中該多交易請求辨識多個待執行之讀取交易,且進一步規定用以辨識每一讀取資料值應被寫入之位址的一寫入位址指示,由此容許在不發出單獨的寫入交易請求的情況下自一個位址讀取資料,然後將該資料寫入另一位址。
  24. 如請求項1所述之資料處理系統,其中:該主裝置經配置以發出一多交易讀取請求,隨後發出一關聯之多交易寫入請求;及該請求分配電路系統經配置以可回應於該多交易讀取請求及關聯之多交易寫入請求,以將交易請求發至每一經決定之從屬裝置,以便從一位址讀取資料,然後將該資料寫入另一位址。
  25. 如請求項24所述之資料處理系統,其中該關聯之多交易寫入請求經配置以將該同一基本交易識別符規定為用於該多交易讀取請求,以便使得該請求分配電路系統能夠將該關聯之多交易寫入請求辨識為與該多交易讀取請求相關聯。
  26. 一種互連電路系統,用於將一主裝置與複數個從屬裝置互連,以使得交易能夠在有來自該主裝置之請求時由該複數個從屬裝置執行,該互連電路系統包括:一主介面,該主介面經配置以接收來自該主裝置之一多交易請求,該多交易請求辨識多個待執行之交易,該多交易請求提供一基本交易識別符、指示待執行交易之一數目的一數量指示,及位址資訊;請求分配電路系統,該請求分配電路系統經配置以分析該位址資訊及該數量指示,以便針對該多個交易中之每一交易決定執行該交易需要之從屬裝置,且進一步經配置以將交易請求發至每一經決定之從屬裝置,以辨識該多個交易中將由該經決定之從屬裝置執行之該等交易;及回應路由電路系統,該回應路由電路系統經配置以將自每一經決定之從屬裝置提供之一回應路由至該主裝置,以辨識由該經決定之從屬裝置執行之每一交易之完成情況,每一經決定之從屬裝置以獨立於來自任何其他經決定之從屬裝置之該等回應之方式提供其自身之回應,且每一回應包括根據該基本交易識別符及交易特定資訊所決定之一交易識別符,以使得該主裝置能夠辨識在該多交易請求內所辨識之每一交易的完成情況。
  27. 一種資料處理系統,包括:一主裝置;複數個快取儲存裝置;互連電路系統,該互連電路系統經配置以將該主裝置與該複數個快取儲存裝置耦接,以使得由該主裝置所規定的快取維護操作能夠由該複數個快取儲存裝置執行;該主裝置經配置以發出一多交易請求,該多交易請求辨識多個待執行之交易,且該多交易請求提供指示待執行交易之一數目的一數量指示,及位址資訊,該多個交易中之每一交易規定將在與該交易關聯之一位址處執行之一快取維護操作;該互連電路系統包括請求分配電路系統,該請求分配電路系統經配置以分析該位址資訊及該數量指示,以便針對多個交易中之每一交易決定需要該複數個快取儲存裝置中哪些裝置執行該交易,且進一步經配置以將交易請求發至該複數個快取儲存裝置中之每一裝置,以辨識該多個交易中將由該複數個快取儲存裝置中之每一者執行之該等交易;及快取維護追蹤電路系統,該快取維護追蹤電路系統經配置以在該多個交易之執行期間接收來自該複數個快取儲存裝置之進度指示,且向該主裝置提供進度資訊以使得該主裝置能夠決定該多個交易何時已完成。
  28. 如請求項27所述之資料處理系統,其中由該請求分配電路系統發出的該等交易請求包括至少一個多交易請求,該至少一個多交易請求中之每一者辨識由該快取儲存裝置執行所需之該多個交易中之複數者,該多交易請求被發至該快取儲存裝置。
  29. 如請求項27所述之資料處理系統,其中該位址資訊包括一基本位址,且藉由參考該基本位址而決定由該多交易請求辨識之每一交易之該位址。
  30. 如請求項27所述之資料處理系統,進一步包括又一主裝置,且該複數個快取儲存裝置包括由該主裝置與該又一主裝置共享的至少一個快取儲存裝置。
  31. 如請求項27所述之資料處理系統,進一步包括又一主裝置,且該複數個快取儲存裝置包括與該又一主裝置關聯提供之至少一個快取儲存裝置,以用於高速緩存由該又一主裝置存取之資料。
  32. 如請求項27所述之資料處理系統,其中該請求分配電路系統包括一探聽電路系統,該探聽電路系統經配置以針對該複數個快取儲存裝置執行一探聽操作,以便執行由該多個交易請求中之每一者規定的該快取維護操作。
  33. 如請求項32所述之資料處理系統,其中該探聽電路系統包括複數個探聽電路,每一探聽電路與一不同的位址範圍相關聯,且該請求分配電路系統進一步包括第一級請求分配電路系統,該第一階段請求分配電路系統經配置以分析該位址資訊及該數量指示,以便針對該多個交易中之每一交易決定執行由該交易規定之該快取維護操作需要該複數個探聽電路中哪一電路,且依據該決定而將單獨的交易請求發至每一探聽電路。
  34. 如請求項33所述之資料處理系統,其中該快取維護追蹤電路系統包括在該複數個探聽電路中每一電路內提供之一快取維護追蹤電路,每一快取維護追蹤電路經配置以在執行由該關聯之探聽電路所處理之該等交易所規定的該等快取維護操作期間接收來自該複數個快取儲存裝置的進度指示,且以獨立於自每一其他快取維護追蹤電路所提供的該進度資訊之方式向該主裝置提供該進度資訊。
  35. 如請求項32所述之資料處理系統,其中該探聽電路系統包括一探聽過濾器,該探聽過濾器經配置以針對每一快取儲存裝置維持位址的位址指示,針對該等位址之資料儲存在該快取儲存裝置中;及針對一交易執行之該探聽操作包括:藉由使用由該交易規定的該位址在該探聽過濾器內執行一查找操作,且針對每一快取儲存裝置,在該查找操作指示該位址與由該探聽過濾器維持之該快取儲存裝置之該等位址指示中之一者匹配之情況下,向該快取儲存裝置發出一探聽請求。
  36. 如請求項35所述之資料處理系統,其中該探聽過濾器包括複數個項,每一項儲存一位址指示,及快取標識符資訊,在一交易之該位址與該位址指示匹配之情況下,該快取標識符資訊指示應向該複數個快取儲存裝置中之哪些裝置發出一探聽請求。
  37. 如請求項35所述之資料處理系統,其中:該探聽過濾器是一集結合儲存器,且每一交易之該位址之一索引部分用以辨識該探聽過濾器內之一項,將用該項的位址指示比較該位址;如若由該多交易請求規定之該多個交易涉及一位址範圍,該位址範圍大至足以在處理該多個交易時需要多次參考該探聽過濾器中之每一項,則該探聽電路系統經配置以在該探聽過濾器內應用一經修正之查找操作,藉此,該探聽過濾器之每一項經受一次查找,自該項獲得之該位址指示之數個位元被屏蔽,然後該等位元與該等交易中複數個交易共有之一遮蔽位址進行比較,及如若該比較指示一匹配,則一探聽請求被發至與該探聽過濾器中之該項關聯之快取標識符資訊所指示的每一快取儲存裝置。
  38. 如請求項28所述之資料處理系統,其中:每一快取儲存裝置是一集結合快取儲存裝置,該集結合快取儲存裝置具有複數個快取記憶體項,每一快取記憶體項包括一位址指示及一或更多個關聯資料值,當執行由每一交易規定之該快取維護操作時,該交易之該位址之一索引部分用以辨識一快取記憶體項,該快取記憶體項之位址指示將與該位址進行比較;如若一快取儲存裝置接收到來自該請求分配電路系統之一多交易請求,該多交易請求辨識該等多個交易中由該快取儲存裝置執行所需之複數個交易,且如若該多個交易中之該複數個交易係關於一位址範圍,該位址範圍夠大而足以在執行由該等多個交易中之該複數個交易規定之該等快取維護操作時需要參考多次該快取儲存裝置之每一快取記憶體項,則該快取儲存裝置經配置以應用一經修正之快取記憶體查找操作,藉此,每一快取記憶體項將經受一次查找,自該快取記憶體項中獲得之該位址指示之數個位元經遮蔽,然後與該等交易中複數個交易所共有之一經遮蔽位址相比較,且如若該比較指示一匹配,則該快取記憶體項中之該一或更多個資料值將經受該快取維護操作。
  39. 如請求項27所述之資料處理系統,其中一旦由該多交易請求規定之該多個交易已經全部執行後,則該快取維護追蹤電路系統經配置以將單個組合回應作為該進度資訊提供至該主裝置。
  40. 如請求項27所述之資料處理系統,其中該快取維護追蹤電路系統經配置以將複數個單獨的進度資訊條目作為該進度資訊提供至該主裝置,每一進度資訊條目提供一計數值,且該主裝置經配置以聚集接收到的該等計數值以便決定該多個交易何時已完成。
  41. 一種互連電路系統,該互連電路系統用於將一主裝置與複數個快取儲存裝置互連,以使得由該主裝置規定之快取維護操作能夠由該複數個快取儲存裝置執行,該互連電路系統包括:一主介面,該主介面經配置以接收來自該主裝置之一多交易請求,該多交易請求辨識多個待執行之交易,該多交易請求提供指示待執行交易之一數目的一數量指示,及位址資訊,該多個交易中之每一交易規定將在與該交易關聯之一位址處執行之一快取維護操作;請求分配電路系統,該請求分配電路系統經配置以分析該位址資訊及該數量指示,以便針對該多個交易中之每一交易決定執行該交易需要該複數個快取儲存裝置中哪些裝置,且進一步經配置以將交易請求發至該複數個快取儲存裝置中之每一裝置,以辨識該多個交易中將由該複數個快取儲存裝置中之每一者執行之該等交易;及快取維護追蹤電路系統,該快取維護追蹤電路系統經配置以在該多個交易之執行期間接收來自該複數個快取儲存裝置之進度指示,且向該主裝置提供進度資訊以使得該主裝置能夠決定該多個交易何時已完成。
  42. 一種在一資料處理系統內執行交易之方法,該資料處理系統包括一主裝置、複數個從屬裝置、及一互連電路系統,該互連電路系統將該主裝置與該複數個從屬裝置耦接,以使得該等交易能夠在有來自該主裝置之請求時由該複數個從屬裝置執行,該方法包括以下步驟:自該主裝置發出一多交易請求,該多交易請求辨識多個待執行之交易,該多交易請求提供一基本交易識別符、指示待執行交易之一數目的一數量指示、及位址資訊;在該互連電路系統內分析該位址資訊及該數量指示,以便針對該多個交易中之每一交易決定執行該交易需要之從屬裝置,且將交易請求發至每一經決定之從屬裝置,以辨識該多個交易中將由該經決定之從屬裝置執行之該等交易;及自每一經決定之從屬裝置向該主裝置發出一回應,以辨識由該經決定之從屬裝置執行之每一交易的完成情況,每一經決定之從屬裝置以獨立於來自任何其他經決定之從屬裝置之該等回應之方式提供其自身之回應,且每一回應包括根據該基本交易識別符及交易特定資訊所決定的一交易識別符,以使得該主裝置能夠辨識在該多交易請求內經辨識之每一交易之完成情況。
  43. 一種資料處理系統,包括:一主手段;複數個從屬手段;一互連手段,該互連手段用於耦接該主手段與該複數個從屬手段,以使得交易能夠在有來自該主手段之請求時由該複數個從屬手段執行;該主手段用於發出一多交易請求,該多交易請求辨識多個待執行之交易,該多交易請求提供一基本交易識別符、指示待執行交易之一數目的一數量指示、及位址資訊;該互連手段包括請求分配手段,該請求分配手段用於分析該位址資訊及該數量指示,以便針對該多個交易中之每一交易決定執行該交易需要之從屬手段,且進一步用於將交易請求發至每一經決定之從屬手段,以辨識該多個交易中將由該經決定之從屬手段執行之該等交易;每一經決定之從屬手段用於將一回應提供至該主手段,以辨識由該經決定之從屬手段執行之每一交易之完成情況,每一經決定之從屬手段用於以獨立於來自任何其他經決定之從屬手段之該等回應之方式提供其自身之回應,且每一回應包括根據該基本交易識別符及交易特定資訊所決定之一交易識別符,以使得該主手段能夠辨識在該多交易請求內所辨識之每一交易的完成情況。
  44. 一種在一資料處理系統內執行快取維護操作之方法,該資料處理系統包括一主裝置、複數個快取儲存裝置、及一互連電路系統,該互連電路系統將該主裝置與該複數個快取儲存裝置耦接以使得由該主裝置規定之該等快取維護操作能夠由該複數個快取儲存裝置執行,該方法包括以下步驟:自該主裝置發出一多交易請求,該多交易請求辨識多個待執行之交易,該多交易請求提供指示待執行交易之一數目的一數量指示、及位址資訊,該多個交易中之每一交易規定將在與該交易關聯之一位址處執行之一快取維護操作;在該互連電路系統內分析該位址資訊及該數量指示,以便針對該多個交易中之每一交易決定執行該交易需要該複數個快取儲存裝置中的哪些裝置,且將交易請求發至該複數個快取儲存裝置中之每一裝置,以辨識該多個交易中將由該複數個快取儲存裝置中之每一者執行之該等交易;及在該多個交易之執行期間在該互連電路系統內接收來自該複數個快取儲存裝置之進度指示,且向該主裝置提供進度資訊以使得該主裝置能夠決定該多個交易何時已完成。
  45. 一種資料處理系統,包括:一主手段;複數個快取儲存手段;互連手段,該互連手段用於將該主手段與該複數個快取儲存手段互連,以使得由該主手段規定之快取維護操作將由該複數個快取儲存手段執行;該主手段用於發出一多交易請求,該多交易請求辨識多個待執行之交易,且該多交易請求提供指示待執行交易之一數目的一數量指示、及位址資訊,該多個交易中之每一交易規定將在與該交易關聯之一位址處執行之一快取維護操作;該互連手段包括一請求分配手段,該請求分配手段用於分析該位址資訊及該數量指示,以便針對該多個交易中之每一交易決定執行該交易需要該複數個快取儲存手段中哪些手段,且進一步用於將交易請求發至該複數個快取儲存手段中之每一手段,以辨識該多個交易中將由該複數個快取儲存手段中之每一者執行之該等交易;及快取維護追蹤手段,該快取維護追蹤手段用於在該多個交易之執行期間接收來自該複數個快取儲存手段之進度指示,且用於向該主手段提供進度資訊以使得該主手段能夠決定該多個交易何時已完成。
TW104100099A 2014-01-13 2015-01-05 用於處理多個交易之資料處理系統及方法 TWI651620B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB1400503.7A GB2522057B (en) 2014-01-13 2014-01-13 A data processing system and method for handling multiple transactions
??1400503.7 2014-01-13

Publications (2)

Publication Number Publication Date
TW201539196A TW201539196A (zh) 2015-10-16
TWI651620B true TWI651620B (zh) 2019-02-21

Family

ID=50191219

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104100099A TWI651620B (zh) 2014-01-13 2015-01-05 用於處理多個交易之資料處理系統及方法

Country Status (9)

Country Link
US (1) US9830294B2 (zh)
EP (1) EP3095037B1 (zh)
JP (1) JP6574779B2 (zh)
KR (1) KR102319809B1 (zh)
CN (1) CN105900076B (zh)
GB (1) GB2522057B (zh)
IL (1) IL245841B (zh)
TW (1) TWI651620B (zh)
WO (1) WO2015104535A1 (zh)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102428563B1 (ko) * 2015-09-30 2022-08-03 삼성전자주식회사 수눕 작동을 관리하는 코히런트 인터커넥트와 이를 포함하는 데이터 처리 장치들
US10157133B2 (en) 2015-12-10 2018-12-18 Arm Limited Snoop filter for cache coherency in a data processing system
US10417218B2 (en) 2015-12-23 2019-09-17 Intel Corporation Techniques to achieve ordering among storage device transactions
CN108605055A (zh) * 2016-02-01 2018-09-28 高通股份有限公司 串行链路中的可编程分布式数据处理
US10159053B2 (en) 2016-02-02 2018-12-18 Qualcomm Incorporated Low-latency low-uncertainty timer synchronization mechanism across multiple devices
US11956206B2 (en) 2016-02-26 2024-04-09 Micro Motion, Inc. Communicating with two or more slaves
US9817760B2 (en) 2016-03-07 2017-11-14 Qualcomm Incorporated Self-healing coarse-grained snoop filter
US9990292B2 (en) * 2016-06-29 2018-06-05 Arm Limited Progressive fine to coarse grain snoop filter
CN108228647B (zh) 2016-12-21 2022-05-24 伊姆西Ip控股有限责任公司 用于数据拷贝的方法和设备
US10042766B1 (en) 2017-02-02 2018-08-07 Arm Limited Data processing apparatus with snoop request address alignment and snoop response time alignment
US10402349B2 (en) * 2017-02-08 2019-09-03 Arm Limited Memory controller having data access hint message for specifying the given range of one or more memory addresses
US10795820B2 (en) * 2017-02-08 2020-10-06 Arm Limited Read transaction tracker lifetimes in a coherent interconnect system
US10812571B2 (en) * 2017-03-17 2020-10-20 Convida Wireless, Llc Distributed transaction management in a network service layer
US10692077B2 (en) 2017-10-25 2020-06-23 Mastercard International Incorporated Method and system for conveyance of machine readable code data via payment network
CN107809480A (zh) * 2017-10-25 2018-03-16 上海瀚银信息技术有限公司 一种交易整流系统
GB2569304B (en) * 2017-12-12 2020-05-13 Advanced Risc Mach Ltd Regulation for atomic data access requests
US11347667B2 (en) * 2018-01-10 2022-05-31 Qualcomm Incorporated Bus controller and related methods
KR102007117B1 (ko) * 2018-01-19 2019-08-02 전북대학교산학협력단 트랜잭션 처리 방법 및 트랜잭션 처리 시스템
US10761985B2 (en) * 2018-08-02 2020-09-01 Xilinx, Inc. Hybrid precise and imprecise cache snoop filtering
EP3644190B1 (en) * 2018-10-22 2021-06-23 Arm Ltd I/o coherent request node for data processing network with improved handling of write operations
US10783080B2 (en) * 2018-10-29 2020-09-22 Arm Limited Cache maintenance operations in a data processing system
US10657055B1 (en) * 2018-12-13 2020-05-19 Arm Limited Apparatus and method for managing snoop operations
US10936048B2 (en) * 2019-03-29 2021-03-02 Intel Corporation System, apparatus and method for bulk register accesses in a processor
US10970225B1 (en) * 2019-10-03 2021-04-06 Arm Limited Apparatus and method for handling cache maintenance operations
CN113448899A (zh) * 2020-03-25 2021-09-28 瑞昱半导体股份有限公司 借助于交易辨识码的属性来控制数据响应的方法以及系统
US11281403B2 (en) * 2020-03-26 2022-03-22 Arm Limited Circuitry and method
JP2020173852A (ja) * 2020-07-10 2020-10-22 マイクロ モーション インコーポレイテッド 2つ以上のスレーブとの通信
WO2022093165A1 (en) * 2020-10-26 2022-05-05 Google Llc Modulating credit allocations in memory subsystems
CN112491855B (zh) * 2020-11-19 2023-04-07 中国联合网络通信集团有限公司 一种handle标识解析状态的确定方法及装置
KR102326892B1 (ko) * 2020-11-25 2021-11-16 오픈엣지테크놀로지 주식회사 적응형 트랜잭션 처리 방법 및 이를 위한 장치
US11899607B2 (en) * 2021-06-01 2024-02-13 Arm Limited Sending a request to agents coupled to an interconnect
TWI813316B (zh) * 2022-05-31 2023-08-21 瑞昱半導體股份有限公司 多端資料存取控制方法與資料存取系統
GB2620198A (en) * 2022-07-01 2024-01-03 Advanced Risc Mach Ltd Coherency control

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6665730B1 (en) * 1999-12-16 2003-12-16 At&T Corp. Method and apparatus for transaction routing in a connection-oriented packet network using a non-fault-tolerant directory server
CN1174584C (zh) * 2002-08-13 2004-11-03 北京长城鼎兴网络通信技术有限公司 一种利用串行总线实现多点通信的方法
WO2007004159A2 (en) * 2005-06-30 2007-01-11 Utstarcom, Inc. Method and apparatus for bandwidth efficient and bounded latency packet buffering
CN101122893A (zh) * 2006-08-08 2008-02-13 Arm有限公司 用于数据处理设备的互连逻辑

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6075740A (en) 1998-10-27 2000-06-13 Monolithic System Technology, Inc. Method and apparatus for increasing the time available for refresh for 1-t SRAM compatible devices
US6928520B2 (en) 2000-04-30 2005-08-09 Hewlett-Packard Development Company, L.P. Memory controller that provides memory line caching and memory transaction coherency by using at least one memory controller agent
US20030020397A1 (en) * 2001-06-28 2003-01-30 Lite Array Inc. Enhancement of luminance and life in electroluminescent devices
GB0122401D0 (en) 2001-09-17 2001-11-07 Ttp Communications Ltd Interfacing processors with external memory
ITRM20020281A1 (it) 2002-05-20 2003-11-20 Micron Technology Inc Metodo ed apparecchiatura per accesso rapido di memorie.
US6981088B2 (en) 2003-03-26 2005-12-27 Lsi Logic Corporation System and method of transferring data words between master and slave devices
US7159084B1 (en) 2003-12-30 2007-01-02 Altera Corporation Memory controller
US7475168B2 (en) 2004-03-11 2009-01-06 Sonics, Inc. Various methods and apparatus for width and burst conversion
US7543088B2 (en) 2004-03-11 2009-06-02 Sonics, Inc. Various methods and apparatuses for width and burst conversion
US20050253858A1 (en) 2004-05-14 2005-11-17 Takahide Ohkami Memory control system and method in which prefetch buffers are assigned uniquely to multiple burst streams
US7984202B2 (en) * 2007-06-01 2011-07-19 Qualcomm Incorporated Device directed memory barriers
GB2450148A (en) * 2007-06-14 2008-12-17 Advanced Risc Mach Ltd Controlling write transactions between initiators and recipients via interconnect logic
US8438320B2 (en) 2007-06-25 2013-05-07 Sonics, Inc. Various methods and apparatus for address tiling and channel interleaving throughout the integrated system
CN102077172A (zh) * 2008-07-02 2011-05-25 Nxp股份有限公司 使用运行时间任务调度的多处理器电路
GB2473505B (en) * 2009-09-15 2016-09-14 Advanced Risc Mach Ltd A data processing apparatus and a method for setting priority levels for transactions
GB2474446A (en) * 2009-10-13 2011-04-20 Advanced Risc Mach Ltd Barrier requests to maintain transaction order in an interconnect with multiple paths
US8972995B2 (en) 2010-08-06 2015-03-03 Sonics, Inc. Apparatus and methods to concurrently perform per-thread as well as per-tag memory access scheduling within a thread and across two or more threads
US8656078B2 (en) * 2011-05-09 2014-02-18 Arm Limited Transaction identifier expansion circuitry and method of operation of such circuitry
US20130318308A1 (en) * 2012-05-24 2013-11-28 Sonics, Inc. Scalable cache coherence for a network on a chip

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6665730B1 (en) * 1999-12-16 2003-12-16 At&T Corp. Method and apparatus for transaction routing in a connection-oriented packet network using a non-fault-tolerant directory server
CN1174584C (zh) * 2002-08-13 2004-11-03 北京长城鼎兴网络通信技术有限公司 一种利用串行总线实现多点通信的方法
WO2007004159A2 (en) * 2005-06-30 2007-01-11 Utstarcom, Inc. Method and apparatus for bandwidth efficient and bounded latency packet buffering
CN101122893A (zh) * 2006-08-08 2008-02-13 Arm有限公司 用于数据处理设备的互连逻辑

Also Published As

Publication number Publication date
US20150199290A1 (en) 2015-07-16
GB2522057A (en) 2015-07-15
GB2522057B (en) 2021-02-24
EP3095037B1 (en) 2018-08-08
CN105900076A (zh) 2016-08-24
IL245841B (en) 2018-12-31
KR20160107233A (ko) 2016-09-13
KR102319809B1 (ko) 2021-11-01
JP2017504897A (ja) 2017-02-09
US9830294B2 (en) 2017-11-28
JP6574779B2 (ja) 2019-09-11
IL245841A0 (en) 2016-07-31
GB201400503D0 (en) 2014-02-26
CN105900076B (zh) 2019-12-06
EP3095037A1 (en) 2016-11-23
TW201539196A (zh) 2015-10-16
WO2015104535A1 (en) 2015-07-16

Similar Documents

Publication Publication Date Title
TWI651620B (zh) 用於處理多個交易之資料處理系統及方法
US11720248B2 (en) Configurable cache for multi-endpoint heterogeneous coherent system
US7600078B1 (en) Speculatively performing read transactions
US7917699B2 (en) Apparatus and method for controlling the exclusivity mode of a level-two cache
TWI463318B (zh) 快取一致性處理系統、快取記憶體,及其方法
IE990755A1 (en) Non-uniform memory access (numa) data processing system that speculatively issues requests on a node interconnect
US10079916B2 (en) Register files for I/O packet compression
US10198357B2 (en) Coherent interconnect for managing snoop operation and data processing apparatus including the same
US20130054896A1 (en) System memory controller having a cache
KR20160099722A (ko) 캐시-코히어런시를 갖춘 집적 회로들
US7685373B2 (en) Selective snooping by snoop masters to locate updated data
KR20210041485A (ko) 데이터 신호 경로 및 태그 신호 경로를 갖는 메모리 인터페이스
US7797495B1 (en) Distributed directory cache
US7035981B1 (en) Asynchronous input/output cache having reduced latency
US10133671B2 (en) Proxy cache conditional allocation