在處理器與外部設(shè)備之間傳送指令和數(shù)據(jù)的系統(tǒng)和方法

            文檔序號(hào):7639279閱讀:246來(lái)源:國(guó)知局
            專(zhuān)利名稱(chēng):在處理器與外部設(shè)備之間傳送指令和數(shù)據(jù)的系統(tǒng)和方法
            技術(shù)領(lǐng)域
            本發(fā)明一般地涉及改進(jìn)的數(shù)據(jù)處理系統(tǒng)和方法。更具體地說(shuō),本發(fā)明 涉及用于在處理器與外部設(shè)備之間傳送指令和數(shù)據(jù)的系統(tǒng)和方法。
            背景技術(shù)
            通常,在現(xiàn)有技術(shù)中,當(dāng)CPU或其他處理單元(PU)在等待程序外部的某一事件時(shí),操作系統(tǒng)或活動(dòng)程序?qū)⑦\(yùn)行輪詢(xún)循環(huán),它在此循環(huán)中將保持讀取PU以及程序使用的事件寄存器,直到它所等待的事件發(fā)生。當(dāng)程序 運(yùn)行時(shí),PU在輪詢(xún)事件寄存器并且未執(zhí)行有用的工作。典型的現(xiàn)代處理器通常使用虛擬存儲(chǔ)器以及外部設(shè)備的存儲(chǔ)器映射來(lái) 進(jìn)行此通信。另一方面, 一些處理器(尤其是在多處理器環(huán)境中)僅具有 訪(fǎng)問(wèn)本地存儲(chǔ)器的權(quán)限,而沒(méi)有訪(fǎng)問(wèn)虛擬存儲(chǔ)器的權(quán)限。本地存儲(chǔ)器是有 限的,并且在典型的多處理器配置中,加載和存儲(chǔ)操作無(wú)法訪(fǎng)問(wèn)此本地存 儲(chǔ)器外部的存儲(chǔ)器。因此,當(dāng)?shù)却齺?lái)自外部設(shè)備的響應(yīng)時(shí),限制了針對(duì)其他PU功能使用本地存儲(chǔ)器。如果一個(gè)PU同時(shí)等待來(lái)自若干設(shè)備的通信響應(yīng),甚至?xí)M(jìn)一步限制用于其他功能的可用存儲(chǔ)器。存儲(chǔ)器還可以用于跟蹤入站或出站寄存器中是否存在有效數(shù)據(jù)。有效 數(shù)據(jù)是已放置在寄存器中以供接收設(shè)備使用但接收設(shè)備尚未訪(fǎng)問(wèn)的數(shù)據(jù)。 因此,從以上可知,在多數(shù)現(xiàn)代計(jì)算設(shè)備中,存儲(chǔ)器資源存在許多損耗。發(fā)明內(nèi)容鑒于以上所述,具有一種用于在處理器與處理器外部的其他設(shè)備(例如,其他處理器、輸入/輸出(I/O)設(shè)備等)之間通信的系統(tǒng)和方法是有利的,其中此類(lèi)通信不會(huì)加重處理器的本地或虛擬存儲(chǔ)器的負(fù)擔(dān)。此外,具有一種允許在等待數(shù)據(jù)或事件時(shí)將處理器置于低功率狀態(tài)的系統(tǒng)和方法是有利的。本發(fā)明提供了 一種用于在處理器和外部設(shè)備之間傳送指令和數(shù)據(jù)的系 統(tǒng)和方法和/或一種用于與處理器事件i殳備通信的系統(tǒng)和方法。本發(fā)明的系 統(tǒng)和方法使用通道接口作為在處理器和存儲(chǔ)器流控制器之間通信的主要機(jī) 制。所述通道接口提供用于例如與處理器設(shè)備、存儲(chǔ)器流控制設(shè)備、機(jī)器 狀態(tài)寄存器以及外部處理器中斷設(shè)備進(jìn)行通信的通道。這些通道用于降低 處理器的本地存儲(chǔ)的負(fù)擔(dān)以及使總線(xiàn)通信量最小化。可以將這些通道指定為阻塞或非阻塞。對(duì)于阻塞通道,當(dāng)沒(méi)有可從相 應(yīng)寄存器讀取的數(shù)據(jù)時(shí),或沒(méi)有可供寫(xiě)入相應(yīng)寄存器的空間時(shí),將處理器 置于低功率"停止"狀態(tài)。當(dāng)數(shù)據(jù)變得可用或空間被^^放時(shí),通過(guò)跨阻塞 通道的通信自動(dòng)喚醒處理器。因此,本發(fā)明的通道允許將處理器保持在低 功率狀態(tài),而不是如現(xiàn)有技術(shù)系統(tǒng)那樣不斷輪詢(xún)或遍歷事件寄存器。本發(fā)明的這些和其他特征和優(yōu)點(diǎn)將在以下對(duì)本發(fā)明的示意性實(shí)施例的 詳細(xì)說(shuō)明中進(jìn)行描述,或者鑒于以下詳細(xì)說(shuō)明,本發(fā)明的這些和其他特征 和優(yōu)點(diǎn)將對(duì)本領(lǐng)域的技術(shù)人員變得顯而易見(jiàn)。


            在所附權(quán)利要求中說(shuō)明了被認(rèn)為是本發(fā)明特性的新穎特征。但是,當(dāng) 結(jié)合附圖閱讀時(shí),通過(guò)參考以下對(duì)示例性實(shí)施例的詳細(xì)說(shuō)明,可以最佳地理解發(fā)明本身及其優(yōu)選使用方式、進(jìn)一步的目的和優(yōu)點(diǎn),這些附圖是圖1是才艮據(jù)本發(fā)明的示意性實(shí)施例的寬帶處理器體系結(jié)構(gòu)(BPA)的示 意性方塊圖;圖2是才艮據(jù)本發(fā)明的示意性實(shí)施例的典型MFC 200的示意性方塊圖; 圖3A是示出了根據(jù)本發(fā)明的示意性實(shí)施例的MFC命令的參數(shù)助記符的 示意圖;圖3B是示出了根據(jù)本發(fā)明的示意性實(shí)施例的DMA列表命令的詳細(xì)信息的示意圖;圖4是示出了根據(jù)美國(guó)專(zhuān)利申請(qǐng)公開(kāi)No. 2004/0264445中所述機(jī)制的 關(guān)于單對(duì)通道的通道電路的SPU發(fā)出和控制邏輯以及數(shù)據(jù)流的布置的示意 圖;圖5提供了示出根據(jù)本發(fā)明的示意性實(shí)施例的通道接口的示意性操作 的流禾呈圖;圖6A是示出了本發(fā)明的一個(gè)實(shí)施例使用通道的方式的示意圖; 圖6B和6C示出了根據(jù)本發(fā)明的一個(gè)示意性實(shí)施例的列出SPU通道圖 的示意圖;圖7A是示出了根據(jù)本發(fā)明的一個(gè)示意性實(shí)施例的MFC命令操作碼通道 的詳細(xì)信息的示意圖;圖7B是示出了根據(jù)本發(fā)明的一個(gè)示意性實(shí)施例的MFC類(lèi)ID通道的詳 細(xì)信息的示意圖;圖7C示出了才艮據(jù)本發(fā)明的一個(gè)示意性實(shí)施例的用于8路、成組相聯(lián) (set associative)高速緩存的典型RMT表項(xiàng);圖7D是示出了根據(jù)本發(fā)明的一個(gè)示意性實(shí)施例的MFC命令標(biāo)記標(biāo)識(shí)通 道的詳細(xì)信息的示意圖;圖7E是示出了根據(jù)本發(fā)明的一個(gè)示意性實(shí)施例的MFC傳輸大小或列表 大小通道的詳細(xì)信息的示意圖;圖7F是示出了根據(jù)本發(fā)明的一個(gè)示意性實(shí)施例的MFC本地存儲(chǔ)地址通 道的詳細(xì)信息的示意圖;圖7G是示出了根據(jù)本發(fā)明的一個(gè)示意性實(shí)施例的MFC有效低地址或列 表地址通道的詳細(xì)信息的示意圖;圖7H是示出了根據(jù)本發(fā)明的一個(gè)示意性實(shí)施例的MFC有效高地址通道的詳細(xì)信息的示意圖;圖8是示出了根據(jù)本發(fā)明的一個(gè)示意性實(shí)施例的用于寫(xiě)入MFC命令參 數(shù)的示意性操作的流程圖;圖9A是示出了根據(jù)本發(fā)明的一個(gè)示意性實(shí)施例的MFC寫(xiě)入標(biāo)記組查詢(xún)掩碼通道的詳細(xì)信息的示意圖;圖9B是示出了根據(jù)本發(fā)明的一個(gè)示意性實(shí)施例的MFC讀取標(biāo)記組查詢(xún) 掩碼通道的詳細(xì)信息的示意圖;圖9C是示出了根據(jù)本發(fā)明的一個(gè)示意性實(shí)施例的MFC寫(xiě)入標(biāo)記狀態(tài)更新請(qǐng)求通道的詳細(xì)信息的示意圖;圖9D是示出了根據(jù)本發(fā)明的一個(gè)示意性實(shí)施例的MFC讀取標(biāo)記組狀態(tài) 通道的詳細(xì)信息的示意圖;圖9E是示出了根據(jù)本發(fā)明的一個(gè)示意性實(shí)施例的MFC讀取列表停止和 通知標(biāo)記狀態(tài)通道的詳細(xì)信息的示意圖;圖9F是示出了根據(jù)本發(fā)明的一個(gè)示意性實(shí)施例的MFC寫(xiě)入列表停止和 通知標(biāo)記確認(rèn)通道的詳細(xì)信息的示意圖;圖9G是示出了根據(jù)本發(fā)明的一個(gè)示意性實(shí)施例的MFC讀取原子命令狀 態(tài)通道的詳細(xì)信息的示意圖;圖IO是示出了根據(jù)本發(fā)明的示意性實(shí)施例的用于輪詢(xún)一個(gè)MFC命令的 完成或一組MFC命令的完成的示意性操作的流程圖;圖11是示出了根據(jù)本發(fā)明的示意性實(shí)施例的用于等待標(biāo)記組更新或 等待事件(一個(gè)或多個(gè)標(biāo)記組完成)的示意性操作的流程圖;圖12是示出了根據(jù)本發(fā)明的示意性實(shí)施例的用于使用SPU事件設(shè)^ft 為備選方案以等待或輪詢(xún)條件標(biāo)記事件的示意性操作的流程圖;圖13是示出了根據(jù)本發(fā)明的示意性實(shí)施例的用于輪詢(xún)以判定MFC DMA 列表命令是否已到達(dá)設(shè)置了停止和通知標(biāo)志的列表元素的示意性操作的流程圖;圖14是示出了根據(jù)本發(fā)明的一個(gè)示意性實(shí)施例的用于等待MFC DMA 列表命令到達(dá)設(shè)置了停止和通知標(biāo)志的列表元素的示意性操作的流程圖;圖15是示出了根據(jù)本發(fā)明的示意性實(shí)施例的用于使用SPU事件設(shè)^ft 為備選方案以等待或輪詢(xún)列表停止和通知標(biāo)記組狀態(tài)的示意性操作的流程圖;圖16是示出了根據(jù)本發(fā)明的一個(gè)示意性實(shí)施例的MFC寫(xiě)入多源同步請(qǐng)求通道的詳細(xì)信息的示意圖;圖17A是示出了根據(jù)本發(fā)明的一個(gè)示意性實(shí)施例的SPU寫(xiě)入出站郵箱 通道的詳細(xì)信息的示意圖;圖17B是示出了根據(jù)本發(fā)明的一個(gè)示意性實(shí)施例的SPU寫(xiě)入出站中斷 郵箱通道的詳細(xì)信息的示意圖;圖17C是示出了根據(jù)本發(fā)明的一個(gè)示意性實(shí)施例的SPU讀取入站郵箱 通道的詳細(xì)信息的示意圖;圖18是示出了根據(jù)本發(fā)明的一個(gè)示意性實(shí)施例的SPU信號(hào)通知通道的 詳細(xì)信息的示意圖;圖19A是示出了根據(jù)本發(fā)明的一個(gè)示意性實(shí)施例的SPU寫(xiě)入遞減器通 道的詳細(xì)信息的示意圖;圖19B是示出了根據(jù)本發(fā)明的一個(gè)示意性實(shí)施例的SPU讀取遞減器通 道的詳細(xì)信息的示意圖;圖20A是示出了根據(jù)本發(fā)明的一個(gè)示意性實(shí)施例的SPU讀^L器狀態(tài) 通道的詳細(xì)信息的示意圖;圖20B是示出了根據(jù)本發(fā)明的一個(gè)示意性實(shí)施例的SPU寫(xiě)入狀態(tài)保存和恢復(fù)通道的詳細(xì)信息的示意圖;圖20C是示出了根據(jù)本發(fā)明的一個(gè)示意性實(shí)施例的SPU讀取狀態(tài)保存和恢復(fù)通道的詳細(xì)信息的示意圖;圖21是示出了根據(jù)本發(fā)明的一個(gè)示意性實(shí)施例的SPU事件設(shè)備的邏輯 表示的示意性方塊圖;圖22A是示出了根據(jù)本發(fā)明的一個(gè)示意性實(shí)施例的SPU讀取事件狀態(tài) 通道的詳細(xì)信息的示意圖;圖22B是示出了根據(jù)本發(fā)明的一個(gè)示意性實(shí)施例的SPU寫(xiě)入事件掩碼 通道的詳細(xì)信息的示意圖;圖22C是示出了根據(jù)本發(fā)明的一個(gè)示意性實(shí)施例的SPU讀取事件掩碼 通道的詳細(xì)信息的示意圖;圖22D是示出了根據(jù)本發(fā)明的一個(gè)示意性實(shí)施例的SPU寫(xiě)入事件確認(rèn)通道的詳細(xì)信息的示意圖;圖2 3是示出了根據(jù)本發(fā)明的 一個(gè)實(shí)施例的用于處理MFC DMA列表命令 停止和通知事件的示意性操作的流程圖;圖24是示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的用于處理MFC SPU命令隊(duì)列可用事件的示意性操作的流程圖;圖25是示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的用于處理SPU入站郵箱可用事件的示意性操作的流程圖;圖2 6是示出了才艮據(jù)本發(fā)明的 一個(gè)實(shí)施例的用于處理SPU遞減器事件的示意性操作的流程圖;圖27是示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的用于處理SPU出站中斷郵箱可用事件的示意性操作的流程圖;圖28是示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的用于處理SPU出站郵箱可用 事件的示意性操作的流程圖;圖29是示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的用于處理SPU信號(hào)通知2 可用事件的示意性操作的流程圖;圖30是示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的用于處理SPU信號(hào)通知1 可用事件的示意性操作的流程圖;圖31是示出了根據(jù)本發(fā)明的一個(gè)示意性實(shí)施例的用于處理鎖定線(xiàn)保 留丟失事件的示意性操作的流程圖;圖32是示出了根據(jù)本發(fā)明的一個(gè)示意性實(shí)施例的用于處理特權(quán)關(guān)注 事件的示意性操作的流程圖;圖33是示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的用于處理多源同步事件的 示意性操作的流禾呈圖。
            具體實(shí)施方式
            圖1是其中可以實(shí)現(xiàn)本發(fā)明的各方面的數(shù)據(jù)處理系統(tǒng)的示意性方塊 圖。圖1所示的示意性數(shù)據(jù)處理系統(tǒng)是異構(gòu)寬帶處理器體系結(jié)構(gòu)(例如, 可從國(guó)際商業(yè)機(jī)器公司獲得的CELL寬帶引擎處理器)的實(shí)施方式的實(shí)例。雖然寬帶處理器體系結(jié)構(gòu)(BPA)將用于本發(fā)明的優(yōu)選實(shí)施例的描述,但是 如本領(lǐng)域的技術(shù)人員在閱讀以下說(shuō)明時(shí)將容易地理解的,本發(fā)明并不限于此。如圖l所示,BPA 100包括power處理器元件(PPE) 110的異構(gòu)布置, 所述power處理器元件具有處理器(PPU) 116及其Ll和L2高速緩存112 和114,以及多個(gè)協(xié)處理器元件(SPE) 120-134,每個(gè)協(xié)處理器元件都具 有其自己的處理器單元(SPU) 140-154、存儲(chǔ)器流控制(MFC) 155-162、 本地存儲(chǔ)器或存儲(chǔ)(LS) 163-170,以及總線(xiàn)接口單元(BIU單元)180-194 (其可以例如是組合直接存儲(chǔ)器訪(fǎng)問(wèn)(DMA)、存儲(chǔ)器管理單元(MMU)和 總線(xiàn)接口單元)。還提供了高寬帶內(nèi)部元件互連總線(xiàn)(EIB) 196、總線(xiàn)接 口控制器(BIC) 197和存儲(chǔ)器接口控制器(MIC) 198。寬帶引擎100可以 是片上系統(tǒng),以便可以在單個(gè)微處理器芯片上提供圖1中示出的每個(gè)元件。BPA 100可以是片上系統(tǒng),以便可以在單個(gè)微處理器芯片上提供圖1 中示出的每個(gè)元件。此外,BPA 100是每個(gè)SPU可在其中接收來(lái)自系統(tǒng)中 的每個(gè)其他SPU的不同指令的異構(gòu)處理環(huán)境。此外,用于SPU的指令集不 同于PPU的指令集,例如,PPU可以執(zhí)行基于精簡(jiǎn)指令集計(jì)算機(jī)(RISC) 的指令,而SPU執(zhí)行矢量化指令。SPE 120-134通過(guò)EIB 196相互連接并連接到L2高速緩存114。此外, SPE 120-134通過(guò)EIB 196連接到MIC 198和BIC 197。 MIC 198提供到共 享存儲(chǔ)器199的通信接口。 BIC 197在BPA 100與其他外部總線(xiàn)和i殳備之 間提供通信接口。PPE 110是雙線(xiàn)程PPE 110。此雙線(xiàn)程PPE 110和八個(gè)SPE 120-134 的組合使得BPA 100能夠處理10個(gè)同時(shí)發(fā)生的線(xiàn)程以;S^過(guò)128個(gè)未完成 的存儲(chǔ)器請(qǐng)求。PPE 110用作其他八個(gè)處理大多數(shù)計(jì)算工作負(fù)荷的SPE 120-134的控制器。例如,PPE 110可以用于運(yùn)行常規(guī)的操作系統(tǒng),而SPE 120-134執(zhí)行矢量化浮點(diǎn)代碼執(zhí)行。SPE 120-134包括協(xié)處理單元(SPU) 140-154、存儲(chǔ)器流控制單元 155-162、本地存儲(chǔ)器或存儲(chǔ)163-174以及接口單元180-194。在一個(gè)示意性實(shí)施例中,本地存儲(chǔ)器或存儲(chǔ)163-174包括一個(gè)對(duì)PPE 110可見(jiàn)并可由 軟件直接尋址的256 KB指令和數(shù)據(jù)存儲(chǔ)器。PPE IIO可以使用小程序或線(xiàn)程加載SPE 120-134,從而將SPE鏈接在 一起以處理復(fù)雜操作中的每個(gè)步驟。例如,集成了 BPA IOO的機(jī)頂盒可以 加載程序以便讀取DVD、進(jìn)行視頻和音頻解碼以及顯示,并且數(shù)據(jù)將從SPE 傳遞到SPE,直到它最終在輸出顯示器上顯示。存儲(chǔ)器流控制單元(MFC) 155-162用作SPU到系統(tǒng)的其余部分以及其 他元件的接口。 MFC 155-162提供了主存儲(chǔ)和本地存儲(chǔ)163-174之間的數(shù) 據(jù)傳輸、保護(hù)和同步的主要機(jī)制。對(duì)于處理器中的每個(gè)SPU,邏輯上都存 在一個(gè)MFC。某些實(shí)施方式可以在多個(gè)SPU之間共享單個(gè)MFC的資源。在 這種情況下,為此MFC定義的所有設(shè)備和命令都必須顯示為與每個(gè)SPU的 軟件的無(wú)關(guān)。共享MFC的效果限于與實(shí)施方式相關(guān)的^殳備和命令。存儲(chǔ)器流控制(MFC)單元圖2是根據(jù)本發(fā)明的示意性實(shí)施例的典型存儲(chǔ)器流控制(MFC)單元 200的示意性方塊圖。在此示意性實(shí)施例中,MFC 200具有兩個(gè)到SPU的接 口 210和212、兩個(gè)到總線(xiàn)接口單元(BIU) 220的接口 214和216,以及 兩個(gè)到可選SL1高速緩存230的接口 222和224。 SPU接口 210和212是 SPU通道接口 210和SPU本地存儲(chǔ)接口 212。 SPU通道接口 210允許SPU訪(fǎng) 問(wèn)MFC設(shè)備以^iL出MFC命令。SPU本地存儲(chǔ)接口 212由MFC 200使用以 訪(fǎng)問(wèn)SPU中的本地存儲(chǔ)。 一個(gè)到BIU 220的接口 214允許存儲(chǔ)器映射的I/O (腿IO)訪(fǎng)問(wèn)MFC設(shè)備。此接口 214還允許其他處理器發(fā)出MFC命令。使 用畫(huà)IO發(fā)出的命令被稱(chēng)為MFC代理命令。到SL1高速緩存的接口 222和224主要用于數(shù)據(jù)傳輸。 一個(gè)接口 222 由MFC 200使用以訪(fǎng)問(wèn)主存儲(chǔ)中的地址轉(zhuǎn)換表,另一個(gè)接口 224用于在主 存儲(chǔ)和本地存儲(chǔ)之間傳輸數(shù)據(jù)。如圖2所示,典型MFC中的主單元包括存儲(chǔ)器映射的輸入/輸出(醒10) 接口 240、 MFC寄存器250和DMA控制器260。醒IO接口 240將SPU的MFC設(shè)備映射到系統(tǒng)的實(shí)地址空間。這允許從系統(tǒng)中的任何處理器或任何設(shè)備訪(fǎng)問(wèn)MFC設(shè)備。此外,腿I0接口 240可以配置為將SPU的本地存儲(chǔ)映射到 實(shí)地址空間。這允許從系統(tǒng)中的任何處理器或任何設(shè)備直接訪(fǎng)問(wèn)本地存儲(chǔ), 從而能夠進(jìn)行本地存儲(chǔ)到本地存儲(chǔ)傳輸,并使1/0設(shè)備能夠直接訪(fǎng)問(wèn)SPU 的本地存儲(chǔ)域。MFC寄存器單元250包含多數(shù)MFC設(shè)備。某些設(shè)備包含在直接存儲(chǔ)器 訪(fǎng)問(wèn)控制器(DMAC) 260中。以下是MFC 200內(nèi)的設(shè)備的列表。用戶(hù)模式 環(huán)境設(shè)備(即,可從非特權(quán)應(yīng)用訪(fǎng)問(wèn)的環(huán)境設(shè)備)包括(1)郵箱設(shè)備、(2 ) SPU信號(hào)通知設(shè)備、(3 )代理標(biāo)記組完成設(shè)備、(4 ) MFC多源同步 設(shè)備、(5 ) SPU控制和狀態(tài)設(shè)備,以及(6 ) SPU隔離設(shè)備。特權(quán)模式環(huán)境 設(shè)備,即僅可由特權(quán)軟件(例如操作系統(tǒng))訪(fǎng)問(wèn)的設(shè)備,包括(l)MFC 狀態(tài)寄存器l、 (2) MFC邏輯分區(qū)ID寄存器、(3) MFC存儲(chǔ)描述寄存器、(4) MFC數(shù)據(jù)地址寄存器、(5) MFC數(shù)據(jù)存儲(chǔ)中斷狀態(tài)寄存器、(6 ) MFC 地址比較控制寄存器、(7 ) MFC本地存儲(chǔ)地址比較設(shè)備、(8)MFC命令錯(cuò) 誤寄存器、(9 ) MFC數(shù)據(jù)存儲(chǔ)中斷指針寄存器、(10 ) MFC控制寄存器、(11) MFC原子刷新(flush)寄存器、U2) SPU出站中斷郵箱寄存器、(13 ) SPU特權(quán)設(shè)備、(14 ) SPU特權(quán)控制寄存器、(15 ) SPU本地存儲(chǔ)限 制寄存器、(16 ) SPU配置寄存器,以及(l7 ) SPE上下文保存和恢復(fù)。下面將更詳細(xì)地描述對(duì)本發(fā)明的機(jī)制尤為重要的設(shè)備,即郵箱設(shè)備、 SPU信號(hào)通知設(shè)備、代理標(biāo)記組完成設(shè)備、MFC多源同步設(shè)備、SPU通道訪(fǎng) 問(wèn)設(shè)備、SPU事件設(shè)備以及中斷設(shè)備。通常,MFC 200內(nèi)的DMAC 260負(fù)責(zé)數(shù)據(jù)的同步和傳輸。DMAC 260可以 在SPU的本地存儲(chǔ)和主存儲(chǔ)區(qū)域之間移動(dòng)數(shù)據(jù)。可選地,數(shù)據(jù)可以緩存在 SL1高速緩存中。SPE和PPE通過(guò)借助命令隊(duì)列270和280之一將DMA命令請(qǐng)求排隊(duì)到 MFC來(lái)指示MFC 200執(zhí)行這些DMA操作。由SPE發(fā)出的命令被排隊(duì)到MFC SPU 命令隊(duì)列280。由PPE發(fā)出的命令被排隊(duì)到MFC代理命令隊(duì)列270。 MFC使 用存儲(chǔ)器l訪(fǎng)問(wèn)4呆護(hù)檢查。MFC命令提供了使得在SPU中執(zhí)行的代碼能夠訪(fǎng)問(wèn)主存儲(chǔ)以及維護(hù)與 系統(tǒng)中的其他處理器和設(shè)備的同步的主要方法。還提供了命令以管理可選 的高速緩存。MFC命令可以由在SPU上運(yùn)行的代碼發(fā)出,或者由在其他處 理器或設(shè)備(例如PPE)上運(yùn)行的代碼發(fā)出。在關(guān)聯(lián)的SPU上運(yùn)行的代碼 執(zhí)行一系列通道指令以發(fā)出MFC命令。在其他處理器或設(shè)備上運(yùn)行的代碼 執(zhí)行一系列存儲(chǔ)器映射的I/O (謹(jǐn)IO)傳輸以向SPE發(fā)出MFC命令。所發(fā) 出的命令被排隊(duì)到命令隊(duì)列270和280之一。通常,可以使用醒IO寄存器或通過(guò)由關(guān)聯(lián)SPU執(zhí)行的通道指令對(duì)命令 進(jìn)行排隊(duì)。醒IO方法旨在由PPE使用以便代表SPE控制主存儲(chǔ)與關(guān)聯(lián)的本 地存儲(chǔ)之間的數(shù)據(jù)傳輸。傳輸數(shù)據(jù)的MFC命令被稱(chēng)為MFC DMA命令。MFC DMA 命令的數(shù)據(jù)傳輸方向始終以SPE為參照。因此,將數(shù)據(jù)傳入SPE (從主存 儲(chǔ)到本地存儲(chǔ))的命令被視為get命令,而將數(shù)據(jù)傳出SPE (從本地存儲(chǔ) 到主存儲(chǔ))的命令被視為put命令。MFC命令使用多個(gè)影響命令操作的參數(shù)。圖3A是示出了根據(jù)本發(fā)明的 示意性實(shí)施例的用于MFC命令的參數(shù)助記符的示意圖。所有命令并不使用 所有參數(shù)。例如,EAH參數(shù)是可選的。當(dāng)未在命令中指定可選參數(shù)時(shí),硬 件將可選參數(shù)設(shè)置為"0"。MFC命令可以分為三類(lèi)定義的命令、非法命令和保留的命令。通過(guò) 檢查操作碼以及擴(kuò)展操作碼(如果存在)來(lái)確定命令的分類(lèi)。如果命令操 作碼或操作碼和擴(kuò)展操作碼的組合不是定義的或保留的命令的操作碼或操 作碼和擴(kuò)展操作碼的組合,則命令是非法的。定義的命令屬于三種類(lèi)別之一數(shù)據(jù)傳輸命令、SL1高速緩存管理命 令和同步命令。數(shù)據(jù)傳輸命令進(jìn)一步分為定義數(shù)據(jù)移動(dòng)方向(即到達(dá)或來(lái)自本地存儲(chǔ))的子類(lèi)別。Put命令是將數(shù)據(jù)從本地存儲(chǔ)移動(dòng)到主存儲(chǔ)的數(shù) 據(jù)傳輸命令。Get命令是將數(shù)據(jù)從主存儲(chǔ)移動(dòng)到本地存儲(chǔ)的數(shù)據(jù)傳輸命令。 應(yīng)用可以將數(shù)據(jù)傳輸命令放置在MFC代理命令隊(duì)列27 0中。除非另行說(shuō)明, 否則這些命令可以按任何順序(異步)執(zhí)行。"非法"類(lèi)命令指不在定義的類(lèi)或保留的類(lèi)中的命令。"保留"類(lèi)命 令旨在用于與實(shí)施方式相關(guān)的用途。SL1存儲(chǔ)控制命令是用于控制有關(guān)SL1高速緩存的操作的命令。這些 存儲(chǔ)控制命令例如包括用于通知SLl高速緩存可能要發(fā)出特定類(lèi)型的數(shù)據(jù) 傳輸命令(例如get或put命令)的"提示,,命令、地址范圍操作命令和 刷新命令。MFC同步命令用于控制相對(duì)于其他MFC、處理器和其他設(shè)備來(lái)執(zhí)行存儲(chǔ) 訪(fǎng)問(wèn)的順序。MFC同步命令包括用于強(qiáng)制按順序執(zhí)行的命令、用于相對(duì)于 DMA命令隊(duì)列中位于屏障命令之前的所有命令來(lái)排序所有后續(xù)命令的屏障 命令,以及用于在目標(biāo)信號(hào)通知寄存器中邏輯地設(shè)置信號(hào)位的發(fā)送信號(hào)命 令等。MFC命令可以是單個(gè)DMA命令或者可以是DMA列表命令。圖3B中示出 了根據(jù)本發(fā)明的示意性實(shí)施例的DMA列表命令的詳細(xì)信息。DMA列表命令 使用存儲(chǔ)在本地存儲(chǔ)中的有效地址和傳輸大小對(duì)的列表或列表元素作為 DMA傳輸?shù)膮?shù)。這些參數(shù)用于MFC代理命令隊(duì)列不支持的SPU啟動(dòng)的DMA 列表命令。每個(gè)列表元素的第 一個(gè)字包含傳輸大小以及停止和通知標(biāo)志。 第二個(gè)字包含有效地址的低32位。雖然為列表中的每個(gè)傳輸元素指定了開(kāi) 始有效地址,但是主要列表命令中僅指定了傳輸中涉及的本地存儲(chǔ)地址(術(shù) 語(yǔ)"主要"指由圖3A中所示的參數(shù)指定的列表命令)。本地存儲(chǔ)地址根據(jù)列表中的每個(gè)元素傳輸?shù)臄?shù)據(jù)量在內(nèi)部遞增。但是, 由于對(duì)齊限制,如果本地存儲(chǔ)地址沒(méi)有在列表元素傳輸?shù)?6字節(jié)邊界上開(kāi) 始,則硬件自動(dòng)將本地存儲(chǔ)地址遞增到下一個(gè)16字節(jié)邊界。僅當(dāng)使用小于 16字節(jié)的傳輸大小時(shí)才會(huì)發(fā)生此情況。傳輸大小小于16字節(jié)的列表元素 在由有效地址的4個(gè)最低位定義的當(dāng)前四倍長(zhǎng)字(16字節(jié))內(nèi)使用本地存 儲(chǔ)偏移。在列表元素中指定的有效地址是相對(duì)于由基本DMA列表命令中指定的 有效地址的高32位定義的4GB區(qū)域的。雖然DMA列表開(kāi)始地址是相對(duì)于單 個(gè)4GB區(qū)域的,但是列表元素內(nèi)的傳輸可以跨4GB邊界。設(shè)置"S,,(停止和通知)位會(huì)使DMA操作在當(dāng)前列表元素已被處理之 后掛起此列表的執(zhí)行,并針對(duì)SPU設(shè)置停止和通知事件狀態(tài)。在MFC從SPU 程序接收到停止和通知確認(rèn)之前,已停止的列表不會(huì)重新開(kāi)始執(zhí)行。使用 關(guān)聯(lián)的命令標(biāo)記組標(biāo)識(shí)符將停止和通知事件發(fā)布到SPU程序。當(dāng)同一標(biāo)記 組中存在多個(gè)具有停止和通知元素的DMA列表命令時(shí),軟件將確保使用標(biāo) 記特定的屏障或全局屏障來(lái)強(qiáng)制有序執(zhí)行DMA列表命令以免產(chǎn)生不定性。將保證DMA列表命令內(nèi)的所有DMA列表元素都按順序啟動(dòng)和發(fā)出。DMA 列表命令內(nèi)的所有元素都具有固有的本地排序。單個(gè)DMA列表命令可以包 含最多2048個(gè)元素,占用16 KB的本地存儲(chǔ)。通道接口在BPA中,通道用作協(xié)處理單元(SPU)和存儲(chǔ)器流控制(MFC)單元 之間的主要接口。 SPU通道訪(fǎng)問(wèn)設(shè)備用于配置、保存和恢復(fù)SPU通道。SPU 指令集體系結(jié)構(gòu)(ISA )提供一組通道指令以便通過(guò)通道接口 (或SPU通道) 與外部設(shè)備通信。表1列出了這些指令通道指令指令助記符操作描述讀取通道rdch導(dǎo)致存儲(chǔ)在已尋址通道 中的數(shù)據(jù)的讀取被加載 到選定的通用寄存器 (GPR)中寫(xiě)入通道wrch導(dǎo)致從選定的GPR讀取 數(shù)據(jù)并將其存儲(chǔ)在已尋 址通道中讀取通道計(jì)數(shù)rchciit導(dǎo)致與已尋址通道關(guān)聯(lián) 的計(jì)數(shù)被存儲(chǔ)在選定的 GPR中表1 -通道指令在體系結(jié)構(gòu)上,SPU通道可以配置為具有只讀或只寫(xiě)的訪(fǎng)問(wèn)類(lèi)型。通道不能配置為讀取和寫(xiě)入。除了訪(fǎng)問(wèn)類(lèi)型之外,每個(gè)通道可以配置為非阻塞或阻塞。配置為阻塞的通道使SPU在讀取通道計(jì)數(shù)為"0"的通道或?qū)懭霛M(mǎn)通道(即,通道計(jì)數(shù)為"0"的通道)時(shí)停止。"讀取"通*示只有讀取通道指令(rdch)可以被發(fā)出到此通道并始終返回?cái)?shù)據(jù)。"寫(xiě)入"通道 表示只有寫(xiě)入通道指令(wrch)可以被發(fā)出到此通道且通道始終接受數(shù)據(jù)。"讀取阻塞"通道表示只有讀取通道指令(rdch)可以械發(fā)出到此通 道。僅當(dāng)通道計(jì)數(shù)不為零時(shí),發(fā)送到讀取阻塞通道的讀取通道指令(rdch ) 才會(huì)完成。通道計(jì)數(shù)為"0"表示通道為空。對(duì)計(jì)數(shù)為"0"的讀取阻塞通 道執(zhí)行通道讀取(rdch)會(huì)導(dǎo)致SPU停止,直到通道中的數(shù)據(jù)可用。"寫(xiě)入阻塞"通道表示只有寫(xiě)入通道指令(wrch)可以4皮發(fā)出到此通 道。僅當(dāng)通道計(jì)數(shù)不為零時(shí),發(fā)送到寫(xiě)入阻塞通道的寫(xiě)入通道指令(wrch) 才會(huì)完成。通道計(jì)數(shù)為"0"表示通道是滿(mǎn)的。對(duì)計(jì)數(shù)為"0"的寫(xiě)入阻塞 通道執(zhí)行寫(xiě)入通道指令(wrch)會(huì)導(dǎo)致SPU停止,直到已尋址的通道中的 表項(xiàng)變得可用。應(yīng)當(dāng)指出,發(fā)出不適用于通道配置的通道指令會(huì)導(dǎo)致無(wú)效的通道指令 中斷。例如,向配置為寫(xiě)入或?qū)懭胱枞ǖ赖耐ǖ腊l(fā)出讀取通道指令(rdch) 會(huì)導(dǎo)致無(wú)效的通道指令中斷。每個(gè)通道都具有相應(yīng)的計(jì)數(shù)(即,深度),所述計(jì)數(shù)表示可以針對(duì)此 通道發(fā)出的未完成操作的數(shù)量。通道深度(即,未完成傳輸?shù)淖畲髷?shù)量) 與實(shí)施方式相關(guān)。當(dāng)在SPU中建立新的上下文時(shí),或者繼續(xù)現(xiàn)有上下文時(shí), 軟件必須初始化通道計(jì)數(shù)。在標(biāo)題為"External Message Passing Method and Apparatus"(申 請(qǐng)?jiān)粸?003年6月26日,在此引入作為參考)的共同未決和共同受讓的 美國(guó)專(zhuān)利申請(qǐng)公開(kāi)No. 2004/0264445中說(shuō)明了通道和通道接口的操作。圖 4是示出了才艮據(jù)美國(guó)專(zhuān)利申請(qǐng)^^開(kāi)No. 2004/0264445中所述機(jī)制的關(guān)于單 對(duì)通道的通道電路的SPU發(fā)出和控制邏輯以及數(shù)據(jù)流的布置的示意圖?,F(xiàn) 在將參考圖4中示出的各個(gè)方塊來(lái)描述通道接口的操作。如圖4所示,方塊430表示SPU的外部設(shè)備指令發(fā)出和控制邏輯。方塊432表示到達(dá)和來(lái)自SPU的數(shù)據(jù)流。如所公知的,處理器可以同時(shí)與許 多不同的外部設(shè)備通信。在現(xiàn)在的處理器中,通過(guò)通道寄存器完成通信。 每個(gè)通道僅在一個(gè)方向上工作,并且根據(jù)SPU可以對(duì)通道執(zhí)行的操作而稱(chēng) 為讀取通道或?qū)懭胪ǖ?。方塊434表示由方塊435表示的單個(gè)外部設(shè)備的 一組通道的通道邏輯。如將在以下更詳細(xì)討論的,此外部設(shè)備435可以是 MFC (例如MFC 200 )、機(jī)器狀態(tài)寄存器或任何其他類(lèi)型的外部設(shè)備。具體 地說(shuō),在通道接口的此一般描述之后,將在其后描述使用通道接口與MFC、 機(jī)器狀態(tài)寄存器、事件設(shè)備、郵箱設(shè)備以及信號(hào)通知設(shè)備進(jìn)行通信。在方塊434內(nèi),示出了讀取通道計(jì)數(shù)器436、讀取寄存器438、寫(xiě)入通 道計(jì)數(shù)器440、寫(xiě)入寄存器442、 MUX (多路復(fù)用器)444和MUX 446。通道 指令在總線(xiàn)448上從SPU發(fā)出和控制邏輯430傳遞到讀取計(jì)數(shù)器和寫(xiě)入計(jì) 數(shù)器436和440以及傳遞到MUX 444和446的門(mén)輸入。這些指令還在通道 輸出線(xiàn)450上提供給相應(yīng)的外部設(shè)備(例如435 )。數(shù)據(jù)輸入線(xiàn)452將數(shù) 據(jù)從外部設(shè)備435提供給讀取寄存器438。通道計(jì)數(shù)輸入信號(hào)在通道輸入 線(xiàn)454上從外部設(shè)備435提供給計(jì)數(shù)器436,表示數(shù)據(jù)已輸入到寄存器并 運(yùn)行以便以單位值或單個(gè)位來(lái)改變計(jì)數(shù)器436中的計(jì)數(shù)。在數(shù)據(jù)輸出線(xiàn)456上提供要從寫(xiě)入寄存器442輸出到外部設(shè)備435的 數(shù)據(jù)。當(dāng)外部設(shè)備435已完成滿(mǎn)意的數(shù)據(jù)接收并運(yùn)行以便以單位值或單個(gè) 位來(lái)改變計(jì)數(shù)器440中的計(jì)數(shù)時(shí),通道確認(rèn)信號(hào)在通道確認(rèn)線(xiàn)458上從外 部設(shè)備435返回寫(xiě)入通道計(jì)數(shù)器440。在本發(fā)明的優(yōu)選實(shí)施例中,總線(xiàn)448 上的信號(hào)將遞減相應(yīng)讀取計(jì)數(shù)器或?qū)懭胗?jì)數(shù)器的計(jì)數(shù),而線(xiàn)454或458上 的信號(hào)將遞增相應(yīng)讀取計(jì)數(shù)器或?qū)懭胗?jì)數(shù)器的計(jì)數(shù)。如所示出的,計(jì)數(shù)器436和440的計(jì)數(shù)在通道停止線(xiàn)460上通過(guò)MUX 4 4 4提供給SPU發(fā)出和控制邏輯4 3 0 。通道寫(xiě)入數(shù)據(jù)在通道寫(xiě)入數(shù)據(jù)線(xiàn)4 6 2 上從SPU數(shù)據(jù)流方塊432提供給寫(xiě)入寄存器442。來(lái)自方塊436、 438和440 的輸出在總線(xiàn)464上返回?cái)?shù)據(jù)流方塊432。非通道指令通過(guò)總線(xiàn)466在方 塊430和432之間傳送。圖5提供了示出根據(jù)本發(fā)明的示意性實(shí)施例的通道接口的示意性操作的流程圖。將理解的是,圖5中的流程圖以及此后描述的后續(xù)圖中的流程 圖的每個(gè)方塊以及方塊組合可以通過(guò)計(jì)算機(jī)程序指令實(shí)現(xiàn)??梢韵蛱幚砥?或其他可編程數(shù)據(jù)處理裝置提供這些計(jì)算機(jī)程序指令以產(chǎn)生機(jī)器,以使在 所述處理器或其他可編程數(shù)據(jù)處理裝置上執(zhí)行的指令創(chuàng)建用于實(shí)現(xiàn)一個(gè)或 多個(gè)流程圖方塊中指定的功能的裝置。這些計(jì)算機(jī)程序指令還可以存儲(chǔ)在 引導(dǎo)處理器或其他可編程數(shù)據(jù)處理裝置以特定方式運(yùn)行的計(jì)算機(jī)可讀存儲(chǔ) 器或存儲(chǔ)介質(zhì)中,以使存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)器或存儲(chǔ)介質(zhì)中的指令生成 包括實(shí)現(xiàn)一個(gè)或多個(gè)流程圖方塊中指定的功能的指令裝置的制品。相應(yīng)地,流程圖的方塊支持用于執(zhí)行指定功能的裝置組合、用于執(zhí)行 指定功能的步驟組合,以及用于執(zhí)行指定功能的程序指令裝置。還將理解 的是,流程圖的每個(gè)方塊以及流程圖中的方塊組合可以通過(guò)執(zhí)行指定功能 或步驟的基于專(zhuān)用硬件的計(jì)算機(jī)系統(tǒng)來(lái)實(shí)現(xiàn),或者通過(guò)專(zhuān)用硬件和計(jì)算機(jī) 指令的組合來(lái)實(shí)現(xiàn)。如圖5所示,通道讀取或?qū)懭胫噶畹陌l(fā)出將導(dǎo)致判定指定的通道是否 為已經(jīng)實(shí)現(xiàn)如上所述的控制機(jī)制的通道(步驟576 )。如果否,則判定是 否啟用了通道錯(cuò)誤邏輯(步驟578 )。如果啟用,則處理器將停止(步驟 580 )。如果未啟用,則判定命令是讀取命令還是寫(xiě)入命令(步驟582 )。如果未實(shí)現(xiàn)的命令是寫(xiě)入命令,則不會(huì)針對(duì)此命令進(jìn)一步執(zhí)行任何操 作(步驟584 )。另一方面,如果未實(shí)現(xiàn)的命令是讀取命令,則向數(shù)據(jù)處 理器數(shù)據(jù)流返回零(步驟586 )。在這兩種情況下,過(guò)程都將返回到等待 下一個(gè)讀取或?qū)懭胫噶畹臓顟B(tài)。在示出的優(yōu)選實(shí)施例中,所有有效的讀取 指令都必須返回值。如在此定義的,到未實(shí)現(xiàn)的通道的通道讀取指令將返 回均為零的值。要指出的是,對(duì)于特定實(shí)施方式,并非必須定義所有通道。每個(gè)通道 將具有唯一的數(shù)字標(biāo)識(shí)符。在優(yōu)選實(shí)施例中,此通道標(biāo)識(shí)符的范圍為O到 127。但是,因?yàn)椴恍枰x所有通道,所以可能不會(huì)使用所有標(biāo)識(shí)符。因 此,如果有一個(gè)到未定義通道的指令,則過(guò)程將沿上面引用的未實(shí)現(xiàn)路徑 繼續(xù)。在某些實(shí)施方式中,可能需要將到未實(shí)現(xiàn)通道的通道讀取或?qū)懭朊钜暈榉欠ú僮鳌_M(jìn)一步的操作可能是強(qiáng)制處理器停止,如上述步驟580 中所示。返回圖5,如果在步驟576中判定已經(jīng)實(shí)現(xiàn)指定的通道,則進(jìn)行檢查 以查看指定的通道是否為阻塞通道(步驟588 )。如果否,則遞減此通道 的計(jì)數(shù),但不允許小于零(步驟590 )。如果判定通道為阻塞通道,則進(jìn) 行檢查以確定此通道的計(jì)數(shù)是否大于零(步驟592 )。如果是,則過(guò)程返 回步驟590。如果計(jì)數(shù)已經(jīng)為零,如在步驟592中判定的那樣,則SPU停止,直到 外部設(shè)備提供與此通道相關(guān)的輸入并且因此從零更改計(jì)數(shù)(步驟594和 595 )。因此,將定期處理步驟594和595的循環(huán),直到此通道的計(jì)氣l生 更改。 一旦計(jì)數(shù)更改,過(guò)程將從步驟595繼續(xù)到步驟590。此后,將判定通道是主動(dòng)的還是被動(dòng)的(步驟596 )。如果通道是被 動(dòng)的,則進(jìn)行檢查以查看命令是寫(xiě)入指令還是讀取指令(步驟598 )。如 果命令是寫(xiě)入指令,則將數(shù)據(jù)存儲(chǔ)在本地以供外部讀取(步驟600 )。如 果命令是讀取指令,則通過(guò)圖4的SPU數(shù)據(jù)流432將數(shù)據(jù)返回SPU (步驟 602 )。應(yīng)當(dāng)指出的是,在,皮動(dòng)通道的情況下,SPU依賴(lài)于外部過(guò)程來(lái)完成操 作。作為一個(gè)實(shí)例,讀取通道可以依賴(lài)于外部設(shè)備來(lái)加載數(shù)據(jù)。另一方面, 在主動(dòng)通道中,SPU主動(dòng)地完成執(zhí)行讀取或?qū)懭氩僮鞯牟僮鳌_B接的硬件 針對(duì)主動(dòng)讀取通道中的數(shù)據(jù)發(fā)出外部請(qǐng)求是此類(lèi)型操作的一個(gè)實(shí)例。當(dāng)在步驟596中判定通道是主動(dòng)通道時(shí),將進(jìn)行檢查以查看命令是讀 取命令還是寫(xiě)入命令(步驟604 )。如果命令是寫(xiě)入命令,則將寫(xiě)入數(shù)據(jù) 向外輸出到SPU或內(nèi)部寄存器(步驟606 )。如果命令是讀取命令,則將 讀取請(qǐng)求發(fā)送到相應(yīng)的外部設(shè)備(步驟608 )。將等待請(qǐng)求數(shù)據(jù)的輸入(步驟610)。將定期地判定是否已接收到讀 取數(shù)據(jù)(步驟612 )。如果否,則過(guò)程返回步驟610,直到進(jìn)行下次檢查時(shí)。 當(dāng)接收到數(shù)據(jù)時(shí),過(guò)程完成(步驟602 )。根據(jù)上述內(nèi)容,使用特定的通道讀取或?qū)懭胫噶?其中在指令中指定了通道號(hào))訪(fǎng)問(wèn)每個(gè)通道將是顯而易見(jiàn)的。每個(gè)通道都具有為其指定的計(jì) 數(shù)。此計(jì)數(shù)4吏用讀取通道計(jì)數(shù)指令(其中在指令中指定了感興趣的通道) 來(lái)讀取。通道命令不是推測(cè)性的,并且不能在外部接口處被亂序處理。通道體系結(jié)構(gòu)不要求SPU外部的設(shè)備按順序處理通道命令,但是可能會(huì)根據(jù)處理器和外部設(shè)備實(shí)施方式而執(zhí)行此操作。此計(jì)數(shù)寄存器中的值將跟蹤對(duì) 此寄存器的訪(fǎng)問(wèn)次數(shù)與已針對(duì)此寄存器發(fā)生的外部確認(rèn)次數(shù)。在操作中,經(jīng)由通過(guò)外部接口(多個(gè))的訪(fǎng)問(wèn)更改通道計(jì)數(shù)的方式是 基于實(shí)施方式的。在優(yōu)選實(shí)施例中,對(duì)于每個(gè)到達(dá)或來(lái)自寄存器的成功數(shù)據(jù)傳輸,計(jì)數(shù)以1為單位遞增。對(duì)于每個(gè)通道,SPU訪(fǎng)問(wèn)可以被定義為讀 取或?qū)懭胪ǖ?。進(jìn)而,在優(yōu)選實(shí)施例中,當(dāng)通道^L定義或?qū)崿F(xiàn)為"阻塞" 通道時(shí),使用"0"計(jì)數(shù)停止進(jìn)一步的操作。當(dāng)通道寄存器定義為具有為"1" 的隊(duì)列深度時(shí),"0"計(jì)數(shù)可以用于指示此通道中的數(shù)據(jù)無(wú)效。通道還可以 定義為停止在讀取或?qū)懭胪ǖ烂顣r(shí)的SPU操作(在此命令時(shí),如果計(jì)數(shù) 為"0"),直到計(jì)數(shù)不再為"0"。在優(yōu)選實(shí)施例中,對(duì)于每個(gè)SPU啟動(dòng)的讀取或?qū)懭胪ǖ烂?,?jì)數(shù)器值遞減,對(duì)于每個(gè)外部啟動(dòng)的讀取或?qū)懭?帶有或不帶有數(shù)據(jù))訪(fǎng)問(wèn),計(jì) 數(shù)器值遞增。換言之,計(jì)數(shù)器保持輸入與輸出的指示。因此,對(duì)于寫(xiě)入,為"0"的值或計(jì)數(shù)指示沒(méi)有更多的外部寫(xiě)入槽可用。另一方面,對(duì)于讀取, 為"0"的計(jì)數(shù)值指示沒(méi)有有效的數(shù)據(jù)。當(dāng)計(jì)數(shù)為零時(shí),如果發(fā)出其他SPU 讀取或?qū)懭胪ǖ烂?,并且通道定義為非阻塞,則計(jì)數(shù)將保持為"0"并且寄存器中的數(shù)據(jù)將丟失。如優(yōu)選實(shí)施例中實(shí)現(xiàn)的,此寄存器中的先前最新 數(shù)據(jù)將丟失。如果對(duì)于此通道寄存器實(shí)施方式的位數(shù),計(jì)數(shù)處于最大值, 并且發(fā)生其他將導(dǎo)致計(jì)數(shù)超范圍遞增的事務(wù),則計(jì)數(shù)將停留在此最大值。 初始化計(jì)數(shù)值的方法與實(shí)施方式相關(guān),并且一種方法是通過(guò)外部接口 進(jìn)行初始化。此計(jì)數(shù)可用于寫(xiě)入隊(duì)列的流控制??梢詫⒂?jì)數(shù)預(yù)先設(shè)置為外 部隊(duì)列的深度。計(jì)數(shù)寄存器中的零值表示此外部隊(duì)列中沒(méi)有更多的空間。對(duì)于為'T,的外部隊(duì)列深度,計(jì)數(shù)應(yīng)預(yù)先^L置為'T,。當(dāng)SPU寫(xiě)入此通 道時(shí),計(jì)數(shù)將轉(zhuǎn)到"0"。當(dāng)外部設(shè)備從此通道中讀取時(shí),計(jì)數(shù)將遞增到"1",由此指示通道已準(zhǔn)備好其他寫(xiě)入操作。如上所述,對(duì)于通道寄存器的讀取,這允許計(jì)數(shù)指示有效數(shù)據(jù)。如果計(jì)數(shù)寄存器預(yù)先設(shè)置為"o",這指示數(shù)據(jù)無(wú)效。當(dāng)外部設(shè)備向此通道寫(xiě)入 時(shí),計(jì)數(shù)將遞增到'T,,指示數(shù)據(jù)對(duì)于SPU讀取有效。當(dāng)SPU從此通道中 讀取時(shí),計(jì)數(shù)將遞減回"0",指示可以發(fā)生其他外部寫(xiě)入。在本發(fā)明的優(yōu)選實(shí)施例中,計(jì)算機(jī)代碼通道計(jì)數(shù)讀取指令被發(fā)送到計(jì) 數(shù)器以確定讀取和寫(xiě)入通道的計(jì)數(shù)。當(dāng)外部設(shè)備為智能設(shè)備(例如多處理 器環(huán)境中的其他SPU或計(jì)算設(shè)備)時(shí),外部設(shè)備還可以將通道計(jì)數(shù)讀取指 令發(fā)送到計(jì)數(shù)器以確定計(jì)數(shù)。通過(guò)此方式,外部設(shè)備可以確定通道何時(shí)在含讀取通道的處理器。使用本發(fā)明,讀取和寫(xiě)入通道可以為非累積或累積的。累積通道是累 積多個(gè)寫(xiě)入的通道。即,將入站數(shù)據(jù)邏輯地添加到已包含在寄存器或其他 存儲(chǔ)裝置中的數(shù)據(jù),直到讀取該通道。讀取該通道時(shí),通常將累積寄存器 重置為"0",并且通道將再次開(kāi)始累積。此操作可以用于讀取或?qū)懭胪ǖ?。進(jìn)而,累積通道可以為阻塞或非阻塞的。通常,累積通道將僅具有為 "1"的計(jì)數(shù)深度,而非累積通道可用于對(duì)向此通道執(zhí)行的每個(gè)寫(xiě)入計(jì)數(shù)。概括地說(shuō),通道接口使用已定義的通道來(lái)釋放存儲(chǔ)器,但仍提供有關(guān) 寄存器中的數(shù)據(jù)何時(shí)有效(換言之,先前尚未,皮讀取)的易于訪(fǎng)問(wèn)的信息。 通過(guò)向計(jì)數(shù)機(jī)制發(fā)送通道計(jì)數(shù)讀取指令來(lái)獲取此信息。當(dāng)智能外部設(shè)備連 接到給定通道時(shí),外部設(shè)備可以使用類(lèi)似指令向給定通道發(fā)送數(shù)據(jù)或從給 定通道接收數(shù)據(jù)。當(dāng)指定的通道定義為非阻塞通道時(shí),通道接口還可通過(guò) 使用通道計(jì)數(shù)讀取指令進(jìn)一步防止意外覆蓋寄存器中的數(shù)據(jù)。及由此類(lèi)外部設(shè)備提供的設(shè)備傳送指令和數(shù)據(jù)。例如,本發(fā)明提供了用于 使用SPU的通道接口與MFC、機(jī)器狀態(tài)寄存器和中斷設(shè)備傳送指令和數(shù)據(jù) 的機(jī)制。此外,通道接口用于與BPA的事件設(shè)備、郵箱設(shè)備、多源同步設(shè) 備、代理標(biāo)記組完成設(shè)備、信號(hào)通知設(shè)備等傳送指令和數(shù)據(jù)。圖6A是示出了本發(fā)明的一個(gè)實(shí)施例使用通道的方式的示意圖。如圖 6A所示,通道接口 620提供多個(gè)通道,SPU 622可以通過(guò)這些通道與MFC 624、機(jī)器狀態(tài)寄存器634和中斷設(shè)備636通信。每個(gè)通道可以包括類(lèi)似于 上面圖4中所述元素的元素,并且其操作類(lèi)似于圖5A和5B中所述的操作。 在本發(fā)明的一個(gè)示意性實(shí)施例中,通道接口 620可以對(duì)應(yīng)于由圖4中的方 塊434表示的所有通道對(duì)的聚合。SPU 622可以對(duì)應(yīng)于圖4中的方塊430 和432的組合,例如,圖6中的其他所有方塊對(duì)應(yīng)于圖4中的方塊435。如圖6A所示,通道631、 633和635提供與SPU 622關(guān)聯(lián)的通信路徑, SPU事件設(shè)備630和遞減器632可以通過(guò)此路徑與MFC 通信。SPU事件 設(shè)備630提供用于處理在BPA內(nèi)生成的事件的機(jī)制。通道633提供用于標(biāo) 識(shí)感興趣事件以及獲取有關(guān)這些感興趣事件的信息的機(jī)制,如將在以下更 詳細(xì)討論的。遞減器632提供了 SPU上運(yùn)行的軟件可以借助其測(cè)量時(shí)間進(jìn) 度或被通知經(jīng)過(guò)的給定測(cè)量時(shí)間的機(jī)制。遞減器632可以通過(guò)通道631設(shè) 置其值以及讀取狀態(tài)。SPU (發(fā)出和控制邏輯、處理器數(shù)據(jù)流)622提供用于與外部設(shè)備通信 的指令、數(shù)據(jù)和設(shè)備。例如,SPU 622提供了 SPU通道訪(fǎng)問(wèn)設(shè)備,此設(shè)備 是初始化、保存和恢復(fù)SPU通道的特權(quán)設(shè)備。所述設(shè)備包括三個(gè)醒IO寄存 器SPU通道索引寄存器、SPU通道計(jì)數(shù)寄存器和SPU通道數(shù)據(jù)寄存器。SPU 通道索引寄存器是指向其計(jì)數(shù)和數(shù)據(jù)分別由SPU通道計(jì)數(shù)寄存器和SPU通 道數(shù)據(jù)寄存器訪(fǎng)問(wèn)的通道的指針。SPU通道索引寄存器選擇使用SPU通道 計(jì)數(shù)寄存器或SPU通道數(shù)據(jù)寄存器訪(fǎng)問(wèn)的SPU通道。SPU通道數(shù)據(jù)寄存器 用于讀取或初始化由SPU通道索引寄存器選擇的SPU通道數(shù)據(jù)。除了用于與SPU 622的設(shè)備通信的通道631、 633和635之外,通道 637提供了與機(jī)器狀態(tài)寄存器634關(guān)聯(lián)的通信路徑。機(jī)器狀態(tài)寄存器634 包含當(dāng)前機(jī)器隔離狀態(tài)和中斷狀態(tài)。隔離狀態(tài)指示是否已將SPU隔離。BPA 的隔離設(shè)^f吏得特權(quán)軟件和應(yīng)用能夠?qū)⒋a映像隔離和加載到一個(gè)或多個(gè) SPU中。SPU隔離設(shè)備確保加栽到關(guān)聯(lián)的SPU本地存儲(chǔ)的代碼映像尚未被任 何裝置改變。當(dāng)支持嵌套的中斷時(shí),與中斷狀態(tài)相關(guān)的機(jī)器狀態(tài)寄存器用于保存和恢復(fù)中斷狀態(tài)信息。此外,通道639提供與中斷設(shè)備636關(guān)聯(lián)的通信路徑。中斷設(shè)備636 用于將中斷和中斷狀態(tài)信息路由到PPE或外部設(shè)備、將提供給PPE的中斷 按照優(yōu)先順序排序,并生成處理器間中斷。此外,通道641提供與郵箱設(shè)備638關(guān)聯(lián)的通信路徑。郵箱設(shè)備638 用于將信息發(fā)送到外部設(shè)備(例如其他SPU、 PPE等)或用于從其接收信息。通道643提供與SPU信號(hào)通知設(shè)備640關(guān)聯(lián)的通信路徑。SPU信號(hào)通 知設(shè)備640用于將信號(hào)(例如緩沖區(qū)完成標(biāo)志)從系統(tǒng)中的其他處理器和 設(shè)備發(fā)送到SPU。通道645提供與代理標(biāo)記組完成設(shè)備642關(guān)聯(lián)的通信路徑。代理標(biāo)記 組完成設(shè)備642是用于確定何時(shí)完成一組類(lèi)似標(biāo)記指令的處理的設(shè)備。通道647提供與MFC多源同步設(shè)備644關(guān)聯(lián)的通信路徑。MFC多源同 步設(shè)備644實(shí)現(xiàn)跨本地存儲(chǔ)和主存儲(chǔ)地址域的累積排序。由多個(gè)源(即, 兩個(gè)或更多個(gè)處理器或單元)相對(duì)于其他處理器或單元執(zhí)行的存儲(chǔ)訪(fǎng)問(wèn)的 排序被稱(chēng)為累積排序。圖6B和6C示出了根據(jù)本發(fā)明的一個(gè)示意性實(shí)施例的列出SPU通道圖 的示意圖。如圖6所示,SPU通道接口支持各種類(lèi)型的用于傳送指令和數(shù) 據(jù)的通道。這些通道包括SPU事件通道650、 SPU信號(hào)通知通道652、 SPU 遞減器通道654、 MFC多源同步通道656、 SPU保留通道658、掩碼讀取通 道660、 SPU狀態(tài)管理通道662、 MFC命令參數(shù)通道664、 MFC標(biāo)記狀態(tài)通道 666以及SPU郵箱通道668。這些"通道"本質(zhì)上是存儲(chǔ)器映射的寄存器以 及用于寫(xiě)入這些寄存器的相應(yīng)電路。因此,術(shù)語(yǔ)"通道"在此還可以用于 指存儲(chǔ)與指定的"通道"對(duì)應(yīng)的數(shù)據(jù)值的一個(gè)或多個(gè)寄存器。將在以下描 述這些通道中的每個(gè)通道的操作。在PPE、 SPU和MFC中提供了各種用于使 用這些通道的設(shè)備。將在以下詳細(xì)描述這些類(lèi)型的通道中的每種通道,從 用于與MFC通信的這些通道開(kāi)始。MFC命令參數(shù)通道MFC命令參數(shù)通道664是用于將數(shù)據(jù)寫(xiě)入MFC SPU命令隊(duì)列的MFC命 令參數(shù)寄存器的通道(參見(jiàn)以上的圖2和表1) 。 MFC命令參數(shù)通道664 是非阻塞的并且沒(méi)有與其關(guān)聯(lián)的通道計(jì)數(shù)。因此,執(zhí)行發(fā)送到這些通道中 的任何通道的讀取通道計(jì)數(shù)(rchcnt)指令將返回計(jì)數(shù)'T,。MFC命令參數(shù)通道664包括MFC本地存儲(chǔ)地址通道、MFC有效高地址通 道、MFC有效低地址或列表地址通道、MFC傳輸大小或列表大小通道、MFC 命令標(biāo)記標(biāo)識(shí)通道、MFC命令操作碼通道以及MFC類(lèi)ID通道。將在以下詳 細(xì)描述這些通道中的每個(gè)通道。MFC命令操作碼通道圖7A中提供了根據(jù)本發(fā)明的一個(gè)示意性實(shí)施例的MFC命令操作碼通道 的詳細(xì)信息。MFC命令操作碼通道根據(jù)操作碼標(biāo)識(shí)要執(zhí)行的操作。將相對(duì) 于指令流異步地檢查此操作碼的有效性。如果MFC命令或任何命令參數(shù)無(wú) 效,則MFC命令隊(duì)列處理將掛起并生成無(wú)效的MFC命令中斷。使用單個(gè)通道指令將MFC命令和類(lèi)ID參數(shù)寫(xiě)入MFC SPU命令隊(duì)列。如 圖7A所示,在優(yōu)選實(shí)施例中,MFC命令操作碼參數(shù)是32位字的低16位。 此字段的高8位被保留,低8位標(biāo)識(shí)了 MFC命令操作碼。MFC類(lèi)ID通道MFC類(lèi)ID通道用于指定每個(gè)MFC命令的替換類(lèi)ID和傳輸類(lèi)ID,如圖 7B所示。SPU和軟件使用這些ID來(lái)提高系統(tǒng)的整體性能。具體地說(shuō),替換 類(lèi)ID (RclassID)與替換管理表(RMT) —起使用以控制高速緩存替換。 可以例如從PPE操作的加栽和存儲(chǔ)地址來(lái)生成替換類(lèi)ID (PPE包括地址范 圍設(shè)備,此設(shè)備提供了 一種將用于PPE加載和存儲(chǔ)以及指令取回的有效地 址或?qū)嵉刂酚成涞礁咚倬彺嫣鎿Q管理設(shè)備的類(lèi)ID的方法)。RclassID用于生成用于控制替換策略的特權(quán)軟件管理的表(即替換管 理表(RMT))的索引。RMT的格式與實(shí)施方式相關(guān)。RMT包括數(shù)量與實(shí)施 方式相關(guān)的表項(xiàng),這些表項(xiàng)應(yīng)包含成組啟用位、有效位以及其他控制信息。可選地, 一種實(shí)施方式還可以提供高速緩存旁路位和算法位。RMT表中的 表項(xiàng)數(shù)以及每個(gè)表項(xiàng)的大小與實(shí)施方式相關(guān)。圖7C示出了用于8路、成組相聯(lián)高速緩存的典型RMT表項(xiàng)。RMT表位 于系統(tǒng)的實(shí)地址空間中。特權(quán)軟件應(yīng)將這些RMT表映射為特權(quán)頁(yè)。 一種實(shí) 施方式應(yīng)為每個(gè)主要的高速緩存結(jié)構(gòu)提供RMT。返回圖7B,傳輸類(lèi)ID(TclassID)用于標(biāo)識(shí)對(duì)具有不同特征的存儲(chǔ)的 訪(fǎng)問(wèn)。TclassID旨在用于允許實(shí)施方式根據(jù)存儲(chǔ)位置的特征來(lái)優(yōu)化對(duì)應(yīng)于 MFC命令的傳輸。TclassID的設(shè)置和使用與實(shí)施方式相關(guān)。RclassID和TclassID (此后稱(chēng)為"類(lèi)ID參數(shù)")的內(nèi)容不是永久性 的,并且必須針對(duì)每個(gè)MFC命令入隊(duì)序列寫(xiě)入。無(wú)論與從PPE還是從SPU 命令隊(duì)列的SPU側(cè)發(fā)出的命令一起使用,類(lèi)ID參數(shù)都執(zhí)行相同的功能。類(lèi) ID參數(shù)用于控制與SPE關(guān)聯(lián)的資源,并且對(duì)與其他SPE或PPE關(guān)聯(lián)的資源 沒(méi)有任何影響。不會(huì)驗(yàn)證類(lèi)ID參數(shù)的有效性。所支持的類(lèi)ID參數(shù)的數(shù)量 與實(shí)施方式相關(guān)。MFC命令標(biāo)記標(biāo)識(shí)通道MFC命令標(biāo)記標(biāo)識(shí)通道用于為每個(gè)命令或一組命令指定標(biāo)識(shí)符。圖7D 示出了 MFC命令標(biāo)記標(biāo)識(shí)通道的詳細(xì)信息。例如,標(biāo)識(shí)標(biāo)記是x' 0'與x 'IF'之間的任何值。標(biāo)識(shí)標(biāo)記在硬件中具有純本地范圍。因此,可以在 不同的SPE或PPE中使用同 一標(biāo)記。可以4吏用同 一標(biāo)識(shí)來(lái)標(biāo)記任何數(shù)量的MFC命令。使用同一標(biāo)識(shí)標(biāo)記的 MFC命令被稱(chēng)為標(biāo)記組。標(biāo)記與寫(xiě)入特定隊(duì)列的命令關(guān)聯(lián)。提供給MFCSPU 命令隊(duì)列的標(biāo)記獨(dú)立于提供給MFC代理命令隊(duì)列的標(biāo)記。MFC命令標(biāo)記標(biāo) 識(shí)參數(shù)的內(nèi)容不是永久性的,并且必須針對(duì)每個(gè)MFC命令入隊(duì)序列寫(xiě)入。 將相對(duì)于指令流異步地檢查此參數(shù)的有效性。如果高位(例如位Q到10) 沒(méi)有設(shè)置為0,則MFC命令隊(duì)列處理被掛起并將生成中斷。MFC傳輸大小或列表大小通道MFC傳輸大小或列表大小通道用于指定MFC傳輸?shù)拇笮』騇FC DMA傳 輸列表(即一系列DMA傳輸命令的列表)的大小。圖7E中提供了 MFC傳輸 大小或列表大小通道的詳細(xì)信息。在示意性實(shí)施例中,傳輸大小可以具有 值l、 2、 4、 8、 16或16字節(jié)的倍數(shù),最大值為16KB。 MFCDMA傳輸列表 大小可以具有值8或8的倍數(shù),最大值為16 KB。 MFC傳輸大小或列表大小 通道的內(nèi)容不是永久性的,并且必須針對(duì)每個(gè)MFC命令入隊(duì)序列寫(xiě)入。將 相對(duì)于指令流異步地檢查此參數(shù)的有效性。如果大小無(wú)效,則MFC命令隊(duì) 列處理被掛起并將生成MFC DMA對(duì)齊中斷。MFC本地存儲(chǔ)地址通道MFC本地存儲(chǔ)地址通道用于提供與要排隊(duì)的MFC命令關(guān)聯(lián)的SPU本地 存儲(chǔ)地址。MFC本地存儲(chǔ)地址用作MFC傳輸?shù)脑椿蚰康牡?,如MFC命令中 所定義的。圖7F中提供了 MFC本地存儲(chǔ)地址通道的詳細(xì)信息。MFC本地存儲(chǔ)地址通道的內(nèi)容不是永久性的,并且必須針對(duì)每個(gè)MFC 命令入隊(duì)序列寫(xiě)入。將相對(duì)于指令流異步地檢查MFC本地存儲(chǔ)地址參數(shù)的 有效性。如果地址未對(duì)齊,則MFC命令隊(duì)列處理被掛起并將生成MFC DMA 對(duì)齊異常。例如,為了^皮看作對(duì)齊,本地存儲(chǔ)地址的4個(gè)最低位必須與有 效地址的最低的4個(gè)位相匹配。MFC有效低地址或列表地址通道MFC有效低地址或列表地址通道用于為MFC命令或指向MFC DMA列表 命令的列表元素的本地存儲(chǔ)指針指定有效低地址。如果在MFC狀態(tài)寄存器 中啟用轉(zhuǎn)換,則PPE的地址轉(zhuǎn)換設(shè)備將有效地址轉(zhuǎn)換為實(shí)地址。圖7G提供 了 MFC有效低地址或列表地址通道的詳細(xì)信息。MFC有效低地址或列表地址通道的內(nèi)容不是永久性的,并且必須針對(duì) 每個(gè)MFC命令入隊(duì)序列寫(xiě)入。對(duì)于小于16字節(jié)的傳輸大小,此參數(shù)的位 28到31必須根據(jù)傳輸大小提供自然對(duì)齊。對(duì)于等于或大于16字節(jié)的傳輸 大小,位28到31必須為"0"。如果禁用轉(zhuǎn)換,此參數(shù)必須在主存儲(chǔ)域的實(shí)地址空間限制內(nèi)。對(duì)于MFC列表命令,列表地址的位29到31必須為"0"。 如果沒(méi)有滿(mǎn)足這些條件中的任一條件,則參數(shù)無(wú)效并被視為未對(duì)齊。將相對(duì)于指令流異步地檢查MFC有效低地址或列表地址參數(shù)的有效 性。如果地址無(wú)效,例如由于段錯(cuò)誤、映射錯(cuò)誤、保護(hù)違反或因?yàn)榈刂肺?對(duì)齊,則MFC命令隊(duì)列處理被掛起并將生成中斷。可以生成的中斷的類(lèi)型 包括MFC數(shù)據(jù)段中斷、MFC數(shù)據(jù)存儲(chǔ)中斷和DMA對(duì)齊中斷。MFC有效高地址通道MFC有效高地址通道用于指定MFC命令的有效地址。如果在MFC狀態(tài) 寄存器中啟用轉(zhuǎn)換,則地址轉(zhuǎn)換設(shè)備將有效地址轉(zhuǎn)換為實(shí)地址。圖7H示出 了 MFC有效高地址通道的詳細(xì)信息。MFC有效高地址通道的內(nèi)容不是永久性的,并且必須針對(duì)每個(gè)MFC命 令入隊(duì)序列寫(xiě)入。如果沒(méi)有寫(xiě)入高32位,則硬件設(shè)置EAH,高地址位被設(shè) 置為Q,即地址位于Q和4GB之間。將相對(duì)于指令流異步地檢查此參數(shù)的 有效性。如果地址無(wú)效,例如由于段錯(cuò)誤、映射錯(cuò)誤或保護(hù)違反,則MFC 命令隊(duì)列處理被掛起并將生成中斷??梢陨傻闹袛嗟念?lèi)型包括MFC數(shù)據(jù) 段中斷和MFC數(shù)據(jù)存儲(chǔ)中斷。應(yīng)當(dāng)指出,將在傳輸過(guò)程中檢查有效地址的 有效性??梢栽谟龅綗o(wú)效地址并生成異常之前執(zhí)行部分傳輸。使用上述MFC命令參數(shù)通道從SPU排隊(duì)MFC命令時(shí),必須首先將MFC 命令參數(shù)寫(xiě)入MFC命令參數(shù)通道。這可以按任何順序執(zhí)行,但MFC命令操 作碼和類(lèi)ID參數(shù)必須最后寫(xiě)入。因此,為了寫(xiě)入MFC命令參數(shù),將執(zhí)行圖 8中示出的操作。如圖8所示,所述操作包括將本地存儲(chǔ)地址參數(shù)寫(xiě)入MFC本地存儲(chǔ)地 址通道(步驟810)。將有效高地址參數(shù)寫(xiě)入MFC有效高地址通道(步驟 820 )。將有效低地址或列表地址參數(shù)寫(xiě)入MFC有效低或列表地址通道(步 驟830 )。將MFC傳輸或列表大小參數(shù)寫(xiě)入MFC傳輸大小或列表大小通道 (步驟840 )。將MFC命令標(biāo)記參數(shù)寫(xiě)入MFC命令標(biāo)記標(biāo)識(shí)符通道(步驟 850 )。在將上述所有參數(shù)都寫(xiě)入其各自的通道之后,將MFC命令操作碼和類(lèi)ID參數(shù)寫(xiě)入MFC操作碼和MFC類(lèi)ID通道(步驟860 ),然后操作結(jié)束。 應(yīng)當(dāng)理解,步驟810-850可以按任何順序執(zhí)行,步驟860在其他參數(shù)寫(xiě)入 其各自的通道之后執(zhí)行。MFC命令參數(shù)保留在MFC命令參數(shù)通道中,直到MFC處理了 MFC命令 操作碼和類(lèi)ID參數(shù)的寫(xiě)入。到MFC命令操作碼通道和MFC類(lèi)ID通道的寫(xiě) 入通道(wrch)指令導(dǎo)致將MFC命令參數(shù)通道中保存的參數(shù)發(fā)送到MFC命 令隊(duì)列。在將MFC命令本身發(fā)出到MFC命令隊(duì)列之前,可以按任何順序?qū)?入MFC命令參數(shù)。將在入隊(duì)操作中使用最后寫(xiě)入MFC命令參數(shù)通道的參數(shù) 的值。在將MFC命令排隊(duì)之后,MFC參數(shù)的值變得無(wú)效,并且必須為下一個(gè) MFC命令排隊(duì)請(qǐng)求重新指定值。未指定所有所需的MFC參數(shù)(即,除了可 選EAH之外的所有參數(shù))會(huì)導(dǎo)致MFC命令隊(duì)列的操作不正確。硬件將MFC命令操作碼通道和MFC類(lèi)ID通道的最大計(jì)數(shù)配置為硬件所 支持的MFC隊(duì)列命令數(shù)。軟件必須將MFC命令操作碼通道的通道計(jì)數(shù)初始MFC代理命令隊(duì)列槽的數(shù)量。還必須在SPE搶占式上下文切換時(shí)保存和恢 復(fù)MFC命令操作碼通道的通道計(jì)數(shù)。MFC標(biāo)i己組狀態(tài)通道如上所述,每個(gè)命令都可以使用標(biāo)識(shí)符(例如5位標(biāo)識(shí)符,稱(chēng)為MFC 命令標(biāo)記)進(jìn)行標(biāo)記。可以為多個(gè)MFC命令使用同一標(biāo)識(shí)符。將具有同一 標(biāo)識(shí)符的一組命令定義為標(biāo)記組。軟件可以使用MFC命令標(biāo)記來(lái)檢查或等 待每個(gè)標(biāo)記組的所有排隊(duì)的命令的完成。此外,軟件使用MFC命令標(biāo)記來(lái) 檢查或等待MFC DMA列表命令到達(dá)設(shè)置了停止和通知標(biāo)志的元素,以及確 認(rèn)列表元素以重新開(kāi)始MFC DMA列表命令。首先將描述MFC標(biāo)記組狀態(tài)通道,然后將提供用于確定標(biāo)記組狀態(tài)以 及確定MFC DMA列表命令完成的過(guò)程的描述。MFC標(biāo)記組狀態(tài)通道包括MFC寫(xiě)入標(biāo)記組查詢(xún)掩碼通道、MFC讀取標(biāo)記組查詢(xún)掩碼通道、MFC寫(xiě)入標(biāo)記狀態(tài)更新請(qǐng)求通道、MFC讀取標(biāo)記組狀態(tài)通 道、MFC讀取列表停止和通知標(biāo)記狀態(tài)通道、MFC寫(xiě)入列表停止和通知標(biāo)記 確認(rèn)通道,以及MFC讀取原子命令狀態(tài)通道。將在以下詳細(xì)描述這些通道 中的每個(gè)通道。MFC寫(xiě)入標(biāo)記組查詢(xún)掩碼通道MFC寫(xiě)入標(biāo)記組查詢(xún)掩碼通道用于選擇要包括在查詢(xún)或等待操作中的 標(biāo)記組。圖9A中示出了 MFC寫(xiě)入標(biāo)記組查詢(xún)掩碼通道的詳細(xì)信息。此通道提供的數(shù)據(jù)由MFC保留,直到被向此通道發(fā)出的后續(xù)寫(xiě)入通道 (wrch)指令所更改。因此,無(wú)需為每個(gè)狀態(tài)查詢(xún)或等待重新指定數(shù)據(jù)。 如果軟件在MFC標(biāo)記狀態(tài)更新請(qǐng)求未決時(shí)修改了此掩碼,則結(jié)果的含義將 不確定。應(yīng)始終在修改此掩碼之前取消未決的MFC標(biāo)記狀態(tài)更新請(qǐng)求。可 以通過(guò)向MFC寫(xiě)入標(biāo)記狀態(tài)更新請(qǐng)求通道寫(xiě)入值"0"(即,立即更新)來(lái) 取消MFC標(biāo)記狀態(tài)更新請(qǐng)求??梢酝ㄟ^(guò)讀取(rdch) MFC讀取標(biāo)記組查詢(xún) 掩碼通道來(lái)訪(fǎng)問(wèn)此通道的當(dāng)前內(nèi)容。此通道為非阻塞的并且沒(méi)有關(guān)聯(lián)的計(jì) 數(shù)。如果向此通道發(fā)送讀取通道計(jì)數(shù)(rchcnt)指令,則計(jì)數(shù)將始終返回 為T(mén) 。MFC讀取標(biāo)記組查詢(xún)掩碼通道MFC讀取標(biāo)記組查詢(xún)掩碼通道用于讀取代理標(biāo)記組查詢(xún)掩碼寄存器的 當(dāng)前值。圖9B中提供了 MFC讀取標(biāo)記組查詢(xún)掩碼通道的詳細(xì)信息。讀取此 通道將始終返回最后寫(xiě)入MFC寫(xiě)入標(biāo)記組查詢(xún)掩碼通道的數(shù)據(jù)。此通道可 以用于避免代理標(biāo)記組查詢(xún)掩碼的軟件影子復(fù)制以及進(jìn)行SPE上下文保存 和恢復(fù)操作。此通道為非阻塞的并且沒(méi)有關(guān)聯(lián)的計(jì)數(shù)。因此,如果向此通 il^送讀取通道計(jì)數(shù)(rchcnt)指令,則計(jì)數(shù)將始終返回為'T,。MFC寫(xiě)入標(biāo)i己狀態(tài)更新請(qǐng)求通道MFC寫(xiě)入標(biāo)記狀態(tài)更新請(qǐng)求通道控制何時(shí)在MFC讀取標(biāo)記組狀態(tài)通道中更新MFC標(biāo)記組狀態(tài)。圖9C中示出了 MFC寫(xiě)入標(biāo)記狀態(tài)更新請(qǐng)求通道的詳細(xì)信息。MFC寫(xiě)入標(biāo)記狀態(tài)更新請(qǐng)求通道可以指定立即更新?tīng)顟B(tài)或在出現(xiàn)條件 時(shí)更新?tīng)顟B(tài),例如,當(dāng)任何啟用的MFC標(biāo)記組完成具有"沒(méi)有未完成的操 作,,狀態(tài)時(shí)更新,或僅當(dāng)所有啟用的MFC標(biāo)記組都具有"沒(méi)有未完成的操 作"狀態(tài)時(shí)才進(jìn)行更新。到此通道的寫(xiě)入通道(wrch)指令必須在來(lái)自MFC 讀取標(biāo)記組狀態(tài)通道的讀取通道(rdch)發(fā)生之前發(fā)生。MFC寫(xiě)入標(biāo)記狀態(tài)更新請(qǐng)求應(yīng)在設(shè)置標(biāo)記組掩碼之后以及在針對(duì)感興 趣的標(biāo)記組發(fā)出命令之后執(zhí)行。如果針對(duì)標(biāo)記組的命令在發(fā)出MFC寫(xiě)入標(biāo) 記狀態(tài)更新請(qǐng)求之前完成,由此滿(mǎn)足更新?tīng)顟B(tài)條件,則無(wú)需等待即可返回 狀態(tài)。如果沒(méi)有首先通過(guò)寫(xiě)入MFC寫(xiě)入標(biāo)記狀態(tài)更新請(qǐng)求通道來(lái)請(qǐng)求狀態(tài) 更新就從讀取MFC讀取標(biāo)記組狀態(tài)通道,則會(huì)導(dǎo)致軟件引起的死鎖??梢酝ㄟ^(guò)向MFC寫(xiě)入標(biāo)記狀態(tài)更新請(qǐng)求通道發(fā)出立即更新?tīng)顟B(tài)請(qǐng)求, 讀取與MFC寫(xiě)入標(biāo)記狀態(tài)更新請(qǐng)求通道關(guān)聯(lián)的計(jì)數(shù)直到返回值"1",然后 從讀取MFC讀取標(biāo)記組狀態(tài)通道以確定并丟棄不需要的結(jié)果,來(lái)取消先前的MFC標(biāo)記狀態(tài)更新請(qǐng)求。兩個(gè)不帶有中間狀態(tài)讀取請(qǐng)求的條件更新請(qǐng)求會(huì)導(dǎo)致返回不可預(yù)測(cè)的標(biāo)記狀態(tài)。為了避免不可預(yù)測(cè)的結(jié)果,軟件將針對(duì)標(biāo)記狀態(tài)更新的請(qǐng)求與 對(duì)標(biāo)記狀態(tài)的讀取配對(duì),除非通過(guò)立即更新請(qǐng)求執(zhí)行請(qǐng)求取消。特權(quán)軟件將此通道的計(jì)數(shù)初始化為"1"。當(dāng)向此通道發(fā)出寫(xiě)入通道 (wrch)指令時(shí),此通道的計(jì)數(shù)被設(shè)置為"0"。當(dāng)MFC接收到標(biāo)記狀態(tài)更 新請(qǐng)求時(shí),計(jì)數(shù)凈皮設(shè)置為"1"。此通道啟用了寫(xiě)入阻塞且最大計(jì)數(shù)為'T,。MFC讀取標(biāo)i己組狀態(tài)通道MFC讀取標(biāo)記組狀態(tài)通道包含來(lái)自上一個(gè)標(biāo)記組狀態(tài)更新請(qǐng)求的標(biāo)記 組的狀態(tài)。圖9D中提供了 MFC讀取標(biāo)記組狀態(tài)通道的詳細(xì)信息。只有在標(biāo)記組狀態(tài)更新時(shí)啟用的標(biāo)記組的狀態(tài)有效。與在標(biāo)記組狀態(tài) 更新時(shí)禁用的標(biāo)記組對(duì)應(yīng)的位位置^f皮i殳置為"0"。必須在從MFC寫(xiě)入標(biāo)記狀態(tài)更新請(qǐng)求通道讀取之前請(qǐng)求此通道。未執(zhí) 行此操作會(huì)導(dǎo)致軟件引起的死鎖條件。這被視為編程錯(cuò)誤,并且需要特權(quán) 軟件刪除死鎖條件。如果狀態(tài)尚不可用,則發(fā)送到MFC讀取標(biāo)記組狀態(tài)通道的讀取通道計(jì) 數(shù)(rchcnt)指令將返回"0",或者如果狀態(tài)可用,則返回T 。此指 令可用于避免在讀取MFC讀取標(biāo)記組狀態(tài)通道時(shí)停止SPU。軟件將此通道 的計(jì)數(shù)初始化為值"0"。此通道啟用了讀取阻塞,并且最大計(jì)數(shù)為"1"。MFC讀取列表停止和通知標(biāo)記狀態(tài)通道圖9E中提供了 MFC讀取列表^f亭止和通知標(biāo)記狀態(tài)通道的詳細(xì)信息。如 上所述,MFC列表命令的列表元素包含停止和通知標(biāo)志。如果在列表元素 上設(shè)置此標(biāo)記,則MFC將停止執(zhí)行MFC列表命令(即DMA列表命令),并 設(shè)置與此通道中的MFC列表命令的標(biāo)記組對(duì)應(yīng)的位。還將與此通道關(guān)聯(lián)的 計(jì)數(shù)設(shè)置為"1" 。 MFC列表命令保持停止,直到通過(guò)向MFC寫(xiě)入列表停止 和通知標(biāo)記確認(rèn)通道寫(xiě)入標(biāo)記值進(jìn)行確認(rèn)。如果希望在DMA列表執(zhí)行已到達(dá)特定點(diǎn)時(shí)通知程序,則MFC列表停止 和通知設(shè)備纟艮有用。當(dāng)應(yīng)用希望動(dòng)態(tài)更改已停止列表元素之后的列表元素 (傳輸大小或有效地址)時(shí),此設(shè)備也很有用。還可以通過(guò)將列表元素的 傳輸大小設(shè)置為"0"來(lái)跳過(guò)這些元素。不允許硬件預(yù)取停止和通知元素之 后的列表元素。特權(quán)軟件應(yīng)將MFC讀取列表停止和通知標(biāo)記狀態(tài)通道的計(jì)數(shù)初始化為標(biāo)記組具有已停止的命令。向此通道發(fā)出讀取通道(rdch)指令會(huì)將所有 位重置為O并將對(duì)應(yīng)于此通道的計(jì)數(shù)i殳置為"0"。因此,如果在沒(méi)有包含 設(shè)置為'T,的停止和通知標(biāo)志的未完成列表元素并且沒(méi)有已停止命令的情 況下發(fā)出讀取通道(rdch)指令,則會(huì)導(dǎo)致軟件引起的死鎖。當(dāng)沒(méi)有標(biāo)記組停止時(shí)在此通道上發(fā)出讀取通道(rdch)指令會(huì)導(dǎo)致SPU 執(zhí)行停止,直到遇到設(shè)置了停止和通知標(biāo)志的列表元素。軟件還可以讀取(rchcnt)與此通道關(guān)聯(lián)的計(jì)數(shù)以便與SPU事件設(shè)備一起使用,從而確定 何時(shí)遇到設(shè)置了停止和通知標(biāo)志的MFC列表元素。如果自上次讀取此通道 以來(lái)沒(méi)有新的已停止MFC列表命令,則發(fā)送到MFC讀取列表停止和通知標(biāo) 記狀態(tài)通道的讀取通道計(jì)數(shù)(rchcnt)指令將返回"0"。此通道為讀取阻 塞的,并且最大計(jì)數(shù)為"1"。MFC寫(xiě)入列表停止和通知標(biāo)記確^人通道圖9F中示出了 MFC寫(xiě)入列表停止和通知標(biāo)記確認(rèn)通道的詳細(xì)信息。MFC 寫(xiě)入列表停止和通知標(biāo)記確認(rèn)通道用于確認(rèn)包含在設(shè)置了停止和通知標(biāo)志 的列表元素上停止的MFC列表命令的標(biāo)記組。通過(guò)將MFC標(biāo)記組寫(xiě)入此通 道來(lái)確i人標(biāo)記組。在寫(xiě)入之后,將重新啟動(dòng)與寫(xiě)入此通道的值相匹配的標(biāo) 記組的所有已停止MFC列表命令。如果希望在DMA列表執(zhí)行已到達(dá)特定點(diǎn)時(shí)通知程序,則MFC列表停止 和通知設(shè)備很有用。當(dāng)應(yīng)用希望動(dòng)態(tài)更改已停止列表元素之后的列表元素 (傳輸大小或有效地址)時(shí),此設(shè)備也4艮有用。還可以通過(guò)將列表元素的 傳輸大小設(shè)置為0來(lái)跳過(guò)這些元素。不允許硬件預(yù)取停止和通知元素之后 的列表元素。未定義確認(rèn)當(dāng)前由于停止和通知條件而未停止的標(biāo)記組。這樣做會(huì)導(dǎo) 致MFC讀取列表停止和通知標(biāo)記狀態(tài)通道中的狀態(tài)無(wú)效。為保持一致性, 將此條件視為無(wú)操作(no-op)。此通道為非阻塞通道,并且沒(méi)有關(guān)聯(lián)的計(jì)數(shù)。每當(dāng)向此通道發(fā)送讀取 通道計(jì)數(shù)(rchcnt)指令時(shí),計(jì)數(shù)都始終返回為"1"。MFC讀取原子命令狀態(tài)通道圖9G中提供了 MFC讀取原子命令狀態(tài)通道的詳細(xì)信息。MFC讀取原子 命令狀態(tài)通道包含上一個(gè)已完成的立即MFC原子更新命令的狀態(tài)。原子命 令是無(wú)需等待MFC SPU隊(duì)列中的其他命令而執(zhí)行以及獨(dú)立于MFC SPU隊(duì)列 中的其他命令而執(zhí)行的命令。MFC支持四個(gè)原子命令getllar(獲取鎖定線(xiàn)并保留)、putllc (有條件地放置鎖定線(xiàn))、putlluc (無(wú)條件地放置鎖 定線(xiàn)),以及putqlluc (無(wú)條件地放置排隊(duì)鎖定線(xiàn))。這些命令執(zhí)行與可 緩存存儲(chǔ)指令類(lèi)似的功能,通常由軟件使用以釋放"鎖定"。putlluc和 putqlluc命令之間的差別在于putqlluc命令帶有標(biāo)記并且在MFC SPU命 令隊(duì)列中排在其他MFC命令之后,而putlluc命令則被立即執(zhí)行。由于putqlluc命令帶有標(biāo)記并具有隱含的標(biāo)記特定的屏障,因此相對(duì) 于已在MFC SPU命令隊(duì)列內(nèi)的同一標(biāo)記組中的所有其他命令進(jìn)行排序。 getllar、 putl lc和putl luc命令沒(méi)有標(biāo)記;因此它們被立即執(zhí)行。盡管 get 1 lar 、 put 1 lc和putl luc命令被立即執(zhí)行,但是這些命令仍需要MFC SPU 命令隊(duì)列中的可用槽。應(yīng)假設(shè)與MFC SPU命令隊(duì)列中的其他命令沒(méi)有順序 關(guān)系。在發(fā)出每個(gè)getllar、 putl lc或putlluc命令之后,軟件必須從MFC 讀取原子命令狀態(tài)通道發(fā)出讀取以^i命令的完成。在發(fā)出立即原子命令 之前向此通道發(fā)出通道讀取(rdch)指令會(huì)導(dǎo)致軟件引起的死鎖。軟件可以讀取與此通道關(guān)聯(lián)的通道計(jì)數(shù)(rchcnt )以判定立即原子MFC 命令是否已完成。如果返回值"0",則立即原子MFC命令尚未完成。如果 返回值"1",則立即原子MFC命令已經(jīng)完成,并且可通過(guò)讀取(rdch)此 通道來(lái)獲取狀態(tài)。應(yīng)始終在立即原子MFC命令之后從MFC讀取原子命令狀態(tài)通道讀取 (rdch)。無(wú)需中間讀取而從MFC讀取原子命令狀態(tài)通道執(zhí)行多個(gè)原子MFC 命令會(huì)導(dǎo)致不正確的狀態(tài)。特權(quán)軟件將此通道的計(jì)數(shù)初始化為"0"。此通道為讀取阻塞通道,并 且最大計(jì)數(shù)為"1"。讀取時(shí)會(huì)清除此通道的內(nèi)容。后續(xù)的立即MFC原子更 新命令的完成會(huì)覆蓋較早MFC命令的狀態(tài)。上述MFC標(biāo)記組狀態(tài)通道用于促進(jìn)確定標(biāo)記組狀態(tài)以及確定MFC DMA 列表命令完成。支持三個(gè)用于確定標(biāo)記組狀態(tài)的基本過(guò)程輪詢(xún)MFC讀取 標(biāo)記組狀態(tài)通道、等待標(biāo)記組更新,或等待事件并在標(biāo)記組狀態(tài)更新事件 時(shí)中斷。對(duì)于輪詢(xún)一個(gè)MFC命令的完成或一組MFC命令的完成,圖10中示如圖10所示,將清除任何未決的標(biāo)記狀態(tài)更新請(qǐng)求(步驟1010)。 這例如可以通過(guò)以下操作完成向MFC寫(xiě)入標(biāo)記狀態(tài)更新請(qǐng)求通道寫(xiě)入 "0",讀取與MFC寫(xiě)入標(biāo)記狀態(tài)更新請(qǐng)求通道關(guān)聯(lián)的通道計(jì)數(shù)直到返回值 "1",以及讀取MFC讀取標(biāo)記組狀態(tài)通道并丟棄標(biāo)記狀態(tài)數(shù)據(jù)。然后,通過(guò)向MFC寫(xiě)入標(biāo)記組查詢(xún)掩碼通道寫(xiě)入適當(dāng)掩碼數(shù)據(jù)來(lái)啟用 感興趣的標(biāo)記組(步驟1020 )。隨后,例如通過(guò)向MFC寫(xiě)入標(biāo)記狀態(tài)更新 請(qǐng)求通道寫(xiě)入值"0"來(lái)請(qǐng)求立即標(biāo)記狀態(tài)更新(步驟1030 )。然后,執(zhí)行MFC讀取標(biāo)記組狀態(tài)通道的讀取(步驟1040 )。返回的數(shù) 據(jù)是每個(gè)應(yīng)用了標(biāo)記組掩碼的標(biāo)記組的當(dāng)前狀態(tài)。判定是否存在其他感興 趣的標(biāo)記組(步驟1050 )。如果是,則操作返回步驟1030。否則,操作結(jié) 束。對(duì)于等待標(biāo)記組更新,或等待事件(一個(gè)或多個(gè)標(biāo)記組完成),圖11 中示出了基本過(guò)程。如所示出的,操作以清除任何未決的標(biāo)記狀態(tài)更新請(qǐng) 求來(lái)開(kāi)始(步驟1110)。這例如可以通過(guò)以下操作完成向MFC寫(xiě)入標(biāo)記 狀態(tài)更新請(qǐng)求通道寫(xiě)入"0",讀取與MFC寫(xiě)入標(biāo)記狀態(tài)更新請(qǐng)求通道關(guān)聯(lián) 的通道計(jì)數(shù)直到返回值"1",以及讀取MFC讀取標(biāo)記組狀態(tài)通道并丟棄標(biāo) 記狀態(tài)數(shù)據(jù)。通過(guò)向MFC寫(xiě)入標(biāo)記狀態(tài)更新請(qǐng)求通道寫(xiě)入值"01"或"10"來(lái)請(qǐng)求 條件標(biāo)記狀態(tài)更新(步驟1120)。值"01"指定任何已啟用標(biāo)記組的完成 將導(dǎo)致標(biāo)記組更新。值"10"指定所有已啟用標(biāo)記組都必須完成以導(dǎo)致SPU 標(biāo)i己組狀態(tài)更新。此后,讀取MFC讀取標(biāo)記組狀態(tài)通道以等待在步驟1120中指定的特定 標(biāo)記事件(步驟1130 )。此讀取將停止SPU的執(zhí)行,直到滿(mǎn)足在步驟1120 中指定的條件。備選地,可以執(zhí)行與MFC讀取標(biāo)記組狀態(tài)通道關(guān)聯(lián)的計(jì)數(shù) 的讀取以輪詢(xún)或等待特定的標(biāo)記事件(步驟1132 )。判定返回的計(jì)數(shù)是否具有值'T,(步驟1140)。如果否,則操作返 回步驟1132。如果計(jì)數(shù)為"1",則讀取MFC讀取標(biāo)記組狀態(tài)通道以判定 哪個(gè)或哪些標(biāo)記組完成(步驟1150)。然后操作結(jié)束。等待或輪詢(xún)條件標(biāo)記事件的備選方案是使用SPU事件設(shè)備。通常,當(dāng)應(yīng)用等待多個(gè)事件中的一個(gè)事件發(fā)生或者可以在等待命令完成時(shí)執(zhí)行其他操作時(shí),將4吏用此過(guò)程。所述過(guò)程如圖12所示。如圖12所示,將清除任何未決的標(biāo)記狀態(tài)更新請(qǐng)求(步驟1210)。 如上所述,這例如可以通過(guò)以下操作完成向MFC寫(xiě)入標(biāo)記狀態(tài)更新請(qǐng)求 通道寫(xiě)入"0",讀取與MFC寫(xiě)入標(biāo)記狀態(tài)更新請(qǐng)求通道關(guān)聯(lián)的通道計(jì)數(shù)直 到返回值"1",以及讀取MFC讀取標(biāo)記組狀態(tài)通道并丟棄標(biāo)記狀態(tài)數(shù)據(jù)。選擇一個(gè)或多個(gè)標(biāo)記組(步驟1220 )。通過(guò)向SPU寫(xiě)入事件確認(rèn)通道 寫(xiě)入(wrch)值'T,來(lái)清除任何未決的標(biāo)記狀態(tài)更新事件(步驟1230 )。 通過(guò)向SPU寫(xiě)入事件掩碼通道寫(xiě)入"1"來(lái)取消MFC標(biāo)記組狀態(tài)更新事件的 掩碼(步驟1240 )。然后,讀取SPU讀取事件狀態(tài)通道以等待發(fā)生已啟用 的事件(步驟1250 )。此讀取將停止SPU的執(zhí)行,直到發(fā)生已啟用的事件。 備選地,可以讀取與SPU讀取事件狀態(tài)通道關(guān)聯(lián)的計(jì)數(shù)以輪詢(xún)或等待特定 的標(biāo)記事件,直到計(jì)數(shù)返回為"1"。讀取SPU讀取事件狀態(tài)通道并判定是否發(fā)生已啟用的事件(步驟 1260 )。如果否,則操作返回步驟1250。如果發(fā)生已啟用的事件,則讀取 MFC讀取標(biāo)記組狀態(tài)通道以判定哪個(gè)或哪些標(biāo)記組導(dǎo)致此事件(步驟 1270 )。然后操作結(jié)束。支持三個(gè)用于判定MFC DMA列表命令是否已到達(dá)設(shè)置了停止和通知標(biāo) 志的列表元素的基本過(guò)程輪詢(xún)MFC讀取列表停止和通知標(biāo)記狀態(tài)通道、 等待MFC DMA列表命令停止和通知事件,以及在MFC DMA列表命令停止和 通知事件時(shí)中斷。對(duì)于輪詢(xún)以判定MFC DMA列表命令是否已到達(dá)設(shè)置了停 止和通知標(biāo)志的列表元素,圖13中示出了基本過(guò)程。如圖13所示,操作開(kāi)始,將發(fā)出具有設(shè)置了停止和通知標(biāo)志的列表元 素的MFC DMA列表命令(步驟1310 )。讀取(rchcnt)與MFC讀取列表停 止和通知標(biāo)記狀態(tài)通道關(guān)聯(lián)的計(jì)數(shù)直到返回值"1"(步驟1320 )。如果 返回值'T,(步驟1330 ),則讀取(rdch) MFC讀取列表停止和通知標(biāo)記 狀態(tài)通道(步驟1340 )。返回的數(shù)據(jù)是自上次讀取此通道以來(lái)每個(gè)已到達(dá)設(shè)置了停止和通知標(biāo)志的列表元素的標(biāo)記組的當(dāng)前狀態(tài)。判定一個(gè)或多個(gè)感興趣的標(biāo)記組是否已到達(dá)i殳置了停止和通知標(biāo)志的列表元素(步驟1350 )。如果否,則操作返回步驟1340,直到一個(gè)或多個(gè) 感興趣的標(biāo)記組已到達(dá)設(shè)置了停止和通知標(biāo)志的列表元素。如果一個(gè)或多個(gè)感興趣的標(biāo)記組已到達(dá)設(shè)置了停止和通知標(biāo)志的列表 元素,則向MFC寫(xiě)入列表停止和通知標(biāo)記確認(rèn)通道寫(xiě)入(wrch)與已停止 的標(biāo)記組對(duì)應(yīng)的標(biāo)記組號(hào)以重新開(kāi)始MFC DMA列表命令(步驟1360 )。然 后操作結(jié)束。圖14中示出了用于等待MFCDMA列表命令到達(dá)設(shè)置了停止和通知標(biāo)志 的列表元素的基本過(guò)程。如所示出的,操作開(kāi)始,將發(fā)出具有設(shè)置了停止 和通知標(biāo)志的列表元素的MFC DMA列表命令(步驟1410 )。執(zhí)行MFC讀取 列表停止和通知標(biāo)記狀態(tài)通道的讀取(rdch)(步驟1420 )。返回的數(shù)據(jù) 是自上次讀取此通道以來(lái)每個(gè)已到達(dá)設(shè)置了停止和通知標(biāo)志的列表元素的 標(biāo)記組的當(dāng)前狀態(tài)。此讀取將停止SPU,直到MFC DMA列表命令已到達(dá)設(shè) 置了停止和通知標(biāo)志的列表元素。判定一個(gè)或多個(gè)感興趣的標(biāo)記組是否已到達(dá)i殳置了停止和通知標(biāo)志的 列表元素(步驟1430 )。將在返回?cái)?shù)據(jù)中設(shè)置相應(yīng)位。由于針對(duì)每個(gè)讀取 重置位,因此軟件必須在等待多個(gè)標(biāo)記組停止時(shí)執(zhí)行標(biāo)記組的累積。如果否,操作將返回步驟1420,直到一個(gè)或多個(gè)感興趣的標(biāo)記組已到 達(dá)設(shè)置了停止和通知標(biāo)志的列表元素。否則,將向MFC寫(xiě)入列表停止和通 知標(biāo)記確i人通道寫(xiě)入(wrch)與已停止的標(biāo)記組對(duì)應(yīng)的標(biāo)記組號(hào)以重新啟 動(dòng)MFC DMA列表命令(步驟l440 )。等待或輪詢(xún)列表停止和通知標(biāo)記組狀態(tài)的備選方案是使用SPU事件設(shè) 備。通常,當(dāng)MFC DMA列表命令執(zhí)行時(shí)SPU程序可以執(zhí)行其他操作時(shí),使 用此過(guò)程。所述過(guò)程例如在圖15中示出。如圖15所示,過(guò)程開(kāi)始,將清除任何未決的MFCDMA列表命令停止和 通知事件(步驟1510)。這例如可以通過(guò)向SPU寫(xiě)入事件確認(rèn)通道寫(xiě)入 (wrch)值"1"完成。通過(guò)向SPU寫(xiě)入事件掩碼通道的Sn位寫(xiě)入"1"來(lái)啟用MFC DMA列表命令停止和通知事件(1520 )。發(fā)出具有設(shè)置了停止和 通知標(biāo)志的列表元素的MFC DMA列表命令(步驟1530 )??梢詮腟PU讀取事件狀態(tài)通道進(jìn)行讀取(rdch)以等待發(fā)生已啟用的 事件(步驟1540 )。此讀取將停止SPU的執(zhí)行直到發(fā)生已啟用的事件。備 選地,可以讀取(rchcnt)與SPU讀取事件狀態(tài)通道關(guān)聯(lián)的計(jì)數(shù)以輪詢(xún)特 定的標(biāo)記事件,直到計(jì)數(shù)返回為"1"。判定是否已發(fā)生已啟用的事件(步驟1550 )。如果否,則操作返回步 驟1540。如果發(fā)生已啟用的事件,則判定是否已發(fā)生DMA列表停止和通知 事件(步驟1560 )。如果尚未發(fā)生DMA列表停止和通知事件,則操作返回 步驟1540。如果發(fā)生DMA列表停止和通知事件,則執(zhí)行從MFC讀取列表停止和通 知標(biāo)記狀態(tài)通道讀取(rdch)以判定哪個(gè)或哪些標(biāo)記組導(dǎo)致此事件(步驟 1570 )。然后,向MFC寫(xiě)入列表停止和通知標(biāo)記確認(rèn)通道寫(xiě)入(wrch)與 已停止的標(biāo)記組對(duì)應(yīng)的標(biāo)記組號(hào)以重新開(kāi)始MFC DMA列表命令(步驟 1580)。MFC寫(xiě)入多源同步請(qǐng)求通道圖16中提供了 MFC寫(xiě)入多源同步請(qǐng)求通道的詳細(xì)信息。MFC寫(xiě)入多源 同步請(qǐng)求通道是MFC多源同步設(shè)備的一部分并導(dǎo)致MFC開(kāi)始跟蹤發(fā)送到關(guān) 聯(lián)MFC的未完成傳輸。MFC多源同步i殳備包括MFC多源同步寄存器(它允 許處理器或設(shè)備從主存儲(chǔ)地址域控制同步),以及MFC寫(xiě)入多源同步請(qǐng)求 通道(MFC—WrMSSyncReq)(它允許SPU從本地存儲(chǔ)地址域控制同步)??梢酝ㄟ^(guò)向MFC寫(xiě)入多源同步請(qǐng)求通道進(jìn)行寫(xiě)入來(lái)請(qǐng)求同步。當(dāng)請(qǐng)求 的同步完成時(shí),通道計(jì)數(shù),皮設(shè)置回"1"并且忽略寫(xiě)入此通道的數(shù)據(jù)。再次 向此通道寫(xiě)入會(huì)導(dǎo)致SPU停止,直到由第一次寫(xiě)入跟蹤的未完成傳輸完成。要使用MFC寫(xiě)入多源同步請(qǐng)求通道,程序?qū)⑾騇FC寫(xiě)入多源同步請(qǐng)求 通道進(jìn)行寫(xiě)入,然后等待MFC寫(xiě)入多源同步請(qǐng)求通道變得可用,即當(dāng)通道 計(jì)數(shù)設(shè)置回'T,時(shí)。軟件將此通道的計(jì)數(shù)初始化為值"1"。此通道啟用了寫(xiě)入阻塞,并且最大計(jì)數(shù)為"1"。 郵箱設(shè)備除了用于與MFC通信的通道之外,本發(fā)明的通道接口進(jìn)一步提供了用 于與SPU中提供的郵箱設(shè)備通信的通道。MFC在SPU與其他處理器及設(shè)備 之間提供了一組郵箱隊(duì)列。每個(gè)郵箱隊(duì)列都具有指定的SPU通道以及相應(yīng) 的薩I0寄存器。SPU軟件通過(guò)使用SPU通道指令來(lái)訪(fǎng)問(wèn)郵箱隊(duì)列。其他處 理器和設(shè)備通過(guò)使用個(gè)醒IO寄存器之一來(lái)訪(fǎng)問(wèn)郵箱隊(duì)列。除了隊(duì)列之外, MFC還提供了隊(duì)列狀態(tài)、郵箱中斷,以及郵箱的SPU事件通知。MMI0寄存 器、通道、狀態(tài)、中斷、郵箱隊(duì)列以及事件統(tǒng)稱(chēng)為"郵箱設(shè)備"。如上所 述,圖2中的MFC寄存器單元240中提供了郵箱設(shè)備。MFC提供了兩個(gè)郵箱隊(duì)列用于將信息從SPU發(fā)送到其他處理器或其他 設(shè)備SPU出站郵箱隊(duì)列和SPU出站中斷郵箱隊(duì)列。這些郵箱隊(duì)列旨在將 短消息發(fā)送到PPE (例如,返回代碼或狀態(tài))。通過(guò)讀糾目應(yīng)的醒IO寄存 器,任何處理器或設(shè)備都可使用由SPU使用寫(xiě)入通道(wrch)指令寫(xiě)入這 些隊(duì)列之一的數(shù)據(jù)。發(fā)送到SPU寫(xiě)入出站中斷郵箱通道的寫(xiě)入通道(wrch)指令還可導(dǎo)致 將中斷發(fā)送到系統(tǒng)中的處理器或其他設(shè)備。從這些隊(duì)列(SPU出站郵箱或 SPU出站中斷郵箱寄存器)中的任一隊(duì)列進(jìn)行的醒10讀取可以設(shè)置SPU事 件,而SPU事件又導(dǎo)致SPU中斷。為外部處理器或其他設(shè)備提供了 一個(gè)郵箱隊(duì)列以將信息發(fā)送到SPU, 即SPU入站郵箱隊(duì)列。此郵箱隊(duì)列旨在由PPE寫(xiě)入。但是,其他處理器、 SPU或其他設(shè)備也可以使用此郵箱隊(duì)列。通過(guò)讀取SPU讀取入站郵箱通道, SPU可使用由處理器或其他設(shè)務(wù)使用MMIO寫(xiě)入向此隊(duì)列寫(xiě)入的數(shù)據(jù)。向SPU 入站郵箱寄存器進(jìn)行的醒IO寫(xiě)入可以設(shè)置SPU事件,而SPU事件又導(dǎo)致 SPU中斷。SPU出站郵箱寄存器用于從相應(yīng)的SPU出站郵箱隊(duì)列讀取32位數(shù)據(jù)。 SPU出站郵箱寄存器具有相應(yīng)的SPU寫(xiě)入出站郵箱通道,以便將數(shù)據(jù)寫(xiě)入SPU出站郵箱隊(duì)列。發(fā)送到SPU出站郵箱隊(duì)列的寫(xiě)入通道(wrch)指令將 指令中指定的32位數(shù)據(jù)加載到SPU出站郵箱隊(duì)列,以供其他處理器或其他 設(shè)備讀取。如果SPU出站郵箱隊(duì)列已滿(mǎn),則SPU將在發(fā)送到此隊(duì)列的寫(xiě)入 通道(wrch)指令上停止,直到從此郵箱寄存器發(fā)生匪10讀取。對(duì)此寄存器進(jìn)行的醒IO讀取返回的信息始終采用SPU寫(xiě)入信息的順 序。沒(méi)有定義從空SPU出站郵箱隊(duì)列進(jìn)行讀取而返回的信息。SPU出站郵 箱隊(duì)列中的表項(xiàng)數(shù)(或隊(duì)列深度)與實(shí)施方式相關(guān)。對(duì)SPU郵箱狀態(tài)寄存器進(jìn)行的醒IO讀取將返回郵箱隊(duì)列的狀態(tài)。SPU 出站郵箱隊(duì)列中的有效隊(duì)列表項(xiàng)數(shù)在SPU郵箱狀態(tài)寄存器的 SPU-Out—Mbox_Count字段中給出。對(duì)SPU出站郵箱寄存器進(jìn)行的醒IO讀 取將設(shè)置未決SPU出站郵箱可用事件。如果郵箱隊(duì)列中剩余的數(shù)據(jù)量低于 與實(shí)施方式相關(guān)的閾值并且啟用此條件(即,將SPU-WrEventMask[Le]設(shè) 置為"1"),則會(huì)更新SPU讀取事件狀態(tài)通道(即,將SPU—RdEventStat [Le] 設(shè)置為'T,),并將其通道計(jì)數(shù)設(shè)置為"1"。這將導(dǎo)致SPU出站中斷郵 箱可用事件。SPU入站郵箱寄存器用于將32位數(shù)據(jù)寫(xiě)入相應(yīng)的SPU入站郵箱隊(duì)列。 SPU入站郵箱隊(duì)列具有相應(yīng)的SPU讀取入站郵箱通道,用于從隊(duì)列讀取數(shù) 據(jù)。SPU讀取入站郵箱通道的讀取通道(rdch)指令將32位數(shù)據(jù)從SPU入 站郵箱隊(duì)列加載到由讀取通道(rdch)指令指定的SPU寄存器。SPU不能 從空郵箱進(jìn)行讀取。如果SPU入站郵箱隊(duì)列為空,則SPU將在到達(dá)此通道 的讀取通道(rdch)指令上停止,直到將數(shù)據(jù)寫(xiě)入郵箱。到達(dá)此通道的讀 取通道(rdch)指令返回的信息始終采用PPE或其他處理器和設(shè)備寫(xiě)入信 息的順序。隊(duì)列中的表項(xiàng)數(shù)(或隊(duì)列深度)與實(shí)施方式相關(guān)。對(duì)SPU郵箱狀態(tài)寄 存器進(jìn)行的應(yīng)IO讀取將返回郵箱隊(duì)列的狀態(tài)。SPU郵箱隊(duì)列中的可用隊(duì)列 位置數(shù)在SPU郵箱狀態(tài)寄存器(即SPU-Mbox—Stat [SPU-In—Mbox-Count]) 的SPU—In—Mbox—Count字段中給出。在寫(xiě)入SPU—In-Mbox之前,軟件將檢查SPU郵箱狀態(tài)寄存器以避免SPU郵箱溢出。對(duì)SPU入站郵箱寄存器進(jìn)行的醒IO寫(xiě)入將設(shè)置未決SPU郵箱事 件。如果啟用(即,SPU-WrEventMask[Mbox]- T ),則會(huì)更新SPU讀取 事件狀態(tài)通道,并將其通道計(jì)數(shù)設(shè)置為'T,,這將導(dǎo)致SPU入站郵箱可用事件。SPU郵箱狀態(tài)寄存器包含相應(yīng)SPE中的SPU和PPE之間的郵箱隊(duì)列的 當(dāng)前狀態(tài)。讀取此寄存器對(duì)郵箱隊(duì)列的狀態(tài)沒(méi)有任何影響。SPU郵箱通道如上所述,MFC提供的郵箱設(shè)備包括多個(gè)SPU郵箱通道,其中包括SPU 寫(xiě)入出站郵箱通道、SPU寫(xiě)入出站中斷郵箱通道,以及SPU讀取入站郵箱 通道。這些SPU郵箱通道^L定義為阻塞通道,即它們將在通道滿(mǎn)時(shí)(寫(xiě)入 阻塞)或數(shù)據(jù)不可用時(shí)(讀取阻塞)停止SPU。當(dāng)應(yīng)用沒(méi)有其他要執(zhí)行的 操作時(shí),通道的阻塞方法非常有利于節(jié)約功率。實(shí)際上,處理器可以置于 低功率狀態(tài),直到釋放空間或數(shù)據(jù)變得可用。雖然這些通道為阻塞通道,并且因此獲得了節(jié)約功率的利益,但是訪(fǎng) 問(wèn)這些通道可能會(huì)導(dǎo)致SPU無(wú)限期停止。軟件可以通過(guò)使用此后討論的SPU 事件設(shè)備,或通過(guò)讀取與郵箱通道關(guān)聯(lián)的通道計(jì)數(shù)來(lái)避免停止SPU。SPU寫(xiě)入出站郵箱通道圖17A提供了根據(jù)本發(fā)明的示意性實(shí)施例的SPU寫(xiě)入出站郵箱通道的 詳細(xì)信息。發(fā)送到此通道的寫(xiě)入通道指令(wrch)將數(shù)據(jù)寫(xiě)入SPU寫(xiě)入出 站郵箱隊(duì)列。SPU寫(xiě)入此通道的數(shù)據(jù)可用于SPU出站郵箱寄存器的腿10讀 取。到達(dá)此通道的寫(xiě)入通道(wrch)還導(dǎo)致關(guān)聯(lián)的通道計(jì)數(shù)遞減'T,。向 已滿(mǎn)的SPU寫(xiě)入出站郵箱隊(duì)列進(jìn)行寫(xiě)入會(huì)導(dǎo)致SPU執(zhí)行停止,直到讀取SPU 出站郵箱寄存器,從而在SPU寫(xiě)入出站郵箱隊(duì)列中釋放位置。為避免停止條件,在發(fā)出通道寫(xiě)入之前,可以讀取與此通道關(guān)聯(lián)的通 道計(jì)數(shù)以確保SPU寫(xiě)入出站郵箱隊(duì)列中存在槽。備選地,可以使用SPU出 站郵箱可用事件來(lái)發(fā)信號(hào)通知SPU寫(xiě)入出站郵箱隊(duì)列(如果確定此隊(duì)列已滿(mǎn))中的槽的可用性。當(dāng)SPU寫(xiě)入出站郵箱隊(duì)列已滿(mǎn)時(shí),讀取與此通道關(guān)聯(lián)的通道計(jì)數(shù)將返 回值"0"。非零值指示了 SPU寫(xiě)入出站郵箱隊(duì)列中的可用32位字?jǐn)?shù)。特權(quán)軟件將SPU寫(xiě)入出站郵箱通道的計(jì)數(shù)初始化為SPU寫(xiě)入出站郵箱 隊(duì)列的深度。此通道為寫(xiě)入阻塞通道。此通道的最大計(jì)數(shù)與實(shí)施方式相關(guān), 并且應(yīng)為SPU寫(xiě)入出站郵箱隊(duì)列的深度(即,可用槽數(shù))。SPU寫(xiě)入出站中斷郵箱通道圖17B提供了根據(jù)本發(fā)明的一個(gè)示意性實(shí)施例的SPU寫(xiě)入出站中斷郵 箱通道的詳細(xì)信息。到達(dá)此通道的寫(xiě)入通道(wrch)指令將數(shù)據(jù)寫(xiě)入SPU 寫(xiě)入出站中斷郵箱隊(duì)列。SPU寫(xiě)入此通道的數(shù)據(jù)可用于SPU出站中斷郵箱 寄存器的醒10讀取。到達(dá)此SPU寫(xiě)入出站郵箱通道的寫(xiě)入通道(wrch)指令還導(dǎo)致關(guān)聯(lián)的 計(jì)數(shù)遞減"1"。向已滿(mǎn)的SPU寫(xiě)入出站中斷郵箱隊(duì)列進(jìn)行寫(xiě)入會(huì)導(dǎo)致SPU 執(zhí)行停止,直到讀取SPU出站中斷郵箱寄存器,從而在SPU寫(xiě)入出站中斷 郵箱隊(duì)列中釋放位置。為避免停止條件,在發(fā)出通道寫(xiě)入之前,可以讀取與此通道關(guān)聯(lián)的通 道計(jì)數(shù)以確保SPU寫(xiě)入出站中斷郵箱隊(duì)列中存在槽。備選地,可以使用SPU 出站中斷郵箱可用事件來(lái)發(fā)信號(hào)通知SPU寫(xiě)入出站中斷郵箱隊(duì)列(如果此 隊(duì)列先前已滿(mǎn))中的槽的可用性。到達(dá)SPU寫(xiě)入出站中斷郵箱通道的寫(xiě)入 通道(wrch)指令還導(dǎo)致將中斷發(fā)送到處理器或其他設(shè)備。中斷和先前發(fā) 出的MFC命令沒(méi)有順序關(guān)系。當(dāng)SPU寫(xiě)入出站中斷郵箱隊(duì)列已滿(mǎn)時(shí),讀取與此通道關(guān)聯(lián)的計(jì)數(shù)將返 回值"0"。非零計(jì)數(shù)值具有此隊(duì)列中的可用32位字?jǐn)?shù)。特權(quán)軟件將此通道的計(jì)數(shù)初始化為SPU寫(xiě)入出站中斷郵箱隊(duì)列的深 度。此通道為寫(xiě)入阻塞通道。此通道的最大計(jì)數(shù)與實(shí)施方式相關(guān),并且應(yīng) 為SPU寫(xiě)入出站中斷郵箱隊(duì)列的深度(即,可用槽數(shù))。SPU讀取入站郵箱通道圖17C提供了根據(jù)本發(fā)明的一個(gè)示意性實(shí)施例的SPU讀取入站郵箱通 道的詳細(xì)信息。從此通道讀取將返回SPU讀取入站郵箱隊(duì)列中的下一個(gè)數(shù) 據(jù)。向SPU入站郵箱寄存器發(fā)出寫(xiě)入的處理器或設(shè)備將數(shù)據(jù)放置在SPU讀取入站郵箱隊(duì)列中。從SPU讀取入站郵箱通道讀取會(huì)導(dǎo)致關(guān)聯(lián)的計(jì)數(shù)遞減"1"。讀取空郵 箱會(huì)導(dǎo)致SPU執(zhí)行停止,直到寫(xiě)入SPU入站郵箱寄存器,從而將數(shù)據(jù)項(xiàng)放 置在SPU讀取入站郵箱隊(duì)列中。為避免停止M,在發(fā)出通道讀取之前,據(jù)。備選地,可以使用SPU入站郵箱可用事件來(lái)發(fā)信號(hào)通知SPU讀取入站郵箱隊(duì)列中的數(shù)據(jù)的可用性。如果郵箱為空,則讀取通道計(jì)數(shù)(rchcnt )會(huì)返回值"0"。如果rchcnt 的結(jié)果為非零,則郵箱包含信息,此信息已經(jīng)由PPE寫(xiě)入,但尚未由SPU讀取。特權(quán)軟件將SPU讀取入站郵箱通道的通道計(jì)數(shù)初始化為"0"。最大計(jì) 數(shù)與實(shí)施方式相關(guān)。此通道為讀取阻塞通道。SPU信號(hào)通知設(shè)備MFC提供了 SPU信號(hào)通知設(shè)備,用于將信號(hào)(例如緩沖區(qū)完成標(biāo)志) 從系統(tǒng)中的其他處理器和設(shè)備發(fā)送到SPU。例如,可以在圖2的MFC寄存 器單元250中提供此信號(hào)通知設(shè)備。BPA提供了兩個(gè)獨(dú)立的信號(hào)通知i殳備SPU信號(hào)通知1和SPU信號(hào)通知 2。每個(gè)設(shè)備都包括一個(gè)寄存器和一個(gè)通道SPU信號(hào)通知1寄存器和SPU 信號(hào)通知1通道;以及SPU信號(hào)通知2寄存器和SPU信號(hào)通知2通道。SPU使用一組發(fā)送信號(hào)命令以及與將信號(hào)發(fā)送到其的SPU關(guān)聯(lián)的信號(hào) 通知寄存器的有效地址來(lái)發(fā)出信號(hào)。不支持發(fā)送信號(hào)命令的PPE和其他設(shè) 備通過(guò)向與將信號(hào)發(fā)送到其的SPU關(guān)聯(lián)的SPU信號(hào)通知寄存器執(zhí)行MMIO 寫(xiě)入來(lái)模擬發(fā)送信號(hào)命令。設(shè)備編程為覆寫(xiě)模式(用于一對(duì)一信令環(huán)境中)或者邏輯'或,模式(用于多對(duì)一信令環(huán)境中)。在SPU配置寄存器中設(shè)置每個(gè)通道的模式。執(zhí)行發(fā)送信號(hào)命令或醒io (以編程為覆寫(xiě)模式的信令寄存器為目標(biāo))會(huì)將關(guān)聯(lián)通道的內(nèi)容設(shè)置為信令操作的數(shù)據(jù)。它還將相應(yīng)的通道計(jì)數(shù)設(shè)置 為"r,。在邏輯'或,模式中,將信令操作的數(shù)據(jù)與通道的當(dāng)前內(nèi)斜目'或,, 并將相應(yīng)的計(jì)數(shù)i殳置為值"r'。此外,當(dāng)執(zhí)行隔離的加載時(shí),將信號(hào)通知寄存器用作映像的有效地址。在這些情況下,SPU信號(hào)通知1寄存器包含64位有效地址的高32位,而 SPU信號(hào)通知2寄存器包含最低的32位。在設(shè)置有效地址之前,軟件必須 將SPU信號(hào)通知設(shè)備置于覆寫(xiě)模式,以便隔離的加載請(qǐng)求正確操作。SPU信令通道SPU信令通道是SPU信號(hào)通知設(shè)備的PPE部分。它們用于從系統(tǒng)中的 其他處理器和其他設(shè)備讀取信號(hào)。信令通道被配置為讀取阻塞通道,并且 最大計(jì)數(shù)為'T,。當(dāng)向這些通道之一發(fā)送讀取通道(rdch)指令并且關(guān)聯(lián) 的通道計(jì)數(shù)為"1"時(shí),會(huì)將通道的當(dāng)前內(nèi)容和關(guān)聯(lián)的計(jì)數(shù)重置為"0"。 當(dāng)向這些通道之一發(fā)送讀取通道(rdch)指令,并且通道計(jì)數(shù)為"0"時(shí), SPU將停止,直到處理器或設(shè)備向關(guān)聯(lián)的寄存器執(zhí)行醒IO寫(xiě)入。SPU信號(hào)通知通道圖18提供了根據(jù)本發(fā)明的示意性實(shí)施例的SPU信號(hào)通知通道的詳細(xì)信 息。信號(hào)通知通道可以是SPU信號(hào)通知1或2通道。發(fā)送到SPU信號(hào)通知 通道的讀取通道(rdch)指令將返回信號(hào)控制字1的32位值,并自動(dòng)重置 讀取時(shí)設(shè)置的任何位。如果沒(méi)有信號(hào)未決,則從此通道進(jìn)行讀取將停止 SPU,直到發(fā)出信號(hào)。如果沒(méi)有信號(hào)未決,則發(fā)送到此通道的讀取通道計(jì)數(shù) (rchcnt)指令將返回"0"。如果未讀取的信號(hào)未決,則它將返回T 。特權(quán)軟件將此通道的計(jì)數(shù)初始化為值"0"。此通道啟用了讀取阻塞,并且最大計(jì)數(shù)為"1"。SPU遞減器每個(gè)SPU都包含一個(gè)32位遞減器。如果在MFC控制寄存器中啟用,則 會(huì)向此寄存器寫(xiě)入設(shè)置為"0"的MFC—CNTL[Dh]。當(dāng)向SPU寫(xiě)入遞減器通 道發(fā)出寫(xiě)入通道(wrch)指令時(shí),將啟動(dòng)SPU遞減器。通過(guò)執(zhí)行此后所述 的程序序列,或者當(dāng)向MFC控制寄存器寫(xiě)入設(shè)置為"1"的MFC-CNTL[Dh] 時(shí),將停止遞減器。在MFC控制寄存器中提供了遞減器的當(dāng)前運(yùn)行狀態(tài)(即, MFC-CNTL [Ds])。無(wú)需使遞減器事件未決以便停止遞減器。指定了兩個(gè)通道用于管理遞減器 一個(gè)用于設(shè)置遞減器值, 一個(gè)用于 讀取遞減器的當(dāng)前內(nèi)容。當(dāng)最高位(位0)從"0"更改為"1"時(shí),將發(fā) 生遞減器事件。SPU寫(xiě)入遞減器通道圖19A提供了根據(jù)本發(fā)明的一個(gè)示意性實(shí)施例的SPU寫(xiě)入遞減器通道 的詳細(xì)信息。SPU寫(xiě)入遞減器通道用于將32位值加載到遞減器。加載到遞 減器的值將確定寫(xiě)入通道(wrch)指令與遞減器事件之間的經(jīng)過(guò)的時(shí)間。 當(dāng)遞減器的最高位(msb)從"0"更改為"1"時(shí),〗更會(huì)發(fā)生事件。如果加 載到遞減器的值導(dǎo)致msb從"0"更改為'T,,則立即發(fā)信號(hào)通知事件。 將遞減器設(shè)置為值"0"將在單個(gè)遞減器間隔之后導(dǎo)致事件。為了正確保存和恢復(fù)遞減器的狀態(tài),必須在更改遞減器值之前停止遞 減器。以下序列示出了設(shè)置新的遞減器值的過(guò)程1. 寫(xiě)入SPU寫(xiě)入事件掩碼通道以禁用遞減器事件。2. 寫(xiě)入SPU寫(xiě)入事件確認(rèn)通道以確認(rèn)任何未決的事件并停止遞減器。 遞減器停止,因?yàn)橐言诓襟El中禁用遞減器事件。3. 寫(xiě)入SPU寫(xiě)入遞減器通道以設(shè)置新的遞減器計(jì)數(shù)值。(注遞減器 啟動(dòng),因?yàn)椴襟E2已停止遞減器。)4. 寫(xiě)入SPU寫(xiě)入事件掩碼通道以啟用遞減器事件。5.等待計(jì)時(shí)器到期。此通道為非阻塞通道,并且沒(méi)有關(guān)聯(lián)的計(jì)數(shù)。每當(dāng)向此通道發(fā)送讀取 通道計(jì)數(shù)(rchcnt)指令時(shí),計(jì)數(shù)將始終返回為"1"。SPU讀取遞減器通道圖19B提供了根據(jù)本發(fā)明的一個(gè)示意性實(shí)施例的SPU讀取遞減器通道 的詳細(xì)信息。SPU讀取遞減器通道用于讀取32位遞減器的當(dāng)前值。讀取遞 減器計(jì)數(shù)對(duì)遞減器的準(zhǔn)確性沒(méi)有任何影響。對(duì)遞減器的相繼讀取將返回相 同的值。此通道為非阻塞通道,并且沒(méi)有關(guān)聯(lián)的計(jì)數(shù)。每當(dāng)向此通道發(fā)送讀取 通道計(jì)數(shù)(rchcnt)指令時(shí),計(jì)數(shù)將始終返回為'T,。SPU狀態(tài)管理通道除了上述通道之外,還提供了 SPU狀態(tài)管理通道。這些SPU狀態(tài)管理 通道包括SPU讀取機(jī)器狀態(tài)通道和兩個(gè)中斷相關(guān)狀態(tài)通道。中斷相關(guān)狀態(tài) 通道包括SPU寫(xiě)入狀態(tài)保存和恢復(fù)通道以及SPU讀取狀態(tài)保存和恢復(fù)通道。SPU讀取機(jī)器狀態(tài)通道圖20A提供了根據(jù)本發(fā)明的一個(gè)示意性實(shí)施例的SPU讀取^幾器狀態(tài)通 道的詳細(xì)信息。SPU讀取機(jī)器狀態(tài)通道包含當(dāng)前SPU機(jī)器狀態(tài)信息。此通 道包含兩個(gè)狀態(tài)位隔離狀態(tài)和SPU中斷狀態(tài)。此隔離狀態(tài)反映SPU的當(dāng) 前運(yùn)行狀態(tài),即隔離或非隔離。SPU中斷啟用狀態(tài)反映SPU中斷啟用的當(dāng)前狀態(tài)。如果啟用,則當(dāng)存 在任何已啟用的SPU事件時(shí)將生成SPU中斷。此通道為非阻塞通道,并且沒(méi)有關(guān)聯(lián)的計(jì)數(shù)。每當(dāng)向此通道發(fā)送讀取 通道計(jì)數(shù)(rchcnt)指令時(shí),計(jì)數(shù)將始終返回為"1"。SPU寫(xiě)入狀態(tài)保存和恢復(fù)通道圖20B提供了根據(jù)本發(fā)明的一個(gè)示意性實(shí)施例的SPU寫(xiě)入狀態(tài)保存和 恢復(fù)通道的詳細(xì)信息。向此通道進(jìn)行寫(xiě)入會(huì)更新SPU中的狀態(tài)保存和恢復(fù) 寄存器0 (SRRO)的內(nèi)容。當(dāng)支持嵌套的中斷時(shí),向此通道進(jìn)行寫(xiě)入通常用于恢復(fù)中斷狀態(tài)信息。當(dāng)啟用SPU中斷時(shí),不應(yīng)向此通道進(jìn)行寫(xiě)入。這樣做會(huì)導(dǎo)致SRRO的內(nèi)容不確定。必須在寫(xiě)入此通道之后并在執(zhí)行依賴(lài)于SRRO內(nèi)容的指令之前發(fā) 出通道形式的同步指令。此通道為非阻塞通道,并且沒(méi)有關(guān)聯(lián)的計(jì)數(shù)。每當(dāng)向此通道發(fā)送讀取 通道計(jì)數(shù)(rchcnt)指令時(shí),計(jì)數(shù)將始終返回為"1"。SPU讀取狀態(tài)保存和恢復(fù)通道圖20C提供了 SPU讀取狀態(tài)保存和恢復(fù)通道的詳細(xì)信息。對(duì)此通道進(jìn) 行讀取會(huì)返回SPU中的狀態(tài)保存和恢復(fù)寄存器0 (SRRO)的內(nèi)容。當(dāng)支持 嵌套的中斷時(shí),對(duì)此通道進(jìn)行讀取通常用于保存中斷狀態(tài)信息。此通道為非阻塞通道,并且沒(méi)有關(guān)聯(lián)的計(jì)數(shù)。每當(dāng)向此通道發(fā)送讀取 通道計(jì)數(shù)(rchcnt)指令時(shí),計(jì)數(shù)將始終返回為"1"。SPU事件設(shè)備圖21是示出了 SPU事件設(shè)備的邏輯表示的示意性方塊圖。如圖21所 示,邊沿觸發(fā)的事件將SPU未決事件寄存器2110中的相應(yīng)位設(shè)置為"1"。 通過(guò)使用通道指令向SPU寫(xiě)入事件確認(rèn)通道2120中的相應(yīng)位寫(xiě)入"1", 來(lái)確認(rèn)或重置SPU未決事件寄存器2110中的事件。SPU未決事件寄存器(Pend—Event )2110是內(nèi)部寄存器??梢允褂肧PU 通道訪(fǎng)問(wèn)設(shè)備來(lái)讀取SPU未決事件寄存器2110。使用通道讀取(rdch)指令讀取SPU讀取事件狀態(tài)通道2130將返回與 SPU寫(xiě)入事件掩碼通道2140中的值進(jìn)行邏輯'與,的SPU未決事件寄存器 的值。此功能僅向SPU程序提供已啟用事件的狀態(tài),而SPU未決事件寄存 器2110允許特權(quán)軟件查看所有已發(fā)生的事件。SPE上下文保存和恢復(fù)操作需要訪(fǎng)問(wèn)所有事件。當(dāng)向SPU寫(xiě)入事件掩碼通道2140寫(xiě)入新值,或者當(dāng)在SPU未決事件寄 存器2110中記錄了新事件時(shí),SPU讀取事件狀態(tài)通道2130的內(nèi)容將更改。 SPU讀取事件狀態(tài)通道2130中的任何位從"0"更改為'T,都會(huì)使SPU讀 取事件狀態(tài)通道計(jì)數(shù)遞增"1"。如果向SPU寫(xiě)入事件確認(rèn)通道212G發(fā)送 寫(xiě)入之后仍在SPU讀取事件狀態(tài)通道2130中設(shè)置事件,則計(jì)數(shù)也會(huì)遞增。 當(dāng)使用通道讀取(rdch)指令讀取SPU讀取事件狀態(tài)通道2130時(shí),計(jì)數(shù)將 遞減"1"。計(jì)數(shù)在值"1"時(shí)飽和,并且不會(huì)遞減到低于值"0"。當(dāng)SPU 讀取事件狀態(tài)通道計(jì)數(shù)為非零時(shí),會(huì)將中斷條件(如果啟用)發(fā)送到SPU。SPU事件通道SPU程序可以使用多個(gè)SPU事件通道來(lái)監(jiān)視事件。這些SPU事件通道 包括SPU讀取事件狀態(tài)通道、SPU寫(xiě)入事件掩碼通道、SPU讀取事件掩碼通 道,以及SPU寫(xiě)入事件確認(rèn)通道。SPU讀取事件狀態(tài)通道包含SPU寫(xiě)入事 件掩碼通道中啟用的所有事件的狀態(tài)。SPU寫(xiě)入事件確認(rèn)通道用于重置事 件的狀態(tài),此狀態(tài)通常是SPU程序已處理或記錄的事件的指示。如果沒(méi)有 任何已啟用的事件,則從SPU讀取事件狀態(tài)通道進(jìn)行讀取將停止SPU程序。當(dāng)各個(gè)事件具有類(lèi)似的用于停止SPU程序的方法時(shí),如果尚未發(fā)生事 件,則SPU事件設(shè)備為軟件提供了用于查找多個(gè)事件以及導(dǎo)致SPU程序中斷的方法。SPU讀取事件狀態(tài)通道圖22A提供了根據(jù)本發(fā)明的一個(gè)示意性實(shí)施例的SPU讀取事件狀態(tài)通 道的詳細(xì)信息。SPU讀取事件狀態(tài)通道包含讀取此通道時(shí)SPU寫(xiě)入事件掩 碼通道啟用的所有事件的當(dāng)前狀態(tài)。如果SPU寫(xiě)入事件掩碼通道指定某個(gè) 事件不是查詢(xún)的一部分,則在報(bào)告的狀態(tài)中此事件的對(duì)應(yīng)位置為"0"。從通道計(jì)數(shù)為"0"的SPU讀取事件狀態(tài)通道進(jìn)^f^取會(huì)導(dǎo)致SPU停止,從而提供"等待事件"功能。從通道計(jì)數(shù)為"r的此通道進(jìn)行讀取會(huì)返回任何已啟用的未決事件的狀態(tài),并將通道計(jì)數(shù)設(shè)置為"o"。針對(duì)以下條件將通道計(jì)數(shù)i殳置為"r :.發(fā)生事件并且SPU寫(xiě)入事件掩碼通道中的相應(yīng)掩碼為'T,;.向SPU寫(xiě)入事件掩碼通道中與SPU未決事件寄存器中的"1"對(duì)應(yīng)的位位置寫(xiě)入"1"; 向SPU寫(xiě)入事件確認(rèn)通道寫(xiě)入之后已啟用的事件未決;以及 .特權(quán)軟件使用SPU通道訪(fǎng)問(wèn)設(shè)備將通道計(jì)數(shù)設(shè)置為"1"。 如果尚未發(fā)生任何已啟用的事件,則SPU讀取事件狀態(tài)通道的讀取通 道計(jì)數(shù)(rchcnt)指令將返回零。當(dāng)從SPU讀取事件狀態(tài)通道讀取事件狀 態(tài)時(shí),讀取通道計(jì)數(shù)(rchcnt)指令可用于避免停止SPU。特權(quán)軟件必須將SPU讀取事件狀態(tài)通道的計(jì)數(shù)值初始化為"0"。將 使用SPU通道訪(fǎng)問(wèn)設(shè)備中的SPU通道計(jì)數(shù)寄存器來(lái)初始化通道計(jì)數(shù)。如果 啟用SPU中斷(SPU-RdMachStat[IE]設(shè)置為T(mén) ),則非零的SPU讀取事 件狀態(tài)通道計(jì)數(shù)會(huì)導(dǎo)致向SPU發(fā)出中斷。應(yīng)當(dāng)指出,軟件可以在兩種情況下導(dǎo)致幻像事件1. 如果在事件使SPU讀取事件狀態(tài)通道計(jì)數(shù)遞增之后并在從SPU讀取 事件狀態(tài)通道讀取事件狀態(tài)之前,軟件對(duì)事件進(jìn)行確認(rèn)或掩碼。在此 情況下,讀取SPU讀取事件狀態(tài)通道將返回指示事件不再存在或已禁 用的數(shù)據(jù)。2. 如果在讀取SPU讀取事件狀態(tài)通道之前并在確認(rèn)事件之前,軟件重 置已啟用事件的中斷條件(例如從郵箱進(jìn)行讀取)。在此情況下,即 使生成事件的條件不再存在,讀取事件狀態(tài)寄存器仍將返回指示事件 仍然未決的數(shù)據(jù)。在此情況下,仍然必須確認(rèn)事件。 為避免生成幻像事件,應(yīng)按以下方式處理事件.讀取SPU讀取事件狀態(tài)通道。.對(duì)于所有要處理的事件,通過(guò)向SPU寫(xiě)入事件確認(rèn)通道寫(xiě)入相應(yīng)位 來(lái)確認(rèn)事件。.處理事件(例如,讀取郵箱、重置或停止計(jì)時(shí)器,或讀取信號(hào)通知寄存器)。SPU寫(xiě)入事件掩碼通道圖22B提供了根據(jù)本發(fā)明的一個(gè)示意性實(shí)施例的SPU寫(xiě)入事件掩碼通 道的詳細(xì)信息。SPU寫(xiě)入事件掩碼通道選擇哪些未決事件將影響SPU讀取 事件狀態(tài)通道的狀態(tài)。此通道的內(nèi)容被保留,直到發(fā)生后續(xù)通道寫(xiě)入或SPU 通道訪(fǎng)問(wèn)??梢酝ㄟ^(guò)讀取SPU讀取事件掩碼通道訪(fǎng)問(wèn)此通道的當(dāng)前內(nèi)容。無(wú)論SPU事件掩碼設(shè)置為何都將在SPU未決事件寄存器中記錄所有事 件。事件保持未決,直到被到達(dá)SPU寫(xiě)入事件確認(rèn)通道的寫(xiě)入通道(wrch) 指令清除或者特權(quán)軟件使用SPU通道訪(fǎng)問(wèn)設(shè)備向SPU未決事件寄存器加載 新值。未決事件將被清除,即使其已被禁用。已禁用并隨后清除的未決事件不會(huì)反映在SPU讀取事件狀態(tài)通道中。 啟用未決事件會(huì)導(dǎo)致更新SPU讀取事件狀態(tài)通道和SPU中斷(如果啟用)。此通道為非阻塞通道并且沒(méi)有關(guān)聯(lián)的計(jì)數(shù)。此通道的讀取通道計(jì)數(shù) (rchcnt)指令將始終返回'T,。圖22C提供了根據(jù)本發(fā)明的一個(gè)示意性實(shí)施例的SPU讀取事件掩碼通 道的詳細(xì)信息。SPU讀取事件掩碼通道用于讀取事件狀態(tài)掩碼的當(dāng)前值。 讀取此通道將始終返回由SPU寫(xiě)入事件掩碼通道寫(xiě)入的最后數(shù)據(jù)。此通道 可用于避免事件狀態(tài)掩碼的軟件影子復(fù)制以及進(jìn)行SPE上下文保存和恢復(fù) 操作。此通道為非阻塞通道,并且沒(méi)有關(guān)聯(lián)的計(jì)數(shù)。每當(dāng)向此通il^送讀 取通道計(jì)數(shù)(rchcnt)指令時(shí),計(jì)數(shù)將始終返回為"1"。SPU寫(xiě)入事件確認(rèn)通道圖22D提供了根據(jù)本發(fā)明的一個(gè)示意性實(shí)施例的SPU寫(xiě)入事件確認(rèn)通 道的詳細(xì)信息。向設(shè)置了特定事件位的SPU寫(xiě)入事件確認(rèn)通道進(jìn)行寫(xiě)入將 確認(rèn)軟件是否處理相應(yīng)事件。已確認(rèn)的事件被重置和重新取樣。已報(bào)告但未確認(rèn)的事件將繼續(xù)被報(bào)告,直到被確認(rèn)或直到由特權(quán)軟件使用SPU通道訪(fǎng)問(wèn)設(shè)備清除。不會(huì)在SPU讀取事件狀態(tài)通道中報(bào)告已禁用的事件,但是事件會(huì)保持 未決,直到通過(guò)向SPU寫(xiě)入事件確認(rèn)通道中的相應(yīng)位寫(xiě)入'T,來(lái)清除這些 事件。確認(rèn)已禁用的事件會(huì)清除此事件,即使尚未報(bào)告此事件也會(huì)如此。 在事件發(fā)生之前清除事件會(huì)導(dǎo)致軟件引起的死鎖。此通道為非阻塞通道,并且沒(méi)有關(guān)聯(lián)的計(jì)數(shù)。每當(dāng)向此通道發(fā)送讀取 通道計(jì)數(shù)(rchcnt)指令時(shí),計(jì)數(shù)將始終返回為"1"。SPU事件硬件通過(guò)檢測(cè)相應(yīng)的通道計(jì)數(shù)、遞減器計(jì)數(shù)或SPU通道訪(fǎng)問(wèn)操作來(lái)確 定事件。上述的BPA支持許多不同類(lèi)型的事件。例如,當(dāng)MFC讀取標(biāo)記組 狀態(tài)通道的計(jì)數(shù)從Q更改為非零值時(shí),將設(shè)置MFC標(biāo)記組狀態(tài)更新事件。 當(dāng)MFC讀取列表停止和通知標(biāo)記狀態(tài)通道的計(jì)數(shù)從0更改為非零值時(shí),將 設(shè)置MFC DMA列表命令停止和通知事件。當(dāng)排隊(duì)的MFC命令操作碼寄存器 的計(jì)數(shù)從0 (已滿(mǎn))更改為非零值(未滿(mǎn))時(shí),將設(shè)置MFC SPU命令隊(duì)列 可用事件。當(dāng)SPU讀取入站郵箱通道的計(jì)數(shù)從0更改為非零值時(shí),將設(shè)置 SPU入站郵箱可用事件。同樣,當(dāng)遞減器計(jì)數(shù)的最高位從0更改為1時(shí),將設(shè)置SPU遞減器事 件。如果加載到遞減器的值導(dǎo)致最高位從0更改為1,則立即發(fā)信號(hào)通知 事件。將遞減器值設(shè)置為O會(huì)在單個(gè)遞減器間隔之后導(dǎo)致事件。此外,當(dāng)SPU寫(xiě)入出站中斷郵箱通道計(jì)數(shù)從O更改為非零值時(shí),將設(shè) 置SPU出站郵箱可用事件。當(dāng)相應(yīng)SPU信號(hào)通知通道的計(jì)數(shù)從0更改為非 零值時(shí),將設(shè)置SPU信號(hào)通知1或2可用事件。當(dāng)原子保留丟失時(shí),將設(shè) 置鎖定線(xiàn)保留事件(參見(jiàn)以下的"鎖定線(xiàn)保留丟失事件,, 一節(jié))。當(dāng)向SPU 特權(quán)控制寄存器進(jìn)行寫(xiě)入且關(guān)注事件請(qǐng)求位被設(shè)置為1時(shí),將設(shè)置特權(quán)關(guān) 注事件(參見(jiàn)以下的"特權(quán)關(guān)注事件,, 一節(jié))。當(dāng)MFC寫(xiě)入多源同步請(qǐng)求 通道計(jì)數(shù)從值0更改為值1時(shí),將設(shè)置多源同步事件。現(xiàn)在將更詳細(xì)地描述這些事件。MFC標(biāo)記組狀態(tài)更新事件MFC標(biāo)記組狀態(tài)更新事件用于通知SPU程序一個(gè)或多個(gè)標(biāo)記組已完成, 以及MFC讀取標(biāo)記組狀態(tài)通道已更新并可被讀取而不會(huì)停止SPU (參見(jiàn)以 上的"MFC標(biāo)記組狀態(tài)通道" 一節(jié))。當(dāng)MFC讀取標(biāo)記組狀態(tài)通道的通道 計(jì)數(shù)從"0"更改為'T,時(shí),將發(fā)生事件。事件的發(fā)生會(huì)將Pend—Event [Tg] 設(shè)置為T(mén) 。如果啟用事件(即,將SPU-RdEventStat[Tg]設(shè)置為T(mén) ), 則將SPU事件狀態(tài)通道的計(jì)數(shù)設(shè)置為"1"。當(dāng)向SPU未決事件寄存器發(fā)出通道寫(xiě)入(wrch),或者當(dāng)特權(quán)軟件使 用SPU通道訪(fǎng)問(wèn)設(shè)備更新SPU未決事件寄存器且相應(yīng)位設(shè)置為"0"時(shí),會(huì) 將Pend—Event [Tg]位設(shè)置為"0"。在針對(duì)一個(gè)或多個(gè)標(biāo)記組發(fā)出任何命 令之前必須清除此事件。MFC DMA列表命令停止和通知事件MFC DMA列表命令停止和通知事件用于通知SPU程序MFC DMA列表命 令內(nèi)的某個(gè)列表元素已完成,以及MFC讀取列表停止和通知標(biāo)記狀態(tài)通道 已更新并可凈皮讀取而不會(huì)停止SPU。當(dāng)MFC讀取列表停止和通知標(biāo)記狀態(tài) 通道的通道計(jì)數(shù)從"0"更改為'T,時(shí),會(huì)發(fā)生此事件。當(dāng)設(shè)置了停止和通知標(biāo)志的列表元素的所有傳輸,以及MFC DMA列表 命令中的所有先前列表元素的傳輸都已相對(duì)于關(guān)聯(lián)的SPE完成時(shí),會(huì)將計(jì) 數(shù)設(shè)置為"1"。當(dāng)發(fā)生此事件時(shí),它將Pend-Event[Sn]設(shè)置為"1"。如 果啟用事件(即,將PU-RdEventStat[Sn]設(shè)置為"1"),則會(huì)將SPU讀 取事件狀態(tài)通道的計(jì)數(shù)設(shè)置為"1"。當(dāng)向標(biāo)記位設(shè)置為'T,的SPU寫(xiě)入 事件確認(rèn)通道發(fā)出通道寫(xiě)入(wrch) (SPU—WrEventAck[Sn]),或者當(dāng)特 權(quán)軟件使用相應(yīng)位設(shè)置為"0"的SPU通道訪(fǎng)問(wèn)設(shè)備更新SPU未決事件寄存 器時(shí),會(huì)將Pend-Event[Sn]位設(shè)置為"0"。圖23中示出了用于處理MFCDMA列表命令停止和通知事件的過(guò)程。如圖23所示,過(guò)程開(kāi)始,將對(duì)SPU讀取事件掩碼通道執(zhí)行讀取通道(rdch) 指令并將數(shù)據(jù)保存在"掩碼"中(步驟2310 )。通過(guò)向SPU-WrEventMask [Sn] 設(shè)置為"0"的SPU寫(xiě)入事件掩碼通道發(fā)出寫(xiě)入通道指令來(lái)對(duì)事件進(jìn)行掩碼 (步驟2320 )。通過(guò)向SPU-WrEventAck[Sn]設(shè)置為1的SPU寫(xiě)入事件確認(rèn) 通道執(zhí)行寫(xiě)入通道(wrch)指令來(lái)確認(rèn)事件(步驟2330 )。然后,向MFC讀取列表停止和通知標(biāo)記狀態(tài)通道MFC—StallStat [gn] 發(fā)送讀取通道(rdch)指令(步驟2340 )。返回的信息用于判定哪個(gè)或哪 些標(biāo)記組具有處于停止和通知狀態(tài)的DMA列表元素(步驟2350 )。然后, 針對(duì)每個(gè)具有已停止DMA列表元素的標(biāo)記組執(zhí)行應(yīng)用特定的操作(步驟 2360)。通過(guò)向列表停止和通知標(biāo)記確認(rèn)通道MFC一StallAck[MFC標(biāo)記](méi)(其中 提供的MFC標(biāo)記是要重新開(kāi)始的標(biāo)記組的編碼標(biāo)記ID)發(fā)出寫(xiě)入通道 (wrch)指令來(lái)確認(rèn)和重新開(kāi)始每個(gè)已停止的DMA列表命令(步驟2370 )。 然后退出DMA列表停止和通知處理機(jī)(步驟2380 )。應(yīng)當(dāng)指出,如果應(yīng)用 軟件沒(méi)有確認(rèn)MFC—StallStat[gn]通道中指示的所有已停止標(biāo)記組,則不 會(huì)針對(duì)未確認(rèn)的標(biāo)記組發(fā)生第二個(gè)停止和通知事件。通過(guò)向具有SPU—WrEvent Mask[掩碼]的SPU寫(xiě)入事件掩碼通iOL出寫(xiě) 入通道(wrch)指令來(lái)恢復(fù)"掩碼"(步驟2390 )。然后退出通用事件處 理機(jī)(步驟2395 )。應(yīng)當(dāng)指出,當(dāng)DMA列表包含多個(gè)設(shè)置了停止和通知標(biāo)志的列表元素, 以及/或者當(dāng)標(biāo)記組具有多個(gè)排隊(duì)有設(shè)置了停止和通知標(biāo)志的元素的DMA 列表命令時(shí),應(yīng)用軟件將在為標(biāo)記組排隊(duì)DMA列表命令之前將標(biāo)記組特定 的停止計(jì)數(shù)器初始化為0。此外,當(dāng)為具有停止和通知元素的標(biāo)記組排隊(duì) 多個(gè)DMA列表命令時(shí),將借助標(biāo)記特定的防護(hù)、屏障或命令屏障強(qiáng)制實(shí)施 排序。每次指示標(biāo)記組的停止和通知狀態(tài)時(shí),都應(yīng)遞增相應(yīng)的計(jì)數(shù)器。然 后,應(yīng)用軟件可以使用此計(jì)數(shù)器來(lái)確定將在列表中的哪個(gè)點(diǎn)發(fā)生停止。應(yīng)用軟件使用停止和通知來(lái)更新由于動(dòng)態(tài)更改條件而停止的列表元素 之后的列表元素地址和傳輸大小??梢酝ㄟ^(guò)將其傳輸大小設(shè)置為O來(lái)跳過(guò)已停止列表元素之后的列表元素。但是,不能更改排隊(duì)的DMA列表命令中 的列表元素?cái)?shù)。MFC SPU命令隊(duì)列可用事件MFC SPU命令隊(duì)列可用事件用于通知SPU程序MFC SPU命令隊(duì)列中的 某個(gè)表項(xiàng)可用以及可以寫(xiě)入MFC命令操作碼通道而不會(huì)停止SPU。當(dāng)MFC 命令操作碼通道的通道計(jì)數(shù)從"0"(已滿(mǎn))更改為非零(未滿(mǎn))值時(shí),會(huì)發(fā)生此事件。當(dāng)MFC SPU命令隊(duì)列中的一個(gè)或多個(gè)MFC DMA命令完成時(shí),會(huì)將計(jì)數(shù) 設(shè)置為T(mén) 。當(dāng)發(fā)生此事件時(shí),它將Pend一Event[Qv]設(shè)置為T(mén) 。如果 啟用事件(即,SPU—RdEventMask [Qv]為T(mén) ),則會(huì)將SPU—R犯ventStat [Qv] 設(shè)置為'T,并將SPU讀取事件狀態(tài)通道的計(jì)數(shù)設(shè)置為"1"。當(dāng)向SPU寫(xiě) 入事件確認(rèn)通ii^出通道寫(xiě)入(wrch)(即,將SPU—WrEventAck[Qv]設(shè)置 為"1"),或者當(dāng)特權(quán)軟件使用相應(yīng)位設(shè)置為"0"的SPU通道訪(fǎng)問(wèn)設(shè)備 來(lái)更新SPU未決事件寄存器時(shí),會(huì)將Pend—Event [Qv]位設(shè)置為"0"。圖24中示出了用于處理MFC SPU命令隊(duì)列可用事件的過(guò)程。如圖24 所示,過(guò)程開(kāi)始,將對(duì)SPU讀取事件掩碼通il^送讀取通道(rdch)指令 并將數(shù)據(jù)保存在"掩碼,,中(步驟2410)。通過(guò)向SPU-WrEventMask[Qv] 設(shè)置為"0"的SPU寫(xiě)入事件掩碼通道發(fā)出寫(xiě)入通道指令來(lái)對(duì)事件進(jìn)行掩碼 (步驟2420 )。通過(guò)向PU—WrEventAck[Qv]設(shè)置為T(mén)的SPU寫(xiě)入事件確 認(rèn)通道執(zhí)行寫(xiě)入通道(wrch)指令來(lái)確認(rèn)事件(步驟2430 )。通過(guò)向MFC命令操作碼通道(MFC—CMD)發(fā)出讀取通道計(jì)數(shù)(rchcnt) 指令來(lái)獲取通道計(jì)數(shù)(步驟2440 )。判定通道計(jì)數(shù)是否為"0"(步驟2450 )。 如果否,則將DMA命令入隊(duì)到MFC命令隊(duì)列中(步驟2460 )。然后,判定 隊(duì)列中是否剩下其他命令(步驟2470 )。如果是,則過(guò)程返回步驟2430。 如果沒(méi)有剩下的其他命令,或如果通道計(jì)數(shù)為"0",則退出SPU命令隊(duì)列 處理機(jī)(步驟2480 )。然后,通過(guò)向SPU寫(xiě)入事件掩碼通道發(fā)出寫(xiě)入通道 (wrch)指令來(lái)恢復(fù)掩碼(步驟2490 )。然后退出通用事件處理機(jī)(步驟SPU入站郵箱可用事件SPU入站郵箱可用事件用于通知SPU程序PPE或其他i殳備已寫(xiě)入空SPU 郵箱以及可讀取SPU讀取入站郵箱通道(參見(jiàn)124頁(yè))而不停止SPU。如 果啟用此事件(即,SPU—RdEventStat[Mb]為T(mén) ),則會(huì)將SPU讀取事 件狀態(tài)通道的計(jì)數(shù)"i殳置為'T'。當(dāng)SPU讀取入站郵箱通道的通道計(jì)數(shù)從"0"(空)更改為非零(非空) 值時(shí),會(huì)發(fā)生此事件。事件的發(fā)生會(huì)將Pend—Event [Mb]設(shè)置為"1"。當(dāng) 向SPU寫(xiě)入事件確認(rèn)通道發(fā)出通道寫(xiě)入(wrchX即,將SPU—WrEventAck[Mb] 設(shè)置為'T,),或者當(dāng)特權(quán)軟件使用相應(yīng)位設(shè)置為"0"的SPU通道訪(fǎng)問(wèn) 設(shè)備來(lái)更新SPU未決事件寄存器時(shí),會(huì)將Pend-Event[Mb]位設(shè)置為"0"。圖25中示出了用于處理SPU入站郵箱可用事件的過(guò)程。如圖25所示, 過(guò)程開(kāi)始,將對(duì)SPU讀取事件掩碼通道發(fā)送讀取通道(rdch)指令并將數(shù) 據(jù)保存在"掩碼,,中(步驟2510)。然后,通過(guò)向SPU—WrEvent [Masking] 設(shè)置為"0"的SPU寫(xiě)入事件掩碼通道發(fā)出寫(xiě)入通道指令來(lái)對(duì)事件進(jìn)行掩碼 (步驟2520 )。通過(guò)向SPU—WrEventAck[Sn]設(shè)置為T(mén)的SPU寫(xiě)入事件 確認(rèn)通道執(zhí)行寫(xiě)入通道(wrch)指令來(lái)確認(rèn)事件(步驟2530 )。通過(guò)向SPU讀取入站郵箱通道發(fā)出讀取通道計(jì)數(shù)(rchcnt)指令來(lái)獲 取通道計(jì)數(shù)(步驟2540 )。判定通道計(jì)數(shù)是否為"0"(步驟2550 )。如 果否,則通過(guò)向SPU讀取入站郵箱通道(SPU-RdlnMbox)發(fā)出讀取通道 (rdch)指令來(lái)讀取下一個(gè)郵箱數(shù)據(jù)表項(xiàng)(步驟2560 )。然后過(guò)程返回步 驟2530。如果通道計(jì)數(shù)為"0",則退出SPU入站郵箱處理機(jī)(步驟2570 )。 通過(guò)向具有SPU-WrEventMask[掩碼]的SPU寫(xiě)入事件掩碼通道發(fā)出寫(xiě)入通 道(wrch)指令來(lái)恢復(fù)"掩碼,,(步驟2580 )。然后退出通用事件處理機(jī) (步驟2590 )。SPU遞減器事件SPU遞減器事件用于通知SPU程序遞減器已到達(dá)"0"。如果啟用事件 (即,將SPU-RdEventStat[Tm]設(shè)置為T(mén) )并將SPU讀取事件狀態(tài)通道 的計(jì)數(shù)設(shè)置為"1",則當(dāng)遞減器的最高位從"0"更改為'T,(負(fù)數(shù))值 時(shí)將發(fā)生此事件。此事件的發(fā)生會(huì)將Pend-Event[Tm]設(shè)置為'T,。當(dāng)向 SPU寫(xiě)入事件確認(rèn)通道發(fā)出通道寫(xiě)入(wrch)(將SPU—WrEventAck[Tm〗設(shè) 置為"1"),或者當(dāng)特權(quán)軟件使用相應(yīng)位設(shè)置為"0"的SPU通道訪(fǎng)問(wèn)設(shè) 備來(lái)更新SPU未決事件寄存器時(shí),會(huì)將Pend-Event[Tm]位設(shè)置為"0"。圖26中示出了用于處理SPU遞減器事件的過(guò)程。如圖26所示,過(guò)程 開(kāi)始,將對(duì)SPU讀取事件掩碼通道執(zhí)行讀取通道(rdch)指令并將數(shù)據(jù)保 存在"掩碼"中(步驟2610)。通過(guò)向SPU—WrEventMask[Tm]設(shè)置為"0" 的SPU寫(xiě)入事件掩碼通il^出寫(xiě)入通道(wrch )指令來(lái)對(duì)事件進(jìn)行掩碼(步 驟2620 )。通過(guò)向SPU寫(xiě)入事件確認(rèn)通道發(fā)出寫(xiě)入通道(wrch)指令(將 SPU—WrEventAck[Tm]設(shè)置為'T,)來(lái)確認(rèn)事件(步驟2630 )。通過(guò)向SPU讀取遞減器通道發(fā)出讀取通道(rdch)指令來(lái)讀取遞減器 值(步驟2640 )。如果此值為負(fù)數(shù),則它可以用于確定自所需間隔起所經(jīng) 歷的額外時(shí)間。判定是否需要新的計(jì)時(shí)器事件(步驟2650 )。如果需要新 的計(jì)時(shí)器事件,則向SPU寫(xiě)入遞減器通道寫(xiě)入(wrch)新的遞減器值(步 驟2660 )。此后,或者如果不需要新的計(jì)時(shí)器事件,則退出SPU遞減器事 件處理機(jī)(步驟2670 )。通過(guò)向具有SPU—WrEventMask[掩碼]的SPU寫(xiě)入 事件掩碼通道發(fā)出寫(xiě)入通道(wrch)指令來(lái)恢復(fù)"掩碼"(步驟2680 )。 然后退出通用事件處理機(jī)(步驟2690 )。SPU出站中斷郵箱可用事件SPU出站中斷郵箱可用事件用于通知SPU程序PPE或其他設(shè)備已讀取 滿(mǎn)的SPU出站中斷郵箱寄存器以及可寫(xiě)入SPU寫(xiě)入出站中斷郵箱通道而不 停止SPU。如果啟用此事件(即,SPU—RdEventStat[Me]設(shè)置為T(mén) )并 將SPU讀取事件狀態(tài)通道的計(jì)數(shù)設(shè)置為"1",則當(dāng)SPU寫(xiě)入出站中斷郵箱通道的通道計(jì)數(shù)從"0"(已滿(mǎn))更改為非零(未滿(mǎn))值時(shí)將發(fā)生此事件。 此事件將Pend—Event[Me]設(shè)置為"1"。當(dāng)向Me位設(shè)置為"1"的SPU寫(xiě) 入事件確認(rèn)通道發(fā)出通道寫(xiě)入(wrch)(即,將SPU—WrEventAck[Me]設(shè)置 為1),或者當(dāng)特權(quán)軟件使用相應(yīng)位設(shè)置為"0"的SPU通道訪(fǎng)問(wèn)設(shè)備來(lái)更 新SPU未決事件寄存器時(shí),會(huì)將Pend-Event[Me]位設(shè)置為"0"。圖27中示出了用于處理SPU出站中斷郵箱可用事件的過(guò)程。如圖27 所示,過(guò)程開(kāi)始,將對(duì)SPU讀取事件掩碼通it^送讀取通道(rdch)指令 并將數(shù)據(jù)保存在"掩碼,,中(步驟2710)。通過(guò)向SPU—WrEventMask[Me〗 設(shè)置為"0"的SPU寫(xiě)入事件掩碼通道發(fā)出寫(xiě)入通道(wrch)指令來(lái)對(duì)事件 進(jìn)行掩碼(步驟2720 )。通過(guò)向SPU—WrEventAck [Me]設(shè)置為1的SPU寫(xiě)入 事件確認(rèn)通道執(zhí)行寫(xiě)入通道(wrch)指令來(lái)確認(rèn)事件(步驟2730 )。通過(guò)向SPU寫(xiě)入出站中斷郵箱通il^出讀取通道計(jì)數(shù)(rchcnt)指令 來(lái)獲取通道計(jì)數(shù)(步驟2740 )。判定通道計(jì)數(shù)是否為"0"(步驟2750 )。 如果通道計(jì)數(shù)不為"0",則通過(guò)向SPU寫(xiě)入出站中斷郵箱通道發(fā)出寫(xiě)入通 道(wrch)指令來(lái)寫(xiě)入新的郵箱數(shù)據(jù)表項(xiàng)(步驟2760 )。如果通道計(jì)數(shù)為 "0",則再次讀取通道計(jì)數(shù)(步驟2740 )。此后,將退出SPU出站中斷 郵箱可用處理機(jī)(步驟2770 )。通過(guò)向具有SPU-WrEventMask[掩碼]的SPU 寫(xiě)入事件掩碼通it^出寫(xiě)入通道(wrch)指令來(lái)恢復(fù)"掩碼"(步驟2780 )。 然后退出通用事件處理機(jī)(步驟2790 )。SPU出站郵箱可用事件SPU出站郵箱可用事件用于通知SPU程序處理器或其他設(shè)備已讀取滿(mǎn) 的SPU出站郵箱寄存器以及可寫(xiě)入SPU寫(xiě)入出站郵箱通道而不會(huì)停止SPU。 當(dāng)SPU寫(xiě)入出站郵箱通道的通道計(jì)數(shù)從"0"(已滿(mǎn))更改為非零(未滿(mǎn)) 值時(shí),會(huì)發(fā)生此事件。事件的發(fā)生將Pend-Event[Le]設(shè)置為"1"。如果 啟用事件(即,將SPU-RdEventStat[Le]設(shè)置為T(mén) ),則會(huì)將SPU讀取 事件狀態(tài)通道的計(jì)數(shù)設(shè)置為'T,。當(dāng)向Le位設(shè)置為"1"的SPU寫(xiě)入事件 確認(rèn)通道發(fā)出通道寫(xiě)入(wrch)(參見(jiàn)144頁(yè))(即,將SPU-WrEventAck[Le]設(shè)置為1),或者當(dāng)特權(quán)軟件使用相應(yīng)位設(shè)置為"0"的SPU通道訪(fǎng)問(wèn)設(shè)備 更新SPU未決事件寄存器時(shí),會(huì)將Pend一Event[Le]位設(shè)置為"0"。圖28中示出了用于處理SPU出站郵箱可用事件的過(guò)程。如圖28所示, 過(guò)程開(kāi)始,將對(duì)SPU讀取事件掩碼通道發(fā)送讀取通道(rdch)指令并將數(shù) 據(jù)保存在"掩碼"中(步驟2810)。通過(guò)向SPU—WrEventMask [Le]設(shè)置為"0"的SPU寫(xiě)入事件掩碼通道發(fā)出寫(xiě)入通道指令來(lái)對(duì)事件進(jìn)行掩碼(步驟 2820 )。通過(guò)向SPU—WrEventAck[Le]設(shè)置為T(mén)的SPU寫(xiě)入事件確認(rèn)通 道執(zhí)行寫(xiě)入通道(wrch)指令來(lái)確認(rèn)事件(步驟2830 )。通過(guò)向SPU寫(xiě)入出站郵箱通it^出讀取通道計(jì)數(shù)(rchcnt)指令來(lái)獲 取通道計(jì)數(shù)(步驟2840 )。然后,判定通道計(jì)數(shù)是否為"0"(步驟2850)。 如果通道計(jì)數(shù)不為"0",則通過(guò)向SPU寫(xiě)入出站郵箱通道發(fā)出寫(xiě)入通道(wrch)指令來(lái)寫(xiě)入新的郵箱數(shù)據(jù)表項(xiàng)(步驟2860 )。如果通道計(jì)數(shù)為"0", 則再次讀取通道計(jì)數(shù)(步驟2840 )。此后,將退出SPU出站郵箱處理機(jī)(步 驟2870 )。通過(guò)向具有SPU-WrEventMask [掩碼]的SPU寫(xiě)入事件掩碼通道 發(fā)出寫(xiě)入通道(wrch)指令來(lái)恢復(fù)"掩碼"(步驟2880 )。然后退出通用 事件處理機(jī)(步驟2890 )。SPU信號(hào)通知2可用事件SPU信號(hào)通知2可用事件用于通知SPU程序其他處理器或i殳備已寫(xiě)入 空SPU信號(hào)通知2寄存器,以及可讀取SPU信號(hào)通知2通道而不會(huì)停止SPU。 當(dāng)SPU信號(hào)通知2通道的通道計(jì)數(shù)從"0"(空)更改為"1"(有效)值 時(shí),會(huì)發(fā)生此事件。如果啟用事件(即,SPU—RdEventStat[S2]為T(mén) ) 并將SPU讀取事件狀態(tài)通道的計(jì)數(shù)設(shè)置為'T,,則此事件將Pend—Event [S2] 設(shè)置為"1"。當(dāng)向S2位設(shè)置為'T,的SPU寫(xiě)入事件確認(rèn)通道發(fā)出通道寫(xiě) 入(wrch) (SPU一WrEventAck[S2]),或者當(dāng)特權(quán)軟件使用相應(yīng)位設(shè)置為 "0"的SPU通道訪(fǎng)問(wèn)設(shè)備來(lái)更新SPU未決事件寄存器時(shí),會(huì)將 Pend—Event [S2]位設(shè)置為"0"。圖29中示出了用于處理SPU信號(hào)通知2可用事件的過(guò)程。如圖29所示,過(guò)程開(kāi)始,將對(duì)SPU讀取事件掩碼通道發(fā)送讀取通道(rdch)指令并 將數(shù)據(jù)保存在"掩碼"中(步驟2910)。通過(guò)向SPU-WrEventMask [S2]設(shè) 置為"0"的SPU寫(xiě)入事件掩碼通道發(fā)出寫(xiě)入通道指令來(lái)對(duì)事件進(jìn)行掩碼(步 驟2920 )。通過(guò)向SPU-WrEventAck[S2]設(shè)置為T(mén)的SPU寫(xiě)入事件確認(rèn) 通道執(zhí)行寫(xiě)入通道(wrch)指令來(lái)確認(rèn)事件(步驟2930 )。通過(guò)向SPU信號(hào)通知2通道發(fā)出讀取通道計(jì)數(shù)(rchcnt)指令來(lái)獲取 通道計(jì)數(shù)(步驟2940 )。判定通道計(jì)數(shù)是否為"0"(步驟2950 )。如果 通道計(jì)數(shù)不為"0",則通過(guò)向SPU信號(hào)通知2通道發(fā)出讀取通道指令來(lái)讀 取信號(hào)數(shù)據(jù)(步驟2960 )。此后,或者如果通道計(jì)數(shù)為"0",則退出信 號(hào)通知2處理機(jī)(步驟2970 )。通過(guò)向具有SPU-WrEventMask [掩碼]的SPU 寫(xiě)入事件掩碼通道發(fā)出寫(xiě)入通道(wrch )指令來(lái)恢復(fù)"掩碼"(步驟2980 )。 然后退出通用事件處理機(jī)(步驟2990 )。SPU信號(hào)通知1可用事件SPU信號(hào)通知1可用事件用于通知SPU程序其他處理器或設(shè)備已寫(xiě)入 空SPU信號(hào)通知1寄存器,以及可讀取SPU信號(hào)通知1通道而不會(huì)停止SPU。 當(dāng)SPU信號(hào)通知1通道的通道計(jì)數(shù)從"0"(空)更改為"1"(有效)值 時(shí),會(huì)發(fā)生此事件。如果啟用事件(即,SPU—RdEventStat[Sl]為T(mén) ) 并將SPU讀取事件狀態(tài)通道的計(jì)數(shù)設(shè)置為"1",則此事件會(huì)將 Pend-Event[Sl]設(shè)置為'T,。當(dāng)向S1位設(shè)置為T(mén)的SPU寫(xiě)入事件確認(rèn) 通道發(fā)出通道寫(xiě)入(wrch) (SPU-WrEventAck[Sl]),或者當(dāng)特權(quán)軟件使 用相應(yīng)位設(shè)置為"0"的SPU通道訪(fǎng)問(wèn)設(shè)備來(lái)更新SPU未決事件寄存器時(shí), 會(huì)將Pend—Event [Sl]位設(shè)置為"0"。圖30中示出了用于處理SPU信號(hào)通知1可用事件的過(guò)程。如圖30所 示,過(guò)程開(kāi)始,將對(duì)SPU讀取事件掩碼通道發(fā)送讀取通道(rdch)指令并 將數(shù)據(jù)保存在"掩碼,,中(步驟3010)。通過(guò)向SPU-WrEventMask [Sl]設(shè) 置為"0,,的SPU寫(xiě)入事件掩碼通道發(fā)出寫(xiě)入通道指令來(lái)對(duì)事件進(jìn)行掩碼(步 驟302Q)。通過(guò)向SPU-WrEventAck[Sl]設(shè)置為T(mén)的SPU寫(xiě)入事件確認(rèn)通道執(zhí)行寫(xiě)入通道(wrch)指令來(lái)確認(rèn)事件(步驟3030 )。通過(guò)向SPU信號(hào)通知1通道發(fā)出讀取通道計(jì)數(shù)(rchcnt)指令來(lái)獲取 通道計(jì)數(shù)(步驟3040 )。判定通道計(jì)數(shù)是否為"0"(步驟3050 )。如果通道計(jì)數(shù)不為"0",則通過(guò)向SPU信號(hào)通知1通道發(fā)出讀取通道 指令來(lái)讀取信號(hào)數(shù)據(jù)(步驟3060 )。此后,或者如果通道計(jì)數(shù)為"0", 則退出信號(hào)通知1處理機(jī)(步驟3070 )。通過(guò)向具有SPU一WrEventMask[掩 碼]的SPU寫(xiě)入事件掩碼通道發(fā)出寫(xiě)入通道(wrch)指令來(lái)恢復(fù)"掩碼"(步 驟3080 )。然后退出通用事件處理機(jī)(步驟3090 )。鎖定線(xiàn)保留丟失事件鎖定線(xiàn)保留丟失事件用于通知SPU程序已導(dǎo)致高速緩存線(xiàn)上的保留丟 失的總線(xiàn)操作。SPU程序通過(guò)發(fā)出獲取鎖定線(xiàn)并保留(getllar)命令來(lái)獲 取保留。當(dāng)其他處理器或設(shè)備修改具有保留的高速緩存線(xiàn)時(shí),保留會(huì)丟失。如果特權(quán)軟件寫(xiě)入MFC原子刷新寄存器中的刷新位(將 MFC—Atomic-Flush[F]設(shè)置為'T,),保留也會(huì)丟失。當(dāng)保留丟失時(shí)會(huì)發(fā) 生事件。此事件的發(fā)生將Pend-Event[Lr]設(shè)置為'T,。如果啟用事件(即, 將SPU-RdEventStat[Lr]設(shè)置為T(mén) ),則將SPU讀取事件狀態(tài)通道的計(jì) 數(shù)設(shè)置為'T'。當(dāng)向Lr位設(shè)置為"1"的SPU寫(xiě)入事件確認(rèn)通il^出通道 寫(xiě)入(wrch) (SPU—WrEventAck[Lr]),或者當(dāng)特權(quán)軟件使用相應(yīng)位設(shè)置 為"0"的SPU通道訪(fǎng)問(wèn)設(shè)備來(lái)更新SPU未決事件寄存器時(shí),會(huì)將 Pend—Event [Lr]位設(shè)置為"0"。圖31中示出了用于處理鎖定線(xiàn)保留丟失事件的過(guò)程。如圖31所示, 操作開(kāi)始,將對(duì)SPU讀取事件掩碼通道發(fā)出讀取通道(rdch)指令并將數(shù) 據(jù)保存在"掩碼,,中(步驟3110)。通過(guò)向SPU-WrEventMask[Lr]設(shè)置為 "0"的SPU寫(xiě)入事件掩碼通道發(fā)出寫(xiě)入通道(wrch)指令來(lái)對(duì)事件進(jìn)行掩 碼(步驟3120)。通過(guò)向SPU—WrEventAck[Lr]設(shè)置為T(mén)的SPU寫(xiě)入事 件確認(rèn)通道執(zhí)行寫(xiě)入通道(wrch)指令來(lái)確認(rèn)事件(步驟3130)。執(zhí)行應(yīng)用特定的功能以響應(yīng)系統(tǒng)修改鎖定線(xiàn)區(qū)域中的數(shù)據(jù)(步驟查存儲(chǔ)器中的軟件結(jié)構(gòu)以判定鎖定線(xiàn)是否仍被監(jiān)視 開(kāi)始。如果它仍在"等待",則下一步通常包括向被修改的同一鎖定線(xiàn)區(qū) 域發(fā)出ge 111 a r命令以獲取新數(shù)據(jù)并對(duì)此數(shù)據(jù)執(zhí)行操作。然后,退出鎖定線(xiàn)保留丟失事件處理機(jī)(步驟3150)。通過(guò)向具有 SPU—WrEventMask [掩碼]的SPU寫(xiě)入事件掩碼通ii^C出寫(xiě)入通道(wrch)指 令來(lái)恢復(fù)"掩碼"(步驟3160)。然后退出通用事件處理才幾(步驟3170) 并且過(guò)程結(jié)束。特權(quán)關(guān)注事件特權(quán)關(guān)注事件用于通知SPU程序特權(quán)軟件正在從SPU程序請(qǐng)求關(guān)注。 特權(quán)軟件通過(guò)向SPU特權(quán)控制寄存器的關(guān)注事件所需位寫(xiě)入'T,(即,將 SPU—PrivCntl[A]設(shè)置為"1")來(lái)請(qǐng)求關(guān)注。如果啟用事件(即, SPU-RdEventStat [A]為"l")并將SPU讀取事件狀態(tài)通道的計(jì)數(shù)設(shè)置為"1", 則此事件將Pend-Event[A]設(shè)置為'T,。當(dāng)向設(shè)置了 A位的SPU寫(xiě)入事件 確認(rèn)通道發(fā)出通道寫(xiě)入(wrch)(即,SPU—WrEventAck[A]為"1"),或 者當(dāng)特權(quán)軟件使用相應(yīng)位設(shè)置為"0"的SPU通道訪(fǎng)問(wèn)設(shè)備更新SPU未決事 件寄存器時(shí),會(huì)將Pend—Event[A]位設(shè)置為"0"。圖32中示出了用于處理特權(quán)關(guān)注事件的過(guò)程。如圖32所示,過(guò)程開(kāi) 始,將對(duì)SPU讀取事件掩碼通道發(fā)出讀取通道(rdch)指令并將數(shù)據(jù)保存 在"掩碼,,中(步驟3210)。通過(guò)向SPU—WrEventMask[A]設(shè)置為"0"的 SPU寫(xiě)入事件掩碼通道發(fā)出寫(xiě)入通道指令來(lái)對(duì)事件進(jìn)行掩碼(步驟3220 )。 通過(guò)向SPU—WrEventAck[A]設(shè)置為'T,的SPU寫(xiě)入事件確認(rèn)通道執(zhí)行寫(xiě)入 通道(wrch)指令來(lái)確認(rèn)事件(步驟3230 )。執(zhí)行應(yīng)用特定的功能以響應(yīng)特權(quán)關(guān)注事件(步驟3240 )。這可以例如 用于發(fā)信號(hào)通知正在請(qǐng)求使用SPU,或者某種其他操作。應(yīng)發(fā)出對(duì)特權(quán)關(guān) 注事件的應(yīng)用或操作系統(tǒng)特定的響應(yīng),例如停止和發(fā)信號(hào)通知、SPU入站 郵箱寫(xiě)入、SPU出站中斷郵箱寫(xiě)入,或更新系統(tǒng)或1/0存儲(chǔ)器空間中的狀 態(tài)。退出特權(quán)關(guān)注事件處理機(jī)(步驟3250 )。通過(guò)向具有SPU-WrEvent Mask [掩碼]的SPU寫(xiě)入事件掩碼通道發(fā)出寫(xiě)入通道(wrch )指令來(lái)恢復(fù)"掩 碼"(步驟3260 )。然后退出通用事件處理機(jī)(步驟3270 )。多源同步事件多源同步事件用于通知SPU程序多源同步請(qǐng)求已經(jīng)完成。通過(guò)向MFC 寫(xiě)入多源同步請(qǐng)求通道(MFC—WrMSSyncReq)進(jìn)行寫(xiě)入(wrch)來(lái)請(qǐng)求多源 同步。當(dāng)MFC寫(xiě)入多源同步請(qǐng)求通道(MFC-WrMSSyncReq)的通道計(jì)數(shù)從"O" 更改為T(mén)時(shí),會(huì)發(fā)生此事件。如果啟用事件(即,SPU-RdEventStat[Ms〗 為"1")并將SPU讀取事件狀態(tài)通道的計(jì)數(shù)設(shè)置為"1",則此事件將 Pend—Event[Ms]設(shè)置為"1"。當(dāng)向設(shè)置了 Ms位的SPU寫(xiě)入事件確認(rèn)通道 發(fā)出通道寫(xiě)入(wrch)(即,將SPlLWrEventAck[Ms]i殳置為"1"),或 者當(dāng)特權(quán)軟件使用相應(yīng)位設(shè)置為"0"的SPU通道訪(fǎng)問(wèn)設(shè)備更新SPU未決事 件寄存器時(shí),會(huì)將Pend-Event[Ms]位設(shè)置為"0"。必須在發(fā)出多源同步 請(qǐng)求之前清除多源同步事件。圖33中示出了用于處理多源同步事件的過(guò)程。如圖33所示,過(guò)程開(kāi) 始,將對(duì)SPU讀取事件掩碼通道發(fā)送讀取通道(rdch)指令并將數(shù)據(jù)保存 在"掩碼,,中(步驟3310)。通過(guò)向SPU—WrEventMask[Tm]設(shè)置為"0"的 SPU寫(xiě)入事件掩碼通it^出寫(xiě)入通道指令來(lái)對(duì)事件進(jìn)行掩碼(步驟3320 )。 通過(guò)向SPU—WrEvenUck[Ms]設(shè)置為'T,的SPU寫(xiě)入事件確認(rèn)通道執(zhí)行寫(xiě) 入通道(wrch)指令來(lái)確認(rèn)事件(步驟3330 )。執(zhí)行應(yīng)用特定的功能以響應(yīng)未決多源同步操作的完成(步驟3340 )。 例如,這將通常是特定緩沖區(qū)中的數(shù)據(jù)已經(jīng)完全更新,或者緩沖區(qū)域不再 處于使用中的指示。退出多源同步事件處理機(jī)(步驟3350 )。通過(guò)向具有 SPU—WrEventMask [掩碼]的SPU寫(xiě)入事件掩碼通ii^出寫(xiě)入通道(wrch)指 令來(lái)恢復(fù)"掩碼,,(步驟3360 )。然后退出通用事件處理機(jī)(步驟3370 )。概括地說(shuō),本發(fā)明提供了一種用于促進(jìn)處理器與外部設(shè)備之間的通信 的機(jī)制,所述機(jī)制降低了本地存儲(chǔ)的負(fù)擔(dān),并允許處理器在等待數(shù)據(jù)、釋放空間或事件發(fā)生時(shí)保持在低功率狀態(tài)。本發(fā)明的機(jī)制提供了多個(gè)通道, 用于與處理器、存儲(chǔ)器流控制器、機(jī)器狀態(tài)寄存器的設(shè)備以及外部處理器 中斷設(shè)備進(jìn)行通信。這些通道可用于提供指令、指令參數(shù)、處理器間信息、 信號(hào)通知、機(jī)器隔離信息、機(jī)器中斷狀態(tài)信息、生成事件,以及執(zhí)行事件處理。重要的是指出,雖然在完整功能的數(shù)據(jù)處理系統(tǒng)的上下文中說(shuō)明了本 發(fā)明,但是本領(lǐng)域的技術(shù)人員將理解,可以以指令的計(jì)算機(jī)可讀介質(zhì)的形 式和各種形式來(lái)發(fā)布本發(fā)明的諸過(guò)程,并且本發(fā)明均可等同地適用而與實(shí) 際用于執(zhí)行發(fā)布的信號(hào)承載介質(zhì)的特定類(lèi)型無(wú)關(guān)。計(jì)算機(jī)可讀介質(zhì)的實(shí)例包括可記錄型介質(zhì),諸如軟盤(pán)、硬盤(pán)驅(qū)動(dòng)器、RAM、 CD-ROM、 DVD -ROM以及傳輸型介質(zhì),諸如數(shù)字和模擬通信鏈路、使用諸如例如射頻和 光波傳輸之類(lèi)的傳輸形式的有線(xiàn)或無(wú)線(xiàn)通信鏈路。所述計(jì)算機(jī)可讀介質(zhì)可 以采取編碼格式的形式,可以對(duì)其解碼以1更在特定的數(shù)據(jù)處理系統(tǒng)中實(shí)際 使用。出于示例和i兌明目的給出了對(duì)本發(fā)明的描述,并且所述描述并非旨在 是窮舉的或是將本發(fā)明限于所公開(kāi)的形式。對(duì)于本領(lǐng)域的技術(shù)人員來(lái)說(shuō), 許多修改和變化都將是顯而易見(jiàn)的。實(shí)施例的選擇和描述是為了最佳地解 釋本發(fā)明的原理、實(shí)際應(yīng)用,并且當(dāng)適合于所構(gòu)想的特定使用時(shí),使得本 領(lǐng)域的其他技術(shù)人員能夠理解本發(fā)明的具有各種修改的各種實(shí)施例。
            權(quán)利要求
            1.一種在數(shù)據(jù)處理系統(tǒng)中用于在處理器與存儲(chǔ)器流控制MFC單元之間傳送指令和數(shù)據(jù)的方法,所述方法包括在所述處理器與MFC單元之間建立一個(gè)或多個(gè)通道以便在所述處理器與所述MFC單元之間傳輸數(shù)據(jù);通過(guò)所述一個(gè)或多個(gè)通道在所述MFC單元中接收數(shù)據(jù);在與所述一個(gè)或多個(gè)通道關(guān)聯(lián)的一個(gè)或多個(gè)寄存器中存儲(chǔ)所述數(shù)據(jù);以及根據(jù)存儲(chǔ)在所述一個(gè)或多個(gè)寄存器中的數(shù)據(jù)來(lái)處理命令隊(duì)列中的一個(gè)或多個(gè)命令。
            2. 根據(jù)權(quán)利要求1的方法,其中所述一個(gè)或多個(gè)通道包括用于與 MFC代理標(biāo)記組完成設(shè)備通信的一個(gè)或多個(gè)MFC標(biāo)記組狀態(tài)通道,所述數(shù) 據(jù)為MFC標(biāo)記組數(shù)據(jù),以及所述一個(gè)或多個(gè)寄存器為MFC標(biāo)記寄存器。
            3. 根據(jù)權(quán)利要求2的方法,其中所述一個(gè)或多個(gè)MFC標(biāo)記組狀態(tài)通 道包括MFC寫(xiě)入標(biāo)記組查詢(xún)掩碼通道,并且其中所述MFC標(biāo)記組數(shù)據(jù)包括 通過(guò)所述MFC寫(xiě)入標(biāo)記組查詢(xún)掩碼通道接收的標(biāo)識(shí)符,所述標(biāo)識(shí)符標(biāo)識(shí)了 關(guān)聯(lián)的查詢(xún)MFC命令的標(biāo)記組。
            4. 根據(jù)權(quán)利要求2的方法,其中所述一個(gè)或多個(gè)MFC標(biāo)記組狀態(tài)通 道包括MFC讀取標(biāo)記組查詢(xún)掩碼通道,并且其中發(fā)送到所述MFC讀取標(biāo)記 組查詢(xún)掩碼通道的讀取通道指令用于讀取代理標(biāo)記組查詢(xún)掩碼寄存器中存 儲(chǔ)的當(dāng)前值,所述當(dāng)前值是最后寫(xiě)入MFC寫(xiě)入標(biāo)記組查詢(xún)掩碼通道的數(shù)據(jù)。
            5. 根據(jù)權(quán)利要求2的方法,其中所述一個(gè)或多個(gè)MFC標(biāo)記組通道包 括MFC寫(xiě)入標(biāo)記狀態(tài)更新請(qǐng)求通道,并且其中發(fā)送到所述MFC寫(xiě)入標(biāo)記狀 態(tài)更新請(qǐng)求通道的寫(xiě)入通道指令將更新MFC標(biāo)記組狀態(tài)值。
            6. 根據(jù)權(quán)利要求5的方法,其中發(fā)送到所述MFC寫(xiě)入標(biāo)記狀態(tài)更新 請(qǐng)求通道的所述寫(xiě)入通道指令指定將立即執(zhí)行所述更新或在發(fā)生條件時(shí)執(zhí) 行所述更新。
            7. 根據(jù)權(quán)利要求6的方法,其中所述條件是任何已啟用的MFC標(biāo)記 組完成具有"沒(méi)有未完成的操作"狀態(tài)或所有已啟用的MFC標(biāo)記組具有"沒(méi) 有未完成的操作"狀態(tài)中的一項(xiàng)。
            8. 根據(jù)權(quán)利要求2的方法,其中所述一個(gè)或多個(gè)MFC標(biāo)記組狀態(tài)通 道包括MFC讀取標(biāo)記組狀態(tài)通道,并且其中發(fā)送到所述MFC讀取標(biāo)記組狀 態(tài)通道的讀取通道指令將返回已啟用的標(biāo)記組的當(dāng)前狀態(tài)。
            9. 根據(jù)權(quán)利要求2的方法,其中所述一個(gè)或多個(gè)MFC標(biāo)記組狀態(tài)通 道包括MFC讀取列表停止和通知標(biāo)記狀態(tài)通道,并且其中發(fā)送到所述MFC 讀取列表停止和通知標(biāo)記狀態(tài)通道的讀取通道指令標(biāo)識(shí)了哪些標(biāo)記組具有 已停止的命令。
            10. 根據(jù)權(quán)利要求2的方法,其中所述一個(gè)或多個(gè)MFC標(biāo)記組狀態(tài)通 道包括MFC寫(xiě)入列表停止和通知標(biāo)記確認(rèn)通道,并且其中發(fā)送到所述MFC 寫(xiě)入列表停止和通知標(biāo)記確認(rèn)通道的寫(xiě)入通道指令確i人標(biāo)記組包含已停止 的命令。
            11. 根據(jù)權(quán)利要求2的方法,其中所述一個(gè)或多個(gè)MFC標(biāo)記組狀態(tài)通 道包括MFC讀取原子命令狀態(tài)通道,并且其中發(fā)送到所述MFC讀取原子命 令狀態(tài)通道的讀取通道指令將返回最后完成的立即MFC原子更新命令的狀態(tài)。
            12. 根據(jù)權(quán)利要求2的方法,還包括使用所述一個(gè)或多個(gè)MFC標(biāo)記 組狀態(tài)通道來(lái)確定標(biāo)記組的狀態(tài)。
            13. 根據(jù)權(quán)利要求12的方法,其中使用所述一個(gè)或多個(gè)MFC標(biāo)記組狀態(tài)通道包括通過(guò)將標(biāo)識(shí)感興趣的標(biāo)記組的標(biāo)記組掩碼數(shù)據(jù)寫(xiě)入MFC寫(xiě)入標(biāo)記組查 詢(xún)掩碼通道來(lái)啟用所述感興趣的標(biāo)記組;通過(guò)將值寫(xiě)入MFC寫(xiě)入標(biāo)記狀態(tài)更新請(qǐng)求通道來(lái)請(qǐng)求立即標(biāo)記狀態(tài)更 新;以及將讀取通道指令發(fā)送到MFC讀取標(biāo)記組狀態(tài)通道以便應(yīng)用所述標(biāo)記組 掩碼數(shù)據(jù)和獲取所述感興趣的標(biāo)記組的當(dāng)前狀態(tài)。
            14. 根據(jù)權(quán)利要求12的方法,其中使用所述一個(gè)或多個(gè)MFC標(biāo)記組 狀態(tài)通道包括通過(guò)將值寫(xiě)入MFC寫(xiě)入標(biāo)記狀態(tài)更新請(qǐng)求通道來(lái)請(qǐng)求有條件的標(biāo)記狀 態(tài)更新;以及讀取MFC讀取標(biāo)記組狀態(tài)通道以判定是否已發(fā)生狀態(tài)更新以及標(biāo)識(shí)已 完成其處理的標(biāo)記組。
            15. 根據(jù)權(quán)利要求12的方法,其中使用所述一個(gè)或多個(gè)MFC標(biāo)記組 狀態(tài)通道包括通過(guò)將標(biāo)識(shí)感興趣的標(biāo)記組的標(biāo)記組掩碼數(shù)據(jù)寫(xiě)入MFC寫(xiě)入標(biāo)記組查 詢(xún)掩碼通道來(lái)選擇所述感興趣的標(biāo)記組;通過(guò)將值寫(xiě)入處理器寫(xiě)入事件掩碼通道來(lái)啟用MFC標(biāo)記組狀態(tài)更新事件;將讀取通道指令發(fā)送到處理器讀取事件狀態(tài)通道;根據(jù)將所述讀取通道指令發(fā)送到所述處理器讀取事件狀態(tài)通道的結(jié)果 來(lái)判定是否已發(fā)生所述MFC標(biāo)記組狀態(tài)更新事件;以及讀取MFC讀取標(biāo)記組狀態(tài)通道以標(biāo)識(shí)如果所述MFC標(biāo)記組狀態(tài)更新事 件已發(fā)生,則哪個(gè)標(biāo)記組導(dǎo)致了所述事件。
            16. 根據(jù)權(quán)利要求2的方法,還包括使用所述一個(gè)或多個(gè)MFC標(biāo)記組狀態(tài)通道來(lái)判定MFC直接存儲(chǔ)器訪(fǎng)問(wèn) DMA列表命令是否已到達(dá)"i殳置了停止和通知標(biāo)志的列表元素。
            17. 根據(jù)權(quán)利要求16的方法,其中使用所述一個(gè)或多個(gè)MFC標(biāo)記組 通道包括讀取MFC讀取列表停止和通知標(biāo)記狀態(tài)通道以標(biāo)識(shí)設(shè)置了停止和通知標(biāo)志的每個(gè)標(biāo)記組的當(dāng)前狀態(tài);判定感興趣的標(biāo)記組是否已到達(dá)設(shè)置了停止和通知標(biāo)志的列表元素; 如果所述感興趣的標(biāo)記組已到達(dá)設(shè)置了停止和通知標(biāo)志的列表元素,將寫(xiě)入通道指令發(fā)送到具有與所述感興趣的標(biāo)記組對(duì)應(yīng)的標(biāo)記組標(biāo)識(shí)符的MFC寫(xiě)入列表停止和通知標(biāo)記確認(rèn)通道。
            18. 根據(jù)權(quán)利要求16的方法,其中使用所述一個(gè)或多個(gè)MFC標(biāo)記組 通道包括清除任何未決的MFC直接存儲(chǔ)器訪(fǎng)問(wèn)DMA列表命令停止和通知事件; 讀取處理器讀取事件狀態(tài)通道;根據(jù)讀取所述處理器讀取事件狀態(tài)通道的結(jié)果來(lái)判定是否已發(fā)生已啟用的事件;如果發(fā)生已啟用的事件,則判定所述已啟用的事件是否為DMA列表停止和通知事件;如果所述已啟用的事件是DMA列表停止和通知事件,則將讀取通道指 令發(fā)送到MFC讀取列表停止和通知標(biāo)記狀態(tài)通道,以標(biāo)識(shí)哪個(gè)標(biāo)記組導(dǎo)致 了所述DMA列表停止和通知事件;以及將寫(xiě)入通道指令發(fā)送到具有與導(dǎo)致所述DMA列表停止和通知事件的標(biāo) 記組對(duì)應(yīng)的標(biāo)記組標(biāo)識(shí)符的MFC寫(xiě)入列表停止和通知標(biāo)記確認(rèn)通道。
            19. 根據(jù)權(quán)利要求l的方法,其中所述一個(gè)或多個(gè)通道包括一個(gè)或多 個(gè)用于與所述處理器中提供的郵箱設(shè)備通信的郵箱通道,其中所述郵箱設(shè) 備包括一組郵箱隊(duì)列,其中所述郵箱隊(duì)列組中的每個(gè)郵箱隊(duì)列都具有關(guān)聯(lián) 的郵箱通道和存儲(chǔ)器映射的輸入/輸出薩IO寄存器。
            20. 根據(jù)權(quán)利要求19的方法,其中所述處理器使用處理器通道指令 來(lái)訪(fǎng)問(wèn)與所述郵箱隊(duì)列關(guān)聯(lián)的郵箱通道,并且其中外部設(shè)務(wù)使用與所述郵 箱通道關(guān)聯(lián)的固IO寄存器來(lái)訪(fǎng)問(wèn)與所述郵箱隊(duì)列關(guān)聯(lián)的郵箱通道。
            21. 根據(jù)權(quán)利要求19的方法,其中所述郵箱隊(duì)列組包括用于將指令 或數(shù)據(jù)從所述處理器發(fā)送到外部設(shè)備的處理器出站郵箱隊(duì)列和處理器出站 中斷郵箱隊(duì)列。
            22. 根據(jù)權(quán)利要求21的方法,其中所述一個(gè)或多個(gè)郵箱通道包括用 于將數(shù)據(jù)寫(xiě)入所述處理器出站郵箱隊(duì)列的處理器寫(xiě)入出站郵箱通道,其中 將寫(xiě)入通道指令發(fā)送到所述處理器出站郵箱通道將在所述寫(xiě)入通道指令中 指定的數(shù)據(jù)載入所述處理器出站郵箱隊(duì)列以供外部設(shè)備讀取。
            23. 根據(jù)權(quán)利要求22的方法,其中如果所述處理器出站郵箱隊(duì)列已 滿(mǎn),則處理器在所述寫(xiě)入通道指令上停止,直到執(zhí)行與所述處理器寫(xiě)入出站郵箱通道關(guān)聯(lián)的腿IO寄存器的MMIO讀取。
            24. 根據(jù)權(quán)利要求19的方法,其中所述郵箱隊(duì)列組包括用于為所述 處理器從外部設(shè)備接收指令或數(shù)據(jù)的處理器入站郵箱隊(duì)列,并且其中所述 處理器入站郵箱隊(duì)列具有用于從所述處理器入站郵箱隊(duì)列讀取數(shù)據(jù)的關(guān)聯(lián) 的處理器讀取入站郵箱通道,其中發(fā)送到所述處理器讀取入站郵箱通道的 讀取通道指令將數(shù)據(jù)從所述處理器入站郵箱隊(duì)列載入所述讀取通道指令所 指定的寄存器。
            25. 根據(jù)權(quán)利要求24的方法,其中如果所述處理器入站郵箱隊(duì)列為 空,則處理器在所述讀取通道指令上停止,直到數(shù)據(jù)^皮寫(xiě)入所述郵箱。
            26. 根據(jù)權(quán)利要求19的方法,其中所述郵箱設(shè)備進(jìn)一步包括存儲(chǔ)所 述郵箱隊(duì)列的狀態(tài)的處理器郵箱狀態(tài)寄存器,并且其中所述郵箱隊(duì)列的狀 態(tài)包括所述郵箱隊(duì)列中的多個(gè)有效隊(duì)列表項(xiàng)。
            27. 根據(jù)權(quán)利要求1的方法r其中所述一個(gè)或多個(gè)通道包括一個(gè)或多 個(gè)用于與信號(hào)通知設(shè)備通信的信號(hào)通知通道,其中所述信號(hào)通知設(shè)備包括 與所述一個(gè)或多個(gè)信號(hào)通知通道中的每個(gè)通道關(guān)聯(lián)的信號(hào)通知寄存器。
            28. 根據(jù)權(quán)利要求27的方法,其中所述處理器通過(guò)使用一組發(fā)送信 號(hào)命令連同與要將信號(hào)發(fā)送到其的外部設(shè)備關(guān)聯(lián)的信號(hào)通知寄存器的有效 地址,經(jīng)由所述一個(gè)或多個(gè)信號(hào)通知通道將信號(hào)發(fā)送到外部設(shè)備。
            29. 根據(jù)權(quán)利要求27的方法,其中所述信號(hào)通知設(shè)備被編程為工作 在其中將覆寫(xiě)信號(hào)通知寄存器的當(dāng)前內(nèi)容的覆寫(xiě)模式。
            30. 根據(jù)權(quán)利要求27的方法,其中所述信號(hào)通知設(shè)備被編程為工作 在邏輯'或,模式,在所述邏輯'或,模式中,將信號(hào)通知寄存器的當(dāng)前 內(nèi)容與傳輸?shù)剿鲂盘?hào)通知設(shè)備的數(shù)據(jù)進(jìn)行邏輯'或,并將結(jié)果存儲(chǔ)在所 述信號(hào)通知寄存器中。
            31. 根據(jù)權(quán)利要求27的方法,其中所述一個(gè)或多個(gè)信號(hào)通知通道是 讀取阻塞通道。
            32. 才艮據(jù)權(quán)利要求l的方法,其中所述一個(gè)或多個(gè)通道包括一個(gè)或多 個(gè)用于與所述處理器中提供的遞減器通信的遞減器通道。
            33. 根據(jù)權(quán)利要求32的方法,其中所述一個(gè)或多個(gè)遞減器通道包括 處理器寫(xiě)入遞減器通道,并且其中發(fā)出到所述處理器寫(xiě)入遞減器通道的寫(xiě) 入通道指令標(biāo)識(shí)了所述遞減器的值,并且其中所述值指示了所述寫(xiě)入通道 指令與生成遞減器事件之間經(jīng)過(guò)的時(shí)間。
            34. 根據(jù)權(quán)利要求32的方法,還包括使用所述一個(gè)或多個(gè)遞減器通道來(lái)設(shè)置遞減器值。
            35. 根據(jù)權(quán)利要求34的方法,其中設(shè)置遞減器值包括將寫(xiě)入通道指令發(fā)送到處理器寫(xiě)入事件掩碼通道以禁用遞減器事件; 將寫(xiě)入通道指令發(fā)送到處理器寫(xiě)入事件確認(rèn)通道以確認(rèn)任何未決的事 件以及停止所述遞減器;將寫(xiě)入通道指令發(fā)送到處理器寫(xiě)入遞減器通道以設(shè)置新的遞減器值;以及將寫(xiě)入通道指令發(fā)送到處理器寫(xiě)入事件掩碼通道以啟用遞減器事件。
            36. 根據(jù)權(quán)利要求33的方法,其中所述一個(gè)或多個(gè)遞減器通道包括 用于讀取所述遞減器的當(dāng)前值的讀取遞減器通道。
            37. 根據(jù)權(quán)利要求1的方法,其中所述一個(gè)或多個(gè)通道包括一個(gè)或多 個(gè)用于與^i器狀態(tài)寄存器通信的狀態(tài)管理通道。
            38. 根據(jù)權(quán)利要求37的方法,其中所述一個(gè)或多個(gè)狀態(tài)管理通道包 括處理器讀取^L器狀態(tài)通道,并且其中所述處理器讀取才幾器狀態(tài)通道用于 標(biāo)識(shí)隔離狀態(tài)和處理器中斷狀態(tài)。
            39. 根據(jù)權(quán)利要求37的方法,其中所述一個(gè)或多個(gè)狀態(tài)管理通道包 括寫(xiě)入狀態(tài)保存和恢復(fù)通道,所述寫(xiě)入狀態(tài)保存和恢復(fù)通道具有關(guān)聯(lián)的狀 態(tài)保存和恢復(fù)寄存器,并且其中發(fā)出到所述寫(xiě)入狀態(tài)保存和恢復(fù)通道的寫(xiě) 入通道指令將恢復(fù)中斷狀態(tài)。
            40. 根據(jù)權(quán)利要求37的方法,其中所述一個(gè)或多個(gè)狀態(tài)管理通道包 括讀取狀態(tài)保存和恢復(fù)通道,所述讀取狀態(tài)保存和恢復(fù)通道具有關(guān)聯(lián)的狀 態(tài)保存和恢復(fù)寄存器,并且其中發(fā)出到所述讀取狀態(tài)保存和恢復(fù)通道的讀 取通道指令將中斷狀態(tài)保存到所述狀態(tài)保存和恢復(fù)寄存器。
            41. 一種在數(shù)據(jù)處理系統(tǒng)中用于傳送與處理器中的事件關(guān)聯(lián)的指令 和數(shù)據(jù)的方法,所述方法包括使用所述處理器的事件設(shè)備建立一個(gè)或多個(gè)用于傳送事件數(shù)據(jù)的通道;通過(guò)所述一個(gè)或多個(gè)通道在所述事件設(shè)備中接收數(shù)據(jù);在與所述一個(gè)或多個(gè)通道關(guān)聯(lián)的 一個(gè)或多個(gè)寄存器中存儲(chǔ)所述數(shù)據(jù);以及根據(jù)所述一個(gè)或多個(gè)寄存器中存儲(chǔ)的所述數(shù)據(jù)來(lái)處理一個(gè)或多個(gè)事件。
            42. 根據(jù)權(quán)利要求41的方法,其中所述事件設(shè)備包括未決事件寄存 器,并且其中邊沿觸發(fā)的事件將在與所述邊沿觸發(fā)的事件對(duì)應(yīng)的未決事件 寄存器中設(shè)置位。
            43. 根據(jù)權(quán)利要求42的方法,其中通過(guò)將值寫(xiě)入到寫(xiě)入事件確認(rèn)通 道中的相應(yīng)位來(lái)確認(rèn)所述未決事件寄存器中的事件。
            44. 根據(jù)權(quán)利要求42的方法,其中將讀取通道指令發(fā)出到讀取事件 狀態(tài)通道會(huì)返回與寫(xiě)入事件掩碼通道中的值進(jìn)行邏輯'與,的所述未決事 件寄存器的值,從而僅提供所述寫(xiě)入事件掩碼通道中標(biāo)識(shí)的已啟用事件的 事件狀態(tài)信息。
            45. 根據(jù)權(quán)利要求44的方法,其中在將新值寫(xiě)入到所述寫(xiě)入事件掩 碼通道時(shí)或在所述未決事件寄存器中記錄新事件時(shí),將更改所述讀取事件 狀態(tài)通道的內(nèi)容。
            46. 根據(jù)權(quán)利要求44的方法,其中更改所述讀取事件狀態(tài)通道中的 位將使讀取事件狀態(tài)通道計(jì)數(shù)遞增1,并且其中在將寫(xiě)入通道指令發(fā)送到 寫(xiě)入事件確認(rèn)通道之后在所述讀取事件狀態(tài)通道中設(shè)置事件時(shí),所述讀取 事件狀態(tài)通道計(jì)數(shù)將遞增1。
            47. 根據(jù)權(quán)利要求46的方法,其中當(dāng)使用通道讀取指令讀取所述讀 取事件狀態(tài)通道時(shí),所述讀取事件狀態(tài)通道計(jì)數(shù)將遞減1。
            48. 根據(jù)權(quán)利要求46的方法,其中當(dāng)所述讀取事件狀態(tài)通道計(jì)數(shù)不是o時(shí),將中斷發(fā)送到所述處理器。
            49. 根據(jù)權(quán)利要求41的方法,其中所述一個(gè)或多個(gè)通道包括處理器 讀取事件狀態(tài)通道,并且其中所述處理器讀取事件狀態(tài)通道包含由處理器寫(xiě)入事件掩碼通道啟用的所有事件的當(dāng)前狀態(tài)。
            50. 根據(jù)權(quán)利要求49的方法,其中如果與所述處理器讀取事件狀態(tài) 通道關(guān)聯(lián)的通道計(jì)數(shù)為0,將讀取通道指令發(fā)送到所述處理器讀取事件狀 態(tài)通道會(huì)停止所述處理器。
            51. 根據(jù)權(quán)利要求49的方法,其中如果發(fā)生事件并且所述事件在處 理器寫(xiě)入事件掩碼通道中的相應(yīng)位為1,則與所述處理器讀取事件狀態(tài)通道關(guān)聯(lián)的通道計(jì)數(shù)被設(shè)置為1。
            52. 才艮據(jù)權(quán)利要求49的方法,其中如果將1寫(xiě)入處理器寫(xiě)入事件掩 碼通道中與處理器未決事件寄存器中的l對(duì)應(yīng)的位位置,則與所述處理器 讀取事件狀態(tài)通道關(guān)聯(lián)的通道計(jì)數(shù)被設(shè)置為1。
            53. 4艮據(jù)權(quán)利要求49的方法,其中如果在將寫(xiě)入通道指令發(fā)送到處 理器寫(xiě)入事件確^人通道之后已啟用的事件未決,則與所述處理器讀取事件狀態(tài)通道關(guān)聯(lián)的通道計(jì)數(shù)被設(shè)置為1。
            54. 根據(jù)權(quán)利要求49的方法,其中如果特權(quán)軟件使用處理器通道訪(fǎng) 問(wèn)設(shè)備將與所述處理器讀取事件狀態(tài)通道關(guān)聯(lián)的通道計(jì)數(shù)設(shè)置為1,則所 述通道計(jì)數(shù)凈皮i殳置為1。
            55. 根據(jù)權(quán)利要求49的方法,其中處理一個(gè)或多個(gè)事件包括 將讀取通道指令發(fā)出到所述處理器讀取事件狀態(tài)通道以標(biāo)識(shí)已發(fā)生的事件;發(fā)出寫(xiě)入通道指令以便針對(duì)要處理的所有事件在處理器寫(xiě)入事件確認(rèn) 通道中寫(xiě)入相應(yīng)的位;以及 處理所述事件。
            56. 才艮據(jù)權(quán)利要求41的方法,其中所述一個(gè)或多個(gè)通道包括處理器 寫(xiě)入事件掩碼通道,并且其中所述處理器寫(xiě)入事件掩碼通道包含處理器事 件掩碼,所述處理器事件掩碼標(biāo)識(shí)了影響處理器讀取事件狀態(tài)通道的狀態(tài)的事件。
            57. 才艮據(jù)權(quán)利要求56的方法,其中發(fā)出到所述處理器寫(xiě)入事件掩碼 通道的寫(xiě)入通道指令將啟用所述處理器事件掩碼中的相應(yīng)事件并更新處理 器讀取事件狀態(tài)通道的狀態(tài)。
            58. 根據(jù)權(quán)利要求41的方法,其中所述一個(gè)或多個(gè)通道包括用于讀 取事件狀態(tài)掩碼的當(dāng)前值的處理器讀取事件掩碼通道。
            59. 根據(jù)權(quán)利要求58的方法,其中發(fā)出到所述處理器讀取事件掩碼 通道的讀取通道指令將返回最后寫(xiě)入處理器寫(xiě)入事件掩碼通道的數(shù)據(jù)。
            60. 根據(jù)權(quán)利要求41的方法,其中所述一個(gè)或多個(gè)通道包括用于確 認(rèn)已發(fā)生的事件的處理器寫(xiě)入事件確認(rèn)通道。
            61. 根據(jù)權(quán)利要求60的方法,其中將寫(xiě)入通道指令發(fā)出到設(shè)置了特 定事件位的處理器寫(xiě)入事件確認(rèn)通道將確認(rèn)由軟件處理相應(yīng)的事件。
            62. 根據(jù)權(quán)利要求41的方法,其中根據(jù)所述一個(gè)或多個(gè)寄存器中存 儲(chǔ)的數(shù)據(jù)來(lái)處理一個(gè)或多個(gè)事件包括通過(guò)檢測(cè)與所述一個(gè)或多個(gè)通道關(guān)聯(lián)的通道計(jì)數(shù)、檢測(cè)與所述處理器 的遞減器關(guān)聯(lián)的遞減器計(jì)數(shù),或檢測(cè)處理器通道訪(fǎng)問(wèn)操作中的至少一項(xiàng)來(lái) 標(biāo)識(shí)事件。
            63. 根據(jù)權(quán)利要求62的方法,其中在MFC讀取標(biāo)記組狀態(tài)通道的通 道計(jì)數(shù)從0更改為非0值時(shí),將設(shè)置存儲(chǔ)器流控制器MFC標(biāo)記組狀態(tài)更新 事件,并且其中所述MFC標(biāo)記組狀態(tài)更新事件通知在所述處理器上運(yùn)行的 程序標(biāo)記組已完成處理并且MFC讀取標(biāo)記組狀態(tài)通道已更新,從而可以讀 取所述MFC讀取標(biāo)記組狀態(tài)通道而不停止所述處理器。
            64. 根據(jù)權(quán)利要求62的方法,其中在MFC讀取列表停止和通知標(biāo)記 狀態(tài)通道的通道計(jì)數(shù)從0更改為非0值時(shí),將設(shè)置存儲(chǔ)器流控制器MFC直 接存儲(chǔ)器訪(fǎng)問(wèn)DMA列表命令停止和通知事件,并且其中所述MFC DMA列表 命令停止和通知事件通知在所述處理器上運(yùn)行的程序MFC DMA列表命令內(nèi) 的列表元素已完成處理,并且MFC讀取列表停止和通知標(biāo)記狀態(tài)通道而不停止所述處理器。
            65. 根據(jù)權(quán)利要求62的方法,其中在排隊(duì)的MFC命令操作碼寄存器 的通道計(jì)數(shù)從0更改為非0值時(shí),將設(shè)置存儲(chǔ)器流控制器MFC處理器命令 隊(duì)列可用事件,并且其中所述MFC處理器命令隊(duì)列可用事件通知在所述處 理器上運(yùn)行的程序MFC處理器命令隊(duì)列中的表項(xiàng)可用,并且發(fā)送到所述MFC 命令操作碼通道的寫(xiě)入通道指令不會(huì)停止所述處理器。
            66. 根據(jù)權(quán)利要求62的方法,其中在處理器讀取入站郵箱通道的通 道計(jì)數(shù)從0更改為非O值時(shí),將設(shè)置處理器入站郵箱可用事件,并且其中 所述處理器入站郵箱可用事件通知在所述處理器上運(yùn)行的程序外部設(shè)備已 寫(xiě)入空的處理器郵箱寄存器,并且發(fā)出到處理器讀取入站郵箱通道的讀取 通道指令不會(huì)停止所述處理器。
            67. 根據(jù)權(quán)利要求62的方法,其中在所述遞減器計(jì)數(shù)的最高位從0 更改為1時(shí),將設(shè)置處理器遞減器事件,并且其中所述處理器遞減器事件 通知在所述處理器上運(yùn)行的程序所述遞減器已到達(dá)0值。
            68. 根據(jù)權(quán)利要求62的方法,其中在處理器寫(xiě)入出站中斷郵箱通道 計(jì)數(shù)從O更改為非O值時(shí),將設(shè)置處理器出站中斷郵箱可用事件,并且其 中所述處理器出站中斷郵箱事件通知在所述處理器上運(yùn)行的程序外部設(shè)備 已讀取滿(mǎn)的處理器出站中斷郵箱寄存器,并且發(fā)送到處理器寫(xiě)入出站中斷 郵箱通道的寫(xiě)入通道指令不會(huì)停止所述處理器。
            69. 根據(jù)權(quán)利要求62的方法,其中在相應(yīng)處理器信號(hào)通知通道的通 道計(jì)數(shù)從O更改為非O值時(shí),將設(shè)置處理器信號(hào)通知可用事件,并且其中 所述處理器信號(hào)通知可用事件通知在所述處理器上運(yùn)行的程序外部設(shè)備已 寫(xiě)入空的處理器信號(hào)通知寄存器,并且發(fā)出到處理器信號(hào)通知通道的讀取 通道指令不會(huì)停止所述處理器。
            70. 根據(jù)權(quán)利要求62的方法,其中在原子保留丟失時(shí)將設(shè)置鎖定線(xiàn) 保留事件,并且其中所述鎖定線(xiàn)保留事件通知在所述處理器上運(yùn)行的程序 總線(xiàn)操作已導(dǎo)致高速緩存線(xiàn)上的保留丟失。
            71. 根據(jù)權(quán)利要求62的方法,其中在寫(xiě)入處理器特權(quán)控制寄存器且關(guān)注事件請(qǐng)求位設(shè)置為1時(shí)將設(shè)置特權(quán)關(guān)注事件,并且其中所述特權(quán)關(guān)注 事件通知在所述處理器上運(yùn)行的程序特4又軟件正在請(qǐng)求來(lái)自在所述處理器 上運(yùn)行的程序的關(guān)注。
            72. 根據(jù)權(quán)利要求62的方法,其中在MFC寫(xiě)入多源同步請(qǐng)求通道計(jì) 數(shù)從0值更改為非0值時(shí),將設(shè)置多源同步事件,并且其中所述多源同步 事件通知在所述處理器上運(yùn)行的程序多源同步請(qǐng)求的處理已完成。
            73. 根據(jù)權(quán)利要求64的方法,其中根據(jù)所述一個(gè)或多個(gè)寄存器中存 儲(chǔ)的數(shù)據(jù)來(lái)處理一個(gè)或多個(gè)事件進(jìn)一步包括將讀取通道指令發(fā)出到處理器讀取事件掩碼通道;將所述讀取通道指令的返回結(jié)果存儲(chǔ)為掩碼數(shù)據(jù);將寫(xiě)入通道指令發(fā)出到處理器寫(xiě)入事件掩碼通道以啟用所述MFC DMA 列表命令停止和通知事件;將寫(xiě)入通道指令發(fā)出到處理器寫(xiě)入事件確認(rèn)通道以確認(rèn)所述MFC DMA 列表命令停止和通知事件;將讀取通道指令發(fā)出到MFC讀取列表停止和通知標(biāo)記狀態(tài)通道以標(biāo)識(shí) 哪個(gè)標(biāo)記組具有DMA列表命令的處于停止和通知狀態(tài)的DMA列表元素; 針對(duì)具有已停止的DMA列表元素的每個(gè)標(biāo)記組執(zhí)行應(yīng)用特定的操作;以及將寫(xiě)入通道指令發(fā)出到具有標(biāo)記組標(biāo)識(shí)符的列表停止和通知標(biāo)記確認(rèn) 通道以由此確認(rèn)和重新開(kāi)始已停止的DMA列表命令。
            74. 才艮據(jù)權(quán)利要求65的方法,其中根據(jù)所述一個(gè)或多個(gè)寄存器中存 儲(chǔ)的數(shù)據(jù)來(lái)處理一個(gè)或多個(gè)事件進(jìn)一步包括將讀取通道指令發(fā)出到處理器讀取事件掩碼通道;將所述讀取通道指令的返回結(jié)果存儲(chǔ)為掩碼數(shù)據(jù);將寫(xiě)入通道指令發(fā)出到處理器寫(xiě)入事件掩碼通道以啟用所述MFC處理 器命令隊(duì)列可用事件;將寫(xiě)入通道指令發(fā)出到處理器寫(xiě)入事件確認(rèn)通道以確認(rèn)所迷MFC處理 器命令隊(duì)列可用事件;將讀取通道計(jì)數(shù)指令發(fā)出到所述MFC命令操作碼通道以獲取與所述 MFC命令操作碼通道關(guān)聯(lián)的通道計(jì)數(shù); 判定所述通道計(jì)數(shù)是否為0;以及如果所述通道計(jì)數(shù)不為0,則將DMA命令排隊(duì)到所述MFC命令隊(duì)列。
            75. 根據(jù)權(quán)利要求66的方法,其中根據(jù)所述一個(gè)或多個(gè)寄存器中存 儲(chǔ)的數(shù)據(jù)來(lái)處理一個(gè)或多個(gè)事件進(jìn)一步包括將讀取通道指令發(fā)出到處理器讀取事件掩碼通道; 將所述讀取通道指令的返回結(jié)果存儲(chǔ)為掩碼數(shù)據(jù); 將寫(xiě)入通道指令發(fā)出到處理器寫(xiě)入事件掩碼通道以啟用所述處理器入站郵箱事件;將寫(xiě)入通道指令發(fā)出到處理器寫(xiě)入事件確認(rèn)通道以確認(rèn)所述處理器入 站郵箱事件;將讀取通道計(jì)數(shù)指令發(fā)出到所述處理器讀取入站郵箱通道以獲取與所 述處理器讀取入站郵箱通道關(guān)聯(lián)的通道計(jì)數(shù);判定所述通道計(jì)數(shù)是否為0;以及如果所述通道計(jì)數(shù)不為0,則將讀取通道指令發(fā)出到所述處理器讀取 入站郵箱通道以讀取下一個(gè)郵箱數(shù)據(jù)表項(xiàng)。
            76. 根據(jù)權(quán)利要求67的方法,其中根據(jù)所述一個(gè)或多個(gè)寄存器中存 儲(chǔ)的數(shù)據(jù)來(lái)處理一個(gè)或多個(gè)事件進(jìn)一步包括將讀取通道指令發(fā)出到處理器讀取事件掩碼通道; 將所述讀取通道指令的返回結(jié)果存儲(chǔ)為掩碼數(shù)據(jù); 將寫(xiě)入通道指令發(fā)出到處理器寫(xiě)入事件掩碼通道以啟用所述處理器遞 減器事件;將寫(xiě)入通道指令發(fā)出到處理器寫(xiě)入事件確認(rèn)通道以確認(rèn)所述處理器遞 減器事件;將讀取通道指令發(fā)出到處理器讀取遞減器通道以獲取當(dāng)前遞減器值; 判定是否要生成新的計(jì)時(shí)器事件;以及如果要生成新的計(jì)時(shí)器事件,則將寫(xiě)入通道指令發(fā)出到具有新的遞減器值的處理器寫(xiě)入遞減器通道。
            77. 根據(jù)權(quán)利要求68的方法,其中根據(jù)所述一個(gè)或多個(gè)寄存器中存 儲(chǔ)的數(shù)據(jù)來(lái)處理一個(gè)或多個(gè)事件進(jìn)一步包括將讀取通道指令發(fā)出到處理器讀取事件掩碼通道; 將所述讀取通道指令的返回結(jié)果存儲(chǔ)為掩碼數(shù)據(jù); 將寫(xiě)入通道指令發(fā)出到處理器寫(xiě)入事件掩碼通道以啟用所述處理器出 站中斷郵箱事件;將寫(xiě)入通道指令發(fā)出到處理器寫(xiě)入事件確認(rèn)通道以確認(rèn)所述處理器出 站中斷郵箱事件;將讀取通道計(jì)數(shù)指令發(fā)出到處理器寫(xiě)入出站中斷郵箱通道以獲取與所 述處理器寫(xiě)入出站中斷郵箱通道關(guān)聯(lián)的通道計(jì)數(shù); 判定所述通道計(jì)數(shù)是否為0;以及如果所述通道計(jì)數(shù)不為0,則將寫(xiě)入通道指令發(fā)出到具有新的郵箱數(shù) 據(jù)表項(xiàng)的處理器寫(xiě)入出站中斷郵箱通道。
            78. 根據(jù)權(quán)利要求62的方法,其中在處理器寫(xiě)入出站郵箱通道計(jì)數(shù) 從0更改為非0值時(shí),將設(shè)置處理器出站郵箱可用事件,并且其中所述處 理器出站郵箱事件通知在所述處理器上運(yùn)行的程序外部設(shè)備已讀取滿(mǎn)的處 理器出站郵箱寄存器,并且發(fā)送到處理器寫(xiě)入出站郵箱通道的寫(xiě)入通道指 令不會(huì)停止所述處理器。
            79. 根據(jù)權(quán)利要求78的方法,其中根據(jù)所述一個(gè)或多個(gè)寄存器中存 儲(chǔ)的數(shù)據(jù)來(lái)處理一個(gè)或多個(gè)事件進(jìn)一步包括將讀取通道指令發(fā)出到處理器讀取事件掩碼通道; 將所述讀取通道指令的返回結(jié)果存儲(chǔ)為掩碼數(shù)據(jù); 將寫(xiě)入通道指令發(fā)出到處理器寫(xiě)入事件掩碼通道以啟用所述處理器出 站郵箱事件;將寫(xiě)入通道指令發(fā)出到處理器寫(xiě)入事件確認(rèn)通道以確認(rèn)所述處理器出 站郵箱事件;將讀取通道計(jì)數(shù)指令發(fā)出到處理器寫(xiě)入出站郵箱通道以獲取與所述處理器寫(xiě)入出站郵箱通道關(guān)聯(lián)的通道計(jì)數(shù); 判定所述通道計(jì)數(shù)是否為0;以及如果所述通道計(jì)數(shù)不為0,則將寫(xiě)入通道指令發(fā)出到具有新的郵箱數(shù) 據(jù)表項(xiàng)的處理器寫(xiě)入出站郵箱通道。
            80.根據(jù)權(quán)利要求69的方法,其中根據(jù)所述一個(gè)或多個(gè)寄存器中存 儲(chǔ)的數(shù)據(jù)來(lái)處理一個(gè)或多個(gè)事件進(jìn)一步包括將讀取通道指令發(fā)出到處理器讀取事件掩碼通道;將所述讀取通道指令的返回結(jié)果存儲(chǔ)為掩碼數(shù)據(jù);將寫(xiě)入通道指令發(fā)出到處理器寫(xiě)入事件掩碼通道以啟用所述處理器信 號(hào)通知可用事件;將寫(xiě)入通道指令發(fā)出到處理器寫(xiě)入事件確認(rèn)通道以確認(rèn)所述處理器信 號(hào)通知可用事件;將讀取通道計(jì)數(shù)指令發(fā)出到處理器信號(hào)通知通道以獲取與所述處理器 信號(hào)通知通道關(guān)聯(lián)的通道計(jì)數(shù);判定所述通道計(jì)數(shù)是否為0;以及如果所述通道計(jì)數(shù)不為0,則將讀取通道指令發(fā)出到所述處理器信號(hào) 通知通道以從所述處理器信號(hào)通知通道讀取信號(hào)數(shù)據(jù)。
            81,根據(jù)權(quán)利要求70的方法,其中根據(jù)所述一個(gè)或多個(gè)寄存器中存 儲(chǔ)的數(shù)據(jù)來(lái)處理一個(gè)或多個(gè)事件進(jìn)一步包括將讀取通道指令發(fā)出到處理器讀取事件掩碼通道;將所述讀取通道指令的返回結(jié)果存儲(chǔ)為掩碼數(shù)據(jù);將寫(xiě)入通道指令發(fā)出到處理器寫(xiě)入事件掩碼通道以啟用所述鎖定線(xiàn)保 留事件;將寫(xiě)入通道指令發(fā)出到處理器寫(xiě)入事件確認(rèn)通道以確認(rèn)所述鎖定線(xiàn)保 留事件;以及執(zhí)行應(yīng)用特定的功能以響應(yīng)鎖定線(xiàn)區(qū)域中的數(shù)據(jù)的系統(tǒng)修改。
            82.根據(jù)權(quán)利要求71的方法,其中根據(jù)所述一個(gè)或多個(gè)寄存器中存 儲(chǔ)的數(shù)據(jù)來(lái)處理一個(gè)或多個(gè)事件進(jìn)一步包括將讀取通道指令發(fā)出到處理器讀取事件掩碼通道; 將所述讀取通道指令的返回結(jié)果存儲(chǔ)為掩碼數(shù)據(jù); 將寫(xiě)入通道指令發(fā)出到處理器寫(xiě)入事件掩碼通道以啟用所述特權(quán)關(guān)注 事件;將寫(xiě)入通道指令發(fā)出到處理器寫(xiě)入事件確認(rèn)通道以確認(rèn)所述特權(quán)關(guān)注事件;以及執(zhí)行應(yīng)用特定的功能以響應(yīng)所述特權(quán)關(guān)注事件。
            83. 根據(jù)權(quán)利要求72的方法,其中根據(jù)所述一個(gè)或多個(gè)寄存器中存 儲(chǔ)的數(shù)據(jù)來(lái)處理一個(gè)或多個(gè)事件進(jìn)一步包括將讀取通道指令發(fā)出到處理器讀取事件掩碼通道; 將所述讀取通道指令的返回結(jié)果存儲(chǔ)為掩碼數(shù)據(jù); 將寫(xiě)入通道指令發(fā)出到處理器寫(xiě)入事件掩碼通道以啟用所述多源同步事件;將寫(xiě)入通道指令發(fā)出到處理器寫(xiě)入事件確認(rèn)通道以確認(rèn)所述多源同步事件;以及執(zhí)行應(yīng)用特定的功能以響應(yīng)所述多源同步事件。
            84. —種包括具有計(jì)算機(jī)可讀程序的計(jì)算機(jī)可用介質(zhì)的計(jì)算機(jī)程序 產(chǎn)品,其中當(dāng)所述計(jì)算機(jī)可讀程序在計(jì)算設(shè)備上執(zhí)行時(shí),將導(dǎo)致所述計(jì)算 設(shè)備執(zhí)行根據(jù)權(quán)利要求1至83中的任一權(quán)利要求的步驟。
            85. —種裝置,所述裝置包括 處理器;以及與所述處理器相連的存儲(chǔ)器,其中所述存儲(chǔ)器包括指令,當(dāng)所述指令 由處理器執(zhí)行時(shí),將導(dǎo)致所述處理器執(zhí)行根據(jù)權(quán)利要求1至83中的任一權(quán) 利要求的步驟。
            全文摘要
            本發(fā)明提供了一種用于在處理器和外部設(shè)備之間傳送指令和數(shù)據(jù)的系統(tǒng)和方法。所述系統(tǒng)和方法使用通道接口作為在處理器和存儲(chǔ)器流控制器之間通信的主要機(jī)制。所述通道接口提供用于例如與處理器設(shè)備、存儲(chǔ)器流控制設(shè)備、機(jī)器狀態(tài)寄存器以及外部處理器中斷設(shè)備進(jìn)行通信的通道??梢詫⑦@些通道指定為阻塞或非阻塞。對(duì)于阻塞通道,當(dāng)沒(méi)有可從相應(yīng)寄存器讀取的數(shù)據(jù)時(shí),或沒(méi)有可供寫(xiě)入相應(yīng)寄存器的空間時(shí),將處理器置于低功率“停止”狀態(tài)。當(dāng)數(shù)據(jù)變得可用或空間被釋放時(shí),通過(guò)跨阻塞通道的通信自動(dòng)喚醒所述處理器。因此,本發(fā)明的通道允許將處理器保持在低功率狀態(tài)。
            文檔編號(hào)H04Q3/545GK101243421SQ200680030145
            公開(kāi)日2008年8月13日 申請(qǐng)日期2006年8月16日 優(yōu)先權(quán)日2005年8月19日
            發(fā)明者C·R·約翰斯, J·S·利伯蒂, M·N·戴, T·Q·特呂翁, T·斯旺森 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司
            網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
            • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
            1
            婷婷六月激情在线综合激情,亚洲国产大片,久久中文字幕综合婷婷,精品久久久久久中文字幕,亚洲一区二区三区高清不卡,99国产精品热久久久久久夜夜嗨 ,欧美日韩亚洲综合在线一区二区,99国产精品电影,伊人精品线视天天综合,精品伊人久久久大香线蕉欧美
            亚洲精品1区 国产成人一级 91精品国产欧美一区二区 亚洲精品乱码久久久久久下载 国产精品久久久久久久伊一 九色国产 国产精品九九视频 伊人久久成人爱综合网 欧美日韩亚洲区久久综合 欧美日本一道免费一区三区 夜夜爽一区二区三区精品 欧美日韩高清一区二区三区 国产成人av在线 国产精品对白交换绿帽视频 国产视频亚洲 国产在线欧美精品 国产精品综合网 国产日韩精品欧美一区色 国产日韩精品欧美一区喷 欧美日韩在线观看区一二 国产区精品 欧美视频日韩视频 中文字幕天天躁日日躁狠狠躁97 视频一二三区 欧美高清在线精品一区二区不卡 国产精品揄拍一区二区久久 99久久综合狠狠综合久久aⅴ 亚洲乱码视频在线观看 日韩在线第二页 亚洲精品无码专区在线播放 成人亚洲网站www在线观看 欧美三级一区二区 99久久精品免费看国产高清 91麻豆国产在线观看 最新日韩欧美不卡一二三区 成人在线观看不卡 日韩国产在线 在线亚洲精品 亚洲午夜久久久久中文字幕 国产精品成人久久久久久久 精品国产一区二区在线观看 欧美精品国产一区二区三区 中文在线播放 亚洲第一页在线视频 国产午夜精品福利久久 九色国产 精品国产九九 国产永久视频 久久精品人人做人人综合试看 国产一区二区三区免费观看 亚洲精品国产电影 9999热视频 国产精品资源在线 麻豆久久婷婷国产综合五月 国产精品免费一级在线观看 亚洲国产一区二区三区青草影视 中文在线播放 国产成人综合在线 国产在线观看色 国产亚洲三级 国产片一区二区三区 久久99精品久久久久久牛牛影视 亚洲欧美日韩国产 四虎永久免费网站 国产一毛片 国产精品视频在 九九热在线精品 99精品福利视频 色婷婷色99国产综合精品 97成人精品视频在线播放 精品久久久久久中文字幕 亚洲欧美一区二区三区孕妇 亚洲欧美成人网 日韩高清在线二区 国产尤物在线观看 在线不卡一区二区 91网站在线看 韩国精品福利一区二区 欧美日韩国产成人精品 99热精品久久 国产精品免费视频一区 高清视频一区 精品九九久久 欧美日韩在线观看免费 91欧美激情一区二区三区成人 99福利视频 亚洲国产精品91 久热国产在线 精品久久久久久中文字幕女 国产精品久久久久久久久99热 成人自拍视频网 国产精品视频久久久久久 久久影院国产 国产玖玖在线观看 99精品在线免费 亚洲欧美一区二区三区导航 久久久久久久综合 国产欧美日韩精品高清二区综合区 国产精品视频自拍 亚洲一级片免费 久久久久久九九 国产欧美自拍视频 视频一区二区在线观看 欧美日韩一区二区三区久久 中文在线亚洲 伊人热人久久中文字幕 日韩欧美亚洲国产一区二区三区 欧美亚洲国产成人高清在线 欧美日韩国产码高清综合人成 国产性大片免费播放网站 亚洲午夜综合网 91精品久久一区二区三区 国产无套在线播放 国产精品视频网站 国产成人亚洲精品老王 91在线网站 国产视频97 欧美黑人欧美精品刺激 国产一区二区三区免费在线视频 久久久国产精品免费看 99re6久精品国产首页 久久精品91 国产成人一级 国产成人精品曰本亚洲 日本福利在线观看 伊人成综合网 久久综合一本 国产综合久久久久久 久久精品成人免费看 久久福利 91精品国产91久久久久久麻豆 亚洲精品成人在线 亚洲伊人久久精品 欧美日本二区 国产永久视频 国产一区二 一区二区福利 国产一毛片 亚洲精品1区 毛片一区二区三区 伊人久久大香线蕉综合影 国产欧美在线观看一区 亚洲国产欧洲综合997久久 国产一区二区免费视频 国产91精品对白露脸全集观看 久久亚洲国产伦理 欧美成人伊人久久综合网 亚洲性久久久影院 久久99国产精一区二区三区! 91精品国产欧美一区二区 欧美日韩亚洲区久久综合 日韩精品一二三区 久久久夜色精品国产噜噜 国产在线精品福利91香蕉 久久久久久久亚洲精品 97se色综合一区二区二区 91国语精品自产拍在线观看性色 91久久国产综合精品女同我 日韩中文字幕a 国产成人亚洲日本精品 久久国产精品-国产精品 久久国产经典视频 久久国产精品伦理 亚洲第一页在线视频 国产精品久久久久三级 日韩毛片网 久久免费高清视频 麻豆国产在线观看一区二区 91麻豆国产福利在线观看 国产成人精品男人的天堂538 一区二区三区中文字幕 免费在线视频一区 欧美日韩国产成人精品 国产综合网站 国产资源免费观看 亚洲精品亚洲人成在线播放 精品久久久久久中文字幕专区 亚洲人成人毛片无遮挡 国产一起色一起爱 国产香蕉精品视频在 九九热免费观看 日韩亚洲欧美一区 九九热精品在线观看 精品久久久久久中文字幕专区 亚洲欧美自拍偷拍 国产精品每日更新 久久久久国产一级毛片高清板 久久天天躁狠狠躁夜夜中文字幕 久久精品片 日韩在线毛片 国产成人精品本亚洲 国产成人精品一区二区三区 九九热在线观看 国产r级在线观看 国产欧美日韩精品高清二区综合区 韩国电影一区二区 国产精品毛片va一区二区三区 五月婷婷伊人网 久久一区二区三区免费 一本色道久久综合狠狠躁篇 亚洲综合色站 国产尤物在线观看 亚洲一区亚洲二区 免费在线视频一区 欧洲精品视频在线观看 日韩中文字幕a 中文字幕日本在线mv视频精品 91精品在线免费视频 精品国产免费人成在线观看 精品a级片 中文字幕日本在线mv视频精品 日韩在线精品视频 婷婷丁香色 91精品国产高清久久久久 国产成人精品日本亚洲直接 五月综合视频 欧美日韩在线亚洲国产人 精液呈暗黄色 亚洲乱码一区 久久精品中文字幕不卡一二区 亚洲天堂精品在线 激情婷婷综合 国产免费久久精品久久久 国产精品亚洲二区在线 久久免费播放视频 五月婷婷丁香综合 在线亚洲欧美日韩 久久免费精品高清麻豆 精品久久久久久中文字幕 亚洲一区网站 国产精品福利社 日韩中文字幕免费 亚洲综合丝袜 91精品在线播放 国产精品18 亚洲日日夜夜 伊人久久大香线蕉综合影 亚洲精品中文字幕乱码影院 亚洲一区二区黄色 亚洲第一页在线视频 一区二区在线观看视频 国产成人福利精品视频 亚洲高清二区 国内成人免费视频 精品亚洲性xxx久久久 国产精品合集一区二区三区 97av免费视频 国产一起色一起爱 国产区久久 国产资源免费观看 99精品视频免费 国产成人一级 国产精品九九免费视频 欧美91精品久久久久网免费 99热国产免费 久久精品色 98精品国产综合久久 久久精品播放 中文字幕视频免费 国产欧美日韩一区二区三区在线 精品久久蜜桃 国产小视频精品 一本色道久久综合狠狠躁篇 91在线免费观看 亚洲精品区 伊人成综合网 伊人热人久久中文字幕 伊人黄色片 99国产精品热久久久久久夜夜嗨 久久免费精品视频 亚洲一区二区三区高清不卡 久久久久国产一级毛片高清板 国产片一区二区三区 久久狠狠干 99久久婷婷国产综合精品电影 国产99区 国产精品成人久久久久 久久狠狠干 青青国产在线观看 亚洲高清国产拍精品影院 国产精品一区二区av 九九热在线免费视频 伊人久久国产 国产精品久久久久久久久久一区 在线观看免费视频一区 国产精品自在在线午夜区app 国产精品综合色区在线观看 国产毛片久久久久久国产毛片 97国产免费全部免费观看 国产精品每日更新 国产尤物视频在线 九九视频这里只有精品99 一本一道久久a久久精品综合 久久综合给会久久狠狠狠 国产成人精品男人的天堂538 欧美一区二区高清 毛片一区二区三区 国产欧美日韩在线观看一区二区三区 在线国产二区 欧美不卡网 91在线精品中文字幕 在线国产福利 国内精品91久久久久 91亚洲福利 日韩欧美国产中文字幕 91久久精品国产性色也91久久 亚洲性久久久影院 欧美精品1区 国产热re99久久6国产精品 九九热免费观看 国产精品欧美日韩 久久久久国产一级毛片高清板 久久国产经典视频 日韩欧美亚洲国产一区二区三区 欧美亚洲综合另类在线观看 国产精品自在在线午夜区app 97中文字幕在线观看 视频一二三区 精品国产一区在线观看 国产欧美日韩在线一区二区不卡 欧美一区二三区 伊人成人在线观看 国内精品91久久久久 97在线亚洲 国产在线不卡一区 久久久全免费全集一级全黄片 国产精品v欧美精品∨日韩 亚洲毛片网站 在线不卡一区二区 99re热在线视频 久久激情网 国产毛片一区二区三区精品 久久亚洲综合色 中文字幕视频免费 国产视频亚洲 婷婷伊人久久 国产一区二区免费播放 久久99国产精品成人欧美 99国产在线视频 国产成人免费视频精品一区二区 国产不卡一区二区三区免费视 国产码欧美日韩高清综合一区 久久精品国产主播一区二区 国产一区电影 久久精品国产夜色 国产精品国产三级国产 日韩一区二区三区在线 久久97久久97精品免视看 久久国产免费一区二区三区 伊人久久大香线蕉综合电影网 99re6久精品国产首页 久久激情网 亚洲成人高清在线 国产精品网址 国产成人精品男人的天堂538 香蕉国产综合久久猫咪 国产专区中文字幕 91麻豆精品国产高清在线 久久国产经典视频 国产精品成人va在线观看 国产精品爱啪在线线免费观看 日本精品久久久久久久久免费 亚洲综合一区二区三区 久久五月网 精品国产网红福利在线观看 久久综合亚洲伊人色 亚洲国产精品久久久久久网站 在线日韩国产 99国产精品热久久久久久夜夜嗨 国产综合精品在线 国产区福利 精品亚洲综合久久中文字幕 国产制服丝袜在线 毛片在线播放网站 在线观看免费视频一区 国产精品久久久精品三级 亚洲国产电影在线观看 最新日韩欧美不卡一二三区 狠狠综合久久综合鬼色 日本精品1在线区 国产日韩一区二区三区在线播放 欧美日韩精品在线播放 亚洲欧美日韩国产一区二区三区精品 久久综合久久网 婷婷六月激情在线综合激情 亚洲乱码一区 国产专区91 97av视频在线观看 精品久久久久久中文字幕 久久五月视频 国产成人福利精品视频 国产精品网址 中文字幕视频在线 精品一区二区三区免费视频 伊人手机在线视频 亚洲精品中文字幕乱码 国产在线视频www色 色噜噜国产精品视频一区二区 精品亚洲成a人在线观看 国产香蕉尹人综合在线 成人免费一区二区三区在线观看 国产不卡一区二区三区免费视 欧美精品久久天天躁 国产专区中文字幕 久久精品国产免费中文 久久精品国产免费一区 久久无码精品一区二区三区 国产欧美另类久久久精品免费 欧美精品久久天天躁 亚洲精品在线视频 国产视频91在线 91精品福利一区二区三区野战 日韩中文字幕免费 国产精品99一区二区三区 欧美成人高清性色生活 国产精品系列在线观看 亚洲国产福利精品一区二区 国产成人在线小视频 国产精品久久久久免费 99re热在线视频 久久久久久久综合 一区二区国产在线播放 成人国产在线视频 亚洲精品乱码久久久久 欧美日韩一区二区综合 精品久久久久免费极品大片 中文字幕视频二区 激情粉嫩精品国产尤物 国产成人精品一区二区视频 久久精品中文字幕首页 亚洲高清在线 国产精品亚洲一区二区三区 伊人久久艹 中文在线亚洲 国产精品一区二区在线播放 国产精品九九免费视频 亚洲二区在线播放 亚洲狠狠婷婷综合久久久久网站 亚洲欧美日韩网站 日韩成人精品 亚洲国产一区二区三区青草影视 91精品国产福利在线观看 国产精品久久久久久久久99热 国产一区二区精品尤物 久碰香蕉精品视频在线观看 亚洲日日夜夜 在线不卡一区二区 国产午夜亚洲精品 九九热在线视频观看这里只有精品 伊人手机在线视频 91免费国产精品 日韩欧美中字 91精品国产91久久久久 国产全黄三级播放 视频一区二区三区免费观看 国产开裆丝袜高跟在线观看 国产成人欧美 激情综合丝袜美女一区二区 国产成人亚洲综合无 欧美精品一区二区三区免费观看 欧美亚洲国产日韩 日韩亚州 国产欧美日韩精品高清二区综合区 亚洲午夜国产片在线观看 精品久久久久久中文字幕 欧美精品1区 久久伊人久久亚洲综合 亚洲欧美日韩精品 国产成人精品久久亚洲高清不卡 久久福利影视 国产精品99精品久久免费 久久久久免费精品视频 国产日产亚洲精品 亚洲国产午夜电影在线入口 精品无码一区在线观看 午夜国产精品视频 亚洲一级片免费 伊人久久大香线蕉综合影 国产精品久久影院 久碰香蕉精品视频在线观看 www.欧美精品 在线小视频国产 亚洲国产天堂久久综合图区 欧美一区二区三区不卡 日韩美女福利视频 九九精品免视频国产成人 不卡国产00高中生在线视频 亚洲第一页在线视频 欧美日韩在线播放成人 99re视频这里只有精品 国产精品91在线 精品乱码一区二区三区在线 国产区久久 91麻豆精品国产自产在线观看一区 日韩精品成人在线 九九热在线观看 国产精品久久不卡日韩美女 欧美一区二区三区综合色视频 欧美精品免费一区欧美久久优播 国产精品网址 国产专区中文字幕 国产精品欧美亚洲韩国日本久久 日韩美香港a一级毛片 久久精品123 欧美一区二区三区免费看 99r在线视频 亚洲精品国产字幕久久vr 国产综合激情在线亚洲第一页 91免费国产精品 日韩免费小视频 亚洲国产精品综合一区在线 国产亚洲第一伦理第一区 在线亚洲精品 国产精品一区二区制服丝袜 国产在线成人精品 九九精品免视频国产成人 亚洲国产网 欧美日韩亚洲一区二区三区在线观看 在线亚洲精品 欧美一区二区三区高清视频 国产成人精品男人的天堂538 欧美日韩在线观看区一二 亚洲欧美一区二区久久 久久精品中文字幕首页 日本高清www午夜视频 久久精品国产免费 久久999精品 亚洲国产精品欧美综合 88国产精品视频一区二区三区 91久久偷偷做嫩草影院免费看 国产精品夜色视频一区二区 欧美日韩导航 国产成人啪精品午夜在线播放 一区二区视频在线免费观看 99久久精品国产自免费 精液呈暗黄色 久久99国产精品 日本精品久久久久久久久免费 精品国产97在线观看 99re视频这里只有精品 国产视频91在线 999av视频 亚洲美女视频一区二区三区 久久97久久97精品免视看 亚洲国产成人久久三区 99久久亚洲国产高清观看 日韩毛片在线视频 综合激情在线 91福利一区二区在线观看 一区二区视频在线免费观看 激情粉嫩精品国产尤物 国产成人精品曰本亚洲78 国产成人精品本亚洲 国产精品成人免费视频 国产成人啪精品视频免费软件 久久精品国产亚洲妲己影院 国产精品成人久久久久久久 久久大香线蕉综合爱 欧美一区二区三区高清视频 99热国产免费 在线观看欧美国产 91精品视频在线播放 国产精品福利社 欧美精品一区二区三区免费观看 国产一区二区免费视频 国产午夜精品一区二区 精品视频在线观看97 91精品福利久久久 国产一区福利 国产综合激情在线亚洲第一页 国产精品久久久久久久久久久不卡 九色国产 在线日韩国产 黄网在线观看 亚洲一区小说区中文字幕 中文字幕丝袜 日本二区在线观看 日本国产一区在线观看 欧美日韩一区二区三区久久 欧美精品亚洲精品日韩专 国产日产亚洲精品 久久综合九色综合欧美播 亚洲国产欧美无圣光一区 欧美视频区 亚洲乱码视频在线观看 久久无码精品一区二区三区 九九热精品免费视频 久久99精品久久久久久牛牛影视 国产精品成久久久久三级 国产一区福利 午夜国产精品视频 日本二区在线观看 99久久网站 国产亚洲天堂 精品国产一区二区三区不卡 亚洲国产日韩在线一区 国产成人综合在线观看网站 久久免费高清视频 欧美在线导航 午夜精品久久久久久99热7777 欧美久久综合网 国产小视频精品 国产尤物在线观看 亚洲国产精品综合一区在线 欧美一区二区三区不卡视频 欧美黑人欧美精品刺激 日本福利在线观看 久久国产偷 国产手机精品一区二区 国产热re99久久6国产精品 国产高清啪啪 欧美亚洲国产成人高清在线 国产在线第三页 亚洲综合一区二区三区 99r在线视频 99精品久久久久久久婷婷 国产精品乱码免费一区二区 国产在线精品福利91香蕉 国产尤物视频在线 五月婷婷亚洲 中文字幕久久综合伊人 亚洲精品一级毛片 99国产精品电影 在线视频第一页 久久99国产精品成人欧美 国产白白视频在线观看2 成人精品一区二区www 亚洲成人网在线观看 麻豆91在线视频 色综合合久久天天综合绕视看 久久精品国产免费高清 国产不卡一区二区三区免费视 欧美国产中文 99精品欧美 九九在线精品 国产中文字幕在线免费观看 国产一区中文字幕在线观看 国产成人一级 国产精品一区二区制服丝袜 国产一起色一起爱 亚洲精品成人在线 亚洲欧美精品在线 国产欧美自拍视频 99精品久久久久久久婷婷 久99视频 国产热re99久久6国产精品 视频一区亚洲 国产精品视频分类 国产精品成在线观看 99re6久精品国产首页 亚洲在成人网在线看 亚洲国产日韩在线一区 久久国产三级 日韩国产欧美 欧美在线一区二区三区 国产精品美女一级在线观看 成人午夜免费福利视频 亚洲天堂精品在线 91精品国产手机 欧美日韩视频在线播放 狠狠综合久久综合鬼色 九一色视频 青青视频国产 亚洲欧美自拍一区 中文字幕天天躁日日躁狠狠躁97 日韩免费大片 996热视频 伊人成综合网 亚洲天堂欧美 日韩精品亚洲人成在线观看 久久综合给会久久狠狠狠 日韩精品亚洲人成在线观看 日韩国产欧美 亚洲成aⅴ人片在线影院八 亚洲精品1区 99久久精品免费 国产精品高清在线观看 国产精品久久久免费视频 在线亚洲欧美日韩 91在线看视频 国产精品96久久久久久久 欧美日韩国产成人精品 91在线亚洲 热久久亚洲 国产精品美女免费视频观看 日韩在线毛片 亚洲永久免费视频 九九免费在线视频 亚洲一区网站 日本高清二区视频久二区 精品国产美女福利在线 伊人久久艹 国产精品久久久久三级 欧美成人精品第一区二区三区 99久久精品国产自免费 在线观看日韩一区 国产中文字幕一区 成人免费午夜视频 欧美日韩另类在线 久久99国产精品成人欧美 色婷婷中文网 久久天天躁夜夜躁狠狠躁2020 欧美成人伊人久久综合网 国产精品福利资源在线 国产伦精品一区二区三区高清 国产精品亚洲综合色区韩国 亚洲一区欧美日韩 色综合视频 国语自产精品视频在线区 国产高清a 成人国内精品久久久久影 国产在线精品香蕉综合网一区 国产不卡在线看 国产成人精品精品欧美 国产欧美日韩综合精品一区二区三区 韩国电影一区二区 国产在线视频www色 91中文字幕在线一区 国产人成午夜免视频网站 亚洲综合一区二区三区 色综合视频一区二区观看 久久五月网 九九热精品在线观看 国产一区二区三区国产精品 99久热re在线精品996热视频 亚洲国产网 在线视频亚洲一区 日韩字幕一中文在线综合 国产高清一级毛片在线不卡 精品国产色在线 国产高清视频一区二区 精品日本久久久久久久久久 亚洲国产午夜精品乱码 成人免费国产gav视频在线 日韩欧美一区二区在线观看 欧美曰批人成在线观看 韩国电影一区二区 99re这里只有精品6 日韩精品一区二区三区视频 99re6久精品国产首页 亚洲欧美一区二区三区导航 欧美色图一区二区三区 午夜精品视频在线观看 欧美激情在线观看一区二区三区 亚洲热在线 成人国产精品一区二区网站 亚洲一级毛片在线播放 亚洲一区小说区中文字幕 亚洲午夜久久久久影院 国产自产v一区二区三区c 国产精品视频免费 久久调教视频 国产成人91激情在线播放 国产精品欧美亚洲韩国日本久久 久久亚洲日本不卡一区二区 91中文字幕网 成人国产在线视频 国产视频91在线 欧美成人精品第一区二区三区 国产精品福利在线 久久综合九色综合精品 欧美一区二区三区精品 久久国产综合尤物免费观看 久久99青青久久99久久 日韩精品免费 久久国产精品999 91亚洲视频在线观看 国产精品igao视频 色综合区 在线亚洲欧国产精品专区 国产一区二区三区在线观看视频 亚洲精品成人在线 一区二区国产在线播放 中文在线亚洲 亚洲精品第一国产综合野 国产一区二区精品久久 一区二区三区四区精品视频 99热精品久久 中文字幕视频二区 国产成人精品男人的天堂538 99精品影视 美女福利视频一区二区 久久午夜夜伦伦鲁鲁片 综合久久久久久久综合网 国产精品国产欧美综合一区 国产99视频在线观看 国产亚洲女在线精品 婷婷影院在线综合免费视频 国产亚洲3p一区二区三区 91成人爽a毛片一区二区 亚洲一区二区高清 国产欧美亚洲精品第二区首页 欧美日韩导航 亚洲高清二区 欧美激情观看一区二区久久 日韩毛片在线播放 亚洲欧美日韩高清中文在线 亚洲日本在线播放 国产精品一区二区制服丝袜 精品国产一区二区三区不卡 国产不卡在线看 国产欧美网站 四虎永久在线观看视频精品 国产黄色片在线观看 夜夜综合 一本色道久久综合狠狠躁篇 欧美亚洲综合另类在线观看 国产91在线看 伊人久久国产 欧美一区二区在线观看免费网站 国产精品久久久久三级 久久福利 日韩中文字幕a 亚洲午夜久久久久影院 91在线高清视频 国产亚洲一区二区三区啪 久久人精品 国产精品亚洲午夜一区二区三区 综合久久久久久 久久伊人一区二区三区四区 国产综合久久久久久 日韩一区精品视频在线看 国产精品日韩欧美制服 日本精品1在线区 99re视频 无码av免费一区二区三区试看 国产视频1区 日韩欧美中文字幕一区 日本高清中文字幕一区二区三区a 亚洲国产欧美无圣光一区 国产在线视频一区二区三区 欧美国产第一页 在线亚洲欧美日韩 日韩中文字幕第一页 在线不卡一区二区 伊人久久青青 国产精品一区二区在线播放 www.五月婷婷 麻豆久久婷婷国产综合五月 亚洲精品区 久久国产欧美另类久久久 99在线视频免费 伊人久久中文字幕久久cm 久久精品成人免费看 久久这里只有精品首页 88国产精品视频一区二区三区 中文字幕日本在线mv视频精品 国产在线精品成人一区二区三区 伊人精品线视天天综合 亚洲一区二区黄色 国产尤物视频在线 亚洲精品99久久久久中文字幕 国产一区二区三区免费观看 伊人久久大香线蕉综合电影网 国产成人精品区在线观看 日本精品一区二区三区视频 日韩高清在线二区 久久免费播放视频 一区二区成人国产精品 国产精品免费精品自在线观看 亚洲精品视频二区 麻豆国产精品有码在线观看 精品日本一区二区 亚洲欧洲久久 久久中文字幕综合婷婷 中文字幕视频在线 国产成人精品综合在线观看 91精品国产91久久久久福利 精液呈暗黄色 香蕉国产综合久久猫咪 国产专区精品 亚洲精品无码不卡 国产永久视频 亚洲成a人片在线播放观看国产 一区二区国产在线播放 亚洲一区二区黄色 欧美日韩在线观看视频 亚洲精品另类 久久国产综合尤物免费观看 国产一区二区三区国产精品 高清视频一区 国产精品igao视频 国产精品资源在线 久久综合精品国产一区二区三区 www.五月婷婷 精品色综合 99热国产免费 麻豆福利影院 亚洲伊人久久大香线蕉苏妲己 久久电影院久久国产 久久精品伊人 在线日韩理论午夜中文电影 亚洲国产欧洲综合997久久 伊人国产精品 久草国产精品 欧美一区精品二区三区 亚洲成人高清在线 91免费国产精品 日韩精品福利在线 国产一线在线观看 国产不卡在线看 久久99青青久久99久久 亚洲精品亚洲人成在线播放 99久久免费看国产精品 国产日本在线观看 青草国产在线视频 麻豆久久婷婷国产综合五月 国产中文字幕一区 91久久精品国产性色也91久久 国产一区a 国产欧美日韩成人 国产亚洲女在线精品 一区二区美女 中文字幕在线2021一区 在线小视频国产 久久这里只有精品首页 国产在线第三页 欧美日韩中文字幕 在线亚洲+欧美+日本专区 精品国产一区二区三区不卡 久久这里精品 欧美在线va在线播放 精液呈暗黄色 91精品国产手机 91在线免费播放 欧美视频亚洲色图 欧美国产日韩精品 日韩高清不卡在线 精品视频免费观看 欧美日韩一区二区三区四区 国产欧美亚洲精品第二区首页 亚洲韩精品欧美一区二区三区 国产精品视频免费 在线精品小视频 久久午夜夜伦伦鲁鲁片 国产无套在线播放 久热这里只精品99re8久 欧美久久久久 久久香蕉国产线看观看精品蕉 国产成人精品男人的天堂538 亚洲人成网站色7799在线观看 日韩在线第二页 一本色道久久综合狠狠躁篇 国产一区二区三区不卡在线观看 亚洲乱码在线 在线观看欧美国产 久久福利青草精品资源站免费 国产玖玖在线观看 在线亚洲精品 亚洲成aⅴ人在线观看 精品91在线 欧美一区二三区 日韩中文字幕视频在线 日本成人一区二区 日韩免费专区 国内精品在线观看视频 久久国产综合尤物免费观看 国产精品系列在线观看 一本一道久久a久久精品综合 亚洲免费播放 久久精品国产免费 久久人精品 亚洲毛片网站 亚洲成a人一区二区三区 韩国福利一区二区三区高清视频 亚洲精品天堂在线 一区二区三区中文字幕 亚洲国产色婷婷精品综合在线观看 亚洲国产成人久久笫一页 999国产视频 国产精品香港三级在线电影 欧美日韩一区二区三区四区 日韩国产欧美 国产精品99一区二区三区 午夜国产精品理论片久久影院 亚洲精品中文字幕麻豆 亚洲国产高清视频 久久免费手机视频 日韩a在线观看 五月婷婷亚洲 亚洲精品中文字幕麻豆 中文字幕丝袜 www国产精品 亚洲天堂精品在线 亚洲乱码一区 国产日韩欧美三级 久久999精品 伊人热人久久中文字幕 久热国产在线视频 国产欧美日韩在线观看一区二区三区 国产一二三区在线 日韩国产欧美 91精品国产91久久久久 亚洲一区小说区中文字幕 精品一区二区免费视频 国产精品视频免费 国产精品亚洲综合色区韩国 亚洲国产精品成人午夜在线观看 欧美国产日韩精品 中文字幕精品一区二区精品
            亚洲色图综合图片| 国产综合在线观看视频| 欧美一区视频| 欧美综合亚洲| 久久国产亚洲电影天堂| 男人的天堂a在线| 亚洲综合色一区二区三区另类| 国内成人精品视频| 色综合久久六月婷婷中文字幕| 综合网久久| 国产精品尤物| 久久国产精品国产精品| 国产精品视频无圣光一区| 久久99国产综合色| 五月天久久婷婷| 97国产精品视频观看一| 最新日韩精品| 国产精品自在线| 欧美日韩国产亚洲一区二区| 伊人网在线视频| 99国产国人青青视频在线观看| 欧美精品第1页在线播放| 亚洲区视频在线观看| 久久久精品免费免费直播| 欧美日韩福利视频一区二区三区 | 久久婷婷国产一区二区三区| 亚洲不卡网| 日韩免费毛片视频| 亚洲九九色| 97综合久久| 中文字幕日韩精品有码视频| 亚洲国产区| 亚洲日本一区二区三区高清在线 | 亚洲精品中文字幕不卡在线| 久久国产情侣| 欧美成人小视频| 99精品在线播放| 91国内精品久久久久怡红院| 91九色国产| 国产成人啪精品视频免费软件| 国产91对白在线播放| 国产婷婷一区二区三区| 精品一区二区三区的国产在线观看 | 国产精品入口麻豆高清在线 | 伊人精品在线视频| 99国内精品久久久久久久黑人| 亚洲欧美精品成人久久91| 国产免费一区不卡在线| 午夜久久久| 久久中文字幕免费| 日本一区二区不卡视频| 精品少妇一区二区三区视频| 欧美视频第二页| 欧美日韩中文字幕在线视频| 国产资源精品一区二区免费| 亚洲午夜精品一区二区公牛电影院| 亚洲欧美中文字幕高清在线一 | 日韩精品专区| 久久亚洲欧美成人精品| 成年男女免费视频| 日韩精品小视频| 99国产精品视频免费观看| 精品国产欧美一区二区最新| 久久免费99精品国产自在现线| 国产三级一区二区| 国产一区二区三区免费播放 | 国产成人精品一区二区免费视频 | 色综合天| 国产精品二区三区| 91色视频在线| 中文字幕伦伦在线中文字| 亚洲国产欧美国产第一区二区三区 | 香蕉免费看一区二区三区| 欧美日本在线一区二区三区| 最新精品91探花免费播放| 九九热在线免费视频| 欧美午夜精品一区二区三区| 国产伦子一区二区三区四区| 亚洲国产中文在线| 国产高清免费在线| 在线观看日韩精品| 亚洲欧美一区二区久久| 亚洲成人免费在线| 亚洲欧美日韩第一页| 久久伊人最新| 亚洲高清一区二区三区| 国产精品免费久久久久影院| 91福利国产在线观一区二区| 在线免费国产视频| 亚洲男人天堂网址| 亚洲欧美在线视频| 五月天婷婷网址| 婷婷亚洲国产成人精品性色| 91精品国产三级在线观看| 99久久久久国产精品免费| 日韩欧美亚洲国产精品字幕久久久| 欧美精品国产精品| 中文字幕亚洲国产| 亚洲无砖砖区免费| 5566中文字幕亚洲精品| 亚洲精品国产成人99久久| 日本精品一区| 天天色综合6| 国内精品91久久久久| 一区二区精品在线| 亚洲综合第一欧美日韩中文| 亚洲青草视频| 亚洲人成人毛片无遮挡| 九九热视频免费| 亚洲毛片免费观看| 久久综合视频网| 久久精品久久久久久久久人| 亚欧美综合| 日韩精品一区二区三区视频网| 亚洲国产乱| 亚洲免费资源| 国产成人亚洲综合欧美一部| 国产在线日本| 久久精品国产无限资源| 中文字幕一区婷婷久久| 欧美精品免费专区在线观看| 精品亚洲欧美中文字幕在线看| 精品国产一区二区三区香蕉事| 亚洲欧美一区在线| 国产高清在线免费| 国产全黄三级播放| 亚洲精品色图| 亚洲人成网国产最新在线| 亚洲精品成人| 久久毛片免费看一区二区三区| 亚洲欧洲国产综合| 国产精品黄在线观看观看| 欧美一区二区福利视频| 国产1区2区3区在线观看| 日韩精品一区二区三区四区| 欧美日韩亚洲综合在线一区二区| 亚洲视频免费在线观看| 久久精品69| 91亚洲福利| 精品国产一区二区三区久久久狼| 免费视频国产| 99在线国内精品自产拍| 国产精品综合视频| 久久亚洲欧美综合激情一区| 99久久综合狠狠综合久久男同| 亚洲男人在线天堂| 久久久久综合网| 亚洲一区二区观看| 亚洲一区二区三区四区在线| 福利视频一区二区三区| 色综合视频在线观看| 亚洲人成在线精品| 日韩欧美在线一区二区三区| 欧美黄a| 久久曰视频| 国产在线综合网| 欧美精品一区二区三区免费观看 | 精品在线99| 亚洲欧美日本韩国| 国产精品午夜国产小视频| 激情综合五月网| 国产精品无码久久综合网| 99国产精品免费观看视频| 中文字幕1区2区| 久久亚洲不卡一区二区| 欧美国产综合视频在线观看| 日本久久精品视频| 欧美日韩国产人成在线观看| 久久精品国产2020| 国产高清一区| 国产欧美日韩免费| 精品伊人久久大线蕉地址| 欧美精品第二页| 欧美福利第一页| 欧美日韩精品一区二区在线线| 综合网中文字幕| 午夜视频久久久久一区| 午夜精品免费| 91福利在线看| 97视频在线| 国产一区二区不卡精品网站| 亚洲一区二区综合18p| 九九精品在线| 免费a级毛片大学生免费观看| 色婷在线| 久久综合图片| 亚洲国产成人va在线观看| 久操综合| 日本精品久久久| 在线视频二区| 伊人精品综合| 中文字幕第一页在线播放| 久久99国产精品亚洲| 国产ts在线观看| 亚洲免费成人在线| 五月婷婷中文| 国产网站91| 日本一区二区三区免费在线观看| 国产精品福利在线观看免费不卡| 亚洲人成777| 成人a网站| 五月婷婷综合在线| 国产不卡在线蜜| 视频亚洲一区| 视频在线一区二区三区| 国产九色在线| 国产香蕉在线精彩视频 | 精品国产高清a毛片| 香蕉网站视频| 亚洲视频精品| 在线视频二| 91精品成人福利在线播放| 日韩一区二区三区在线播放| 亚州综人网| 欧美精品一区二区在线观看| 亚洲国产成人资源在线桃色| 精品成人免费播放国产片| 亚洲码和乱人伦中文一区| 精品国产午夜肉伦伦影院| 国产人成午夜免视频网站| 国产精品久久久精品视频| 亚洲午夜久久久久中文字幕| 成年人国产| 日韩高清在线不卡| 国产精品永久免费视频| 久久人精品| 久久成人福利视频| 噜噜噜噜精品视频在线观看| 亚洲综合色自拍一区| 国产欧美一区二区成人影院| 国产精品麻豆a在线播放| 亚洲国产成人久久笫一页| 综合久久综合| 日韩成人在线网站| 激情一区二区三区| 黄色片久久| 国产欧美日韩看片片在线人成| 国产精品公开免费视频| 日韩在线观看一区二区不卡视频| 国产成人三级| 四虎精品永久在线| 亚洲性久久久影院| 园内精品自拍视频在线播放| 99国产精品久久久久久久成人热| 国产亚洲一级精品久久| 亚洲二区在线播放| 欧美亚洲91| 日韩中文字幕一区二区不卡| 精品久久久久久久九九九精品| 欧美一区二区三区黄色| 亚洲三级天堂| 欧美成人免费观看久久| 99久久婷婷国产综合精品hsex| 婷婷综合亚洲| 亚洲丝袜一区二区| 97成人精品视频在线播放| 色综合久久综合网| 免费精品美女久久久久久久久久| 亚洲国产网| 99久久99久久久99精品齐| 91播放在线| 国产精品高清在线| 91中文在线| 欧美精品观看| 国产一区免费视频| 中文字幕国产一区| 国产精品欧美视频另类专区| 91网站在线免费观看| 亚洲社区在线观看| 久久成人综合| 色综合综合色| 日韩中文字幕精品免费一区| 成人久久久久久| 国产中文字幕视频在线观看| 亚洲经典在线| 亚洲欧洲无码一区二区三区| 婷婷色网站| 久久九九有精品国产23百花影院 | 国产精久久一区二区三区| 亚洲国产精品婷婷久久| 国产亚洲精品在天天在线麻豆| 欧美成年黄网站色视频| 日本不卡在线视频| 国产午夜精品片一区二区三区| 97在线亚洲| 色综合久久88色综合天天| 国产在线色站| 一区二区视频免费观看| 国产91精品一区二区视色| 亚洲国产日韩欧美综合久久| 久久精品久| 五月婷婷六月激情| 国产不卡在线播放| 91精品啪在线观看国产| 91在线日本| 国产精品国产三级国产| 婷婷色中文| 91久久精品国产免费一区| 亚洲日本一区二区三区在线| 国产成人www| 久久久国产精品网站| 天天操中文字幕| 国产56页| 久久国产经典视频| 国内精品久久久久久久久久影视| 亚洲婷婷综合| 免费中文字幕不卡视频| 久久99国产精品视频| 国产亚洲一区二区三区不卡| 亚洲国产精品久久丫| 国产精品人成| 日韩精品一区二区三区在线观看l| 久久国产网| a级全黄30分钟免费视频| 亚色在线视频| 婷婷亚洲五月| 成人久久影院| 欧洲精品一区二区| 欧美一区二区电影男人的天堂| 99ri在线精品视频在线播放| 国产在线91| 国产精品久久影院| 国产精品久久国产精麻豆99网站| 狠狠综合久久综合鬼色| 91精品91久久久| 欧美乱人伦中文字幕在线不卡| 国产成人青青热久免费精品| 国产精品一区二区三区四区| 欧美久久网| 黄色一级短视频| 91欧美国产| 天天综合网天天综合色 | 天堂成人一区二区三区| 国产精品福利在线观看免费不卡| 久草精品在线观看| 青青青国产依人精品视频| 色综合久久中文字幕综合网| 国产精品日韩专区| 亚洲人成毛片线播放| 精品国产夜色在线| 久热福利视频| 亚洲精品欧美精品日韩精品| 丁香伊人网| 久久午夜免费视频| 99精品国产美女福到在线不卡| 国产精品美女免费视频观看| 国产精品欧美视频另类专区| www.99热这里只有精品| 欧美一级va在线视频免费播放| 久久影院国产| 久久综合爱| 久久久久青草线蕉亚洲麻豆| 亚洲免费网| 成人久久18免费网| 97在线亚洲| 欧美精品亚洲精品日韩| 欧美福利一区| 国产精品久久久久久一级毛片| 日本高清不卡二区| 国产欧美一区二区成人影院| 亚洲精品国产日韩| 亚洲国产欧美久久香综合| 久久精品国产99久久3d动漫| 国产伦精品一区二区三区免费| 日韩国产综合| 亚洲国产成人精品女人久久久| 久久久综合视频| 亚洲综合日韩精品欧美综合区| 亚洲性一级理论片在线观看| 日韩大片免费观看视频播放| 欧美另类专区| 欧美精品一国产成人性影视 | 国产精品日本一区二区不卡视频 | 亚洲国产天堂久久综合图区| 国产精品18| 亚洲国产精品日韩在线| 欧美日韩国产不卡在线观看| 99精品免费在线观看| 色综合一区| 国产吧在线| 国产欧美va欧美va香蕉在| 日韩精品一区二区三区四区| 久久99精品久久久| 91孕妇精品一区二区三区| 国产一区视频在线免费观看| 久久综合九色| 久久香蕉影院| 日韩欧美国产中文| 一级毛片特级毛片国产| 91精品国产综合成人| 欧美亚洲精品在线| 国产日韩精品视频一区二区三区| 欧美亚洲一区二区三区导航| 久99久视频| 国产综合一区二区| 亚洲依依成人| 97视频免费在线观看| 国产一区二区高清视频| 国产福利一区在线| 中文字幕在线成人免费看| 久久久毛片免费全部播放| 亚洲国产最新在线一区二区| 日本高清www午夜视频| 蜜桃精品视频在线| 亚洲欧美日韩高清一区二区一| 97国产精品最新| 99热在这里只有免费精品| 在线观看欧美亚洲| 91久久免费视频| 中文字幕在线最新在线不卡| 国产欧美日韩成人| 日本一区二区在线| 亚洲另类色区欧美日韩| 国产视频第一页| 中文字幕日韩精品亚洲七区| 九九免费精品视频| 成人福利在线播放| 国产欧美精品区一区二区三区| 欧美精品亚洲精品| 久久中文字幕视频| 国产精品亚洲第一区二区三区| 免费一区二区三区免费视频| 狠狠综合久久| 亚洲品质自拍网站| 色偷偷亚洲| 久久精品麻豆| 国产在线观看免费一级| 亚洲三级一区| 亚洲区在线播放| 久久人人爽人人爽人人片va| 精品国产综合成人亚洲区| 色综合日韩| 亚洲高清国产拍精品影院| 视频一区二区在线观看| 激情综合色综合久久综合| 国产在线日韩| 欧美日韩视频一区二区三区 | 国产一区在线视频观看| 国产在线视频欧美亚综合| 欧美成人免费在线观看| 999精品视频| www.亚洲综合| 国产美女精品久久久久久久免费| 久久精品人人做人人看| 久久伊人中文字幕| 国产精品欧美日韩精品| 91精品啪在线观看国产日本| 99久久精品免费视| 成人精品人成网站| 欧美一级日韩| 国产一级精品视频| 久久精品国产精品亚洲精品| 欧美精品第一页| 91在线高清视频| 九九热国产| 久久精品vr中文字幕| 国产在线观看网站| 国产一级在线观看视频| 国产成人综合精品| 久久一区二区三区精品| 国产乱人视频在线观看播放器| 日韩精品亚洲人成在线观看| 国产情侣久久| 99久久综合| 色婷婷久久综合中文久久一本`| 日本a∨在线| 久久99热不卡精品免费观看| 九九热最新视频| 综合精品在线| 婷婷色亚洲| 国产精品亚洲欧美日韩一区在线 | 欧美综合自拍亚洲综合图| 日韩国产在线观看| 国产欧美成人| 亚洲欧美经典| 亚洲精品综合久久| 精品一区二区三区在线观看视频| 香蕉精品视频在线观看入口| 亚洲九九色| 狠狠色很很在鲁视频| 手机在线国产精品| 欧美一区二区三区不卡| 国产色综合网| 亚洲女人在线| 久久99久久99精品观看| 国产91小视频在线观看| 91免费国产精品| 久久的色偷偷| 日韩精品免费观看| 99riav国产精品| 亚洲人成s大片在线播放| 九九色视频| 九九视频免费在线| 91精品国产亚洲爽啪在线影院| 亚洲高清中文字幕综合网| 久久99热不卡精品免费观看| 国产人成亚洲第一网站在线播放 | 欧美成在线| 精品国产福利一区二区在线| www.狠狠操.com| 国产成人亚洲综合a∨婷婷| 国产一二精品| 亚洲欧美视频在线播放| 久久综合久久综合九色| 中文无码日韩欧| 国产激情视频在线播放| 日本精品久久久久久久| 国产不卡福利| 欧美日韩亚洲色图| 精品久久不卡| 国产精品香蕉一区二区三区| 欧美日韩中文亚洲另类春色| 曰批免费视频播放在线看片| 久久青青成人亚洲精品| 亚洲依依成人综合网站| 亚洲欧洲国产成人综合一本| 午夜免费成人| 国产成人高清视频| 欧美日本一本线在线观看| 成人精品网| 97中文字幕在线观看| 91福利一区二区三区| 亚洲第一视频在线播放| 99re在线观看视频| 精品久久久一二三区| 精品日韩在线观看| 色综合久久精品中文字幕| 久久91综合国产91久久精品| 91一区二区在线观看精品| 99久久99久久久精品齐齐鬼色| 激情五月激情综合色区| 手机看片精品高清国产日韩| 伊人资源| 永久黄网站色视频免费无限看直播| 午夜精品久久久久久久99热| 国产中文久久精品| 91亚洲国产| 亚洲精品另类| 亚洲小视频网站| 久久专区| 久久久久综合| 色www亚洲| 五月婷网| 成人精品一区二区三区中文字幕| 亚洲毛片免费视频| 日本免费在线一区| 91自产拍在线观看精品| 国产黄网| 亚洲福利视频一区| 午夜视频网站在线观看| 亚洲第一页在线视频| 国产乱理伦片a级在线观看| 国产综合视频在线观看| 欧美国产日韩久久久| 456亚洲视频| 五月综合久久| 国产精品二区高清在线| 国产区一二三四区2021| 久久麻豆精品| 青青草国产在线视频| 欧美日韩中文国产一区二区三区 | 欧美色图一区| 国产精品老女人视频免费观看| 99久久99久久久精品久久| 自拍偷拍国语对白| 亚洲国产欧美国产第一区二区三区| 欧美精品不卡| 久久久国产99久久国产首页| 久久国内精品| 欧美精品黄页免费高清在线| 91久久福利国产成人精品| 国产欧美日韩精品专区| 成人不卡视频| 狠狠色婷婷七月色综合| 婷婷爱五月| 视频福利一区| 国产精品短视频| 91欧美在线| 婷婷六月久久综合丁香76| 久久久精品电影| 99精品热| 五月婷婷中文| 男人天堂国产| 亚洲国产成人久久综合一区| 国产精品美女一级在线观看 | 国产尤物在线观看| 伊人网视频在线观看| 在线观看欧美国产| 久久国产精品亚洲综合| 久久蜜视频| 欧美在线视频一区| 四虎精品永久在线| 91福利一区二区三区| 精品久久久久久中文字幕| 亚洲天堂小视频| 亚洲毛片免费看| 五月亭亭激情五月| 国产精品福利在线观看免费不卡| 欧美激情综合网| 永久黄网站色视频免费直播| 国产日韩欧美911在线观看| 欧美精品久久| 九九九好热在线| 亚洲午夜精品久久久久久成年| 国产精品日韩欧美| 久久九九综合| 在线视频一区二区三区| 国产精品二区三区| 日本不卡一区在线| 久久99精品九九九久久婷婷| 亚洲啪啪网| 亚洲人成在线播放网站岛国| 视频一区欧美| 欧美日韩亚洲综合在线一区二区| 欧美网址在线观看| 亚洲国产网| 在线日韩国产| 国产每日更新| 91精品国产亚洲爽啪在线影院| 色综合久久久久久| 国产精品免费看久久久麻豆| 免费在线观看一区| 国内精品久久久久久99蜜桃| 国产久视频| 国产a精品三级| 国产一级二级三级视频| 国产三级精品91三级在专区| 日韩精品中文字幕久久| 国产精品精品国产一区二区| 亚洲人成网站色在线观看| 欧美专区在线视频| 精品久久久久久中文字幕女| 国产日韩一区| 视频久久精品| 国产在线精品国自产拍影院午夜| 国产精品成| 免费在线视频一区| 亚洲日韩第一页| 欧美成人一区二区三区不卡视频| 一区二区视频免费观看| 久久精品免看国产| 国产在线91精品天天更新| 蜜桃视频一区二区三区四区| 国产在线91精品| 久久免费高清| 欧美一区二区三区精品| 91在线视频网址| 国产一区二| 久久精品视频5| 精品国产一级毛片| 久久精品首页| 国产精品色内内在线播放| 天堂在线v| 国产精品俺来也在线观看了| 国产丝袜视频在线| 夜夜狠狠| 97精品伊人久久大香线蕉| 久久中文字幕免费| 天天伊人网| 亚洲成人网在线播放| 久久青青成人亚洲精品| 国产精品国产精品| 97视频在线| 国产在线美女| 色综合色综合久久综合频道| 日韩精品中文乱码在线观看| 久久99久久99精品免费看动漫| 手机看片久久高清国产日韩| 久久不卡精品| 999国产视频| 精品日韩一区二区三区| 久久99精品久久久久久清纯直播| 亚洲视频在线观看地址| 性做久久久久久久| 国产l精品国产亚洲区久久| 久久久久激情免费观看| 一区二区不卡在线| 日韩一区二区三区视频在线观看 | 97国产在线观看| 久久精品伊人网| 国产欧美网站| 青青在线精品| 免费国产一区| 中文字幕久久网| 国产精品第一页在线观看| 在线精品小视频| 亚洲综合在线观看一区www| 精品视频一区二区三区四区| 97成人免费视频| 欧美日韩国产在线观看| 成年人一级毛片| 日韩精品999| 欧美日韩亚洲另类专区| 日韩欧美不卡在线| 国产精品国产欧美综合一区| 欧美精品一区二区| 日韩一区二区三区中文字幕| 91精品视频在线| 成人精品区| 亚洲欧美精品中文字幕| 青青操国产在线| 99精品久久99久久久久| 国产成人精选免费视频| 久久精品免费电影| 欧美精品亚洲一区二区在线播放| 黄色一级毛片免费看| 国产丝袜网站| 国产精品福利网站| 国产夜色视频| 精品一区国产| 国产成人久久精品推最新| 亚洲国产欧美日韩精品一区二区三区 | 久热中文字幕| 亚洲国产另类久久久精品小说| 亚洲国产精品乱码一区二区三区| 在线观看网站人成亚洲小说| 亚洲视屏一区| 国产一区高清视频| 亚洲婷婷在线| 五月婷婷六月天| 日本亚洲高清乱码中文在线观看| 亚洲一区免费看| 在线观看亚洲| 亚洲国产成人久久三区| 九九99精品| 欧美成人伊人十综合色| 久久久久久久综合色一本| 亚洲欧美日本国产| 免费中文字幕不卡视频| 欧洲亚洲一区二区三区| 国产福利一区二区在线观看| 91精品专区| 亚洲视频综合| 尤物精品在线观看| 日韩一区精品| 成人国产精品一级毛片了| 天天综合色网| 在线观看国产三级| 热re99久久精品国产99热| 久久国产这里只有精品| 在线精品视频免费观看| 国产一级高清| 国产精欧美一区二区三区| 香蕉久久精品| 日韩亚洲欧美综合| 国产在线观看免费一级| 亚洲第一毛片| 久久99精品免费视频| 国产精品一区不卡| 91精品婷婷国产综合久久8| 日本精品久久久久中文字幕2| 日本在线视频二区| 九九久久久久午夜精选| 色婷婷综合欧美成人| 精品一久久| 成人国产精品免费视频不卡| 国产呦精品一区二区三区网站| 国产精品青草久久久久婷婷| 亚洲综合社区| 成人免费a视频| 天天躁夜夜躁狠狠躁| 日韩精品福利在线| 国产欧美在线| 中文亚洲欧美| 久久机热/这里只有精品1| 最新日本免费一区二区三区中文| 视频在线观看一区二区三区| 国产精品www视频免费看| 伊人久久青青草| 日韩亚洲国产激情在线观看| 久久成人国产精品| 综合久久久久久久综合网| 久久精品国产亚洲精品| 国产99热99| 欧美成a人免费观看久久| 热er99久久6国产精品免费| 亚洲国产另类精品| 日本不卡视频一区二区| 九九精品国产兔费观看久久 | 中文字幕亚洲激情| 中文字幕久久久久久久系列| 国产精品自在线| 国内精品久久久久久影院老狼| 国产不卡在线视频| 国产热re99久久6国产精品| 国产乱人免费视频| 国产日韩欧美亚洲精品95| 中文精品久久久久国产| 国产精品大片| 欧美亚洲第一区| 精品国产九九| 国产中文欧美| 午夜色婷婷| 日本一区二区视频在线观看| 国产欧美综合精品一区二区| 日韩久草视频| 成人区精品一区二区毛片不卡| 国内精品伊人久久久影视| 99免费精品视频| 国产成人亚洲综合一区| 欧美国产精品不卡在线观看| 国产主播福利一区二区| 久久这里只有精品免费看青草| 久久久久久久99精品免费观看| 中文字幕欧美亚洲| 波多野结衣中文字幕一区二区| 中文字幕在线观看国产| 亚洲色图综合图片| 国产精品高清在线观看| 一区二区三区不卡在线观看| 久久久久久91精品色婷婷| 久久狠狠躁免费观看| 国产精品日日爱| 99在线免费观看视频| 亚洲日本在线免费观看| 久久99热不卡精品免费观看| 亚洲精品午夜久久久久久app| 日韩精品国产精品| 99热这里只有精品3| 国产最新网站| 无码一区二区三区视频| 国产91小视频| 欧美日韩在线高清| 永久网站色视频在线观看免费| 国产视频二区| 国产免费高清在线精品一区| 在线不卡一区| 成人欧美精品大91在线| 亚洲一级在线| 国产精品爱啪在线线免费观看| 欧美亚洲国产精品久久高清| 国产亚洲精品自在线观看| 国产私拍在线| 色天天综合网色鬼综合| 在线国产91| 国产亚洲精品网站| 99久久国产视频| 久久久精品免费| 国产精品第一页爽爽影院| 精品伊人久久| 国产成人亚洲午夜电影| 精品国产福利第一区二区三区| 日韩中文字幕网| 亚洲精品在线播放视频| 精品全国在线一区二区| 色婷婷综合久久久| 99热这里都是精品| 狠狠色丁香婷婷综合久久来| 亚洲一区二区免费| 国产91页| 福利视频99| 亚洲精品成人av在线| 在线观看一区二区精品视频| 91午夜精品亚洲一区二区三区| 日本三区视频| 奇米777视频二区中文字幕| 国产中文字幕在线观看视频| 久久国产亚洲精品| 在线观看国产一区亚洲bd| 亚洲一级片免费看| 91精品视频免费在线观看| 在线观看中文字幕一区| 欧美国产中文字幕| 91国内精品| 麻豆91av| 国产精品久久国产精麻豆99网站| 在线视频免费国产成人| 日韩欧美一区二区三区视频| 国产人成精品综合欧美成人| 亚洲成人免费| 成人在线亚洲| 国产精品亚洲欧美| 精品a在线观看| 热久久国产欧美一区二区精品| 国产精品日本| 国产亚洲女人久久久久久 | 欧美午夜在线视频| 99热在线观看| 精品视频一区二区三三区四区| 久久成人福利视频| 国产综合色香蕉精品五月婷| 久久久亚洲国产精品主播| 香蕉久久高清国产精品免费 | 91精品国产欧美一区二区| 色综合天| 国产精品自产拍在线观看| 青青国产在线观看| 亚洲婷婷在线| 日本激情一区二区三区 | 视频精品一区二区三区| 天堂成人一区二区三区| 精品国产999| 欧美成亚洲| 久一在线视频| 久久精品欧美一区二区| 欧美日韩加勒比一区二区三区| 亚洲国产欧美一区二区三区...| 精品国产区一区二区三区在线观看| 日韩欧美一区二区三区在线播放 | 日韩欧美不卡一区二区三区| 精品国产91久久久久| 九九热视频免费观看| 麻豆国产精品免费视频| 亚洲综合在线观看视频| 国产精品第2页| 亚洲国产欧美另类va在线观看| 久久99精品久久久久久| 99视频有精品| 五月婷婷综合在线视频| 五月婷婷六月丁香激情| 91在线看片| 精品国产一区二区三区久久影院| 国产精品大片| 天天躁日日躁狠狠躁综合| 男人天堂亚洲| 亚洲欧洲一区二区三区| 亚洲精品在线网址| 日韩a级在线| 国产日韩第一页| 久热国产在线视频| 欧美日韩不卡中文字幕在线| 中文字幕综合在线| 久久精品操| 亚洲欧美一区二区三区图片 | 九九九热精品| 成人精品一区二区激情| 日韩欧免费一区二区三区| 国产青草视频免费观看97| 欧美一区二区免费| 精品一久久香蕉国产线看观看下| 国产免费人视频在线观看免费| 亚洲国产品综合人成综合网站| 久草最新| 精品乱久久| 日本欧美亚洲| 国产永久免费爽视频在线| 精品视频二区| 国产永久在线观看| 日韩不卡一二三区| 亚洲天堂中文字幕在线观看| 99国产国人青青视频在线观看| 在线视频91| 亚洲视频在线网站| 免费观看一区二区| 亚洲一区二区久久| 天天综合网天天综合色| 日韩精品一区二区三区在线观看l| 久草国产精品| 亚洲视频中文字幕| 另类在线视频| 亚洲精品成人网| 香蕉久久久久久狠狠色| 91一区二区视频| 中文字幕一区二区三区在线观看| 毛片免费视频| 成人精品一区久久久久| 国产高清一区二区| 精品久久免费视频| 久久亚洲视频| 亚洲欧洲日本国产| 国产激情视频在线观看| 欧美日韩免费播放一区二区| 国产精品一区二区久久精品| 福利一区二区在线| 亚洲精品自拍区在线观看| 久久亚洲精品中文字幕| 久久久久毛片成人精品| 国产精品一区二区不卡| 日韩成人在线观看| 99久久国语露脸精品国产| 国产成人综合久久综合| 久久字幕| 日韩第一页在线| 欧美精品亚洲精品日韩专区| 亚洲欧美国产日产综合不卡| 九色国产| 亚洲毛片网| 青青草国产精品久久| 五月婷婷激情五月| 亚洲激情自拍偷拍| 久久精品中文字幕不卡一二区| 欧美中文字幕一二三四区| 国产三级在线观看视频| 日韩亚洲国产欧美精品| 久久视精品| 91亚洲精品福利在线播放| 精品久久久久久久久免费影院 | 日韩欧美精品中文字幕| 九九热这里只有精品6| 欧美精品亚洲精品日韩专| 婷婷精品在线| 国内一区二区三区精品视频| 韩国一区二区视频| 一区二区自拍| 日韩第一页在线| 亚洲免费久久| 综合久久精品| 亚洲精品伊人| 国产三级精品视频| 99久久精品一区二区三区| 五月激情综合网| 91欧美精品综合在线观看| 日韩欧美高清色码| 综合色在线| 国产中文在线视频| 玖玖精品在线| 欧美精品九九99久久在观看 | 97在线资源站| 日韩欧美久久一区二区| 中文字幕日韩高清| 99re这里只有精品6| 国产专区日韩精品欧美色| 色吧五月婷婷| 久久久最新精品| 欧美日韩视频在线一区二区| 久久久无码精品亚洲日韩按摩| 国产97视频在线观看| 欧洲亚洲一区二区三区| 99j久久精品久久久久久| 高清性色生活片久久久| 亚洲成人免费看| 99久久精品免费观看区一| 日韩一区二区三区中文字幕| 精品九九视频| 男人懂得成a人v网站| 91av在线免费视频| 日本黄页网站免费| 97精品在线视频| 无码中文字幕乱码一区| 久久免费播放视频| 韩国一区二区视频| 青青伊人久久| 狠狠色婷婷丁香综合久久韩国| 91视频一区| 亚洲国产福利精品一区二区| 久久精品国产精品青草色艺| 亚洲不卡av不卡一区二区| 91精品国产高清91久久久久久| 日本精品1在线区| 久久久久久麻豆| 国产精品久久国产精品99| 欧美日韩电影一区| 国产精品96久久久久久久| 99在线精品日韩一区免费国产| 99精品久久久久久久婷婷| 亚洲欧美一区二区三区久久| 久热这里只精品99re8久| 国产精品成人va| 精品中文字幕不卡在线视频| 国产精品久久久久不卡绿巨人| 亚洲成a人片在线观看中文app| 在线免费视频一区二区| 国产日韩在线| 99久久久久国产| 国产在线观看精品香蕉v区| 亚洲人成黄网在线观看| 亚洲国产成+人+综合| 欧美在线观看一区二区三区| 国产精亚洲视频| 色综合精品久久久久久久| 国产成人综合洲欧美在线| 91精品视品在线播放| 亚洲七七久久综合桃花| 国产成人精品久久亚洲高清不卡| 中文无码日韩欧| 亚洲一区二区三区精品视频| 亚洲一区二区综合| 亚洲综合一区二区三区| 午夜精品久久久久蜜桃| 日韩欧美网站| 欧美精品黄页在线观看大全| 日韩精品一区二区三区大桥未久| 亚洲网站大全| 国产青青久久| 国产99视频精品免视看7| 国产精品毛片va一区二区三区| 国产成人精品日本亚洲专一区| 亚洲欧美视频在线播放| 久久国产精品久久久久久| 91福利在线视频| 久久久免费视频观看| 伊人久久99| 国产第一页在线观看| 99这里只有精品视频| 精品国产福利在线观看网址2022| 99视频有精品| 亚洲日韩精品欧美一区二区| 亚洲欧美日韩高清一区二区一| 亚洲专区在线播放| 国产免费a级片| 久久激情五月| 福利在线看片| 久久免费播放| 欧美精品亚洲精品日韩经典| 国产精品女同久久免费观看| 亚洲性天堂| 国产综合在线观看视频| 亚洲精品91香蕉综合区| 久久不卡视频| 欧美亚洲中日韩中文字幕在线| 欧美成人午夜不卡在线视频| 在线看片亚洲| 亚洲愉拍一区二区精品| 91久久精品国产91性色tv| 波多结衣一区二区三区| 国产高清在线精品一区a| 久久综合成人网| 国产成人精品777| 91国内精品线免费播放| 91精品视频网站| 亚洲精品欧美精品日韩精品| 99热精品在线免费观看| 国产一区二区精品久久| 国产精品天干天干在线综合| 精品国产高清自在线一区二区三区| 亚洲影视一区| 日韩精品视频网站| 精品久久免费视频| 欧美精品区| 日韩精品欧美高清区| 欧美韩国日本在线| 精品福利视频一区二区三区| 在线综合+亚洲+欧美中文字幕| 亚洲国产精品不卡毛片a在线| 99色视频在线观看| 97在线国产视频| 国产乱子伦一区二区三区| 国产精品高清一区二区三区| 久久成人小视频| 亚洲欧美综合一区| 亚洲毛片网| 日日夜夜免费精品| 久久综合色综合| 色综合久久天天综合绕观看| 日本精品视频在线| 91大片淫黄大片在线天堂| 欧美日韩国产一区二区三区欧| 亚洲国产精品久久久久666| 亚洲精品h| 欧美日韩国产高清| 99久久精品国产国产毛片| 国产99欧美精品久久精品久久| 国产成人免费福利网站| 国内精品久久久久久久久| 久久福利一区二区| 91精品国产91久久| 亚洲欧美日韩一区| 国产免费午夜高清| 亚洲一区二区三区四区视频| 久久国产精品久久| 91福利专区| 国产成人亚洲综合| 欧美一区二区三区在线观看不卡| 亚洲成人中文| 九九51精品国产免费看| 国产一区二区在线不卡| 久一在线| 久久狠狠色狠狠色综合| 日本不卡视频一区二区| 国产精品国产三级国产专业不| 91精品视频观看| 久久久久久免费观看| 日韩欧美一二区| 99婷婷久久精品国产一区二区| 久久精品www| 国产精品伦视频观看免费| 99国产精品久久| 亚州视频一区二区| 亚洲精品亚洲人成人网| 日韩欧美一区二区三区不卡在线| 久久国产精品系列| 91福利国产在线在线播放| 久久免费播放| 日韩在线视频不卡| 国产精品二区三区| 久久乐国产精品亚洲综合18| 久久96国产精品久久久| 亚洲欧美日韩国产综合在线播放| 91精品国产品国语在线不卡| 久久r这里只有精品| 中文字幕久久久久久精| 日本精品一区二区三区视频| 自拍亚洲一区| 婷婷综合在线| 亚洲乱码一区| 亚洲欧美在线精品| 四虎永久网站| 午夜精品福利在线导航小视频| 怡红院分站| 九九久久国产精品大片| 亚洲欧洲在线播放| 久久精品国产72国产精福利| 色综合久久综合网观看| 亚洲综合色色图| 欧美在线综合| 天天色综合色| 视频国产一区| 日韩精品一区二区三区中文字幕| 国产精品v欧美精品v日本精| 亚洲欧美日韩国产综合| 中文字幕在线不卡精品视频99| 欧美精品高| 亚洲精品视频在线观看免费| 日韩在线二区全免费 | 欧美日韩国产在线人成| 亚洲免费a| 四虎精品国产一区二区三区| 亚洲精品午夜国产va久久| 亚洲欧美一区二区三区在线观看| 国产综合精品日本亚洲777| 国产成人精品cao在线| 国产大片一区| 成人免费a视频| 精品在线一区二区| 国产一区中文字幕| 国产在线一91区免费国产91| 亚洲欧美在线精品| 91久久精品国产免费一区| 国产九九热| 久久无码av三级| 亚洲成片观看四虎永久| 亚洲天堂视频网站| 欧美精品一区二区三区视频| 精品久久久久久久九九九精品| 久久精品国产99久久无毒不卡| 在线观看网站国产| 99久久精品国语对白| 亚洲国产精品综合久久一线| 99国产情在线视频| 四虎在线看| 欧美另类精品| 亚洲不卡视频| 欧美大色网| 一区二区三区视频在线播放| 国产成人亚洲午夜电影| 国产成人悠悠影院| 九九精品视频一区二区三区| 国产香蕉国产精品偷在线观看 | 久久国产综合| 精品综合网| 中文字幕一区精品欧美| 日本亚洲一区二区三区| 激情一区二区三区| 国产真实伦在线观看 | 亚洲成人在线免费观看| 日韩欧美手机在线| 国产精品视频久久久| 免费在线观看一区| 日韩欧美精品综合久久| 久久精品欧美一区二区| 亚洲欧美日韩高清在线电影| 国语高清精品一区二区三区| 国产欧美亚洲精品| 色婷婷一区二区三区四区成人网| 国产区视频在线观看| 国产日韩欧美中文字幕| 国产成人亚综合91精品首页| 久久综合九色综合网站| 久久精品三级| 中文字幕久精品免费视频| 91精品免费视频| 欧美一级视频免费看| 伊人精品在线视频| 久久99久久99精品观看| 国产一区二区高清视频| 国产精品电影一区二区三区| 亚洲人成中文字幕在线观看| 色婷婷中文字幕| 黄网免费在线观看| 国产精品久久久久亚洲| 激情五月激情综合色区| 欧洲一区| 99精品在线| 国产精品麻豆入口| 一区二区不卡在线观看| 国产精品免费大片| 99精品欧美一区二区三区| 在线视频观看一区| 色偷偷亚洲综合网亚洲| 91秒拍国产福利一区| 成人欧美一区二区三区视频| 巨臀中文字幕一区二区视频| 国产亚洲一区二区在线观看| 久久久久久久综合狠狠综合| 婷婷在线综合| 91精品国产亚洲爽啪在线影院| 国产va视频| 国产69精品久久久久999| 国产高清在线免费| 伊人免费视频网| 日韩欧美一区二区不卡| 久久久精品电影| 99国产在线播放| 国产日韩网站| 久久久中文| 久久精品国产一区| 国内精品久久久久久久久久影视| 中文字幕亚洲综合久久2| 久久久香蕉| 久久综合色播| 久久91亚洲精品中文字幕奶水| 欧美日韩一区二区在线视频播放| 日韩精品在线一区| 亚洲大片免费观看| 青青草国产精品人人爱99| 99ri在线| 欧美日韩视频一区三区二区| 亚洲精品美女久久久| 最新国产中文字幕| 91在线永久| 国产欧美精品一区二区色综合| 亚洲国产激情一区二区三区| 97国产精品欧美一区二区三区| 久草青青在线| 亚洲高清综合| 日韩国产精品99久久久久久 | 久久国产一级毛片一区二区| 国产日韩精品欧美一区色| 日韩欧美中文字幕出| 久久久久国产免费| 亚洲精品一| 毛片在线看免费| 久久综合免费| 久久伊人中文字幕| 九九精品免费| 99精品久久久久久久| 久久免费精品国产72精品剧情| 久草视频国产| 中文字幕在线精品视频入口一区| 99精品热视频| 99久久精品国产国产毛片| 久久99国产综合色| 狠狠色狠狠色综合伊人| 99久久亚洲综合精品网站| 国产成人综合在线观看网站| 欧美日韩视频一区二区| 99国内精品久久久久久久| 久久99免费视频| 久久综合精品国产一区二区三区无| 永久国产| 色综合色狠狠天天久久婷婷基地| 国产一区二区视频在线| 99热国产免费| 在线网址你懂的| 国产91在线看| 综合色久| 国产亚洲一区二区三区啪| 欧美久久一区二区三区 | 成年男女免费视频| 99精品欧美| 久久精品www| 97桃色| 91精品成人国产app下载| 国产va免费精品观看精品| 亚洲国产婷婷综合在线精品| 国产精品国色综合久久| 99精品日韩| 欧美日韩中文字幕免费不卡| 国产欧美精品| 精品国产香蕉伊思人在线| 亚洲高清一区二区三区四区| 欧美精品亚洲网站| 国产ts在线观看| 99国产精品久久久久久久成人热 | 亚洲国产日韩在线精品频道| 91av视频在线观看| 亚洲日韩欧美视频| 亚洲精品乱码久久久久| 亚洲系列在线| 亚洲一区三区| 精品国产电影网久久久久婷婷| 成人久久精品| 亚洲激情一区| 在线观看日本一区| 在线精品视频免费观看| 亚洲欧美日韩高清专区一区| 国产青草视频| 国产精品一区久久| 99re九精品视频在线视频| 色综合色综合色综合色综合| 国产综合色在线视频| 中文字幕亚洲综合| 91精品视品在线播放| 精品久久精品久久| 国产精品一区二区四区| 免费在线观看一区| 久久不卡视频| 久久亚洲欧美| 国产精品亚洲综合第一区| 国产有码视频| 国产亚洲一区在线| 99视频国产热精品视频| 亚洲欧美日韩国产专区一区| 久久香蕉国产线看观看99| 免费国产成人手机在线观看| 久久激情免费视频| 怡红院分站| 午夜国产| 视频国产一区| 自拍视频一区二区| 国产精品亚洲综合天堂夜夜| 天天综合亚洲国产色| 国产精品偷伦视频免费观看了| 久久精品伦理| 国内自拍成人网在线视频| 99视频一区| 久久免费播放| 九九热精品免费观看| 国产欧美第一页| 中文字幕亚洲高清综合| 日韩一区精品视频在线看| 亚洲福利视频一区| 亚洲日本精品| 久久婷婷电影网| 亚洲a视频在线| 99精品国产三级在线观看 | 亚洲黄a| 精品伊人久久| 青草视频在线观看国产| 久久精品中文字幕久久| 久久香蕉国产线看观看精品蕉| 亚洲国产最新在线一区二区| 91区国产| 亚洲第一页中文字幕| 国产原创麻豆| 久久婷婷伊人| 国产欧美一区二区精品久久久| 天堂va在线高清一区| 亚洲三级久久| 亚洲精品视频在线播放| 精品伊人久久大香线蕉网站| 久久精品视频大全| 亚洲国产精品久久丫| 视频一区国产精品| 亚洲二区在线播放| 韩国精品一区二区久久| 国产欧美另类第一页| 国产精品入口在线看麻豆| 国产成人精品日本亚洲直接| 亚洲丁香色婷婷综合欲色啪| 日本精品视频一区| 国产欧美自拍视频| 青青青国产依人精品视频| 一本一道久久a久久精品综合| 国产视频一区二区在线播放| 色狠狠成人综合网| 国产精品99爱免费视频| 91精品一区二区三区在线| 96av在线视频| 伊人精品影院| 国产午夜精品一区二区不卡| 成人国产精品免费网站| 91福利视频免费| 久久蜜视频| 精品国产欧美一区二区最新| 成人精品在线| 一区二区在线视频观看| 国产午夜亚洲精品不卡| 99精品亚洲| 日本不卡影院| 欧美激情一区二区三区| 色综合免费视频| 国产精品三级在线观看| 中文字幕色在线| 亚洲精品欧美综合四区| 亚洲一二三四区| 国产成人亚洲日本精品| 国产亚洲精品网站| 成人久久网站| jvid在线精品观看| 波多野结衣国产一区| 亚洲国产夜色在线观看| 亚洲一级香蕉视频| 天天色天天综合| 伊人网免费视频| 在线观看国产高清免费不卡黄| 国产精品一区不卡| 青草精品在线| 伊人不卡| 久久青草影院| 热久久免费| 97超级碰碰碰碰精品| 国产不卡a| 亚洲欧美一区二区三区图片| 欧美一区二区三区视频在线| 国产成人在线播放| 亚洲自拍中文| 91中文字幕| 日本不卡va| 91成人在线播放| 国产伦精品一区三区视频| 亚洲国产高清一区二区三区| 欧美精品区| 国产亚洲精品hd网站| 伊人色综| 亚洲福利一区| 欧美极品一区| 在线观看亚洲免费视频| 国内精品视频成人一区二区| 99国产精品农村一级毛片| 91中文字字幕乱码| 在线播放69热精品视频| 日韩欧美精品一区二区| 亚洲国产另类久久久精品小说| 2020国产免费久久精品99| 亚洲欧美在线免费观看| 中文精品视频一区二区在线观看| 91国自产精品中文字幕亚洲| 久久99久久99精品免观看| 91精品视频在线| 在线中文字幕日韩欧美| 久色福利| 亚洲不卡视频| 在线观看视频91| 九九99香蕉在线视频网站| 亚洲精品不卡午夜精品| 91精品国产91久久久久久青草| 日韩精品久久久毛片一区二区| 久久精品视频8| 久久亚洲日本不卡一区二区| 日韩精品成人在线| 国产精品电影在线观看| 日本国产在线观看| 久国产精品视频| 欧美成人精品不卡视频在线观看| 亚洲精品一二三| 日本中文字幕不卡| 色婷婷资源网| 国产视频一二| 欧美日韩三| 亚洲国产天堂| 亚洲性久久| 亚洲欧美视频在线| 国产精品久久久亚洲| 另类专区欧美制服| 国产精品不卡在线观看| 色婷婷5月精品久久久久| 久久www免费人成看国产片| 久久精品中文字幕| 欧美日韩人成在线观看| 亚洲精品乱码久久久久久蜜桃欧美| 国产91在线|中文| 伊人久久免费| 国产成人尤物精品一区| 亚洲精品视频在线观看视频| 国产欧美日韩精品第三区| 自拍一区在线| 97成人在线| 天堂va在线高清一区| 国产精品久久久久a影院| 欧美精品破过程| 欧美色欧美亚洲另类二区| 亚洲精品麻豆| 亚洲综合91社区精品福利| 一本一道久久a久久精品综合| 国产精品久久久久jk制服| 国产精品久久久久久久久岛| 久久精品久久久久久久久人| 久久精品国产日本波多野结夜| 99热这里只有成人精品国产| 日韩在线二区全免费 | 久久亚洲日本不卡一区二区| 亚洲国产第一区二区香蕉日日| 精品久久久久久久一区二区手机版| 国产黄色在线观看| 日韩极品视频| 日本久久网| 国产色综合久久无码有码| 亚洲精品伊人| 日韩亚洲欧美综合| 亚洲成a人一区二区三区 | 亚洲欧美日韩国产专区一区| 波多野结衣国产一区二区三区| 国产一区成人| 在线播放一区二区三区| 日韩欧美一区二区三区不卡视频| 99久久国产综合精品国| 日韩小视频网站| 国语对白一区二区三区| 亚洲国产人成在线观看| 亚洲国产欧美在线人成精品一区二区| 九月激情网| 亚洲精品高清视频| 欧美久久精品一级c片片| 97中文字幕在线观看| 国产va免费精品观看| 福利在线看片| 五月婷婷之综合激情| 五月激情婷婷综合| 国产伦精品一区二区三区免费| 中文字幕第一页在线播放| 精品哟哟哟国产在线不卡| 欧美亚洲第一区| 国产日韩欧美综合在线| 亚洲狠狠婷婷综合久久久久网站| 精品女同一区二区三区在线| 精精国产www视频在线观看免费| 男人天堂亚洲天堂| 午夜视频免费| 欧美精品免费在线| 亚洲视频在线免费播放| 精品国产麻豆免费人成网站| 亚洲九九色| 日本不卡视频在线视频观看 | 亚洲国产ckplayer在线观看| 久久亚洲精品国产精品婷婷| 国产综合福利| 精品国产成a人在线观看| 日韩极品视频| 日韩欧美不卡视频| 久久久综合网| 97se亚洲国产综合自在线观看| 日韩欧美在线播放| 日韩国产免费| 91孕妇精品一区二区三区| 国产成人h在线视频| 日韩在线观看精品| 中文字幕不卡免费高清视频| 欧美在线一区二区三区| 国产成人精品一区二区免费| 国产成人无精品久久久| 国产午夜偷精品偷伦| 久久亚洲精品中文字幕三区| 国产精品视频第一区二区| 福利视频99| 欧美激情第一区| 国产视频久久久| 国产午夜影院| 国产在线精品一区二区高清不卡| 国产不卡网| 激情视频综合网| 欧美激情二区| 日本免费a视频| 国产毛片在线看| 91普通话国产对白在线| 成人不卡| 国产调教视频| 五月婷婷网站| 国产91在线播放边| 久久一区二区三区免费| 四虎影院永久在线| 亚洲成人免费观看| 亚洲欧洲日韩国产一区二区三区| 久久久久久久岛国免费播放| 亚洲国产一区在线观看| 亚洲精品午夜国产va久久| 久久字幕| 国产欧美日韩综合精品二区| 视频二区国产| 99这里精品| 亚洲一区中文字幕久久| 99久久精品费精品国产一区二区| 久久精品人人做人人综合试看| 99热中文| 国产欧美一区二区三区视频在线观看 | 精品国产高清久久久久久小说| 91进入蜜桃臀在线播放| 国产真实一区二区三区| 亚洲欧美日韩中另类在线| 成人二区| 国产精品一区在线播放| 国产欧美精品国产国产专区| 久久一区二区三区精品| 久久久国产精品福利免费| 久久人精品| 亚洲欧美成人在线| 国产一区免费视频| 国产成人啪一区二区| 国产在线a| 久久成人精品免费播放| 国产一区日韩二区欧美三区| 日本青青草视频| 亚洲精品国产极品美女mm131| 国产在线自在拍91精品黑人| 日韩精品一区二区三区视频| 国产一级高清| 亚洲一区www| 久久国产亚洲精品| 亚洲综合小视频| 亚洲三级一区| 香蕉久久久| 久久国产自偷自免费一区100| 日本欧美不卡一区二区三区在线| 一区在线免费观看| 欧美一区2区三区4区公司二百| 日韩久久中文字幕| 青青青在线视频国产| 日韩在线专区| 色综合a怡红院怡红院首页 | 91精品国产免费久久久久久青草| 欧美日韩国产另类一区二区三区 | 丁香久久婷婷| 国产精品视频一区二区噜噜| 日本一区二区不卡久久入口 | 亚洲日本一区二区三区在线不卡| 国产免费色视频| 91免费国产高清观看| 色婷婷综合在线视频最新| 欧美日韩中文国产一区二区三区 | 91成人免费| 亚洲一级片免费看| 国产精品国产三级在线专区| 国产亚洲欧美久久精品| 99久久精品免费看国产免费软件| 国产在线观看免费| 国产成人91高清精品免费| 91精品国产欧美一区二区| 五月激情婷婷综合| 亚洲国产色图| 91福利在线视频| 在线免费国产| 国内精品久久精品| 丝袜国产一区| 91色老久久精品偷偷蜜臀| 欧美成在线视频| 日本三级一区二区三区| 精品久久久久久国产免费了| 亚洲经典在线中文字幕| 九月婷婷亚洲综合在线| www.精品| www精品视频| 国产色婷婷免费视频| 91视频亚洲| 欧美久草视频| 久久夜色精品国产亚洲噜噜| 成人免费一区二区三区在线观看| 中文字幕一区二区三区久久网站| 制服丝袜日韩中文字幕在线| 日韩免费高清| 午夜精品久久久久久久| 国产精品欧美日韩视频一区| 久久这里只精品国产99热| 免费视频91| 亚洲经典在线观看| 亚欧洲精品在线视频免费观看| 亚洲欧美精品中字久久99| 国产综合一区| 国产精品亚洲综合| 五月天婷婷综合网| 欧美一级免费电影| 色婷婷精品| 在线亚洲天堂| 国产原创麻豆| 亚洲天堂美女视频| 久久99国产视频| 一级爱做片免费观看久久| 久久久香蕉| 欧美综合天天夜夜久久| 精品亚洲欧美中文字幕在线看| 亚洲男人的天堂2019| 一区毛片| 欧美日韩国产另类一区二区三区| 911精品国产91久久久久| 91成人爽a毛片一区二区| 色婷婷亚洲综合| 狠狠色丁香婷婷综合激情| 91精品国产综合久久青草| 国产精品视频一区二区噜噜| 色一区二区| 综合色网站| 免费人成视网站在线观看不卡| 久久综合久| 国产日产精品久久久久快鸭| 国产一区二区三区在线观看精品| 高清一区二区三区视频| 综合99| 91在线亚洲综合在线| 日本a级精品一区二区三区| 亚洲一区中文字幕在线观看| 国产一区亚洲| 91亚洲福利| 在线观看视频一区| 亚洲七七久久综合桃花| 欧美日韩国产另类一区二区三区 | 久久一精品| 91麻豆国产香蕉久久精品| 久久青草精品免费资源站| 亚洲一区精品伊人久久| 在线国产视频一区| 国产成人啪精品午夜在线播放| 91麻豆最新在线人成免费观看| 91精品国产91久久久久久最新| 国产精品高清一区二区三区不卡| 国产精品久久久久电影| 午夜久久久| 亚洲国产精品久久久久666| 热久久只有精品| 久久一区二区精品综合| 欧美丝袜一区| 亚洲香蕉网综合久久| 亚洲国产日韩欧美在线| 国产成人久久综合热| 99热一区| 亚洲精品天堂| 国产伦一区二区三区高清| 日韩在线观看精品| 在线视频一区二区三区| 日本精品视频一区二区三区| 国产高清在线视频| 天堂成人一区二区三区| 99精品国产三级在线观看| 一区二区不卡视频在线观看| 国产精品福利在线观看免费不卡| 欧洲免费在线视频| 性做久久久久久| 99国产福利| 国产日产久久高清欧美一区| 国产成人亚洲综合91精品555| 久久丝袜| 欧美精品一区二区三区免费播放 | 日韩精品中文字幕在线| 国产专区一区| 久久精品亚洲综合一品| 精品久久久久久久久免费影院| 国产精品久久久久…| 九九热国产精品视频| 91精品啪在线观看国产线免费| 亚洲综合色婷婷中文字幕| 久久99国产视频| 欧美日韩在线成人看片a| 麻豆国产一区| 国产精品久久久久9999| 色婷婷香蕉| 亚洲日本精品| 亚洲天堂久久精品成人| 亚洲欧美日韩专区| 免费高清国产| 亚洲天堂久久精品成人| 午夜香蕉成视频人网站高清版| 97综合色| 国产成人精品亚洲一区| 亚州精品永久观看视频| 久久久青草青青国产亚洲免观| 国产精品免费一区二区三区| 国产成人短视频在线观看免费| 亚洲精品性夜夜夜| 亚洲综合伦理一区| 日韩在线无| 亚洲自偷精品视频自拍| 一区二区日韩欧美| 色综合久久91| 97精品国产高清自在线看超| 午夜欧美日韩| 久久精品国产亚洲麻豆| 九九精品99久久久香蕉| 亚洲三级网址| 色偷偷亚洲综合网亚洲| 亚洲精品天堂在线| 日韩免费一区二区| 欧美日韩中文字幕| 一区精品视频| 91精品国产综合久久| 91久久国产精品| 亚洲午夜久久久久中文字幕久| 久久久久久麻豆| 91色老久久精品偷偷蜜臀| 亚洲欧美综合在线观看| 亚洲国产成人综合| 久久99国产亚洲精品| 久久免费视频观看| 国产亚洲精品美女久久久久| 91免费观看视频| 欧美不卡二区| 久久综合九色综合8888| 精品国产午夜久久久久九九| 国产一区二区不卡视频| 99视频在线免费看| 五月婷婷六月丁香综合| 尤物国产精品| 欧美aa在线观看| 国产精品美女免费视频观看| 国产成人综合精品| 天堂俺去俺来也www久久婷婷| 久久99青青久久99久久| 欧美激情一区二区三区视频| 国产黄色在线播放| 久久永久免费中文字幕| 亚洲性激情| 亚洲成网站| wwwxx在线观看| 综合久| 国产日韩一区二区三区| 久久精品国语| 日本高清一区二区三区水蜜桃| 色中色欧美| 在线99视频| 日本不卡视频在线视频观看 | 影音先锋三级国产精品电影| 欧美一级精品| 97综合久久| 国产三区视频| 91中文字幕| 视频精品一区| 国产免费一区二区在线看| 伊人婷婷色| 国产日韩欧美视频| 性欧美video视频另类| 久久综合中文字幕一区二区三区| 精品999久久久久久中文字幕 | 亚洲三级国产| 亚洲欧美日韩综合在线播放| 久久国产美女免费观看精品| 国产精品九九九久久九九| 中文字幕成人在线| 国内精品91久久久久| 国产激情一级毛片久久久| 久久久久精彩视频| 亚洲一区二区三区在线观看蜜桃| 亚洲成人网在线观看| 久久久中文| 久久精品国内偷自一区| 欧美乱码视频| 黄色一级短视频| 国产精品视频成人| 福利一区二区三区视频午夜观看| 国产精品日韩精品| 怡春院一区二区| 91视频一88av| 亚洲精品美女久久久| 麻豆国内精品久久久久久| 国产欧美在线观看精品一区二区| 久久久久久久99精品免费观看| 亚洲高清国产一区二区三区| 色偷偷亚洲综合网亚洲| 成人毛片免费观看| 99久久国产综合精品成人影院| 亚洲欧美日韩一级特黄在线| 日本a在线观看| 久久精品久| 国产免费久久精品99| 欧美视频久久久| 久久久精品2019中文字幕2020| 久久久国产精品免费看| 伊人国产在线观看| 综合色视频| 四虎永久在线| 午夜香蕉成视频人网站高清版| 欧美在线导航| 欧美精品久久久亚洲| 国产精品免费小视频| 99久久香蕉国产综合影院| 亚洲一区二区视频| 亚洲乱码视频在线观看| 亚洲蜜芽在线精品一区| 日韩欧美一区二区三区视频| 久久精品视频播放| 久久国产乱子伦精品免费不卡| 日韩在线国产| 中文字幕日本久久2019| 一区在线免费| 天堂伊人网| 国产在视频线在精品| 欧美日韩一区二区三区在线| 亚洲欧洲在线播放| 国产一区二区三区精品久久呦| 国产亚洲综合成人91精品| 国产在线不卡一区| 亚洲不卡视频在线| 国产一区日韩二区欧美三区| 99re7在线精品免费视频| 日本高清在线一区| 日韩欧美高清色码| 99精品久久久久久久婷婷| 国产成人精品一区二区三区| 中文字幕高清在线| 夜色视频一区二区三区| 日本精品久久| 国产无人区一区二区三区| 精品欧美日韩一区二区| 97综合色| 99婷婷久久精品国产一区二区| 免费在线不卡视频| 国产一区二区三区精品视频| 欧美一区二区精品系列在线观看| 久久国产成人精品国产成人亚洲| 亚洲天堂手机在线| 久久99国产精一区二区三区| 亚洲国产夜色在线观看| 欧美一区二区精品| 精品一区二区三区在线| 久久久久久亚洲精品不卡| 久久99国产乱子伦精品免费| 九九精品免费视频| 日韩欧美在线观看| 波多野结衣久久精品| 国产精品亚洲电影久久成人影院| 91久久精品国产91久久性色tv| 亚洲国产精品免费在线观看| 久久亚洲高清观看| 久久精品国产亚洲黑森林| 亚洲精品国产精品国自产| 亚洲综合丝袜| 亚洲精品午夜aaa级久久久久| 久久久久中文| 99久久久久国产精品免费| 国产亚洲精品美女久久久久| 久久精品99毛片免费| 免费不卡视频| 午夜欧美精品久久久久久久久| 欧美亚洲国产精品久久高清| 久久98精品久久久久久婷婷| 一区二区美女视频| 91视频亚洲| 九九热视频免费| 亚洲成人黄色| 欧美亚洲另类在线观看| 99re在线这里只有精品免费| 亚洲香蕉一区二区三区在线观看| 欧美亚洲国产日韩综合在线播放| 精品国产一区二区三区在线| 日本久久久久| 成人久久电影| 欧美一级看片免费观看视频在线| 伊人影院99| 亚洲欧美日韩中文在线| 99久久免费国产精品 | 亚洲综合色网| 久久精品视频16| 国产高清视频免费人人爱| 久久精品爱国产免费久久| 日韩一区二区三区视频在线观看| 91精品欧美| 国产精品综合| 亚洲区一区| 成人欧美一区二区三区的电影| 久久精品99精品免费观看| 国产九九精品视频| 国产欧美综合在线一区二区三区| 91精品视品在线播放| 成人免费福利| 国产主播喷水| 国产一区二区三区韩国女主播| 色婷婷综合久久久久中文| 亚洲欧美一区二区三区麻豆| 国产不卡一区二区三区免费视| 欧美日韩亚洲国产一区二区综合| 国内精品91久久久久| 免费在线观看一区| 另类欧美日韩| 精品国产区| 国产欧美日韩在线播放| 久久精品国产精品亚洲蜜月| 亚洲激情在线看| 精品999久久久久久中文字幕| 欧美视频第二页| 亚洲国产精品综合久久久| 在线中文字幕| 亚洲天堂欧美| 亚洲精品专区| 在线视频91| 国产欧美二区三区| 欧美视频一区二区三区精品| 久久久久久久九九九九| 青青青国产在线观看| 91福利国产在线在线播放| 亚洲精品h| 97se狠狠狠狠狼亚洲综合网| 亚洲国产成a人v在线| 亚洲国产一二三| 欧美视频一区二区三区精品| 成人午夜精品| 国产一级片在线播放| 国产精品成人va在线观看| 五月婷婷在线播放| 国产三级国产精品国产普男人 | 亚洲国产精品一区二区第四页| 亚洲欧美在线视频| 久久天天综合| 国产一区二区三区在线观看视频 | 亚洲一区综合在线播放| 精品国产亚一区二区三区| 久久午夜精品| 亚洲欧美国产一区二区三区| 国产精品福利久久| 精品精品国产欧美在线观看| 免费在线观看一级毛片| 五月婷婷六月合| 国产视频毛片| 久久精品青草社区| 国产日韩一区二区三区在线观看| 亚洲女精品一区二区三区| 综合久久久久久中文字幕| 中文字幕在线综合| 奇米狠狠一区二区三区| 日本aⅴ精品一区二区三区久久| 欧美高清第一页| 国产精品漂亮美女在线观看| 国产福利一区二区| 国产在线激情视频| 欧美亚洲另类一区中文字幕| 色婷婷久久综合中文久久一本`| 日韩美一区二区三区| 亚洲男人天堂手机版| 国产最新网址| 久久免费激情视频| 久久免费激情视频| 久久久99精品免费观看| 国产免费一级在线观看| 日韩福利一区| 亚洲人成网站色7799在线观看| 久久中文字幕免费视频| 久久艹视频| 国产欧美成人| 日本精品高清一区二区不卡| 国产日韩在线亚洲字幕中文 | 国产成人亚洲精品老王| 国产视频毛片| 亚洲国产99999在线精品一区| 国产青青久久| 日本v片免费一区二区三区| 99re久久精品国产首页2020| 四虎精品永久在线| 国产欧美精品一区二区| 国产区视频在线观看| 最新九九精品| 中文字幕福利| 亚洲欧洲精品国产区| 免费在线毛片| 日韩深夜视频| 精品不卡一区中文字幕| 99精品欧美一区二区三区综合在线| 国产高清精品久久久久久久| 精品国产一二三区在线影院| 国产情侣久久| 国产免费一级高清淫日本片| 伊人久久成人成综合网222| 亚洲香蕉久久综合网| 在线观看麻豆国产精品| 婷婷久久五月天| 久久人人爽人人爽人人片va| 亚洲精品高清在线观看| 视频一区二区三区在线| 91成人在线免费观看| 亚洲高清综合| 999国内精品永久免费视频| 国产日韩免费| 亚洲一区中文| 国产在线观看91精品一区| 国产精品国产三级国产| 99久久伊人| 99久久网| 久久综合九色综合97小说 | 亚洲成人免费| 国产91精品久久久久久| 国产一区二区三区在线观看视频| 色综合久久久久| 欧美日韩国产va另类试看| 日本综合a一区二区视频| 亚洲人成网站色7777| 成人毛片免费观看| 亚洲欧美18v中文字幕高清| 亚洲精品欧美精品| 色偷偷91久久综合噜噜噜| 国产精品v| 国产精品美女在线| 精品国产免费一区二区三区| 91普通话国产对白在线| 国产精品自在线| 中文字幕一区婷婷久久| 国产精品主播视频| 中文字幕视频在线| 久久精品色| 国产成人精品男人免费| 亚洲精品一二三区| 中文有码视频| 婷婷色中文网| 亚洲综合色视频| 成人欧美一区二区三区视频xxx | 国产黄色免费网站| 国产日韩精品欧美一区色| 精品国产第一国产综合精品gif | 日本不卡在线一区二区三区视频| 欧美综合久久| 精品国产成人| 久久国产精品-国产精品| 欧美一区二区不卡视频| 久久婷婷五综合一区二区| 99久久99久久久精品久久| 久久精品人人做人人看| 欧美亚洲一二三区| 国产成人综合在线观看网站| 97在线|亚洲| 欧美日本在线一区二区三区| 亚洲国产美女精品久久久久∴| 亚洲国产精品综合久久2007| 国产福利第一页| 香蕉在线精品一区二区| 欧美日韩精品在线播放| 精品久久久久久久久免费影院 | 无国产精品白浆免费视| 精品一久久香蕉国产线看观看下| 99re7在线精品免费视频| 亚洲欧美国产日韩制服bt| 怡红院成人在线| 国产精品九九九久久九九| 国产成人久久91网站下载| 99热国产这里只有精品免费| 国产不卡网| 日日噜噜夜夜狠狠| 国产精品亚洲二区在线| 日韩精品一区二区三区中文| 国产91在线视频| 成人国内精品久久久久影 | 99久久精品免费看国产高清| 欧美在线一区二区三区精品| 亚洲精品欧美综合四区| 久久五月婷| 亚洲欧美日韩高清在线电影| 午夜精品久久久久久99热7777| 欧美日韩国产在线一区| 精品色综合| 亚洲一区日本| 久久se精品一区二区国产| 国产精品怡红院永久免费| 久久中文字幕久久久久| 一道本香蕉视频| 99久久免费国产香蕉麻豆| 婷婷激情五月网| 精品福利视频一区二区三区| 久久青青草原热精品| 欧美日韩国产免费一区二区三区| 亚洲天堂视频在线观看| 深爱激情五月婷婷| 最新亚洲情黄在线网站| 亚州人成网在线播放| 亚洲精品成人在线| 国产精品美女在线| 久久国产精品免费观看| 精品福利一区二区三区| 日本在线观看永久免费网站| 在线欧美日韩| 蜜桃视频一区二区在线观看| 日本不卡在线一区二区三区视频| 怡春院综合| 亚洲精品一二三| 免费无遮h在线网站大全| 亚洲激情综合网| 免费日韩精品| 亚洲a视频在线| 亚洲欧洲国产经精品香蕉网| 欧美激情一区二区三区蜜桃视频| 国产一区二区三区久久精品| 韩国福利视频一区二区| 亚洲精品福利在线| 香蕉一区二区| 国产一区自拍视频| 一区二区三区精品视频| 91国内精品| 美女福利一区| 最新欧美精品一区二区三区| 国产天天色| 99热福利| 国产精品第13页| 一级欧美一级日韩| 欧美国产在线看| 免费一区二区三区| 中文字幕在线免费视频| 精品国产三级a在线观看| 91麻豆久久| 91免费精品国自产拍在线不卡| 狠狠色丁香婷婷| 精品国产一二三区在线影院| 亚洲一区二区免费看| 麻豆国产高清精品国在线| 欧美亚洲网| 青青青久久久| 麻豆成人国产电影传媒一区| 婷婷99| 精品国产91久久久久久久| 精品一区国产| 亚洲成人网在线观看| 日本亚洲欧洲免费无线码| 91秒拍国产福利一区| 成人欧美在线| 亚洲一区黄色| 最新国语自产精品视频在| 国产私拍福利精品视频推出| 九九视频这里只有精品| 亚洲综合专区| 久久久久久九九| 国产产一区二区三区久久毛片国语| 久青草国产免费观看| 精品区在线观看| 激情五月婷婷网| 91精品视频观看| 成人久久久| 亚洲综合婷婷| 福利一区二区在线观看| 久久99国产综合精品| 99久久国产综合精品2020| 日韩亚洲欧美综合| 九九热最新视频| 中文字幕一区在线观看| 国产午夜精品不卡视频| 亚洲天堂精品在线观看| 久久精品国产国语对白| 99免费视频观看| 国产成人在线精品| 久久伊人免费视频| 欧美日韩国产手机在线观看视频| 亚洲国产精品久久久久久| 伊人成综合网| 香蕉久久精品| 国产精品福利一区二区久久| 成人中文在线| 精品欧美亚洲韩国日本久久 | 国产精品亚洲精品日韩已满| 亚洲欧美日韩综合在线| 欧美一级久久| 亚洲乱码在线播放| 午夜视频免费在线| 日韩一区二区在线视频| 国产精品第四页| 精品国产免费人成高清| 日韩一区二区三区免费体验| 国产精品亚洲二区在线| 国产精品福利在线观看免费不卡| 亚洲国产精品综合久久20| 色妞综合网| 欧美在线一级精品| 麻豆一级片| 国产高清精品久久久久久久| 亚洲免费久久| 狠狠干精品| 婷婷久久综合九色综合98| 久久综合免费视频| 日韩亚洲欧美在线| 国产精品自在在线午夜区app| 99精品视频一区在线视频免费观看| 色久悠悠色久在线观看| 午夜精品久久久久久中宇| 91精品国产91久久久久久青草| 亚洲成人第一页| 99久久国产亚洲综合精品| 国产成人综合在线| 亚洲免费在线| 久久98精品久久久久久婷婷 | 精品国产网| 免费在线精品视频| 亚洲午夜精品久久久久| 亚洲不卡影院| 国产91在线视频| 国产精品久久久久9999高清| 91久久国产成人免费观看资源| 欧美99热| 中文在线1区二区六区| 97自拍视频在线观看| 99久久免费国产精品| 久久精品成人一区二区三区| 国产情侣一区| 最新中文字幕一区| 欧美日韩亚洲综合| 日韩欧美久久一区二区| 99久久免费国产精品m9| 色www永久免费网站国产| 国产56页| 久久国产精品一区二区| 国产一区二区三区高清视频 | 国产精品福利久久| 亚洲综合天堂| 伊人狠狠色丁香婷婷综合下载| 欧美国产在线看| 亚洲一区二区观看| 91精品国产色综合久久不| 自拍三区播| 亚洲欧美丝袜制服| 婷婷亚洲视频| 国产精品久久影院| 九九亚洲精品| 中文字幕亚洲色图| 亚洲国产精品一区二区久久hs| 亚洲欧美成人在线| 另类专区另类专区亚洲| 国产精品第9页| 国产精品福利一区二区| 久久精品午夜视频| 久久亚洲成人| 国产午夜亚洲精品| 国产精品欧美一区二区| 精品久久久久亚洲| 亚洲综合图片人成综合网| 日韩a一级欧美一级| 亚洲成人免费网站| 色综合日韩| 久久99国产精品视频| 日韩美女一区二区三区| 四虎影视久久久| 97在线|亚洲| 中文字幕久久亚洲一区| 欧美视频免费一区二区三区| 亚洲精品98久久久久久中文字幕| 99久久伊人| 五月天综合网站| 日产国产精品久久久久久| 亚洲精品91香蕉综合区| 99久久免费国产精品m9| 久久亚洲国产精品| 亚洲欧美一区二区三区在线观看| 五月婷婷一区二区| 青草国内精品视频在线观看| 99久久精品费精品国产一区二| 婷婷五月情| 日本精品视频一视频高清| 日韩精品亚洲人成在线播放 | 国产精品视频一区二区三区| 青青青免费在线视频| 免费播放春色aⅴ视频| 亚洲欧美一区二区三区九九九| 国产精品亚欧美一区二区三区| 91精品国产91久久久久久| 欧美一级日韩| 91国内在线视频| 国产伦精品一区二区三区视频小说| 日本欧美中文字幕人在线| 九九精品在线观看| 久久观看午夜精品| 国产午夜在线观看视频播放| 在线精品福利| 91精品啪在线观看国产线免费| 国产97公开成人免费视频| 亚洲综合影院| 久草精品视频在线播放| 国产精品亚洲综合久久小说| 久久婷婷丁香| 国产丝袜美女一区二区三区| 日本韩国一区二区三区| 国产性大片免费播放网站| 97久久精品| 久久观看午夜精品| 热久久综合这里只有精品电影 | 日本不卡视频在线观看| 成人免费a视频| 99热在线观看免费| 久久99精品免费视频| 91视频国产91久久久| 午夜精品一区二区三区在线观看| 国产精品酒店视频| 综合7799亚洲伊人爱爱网| 亚洲视频中文字幕| 国产午夜亚洲精品不卡| 国产国产人免费人成成免视频| 精品国产96亚洲一区二区三区| 亚洲天堂久久精品成人| 婷婷激情狠狠综合五月| 第一页亚洲| 国产欧美亚洲专区第一页| 欧美一区二区电影男人的天堂| 久久伊人婷婷| 日韩欧美一区二区三区在线播放 | 国产成人亚洲精品老王| 国产免费成人在线视频| 国产欧美日韩精品综合| 香蕉视频国产精品| 欧美.成人.综合在线| 久久久免费视频观看| 久久激情五月丁香伊人| 视频一区二区欧美日韩在线| 狠狠五月深爱婷婷网| 日韩在线视频一区二区三区| 免费在线亚洲| 日本一区二区三区高清福利视频| 国产在线|日韩| 久久久久亚洲| 中文字幕一区婷婷久久| 91香蕉成人| 国产成人福利免费视频| 青青久久久国产线免观| 国产亚洲成在线播放va| 久热国产在线视频| 久久综合视频网站| 在线视频三区| 国产精品亚洲综合色区韩国| 色综合九九| 手机在线播放av| 尹人香蕉网在线观看视频| 欧美久久网| 亚洲精品人成在线观看| 国产成+人+综合+亚洲专| 69色综合| 日韩在线无| 日本在线视频二区| 国产成人在线看| 国产精品亚洲片在线观看不卡| 国产成人午夜精品免费视频| 亚洲伊人久久综合一区二区| 日韩久久中文字幕| 精品a在线观看| 天天综合网站| 欧美日韩亚洲综合久久久| 九九热视频免费| 亚洲日本韩国欧美| 97在线国产视频| 色综合视频在线观看| 五月婷网站| 国产福利第一页| 精品一二区| 日韩欧美国产另类| 一区二区三区亚洲| 日本精品久久| 国产精品视频h|