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

即時(shí)視頻的制作方法

文檔序號:6462994閱讀:191來源:國知局
專利名稱:即時(shí)視頻的制作方法
技術(shù)領(lǐng)域
本發(fā)明的實(shí)施例總體上涉及計(jì)算系統(tǒng),特別是通過在初期初始化視頻 卡來加速平臺(tái)的引導(dǎo)。
背景技術(shù)
存在多種對計(jì)算設(shè)備進(jìn)行引導(dǎo)(booting)的機(jī)制。特別是在服務(wù)器中, 引導(dǎo)視頻部件可能很慢,導(dǎo)致缺乏面向用戶或操作者的早期可視反饋。在 引導(dǎo)周期中越早出現(xiàn)視頻反饋的系統(tǒng)看起來似乎引導(dǎo)得越快,并能給用戶 提供額外的弓I導(dǎo)狀態(tài)。桌面和移動(dòng)系統(tǒng)傾向于具有比服務(wù)器更快的弓I導(dǎo)速 度。缺乏可視反饋可能會(huì)導(dǎo)致出現(xiàn)系統(tǒng)似乎根本沒有引導(dǎo)的表象。在現(xiàn)有 系統(tǒng)中,桌面和移動(dòng)系統(tǒng)具有比服務(wù)器復(fù)雜度低的存儲(chǔ)器子系統(tǒng),因此花 費(fèi)更少的時(shí)間引導(dǎo)BIOS。服務(wù)器系統(tǒng)具有更加復(fù)雜的存儲(chǔ)器子系統(tǒng),因 此BIOS初始化存儲(chǔ)器子系統(tǒng)并且最終引導(dǎo)系統(tǒng)將花費(fèi)更長的時(shí)間。在現(xiàn)有系統(tǒng)中,許多任務(wù)要求在視頻子系統(tǒng)被初始化之前被執(zhí)行。因 此,用戶在視頻子系統(tǒng)引導(dǎo)之前不能夠看到引導(dǎo)過程的視頻狀態(tài)。服務(wù)器 在視頻可被初始化之前平均用時(shí)20-50+秒。不熟悉延遲的視頻響應(yīng)時(shí)間的 用戶可能會(huì)認(rèn)為服務(wù)器弓I導(dǎo)失敗并且錯(cuò)誤地重新按動(dòng)電源按鈕。


