專利名稱:地址譯碼的制作方法
背景技術:
計算設備一般包括處理器、存儲器和外部存儲器控制器,用于向處理器以及計算設備的其他組件提供對存儲器的訪問權。這些計算設備的性能在很大程度上受到計算設備的“存儲器讀延時(latency)”和“存儲器寫延時”的影響。一般而言,“存儲器讀延時”是處理器請求外部存儲器控制器從存儲器取得數(shù)據(jù)的時刻和外部存儲器控制器向處理器提供所請求數(shù)據(jù)的時刻之間的時間長度。類似地,“存儲器寫延時”通常是指處理器請求外部存儲器控制器將數(shù)據(jù)寫入存儲器的時刻和外部存儲器控制器向處理器指示數(shù)據(jù)已被寫入或者將被寫入存儲器的時刻之間的時間長度。
導致存儲器事務的延時的一種因素就是存儲器控制器為譯碼存儲器事務的地址而花費的時間長度。存儲器控制器一般包括地址譯碼器,它產(chǎn)生與存儲器的分層(hierarchal)設置相對應的存儲器選擇。由于地址譯碼器一般支持多種不同的分層設置,所以地址譯碼器包括使用多個時鐘周期來譯碼地址的非平凡(non-trivial)邏輯。
在附圖中以示例的方式而非限制的方式圖示了這里所描述的發(fā)明。為了圖示說明的簡單明了,在附圖中所示出的元件不一定是按照比例來繪制的。例如,為清楚起見,某些元件的尺寸可能相對于其他元件被放大了。此外,在適當?shù)牡胤?,在各個附圖中重復使用標號來指示相應的或相似的元件。
圖1圖示了計算設備的一種實施方案。
圖2圖示了圖1中計算設備的層次化存儲器布局的一種實施方案。
圖3圖示了可被圖1中的處理器用來對事務的地址進行譯碼或部分譯碼的方法的一種圖4圖示了可被圖1中的存儲器控制器用來處理存儲器事務的方法的一種實施方案。
具體實施例方式
以下內容描述了用于譯碼存儲器地址的技術和用于處理已經(jīng)譯碼了地址的存儲器事務的技術。在以下描述中,闡述了大量具體的細節(jié),例如邏輯實現(xiàn)、操作碼、指定操作數(shù)的方式、資源劃分/共享/復制實現(xiàn)、系統(tǒng)組件的類型和相互關系、以及邏輯劃分/綜合選擇,以便提供對本發(fā)明更完整的理解。然而,本領域的技術人員將會理解,沒有這些具體的細節(jié)也可以實現(xiàn)本發(fā)明。此外,沒有詳細地示出控制結構、門級電路和全部軟件指令序列,以免模糊了本發(fā)明。本領域的普通技術人員利用所包括的描述,無需非常規(guī)的試驗(undueexperimentation)就能夠實現(xiàn)適當?shù)墓δ堋?br>
在說明書中提及“一種實施方案”、“實施方案”、“一種示例性的實施方案”等都是指所描述的實施方案可以包括具體的特點、結構或特性,但是并非每種實施方案都一定要包括所述具體的特點、結構或特性。而且,這些短語不一定是指同一種實施方案。此外,當關于某種實施方案來描述具體的特點、結構或特性時,認為無論是否明確地指出,本領域的技術人員在其知識范圍內都可以結合其他實施方案來實現(xiàn)這種特點、結構或特性。
可以用硬件、固件、軟件或它們的組合來實現(xiàn)本發(fā)明的實施方案。本發(fā)明的實施方案也可以實現(xiàn)為存儲在機器可讀介質上的指令,這些指令可被一個或多個處理器讀取并執(zhí)行。機器可讀介質可以包括用于存儲或發(fā)送機器(例如計算設備)可讀形式的信息的任何機制。例如,機器可讀介質可以包括只讀存儲器(ROM);隨機訪問存儲器(RAM);磁盤存儲介質;光盤存儲介質;閃存器件;電、光、聲或其他形式的傳播信號(例如載波、紅外線信號、數(shù)字信號等);以及其他介質。
計算設備100的一種示例性實施方案如圖1所示。計算設備100可以包括處理器102和經(jīng)由處理器總線106耦合到處理器102的存儲器控制器104。在一種實施方案中,存儲器控制器104位于處理器102之外的不同集成電路、芯片或模塊中。此外,存儲器控制器104可以經(jīng)由存儲器總線110耦合到存儲器108,以向計算設備100的處理器102和其他組件112(例如鼠標、鍵盤、視頻控制器、硬盤、軟盤、固件等等)提供對存儲器108的訪問。
存儲器108可以包括各種存儲器件,這些器件包括可尋址存儲位置(location),存儲器控制器104可從這些位置讀數(shù)據(jù)和/或向其寫數(shù)據(jù)。存儲器108可以包括一種或多種不同類型的存儲器件,例如動態(tài)隨機訪問存儲器(DRAM)器件、同步動態(tài)隨機訪問存儲器(SDRAM)器件、雙倍數(shù)據(jù)率(DDR)SDRAM器件、四倍數(shù)據(jù)率(QDR)SDRAM器件、或者其他易失或非易失存儲器件。此外,如圖2所示,可以按分層方式設置存儲器108。例如,存儲器108可以包括一個或者多個通道(channel)或級(rank)114,每一級114可以包括一個或者多個庫(bank)116,每一庫116可以包括一個或者多個行或頁118,而每一頁118可以包括一個或者多個塊或列120。在其他實施方案中,存儲器108可以比圖2包括更多或更少的層級。
處理器102可以包括地址譯碼器122,用于對待決存儲器事務的地址進行譯碼。地址譯碼器122可以譯碼存儲器事務的地址,以生成一個或多個存儲器選擇,這些選擇對應于存儲器108的分層設置,并且可被用來選擇或尋址存儲器108中的一個具體存儲位置。參照圖2中所示的分層設置,例如地址譯碼器122可以對地址進行譯碼以生成譯碼地址,所述譯碼地址包括級選擇、庫選擇、頁選擇和列選擇,它們可被分別用來選擇存儲器108的級114、庫116、頁118和列120。在另一種實施方案中,地址譯碼器122可以對地址進行部分譯碼,以生成部分譯碼地址,從而讓存儲器控制器104來完成地址譯碼。例如,部分譯碼地址可以包括一個或多個存儲器選擇(例如,級選擇和庫選擇)以及未譯碼部分,存儲器控制器104可以由所述未譯碼部分生成一個或多個附加的存儲器選擇(例如,頁選擇和列選擇)。作為另一個實施例,部分譯碼地址可以包括中間形式,相對于由來譯碼地址生成存儲器選擇而言,存儲器控制器104可以由所述中間形式更快地生成存儲器選擇。具體地說,在一種實施方案中的中間形式可以不包括任何存儲器選擇。
處理器102還可以包括處理器總線接口124,用于處置并在處理器總線106上發(fā)出事務。例如,處理器總線接口124可以在處理器總線106上發(fā)出存儲器事務,以便請求存儲器控制器104處理所述存儲器事務。此外,處理器總線接口124還可以對由其他總線主體(bus agent)(例如存儲器控制器104和未示出的其他處理器)在處理器總線106上發(fā)出的事務進行響應和/或跟蹤。而且,處理器總線接口124可以向存儲器控制器104提供一個指示符,該指示符指示了地址是否包括譯碼地址和/或部分譯碼地址。例如,在一種實施方案中,處理器總線接口124可以在處理器總線106的一個或多個地址相位階段(phase)期間,向存儲器控制器104提供所述指示符。在這樣一種實施方案中,地址可以包括一個或者多個被用作格式指示符的位,所述格式指示符指示了所述地址是否包括譯碼地址、部分譯碼地址或未譯碼地址(例如物理地址、虛擬地址、I/O地址等)。在另一種實施方案中,處理器總線接口124可以經(jīng)由邊帶信號或者經(jīng)由處理器總線106的另一個相位階段(例如請求相位階段)所提供的請求類型,向存儲器控制器104提供用于存儲器事務的格式指示符。
存儲器控制器104可以包括請求接口126,用于從處理器120接收和/或向處理器102發(fā)送存儲器事務。在另一種實施方案中,請求接口126還可以接收來自其他組件112的存儲器事務和/或向這些組件發(fā)送存儲器事務。請求接口126可以包括處理器總線接口128,用以經(jīng)由處理器總線106直接與處理器102通信。請求接口126還可以包括組件接口130,用以經(jīng)由總線132直接與其他組件112通信,所述總線132例如包括外設部件互連(PCI)總線、加速圖形端口(AGP)總線、通用串行總線(USB)總線、低引線數(shù)(LPC)總線、和/或其他I/O總線。在其他實施方案中,請求接口126經(jīng)由處理器總線接口128和芯片組(未示出)的組件接口134,與處理器102和/或組件112間接通信,所述芯片組可以包括一個或多個封裝集成電路器件。
存儲器控制器104還可以包括控制邏輯136、地址譯碼器138以及耦合到存儲器總線110的存儲器接口140。存儲器接口140可以向存儲器總線110施加一個或多個存儲器選擇,例如級選擇、庫選擇和頁選擇,以打開存儲器108中與存儲器事務相關聯(lián)的頁118。存儲器接口140還可以向存儲器總線110施加一個或者多個諸如列選擇的存儲器選擇,以選擇所打開的頁118中的一列120以供讀和/或寫。
存儲器控制器104的地址譯碼器138可以對存儲器事務的地址進行譯碼,以生成一個或多個存儲器選擇,這些存儲器選擇對應于存儲器108的分層設置,并且可被用來選擇或尋址存儲器108中的具體存儲位置。在一種實施方案中,地址譯碼器138可以從存儲器事務的地址生成級選擇、庫選擇、頁選擇和列選擇,它們分別選擇存儲器108中的級114、庫116、頁118和列120。在另一種實施方案中,地址譯碼器138可以由未譯碼部分生成一個或者多個附加的存儲器選擇(例如頁選擇和列選擇),從而完成對所接收的部分譯碼地址的譯碼,其中所述附加的存儲器選擇可以和由部分譯碼地址中已被譯碼的部分提供的一個或多個存儲器選擇(例如級選擇和庫選擇)一起使用。在又一種實施方案中,地址譯碼器138可以由部分譯碼地址所提供的中間形式生成存儲器選擇(例如級選擇、庫選擇、頁選擇和列選擇),從而完成對所接收的部分譯碼地址的譯碼。
存儲器控制器104的控制邏輯136可以控制對所接收的存儲器事務的處理。例如,控制邏輯136可以從一個或多個接收到的存儲器事務中選擇一個存儲器事務進行處理。此外,控制邏輯136可以確定是讓地址譯碼器138放棄對存儲器事務的地址的譯碼,對所述地址進行譯碼,還是完成對存儲器事務的部分譯碼地址的譯碼。在一種實施方案中,控制邏輯136可以基于處理器102為存儲器事務提供的格式指示符來確定對所述地址是放棄譯碼,譯碼還是完成譯碼。
在另一種實施方案中,處理器102可以包括一個或多個控制寄存器和/或其他機制,這些機制(例如在系統(tǒng)啟動期間)可被編程來使得處理器102向存儲器控制器104提供某種具體格式的地址,所述格式例如是譯碼格式、部分譯碼格式或者未譯碼格式(例如物理地址或者虛擬地址格式)。類似地,存儲器控制器104可以包括一個或多個控制寄存器或者其他機制,這些機制(例如在系統(tǒng)啟動期間)可被編程來使得存儲器控制器104期待來自處理器102的同樣格式的地址。在這樣一種實施方案中,控制邏輯136可以基于其一個或多個控制寄存器的狀態(tài)來確定從處理器102接收的存儲器事務的地址格式,并且可以相應地讓地址譯碼器138放棄譯碼,譯碼或者完成譯碼。在另外一種實施方案中,處理器102只支持向存儲器控制器104提供具有譯碼地址的存儲器事務。在這樣一種實施方案中,控制邏輯136可以響應于確定從處理器102已接收到了存儲器事務,而讓地址譯碼器138放棄對地址的譯碼。
圖3所示的是可被處理器102用來譯碼或部分譯碼事務地址的方法的一種實施方案。在框200,處理器102確定是否對所述事務的地址進行譯碼。處理器102可以出于多種原因確定不對地址進行譯碼。例如,處理器102可以響應于確定所述事務不是一個存儲器事務(例如專用事務、I/O事務等),確定不對地址進行譯碼。此外,處理器102可以響應于已確定存儲器控制器104不支持處理器譯碼地址,而確定不對地址進行譯碼。處理器102還可以響應于已確定處理器102和/或存儲器控制器104未針對處理器譯碼地址進行配置,而確定不對地址進行譯碼。例如,計算設備100的系統(tǒng)啟動例程可能未針對處理器譯碼地址來配置處理器102和存儲器控制器104,這例如是由于(i)BIOS(基本輸入/輸出系統(tǒng))不包括針對這樣一種配置來配置處理器102和/或存儲器控制器104的例程,或者(ii)用戶通過BIOS或操作系統(tǒng)禁用這樣一種配置。
響應于確定不對地址進行譯碼,處理器102在框202中經(jīng)由處理器總線接口124在處理器總線106上發(fā)出事務。具體地說,處理器總線接口124向存儲器控制器104提供所述事務以及未譯碼地址(例如,物理地址或虛擬地址)。
響應于處理器102確定對事務的地址進行譯碼,處理器102的地址譯碼器122在框204中對所述地址進行譯碼或部分譯碼。在一種實施方案中,地址譯碼器122生成包括存儲器選擇和格式指示符的譯碼地址,所述存儲器選擇對應于存儲器108的分層設置,而所述格式指示符指示了譯碼地址格式。在另一種實施方式中,地址譯碼器122生成部分譯碼地址,其包括譯碼部分(例如一個或多個存儲器選擇)、未譯碼部分、以及格式指示符或者包括中間形式和格式指示符的部分譯碼地址。在另外的其他實施方案中,譯碼地址和部分譯碼地址不包括格式指示符。在這樣的實施方案中,可以通過另一種機制來提供、或確定、或暗示事務的格式指示符。
在生成了譯碼地址或部分譯碼地址后,處理器102在框206中經(jīng)由處理器總線接口124在處理器總線106上發(fā)出事務。具體地說,處理器總線接口124在一種實施方案中向存儲器控制器104提供包括所生成的譯碼地址或部分譯碼地址以及格式指示符在內的事務。在另一種實施方案中,處理器總線接口124向存儲器控制器104提供包括其譯碼地址或部分譯碼地址在內的事務,但是不向所述事務提供格式指示符。在這樣的實施方案中,可以獨立于譯碼地址或部分譯碼地址來暗示和/或提供格式指示符。例如,在一種實施方案中,可以在系統(tǒng)啟動期間對處理器102和存儲器控制器104進行編程或者硬連線,以使用特定的地址格式,因而消除了處理器102向每個存儲器事務提供格式指示符的必要。在另外一種實施方案中,處理器102可以通過編程存儲器控制器104來提供格式指示符,以根據(jù)所編程的格式來處理后續(xù)的存儲器事務。例如,處理器102可以寫存儲器控制器104的控制寄存器,或者以其他方式來更新該控制寄存器,以使存儲器控制器104根據(jù)由更新后的控制寄存器所指示的格式來處理來自處理器102的后續(xù)存儲器事務。
參考圖4,其中描繪了一種可被存儲器控制器104用來處理從存儲器控制器104的一個或多個待決存儲器事務中選出的存儲器事務的方法。在框300,控制邏輯136確定是否對所選擇的存儲器事務的地址進行譯碼。在一種實施方案中,控制邏輯136可以基于顯式或暗示的格式指示符是否指示了諸如處理器102和/或其他組件112一類的外部組件已對事務的地址進行了譯碼,來確定放棄對地址的譯碼。
響應于決定對存儲器事務的地址進行譯碼,存儲器控制器104的控制邏輯136在框302中確定存儲器事務的地址是否已由諸如處理器102和/或其他組件112一類的外部組件進行了部分譯碼。在一種實施方案中,控制邏輯136可以基于顯式或暗示的格式指示符指示了外部組件已對事務的地址進行了部分譯碼,來確定地址已被部分譯碼。
如果被部分譯碼,則存儲器控制器104的地址譯碼器138在框304中處理所述部分譯碼地址,以生成包括存儲器選擇的譯碼地址,所述存儲器選擇對應于存儲器108的分層設置。在一種實施方案中,地址譯碼器138通過譯碼所述部分譯碼地址的未譯碼地址部分,以生成附加的存儲器選擇并用所述附加的存儲器選擇來替換所述未譯碼地址部分,從而生成譯碼地址。在另一種實施方案中,地址譯碼器138通過處理可能不包括任何存儲器選擇的中間形式,而生成包括兩個或兩個以上存儲器選擇的譯碼地址。通過部分譯碼存儲器事務的地址,在一種實施方案中,處理器102可以減小存儲器等待時間,這是由于存儲器控制器104的地址譯碼器138對部分譯碼地址進行譯碼快于對未譯碼地址進行譯碼。
如果未被部分譯碼,則存儲器控制器104的地址譯碼器138在框306中對未譯碼地址進行譯碼,以生成包括存儲器選擇的譯碼地址,所述存儲器選擇對應于存儲器108的分層設置。在一種實施方案中,地址譯碼器138可以生成級選擇、庫選擇、頁選擇和列選擇,它們分別選擇存儲器108的級114、庫116、頁118和列120。
在框300中放棄對地址譯碼后,或者在框304或306中對地址進行譯碼后,控制邏輯136在框308中讓存儲器接口140使用存儲器事務的譯碼地址來訪問存儲器108的存儲位置。例如,存儲器接口140可以通過在存儲器總線110上生成頁地址信號而打開存儲器108的頁118,所述頁地址信號是基于譯碼地址的一個或多個存儲器選擇(例如級選擇、庫選擇和頁選擇)而生成的。此外,存儲器接口140可以通過在存儲器總線110上生成列地址信號而訪問所打開的頁118中的一列120,所述列地址信號是基于譯碼地址的一個或多個存儲器選擇(例如列選擇)而生成的。
在一種實施方案中,處理器102以比存儲器控制器104更快的速率來運行。因此,如果地址譯碼器122、138兩者在相同數(shù)量的本地時鐘周期中對存儲器地址進行譯碼,則處理器102的地址譯碼器122將比存儲器控制器104的地址譯碼器310花費更少的時間來譯碼地址,這是由于處理器時鐘周期的持續(xù)時間更短。此外,處理器102還能夠與其他操作并行地執(zhí)行全部或部分地址譯碼,因而消除了與地址譯碼器122相關聯(lián)的全部或部分等待時間。在任何一種情況中,處理器102都可以通過向存儲器控制器104提供譯碼地址或者部分譯碼地址,而減小存儲器等待時間。
雖然參考示例性的實施方案描述了本發(fā)明的某些特性,但是不想以限制性的含義來理解以上描述。對所述示例性的實施方案以及本發(fā)明的其他實施方案做出的、對本發(fā)明所屬領域的技術人員顯而易見的各種修改都被視作落入本發(fā)明的精神和范圍內。
權利要求
1.一種方法,包括譯碼事務的第一地址到存儲器,以生成第二地址;以及發(fā)出所述事務,以向存儲器控制器提供所述第二地址,并請求所述存儲器控制器基于所述第二地址來處理所述事務。
2.如權利要求1所述的方法,其中,譯碼操作包括生成所述第二地址,使得所述第二地址包括譯碼地址。
3.如權利要求1所述的方法,其中,譯碼操作包括生成所述第二地址,使得所述第二地址包括部分譯碼地址。
4.如權利要求1所述的方法,其中,譯碼操作包括生成所述第二地址,使得所述第二地址包括中間形式,所述存儲器控制器對所述中間形式進行譯碼快于對未譯碼地址進行譯碼。
5.如權利要求1所述的方法,其中,譯碼操作包括生成所述第二地址,使得所述第二地址包括兩個或者兩個以上的存儲器選擇,所述存儲器選擇對應于所述存儲器的分層設置。
6.如權利要求1所述的方法,其中,譯碼操作包括生成所述第二地址,使得所述第二地址包括兩個或者兩個以上的存儲器選擇以及格式指示符,所述格式指示符指示了所述第二地址的格式。
7.如權利要求1所述的方法,其中,發(fā)出操作包括在一個或者多個總線相位階段中,將所述第二地址傳輸?shù)剿龃鎯ζ骺刂破鳌?br>
8.如權利要求7所述的方法,還包括向所述存儲器控制器提供格式指示符,所述格式指示符指示了所述第二地址的格式。
9.一種方法,包括從外部組件接收存儲器事務的地址;以及響應于確定所述地址包括譯碼地址,使用所接收的地址來尋址存儲器。
10.如權利要求9所述的方法,還包括響應于確定所述地址不包括譯碼地址譯碼所述存儲器事務的地址,以生成譯碼地址;以及用所生成的譯碼地址來尋址所述存儲器。
11.如權利要求9所述的方法,還包括響應于確定所述地址包括譯碼地址,放棄對所接收的地址的譯碼。
12.如權利要求9所述的方法,還包括基于由所述地址提供的指示符,確定所述地址包括譯碼地址。
13.如權利要求9所述的方法,還包括基于由所述外部組件提供的指示符,確定所述地址包括譯碼地址。
14.如權利要求9所述的方法,還包括響應于確定所述地址包括部分譯碼地址譯碼所述部分譯碼地址,以生成譯碼地址;以及使用所述譯碼地址來尋址所述存儲器。
15.一種方法,包括從外部組件接收包括多個存儲器選擇的地址;以及使用所述多個存儲器選擇來尋址存儲器。
16.如權利要求15所述的方法,還包括響應于確定所述地址被全部譯碼,而放棄對所述地址的譯碼。
17.如權利要求15所述的方法,還包括響應于確定所述地址被部分譯碼譯碼所述地址,以生成一個或多個附加的存儲器選擇;以及還使用所述一個或多個附加的存儲器選擇來尋址所述存儲器。
18.一種處理器,包括地址譯碼器,用于基于存儲器事務的地址而生成一個或者多個存儲器選擇;以及總線接口,用于發(fā)出所述存儲器事務,并且提供包括所述一個或者多個存儲器選擇的地址。
19.如權利要求18所述的處理器,其中,所述總線接口還提供格式指示符,所述格式指示符指示了所述地址包括所述一個或多個存儲器選擇。
20.如權利要求19所述的處理器,其中,所述地址還包括所述格式指示符。
21.如權利要求19所述的處理器,其中,所述總線接口還生成邊帶信號,用以提供所述格式指示符。
22.一種存儲器控制器,包括請求接口,用于接收存儲器事務的第一地址;存儲器接口,用于尋址存儲器;以及控制邏輯,用于使所述存儲器接口響應于確定所述第一地址包括譯碼地址,而使用所述第一地址來尋址所述存儲器。
23.如權利要求22所述的存儲器控制器,還包括地址譯碼器,其中所述控制邏輯響應于確定所述第一地址包括部分譯碼地址使所述地址譯碼器由所述第一地址生成譯碼地址;以及使所述存儲器接口使用所述譯碼地址來尋址所述存儲器。
24.如權利要求22所述的存儲器控制器,還包括地址譯碼器,其中所述控制邏輯響應于確定所述第一地址包括部分譯碼地址使所述地址譯碼器由所述第一地址的未譯碼部分生成一個或多個附加的存儲器選擇;以及使所述存儲器接口使用所述第一地址的一個或多個存儲器選擇以及由所述未譯碼部分生成的所述一個或多個附加的存儲器選擇來尋址所述存儲器。
25.如權利要求22所述的存儲器控制器,還包括地址譯碼器,其中所述控制邏輯響應于確定所述第一地址包括部分譯碼地址使所述地址譯碼器由所述第一地址的中間形式生成多個存儲器選擇;以及使所述存儲器接口使用所述多個存儲器選擇來尋址所述存儲器。
26.如權利要求22所述的存儲器控制器,還包括地址譯碼器,其中所述控制邏輯響應于確定所述第一地址包括未譯碼地址使所述地址譯碼器由所述第一地址生成譯碼地址;以及使所述存儲器接口使用所述譯碼地址來尋址所述存儲器。
27.一種系統(tǒng),包括易失存儲器,其包括按分層方式設置的存儲位置;處理器,用于由存儲器事務的第一地址生成包括多個存儲器選擇的第二地址,并且在處理器總線上發(fā)出所述存儲器事務,以請求對所述存儲器事務的處理并且提供所述第二地址;以及存儲器控制器,所述存儲器控制器經(jīng)由所述處理器總線耦合到所述處理器,并且經(jīng)由存儲器總線耦合到所述易失存儲器,所述存儲器控制器經(jīng)由所述處理器總線接收所述存儲器事務和所述第二地址,并且將所述第二地址的所述多個存儲器選擇施加到所述存儲器總線。
28.如權利要求27所述的系統(tǒng),其中所述處理器還向所述存儲器控制器提供格式指示符,所述格式指示符指示所述第二地址被譯碼;以及所述存儲器控制器響應于所述格式指示符指示所述第二地址被譯碼,放棄對所述第二地址的譯碼。
29.如權利要求27所述的系統(tǒng),其中所述處理器還向所述存儲器控制器提供格式指示符,所述格式指示符指示所述第二地址被部分譯碼;以及響應于確定所述格式指示符指示所述第二地址被部分譯碼,所述存儲器控制器將生成一個或多個附加的存儲器選擇,并且將使用所述多個存儲器選擇以及所述一個或多個附加的存儲器選擇來尋址所述易失存儲器。
30.一種包括多條指令的機器可讀介質,所述指令響應于被執(zhí)行,導致處理器譯碼到存儲器的事務的第一地址,以生成第二地址;以及發(fā)出所述事務,以向存儲器控制器提供所述第二地址,并請求所述存儲器控制器基于所述第二地址來處理所述事務。
31.如權利要求30所述的機器可讀介質,其中,所述多條指令響應于被執(zhí)行還導致所述處理器生成指示所述第二地址被譯碼的格式指示符;以及向所述存儲器控制器提供所述格式指示符。
32.如權利要求31所述的機器可讀介質,其中所述多條指令響應于被執(zhí)行還導致所述處理器生成所述第二地址,使得所述第二地址包括多個存儲器選擇。
33.如權利要求30所述的機器可讀介質,其中所述多條指令響應于被執(zhí)行還導致所述處理器生成指示所述第二地址被部分譯碼的格式指示符;以及向所述存儲器控制器提供所述格式指示符。
34.如權利要求33所述的機器可讀介質,其中所述多條指令響應于被執(zhí)行還導致所述處理器生成所述第二地址,使得所述第二地址包括中間形式。
全文摘要
描述了處理存儲器事務的機器可讀介質、方法和裝置。在一些實施方案中,處理器或其他外部組件向存儲器控制器提供譯碼后的存儲器地址。然后,存儲器控制器自己不必對地址進行譯碼,就可以利用處理器譯碼的地址來訪問存儲器。在其他實施方案中,處理器或其他外部組件向存儲器控制器提供部分譯碼后的存儲器地址。然后,存儲器控制器由所述部分譯碼地址生成譯碼地址,并且用所生成的譯碼地址來訪問存儲器。
文檔編號G06F12/06GK1695131SQ03824643
公開日2005年11月9日 申請日期2003年8月22日 優(yōu)先權日2002年8月27日
發(fā)明者詹姆斯·多德, 羅伯特·米爾斯特瑞 申請人:英特爾公司