欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

處理外圍設(shè)備頁(yè)錯(cuò)誤的機(jī)制的制作方法

文檔序號(hào):6361271閱讀:148來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):處理外圍設(shè)備頁(yè)錯(cuò)誤的機(jī)制的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)系統(tǒng)內(nèi)的頁(yè)請(qǐng)求,更具體來(lái)說(shuō),涉及處理來(lái)自外圍設(shè)備的頁(yè)請(qǐng)求的那些系統(tǒng)。
背景技術(shù)
隨著外圍設(shè)備具有更多的功能,被并入外圍設(shè)備的一種這樣的功能是翻譯后援緩沖器(TLB),其向外圍設(shè)備指示是否可在系統(tǒng)存儲(chǔ)器中獲得外圍設(shè)備想要訪問(wèn)的邏輯地址。原先由存儲(chǔ)器控制器提供的這樣的頁(yè)請(qǐng)求現(xiàn)在可由具有TLB的外圍設(shè)備發(fā)送。需要以靈活和恰當(dāng)?shù)姆绞教幚磉@樣的頁(yè)請(qǐng)求的方法。發(fā)明公開(kāi)在一個(gè)實(shí)施例中,提供了一種方法,其包括從外圍設(shè)備接收請(qǐng)求將存儲(chǔ)頁(yè)載入系統(tǒng)存儲(chǔ)器的頁(yè)請(qǐng)求。將對(duì)應(yīng)于接收到的頁(yè)請(qǐng)求的頁(yè)請(qǐng)求信息作為隊(duì)列條目寫(xiě)入到系統(tǒng)存儲(chǔ)器中的隊(duì)列結(jié)構(gòu)中。通知處理器隊(duì)列中存在頁(yè)請(qǐng)求。在一個(gè)實(shí)施例中,可使用與新的頁(yè)請(qǐng)求的存在唯一地相關(guān)的中斷來(lái)通知處理器。在一個(gè)實(shí)施例中,提供了一種計(jì)算機(jī)系統(tǒng),其包括具有用于從外圍設(shè)備接收指示需要存儲(chǔ)頁(yè)服務(wù)的頁(yè)請(qǐng)求的第一通信鏈路接口的集成電路。隊(duì)列條目產(chǎn)生邏輯通過(guò)產(chǎn)生包括來(lái)自頁(yè)請(qǐng)求的信息的隊(duì)列條目來(lái)對(duì)接收到頁(yè)請(qǐng)求作出響應(yīng),通過(guò)第二通信接口發(fā)送隊(duì)列條目以將隊(duì)列條目寫(xiě)入到頁(yè)請(qǐng)求隊(duì)列中。頁(yè)請(qǐng)求隊(duì)列在系統(tǒng)存儲(chǔ)器中,系統(tǒng)存儲(chǔ)器經(jīng)由存儲(chǔ)器控制器耦合至集成電路。集成電路通知處理器可在隊(duì)列中獲得隊(duì)列條目。附圖簡(jiǎn)述通過(guò)參考附圖,可以更好地理解本發(fā)明并且其大量對(duì)象、特征和優(yōu)勢(shì)對(duì)本領(lǐng)域技術(shù)人員將變得顯而易見(jiàn)。

