TWI601065B - 多cpu系統以及具有該多cpu系統的計算系統 - Google Patents

多cpu系統以及具有該多cpu系統的計算系統 Download PDF

Info

Publication number
TWI601065B
TWI601065B TW102114736A TW102114736A TWI601065B TW I601065 B TWI601065 B TW I601065B TW 102114736 A TW102114736 A TW 102114736A TW 102114736 A TW102114736 A TW 102114736A TW I601065 B TWI601065 B TW I601065B
Authority
TW
Taiwan
Prior art keywords
cache
cpu
data processing
power
controller
Prior art date
Application number
TW102114736A
Other languages
English (en)
Other versions
TW201403465A (zh
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 TW201403465A publication Critical patent/TW201403465A/zh
Application granted granted Critical
Publication of TWI601065B publication Critical patent/TWI601065B/zh

Links

Classifications

    • 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/0811Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • 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/0833Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means in combination with broadcast means (e.g. for invalidation or 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/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
    • 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/1028Power efficiency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/28Using a specific disk cache architecture
    • G06F2212/283Plural cache memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/62Details of cache specific to multiprocessor cache arrangements
    • 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
    • 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
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

多CPU系統以及具有該多CPU系統的計算系統
本發明是有關於一種多中央處理單元(Central Processing Unit,CPU)系統,且特別是有關於一種包括被兩個CPU共享L2快取(Level-2 Cache)的多CPU系統以及具此多CPU系統的計算系統。
隨著CPU運作頻率越高,則此CPU就越耗費電源。動態電壓頻率調整(Dynamic Frequency and Voltage Scaling,DVFS)是一種用於最佳化CPU運作頻率與電源消耗的技術。
在多CPU系統中,共享CPU的資源,例如,快取,可增加晶片密度並減少電源消耗,然而,隨之帶來的可能是需要增加的處理程序及運算,例如,維持快取連貫(cache coherence)。
例如,當一快取被多個CPU所共享時,當共享快取的使用從一個CPU被切換至另一CPU時,資料刷新與偵聽(data flushing and snooping)是需要的。額外的資料刷新與偵聽會增加處 理並影響多CPU系統的整體效能。
根據本發明概念的一實施例,一種多CPU資料處理系統被提供。此多CPU資料處理系統包括多CPU處理器,其中此多CPU處理器包括第一CPU與第二CPU。第一CPU至少配置有第一核心、第一L2快取與用以存取第一L2快取的第一快取控制器(Cache controller)。第二CPU至少配置有第二核心和用以存取第二L2快取的第二快取控制器,其中第一L2快取是從第二L2快取的共享部份來配置。
在本發明概念的一實施例中,此系統更包括一共享電路,其用以根據選擇訊號從第一快取控制器或從第二快取控制器輸入資料到第一L2快取,其中,前述共享電路包括用來選擇輸入到第一L2快取的資料的多工器,以及用以根據選擇訊號將從第一L2快取讀取的資料遞送輸出到第一快取控制器或第二快取控制器的解多工器。
在本發明概念的一實施例中,此系統更包括包括一電源管理單元,其用以輸出控制訊號以獨立地控制第一CPU、第二CPU和第一L2快取的開啟與關閉,其中,電源管理單元更用以選擇性地切換不包括第一L2快取的第一CPU和第二CPU之間的電源,同時維持供應電源給第一L2快取。
在本發明概念的一實施例中,第一L2快取和共享電路是 內嵌在第一系統單晶片(SoC),而不包括第一L2快取的第一CPU則內嵌在第二SoC。
在本發明概念的一實施例中,不包括第一L2快取的第一CPU是實作在第一電源域中,不包括第一L2快取的第二CPU是實作在第二電源域中,而第一L2快取是實作在第三電源域中,其中每個電源域是可獨立控制的。
在本發明概念的一實施例中,上述系統更包括介面區塊,其用以將多CPU處理器和記憶體裝置、顯示器與無線介面區塊來界接。
在本發明概念的一實施例中,上述系統是實作在智慧型手機、桌上型電腦和平板電腦的其中之一。
根據本發明概念的一實施例,一種多CPU資料處理系統被提供。此多CPU資料處理系統包括第一CPU與第二CPU。第一CPU至少配置第一核心、第一L2快取以及用以從第一L2快取中存取資料的第一快取控制器。第二CPU至少配置第二核心與用以從第二L2快取中存取資料的第二快取控制器,其中第一L2快取是從第二L2快取的共享部份來配置,其中不包括第一L2快取的第一CPU是實作在第一晶粒(die)中而第二CPU是實作在第二晶粒中。
在本發明概念的一實施例中,上述系統進一步包括一共享電路,其用以根據選擇訊號訊號從第一L2快取輸出資料到第一 L2快取控制器或第二L2快取控制器,其中,共享電路是實作在第二晶粒中,其中用於共享電路的控制訊號線包括連接在第一晶粒和第二晶粒之間的矽通孔(Through Silicon Vias,TSV)的共享電路的控制訊號線,並且由第一CPU對第一L2快取所進行的資料存取是透過TSV來完成。
在本發明概念的一實施例中,L1快取和L2快取是實作在共用基板(common substrate)上,而且至少有一條位址線是同時共用於L1快取與和L2快取。
在本發明概念的一實施例中,上述系統包括電源管理單元,其用以選擇性地施予電源至第一和第二電源域,同時維持第三電源域在電源開啟狀態。
根據本發明概念的一實施例,一種使用多CPU資料處理器來處理資料的方法被提出。此多CPU資料處理器包括:由第一CPU透過第一快取控制器存取第一L2快取;以及由第二CPU透過第二快取控制器存取第二L2快取,其中,第一L2快取是從第二L2快取的共享部份被配置。
在本發明的一實施例中,上述方法包括根據選擇訊號,多路傳輸從第一CPU或第二CPU輸入到第二L2快取的資料。
在本發明概念的一實施例中,上述方法在無第一L2取的刷新與偵聽下,從第一CPU切換快取存取運作至第二CPU。
在本發明概念的一實施例中,上述方法更包括從第一 CPU切換快取存取運作至第二CPU且在第二L2快取的非共享部分上執行刷新與偵聽。
在本發明概念的一實施例中,上述方法更包括藉著共用位址線存取L1快取或L2快取。
在本發明概念的一實施例中,上述方法更包括將處理器與記憶裝置、顯示器和無線介面區塊來界接。
根據本發明概念的一實施例,一種可攜式計算裝置被提供。此可攜式計算裝置包括:第一CPU與第二CPU。第一CPU至少配置第一核心、第一L2快取以及用以存取第一L2快取的第一快取控制器。第二CPU至少配置第二核心與用以存取第二L2快取的第二快取控制器,其中第一L2快取是從第二L2快取的共享部份中。
在本發明概念的一實施例中,上述裝置更包括無線資料收發器,其用以無線地傳送和接收資料。
根據本發明概念的一實施例,一種處理器被提供。此處理器包括:第一CPU、第二CPU、多工器與解多工器。第一CPU至少配置第一核心、第一L2快取以及用以存取第一L2快取的第一快取控制器。第二CPU至少配置第二核心與用以存取第二L2快取的第二快取控制器。在儲存容量上第二L2快取是大於第一L2快取。多工器用以根據選擇訊號透過第一快取控制器從第一核心傳遞資料到第一L2快取或透過第二快取控制器從第二核心來 傳遞資料到第一L2快取。解多工器用以根據選擇訊號透過透過第一快取控制器從第一L2快取傳遞資料至第一核心或者透過第二快取控制器從第一L2快取傳遞資料至第二核心,其中,第一L2快取從第二L2快取的共享部份來配置,且L1快取和L2快取被實作在共用基板上。
根據本發明概念的一實施例,一種多CPU資料處理系統被提供。此多CPU資料處理系統包括:多CPU處理器。此多CPU處理器包括第一CPU、第二CPU、電源管理單元與記憶體控制器(memory controller)。第一CPU至少配置第一核心、第一L2快取以及用以存取第一L2快取的第一快取控制器。第二CPU至少配置第二核心與用以存取第二L2快取的第二快取控制器,其中第一L2快取是從第二L2快取的共享部份來配置。電源管理單元用以選擇性地供應電源給第一CPU、第二CPU和第一L2快取的至少其中之一。記憶控制器用以來控制透過資料匯流排(data bus)至與從多CPU處理器的記憶體存取。
基於上述,為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
100‧‧‧多CPU系統
101‧‧‧系統匯流排
103‧‧‧多CPU
105‧‧‧記憶體控制器
110‧‧‧第一CPU
111、113‧‧‧第一CPU核心
115‧‧‧第一L2快取控制器
117‧‧‧第一介面區塊
120‧‧‧第二CPU
121、123‧‧‧第二CPU核心
125‧‧‧第二L2快取控制器
127‧‧‧第二介面區塊
130、140‧‧‧L2快取
133、143‧‧‧第一L2快取
131、141‧‧‧第二L2快取
150‧‧‧電源管理單元
160‧‧‧第一選擇器
161‧‧‧第二選擇器
210‧‧‧匯流排
220、330‧‧‧記憶體
300‧‧‧電腦平台
320‧‧‧介面區塊
340‧‧‧無線介面區塊
350‧‧‧顯示器
S210、S220、S230、S240、S250‧‧‧CPU調整步驟
S310、S320‧‧‧多CPU系統製造方法的步驟
400‧‧‧計算系統
圖1A是根據本發明概念的一範例實施例所繪示的多CPU系統的概要方塊圖。
圖1B是包括圖1A的多CPU系統的計算系統的方塊圖。
圖2是整合至圖1A的第二CPU的L2快取的概要方塊圖。
圖3是繪示圖1A的多CPU的電源域的方塊圖。
圖4A和圖4B繪示圖1A的多CPU的CPU調整的範例實施例。
圖5是根據本發明概念的範例實施例的CPU調整過程的流程圖。
圖6A、6B、6C和6D是繪示圖1A的多CPU的CPU調整的另一個範例實施例。
圖7是根據本發明概念的範例實施例的另一個CPU調整過程的流程圖。
圖8A與8B是根據本發明概念的另一個範例實施例的多CPU系統的概要方塊圖。
圖9是根據本發明概念的一個範例實施例的基板組裝的方塊圖。
圖10是根據本發明概念的一個範例實施例的電腦平台。
圖11是根據本發明概念的一個範例實施例的包括多CPU系統的計算系統。
圖12是根據本發明概念的一個範例實施例的製造多CPU系統的方法的流程圖。
圖1A是根據本發明概念的一範例實施例的多CPU系統的概要方塊圖。
參照圖1A,多CPU系統100包括系統匯流排101,多CPU103和記憶體控制器105。於此,多CPU系統100可實作在系統單晶片(system on chip,SoC)中。例如,多CPU系統100可藉著使用單一遮罩來實作。
多CPU103可包括第一CPU110和第二CPU120。根據一範例實施例,多CPU103更可包括電源管理單元(PMU)150。
為了解說方便,包括兩個CPU110和120的多CPU103被繪示在圖1A中。然而,本發明概念可被應用到超過兩個CPU的多CPU。
第一CPU110可包括至少一第一CPU核心111與113和第一L2快取控制器(L2 cache controller)115。據此,第一CPU110可以多核心CPU來被實作。此至少一第一CPU核心111和113可包括L1快取(未繪示),例如,指令快取(instruction cache)和資料快取(data cache)。此至少一第一CPU核心111和113可更包括週邊電路,其用以和第一L2快取控制器115通訊。
第一L2快取控制器115更可包括透過第一通訊通道CH1和系統匯流排(system bus)101界接的第一介面區塊117第一通訊通道。
第二CPU 120可包括至少一第二CPU核心121與123、 第二L2快取控制器125和至少一L2快取130與140。據此,第二CPU 120可以多核心CPU來實作。至少一第二CPU核心121和123可能包括L1快取(未繪示),例如,指令快取和資料快取。 至少一第二CPU核心121與123可更包括用以與第二L2快取控制器125通訊的週邊電路。
第二L2快取控制器125可包括透過第二通訊通道CH2與系統匯流排101界接的第二介面區塊127第二通訊通道。
在此,第一L2快取控制器115和第二L2快取控制器125可以個別的結構來實作、獨立的運作並且分別藉著通訊通道CH1與CH2來和系統匯流排101通訊,。
每一第一CPU 110和第二CPU 120除了對應的L1快取之外也包括對應的L2快取。為了描繪目前的實施例,第一群組元件,如第一CPU 110、第一L2快取控制器115和第一L2快取會被參考為小群組-第一CPU 110、第一L2快取控制器115等等。 第二群組元件,如第二CPU 120、第二L2快取控制器125和第二L2快取會被參考為大群組-第二CPU 120、第二L2快取控制器125等等。第一CPU 110包括L2快取133和143。第二CPU 120包括L2快取130和140。根據如圖1A所示之本發明概念的實施例,第一(小)L2快取133與143是功能性地同時由第一CPU 110和第二CPU 120共享。換句話說,第一L2快取133和143可被第一CPU 110或第二CPU來存取。在此,”存取”意指用於寫運作或讀運作所需的運作。再者,第一(小)L2快取133和143是第二 (大)L2快取131和141的一部分。例如,小L2快取可從大L2快取的一部分來形成,例如,大L2快取可以是2MB的記憶體裝置,而小L2快取是由大L2快取的25%部份(具512KB容量)來形成,而此大L2快取的25%部份是由小與第二CPU來共享。
第二L2快取130和140的非共享部分131和141(例如,2MB記體裝置中的1.5MB)可僅被第二CPU 120透過第二L2快取控制器125來存取。
第二L2快取控制器125可存取整個第二L2快取130與140,其包括共享的L2快取133和143和非共享的L2快取131和141。然而,共享的L2快取133和143無法同時被第一L2快取控制器115和第二L2快取控制器125來存取。
電源管理單元PMU 150用以根據從第一CPU 110中輸出的第一指向訊號IND1和第二CPU 120輸出的第二指向訊號IND2的至少其中之一,來使用控制訊號CTR1和CTR2及/或選擇訊號SEL來選擇性地供應電源到第一CPU 110及/或第二CPU 120。
每一指向訊號IND1和IND2可經由系統匯流排101供應到PMU 150。訊號SEL、CTR1和CTR2可包括一或多個控制模式訊號。
基於第一控制訊號CTR1,第一CPU 110可藉著電源域獨立地控制電源供應及/或重置。基於第二控制訊號CTR2,第二CPU 120可藉著電源域獨立地控制電源供應及/或重置。
此外,第一CPU 110和第二CPU120可控制CPU調整(scaling),即,在CPU110和120之間切換,以回應選擇訊號SEL。
雖然如圖1A所顯示的結構及其連接中的運作是以與L2快取的連接來被描述,此領域熟知技藝者可容易地了解此相同的結構和操作可應用到不同層級的快取,如,L3快取。
例如,實作在第二CPU 120中的功能區塊是被CPU 110和CPU 120共享,例如,L2快取或L3快取。當此功能區塊是L3快取時,每一L2快取控制器可被L3快取控制器來取代。
每一CPU 110和120可透過交流通道CH1和CH2以及系統匯流排101來與記憶體控制器105通訊。記憶體控制器105可存取記憶體,例如,連接到多CPU系統的主記憶體。
為了方便解釋,每一元件101和105在圖1A中被繪示在多CPU 103之外,然而,每一元件101和105可被實作在多CPU 103之內。
圖1B是包括繪示在圖1A中的多CPU系統的計算系統的方塊圖。
參照圖1B,計算系統可包括多CPU系統100和記憶體107。如上所述,記憶體控制器105可控制或界接在多CPU系統100和記憶體107間的資料通訊。
圖2是根據本發明概念的實施例的共享L2快取和共享電路的方塊圖。
如圖1A和2中所示,L2快取130包括非共享的專用區域131和共享區域133。此外,L2快取140包括專用區域141和共享區域143。因為L2快取130和140本質上具有相同的結構,L2快取130的描述可同等地適用於L2快取140。因共享區域133或143是從L2快取130或140的一部分中來被配置,共享區域也分享至少一條L2快取130或140的位址線。
如上所述,專用區域131可僅被第二L2快取控制器125來存取,並且,共享區域133可基於選擇訊號被第一L2快取控制器115和第二L2快取控制器125的其中之一來選擇性地存取。
共享電路包括第一選擇器160和第二選擇器161。根據一實施例,共享電路被配置在第二CPU 120之內但在共享區域133的外面。根據另一實施例,第一選擇器160和第二選擇器161可被實作在共享區域133之內。根據本實施例,第一選擇器160是以多工器來實作,而第二選擇器161是以解多工器來實作。根據另一實施例,共享電路可包括第一選擇器160而非第二選擇器161。
當第一L2快取控制器115試著去存取共享區域133時,第一選擇器160會傳送從第一L2快取控制器115輸出的第一存取訊號ACC1到共享區域133的輸入埠IN1,以回應選擇訊號SEL。
對於第一(小)群組的寫入運作來說,第一L2快取控制器115會寫資料進共享區域133,第一存取訊號ACC1(例如,資料以 及將此資料寫到記憶體單元陣列133-1所需要的控制訊號)會透過第一選擇器160被傳送到第一輸入埠IN1。
對於第一群組的讀取運作來說,第一L2快取控制器115會讀取儲存在共享區域133中的資料,第一存取訊號ACC1(例如,從記憶體單元陣列133-1讀取資料所需的控制訊號)會透過第一選擇器160被傳送到第一輸入埠IN1,並且從共享區域133的第一輸出埠OUT1輸出的資料會透過第二選擇器161被傳送到第一L2快取控制器115。
在一不包括第二選擇器161的實施例中,從第一輸出埠OUT1的輸出資料可被直接傳送到第一L2快取控制器115。
為了藉第二(大)群組來存取共享區域133,例如,L2快取控制器125,第一選擇器160會傳送從第二L2快取控制器125所輸出的第二存取訊號ACC2至第一輸入埠IN1,以回應選擇訊號SEL。
例如,當第二L2快取控制器125將資料寫入在共享區域133中時,第二存取訊號ACC2(例如,資料以及將此資料寫入至記憶體單元陣列133-1所需的控制訊號)會透過第二選擇器161被傳送到第一輸入埠IN1。
當第二L2快取控制器125讀取儲存在共享區域133的資料時,第二存取訊號ACC2(例如,從記憶體單元陣列133-1讀取資料所需的控制訊號)會透過第二選擇器161傳送至第一輸入埠 OUT1,且透過第一輸出埠OUT1輸出的資料會透過第二選擇器161被傳送到第二L2快取控制器125。
在一不包括第二選擇器161的實施例中,從第一輸出埠OUT1輸出的資料可被直接傳送到第二L2快取控制器125。
當第二L2快取控制器125將資料寫到專用區域131中時,從第二L2快取控制器125輸出的第三存取訊號ACC3(例如,資料以及將此資料寫入到記憶體單元陣列133-1所需的控制訊號)會被輸入到專用區域131的第二輸入埠IN2。
當第二L2快取控制器125讀取儲存在專用區域131中的資料時,第三存取訊號ACC3(例如,從記憶體單元陣列133-1讀取資料所需的控制訊號)會被直接傳送到第二輸入埠IN2,並且從專用區域131的第二輸出埠OUT2輸出的資料會被直接傳送到第二L2快取控制器125。
可了解的是,共享電路提供一種結構以防止第一或第二L2快取控制器對共享的L2快取進行錯誤的資料存取。
圖3是來說明在圖1A中所繪示有電源域的分配與控制的多CPU的方塊圖。參照圖1A和3,第一CPU 110包括電源域111、113和115。每一第一控制訊號CTR1-1和CTR1-3(統稱"CTR1")被供應到每一電源域111、113和115。
根據每一第一控制訊號CTR1-1、CTR1-2和CTR1-3,供應到每一電源域111、113和115及/或每一電源域111、113和115的重置的電源可被獨立地控制。此外,當第一介面區塊117被定 義成額外的電源域時,額外的控制訊號可被供應到第一介面區塊117。額外的控制訊號可被包括在第一控制訊號CTR1中。
第二CPU 120包括電源域121、123、125、131、133、141和143。每一第二控制訊號CTR2-1到CTR2-5(統稱"CTR2")被供應到每一電源域121、125、123、131和141。
根據每一第二控制訊號CTR2-1到CTR2-5,供應到每個對應的電源域121、125、123、131和141及/或每一電源域的重置的電源可被獨立地控制。
此外,當第二介面區塊127被定義成額外的電源域時,額外的控制訊號可被供應到第二介面區塊127。額外的控制訊號可被包括在第二控制訊號CTR2中。
共享L2快取133和143的定義域是可藉著控制訊號CTR3-1和CTR3-2而被獨立地控制。根據另一實施例,CTR3-1和CTR3-2的訊號可以被整合到CTR1或CTR2。
圖4A和圖4B根據本發明之一範例實施例是顯示從第一CPU 110到第二CPU 120的CPU調整過程。
在具有不同大小和能力之CPU的多CPU資料處理系統中,在CPU之間調整使用可以達到最高效能。例如,在低工作負荷時,第一CPU 110可被用來當成電源驅動CPU,其運作在最高的每秒每毫瓦百萬指令集來最佳化電源使用。在高工作負荷時,第二CPU 120可被用來當成效能驅動CPU,其即使在較低的每秒每毫瓦百萬指令之下,其運最仍可達到高效能。
在此,CPU調整意指為在相同的運作電壓下,從第一CPU 110切換到第二CPU 120,或者從第二CPU 120切換到第一CPU 110。也就是說,CPU調整可以改變在電源消耗上的負載效能能力,例如,每秒每毫瓦,或在不改變電壓之下改變執行一CPU指令所需的電能量。
參照圖4A,第一CPU 110被顯示於運作上,隨著電源域111、113和115(若需要就包括117)處於電源開啟狀態,而第二CPU 120的每一電源域121、125、131和141(若需要就包括127)處於電源關閉狀態。服務共享L2快取的電源域133和143也是在電源開啟狀態。第一L2快取控制器115可透過每一選擇器160和161來存取至少一共享區域133和143。
當第一CPU 110的負載增加時,可能就需要調整到第二CPU 120。當從第一CPU調整到第二CPU時,第一CPU 110的第一核心111會透過第一通訊通道CH1與系統匯流排101傳送第一指示訊號IND1到PMU 150,以執行CPU調整或從第一CPU切換到第二CPU 120。
PMU 150會輸出第一控制訊號CTR1、第二控制訊號CTR2和選擇訊號SEL,以回應第一指示訊號IND1。據此,施予到每一電源域111、113和115的電源會被關閉,以回應每一個第一控制訊號CTR1並且第一CPU 110會停止目前工作。
此時,施予到第二CPU 120的每一電源域121、123、125、131和141的電源會被開啟,且第二CPU 120開始工作的運作, 以回應第二控制訊號CTR2-1到CTR2-5。
至少一共享區域133和143會被用作為第二CPU 120的L2快取130或140的子集。上述從第一CPU 110到第二CPU 120的調整過程並不需要偵聽運作。
再者,第二CPU 120不需要為了L2快取130或140執行冷啟動。至少一個L2快取130和140的至少一個專用區域131和141會隨著電源域121、123和125而處於READY狀態。
在CPU從第一CPU 110到第二CPU 120的CPU調整過程中,供應到至少一個共享區域133和143的電源是保持在啟動狀態。此外,在CPU從第一CPU 110到第二CPU 120的CPU調整過程中,每一個選擇器160和161會被切換以使第二L2快取快取控制器125透過每一選擇器160和161可以存取至少一個共享區域133和143。
據此,根據本發明概念的實施例之包括第二CPU 120的結構可用於在CPU調整或切換之後立即最佳化效能。
如圖4B所繪示,在CPU從第一CPU 110調整到第二CPU 120之後,第一CPU 110的每一電源域是在電源關閉狀態POWER OFF,而第二CPU 120的每一電源域121、125、131和141是在電源開啟狀態POWER ON。供應到共享區域133和143的電源是保持啟動。
在多CPU系統100不支援偵聽運作的例子中,第一CPU 110會將儲存在至少一個共享區域133和143的資料透過通道 CH1、匯流排101和記憶體控制器105(例如,不包括錯誤更正碼(ECC)的資料)刷新到記憶體107。此後,第二CPU 120可透過記憶體控制器105、匯流排101和通道CH2讀取存在記憶體107中的資料。第二CPU120可將ECC加到所讀取的資料中,且將加入ECC的資料存在至少一個共享L2快取133和143中。
圖5是解釋CPU調整過程的流程圖。參照圖1A到5,由第一CPU 110到第二CPU 120的CPU調整由第一CPU 110發出一調整訊號IND1來起始(步驟S110);PMU 150會關閉第一CPU 110的電源域,開啟第二CPU 120的電源域,但維持共享L2快取133和143的電源域(步驟S120);且第一CPU 110的運作會被停止,而第二CPU 120的運作會在無偵聽運作下被啟動(步驟S130)。
根據一範例實施例,當第一CPU 110傳送存在至少一個共享區域133和143的資料到記憶體107時,第二CPU 120視需要讀取存在記憶體107中的資料。
圖6A到圖6D繪示從第二CPU 120到第一CPU 110的CPU調整過程。
參照圖1A到3和6A到6D,當第二CPU 120如圖6A所示運作時,第一CPU 110的每一電源域111、113和115是在電源關閉狀態POWER OFF,而第二CPU 120的每一電源域121、123、125、131、133、141和143是在電源開啟狀態POWER ON。在此,第二L2快取控制器125可存取共享區域133和143兩者或其一。
對於CPU從第二CPU 120到第一CPU 110的CPU調整 來說,第二CPU 120的第一核心121會透過第二通訊通道CH2和系統匯流排101輸出第二指示訊號IND2到PMU 150。
PMU 150會輸出第一控制訊號CTR1、第二控制訊號CTR2和選擇訊號SEL,以回應第二指示訊號IND2。
每一選擇器160和161會形成在至少一個共享區域133與143和第一L1快取控制器115之間的通訊通道,而且,以回應選擇訊號SEL。
如圖6B所繪示,第一CPU 110的每一電源域111到115會變成電源開啟狀態POWER ON,以回應每一第一控制訊號CTR1,並且第二CPU 120的每一電源域121到125、130和140會保持在電源開啟狀態POWER ON,以回應每一第二控制訊號CTR2。對共享L2快取133和143的電源域會保持在第三控制訊號CTR3。
在此,第二CPU 120的電源域121到125的其中之一的資料會被更新到至少一個L2快取130和140,而第二CPU 120會在至少一專用區域131和141上執行刷新運作,同時透過第二通訊通道CH2執行偵聽運作。來自於從刷新運作的資料會透過通道CH2、匯流排101和記憶體控制器105被傳送到記憶體107。
如圖6C所繪示,第二CPU 120的每一電源域121和123會變成在電源關閉狀態POWER OFF以回應在第二控制訊號CTR2之中的每一對應控制訊號,同時執行刷新運作。
當刷新運作完成時,第二CPU 120的每一電源域125、 131和141會變成在電源關閉狀態POWER OFF,以回應在第二控制訊號CTR2之中的每一對應控制訊號,如圖6D所示。據此,當CPU調整完成時,第一CPU 110的第一L2快取控制器115可透過每一選擇器160和161存取至少一個共享區域133和143。
如圖6A到圖6D所繪示,供應到共享區域133和143的電源會在CPU調整時以控制訊號CTR3保持開啟。
此外,在CPU調整期間,至少一共享區域133和143不會透過第二通訊通道CH2執行偵聽運作。也就是說,至少一個共享區域133和143是物理上地被每一第一CPU 110和第二CPU120共享,所以執行偵聽運作的區域可被減少。
圖7是解釋繪示在圖6的CPU調整的流程圖。參考圖6和7,第二CPU 120藉由發出指向訊號IND2來初始調整運作(步驟S210);PMU 150開啟第一CPU 110的定義域(步驟S220);第二CPU 120只在至少一個專用區域131和141上執行偵聽運作,而供應到CPU核心121和131的電源會被關閉(步驟S230)。當偵聽被完成時,供應到定義域125、127、131和141(第二CPU 120的其餘部份)的電源會被關閉(步驟S240);並且運作目標CPU會從第二CPU 120改變到第一CPU 110(步驟S250)。
圖8是根據本發明另一實施例的多CPU系統的概要方塊圖。參照圖8,多CPU系統包括第一CPU 110-1和第二CPU 120-1。 圖8A繪示多CPU系統的前視圖,而圖8B繪示多CPU系統的平面圖。
如圖8A和8B所繪示,第一CPU 110-1是堆疊在第二CPU 120-1上。第一CPU 110-1和第二CPU 120-1可被實施在不同的晶片或晶粒中。共享L2快取區域133和143是實作在第二CPU 120-1中。此共享區域是可被第一CPU 110-1經由電子通道(例如,經由"矽"通道,TSVs)存取。根據本實施例,實作第一CPU 110之元件的晶片110-1並不包括其本身的L2快取。取而代之的是,第二CPU 120的整個L2快取130和140會被配置在晶片120-1中,而實體配置在晶片120-1中的L2快取的共享部分(133和143)會被第一CPU 110和第二CPU 120來使用。
第一CPU 110-1的結構包括圖1A的第一CPU 110的結構,而第二CPU 120-1的結構包括圖1A的第二CPU 120的結構。 在此,對應圖1A中的PMU 150的PMU也可被實作在第二CPU 120-1中。在此實施例,與PMU相關的控制訊號,例如,CTR1,也可藉著其中一個TSV來連接。
圖9是根據本發明概念之一範例實施例的基板組裝的方塊圖。參考圖9,基板組裝200包括第一CPU 110-2、第二CPU 120-2、至少一個共享區域133和143、PMU 150、匯流排210以及記憶體220。
參考圖1A、8A、8B和9,至少一個共享區域133和143可被分開從第一CPU 110-2和第二CPU 120-2來實作。
除了至少一個共享區域133和143之外,圖1A的第一CPU 110具有本質上相同於圖9的第一CPU 110-2的結構和運作。
第一L2快取控制器115或第一介面區塊117可透過第一通訊通道CH1和匯流排210通訊。第二L2快取控制器125或第二介面區塊127可透過第二通訊通道CH2和匯流排210通訊。
每一第一通訊通道CH1和第二通訊通道CH2可被實作在電子式通訊通道或光纖通訊通道。每一L2快取控制器115和125可選擇性地存取至少一個共享區域133和143。
圖10是根據本發明概念的一個範例實施例的電腦平台。 參考圖10,電腦平台300可被用在像是計算系統的電子裝置中。 此電子裝置可被實作在個人電腦(PC)、可攜式裝置、行動裝置或數位電視中。
可攜式裝置可被實作在筆記型電腦或平板電腦中。行動裝置可實作在手機、智慧型手機、個人數位助理(PDA)、企業數位助理(EDA)、數位相機、數位攝影機、可攜式多媒體播放器(PMP)、個人導覽裝置或可攜式導覽裝置、掌上遊戲機或電子書中。
電腦平台300包括多CPU系統100、介面區塊320和記憶體330。根據一範例實施例,電腦平台300更可包括至少一無線介面區塊340或顯示器350。
多CPU系統100可經由介面區塊320和記憶體330、無線介面區塊340或顯示器350通訊。
介面區塊320包括一或多個可執行各種介面控制功能的電路區塊。控制功能包括記憶體存取控制、圖形控制、輸入/輸出介面控制或無線網路存取控制。
每一電路區塊可被實作在一個額外獨立晶片中、在多CPU系統100的一部分中或在多CPU系統100內。
記憶體330可透過介面區塊320與多CPU系統100來傳送或接收資料。
無線介面區塊340可透過天線將電腦平台300連接到無線網路,例如,行動通訊網路或無線區域網路(WLAN)。
圖11是根據本發明概念的範例實施例所繪示的包括多CPU系統的計算系統的範例實施例。參考圖11,計算系統400可被實作在個人電腦、資料伺服器、筆記型電腦或可攜式裝置。
計算系統400可包括多CPU系統100、電源420、記憶體430、輸入/輸出埠440、擴充卡450、網路裝置460和顯示器470。 根據範例實施例,計算系統400可再包括相機模組480。
多CPU系統100可控制元件420到480的至少其中之一的運作。電源420可提供運作電壓至元件103和430到480的至少其中之一。
記憶體430可被實作在揮發記憶體或非揮發記憶體中。 根據範例實施例,控制對記憶體430的資料存取運作,例如,讀出運作、寫入運作(或程式化運作)或刪除運作的記憶體控制器可被整合或內建在多CPU系統100內。根據另一範例實施例,記憶體控制器可另外地實作在多CPU系統100和記憶體430之間。
輸入/輸出埠440意指可傳送資料到計算系統400或將從計算系統400輸出的資料傳送到外部裝置的埠。
例如:輸入/輸出埠440可包括至少一個連接點選裝置(例如電腦滑鼠)的埠、一個連接印表機的埠和一個連接USB裝置的埠。
擴充卡450可以安全數位(SD)卡或多媒體卡(MMC)來實作。根據範例實施例,擴充卡450可以是用戶識別卡(SIM)或全球用戶識別卡(USIM)。
網路裝置460可指連接計算系統400到有線或無線網路的裝置。顯示器470可顯示從記憶體430、輸入/輸出埠440、擴充卡450或網路裝置460輸出的資料。
相機模組480是指可將光學影像轉換成電子影像的模組。據此,從相機模組480輸出的電子影像可被儲存在記憶體430或擴充卡450中。此外,根據多CPU系統100的控制,從相機模組480輸出的電子影像可透過顯示器470來被顯示。
多CPU系統100是被繪示成在圖10與圖11中的計算系統300或400的一個元件。然而根據一範例實施例,多CPU系統100可被多CPU 103或基板組裝200取代。在此例子中,每一計算系統300或400的結構可被適當地改變以用於多CPU 103或基底組合200。
圖12是根據本發明概念的一個範例實施例的製造多CPU系統的方法的流程圖。參照圖1A和12,半導體基板被準備(步驟S310)。包括連接到第一CPU核心111和113的至少其中之一的第一L2快取控制器115的第一CPU 110以及,包括連接到第二CPU 核心121和123的至少其中之一的第二L2快取控制器125第二CPU 120會被形成在半導體基板上(步驟S320)。
在第一CPU110和第二CPU 120間的重疊區域133和143中,可由第一L2快取控制器115和第二L2快取控制器125來選擇性地存取的共享L2快取會被形成。
在半導體基板上,系統匯流排101、在系統匯流排101及第一快取控制器115間的第一通訊通道CH1和在系統匯流排101及第二快取控制器125間的第二通訊通道CH2會被形成。根據範例實施例,步驟310和步驟320可被實施在相同時間或不同時間。
如圖8所繪示,在第一CPU 110-1和第二CPU 120-1被形成在不同晶片或晶粒之後,它們可透過垂直電子通道(TSV)彼此連接以便共享元件,例如,L2快取133和143的共享區域。
根據本發明概念的範例實施例,L2快取的共享會減少多CPU系統的實體大小,減少偵聽運作的冗於工作以及消除L2快取的冷啟動。
雖然本揭露已以實施例揭露如上,然其並非用以限定本揭露,任何所屬技術領域中具有通常知識者,在不脫離本揭露之精神和範圍內,當可作些許之更動與潤飾,故本揭露之保護範圍 當視後附之申請專利範圍所界定者為準。
100‧‧‧多CPU系統
101‧‧‧系統匯流排
103‧‧‧多CPU
105‧‧‧記憶體控制器
110‧‧‧第一CPU
111、113‧‧‧第一CPU核心
115‧‧‧第一L2快取控制器
117‧‧‧第一介面區塊
120‧‧‧第二CPU
121、123‧‧‧第二CPU核心
125‧‧‧第二L2快取控制器
127‧‧‧第二介面區塊
130、140‧‧‧L2快取
133、143‧‧‧第一L2快取
131、141‧‧‧第二L2快取
150‧‧‧電源管理單元

Claims (27)

  1. 一種多中央處理單元(CPU)資料處理系統,包括:一多CPU處理器,包括:一第一CPU,配置有至少一第一核心、一第一快取、及用以存取該第一快取的一第一快取控制器;以及一第二CPU,配置有至少一第二核心、一第二快取、及用以存取該第二快取的一第二快取控制器,其中該第一快取從該第二快取的一共享部分來被配置。
  2. 如申請專利範圍第1項所述之多CPU資料處理系統,更包括一共享電路,用以根據一選擇訊號從該第一快取控制器或該第二快取控制器中輸入資料到該第一快取。
  3. 如申請專利範圍第1項所述之多CPU資料處理系統,更包括一電源管理單元,用以輸出控制訊號以獨立地控制該第一CPU、該第二CPU和該第一快取的開啟和關閉。
  4. 如申請專利範圍第3項所述之多CPU資料處理系統,其中該電源管理單元更用以選擇性地切換排除該第一快取的該第一CPU與該第二CPU之間的電源,同時維持該第一快取上的電源。
  5. 如申請專利範圍第2項所述之多CPU資料處理系統,其中該第一快取和該共享電路被嵌入在一第一系統晶片中並且排除該第一快取的該第一CPU被嵌入在一第二系統晶片中。
  6. 如申請專利範圍第5項所述之多CPU資料處理系統,其中排除該第一快取的該第一CPU被實作在一第一電源域中,排除 該第一快取的該第二CPU被實作在一第二電源域中,及該第一快取被實作在一第三電源域中,其中每一電源域是可獨立地控制。
  7. 一種多CPU資料處理系統,包括:一第一CPU,配置有至少一第一核心、一第一快取和用以從該第一快取中存取資料的一第一快取控制器;以及一第二CPU,配置有至少一第二核心、一第二快取、及用以從該第二快取中存取資料的一第二快取控制器配置,其中該第一快取從該第二快取的一共享部分來被配置,其中排除該第一快取的該第一CPU被實作在一第一晶粒及該第二CPU被實作在一第二晶粒。
  8. 如申請專利範圍第7項所述之多CPU資料處理系統,更包括一共享電路,用以根據一選擇訊號從該第一快取中輸出資料到該第一快取控制器或該第二快取控制器,其中該共享電路是實作在該第二晶粒內。
  9. 如申請專利範圍第8項所述之多CPU資料處理系統,其中用於該共享電路的控制訊號線包括連接該第一晶片和該第二晶片之間的矽通孔。
  10. 如申請專利範圍第7項所述之多CPU資料處理系統,其中一L1快取和該第一快取是實作在一共用基板。
  11. 如申請專利範圍第7項所述之多CPU資料處理系統,其中至少一位址線是共用於一L1快取和該第一快取。
  12. 如申請專利範圍第7項所述之多CPU資料處理系統,其 中排除該第一快取的該第一CPU是配置在一第一電源域中,排除該第一快取的該第二CPU是配置在一第二電源域中,並且該第一快取是配置在一第三電源域中。
  13. 如申請專利範圍第12項所述之多CPU資料處理系統,更包括一電源管理單元,用以選擇性地施予電源到該第一電源域和該第二電源域,同時維持該第三電源域在電源開啟狀態。
  14. 如申請專利範圍第7項所述之多CPU資料處理系統,其中該系統是被實作在一智慧型手機,一筆記型電腦或一平板電腦的其中之一。
  15. 如申請專利範圍第7項所述之多CPU資料處理系統,其中該第一快取是一L2或一L3快取的其中之一。
  16. 一種使用多CPU處理器的資料處理方法,包括:由一第一CPU透過一第一快取控制器存取一第一快取;由一第二CPU透過一第二快取控制器存取一第二快取,其中該第一快取是從該第二快取的一共享部分來配置;以及在無該第一快取的刷新下從該第一CPU中切換快取存取運作到該第二CPU。
  17. 如申請專利範圍第16項所述之資料處理方法,更包括根據一選擇訊號多路傳輸從該第一CPU或該第二CPU中輸入至該第二快取的資料。
  18. 如申請專利範圍第16項所述之資料處理方法,更包括在無偵聽下從該第一CPU切換快取存取運作到該第二CPU。
  19. 如申請專利範圍第16項所述之資料處理方法,更包括從該第二CPU切換快取存取運作到該第一CPU且在該第二快取的非共享部分上執行一刷新運作。
  20. 如申請專利範圍第16項所述之資料處理方法,更包括從該第二CPU切換快取存取運作到該第一CPU且在該第二快取的非共享部分上執行一偵聽運作。
  21. 一種處理器,包括:一第一CPU,配置有至少一第一核心、一第一快取,和用以存取該第一快取的一第一快取控制器;一第二CPU,配置有至少一第二核心、一第二快取,和用以存取該第二快取的一第二快取控制器,在儲存容量上該第二快取大於該第一快取;以及一多工器,用以根據一選擇訊號從該第一核心透過該第一快取控制器傳遞資料至該第一快取或從該第二核心透過該第二快取控制器傳遞資料到該第一快取;以及一解多工器,用以根據該選擇訊號透過該第一快取控制器從該第一快取傳遞資料到該第一核心或透過該第二快取控制器從該第一快取傳遞資料到該第二核心。
  22. 如申請專利範圍第21項所述之處理器,其中該第一快取是從該第二快取的一共享部份來配置。
  23. 一種多CPU資料處理系統,包括:一多CPU處理器,包括: 一第一CPU配置至少一第一核心、一第一快取和用以存取該第一快取的一第一快取控制器;一第二CPU配置至少一第二核心、一第二快取和用以存取該第二快取的一第二快取控制器,其中該第一快取是從該第二快取的一共享部分來配置;一電源管理單元,用以選擇性地供應電源到該第一CPU或該第二CPU和該第一快取的至少其中之一;以及一記憶體控制器,用以控制透過一資料匯流排至與來自於該多CPU處理器的記憶體存取。
  24. 如申請專利範圍第23項所述之多CPU資料處理系統,其中該電源管理單元更用以輸出控制訊號來獨立地控制該第一CPU和該第二CPU的開啟和關閉,同時維持該第一快取的電源開啟。
  25. 如申請專利範圍第23項所述之多CPU資料處理系統,其中排除該第一快取的該第一CPU是配置在一第一電源域中,排除該第一快取的該第二CPU是配置在一第二電源域中,並且該第一快取是配置在一第三電源域中。
  26. 如申請專利範圍第25項所述之多CPU資料處理系統,其中該電源管理單元更用以來選擇性地在該第一電源域和該第二電源域之間切換電源,同時維持該第三電源域的電源開啟。
  27. 如申請專利範圍第23項所述之多CPU資料處理系統,其中該系統是實作在一智慧型手機、一筆記型電腦或一平板電腦 的其中之一。
TW102114736A 2012-05-08 2013-04-25 多cpu系統以及具有該多cpu系統的計算系統 TWI601065B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120048455A KR101858159B1 (ko) 2012-05-08 2012-05-08 멀티-cpu 시스템과 이를 포함하는 컴퓨팅 시스템

Publications (2)

Publication Number Publication Date
TW201403465A TW201403465A (zh) 2014-01-16
TWI601065B true TWI601065B (zh) 2017-10-01

Family

ID=49475645

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102114736A TWI601065B (zh) 2012-05-08 2013-04-25 多cpu系統以及具有該多cpu系統的計算系統

Country Status (6)

Country Link
US (2) US8949534B2 (zh)
JP (1) JP5905408B2 (zh)
KR (1) KR101858159B1 (zh)
CN (1) CN103389961B (zh)
DE (1) DE102013104198A1 (zh)
TW (1) TWI601065B (zh)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2901235B1 (en) * 2012-09-25 2020-05-27 Intel Corporation Digitally phase locked low dropout regulator
DE102013106699B3 (de) * 2013-06-26 2014-02-27 Fujitsu Technology Solutions Intellectual Property Gmbh Computersystem mit einem Abwesenheitsmodus
KR20150050135A (ko) * 2013-10-31 2015-05-08 삼성전자주식회사 복수의 이종 코어들을 포함하는 전자 시스템 및 이의 동작 방법
CN103823712B (zh) * 2014-03-17 2017-05-10 杭州华三通信技术有限公司 一种多cpu虚拟机系统的数据流处理方法和装置
KR102164099B1 (ko) * 2014-03-28 2020-10-12 삼성전자 주식회사 시스템 온 칩, 이의 작동 방법, 및 이를 포함하는 장치
US20150370707A1 (en) * 2014-06-24 2015-12-24 Qualcomm Incorporated Disunited shared-information and private-information caches
JP6074463B2 (ja) * 2015-07-01 2017-02-01 株式会社東芝 プロセッサシステム、メモリ制御回路およびメモリシステム
FR3043476B1 (fr) * 2015-11-05 2018-09-28 Dolphin Integration Systeme et procede de gestion d'alimentation
US9871020B1 (en) 2016-07-14 2018-01-16 Globalfoundries Inc. Through silicon via sharing in a 3D integrated circuit
JP6740456B2 (ja) * 2016-08-01 2020-08-12 ティーエスヴイリンク コーポレイション 多重チャネルキャッシュメモリおよびシステムメモリデバイス
US10275280B2 (en) 2016-08-10 2019-04-30 International Business Machines Corporation Reserving a core of a processor complex for a critical task
US10248457B2 (en) 2016-08-10 2019-04-02 International Business Machines Corporation Providing exclusive use of cache associated with a processing entity of a processor complex to a selected task
US10248464B2 (en) * 2016-10-24 2019-04-02 International Business Machines Corporation Providing additional memory and cache for the execution of critical tasks by folding processing units of a processor complex
US10223164B2 (en) 2016-10-24 2019-03-05 International Business Machines Corporation Execution of critical tasks based on the number of available processing entities
US10147464B1 (en) * 2017-06-20 2018-12-04 Apple Inc. Managing power state in one power domain based on power states in another power domain
KR20200104601A (ko) 2019-02-27 2020-09-04 에스케이하이닉스 주식회사 컨트롤러, 메모리 시스템 및 그것의 동작 방법
KR102456173B1 (ko) 2017-10-27 2022-10-18 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
CN108170255B (zh) * 2018-01-24 2020-07-03 苏州国芯科技股份有限公司 一种控制装置
CN110688331B (zh) * 2018-07-05 2021-08-17 珠海全志科技股份有限公司 一种SoC芯片及读取数据的方法
KR102456176B1 (ko) 2020-05-21 2022-10-19 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
US11573891B2 (en) 2019-11-25 2023-02-07 SK Hynix Inc. Memory controller for scheduling commands based on response for receiving write command, storage device including the memory controller, and operating method of the memory controller and the storage device
KR20210063724A (ko) 2019-11-25 2021-06-02 에스케이하이닉스 주식회사 메모리 시스템
KR102406449B1 (ko) 2020-06-25 2022-06-08 에스케이하이닉스 주식회사 스토리지 장치 및 그 동작 방법
US11755476B2 (en) 2020-04-13 2023-09-12 SK Hynix Inc. Memory controller, storage device including the memory controller, and method of operating the memory controller and the storage device
KR102495910B1 (ko) 2020-04-13 2023-02-06 에스케이하이닉스 주식회사 스토리지 장치 및 그 동작 방법
KR102435253B1 (ko) 2020-06-30 2022-08-24 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090037658A1 (en) * 2007-07-31 2009-02-05 Krishnakanth Sistla Providing an inclusive shared cache among multiple core-cache clusters
TW200910100A (en) * 2007-06-29 2009-03-01 Advanced Micro Devices Inc Cache memory having configurable associativity
US8171231B2 (en) * 2006-11-29 2012-05-01 Intel Corporation System and method for aggregating core-cache clusters in order to produce multi-core processors

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6591347B2 (en) * 1998-10-09 2003-07-08 National Semiconductor Corporation Dynamic replacement technique in a shared cache
US6434672B1 (en) 2000-02-29 2002-08-13 Hewlett-Packard Company Methods and apparatus for improving system performance with a shared cache memory
DE60041444D1 (de) 2000-08-21 2009-03-12 Texas Instruments Inc Mikroprozessor
JP2004179442A (ja) * 2002-11-28 2004-06-24 Renesas Technology Corp マルチチップモジュール
US7349285B2 (en) * 2005-02-02 2008-03-25 Texas Instruments Incorporated Dual port memory unit using a single port memory core
US8527709B2 (en) 2007-07-20 2013-09-03 Intel Corporation Technique for preserving cached information during a low power mode
US8433851B2 (en) 2007-08-16 2013-04-30 International Business Machines Corporation Reducing wiring congestion in a cache subsystem utilizing sectored caches with discontiguous addressing
US8131941B2 (en) 2007-09-21 2012-03-06 Mips Technologies, Inc. Support for multiple coherence domains
JP2010003042A (ja) * 2008-06-19 2010-01-07 Koyo Electronics Ind Co Ltd マルチcpuシステムおよびプログラマブルコントローラ
US20110238925A1 (en) 2008-10-02 2011-09-29 Dan Robinson Cache controller and method of operation
KR101017068B1 (ko) 2008-11-25 2011-02-25 서울대학교산학협력단 개별 l2 캐시를 사용하는 멀티 프로세서 환경에서의 누설 에너지를 고려한 캐시 공유 방법
JP2010180156A (ja) 2009-02-05 2010-08-19 Chiba Univ 1,2−ジオールからの低級飽和アルデヒド製造方法
KR101215732B1 (ko) 2010-11-05 2013-01-09 구기승 릴 포장 카세트
US8793686B2 (en) * 2011-06-08 2014-07-29 Microsoft Corporation Operating system decoupled heterogeneous computing
US9158693B2 (en) * 2011-10-31 2015-10-13 Intel Corporation Dynamically controlling cache size to maximize energy efficiency

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8171231B2 (en) * 2006-11-29 2012-05-01 Intel Corporation System and method for aggregating core-cache clusters in order to produce multi-core processors
TW200910100A (en) * 2007-06-29 2009-03-01 Advanced Micro Devices Inc Cache memory having configurable associativity
US20090037658A1 (en) * 2007-07-31 2009-02-05 Krishnakanth Sistla Providing an inclusive shared cache among multiple core-cache clusters

Also Published As

Publication number Publication date
DE102013104198A1 (de) 2013-11-14
JP5905408B2 (ja) 2016-04-20
US20130304992A1 (en) 2013-11-14
US9606920B2 (en) 2017-03-28
US20150143048A1 (en) 2015-05-21
CN103389961A (zh) 2013-11-13
CN103389961B (zh) 2017-10-27
TW201403465A (zh) 2014-01-16
JP2013235576A (ja) 2013-11-21
KR20130125039A (ko) 2013-11-18
US8949534B2 (en) 2015-02-03
KR101858159B1 (ko) 2018-06-28

Similar Documents

Publication Publication Date Title
TWI601065B (zh) 多cpu系統以及具有該多cpu系統的計算系統
US10705588B2 (en) Enabling a non-core domain to control memory bandwidth in a processor
EP2805243B1 (en) Hybrid write-through/write-back cache policy managers, and related systems and methods
US10163508B2 (en) Supporting multiple memory types in a memory slot
US8549463B2 (en) Die expansion bus
US10566075B2 (en) Electronic device performing training on memory device by rank unit and training method thereof
US9377830B2 (en) Data processing device with power management unit and portable device having the same
EP2657846A1 (en) Managing operational state data in memory module
JP2003092359A (ja) 半導体集積回路
US8621159B2 (en) Shared access memory scheme
TW201418981A (zh) 用於記憶體的彈性命令定址
CN104011618A (zh) 通过存储器和输入/输出子系统的动态管理的用于高能效和节能的方法、装置和系统
US11922172B2 (en) Configurable reduced memory startup
US10978131B2 (en) Mobile device and operation method thereof
KR102161689B1 (ko) L2 캐시 특성을 조절할 수 있는 멀티-코어 cpu 시스템, 이의 동작 방법, 및 이를 포함하는 장치들
US20160313942A1 (en) Electronic apparatus, method, and computer readable medium
US20230086149A1 (en) Reducing memory power usage in far memory
US11630502B2 (en) Hierarchical state save and restore for device with varying power states
US20220171551A1 (en) Available memory optimization to manage multiple memory channels
JP2013020593A (ja) 半導体装置、それを用いた無線通信端末、及び電源制御方法