用于改善跨越相干總線的信號(hào)量管理序列的性能的方法和設(shè)備的制造方法
【專利說明】用于改善跨越相干總線的信號(hào)量管理序列的性能的方法和設(shè)備
[0001]優(yōu)先權(quán)串請(qǐng)
[0002]本申請(qǐng)要求2013年7月2日提交的名稱為“用于改善跨越相干總線的信號(hào)量管理序列的性能的方法和設(shè)備(METHODS AND APPARATUS FOR IMPROVING PERFORMANCE OFSEMAPHORE MANAGEMENT SEQUENCES ACROSS A COHERENT BUS)” 的序列號(hào)為 13/933,337 的美國(guó)專利申請(qǐng)的優(yōu)先權(quán),該申請(qǐng)進(jìn)一步要求2013年4月11日提交的名稱為“用于改善跨越相干總線的信號(hào)量管理序列的性能的方法和設(shè)備(METHODS AND APPARATUS FOR IMPROVINGPERFORMANCE OF SEMAPHORE MANAGEMENT SEQUENCES ACROSS A COHERENT BUS)” 的序列號(hào)為61/810,889的美國(guó)臨時(shí)專利申請(qǐng)的優(yōu)先權(quán),這兩份申請(qǐng)的全文都以引用的方式并入本文中。
技術(shù)領(lǐng)域
[0003]本發(fā)明的實(shí)施例大體上涉及信號(hào)量管理方面,且更具體來說涉及跨越相干總線的信號(hào)量管理。
【背景技術(shù)】
[0004]許多便攜式產(chǎn)品(例如蜂窩電話、膝上型計(jì)算機(jī)、個(gè)人數(shù)據(jù)助理(PDA)及類似者)利用執(zhí)行程序(例如通信和多媒體程序)的處理系統(tǒng)。用于此類產(chǎn)品的處理系統(tǒng)可以包括多個(gè)處理器、包括用于存儲(chǔ)指令和數(shù)據(jù)的多層高速緩沖存儲(chǔ)器和存儲(chǔ)器的復(fù)雜存儲(chǔ)器系統(tǒng)、控制器、例如通信接口的外圍裝置和配置(例如)在單芯片上的固定功能邏輯塊。
[0005]多處理器(MP),例如雙核處理器或四核處理器,總體上設(shè)計(jì)成一種利用多層存儲(chǔ)器層級(jí)的共享存儲(chǔ)器系統(tǒng)。在此共享存儲(chǔ)器MP中,數(shù)據(jù)可以組織成私用數(shù)據(jù)和共享數(shù)據(jù)。私用數(shù)據(jù)進(jìn)一步組織為由MP中的每一處理器在本機(jī)使用。共享數(shù)據(jù)必需一種機(jī)制在處理器當(dāng)中高效地傳送數(shù)據(jù),并且在處理器之間高效地維持?jǐn)?shù)據(jù)的一致性。在處理器當(dāng)中高效地傳送數(shù)據(jù)的一種機(jī)制是在多層存儲(chǔ)器層級(jí)內(nèi)使用相干總線,所述相干總線支持一致性協(xié)議以確保共享的數(shù)據(jù)在處理器中的每一者之間是一貫的。
[0006]舉例來說,可以在必需共享數(shù)據(jù)的一致性的高速緩沖存儲(chǔ)器級(jí)使用總線,例如在共享存儲(chǔ)器層級(jí)中的第2層高速緩沖存儲(chǔ)器位置。在與MP中的每一處理器相關(guān)聯(lián)的每一第2層高速緩沖存儲(chǔ)器之間利用相干總線。已經(jīng)研發(fā)了多種協(xié)議來維持共享的數(shù)據(jù)的一致性,例如修改自有排他共享無效(MOESI)協(xié)議。在MOESI協(xié)議中,每一高速緩沖存儲(chǔ)線用某種方式標(biāo)記,以指示所述高速緩沖存儲(chǔ)線是下面哪種情況:高速緩沖存儲(chǔ)線僅僅存在于當(dāng)前高速緩沖存儲(chǔ)器中并且是已使用的(修改),高速緩沖存儲(chǔ)線僅僅存在于當(dāng)前高速緩沖存儲(chǔ)器中并且是干凈的(排他),高速緩沖存儲(chǔ)線可以存儲(chǔ)在MP中的其它高速緩沖存儲(chǔ)器中,并且在當(dāng)前高速緩沖存儲(chǔ)器中是已使用的(自有),高速緩沖存儲(chǔ)線可以存儲(chǔ)在MP中的其它高速緩沖存儲(chǔ)器中,并且在當(dāng)前高速緩沖存儲(chǔ)器中是干凈的(共享),高速緩沖存儲(chǔ)線在當(dāng)前高速緩沖存儲(chǔ)器中是無效的(無效)。每當(dāng)寫入到高速緩沖存儲(chǔ)線時(shí)檢查MOESI狀態(tài)以便確定寫入對(duì)在多個(gè)高速緩沖存儲(chǔ)器中共享的對(duì)應(yīng)數(shù)據(jù)的影響。
[0007]在多處理器中,每一處理代理使用專門的指令進(jìn)行信號(hào)量管理。信號(hào)量管理通常包括一對(duì)專門加載和存儲(chǔ)指令,以讀取存儲(chǔ)器位置、設(shè)置保留粒度(reservat1ngranule),并且基于保留粒度的狀態(tài)來?xiàng)l件性地寫入存儲(chǔ)器位置。如果兩個(gè)或更多個(gè)處理器正在競(jìng)爭(zhēng)獲得相同信號(hào)量,則跨越總線維持高速緩沖存儲(chǔ)器一致性的系統(tǒng)有這些信號(hào)量管理指令導(dǎo)致活鎖或性能不佳的可能。
【發(fā)明內(nèi)容】
[0008]在本發(fā)明的幾個(gè)方面當(dāng)中,本發(fā)明認(rèn)識(shí)到期望提供用于跨越相干總線的信號(hào)量管理的更高效的方法和設(shè)備。為了這些目的,本發(fā)明的一實(shí)施例提出一種用于多處理器中的跨越相干總線的信號(hào)量管理的方法。響應(yīng)于從第一處理器發(fā)出的加載排他指令確定在所述第一處理器本機(jī)的第一高速緩沖存儲(chǔ)器在目標(biāo)地址處未中。在從所述第一高速緩沖存儲(chǔ)器到在第二處理器本機(jī)的第二高速緩沖存儲(chǔ)器的相干總線上發(fā)出讀取偏好型排他命令。響應(yīng)于所述讀取偏好型排他命令,確定所述第二高速緩沖存儲(chǔ)器中的保留粒度處于未標(biāo)記狀態(tài)。響應(yīng)于所述確定針對(duì)此地址在所述第二高速緩沖存儲(chǔ)器中的所述保留粒度處于所述未標(biāo)記狀態(tài),使所述第二高速緩沖存儲(chǔ)器中的所述高速緩沖存儲(chǔ)線失效。
[0009]另一個(gè)實(shí)施例提出一種用于多處理系統(tǒng)中的跨越相干總線的信號(hào)量管理的設(shè)備。第一高速緩沖存儲(chǔ)器控制器經(jīng)配置以響應(yīng)于第一高速緩沖存儲(chǔ)器具有加載排他指令提供的目標(biāo)地址處的數(shù)據(jù)未中,在從所述第一高速緩沖存儲(chǔ)器到第二高速緩沖存儲(chǔ)器的相干總線上發(fā)出讀取偏好型排他命令,其中所述第一高速緩沖存儲(chǔ)器耦合到發(fā)出了所述加載排他指令的第一處理代理并且所述第二高速緩沖存儲(chǔ)器耦合到第二處理代理。第二高速緩沖存儲(chǔ)器控制器經(jīng)配置以監(jiān)聽所述相干總線,并且響應(yīng)于監(jiān)聽到的讀取偏好型排他命令和所述第二高速緩沖存儲(chǔ)器中的保留粒度針對(duì)此目標(biāo)地址經(jīng)過標(biāo)記,確保所述第二高速緩沖存儲(chǔ)器中的所述線的狀態(tài)處于有效和共享狀態(tài)。
[0010]另一個(gè)實(shí)施例提出一種用于多處理器中的跨越相干總線的信號(hào)量管理的方法。響應(yīng)于從第一處理器發(fā)出的加載排他指令,確定在所述第一處理器本機(jī)的第一高速緩沖存儲(chǔ)器在目標(biāo)地址處命中,其中所述存取的第一高速緩沖存儲(chǔ)線處于共享或自有狀態(tài)。在從所述第一高速緩沖存儲(chǔ)器到在第二處理器本機(jī)的第二高速緩沖存儲(chǔ)器的相干總線上發(fā)出升級(jí)偏好型排他命令。響應(yīng)于所述升級(jí)偏好型排他命令,確定所述第二高速緩沖存儲(chǔ)器在所述目標(biāo)地址處命中,其中所述存取的第二高速緩沖存儲(chǔ)線的保留粒度處于未標(biāo)記狀態(tài)。響應(yīng)于所述第二高速緩沖存儲(chǔ)線處于共享狀態(tài),將所述第一處理器所請(qǐng)求的所述線升級(jí)成排他狀態(tài)。
[0011]另一實(shí)施例提出一種編碼有計(jì)算機(jī)可讀程序數(shù)據(jù)和代碼的計(jì)算機(jī)可讀非暫時(shí)性媒體。響應(yīng)于從第一處理器發(fā)出的加載排他指令確定在所述第一處理器本機(jī)的第一高速緩沖存儲(chǔ)器在目標(biāo)地址處未中。在從所述第一高速緩沖存儲(chǔ)器到在第二處理器本機(jī)的第二高速緩沖存儲(chǔ)器的相干總線上發(fā)出讀取偏好型排他命令。響應(yīng)于所述第二高速緩沖存儲(chǔ)器中針對(duì)此地址的保留粒度處于未標(biāo)記狀態(tài),使所述第二高速緩沖存儲(chǔ)器中的所述高速緩沖存儲(chǔ)線失效。
[0012]另一個(gè)實(shí)施例提出一種用于多處理系統(tǒng)中的跨越相干總線的信號(hào)量管理的設(shè)備。利用裝置響應(yīng)于第一高速緩沖存儲(chǔ)器具有加載排他指令提供的目標(biāo)地址處的數(shù)據(jù)未中,在從所述第一高速緩沖存儲(chǔ)器到第二高速緩沖存儲(chǔ)器的相干總線上發(fā)出讀取偏好型排他命令,其中所述第一高速緩沖存儲(chǔ)器耦合到發(fā)出了所述加載排他指令的第一處理代理并且所述第二高速緩沖存儲(chǔ)器耦合到第二處理代理。利用裝置來監(jiān)聽所述相干總線,并且響應(yīng)于監(jiān)聽到的讀取偏好型排他命令和所述第二高速緩沖存儲(chǔ)器中的保留粒度針對(duì)此目標(biāo)地址經(jīng)過標(biāo)記,確保所述第二高速緩沖存儲(chǔ)器中的所述線的狀態(tài)處于有效和共享狀態(tài)。
[0013]應(yīng)理解,所屬領(lǐng)域的技術(shù)人員從以下詳細(xì)描述將容易明白本發(fā)明的其它實(shí)施例,其中借助于說明來示出和描述本發(fā)明的各種實(shí)施例。將認(rèn)識(shí)到,本發(fā)明能夠在全部不脫離本發(fā)明的精神和范圍的情況下具有其它及不同實(shí)施例且其若干細(xì)節(jié)能夠在各種其它方面加以修改。因此,附圖和詳細(xì)描述應(yīng)被視為本質(zhì)上是說明性的而不是限制性的。
【附圖說明】
[0014]在附圖中作為實(shí)例而非作為限制說明本發(fā)明的各種方面,其中:
[0015]圖1說明雙核多處理器(MP)系統(tǒng);
[0016]圖2A說明兩個(gè)處理代理之間的信號(hào)量管理的基本實(shí)例;
[0017]圖2B說明跨越相干總線的信號(hào)量管理的第一場(chǎng)景;
[0018]圖2C說明跨越相干總線的信號(hào)量管理的第二場(chǎng)景;
[0019]圖2D說明跨越相干總線的信號(hào)量管理的第三場(chǎng)景,其說明活鎖的情形;
[0020]圖3A說明具有對(duì)高效活鎖避免的支持的信號(hào)量管理過程;
[0021]圖3B說明讀取偏好型排他信號(hào)量管理過程;
[0022]圖3C說明升級(jí)偏好型排他信號(hào)量管理過程;
[0023]圖4A說明使用讀取偏好型排他總線命令的示范性第一信號(hào)量管理技術(shù);
[0024]圖4B說明使用讀取偏好型排他總線命令的示范性第二信號(hào)量管理技術(shù);
[0025]圖4C說明使用升級(jí)偏好型排他總線命令的示范性第三信號(hào)量管理技術(shù);以及
[0026]圖5說明根據(jù)本發(fā)明的實(shí)施例的利用具有高效活鎖避免的示范性信號(hào)量管理的便攜式裝置的特定實(shí)施例。
【具體實(shí)施方式】
[0027]下文結(jié)合附圖闡述的詳細(xì)描述意圖作為對(duì)本發(fā)明的各種示例性實(shí)施例的描述,且并不意圖表示可以實(shí)踐本發(fā)明的僅有實(shí)施例。為了提供對(duì)本發(fā)明的透徹理解,詳細(xì)描述包含一些具體細(xì)節(jié)。然而,所屬領(lǐng)域的技術(shù)人員將明白,可以在沒有這些具體細(xì)節(jié)的情況下實(shí)踐本發(fā)明。在一些情況下,以框圖形式示出眾所周知的結(jié)構(gòu)和組件以便避免混淆本發(fā)明的概念。
[0028]圖1說明多處理器(MP)系統(tǒng)100。MP系統(tǒng)100包括雙核系統(tǒng)102,雙核系統(tǒng)102具有第一處理代理(PX1)104(例如第一核心處理器)、第I層數(shù)據(jù)高速緩沖存儲(chǔ)器-1 (LlDcache-1) 105、L2高速緩沖存儲(chǔ)器和控制器-1 106、第二處理代理(PX2)108(例如第二核心處理器)、第I層數(shù)據(jù)高速緩沖存儲(chǔ)器-2 (LlDcache-2) 109、L2高速緩沖存儲(chǔ)器和控制器-2 110、相干總線114和主存儲(chǔ)器116。L2高速緩沖存儲(chǔ)器