圖1示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的示例性系統(tǒng)。圖2示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的示例性隊(duì)列結(jié)構(gòu)。圖3示出了示例性隊(duì)列條目。圖4示出了如從根據(jù)本發(fā)明的一個(gè)實(shí)施例的外圍設(shè)備接收到的示例性頁(yè)請(qǐng)求。圖5示出了本發(fā)明的一個(gè)實(shí)施例的示例性流程圖。在不同附圖中使用相同參考符號(hào)指示相似或相同的元件。用于實(shí)施本發(fā)明的模式頁(yè)請(qǐng)求向系統(tǒng)指示需要將新的頁(yè)載入存儲(chǔ)器。圖1示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的處理來(lái)自外圍設(shè)備的頁(yè)服務(wù)請(qǐng)求的系統(tǒng)。示例性系統(tǒng)包括其包括一個(gè)或多個(gè)中央處理單元(CPU)和圖形處理單元(GPU)的處理器101、系統(tǒng)存儲(chǔ)器103、I/O集線器105和107、外圍設(shè)備111和113。I/O集線器執(zhí)行計(jì)算機(jī)體系結(jié)構(gòu)中傳統(tǒng)的芯片集功能(在之前的體系結(jié)構(gòu)中稱(chēng)為南橋(South-Bridge)),這些功能包括與具有各種I/O接口的各種I/O設(shè)備進(jìn)行接口連接。在圖1所示的實(shí)施例中,I/o集線器105和107包括I/O存儲(chǔ)管理單元(IOMMU) 110,其為將I/O地址映射到系統(tǒng)存儲(chǔ)器中的適當(dāng)物理地址和其它存儲(chǔ)管理功能提供支持。在替代實(shí)施例中,可以諸如數(shù)字信號(hào)處理器、微控制器等的其它處理器來(lái)實(shí)施(在示例性實(shí)施例中示出的包括CPU和GPU的)處理器。圖1的計(jì)算機(jī)系統(tǒng)可以在手持設(shè)備、PDA、筆記本計(jì)算機(jī)、臺(tái)式計(jì)算機(jī)、平板式計(jì)算機(jī)、服務(wù)器或具有處理器以及具有與本文的教導(dǎo)一致的存儲(chǔ)需求的外圍設(shè)備的任何其它系統(tǒng)中體現(xiàn)。另外,可將I/O集線器105、107并入處理器101。外圍設(shè)備111和113包括I/O TLB112并且因此可以確定何時(shí)可在系統(tǒng)存儲(chǔ)器103中獲得虛擬地址。當(dāng)外圍設(shè)備111確定不可在系統(tǒng)存儲(chǔ)器中獲得地址時(shí),該外圍設(shè)備通過(guò)通信鏈路115向I/O集線器107發(fā)出頁(yè)請(qǐng)求,該請(qǐng)求被I0MMU110接收。為了對(duì)該請(qǐng)求提供服務(wù),IOMMUl 10必須通過(guò)通信鏈路117通信。在通信鏈路115和117根據(jù)不同的通信協(xié)議操作的系統(tǒng)中,當(dāng)外圍設(shè)備111發(fā)出頁(yè)請(qǐng)求時(shí),必須將該頁(yè)請(qǐng)求轉(zhuǎn)換到適當(dāng)?shù)膮f(xié)議。例如,通信鏈路115可根據(jù)PCIe 協(xié)議操作,而通信鏈路117可根據(jù)諸如HyperTransportTM協(xié)議的另一組通信協(xié)議操作。為了正確地對(duì)頁(yè)請(qǐng)求作出響應(yīng),需要將頁(yè)請(qǐng)求轉(zhuǎn)換為處理器101可以正確處理的形式。在一個(gè)實(shí)施例中,將用于通信鏈路115的協(xié)議從PCIe 語(yǔ)義轉(zhuǎn)換為與HyperTransport 或AMD64 兼容的語(yǔ)義,以便由系統(tǒng)來(lái)處理。在其它實(shí)施例中,可涉及其它處理器體系結(jié)構(gòu)和其它通信鏈路協(xié)議。頁(yè)請(qǐng)求事務(wù)是通信鏈路115上的瞬時(shí)性操作。在一個(gè)實(shí)施例中,根據(jù)為PCIe (PCI通信接口系列之一)定義的頁(yè)請(qǐng)求接口(PRI)協(xié)議在通信鏈路115上提供頁(yè)請(qǐng)求。由于頁(yè)請(qǐng)求是瞬時(shí)性的(PRI是提供最新信息的操作),所以需要捕獲信息并將其傳遞給處理器。此外,該信息中的一些內(nèi)容包括在對(duì)外圍設(shè)備的PRI響應(yīng)中。當(dāng)初始請(qǐng)求被處理時(shí),其它頁(yè)請(qǐng)求可從其它外圍設(shè)備發(fā)出來(lái)由處理器處理,因此需要某種緩沖,使得在整個(gè)系統(tǒng)繼續(xù)操作的同時(shí)保留PRI信息。一種解決方案是創(chuàng)建新的硬件,其帶有通過(guò)麗10(存儲(chǔ)器映射的I/O)操作訪問(wèn)的一組寄存器。PCIe總線上的新硬件將接受PRI請(qǐng)求、在這組寄存器中存儲(chǔ)接收到的信息(請(qǐng)求)并隨后使用中斷通知處理器。在處理器上運(yùn)行的系統(tǒng)軟件將接收中斷、讀寄存器、處理請(qǐng)求以及寫(xiě)某些額外的寄存器(或者也許是相同的寄存器)。專(zhuān)用的寫(xiě)操作將使新的硬件將寄存器的內(nèi)容封裝成PCIe總線事務(wù)以用信號(hào)通知外圍設(shè)備完成了 PRI服務(wù)??梢栽谠S多地方定位此新硬件。IOMMU是邏輯位置(即IOMMU已提供I/O相關(guān)的服務(wù),因此將新的PRI功能與現(xiàn)有的IOMMU功能整合是合理的)。此解決方案易于以硬件來(lái)實(shí)現(xiàn),但不利之處在于PCIe段中的所有外圍設(shè)備將被串行化在一組寄存器之后??梢允褂糜布⒃O(shè)定而軟件將清除的“有效”位來(lái)讓一組寄存器保存多個(gè)PRI請(qǐng)求,但這會(huì)消耗可觀的硬件資源且用軟件管理起來(lái)較復(fù)雜。在一個(gè)實(shí)施例中,通信鏈路117為HyperTransport鏈路。并非添加上述的一組寄存器,另一解決方案將是將語(yǔ)義添加到如HyperTransport的通信協(xié)議以及將把PRI包轉(zhuǎn)換成待由處理器消耗的HyperTransport事務(wù)的處理器體系結(jié)構(gòu)。這將需要添加到所有處理器,并且遇到與上面構(gòu)想的新硬件相同的問(wèn)題,如硬件資源的消耗、在一組寄存器后面的串行化以及復(fù)雜的軟件管理。最后,這將非常難以以單深串行化方式以外的方式來(lái)實(shí)現(xiàn)。
在本發(fā)明的一個(gè)實(shí)施例中,I/O集線器107接收頁(yè)服務(wù)請(qǐng)求(在接口上利用PRI或其它協(xié)議)、將信息組裝成標(biāo)準(zhǔn)格式并將信息寫(xiě)入系統(tǒng)存儲(chǔ)器103中的隊(duì)列中。圖2示出了系統(tǒng)存儲(chǔ)器103中的示例性隊(duì)列結(jié)構(gòu)203。隊(duì)列的利用提供靈活的容量并允許同時(shí)處理多個(gè)請(qǐng)求而不丟失任何請(qǐng)求。由于隊(duì)列在系統(tǒng)存儲(chǔ)器中,所以隊(duì)列可為任意大(或小),且可基于系統(tǒng)活動(dòng)或其它考慮通過(guò)系統(tǒng)軟件來(lái)設(shè)定大小。本解決方案的可伸縮性不再簡(jiǎn)單地受硬件資源的限制,并且可根據(jù)需要變大。在一個(gè)實(shí)施例中,用來(lái)從接收到的頁(yè)請(qǐng)求產(chǎn)生隊(duì)列條目的硬件功能119被集成到IOMMU中(見(jiàn)圖1)。在一個(gè)實(shí)施例中,頁(yè)服務(wù)請(qǐng)求可集成到除了頁(yè)服務(wù)請(qǐng)求之外還提供其它功能(如事件報(bào)告)的隊(duì)列中。事件可以是例如IOMMU檢測(cè)到的錯(cuò)誤狀況。在一個(gè)實(shí)施例中,將頁(yè)服務(wù)請(qǐng)求作為一種類(lèi)型的事件來(lái)處理并將其直接與其它事件一起合并到事件日志(或隊(duì)列)中。在另一實(shí)施例中,頁(yè)服務(wù)請(qǐng)求具有獨(dú)特的頁(yè)服務(wù)請(qǐng)求隊(duì)列。在獨(dú)特的頁(yè)服務(wù)請(qǐng)求隊(duì)列(外圍設(shè)備頁(yè)請(qǐng)求(PPR)隊(duì)列或日志)的情況下,可使用中斷來(lái)通知處理器新的PPR服務(wù)請(qǐng)求已到達(dá)。此中斷可不同于事件中斷,且可對(duì)PPR隊(duì)列狀態(tài)是唯一的,從而允許PPR處理代碼被直接調(diào)用(而沒(méi)有一般事件處理的開(kāi)銷(xiāo))。此外,可將處理PPR請(qǐng)求的代碼與事件日志處理隔離,從而通過(guò)功能隔離提供更佳的系統(tǒng)安全性。為了簡(jiǎn)單管理,隊(duì)列具有頭和尾指針。在其它實(shí)施例中,可使用消息而非中斷來(lái)告知處理器新隊(duì)列條目的存在。參照?qǐng)D2,IOMMU包含包括尾指針寄存器211、頭指針寄存器215、緩沖器大小寄存器217和緩沖器基地址寄存器219的寄存器。在一個(gè)實(shí)施例中,PPR日志或隊(duì)列占用從基地址寄存器219中的可編程基地址開(kāi)始直到在緩沖器大小寄存器217中指定的可編程大小的連續(xù)的物理存儲(chǔ)器。當(dāng)主機(jī)軟件消耗隊(duì)列條目時(shí),其增大讀指針以向IOMMU指示處理器已消耗隊(duì)列條目。當(dāng)IOMMU發(fā)送新的隊(duì)列條目時(shí),IOMMU增大尾指針。當(dāng)除了一個(gè)隊(duì)列槽之外其它隊(duì)列槽都被使用時(shí)隊(duì)列就滿了,當(dāng)沒(méi)有槽可用時(shí)隊(duì)列就溢出了。當(dāng)溢出存在時(shí),主機(jī)軟件必須消耗隊(duì)列條目或者增大隊(duì)列以避免使頁(yè)請(qǐng)求無(wú)法進(jìn)入頁(yè)請(qǐng)求隊(duì)列。圖3中示出了示例性的普通隊(duì)列條目。該條目包括將該條目標(biāo)識(shí)為PPR隊(duì)列條目的PPR碼。隊(duì)列條目通過(guò)通信接口 117發(fā)送到存儲(chǔ)器控制器102,該存儲(chǔ)器控制器102將隊(duì)列條目寫(xiě)入到系統(tǒng)存儲(chǔ)器103中(見(jiàn)圖1)。圖4示出了從在PRI包中接收到的外圍設(shè)備頁(yè)服務(wù)請(qǐng)求產(chǎn)生的PPR隊(duì)列條目的實(shí)施例。進(jìn)程地址空間ID(PASID)是用來(lái)標(biāo)識(shí)客戶VM(虛擬機(jī))(如果虛擬化已激活)內(nèi)的用戶進(jìn)程的字段。如果虛擬化不存在,則PASID標(biāo)識(shí)本機(jī)OS (操作系統(tǒng))中的用戶進(jìn)程。設(shè)備ID(DeviceID)標(biāo)識(shí)請(qǐng)求外圍設(shè)備。PPR碼OOOlb是用來(lái)定義此特定格式的值;然而,將包含不同信息或其它格式的其它格式也是可能的。GN位指示PRI請(qǐng)求是用于客戶VM還是客戶VM內(nèi)的進(jìn)程(在一種設(shè)置中,可忽略PASID信息;在另一種設(shè)置中,PASID信息對(duì)于處理請(qǐng)求是必需的)。RZ位指示接收到的包中存在錯(cuò)誤且PPR信息可能已損壞。WP、RP和NX位表示PRI包中請(qǐng)求的寫(xiě)、讀和執(zhí)行權(quán)限(如果有)。PPR標(biāo)簽(PPRtag)字段將在PRI響應(yīng)包中返回給外圍設(shè)備。S和地址字段定義需要服務(wù)的頁(yè)的地址(連同PASID-如果GN指示需要它的話)。計(jì)數(shù)字段指示請(qǐng)求中有多少連續(xù)的頁(yè)需要服務(wù)。可包括用戶/主管(US)位以用信號(hào)通知請(qǐng)求是用于用戶還是主管訪問(wèn)。當(dāng)圖4中所示信息是用于PRI請(qǐng)求時(shí),頁(yè)服務(wù)請(qǐng)求可采用其它格式。然而,通常將在頁(yè)服務(wù)請(qǐng)求中找到諸如設(shè)備ID和地址的與頁(yè)請(qǐng)求相關(guān)的信息。
當(dāng)PRI請(qǐng)求到達(dá)時(shí),使用圖2中所示的隊(duì)列結(jié)構(gòu)203,PRI請(qǐng)求中的信息被寫(xiě)入存儲(chǔ)器103。然后,使用中斷或其它適當(dāng)?shù)耐ㄖ夹g(shù)通知在處理器101上執(zhí)行的系統(tǒng)軟件。然后,系統(tǒng)軟件能夠在適當(dāng)?shù)臅r(shí)候消耗PRI請(qǐng)求。必須為系統(tǒng)軟件提供以信號(hào)通知外圍設(shè)備PRI請(qǐng)求已完成的某種方式。這可以幾種方式來(lái)完成。在一個(gè)實(shí)施例中,提供帶有諸如標(biāo)簽字段、計(jì)數(shù)和設(shè)備ID的PRI請(qǐng)求(圖4)的關(guān)鍵部分并指示IOMMU來(lái)根據(jù)協(xié)議要求構(gòu)造PRI響應(yīng)包的IOMMU命令。在一個(gè)實(shí)施例中,IOMMU的命令隊(duì)列存在于系統(tǒng)存儲(chǔ)器中。系統(tǒng)軟件將命令寫(xiě)入IOMMU命令隊(duì)列中并通知IOMMU已將新的命令置于堆棧上。在一個(gè)實(shí)施例中,軟件將PRI恢復(fù)命令寫(xiě)入到存儲(chǔ)器中的命令隊(duì)列中。為了通知I0MMU,軟件寫(xiě)入存儲(chǔ)管理Ι/0(ΜΜΙ0)郵箱(由IOMMU公布)以喚醒IOMMU并向其告知其命令隊(duì)列中存在新的工作。最后,由于系統(tǒng)中可以有多個(gè)I0MMU,每個(gè)IOMMU可以服務(wù)于不同的外圍設(shè)備集合,所有IOMMU都獨(dú)立地操作,所以進(jìn)一步的并行是可能的。對(duì)于多個(gè)MMU,存在多個(gè)PPR隊(duì)列,每個(gè)IOMMU —個(gè)PPR隊(duì)列。來(lái)自每個(gè)MMU的中斷可間接地指示來(lái)源。在一個(gè)實(shí)施例中,中斷被配置來(lái)使用八位矢量數(shù)將CPU中斷。每個(gè)矢量數(shù)具有唯一的代碼入口點(diǎn)。如果軟件配置所有IOMMU中斷來(lái)使用唯一的矢量數(shù),則IOMMU源可根據(jù)矢量數(shù)來(lái)確定。然而,IOMMU中斷共享矢量數(shù)也是可能的。如果軟件這樣做,則其無(wú)法立即分辨出哪個(gè)IOMMU在中斷且必須檢查映射到中斷矢量的每個(gè)IOMMU的PPR隊(duì)列。圖5示出了根據(jù)本發(fā)明的實(shí)施例的示例性流程圖。在501中,外圍設(shè)備111通過(guò)通信鏈路115向IOMMUl 10發(fā)送頁(yè)服務(wù)請(qǐng)求。在503中,IOMMU從頁(yè)服務(wù)請(qǐng)求提取相關(guān)信息并構(gòu)造隊(duì)列條目。在505中,IOMMU通過(guò)存儲(chǔ)器控制器102向系統(tǒng)存儲(chǔ)器發(fā)送隊(duì)列條目并更新IOMMU中的隊(duì)列寫(xiě)指針。在507中,IOMMU中斷處理器以指示頁(yè)服務(wù)請(qǐng)求已進(jìn)入系統(tǒng)存儲(chǔ)器中的頁(yè)服務(wù)隊(duì)列。響應(yīng)于該中斷,在509中,處理器處理該中斷和頁(yè)請(qǐng)求、更新IOMMU中的讀指針并通過(guò)響應(yīng)包向IOMMU發(fā)出命令以確認(rèn)請(qǐng)求。最后,在511中,IOMMU向外圍設(shè)備發(fā)送響應(yīng)包。