從下面對本發(fā)明的詳細(xì)說明中,本發(fā)明的特征和優(yōu)勢將變得更加明顯, 其中圖1是一個(gè)實(shí)施例所使用的協(xié)議架構(gòu);圖2是根據(jù)所要求保護(hù)的主題而使用的用于物理互連的裝置的方框圖;圖3A-C是由多個(gè)實(shí)施例所使用的系統(tǒng)的多個(gè)實(shí)施例; 圖4說明依照本發(fā)明的實(shí)施例的四插槽(socket)系統(tǒng);圖5說明在本發(fā)明實(shí)施例中視頻初始化過程中可能的時(shí)間節(jié)約;圖6是對傳統(tǒng)隨機(jī)存取存儲(chǔ)器(RAM)的說明,其中示出了,依照本發(fā) 明的實(shí)施例,數(shù)據(jù)被映射到當(dāng)作RAM的高速緩存(Cache as RAM, CAR)中;圖6A說明依照本發(fā)明的實(shí)施例,RAM中的數(shù)據(jù)到CAR中的數(shù)據(jù)的 映射;圖7是說明依照本發(fā)明的實(shí)施例,可擴(kuò)展固件接口(EFI)系統(tǒng)的執(zhí)行流 程的方框圖;以及圖8是說明依照本發(fā)明的實(shí)施例,使用當(dāng)作RAM的高速緩存(CAR) 來初始化視頻子系統(tǒng)的示例性方法的流程圖。
具體實(shí)施方式
本發(fā)明的實(shí)施例是一種系統(tǒng)和方法,涉及使用處理器存儲(chǔ)器或高速緩存的平臺(tái)的視頻部件的早期初始化。在至少一個(gè)實(shí)施例中,本發(fā)明旨在利 用具有與處理器直接耦合的存儲(chǔ)器或高速緩存的平臺(tái)來加速視頻初始化。在一實(shí)施例中,被以點(diǎn)對點(diǎn)(pTp)架構(gòu)配置的平臺(tái)使得能夠加速視頻初始 化,由此在引導(dǎo)或重啟過程中為用戶提供了可視反饋。說明書中對本發(fā)明的"一個(gè)實(shí)施例"或"實(shí)施例"的引用是指結(jié)合該 實(shí)施例而描述的特定特征、結(jié)構(gòu)或特點(diǎn)包含在本發(fā)明的至少一個(gè)實(shí)施例中。 因此,在說明書中多處出現(xiàn)的短語"在一個(gè)實(shí)施例中"并不必然都指同一 個(gè)實(shí)施例。為了便于說明,闡述了許多具體的配置和細(xì)節(jié),以便提供對本發(fā)明的 全面理解。然而,對于本領(lǐng)域技術(shù)人員而言顯而易見的是,本發(fā)明的實(shí)施 例無需在此描述的具體細(xì)節(jié)也可以被實(shí)現(xiàn)。此外,為了避免使本發(fā)明難以 理解,公知的特征被省略或簡化。在該說明書中可以給出各種示例。這些 僅僅是對本發(fā)明的具體實(shí)施例的描述。本發(fā)明的范圍并不限于所給出的示 例。當(dāng)前技術(shù)發(fā)展的一個(gè)領(lǐng)域涉及可靠性、可用性和可服務(wù)性(RAS)?;?于前端總線(FSB)架構(gòu)的當(dāng)前系統(tǒng)不允許熱插拔單獨(dú)的總線部件。同樣地, 當(dāng)前系統(tǒng)由于要傳遞初始化值而受限于引腳,并且也由于初始通電配置 (Power-On Configuration, POC)值不正確而要執(zhí)行多次熱啟動(dòng)。在一實(shí)施例中, 一種點(diǎn)對點(diǎn)(pTp)架構(gòu)平臺(tái)支持分層的協(xié)議方案,這將 在下面進(jìn)一步討論。圖1示出了底層網(wǎng)絡(luò)的高速緩存一致性(cache coherence)協(xié)議的抽象視圖的 一個(gè)例子。圖l是一個(gè)實(shí)施例所利用的協(xié)議架構(gòu)。該架構(gòu)描述了耦合到網(wǎng)絡(luò)結(jié)構(gòu) (network fabric)的多個(gè)緩存代理(caching agent)和本地代理(home agent)。例 如,該網(wǎng)絡(luò)結(jié)構(gòu)遵守分層協(xié)議方案,可包括以下之一或全部鏈路層、物 理層、協(xié)議層、路由層或傳輸層。對于點(diǎn)對點(diǎn)網(wǎng)絡(luò),該結(jié)構(gòu)便于從一種協(xié) 議(本地或緩存代理)傳輸消息到另一種協(xié)議。 一方面,該圖描述了底層網(wǎng) 絡(luò)的高速緩存一致性協(xié)議的抽象視圖。圖2是根據(jù)這里所述的本發(fā)明實(shí)施例而利用的物理互連裝置的方框 圖。 一方面,該裝置描述了用于處理器、芯片組和/或IO橋接部件的高速 緩存一致的、基于鏈路的互連方案的物理層。例如,可以由集成設(shè)備的每 個(gè)物理層執(zhí)行物理互連。具體地,物理層在包含兩個(gè)單向鏈路的物理互連 上的兩個(gè)端口之間提供了通信。具體地, 一個(gè)單向鏈路204從第一集成設(shè) 備的第一發(fā)送端口 250a到第二集成設(shè)備的第一接收端口 250b。同樣地, 第二單向鏈路206從第二集成設(shè)備的第一發(fā)送端口 250b到第一集成設(shè)備的 第一接收端口 250a。然而,所要求保護(hù)的主題不限于這兩個(gè)單向鏈路。本 領(lǐng)域技術(shù)人員將理解所要求保護(hù)的主題支持任何已知的信號傳輸技術(shù),比 如雙向鏈路等。圖3A-C描述了具有一個(gè)或多個(gè)處理器的點(diǎn)對點(diǎn)系統(tǒng)。所要求保護(hù)的 主題可以包括幾種實(shí)施例,比如,具有一個(gè)處理器306 (圖3A)、具有兩個(gè) 處理器(P) 302 (圖3B)、以及具有四個(gè)處理器(P) 304 (圖3C)。在實(shí)施例302 和304中,每一個(gè)處理器耦合到一個(gè)存儲(chǔ)器(M)321,并且通過網(wǎng)絡(luò)結(jié)構(gòu)與 每一個(gè)處理器323連接,該網(wǎng)絡(luò)結(jié)構(gòu)可以包括以下之一或者全部鏈路層、 協(xié)議層、路由層、傳輸層和物理層。該結(jié)構(gòu)使在點(diǎn)對點(diǎn)網(wǎng)絡(luò)中從一種協(xié)議(本 地或緩存代理)傳輸消息到另一種協(xié)議變得便利。如前所述,該網(wǎng)絡(luò)結(jié)構(gòu)的 系統(tǒng)支持結(jié)合圖1-3所描述的任何實(shí)施例。在實(shí)施例306中,單處理器P 323通過對應(yīng)于分層協(xié)議方案的網(wǎng)絡(luò)結(jié) 構(gòu)耦合到被標(biāo)為IO+M+F的圖形和存儲(chǔ)器控制器325。所述圖形和存儲(chǔ)器 控制器可以具有可編程屬性寄存器(PAM),以將存儲(chǔ)器訪問映射到合適的存儲(chǔ)單元(memory location)。所述圖形和存儲(chǔ)器控制器耦合到存儲(chǔ)器并且可 以通過快速外圍組件互連(PCI)鏈路來實(shí)現(xiàn)接收和發(fā)送。同樣地,所述圖形 和存儲(chǔ)器控制器耦合到輸入/輸出控制中心(ICH)327。此外,ICH327通過 少針腳型(LPC)總線耦合到固件中心(FWH)329。另夕卜,對于一個(gè)不同的單 處理器實(shí)施例,處理器將具有外部網(wǎng)絡(luò)結(jié)構(gòu)鏈接。該處理器可以包含具有 分離或共享的高速緩存的多個(gè)核心,每個(gè)核心耦合到X-bar路由器和非路 由全局鏈接接口 。X-bar路由器是一插槽中多個(gè)核心之間的pTp互連。X-bar 是一種"十字條(cross-bar)",也就是每一個(gè)部件與其它每一個(gè)部件之間都 有十字鏈接或連接。這明顯地快于pTp互連鏈接,并且能夠在片上實(shí)現(xiàn), 促進(jìn)并行通信。因此,該外部網(wǎng)絡(luò)結(jié)構(gòu)鏈接耦合到X-bar路由器和非路由 全局鏈接接口。多處理器系統(tǒng)的實(shí)施例包括多個(gè)處理器節(jié)點(diǎn)323,通過點(diǎn)對點(diǎn)網(wǎng)絡(luò)331 (由處理節(jié)點(diǎn)之間的粗線表示)互連。對于本論述,術(shù)語"處理節(jié)點(diǎn)"和"計(jì) 算節(jié)點(diǎn)"可以互換使用。處理器之間的鏈路通常是全寬或最大寬度,從處 理器到IO中心(IOH)芯片組(CS)的鏈路通常是半寬。每個(gè)處理節(jié)點(diǎn)323 包括耦合到構(gòu)成系統(tǒng)主存儲(chǔ)器的相關(guān)存儲(chǔ)器321的一個(gè)或多個(gè)中央處理器 323。在可替換的實(shí)施例中,存儲(chǔ)器321可以被物理地合并成一個(gè)能夠被所 有的處理節(jié)點(diǎn)323訪問的主存儲(chǔ)器。每個(gè)處理節(jié)點(diǎn)323也可以包括與存儲(chǔ) 器321有接口的存儲(chǔ)器控制器325。每個(gè)處理節(jié)點(diǎn)323,包括與其相關(guān)聯(lián)的 存儲(chǔ)器控制器325,能夠被實(shí)現(xiàn)在同一個(gè)芯片上。在可替換的實(shí)施例中, 每個(gè)存儲(chǔ)器控制器325可以被實(shí)現(xiàn)在與其相關(guān)聯(lián)的處理節(jié)點(diǎn)323分離的一 個(gè)芯片上。每個(gè)存儲(chǔ)器321可以包括一種或多種存儲(chǔ)設(shè)備,比如,雙列直插存儲(chǔ) 模組(DMM)、動(dòng)態(tài)隨機(jī)存取存儲(chǔ)(DRAM)設(shè)備、同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器 (SDRAM)設(shè)備、雙倍數(shù)據(jù)率(DDR) SDRAM設(shè)備、或者其它的適合于服務(wù) 器或一般應(yīng)用的易失性或非易失性存儲(chǔ)設(shè)備。該系統(tǒng)也可以包括一個(gè)或多個(gè)輸A/輸出(I/0)控制器327,以便為處理 節(jié)點(diǎn)323和其它系統(tǒng)部件提供訪問I/O設(shè)備(例如,閃速存儲(chǔ)器(Flash memory)或固件中心(FWH)329)的接口。在一實(shí)施例中,每一個(gè)I/O控制器 327可以耦合到一個(gè)或多個(gè)處理節(jié)點(diǎn)。在I/O控制器327和其相應(yīng)的處理節(jié)點(diǎn)323之間的鏈路被作為1/0鏈路。I/0設(shè)備可以包括工業(yè)標(biāo)準(zhǔn)架構(gòu)(ISA) 設(shè)備、外圍組件互連(PCI)設(shè)備、PCI Express設(shè)備、通用串行總線(USB)設(shè) 備、小型計(jì)算機(jī)系統(tǒng)接口(SCSI)設(shè)備或其它適用于服務(wù)器或一般應(yīng)用的標(biāo) 準(zhǔn)的或?qū)S械腎/O設(shè)備。1/0設(shè)備可以是有線或無線設(shè)備。在一個(gè)實(shí)施例中, I/O設(shè)備可以包括無線發(fā)射器和無線發(fā)射接收器。該系統(tǒng)可以是服務(wù)器、多處理器桌面計(jì)算設(shè)備、嵌入式系統(tǒng)、網(wǎng)絡(luò)設(shè) 備、或其中通過廣域網(wǎng)遠(yuǎn)程連接多個(gè)處理節(jié)點(diǎn)的分布式計(jì)算設(shè)備。在圖3C所示的實(shí)施例中,網(wǎng)絡(luò)331為處理節(jié)點(diǎn)323提供部分連通性。 因此,每一個(gè)處理節(jié)點(diǎn)323直接連接到其它處理節(jié)點(diǎn)中的一些但也許不是 全部。 一個(gè)處理節(jié)點(diǎn)323通過直接鏈路或間接連接(如,使用另一個(gè)處理器 作為中間者)連接到另一個(gè)處理節(jié)點(diǎn)。網(wǎng)絡(luò)331傳遞的一種消息是偵聽消息(snoop message),其包含關(guān)于存 儲(chǔ)器事務(wù)(memory transaction)的信息,所述存儲(chǔ)器事務(wù)可能影響高速緩存 (未示出)中數(shù)據(jù)項(xiàng)的一致性狀態(tài)。存儲(chǔ)器事務(wù)是指需要訪問任何存儲(chǔ)器設(shè) 備321或任何高速緩存的事務(wù)。當(dāng)任何處理節(jié)點(diǎn)執(zhí)行存儲(chǔ)器事務(wù)時(shí),該處 理節(jié)點(diǎn)在網(wǎng)絡(luò)321上發(fā)送一條偵聽消息(或等同的,偵聽請求),以請求所 有其它節(jié)點(diǎn)檢驗(yàn)或更新存儲(chǔ)在其各自的本地高速緩存中的數(shù)據(jù)項(xiàng)的一致性 狀態(tài)。I/O控制器327當(dāng)執(zhí)行直接存儲(chǔ)器存取(DMA)時(shí)也發(fā)送和接收偵聽 消息。因此,任何處理節(jié)點(diǎn)323和I/0控制器327都可以是一個(gè)偵聽消息 的請求節(jié)點(diǎn)也可以是另一個(gè)偵聽消息的目的節(jié)點(diǎn)。當(dāng)?shù)谝惶幚砉?jié)點(diǎn)給沒有直接與第一處理節(jié)點(diǎn)連接的第二處理節(jié)點(diǎn)發(fā)送 偵聽消息時(shí),第一和第二處理節(jié)點(diǎn)使用第三處理節(jié)點(diǎn)作為轉(zhuǎn)發(fā)節(jié)點(diǎn)。在該 情況下,第三處理節(jié)點(diǎn)作為一個(gè)轉(zhuǎn)發(fā)節(jié)點(diǎn)向第一和第二處理節(jié)點(diǎn)轉(zhuǎn)發(fā)偵聽 消息。該轉(zhuǎn)發(fā)可以通過一種扇出(fan-out)機(jī)制來執(zhí)行,該機(jī)制復(fù)制輸入的偵聽消息并且向不同的目標(biāo)轉(zhuǎn)發(fā)復(fù)制的消息。圖4是說明依照本發(fā)明實(shí)施例的具有點(diǎn)對點(diǎn)(pTp)互連架構(gòu)的四插槽系統(tǒng)的方框圖。處理器410、 420、 430和440可以包括任意數(shù)目的核心。處理器410、 420、 430和440中的每一個(gè)都有一個(gè)與之耦合的存儲(chǔ)器,分別為415、 425、 435和445。每一個(gè)處理器410、 420、 430和440也可以耦合到本地高速緩存。為了實(shí)現(xiàn)本發(fā)明的實(shí)施例,自引導(dǎo)處理器(boot strap processor, BSP) 410 必須具有局部高速緩存。處理器之間的點(diǎn)線表示pTp互連總線。處理器和 其存儲(chǔ)器之間的粗體線表示FBD (全緩沖DIMM)連接。該示例中的部分處 理器410和430可以通過pTp互連總線與輸入/輸出中心(IOH) 450連接。 IOH 450可以通過如灰線所示的多個(gè)快速外圍部件互連(PCI-e)總線耦合到 多個(gè)設(shè)備(未示出)。IOH450可以通過如虛線所示的直接媒體接口(DMI)總 線耦合到輸入/輸出控制中心(ICH) 460。 ICH 460可以耦合到固件中心 (FWH) 470和視頻圖形適配器(VGA) 480。在現(xiàn)有系統(tǒng)中,由于所請求的資源不能在早期獲得,因此視頻初始化 要花費(fèi)很長的時(shí)間。特別是,視頻需要卡的存儲(chǔ)器進(jìn)行映像(shadow)和初 始化。典型地,這需要一直等待直到存儲(chǔ)器訪問代碼被初始化。在本發(fā)明 的實(shí)施例中,與處理器耦合的高速緩存被用于初始化視頻。例如,在一示 例性實(shí)施例中,處理器410是平臺(tái)的自引導(dǎo)處理器(BSP)。在該示例pTp 架構(gòu)中,處理起410與高速緩存耦合。服務(wù)器處理器中的高速緩存的數(shù)量 可以改變。該高速緩存可以作為當(dāng)作RAM的高速緩存(CAR)。在一些實(shí)施 例中,具有很少高速緩存的服務(wù)器可以使用2-4MB高速緩存作為RAM。 一些服務(wù)器可以有25MB的高速緩存。視頻初始化通常要求少于256K的 存儲(chǔ)器。在使用CAR的情況下,PCI子系統(tǒng)相信高速緩存是主板上的物理 存儲(chǔ)器。在Vincent J.Zimmer等人的名為"Using A Processor Cache As RAM During Platform Initialization"的共有未決專利申請公開US 2004-0103272 Al (Ser. No. 10/306,327)中對當(dāng)作RAM的高速緩存(CAR)有更加全面的描 述。必要時(shí),為了視頻初始化,將使用虛設(shè)(dummy)中斷向量表來設(shè)置一 些高速緩存。當(dāng)視頻ROM被初始化時(shí),其假定基于零的中斷向量表,以 便使用INT10中斷服務(wù)。圖5說明了在本發(fā)明實(shí)施例的視頻初始化過程中可能節(jié)約的時(shí)間。在 現(xiàn)有系統(tǒng)中,視頻將在501處被完全初始化。通過在RAM存儲(chǔ)器被初始 化之前開始視頻的初始化,本發(fā)明的實(shí)施例可以在503處加速視頻初始化。 這使得能夠給用戶提供視頻反饋。例如,在本發(fā)明的實(shí)施例中,如果沒有 找到系統(tǒng)存儲(chǔ)器,則能夠可視地通知用戶。但在現(xiàn)有系統(tǒng)中這是不可能的, 因?yàn)橹挥性谙到y(tǒng)RAM被找到并完成初始化之后才能對視頻進(jìn)行初始化。在現(xiàn)有系統(tǒng)中,只能使用聲音通知,也就是蜂鳴聲,來通知用戶沒有找到 存儲(chǔ)器。圖6是對傳統(tǒng)的隨機(jī)存取存儲(chǔ)器(RAM) 700的說明。當(dāng)系統(tǒng)第一次引 導(dǎo)時(shí),從閃速存儲(chǔ)器(未示出)執(zhí)行代碼。處理器沒有對該可執(zhí)行代碼進(jìn)行 緩存,而是其通常直接從固件中心或閃速存儲(chǔ)器執(zhí)行。閃速存儲(chǔ)器比系統(tǒng) 存儲(chǔ)器(RAM)700或高速緩存730慢。因此,初期的啟動(dòng)操作通常很慢。 在典型的系統(tǒng)中,要被初始化以用于一般應(yīng)用的系統(tǒng)RAM700在701處。 較高位的存儲(chǔ)器705被保留以用于指定的系統(tǒng)ROM (BIOS或固件代碼)和 其它引導(dǎo)所需的數(shù)據(jù)。在固件代碼之下的常規(guī)存儲(chǔ)器703可以被保留以用 于PCI和APIC(高級可編程中斷控制器)功能。在典型的引導(dǎo)過程中,固件 代碼被從閃存拷貝到常規(guī)RAM 705中。存儲(chǔ)器通常也配置有固件預(yù)留高 位存儲(chǔ)器(firmware reserved high memory) 707。在現(xiàn)有系統(tǒng)中,視頻初始化 在開始之前必須等待,直到系統(tǒng)RAM701被初始化。圖6A示出了依照本發(fā)明的實(shí)施例,RAM中的數(shù)據(jù)映射到CAR中的 數(shù)據(jù)。RAM中的固件代碼707被映射到高速緩存730中的一個(gè)區(qū)域,被 稱為當(dāng)作RAM的高速緩存(CAR) 710,在其中的707a處。系統(tǒng)存儲(chǔ)器(RAM) 701中通常被用于初始化視頻子系統(tǒng)的區(qū)域可以被映射到CAR存儲(chǔ)器范圍 AOOOO-FFFFF 701a。通常位于較低位的存儲(chǔ)器中的中斷向量表709被映射 到CAR 709a。位于RAM 713中的基地址單元(BAR)可以指向713中的其 它單元。然而,在本發(fā)明的實(shí)施例中,基于PAM326將存儲(chǔ)器訪問重定向 到高速緩存730, BAR被重新映射以指向CAR 713a。被映射到CAR 713a 中的存儲(chǔ)器的數(shù)據(jù)通常用于附加設(shè)備。CAR存儲(chǔ)器711可以用作存儲(chǔ)器緩 存區(qū)(scratch-pad),以通過堆棧傳送數(shù)據(jù)。例如,<C'調(diào)用通常通過堆棧(被 存儲(chǔ)器所支持)傳送信息,不同于采用寄存器傳送數(shù)據(jù),后者受大小等限制。 PAM寄存器326被設(shè)置,以將RAM映射到CAR 701a,使得通常要訪問 RAM來運(yùn)行的任何設(shè)備將轉(zhuǎn)而使用CAR中的存儲(chǔ)器。本發(fā)明的實(shí)施例可以在具有可擴(kuò)展固件接口(EFI)架構(gòu)的平臺(tái)上實(shí)現(xiàn)。 參考圖7,示出了說明根據(jù)本發(fā)明實(shí)施例的EFI系統(tǒng)的執(zhí)行流程的方框圖。 為了便于討論,重點(diǎn)在啟動(dòng)平臺(tái)所需的處理過程上。在現(xiàn)有的多核心系統(tǒng)中,選定一個(gè)處理器用于對平臺(tái)進(jìn)行引導(dǎo),該處理器被稱為自引導(dǎo)處理器(BSP)。當(dāng)引導(dǎo)時(shí),BSP將連續(xù)執(zhí)行所有的引導(dǎo)任 務(wù)。典型地,在具有可擴(kuò)展固件接口(EFI)架構(gòu)的平臺(tái)中,在早期引導(dǎo)過程 中執(zhí)行安全處理(SEC) 610階段。在SEC階段610,預(yù)驗(yàn)證器(pre-verifier)或度量信任核心根(Core Root of Trust for Measurement, CRTM) 611可以在加電時(shí)被運(yùn)行。典型的預(yù)驗(yàn)證器 是一個(gè)對環(huán)境進(jìn)行初始化和檢查的模塊。在現(xiàn)有系統(tǒng)中,預(yù)驗(yàn)證器和SEC 階段是度量信任核心根(CRTM),即用于啟動(dòng)可信平臺(tái)模塊(TPM)并執(zhí)行 BIOS的哈希擴(kuò)展的足夠代碼??梢栽赨RL www"ms^fcomp^>2ggrawp*wg 上找到有關(guān)TPM的更多信息。在PEI階段620中,處理器621、芯片組 623和主板625可以被初始化。主板625負(fù)責(zé)主板部件的基本初始化以及 尋找并初始化系統(tǒng)存儲(chǔ)器(RAM)。 一旦系統(tǒng)存儲(chǔ)器被初始化,BIOS可以被 從閃存中拷貝到系統(tǒng)RAM中,并且從RAM中執(zhí)行。在PEI階段620末 端,通常通過被稱為Dxelpl的模塊來啟動(dòng)驅(qū)動(dòng)執(zhí)行環(huán)境(DXE)分派器633, 以開始DXE階段630。然而,直到系統(tǒng)RAM被找到并且被初始化,才能 啟動(dòng)DXE分派器。注意為避免無意中形成超鏈接,在該文檔中URL中的 句點(diǎn)已被星號代替。在本發(fā)明的實(shí)施例中,在進(jìn)行到驅(qū)動(dòng)執(zhí)行環(huán)境(DXE)階段630之前, PEI階段620的操作可以從當(dāng)作RAM的高速緩存(CAR)上運(yùn)行。在引導(dǎo)設(shè) 備選擇(BDS)階段,DXE分派器啟動(dòng)引導(dǎo)分派器641。在過渡系統(tǒng)加載 (transient system load, TDL)階段650,引導(dǎo)OS 。引導(dǎo)設(shè)備選擇(BDS)階段640負(fù)責(zé)選擇適當(dāng)?shù)牟僮飨到y(tǒng)。在OS運(yùn)行時(shí) (RT階段660)期間系統(tǒng)故障時(shí),比如Windows⑧中所謂的BSOD(表示死機(jī) 的藍(lán)屏)或Unix/Linux中所謂的應(yīng)急(Panic),在后生命期(AL階段670)中, 可以重新構(gòu)建固件PEI和DXE流,以便允許進(jìn)行缺少OS時(shí)的恢復(fù)活動(dòng)。在現(xiàn)有系統(tǒng)中,視頻初始化無法開始,直到至少DXE階段630,以等 待系統(tǒng)RAM被找到并被初始化。在本發(fā)明的實(shí)施例中,使用當(dāng)作RAM的 高速緩存(CAR),可以在PEI階段620中執(zhí)行視頻初始化。圖8是使用CAR來初始化視頻子系統(tǒng)的示例性方法的流程圖。在一 實(shí)施例中,平臺(tái)像往常一樣從閃速存儲(chǔ)器開始引導(dǎo)。在框800,開始加電 自檢(POST)操作。在框801,系統(tǒng)軟件(BIOS)設(shè)置用作RAM的高速緩存(CAR)。在初期的POST處理過程中,處理器高速緩存被配置為從閃速存 儲(chǔ)器對BIOS映像的一部分(通常為PEI部分)進(jìn)行緩存,并且將映像放入 CAR(707a)中。在此種情況下,所使用的RAM是快速高速緩存(710),而 不是系統(tǒng)RAM (700)或DIMM。特別地,當(dāng)作RAM的高速緩存被配置成 包含固件高位存儲(chǔ)器指令和數(shù)據(jù)(707a)以及一部分存儲(chǔ)器713a,以用于對 來自視頻卡的option-ROM數(shù)據(jù)進(jìn)行緩存。在一實(shí)施例中,在框803,系統(tǒng) 軟件利用從CAR獲得的存儲(chǔ)器對PCI基地址寄存器(BAR)和視頻設(shè)備的 PCI配置空間進(jìn)行編程。為了初始化視頻,必須啟用可編程屬性映射(PAM)寄存器(326),以允 許視頻初始化對存儲(chǔ)器的某些區(qū)域進(jìn)行解碼。在框805,系統(tǒng)軟件對PAM 寄存器(326)進(jìn)行編程,指示真實(shí)的存儲(chǔ)器是可用的。如圖3A所示,PAM 寄存器(326)可以位于存儲(chǔ)器控制中心(MCH)或輸入/輸出中心(IOH) 326 中。該存儲(chǔ)器控制中心包括控制地址空間映射的內(nèi)部寄存器("PAM寄存 器")。這些寄存器控制地址生成器是到非易失性存儲(chǔ)器中尋找指令和數(shù)據(jù) 還是到主存儲(chǔ)器中進(jìn)行尋找??商娲兀鐖D3A所示,PAM寄存器(326) 可以位于10H(325)中,并控制地址生成器是到FWH(329)中的非易失性存 儲(chǔ)器尋找指令和數(shù)據(jù)還是到主存儲(chǔ)器(321)中進(jìn)行尋找。為了強(qiáng)制視頻子系 統(tǒng)在CAR中尋找,PAM中的指針指向用作RAM的高速緩存,而不是非 易失性存儲(chǔ)器或系統(tǒng)RAM,而視頻設(shè)備對此并不知情。在框807,系統(tǒng)軟 件在包含有VGA控制器的相關(guān)橋接器中設(shè)置VGA解碼位。在框809,建 立中斷向量表(IVT)以包含虛設(shè)INT10處理程序(handler),并且視頻ROM 被拷貝到CAR存儲(chǔ)器中。當(dāng)控制被傳給視頻卡時(shí),將使用BAR存儲(chǔ)器分 配,并且將自身映像到被認(rèn)為是傳統(tǒng)RAM的常規(guī)存儲(chǔ)器段中。常規(guī)的存 儲(chǔ)器段在存儲(chǔ)器映射中低于1MB,地址為0xC0000或0xD0000 ( "C"或 "D"段,約786K的存儲(chǔ)器地址)。當(dāng)視頻卡對自身進(jìn)行映像時(shí),視頻卡 從它自己被映射的閃存內(nèi)容中獲取內(nèi)容并將其移動(dòng)到"C"或"D"段。這 反映了存儲(chǔ)器的原有分配,其中附加設(shè)備盡力在低于1MB存儲(chǔ)器范圍的 某些存儲(chǔ)器區(qū)域中對內(nèi)容進(jìn)行映像。該存儲(chǔ)器(707a)由BAR指派。 一旦新的存儲(chǔ)器映射、中斷向量表和處 理程序被映射到高速緩存(709a),控制可以傳給現(xiàn)在將從CAR 713a運(yùn)行的視頻卡的option-ROM。在初始化期間,該option-ROM將只訪問高速緩存 而非系統(tǒng)RAM。在框813, 一旦視頻初始化(視頻同步)完成,所連接的視 頻監(jiān)視器將變?yōu)榭刹僮鳌.?dāng)視頻卡試圖訪問存儲(chǔ)器時(shí),所有的存儲(chǔ)器訪問 將被重定向到高速緩存而非系統(tǒng)RAM。一旦系統(tǒng)RAM完全被初始化(典型地在加電自檢(POST)末期),被緩 存的存儲(chǔ)器和固件函數(shù)被拷貝回系統(tǒng)存儲(chǔ)器和BAR,中斷向量和PAM被 重置以將存儲(chǔ)器訪問映射到系統(tǒng)RAM或者物理DIMM。在這時(shí),BIOS將 被從閃速存儲(chǔ)器中拷貝到RAM中。在BIOS被拷貝到系統(tǒng)存儲(chǔ)器中之前, 在高速緩存中創(chuàng)建的變量也必須被拷貝到系統(tǒng)存儲(chǔ)器中。特別地,當(dāng)前位 于CAR中的狀態(tài)和視頻存儲(chǔ)器被拷貝到已被BIOS找到并且初始化的真正 的存儲(chǔ)器(RAM)中。中斷向量表INT10處理程序的值被拷貝到RAM中并 且被用于設(shè)置真正的向量表。MCH中的存儲(chǔ)器類型范圍寄存器(MTRR)被 設(shè)置為不能對存儲(chǔ)器范圍進(jìn)行緩存。因此,該高速緩存是無效的。MTRR 被設(shè)置為從RAM進(jìn)行常規(guī)操作,并且POST繼續(xù)。在實(shí)施例中,處理器被配置為保留高速緩存730的一部分,作為當(dāng)作 RAM的高速緩存710。該架構(gòu)禁止該部分高速緩存的高速緩存轉(zhuǎn)儲(chǔ)清除 (cache flushing)。也可以實(shí)現(xiàn)平臺(tái)的其它實(shí)施例,其中的系統(tǒng)處理器帶有足夠大的高速 緩存??梢岳斫?,示例性實(shí)施例示出的平臺(tái)具有多個(gè)處理器和多核心、使 用點(diǎn)對點(diǎn)互連架構(gòu)。然而,其它的平臺(tái)架構(gòu)也可以實(shí)現(xiàn)本發(fā)明的實(shí)施例。再參考圖4,在一個(gè)具有pTp架構(gòu)的平臺(tái)中,必須在引導(dǎo)過程中執(zhí)行 重要的pTp互連的初始化。在一實(shí)施例中,視頻初始化在pTp互連初始化 之前被執(zhí)行。例如,處理器410被識(shí)別為BSP。耦合到BSP410的高速緩 存將被用于模擬通常用來進(jìn)行視頻子系統(tǒng)初始化的系統(tǒng)存儲(chǔ)器。通信路徑 將通過IOH 450和ICH 460直接從處理器410到視頻卡480。在其它多處理器系統(tǒng)中,BSP的選擇可以基于加電后哪個(gè)處理器贏得 了對給定寄存器的訪問。獲勝者被識(shí)別為BSP并且將執(zhí)行啟動(dòng)任務(wù),包括 上面討論的將高速緩存用作RAM的實(shí)現(xiàn)。在多處理器平臺(tái)中,很重要的 一點(diǎn)是,要始終使用BSP中的高速緩存作為當(dāng)作RAM的高速緩存來進(jìn)行 視頻初始化。這里描述的技術(shù)不限于任何特定的硬件或者軟件配置;這些技術(shù)可以 適用于任何計(jì)算、消費(fèi)電子或者處理環(huán)境。這些技術(shù)可以以軟件、硬件或 者二者的組合來實(shí)1U對于仿真,程序代碼可以采用硬件描述語言或者其他實(shí)質(zhì)上給出關(guān)于 所設(shè)計(jì)硬件預(yù)期會(huì)如何工作的模型的功能描述語言來描述硬件。程序代碼 可以是匯編或者機(jī)器語言,或者是可被編譯或解釋的數(shù)據(jù)。此外,在本領(lǐng) 域內(nèi)提及軟件時(shí),不管其是何種形式,通常將其看作執(zhí)行某個(gè)動(dòng)作或者引 起某個(gè)結(jié)果。這種表達(dá)僅僅是一種簡潔方式,用于敘述處理系統(tǒng)執(zhí)行程序 代碼導(dǎo)致處理器執(zhí)行某個(gè)動(dòng)作或者產(chǎn)生某個(gè)結(jié)果。每個(gè)程序都可以用高級的過程或面向?qū)ο蟮木幊陶Z言來實(shí)現(xiàn)以與處理 系統(tǒng)進(jìn)行通信。然而,如果希望的話,程序也可以使用匯編或機(jī)器語言來 實(shí)現(xiàn)。無論如何,所述語言可以被編譯或解釋。程序指令可以用于令使用所述指令編程的通用或?qū)S锰幚硐到y(tǒng)執(zhí)行此 處所描述的操作??商鎿Q地,所述操作可以由含有用于執(zhí)行該操作的硬線 邏輯的特定硬件部件來執(zhí)行,或者通過被編程的計(jì)算機(jī)部件和定制的硬件 部件的任意組合來執(zhí)行。此處所描述的方法可以作為計(jì)算機(jī)程序產(chǎn)品來提 供,其可以包括其上存儲(chǔ)有指令的機(jī)器可訪問介質(zhì),所述指令可以用于對 處理系統(tǒng)或其它電子設(shè)備進(jìn)行編程以執(zhí)行所述方法。例如,程序代碼或指令可以被存儲(chǔ)在易失性和/或非易失性存儲(chǔ)器中, 例如存儲(chǔ)設(shè)備和/或相關(guān)的機(jī)器可讀或機(jī)器可訪問介質(zhì),包括固態(tài)存儲(chǔ)器、 硬盤驅(qū)動(dòng)器、軟盤、光存儲(chǔ)、磁帶、閃速存儲(chǔ)器、記憶棒、數(shù)字視頻盤、數(shù)字多用盤(DVD)等。還有更多奇異的介質(zhì),比如機(jī)器可訪問的生物狀態(tài)保存裝置。機(jī)器可讀介質(zhì)包括任何以機(jī)器可讀的形式存儲(chǔ)、發(fā)送或接收信 息的機(jī)制,并且該介質(zhì)可以包括有形介質(zhì),其中編碼有程序代碼的電的、 光的、聲的或其它形式的傳播信號或載波可以經(jīng)過該有形介質(zhì),例如天線、 光纖、通信接口等。程序代碼可以以分組、串行數(shù)據(jù)、并行數(shù)據(jù)、傳播信 號等形式被發(fā)送,并且可以使用壓縮或加密格式。程序代碼可以被實(shí)現(xiàn)為在可編程機(jī)器上執(zhí)行的程序,所述可編程機(jī)器 例如移動(dòng)或固定計(jì)算機(jī)、個(gè)人數(shù)字助理、機(jī)頂盒、移動(dòng)電話和尋呼機(jī)、消費(fèi)電子設(shè)備(包括DVD播放器、個(gè)人視頻錄像機(jī)、個(gè)人視頻播放器、衛(wèi)星接收器、立體聲接收器、有線電視接收器)和其它電子設(shè)備,每個(gè)設(shè)備均包 括處理器、可以由處理器讀取的易失性和/或非易失性存儲(chǔ)器、至少一個(gè)輸 入設(shè)備和/或一個(gè)或多個(gè)輸出設(shè)備。程序代碼可以被應(yīng)用于使用輸入設(shè)備輸 入的數(shù)據(jù),以執(zhí)行所描述的實(shí)施例并且產(chǎn)生輸出信息。輸出信息可以應(yīng)用 于一個(gè)或多個(gè)輸出設(shè)備。本領(lǐng)域技術(shù)人員可以理解,所公開的主題的實(shí)施 例可以用各種計(jì)算機(jī)系統(tǒng)配置來實(shí)現(xiàn),包括多處理器或多核處理器系統(tǒng)、 小型計(jì)算機(jī)、大型計(jì)算機(jī)以及可以嵌入幾乎任何設(shè)備的普適或微型計(jì)算機(jī) 或處理器。所公開的主題的實(shí)施例也能夠?qū)崿F(xiàn)在分布式計(jì)算環(huán)境中,在該 環(huán)境中任務(wù)或部分任務(wù)可以由通過通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備執(zhí)行。雖然操作可以被描述為順序的處理過程,但實(shí)際上, 一些操作也可以 被并行地、并發(fā)地、和/或在分布式環(huán)境中執(zhí)行,其中程序代碼存儲(chǔ)在本地 和/或遠(yuǎn)程以供單或多處理器機(jī)器訪問。另外,在一些實(shí)施例中,操作順序 可以被重新編排,而不背離所公開的主題的實(shí)質(zhì)。程序代碼可以通過嵌入 式控制器使用或與嵌入式控制器結(jié)合使用。雖然已參照所說明的實(shí)施例對本發(fā)明進(jìn)行了描述,但該描述不應(yīng)被解 釋為是限制性的。對所說明的實(shí)施例的各種修改以及本發(fā)明的其它實(shí)施例 對于本發(fā)明所屬領(lǐng)域技術(shù)人員來說都是顯而易見的,它們均落入本發(fā)明的 實(shí)質(zhì)和范圍之內(nèi)。
權(quán)利要求
1. 一種用于初期視頻子系統(tǒng)初始化的系統(tǒng),包括耦合到高速緩存的處理器;通信地耦合到所述處理器的系統(tǒng)隨機(jī)存取存儲(chǔ)器(RAM);耦合到所述處理器的固件中心,包括其上存儲(chǔ)有固件代碼的固件存儲(chǔ)器,所述固件代碼包括基本輸入輸出系統(tǒng)(BIOS);經(jīng)由視頻子系統(tǒng)部件通信地耦合到所述處理器的視頻控制臺(tái);所述高速緩存的第一部分,其被用作當(dāng)作RAM的高速緩存(CAR),并且存儲(chǔ)所述BIOS的第一部分、包括用于與所述視頻子系統(tǒng)部件通信的中斷向量表和中斷處理程序的BIOS代碼的第二部分、以及從所述視頻子系統(tǒng)部件中獲得的option-ROM初始化代碼,其中,在引導(dǎo)過程中,所述視頻子系統(tǒng)部件將在系統(tǒng)RAM被初始化之前執(zhí)行來自于所述高速緩存的初始化代碼。
2、 如權(quán)利要求1所述的系統(tǒng),其中,所述處理器是在具有多處理器架 構(gòu)的平臺(tái)中的自弓i導(dǎo)處理器(BSP)。
3、 如權(quán)利要求l所述的系統(tǒng),其中,所述處理器被識(shí)別為在具有點(diǎn)對 點(diǎn)(pTp)互連、多處理器和多核心架構(gòu)的平臺(tái)中的自引導(dǎo)處理器(BSP),其 中,所述視頻子系統(tǒng)在所述pTp互連部件完成初始化之前被初始化。
4、 如權(quán)利要求l所述的系統(tǒng),其中,所述BIOS遵循可擴(kuò)展固件接口 (EFI)架構(gòu),并且視頻子系統(tǒng)初始化是在引導(dǎo)過程中在EFI前初始化(PEI) 階段期間執(zhí)行的。
5、 如權(quán)利要求l所述的系統(tǒng),其中, 一旦被初始化,所述視頻控制臺(tái) 即可用于顯示關(guān)于所述引導(dǎo)過程的狀態(tài)消息,包括關(guān)于系統(tǒng)RAM初始化 的狀態(tài)。
6、 一種用于加速平臺(tái)中的視頻初始化的方法,包括 在引導(dǎo)過程中的加電自檢(POST)期間,配置一部分高速緩存作為當(dāng)作RAM的高速緩存(CAR);配置一部分CAR用來存儲(chǔ)一部分固件代碼; 在一部分CAR中存儲(chǔ)視頻子系統(tǒng)初始化代碼;在系統(tǒng)RAM被初始化之前,在POST期間開始執(zhí)行CAR中的所述視 頻子系統(tǒng)初始化代碼,其中,所述視頻子系統(tǒng)初始化代碼訪問CAR而非 系統(tǒng)RAM;將CAR中的視頻子系統(tǒng)代碼和固件代碼拷貝到系統(tǒng)RAM中的適當(dāng)位置;完成所述引導(dǎo)過程。
7、 如權(quán)利要求6所述的方法,其中,所述平臺(tái)包括多個(gè)處理器和核心, 一個(gè)處理器被指定作為自引導(dǎo)處理器(BSP),并且其中,被用作當(dāng)作RAM 的高速緩存的所述高速緩存耦合到所述BSP。
8、 如權(quán)利要求7所述的方法,其中,所述平臺(tái)遵循點(diǎn)對點(diǎn)互連架構(gòu)。
9、 如權(quán)利要求6所述的方法,其中,所述平臺(tái)遵循可擴(kuò)展固件接口(EFI) 架構(gòu),進(jìn)一步包括在開始所述引導(dǎo)過程的驅(qū)動(dòng)執(zhí)行環(huán)境(DXE)階段之前,完成所述視頻子系統(tǒng)初始化代碼的執(zhí)行。
10、 如權(quán)利要求6所述的方法,其中,配置一部分高速緩存進(jìn)一步包括設(shè)置可編程屬性寄存器,以將存儲(chǔ)器訪問映射到高速緩存; 對基地址寄存器進(jìn)行編程,以映射到部分高速緩存; 生成中斷向量表的拷貝,并且將該表存儲(chǔ)在高速緩存中零位置處,其 中,將存儲(chǔ)器訪問映射到高速緩存強(qiáng)制使用該拷貝的表。
11、 如權(quán)利要求6所述的方法,進(jìn)一步包括在系統(tǒng)RAM被初始化之前,在所述引導(dǎo)過程期間在與所述視頻子系 統(tǒng)相關(guān)聯(lián)的視頻控制臺(tái)上提供所述引導(dǎo)過程的可視狀態(tài)。
12、 一種用于加速平臺(tái)中的視頻初始化的機(jī)器可訪問介質(zhì),所述介質(zhì)其上存儲(chǔ)有指令,所述指令在機(jī)器上執(zhí)行時(shí)使得該機(jī)器在引導(dǎo)過程中的加電自檢(POST)期間,配置一部分高速緩存作為當(dāng)作 RAM的高速緩存(CAR);配置一部分CAR用來存儲(chǔ)一部分固件代碼; 在一部分CAR中存儲(chǔ)視頻子系統(tǒng)初始化代碼;在系統(tǒng)RAM被初始化之前,在POST期間開始執(zhí)行CAR中的所述視 頻子系統(tǒng)初始化代碼,其中,所述視頻子系統(tǒng)初始化代碼訪問CAR而非 系統(tǒng)RAM;將CAR中的視頻子系統(tǒng)代碼和固件代碼拷貝到系統(tǒng)RAM中的適當(dāng)位置;完成所述引導(dǎo)過程。
13、 如權(quán)利要求12所述的介質(zhì),其中,所述平臺(tái)包括多個(gè)處理器和核 心, 一個(gè)處理器被指定作為自引導(dǎo)處理器(BSP),并且其中,被用作當(dāng)作 RAM的高速緩存的所述高速緩存耦合到所述BSP。
14、如權(quán)利要求13所述的介質(zhì),其中,所述平臺(tái)遵循點(diǎn)對點(diǎn)互連架構(gòu)。
15、 如權(quán)利要求12所述的介質(zhì),其中,所述平臺(tái)遵循可擴(kuò)展固件接口 (EFI)架構(gòu),進(jìn)一步包括用于執(zhí)行以下操作的指令在開始所述引導(dǎo)過程的驅(qū)動(dòng)執(zhí)行環(huán)境(DXE)階段之前,完成所述視頻 子系統(tǒng)初始化代碼的執(zhí)行。
16、 如權(quán)利要求12所述的介質(zhì),其中,配置一部分高速緩存進(jìn)一步包 括用于執(zhí)行以下操作的指令設(shè)置可編程屬性寄存器,以將存儲(chǔ)器訪問映射到高速緩存; 對基地址寄存器進(jìn)行編程,以映射到部分高速緩存; 生成中斷向量表的拷貝,并且將該表存儲(chǔ)在高速緩存中零位置處,其 中,將存儲(chǔ)器訪問映射到高速緩存強(qiáng)制使用該拷貝的表。
17、如權(quán)利要求12所述的介質(zhì),進(jìn)一步包括用于執(zhí)行以下操作的指令: 在系統(tǒng)RAM被初始化之前,在所述引導(dǎo)過程期間在與所述視頻子系 統(tǒng)相關(guān)聯(lián)的視頻控制臺(tái)上提供所述引導(dǎo)過程的可視狀態(tài)。
全文摘要
在一些實(shí)施例中,本發(fā)明包括通過在引導(dǎo)過程初期對視頻卡進(jìn)行初始化來加速平臺(tái)的引導(dǎo)。在一實(shí)施例中,處理器高速緩存將被用作當(dāng)作RAM的高速緩存(CAR)。視頻圖形適配器(VGA)卡的初始化使用CAR而非系統(tǒng)RAM來執(zhí)行初始化。在視頻初始化過程中,固件代碼的一部分、中斷向量表和處理程序被從閃速存儲(chǔ)器映射到CAR中,以模擬系統(tǒng)RAM的行為。VGA初始化可以在系統(tǒng)RAM初始化之前發(fā)生,以便支持在初期給用戶提供可視反饋。還描述和聲明了其它實(shí)施例。
文檔編號G06F9/445GK101276286SQ20081010036
公開日2008年10月1日 申請日期2008年3月28日 優(yōu)先權(quán)日2007年3月30日
發(fā)明者M·A·羅思曼, M·布魯蘇, R·C·斯旺森, V·J·齊默 申請人:英特爾公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1
鸡泽县| 宾川县| 射阳县| 昌都县| 勐海县| 沙坪坝区| 浑源县| 大田县| 吉木萨尔县| 衡南县| 六安市| 繁昌县| 察哈| 宁远县| 玉门市| 陇南市| 雅江县| 城口县| 诸城市| 山西省| 昭苏县| 淮北市| 平泉县| 大悟县| 金阳县| 苏尼特右旗| 英山县| 崇州市| 广平县| 嵊州市| 安仁县| 邛崃市| 大渡口区| 和政县| 漯河市| 永安市| 安图县| 衡山县| 衡阳县| 泰安市| 祁东县|