使用本文描述的隊(duì)列結(jié)構(gòu)的方法具有幾個(gè)優(yōu)勢(shì)。它是可縮放的,從而能夠處理具有最小作用的小系統(tǒng),但能夠縮放到具有許多活動(dòng)I/o的大系統(tǒng)。軟件開(kāi)發(fā)相對(duì)簡(jiǎn)單(相比于開(kāi)發(fā)用于新硬件的新軟件)。本發(fā)明可以基于對(duì)尾指針寄存器的訪問(wèn)通過(guò)IOMMU內(nèi)部的簡(jiǎn)單爭(zhēng)用技術(shù)并發(fā)地處理多個(gè)PRI請(qǐng)求,因此爭(zhēng)用解決可以很快。本文描述的方法通過(guò)使用諸如中斷和系統(tǒng)存儲(chǔ)器的現(xiàn)有體系結(jié)構(gòu)機(jī)制避免了對(duì)處理器和通信鏈路體系結(jié)構(gòu)進(jìn)行更改??蓪⒂布薷南抻贗0MMU。最后,此隊(duì)列方法將各種通信和處理器協(xié)議實(shí)現(xiàn)的機(jī)制與策略(由系統(tǒng)軟件實(shí)現(xiàn))整潔地分開(kāi)。因此,此方法可用在處理多個(gè)通信協(xié)議的多個(gè)處理器體系結(jié)構(gòu)上??梢攒浖碳?、硬件或其組合實(shí)現(xiàn)本發(fā)明的實(shí)施例的各個(gè)方面。計(jì)算機(jī)可讀介質(zhì)可存儲(chǔ)可用于實(shí)現(xiàn)本發(fā)明的各個(gè)方面的指令。計(jì)算機(jī)可讀介質(zhì)為永久地、可拆卸地或遠(yuǎn)程地耦合至計(jì)算機(jī)系統(tǒng)的有形計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。有形計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可包括例如諸如基于半導(dǎo)體的存儲(chǔ)器(如RAM、EEPROM或ROM)、磁存儲(chǔ)介質(zhì)或光學(xué)存儲(chǔ)介質(zhì)的有形介質(zhì)或其它有形存儲(chǔ)介質(zhì)。雖然在描述本發(fā)明的實(shí)施例時(shí)已大致地闡述了電路和物理結(jié)構(gòu),但應(yīng)認(rèn)識(shí)到,在現(xiàn)代半導(dǎo)體設(shè)計(jì)和制造中,可以適于在后續(xù)的設(shè)計(jì)、模擬、測(cè)試或制造階段中使用的計(jì)算機(jī)可讀描述形式來(lái)實(shí)施物理結(jié)構(gòu)和電路??蓪⒆鳛槭纠耘渲弥械碾x散組件呈現(xiàn)的結(jié)構(gòu)和功能實(shí)現(xiàn)為組合的結(jié)構(gòu)或組件。本發(fā)明的各實(shí)施例被構(gòu)想為包括均如本文所述且如權(quán)利要求書(shū)所定義的電路、電路系統(tǒng)、相關(guān)方法以及其上具有此類(lèi)電路、系統(tǒng)和方法的編碼(如HDL、Verilog、⑶SII數(shù)據(jù))的有形計(jì)算機(jī)可讀介質(zhì)。另外,計(jì)算機(jī)可讀介質(zhì)可存儲(chǔ)可用于實(shí)現(xiàn)本發(fā)明的指令以及數(shù)據(jù)。這些指令/數(shù)據(jù)可與硬件、軟件、固件或其組合相關(guān)。在本文中闡述的本發(fā)明的描述為說(shuō)明性的,并且不旨在如權(quán)利要求書(shū)中所闡述的那樣限制本發(fā)明的范圍。例如,雖然本文中描述的實(shí)施例利用IOMMU來(lái)產(chǎn)生隊(duì)列條目并發(fā)送響應(yīng)包和中斷處理器,但根據(jù)每個(gè)特定系統(tǒng)的需要和要求,其它實(shí)施例可將該功能定位在計(jì)算機(jī)系統(tǒng)中的其它地方。在不脫離如權(quán)利要求書(shū)中闡述的本發(fā)明的范圍的情況下,可根據(jù)本文中闡述的描述對(duì)本文所公開(kāi)的實(shí)施例進(jìn)行其它變化和修改。
權(quán)利要求
1.一種方法,其包括 從外圍設(shè)備接收頁(yè)請(qǐng)求,所述頁(yè)請(qǐng)求請(qǐng)求將存儲(chǔ)頁(yè)載入系統(tǒng)存儲(chǔ)器; 將對(duì)應(yīng)于所述頁(yè)請(qǐng)求的頁(yè)請(qǐng)求信息作為隊(duì)列條目寫(xiě)入所述系統(tǒng)存儲(chǔ)器中的隊(duì)列;以及 通知處理器可在所述隊(duì)列中獲得所述頁(yè)請(qǐng)求。
2.如權(quán)利要求1所述的方法,其還包括使用中斷通知所述處理器以向所述處理器指示已接收到所述頁(yè)請(qǐng)求,所述中斷用新頁(yè)請(qǐng)求的存在來(lái)唯一地標(biāo)識(shí)。
3.如權(quán)利要求1所述的方法,其還包括在所述處理器已處理所述頁(yè)請(qǐng)求后用信號(hào)通知所述外圍設(shè)備所述頁(yè)請(qǐng)求已完成。
4.如權(quán)利要求3所述的方法,其還包括 在輸入/輸出存儲(chǔ)管理單元(IOMMU)從所述外圍設(shè)備接收所述頁(yè)請(qǐng)求;以及 從所述處理器向所述IOMMU提供指示以產(chǎn)生用來(lái)以信號(hào)通知所述頁(yè)請(qǐng)求的完成的消肩、O
5.如權(quán)利要求1所述的方法,其還包括 在所述處理器上執(zhí)行的主機(jī)軟件通過(guò)更新用于所述隊(duì)列的讀指針來(lái)指示所述隊(duì)列條目的消耗,所述隊(duì)列為具有寫(xiě)指針和所述讀指針的循環(huán)緩沖器。
6.如權(quán)利要求1所述的方法,其還包括通過(guò)寫(xiě)可編程位置來(lái)選擇所述隊(duì)列的大小。
7.一種計(jì)算機(jī)系統(tǒng),其包括 集成電路,其包括 第一通信鏈路接口,其用來(lái)從外圍設(shè)備接收指示需要存儲(chǔ)頁(yè)服務(wù)的頁(yè)請(qǐng)求;以及 隊(duì)列條目產(chǎn)生邏輯,其用來(lái)響應(yīng)于接收到所述頁(yè)請(qǐng)求而產(chǎn)生包括來(lái)自所述頁(yè)請(qǐng)求的信息的隊(duì)列條目并將所述隊(duì)列條目通過(guò)第二通信接口發(fā)送,以便將所述隊(duì)列條目寫(xiě)入到頁(yè)請(qǐng)求隊(duì)列中。
8.如權(quán)利要求7所述的計(jì)算機(jī)系統(tǒng),其還包括 系統(tǒng)存儲(chǔ)器,其經(jīng)由存儲(chǔ)器控制器耦合至所述集成電路,所述系統(tǒng)存儲(chǔ)器包括所述頁(yè)請(qǐng)求隊(duì)列。
9.如權(quán)利要求7所述的計(jì)算機(jī)系統(tǒng),其中所述集成電路還被配置來(lái)通知處理器可在所述隊(duì)列中獲得所述隊(duì)列條目。
10.如權(quán)利要求9所述的計(jì)算機(jī)系統(tǒng),其中 所述集成電路還包括定義向所述頁(yè)請(qǐng)求隊(duì)列中的寫(xiě)入的尾指針和定義向所述頁(yè)請(qǐng)求隊(duì)列中的讀入的頭指針,且其中, 在讀取所述系統(tǒng)存儲(chǔ)器中的隊(duì)列條目后,在所述處理器上執(zhí)行的軟件更新所述頭指針,且其中在向所述頁(yè)請(qǐng)求隊(duì)列寫(xiě)入后,所述集成電路更新所述尾指針。
11.如權(quán)利要求7所述的計(jì)算機(jī)系統(tǒng),其中所述隊(duì)列條目包括標(biāo)識(shí)需要存儲(chǔ)頁(yè)服務(wù)的所述外圍設(shè)備的設(shè)備標(biāo)識(shí)字段和包含所述外圍設(shè)備想要訪問(wèn)的虛擬地址的地址字段。
12.如權(quán)利要求7所述的計(jì)算機(jī)系統(tǒng),其中所述集成電路還包括可編程隊(duì)列長(zhǎng)度寄存器,其用來(lái)定義所述頁(yè)請(qǐng)求隊(duì)列的大??;和隊(duì)列基地址寄存器,其用來(lái)定義所述頁(yè)請(qǐng)求隊(duì)列的基地址。
全文摘要
從外圍設(shè)備接收到頁(yè)服務(wù)請(qǐng)求,其請(qǐng)求將存儲(chǔ)頁(yè)載入系統(tǒng)存儲(chǔ)器。將對(duì)應(yīng)于接收到的頁(yè)服務(wù)請(qǐng)求的頁(yè)服務(wù)請(qǐng)求信息作為隊(duì)列條目寫(xiě)入系統(tǒng)存儲(chǔ)器中的隊(duì)列結(jié)構(gòu)。通知處理器隊(duì)列中存在頁(yè)請(qǐng)求??墒褂眯玛?duì)列條目的中斷通知處理器。處理器處理頁(yè)服務(wù)請(qǐng)求,并向外圍設(shè)備通知請(qǐng)求處理的完成。
文檔編號(hào)G06F13/42GK103052949SQ201180036664
公開(kāi)日2013年4月17日 申請(qǐng)日期2011年7月15日 優(yōu)先權(quán)日2010年7月16日
發(fā)明者馬克·D·赫梅爾, 安德魯·G·克格爾 申請(qǐng)人:超威半導(dǎo)體公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
西乌珠穆沁旗| 澄江县| 韶关市| 陆良县| 昆明市| 上饶市| 廊坊市| 九龙坡区| 江孜县| 神农架林区| 盱眙县| 昌黎县| 叶城县| 德庆县| 福泉市| 英超| 友谊县| 松江区| 磴口县| 武冈市| 龙川县| 郑州市| 鄂州市| 兴仁县| 会东县| 疏附县| 大竹县| 万载县| 手机| 闵行区| 吴忠市| 忻城县| 麻江县| 南木林县| 太仆寺旗| 南华县| 静宁县| 乐山市| 金沙县| 宝丰县| 绥德县|