專利名稱::在主處理器和協(xié)處理器之間進行接口連接的方法和裝置的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及主處理器和協(xié)處理器之間的接口,并且更具體地說,本發(fā)明涉及主處理器的內(nèi)部總線和外部協(xié)處理器之間的接口。
背景技術(shù):
:在例如包括數(shù)字信號處理器(DSP)芯片的處理系統(tǒng)的設(shè)計中,有利的是能夠?qū)崿F(xiàn)未在該DSP芯片上實現(xiàn)的功能、計算能力和/或?qū)iT任務(wù)。例如,DSP可以是用于支持各種無線通信標準的無線基帶。然而,可能需要對基帶平臺進行修改以添加對新的和域不同的標準的支持。例如,在無線環(huán)境中,基帶處理器可能需要支持全球移動通信系統(tǒng)(GSM)、增強型數(shù)據(jù)GSM環(huán)境(EDGE)、時分多址(TDMA)、寬帶TDMA、通用分組無線業(yè)務(wù)(GPRS)和其他標準,并且該基帶處理器可能需要被修改為例如支持TDSCDMA、其他第三代(3G)標準或要在未來開發(fā)的標準。對基帶處理器進行擴展以支持一種標準所需的附加硬件不一定能支持另一種標準,或者沒有成熟到值得并入到基帶架構(gòu)中的程度。為了解決該問題,可以在外部協(xié)處理器(例如,設(shè)置在基帶芯片外部的協(xié)處理器)上實現(xiàn)用于支持基帶處理器上不可用的特定標準和/或具體加速器或優(yōu)化的專用硬件。隨著新標準或能力的出現(xiàn),專用協(xié)處理器可以被設(shè)計為在不需要對DSP本身進行專門修改和/或添加(即,無需修改集成在芯片上的核心DSP(coreDSP))的情況下實現(xiàn)期望的功能。另外,這還有利于DSP利用未駐留在DSP芯片上的其他功能來實現(xiàn)特定處理應(yīng)用。例如,各種硬件加速器、專用濾波組件、噪聲減少算法以及其他信號處理功能可以使本身無法實現(xiàn)期望的特定功能的DSP獲益。相應(yīng)地,各種設(shè)計情況可以從具有能夠與外部協(xié)處理器通信以利用由該外部協(xié)處理器提供的功能的DSP的系統(tǒng)結(jié)構(gòu)中獲益。要在DSP和協(xié)處理器之間進行接口連接,就必須將信息從DSP內(nèi)部的總線傳輸?shù)絽f(xié)處理器內(nèi)部的總線。即,通常必須在芯片外傳輸并獲取數(shù)據(jù)。存在多祌總線接口標準(例如,通用串行總線(USB)、PCI-Express、PCI-X、RapidIO等),這些總線接口標準為串行和并行總線傳輸建立了各種協(xié)議。然而,這些標準是在特定設(shè)計考量的情況下開發(fā)出來的并且具有具體目標和優(yōu)先級,因此可能不適用于DSP和協(xié)處理器之間的接口連接。
發(fā)明內(nèi)容根據(jù)本發(fā)明的一個實施方式包括一種在主處理器上實現(xiàn)的并適于在主處理器和外部協(xié)處理器之間傳輸數(shù)據(jù)的接口,該接口包括寫緩沖器,其被配置為存儲與所述協(xié)處理器上的位置相關(guān)的多個寫地址并且存儲待寫入到所述多個寫地址中的寫數(shù)據(jù);多個外部接入連接,其支持用于將所述主處理器電連接到所述協(xié)處理器的多條物理線,經(jīng)由所述物理線來傳輸所述寫地址和寫數(shù)據(jù);以及同步組件,其適于根據(jù)時鐘從所述寫緩沖器向所述多個外部接入連接傳輸數(shù)據(jù),當處于第一寫模式時,所述同步組件被配置為在寫操作的第一時鐘周期向所述多個外部接入連接傳輸存儲在所述寫緩沖器中的寫地址,而在所述寫操作的第二時鐘周期向所述多個外部接入連接傳輸存儲在所述寫緩沖器中的相關(guān)寫數(shù)據(jù),并且當處于第二寫模式時,所述同步組件被配置為在所述第一時鐘周期向所述多個外部接入連接傳輸存儲在所述寫緩沖器中的所述寫數(shù)據(jù)。根據(jù)本發(fā)明的另一實施方式包括一種在協(xié)處理器上實現(xiàn)的并適于在主處理器和所述協(xié)處理器之間傳輸數(shù)據(jù)的接口,該接口包括寫緩沖器,其被配置為存儲與所述協(xié)處理器上的位置相關(guān)的寫地址以及待寫入到所述寫地址中的寫數(shù)據(jù);多個外部接入連接,其支持用于將所述主處理器電連接到所述協(xié)處理器的多條物理線,經(jīng)由所述物理線來傳輸所述寫地址和寫數(shù)據(jù);以及同步組件,其適于根據(jù)時鐘從所述多個外部接入連接向所述寫緩沖器傳輸數(shù)據(jù),當處于第一寫模式時,所述同步組件被配置為在寫操作的第一時鐘周期向所述寫緩沖器傳輸從所述多個外部接入連接接收到的寫地址,而在所述寫操作的第二時鐘周期向所述寫緩沖器傳輸從所述多個外部接入連接接收到的相關(guān)寫數(shù)據(jù),并且當處于第二寫模式時,所述同步組件被配置為在所述第一時鐘周期向所述寫緩沖器傳輸從所述多個外部接入連接接收到的寫數(shù)據(jù)。根據(jù)本發(fā)明的另一實施方式包括一種適于在主處理器和外部協(xié)處理器之間傳輸數(shù)據(jù)的接口,該接口包括在所述主處理器上實現(xiàn)的主側(cè)接口;以及在所述協(xié)處理器上實現(xiàn)的從側(cè)接口,其中所述主側(cè)接口被配置成傳輸往來于所述主處理器內(nèi)部的主處理器總線和所述從側(cè)接口的信息,并且所述從側(cè)接口被配置成傳輸往來于所述主側(cè)接口和所述協(xié)處理器內(nèi)部的協(xié)處理器總線的信息,所述接口適于執(zhí)行由所述主側(cè)接口發(fā)起的第一讀操作和由所述從側(cè)接口發(fā)起的第二讀操作。根據(jù)本發(fā)明的另一實施方式包括一種適于在主處理器和外部協(xié)處理器之間傳輸數(shù)據(jù)的接口,該接口被配置為執(zhí)行至少一種類型的寫操作和至少一種類型的讀操作,該接口包括多條物理線,其連接所述主處理器和所述協(xié)處理器,經(jīng)由該物理線來傳輸信息;至少一個寫緩沖器,其存儲與多個寫操作相關(guān)的寫信息;至少一個讀緩沖器,其存儲與多個讀操作相關(guān)的讀信息;同步組件,其耦接到所述多個寫緩沖器和所述多個讀緩沖器,該同步組件適于經(jīng)由所述多條物理線來傳輸所述寫信息和所述讀信息;以及優(yōu)先級寄存器,其存儲當所述至少一個寫緩沖器和所述至少一個讀緩沖器中的一個以上的緩沖器分別含有要傳輸?shù)膶懶畔⒑妥x信息時指示多個優(yōu)先級方案中的一個的值,該優(yōu)先級方案用于控制所述同步組件經(jīng)由所述多條物理線來傳輸所述寫信息和所述讀信息的順序。根據(jù)本發(fā)明的另一實施方式包括一種在主處理器和外部協(xié)處理器之間傳輸數(shù)據(jù)的方法,該主處理器具有適配的主側(cè)接口并且該協(xié)處理器具有從側(cè)接口,該方法包括當執(zhí)行第一讀操作時經(jīng)由所述主側(cè)接口執(zhí)行傳輸往來于所述主處理器內(nèi)部的主處理器總線和所述從側(cè)接口的信息的動作,以及經(jīng)由所述從側(cè)接口傳輸往來于所述主側(cè)接口和所述協(xié)處理器內(nèi)部的協(xié)處理器總線的信息的動作,其中由所述主側(cè)接口發(fā)起所述第一讀操作。該方法還包括當執(zhí)行第二讀操作時經(jīng)由所述從側(cè)接口執(zhí)行從所述協(xié)處理器總線向所述主側(cè)接口傳輸信息的動作,以及經(jīng)由所述主側(cè)接口從所述主側(cè)接口向所述主處理器接口傳輸信息的動作,其中由所述從側(cè)接口來發(fā)起該第二讀操作。根據(jù)本發(fā)明的另一實施方式包括一種經(jīng)由具有連接主處理器和外部協(xié)處理器的多條物理線的接口來傳輸與寫操作相關(guān)的信息的方法,該方法包括提供時鐘信號以對經(jīng)由物理線進行的寫操作傳輸進行同步的動作,以及當處于第一寫模式時,在該寫操作的第一時鐘周期經(jīng)由多條物理線來傳輸寫地址的動作以及在該寫操作的第二時鐘周期經(jīng)由多條物理線來傳輸相關(guān)的寫數(shù)據(jù)的動作,以及當處于第二寫模式時,在第一時鐘周期向多條物理線傳輸寫數(shù)據(jù)的動作。本發(fā)明的另一實施方式包括一種經(jīng)由具有連接主處理器和外部協(xié)處理器的多條物理線的接口來傳輸與寫操作和讀操作相關(guān)的信息的方法,該方法包括以下動作對要經(jīng)由多條物理線傳輸?shù)膶懖僮骱妥x操作進行排隊,從多個優(yōu)先級方案中選擇一個優(yōu)先級方案,該多個優(yōu)先級方案中的每個方案均指示當在經(jīng)由多條物理線傳輸?shù)年犃兄锌蛇M行至少一個寫操作和至少一個讀操作時傳輸寫操作和讀操作的順序,以及根據(jù)所選的優(yōu)先級方案來傳輸來自該隊列的寫操作和讀操作。本發(fā)明的方面不限于此,因此以上概括的示例性實施方式可以單獨使用或以任意組合使用。圖1例示了根據(jù)本發(fā)明的一個實施方式的包括主處理器、外部協(xié)處理器和被配置為在該主處理器和協(xié)處理器之間傳輸數(shù)據(jù)的外部協(xié)處理器接口(ecpi)的處理系統(tǒng);圖2例示了圖1中所示的處理系統(tǒng)的ECPI的一個實施方式的各方面;圖3例示了根據(jù)本發(fā)明的一個實施方式的用于切斷通往包括ECPI的主側(cè)的多個緩沖器的時鐘信號的時鐘閘結(jié)構(gòu);以及圖4例示了根據(jù)本發(fā)明的一個實施方式的用于切斷通往包括ECPI的從側(cè)的多個緩沖器的時鐘信號的時鐘閘結(jié)構(gòu)。具體實施方式如上所述,多種原因使得利用主處理器(例如,DSP)外部(例如,芯片外)的協(xié)處理器來實現(xiàn)期望的處理系統(tǒng)。術(shù)語"主處理器"在這里是指系統(tǒng)或設(shè)備中的主處理器。主處理器總體上包括所有處理組件、總線、存儲器和集成在單個芯片上的支持電路。術(shù)語"協(xié)處理器"是指主處理器外部(例如,芯片外)的一個或更多個處理器或處理組件。協(xié)處理器可以被設(shè)計為實現(xiàn)對主處理器的其他應(yīng)用來說不必要的功能(例如,協(xié)處理器可以實現(xiàn)根據(jù)特定通信標準工作所要求的功能)。因此,在主處理器內(nèi)部提供協(xié)處理器功能對于沒有利用該協(xié)處理器功能的那些應(yīng)用而言增加了額外尺寸、成本、復雜度和功耗。在主處理器外部設(shè)置協(xié)處理器通過在主處理器上提供核心功能同時仍允許經(jīng)由一個或更多個協(xié)處理器釆用專用功能,來提高設(shè)計靈活性和主處理器的通用性。例如在無線通信環(huán)境中,隨著新通信標準的開發(fā),不斷改變核心基帶處理器的設(shè)計和功能以根據(jù)新通信標準來工作同時保留原有和/或傳統(tǒng)標準的功能是不理想的(或不可行的)。而且,如果各種期望的標準均得到支持并且將許多不同應(yīng)用的功能集成在主處理器設(shè)計中,則基帶處理器會變得過大、過于復雜且昂貴。因此,申請人想到了在主處理器的外部設(shè)置一個或更多個協(xié)處理器具有顯著的設(shè)計優(yōu)點。然而,至少部分地由于必須在芯片外傳輸信息而導致設(shè)置外部協(xié)處理器存在多個缺點。具體地說,在主處理器和協(xié)處理器之間的數(shù)據(jù)傳輸因經(jīng)由接口(典型的是,通過一個或更多個異步時鐘域)來傳輸信息而產(chǎn)生等待時間15(latency)。對于一些操作來說,該等待時間會導致主處理器總線延遲(sta11),同時該主處理器等待協(xié)處理器完成操作并將數(shù)據(jù)返回給該主處理器。另外,設(shè)置與外部協(xié)處理器通信的接口增加了主處理器芯片的管腳數(shù)?,F(xiàn)有的常規(guī)總線接口標準可能不適于主處理器(例如,基帶芯片)和外部協(xié)處理器之間的通信。例如,常規(guī)標準并非為低功率操作而設(shè)計,因此可能不適于功率資源有限的移動或無線環(huán)境。申請人開發(fā)了一種適于在主處理器和外部協(xié)處理器之間傳輸數(shù)據(jù)的大體上低等待時間、低功率的接口。在一個實施方式中,在主處理器和協(xié)處理器上的接口包括支持進行信息傳輸?shù)奈锢砭€(physicallines)的外部管腳連接,其中地址傳輸和數(shù)據(jù)傳輸二者共用相同物理線以減少該接口的管腳數(shù)。然而,在寫地址和寫數(shù)據(jù)之間的物理線的復用增加了經(jīng)由接口傳輸寫操作所需的時鐘周期數(shù)。為了減少經(jīng)由共用物理線來傳輸寫操作(例如,寫地址和寫數(shù)據(jù))所需的時鐘周期數(shù),該接口被配置為按多個寫模式來工作。在第一寫模式中,寫操作獲取經(jīng)由物理線傳輸寫地址的時鐘周期和經(jīng)由物理線傳輸寫數(shù)據(jù)的時鐘周期。在第二模式中,寫操作獲取經(jīng)由物理線傳輸寫數(shù)據(jù)的時鐘周期并從先前的寫操作推導寫地址,從而消除了經(jīng)由連接主處理器和協(xié)處理器的物理線來傳輸寫地址的需要。因此,對于按第二模式執(zhí)行的各個寫操作節(jié)省了時鐘周期。利用外部協(xié)處理器的一個缺點在于涉及協(xié)處理器的操作通常會導致主處理器的內(nèi)部總線發(fā)生延遲。例如,主處理器在繼續(xù)進一步處理前必須經(jīng)常等待從外部協(xié)處理器返回的數(shù)據(jù)。相應(yīng)地,讀操作也傾向于成為相對高等待時間的操作,該操作導致相對顯著的總線延遲。申請人認識到通過被配置為執(zhí)行多種不同類型的讀操作的接口可以減少等待時間和總線延遲。在一個實施方式中,第一類型的讀操作由主處理器發(fā)起并通過經(jīng)由接口來傳播讀地址而執(zhí)行,協(xié)處理器對該讀地址進行處理,該協(xié)處理器通過接口返回與該讀地址相關(guān)的數(shù)據(jù)。第二類型的讀操作由協(xié)處理器發(fā)起,該協(xié)處理器通過接口向主處理器發(fā)送一組數(shù)據(jù),并且該接口提醒主處理器數(shù)據(jù)可讀。從主處理器的角度來看,第二類型的讀操作僅需要對內(nèi)部主處理器總線進行同步的時鐘的單個時鐘周期。通常在緩沖器中對經(jīng)由主處理器和協(xié)處理器之間的接口執(zhí)行的各種寫操作和讀操作分別進行排隊,并按照先進先出(FIFO)優(yōu)先級經(jīng)由接口對其進行傳輸。即,按照FIFO優(yōu)先級傳輸各種寫操作并按照FIFO優(yōu)先級執(zhí)行各種讀操作。如上所述,典型的讀操作傾向于產(chǎn)生相對顯著的總線延遲。申請人認識到當隊列中存在讀操作和寫操作二者中的一個或更多個時,通過將接口配置為在寫操作之前傳輸讀操作,可以理想地減少由于讀操作導致的總線延遲。此外,申請人認識到通過提供可選擇的優(yōu)先級方案,可以將接口定制為可以對讀操作和寫操作進行剪裁(tailor)以減少特定主處理器/協(xié)處理器組合的等待時間和總線延遲。典型的是,按異步方式來進行芯片外數(shù)據(jù)的傳輸。因此,必定要跨多個時鐘域來傳輸數(shù)據(jù)。為了實現(xiàn)異步傳輸,通常在連接主處理器和外部協(xié)處理器的接口的兩端設(shè)置緩沖器以存儲隊列中的數(shù)據(jù),從而等待跨各個時鐘域的同步。相應(yīng)地,通常按單獨時鐘對向緩沖器的寫入和從緩沖器的讀出進行同步。向各緩沖器提供這些時鐘信號需要大量的功率。申請人認識到通過設(shè)置時鐘閘(clockgate)結(jié)構(gòu),在未使用緩沖器時可以切斷往來于緩沖器的時鐘同步傳輸,從而節(jié)省了當時鐘信號不必需時驅(qū)動時鐘信號所需的功率。在一個實施方式中,在主處理器上實現(xiàn)的接口包括多個緩沖器,該緩沖器包括用于存儲要跨接口的物理線傳輸?shù)臄?shù)據(jù)的至少一個寫緩沖器和至少一個讀緩沖器。通過第一時鐘信號對主處理器的內(nèi)部總線和多個緩沖器之間的數(shù)據(jù)傳輸進行同步,并且通過第二時鐘信號對多個緩沖器與位于主處理器和協(xié)處理器之間的接口的物理連接之間的數(shù)據(jù)傳輸進行同步。多個緩沖器中的每一個具有時鐘閘,該時鐘閘能夠在相應(yīng)緩沖器未使用時切斷第一時鐘信號和第二時鐘信號中的至少一個,以節(jié)省向緩沖器提供時鐘信號所需的功率。在另一實施方式中,多個緩沖器中的每一個具有在相應(yīng)緩沖器為空時能夠自動獨立地切斷第一時鐘信號的第一時鐘閘和能夠自動獨立地切斷第二時鐘信號的第二時鐘閘。在另一實施方式中,接口包括被配置為在外部協(xié)處理器未使用時切斷對緩沖器設(shè)置的所有時鐘的總時鐘閘??梢岳每刂萍拇嫫髦祦砜刂圃摽倳r鐘閘以啟用或停用該總時鐘閘。在另一實施方式中,在協(xié)處理器上實現(xiàn)的接口包括多個緩沖器,該緩沖器包括用于存儲要跨接口的物理線傳輸?shù)臄?shù)據(jù)的至少一個寫緩沖器和至少一個讀緩沖器。通過第一時鐘信號對多個緩沖器和協(xié)處理器的內(nèi)部總線之間的傳輸進行同步,并且通過第二時鐘信號對多個緩沖器與接口的物理連接之間的數(shù)據(jù)傳輸進行同步。多個緩沖器中的每一個均具有時鐘閘,該時鐘閘能夠在未使用相應(yīng)緩沖器時切斷第一時鐘信號和第二時鐘信號中的至少一個,以節(jié)省向緩沖器提供時鐘信號所需的功率。在另一實施方式中,多個緩沖器中的每一個均具有在相應(yīng)緩沖器為空時能夠自動獨立地切斷第一時鐘信號的第一時鐘閘和能夠自動獨立地切斷第二時鐘信號的第二時鐘閘。以下是與根據(jù)本發(fā)明的方法和裝置相關(guān)的各種概念以及實施方式的更詳細的說明。應(yīng)該理解的是,可以按任意多種方式來實現(xiàn)這里所描述的本發(fā)明的各個方面。在這里僅出于例示目的提供了具體實現(xiàn)的示例。具體地說,由于本發(fā)明的方面不限于任意特定類型的主處理器或協(xié)處理器設(shè)計,因此可以使用任意不同的處理器實現(xiàn)和構(gòu)造。圖1例示了根據(jù)本發(fā)明的一個實施方式的用于實現(xiàn)主處理器和協(xié)處理器之間的接口的系統(tǒng)的框圖。系統(tǒng)1000包括在該系統(tǒng)中被用作主要處理器的主處理器1100。例如,主處理器IIOO可以是被配置為執(zhí)行多個期望處理任務(wù)的數(shù)字信號處理器。在一個實施方式中,主處理器IIOO是設(shè)計用于無線通信的基帶處理器(例如,諸如蜂窩式電話的移動通信設(shè)備中的無線基帶處理器)。然而,由于本發(fā)明的方面不限于此,因此主處理器1100可以是任意類型的處理器。主處理器1100包括主數(shù)字處理器總線(DPBUS)1150,多個組件經(jīng)由該總線傳輸信息并另外經(jīng)由該總線與主核心處理器U00a通信。例如,組件1125a、U25b、1125c可以被連接到DPBUS1150以協(xié)助執(zhí)行主處理器中的處理任務(wù)。例如,主處理器1100可以是數(shù)字基帶處理器,而組件1125a可以是用于對輸入信號實現(xiàn)誤差修正的維特比模塊(viterbimodule),組件1125b可以是一個或更多個加密組件,并且組件1125c可以是一個或更多個濾波器單元、硬件加速器等。應(yīng)該理解的是,組件1125僅是示例性的并且用于例示在多個組件之間共用DPBUS1150以與核心處理器通信,并且本發(fā)明的方面不限于此,組件可以是任意類型或任意數(shù)量。系統(tǒng)1000包括實現(xiàn)對主處理器1100有利的功能的協(xié)處理器1200。例如,協(xié)處理器1200被設(shè)計為根據(jù)期望的通信標準工作并且因此可以與主處理器1100結(jié)合使用以擴展主處理器的功能和/或兼容性。協(xié)處理器可以包括根據(jù)特定標準工作或滿足各種性能要求所需的各種加速器和/或優(yōu)化方案。另選的是,該協(xié)處理器可以是結(jié)合該核心處理器來處理各種處理任務(wù)的輔助處理器。由于本發(fā)明的方面不限于此,因此協(xié)處理器可以是具有任意數(shù)量的組件或模塊并且實現(xiàn)任意類型功能的任意外部處理器。協(xié)處理器1200包括用于在包括該協(xié)處理器的各種組件和/或處理單元之間傳輸數(shù)據(jù)的數(shù)據(jù)處理總線(EDPBUS)1250。協(xié)處理器可以包括經(jīng)由EDPBUS1250進行通信的任意數(shù)量的組件1225。例如,協(xié)處理器1200可以包括執(zhí)行協(xié)處理器的專用功能(例如,任意處理任務(wù)、硬件加速、濾波操作等)的組件1225a和組件1225b。應(yīng)該理解的是,由于本發(fā)明的方面不限于此,因此協(xié)處理器可以包括執(zhí)行任意期望處理功能的任意數(shù)量的組件。系統(tǒng)1000還包括適于在主處理器1100和協(xié)處理器1200之間傳輸信息的外部協(xié)處理器接口(ECPI:externalcoprocessorinterface)1500。ECPI1500包括位于主處理器1100上的主側(cè)(master-side)ECPI1510和位于協(xié)處理器1200上的從側(cè)(slave-side)ECPI1520,以控制主處理器和協(xié)處理器之間的傳輸信息。通常,主處理器1100和協(xié)處理器1200按異步方式工作,即,處理器未共用單個時鐘并且可以按不同的時鐘頻率工作。主處理器1100可以利用其中對從DPBUS1150的讀取和向DPBUS1150的寫入進行協(xié)調(diào)的系統(tǒng)時鐘DSCLK來工作。類似地是,協(xié)處理器1200可以利用對從EDPBUS1250的讀取和向EDPBUS1250的寫入進行協(xié)調(diào)的系統(tǒng)時鐘CPCLK來工作。ECPI可以包括用于經(jīng)由主處理器和協(xié)處理器之間的物理連接來對信息傳輸進行同步的附加時鐘ECP一CLK。具體地說,ECP_CLK可以由主側(cè)ECPI和從側(cè)ECPI共用以對經(jīng)由物理線ECP_Data的信息傳輸進行協(xié)調(diào)。如在下面更詳細地說明的,控制線ECP_CTRL被用來實現(xiàn)與經(jīng)由ECP—Data進行數(shù)據(jù)傳輸相關(guān)的各種控制功能。ECP—Data和ECP一CTRL可以在分別設(shè)置在主處理器芯片和協(xié)處理器芯片上的管腳處進行連接。理想地是,主處理器IIOO和協(xié)處理器1200以好像協(xié)處理器1200直接連接到DPBUS1150的方式通信。即,協(xié)處理器看上去似乎是直接連接到DPBUS上的組件1125的其中一個。然而,由于必須通過多個時鐘域而外部地傳輸信息,因此接口不能是完全透明的(transparent)。然而,申請人開發(fā)了一種用于對在主處理器和協(xié)處理器之間的總體上低功率、低等待時間的信息傳輸進行優(yōu)化的接口。以下將更詳細地對接口的各方面進行說明。圖2例示了根據(jù)本發(fā)明的一個實施方式的包括外部協(xié)處理器接口(ECPI)的處理系統(tǒng)。圖2例示的ECPI是圖1所示的ECPI1500的一個實施方式。例如,主側(cè)ECPI2510和從側(cè)ECPI2520可以執(zhí)行與圖1所示的主側(cè)ECPI1510和從側(cè)ECPI1520類似的功能。主側(cè)ECPI2510經(jīng)由DPBUS接口(IF)2155耦接到DPBUS1150。DPBUSIF2155包括適于從DPBUS讀取信息和向DPBUS寫入信息的電路。類似地是,從側(cè)ECPI2520經(jīng)由EDPBUSIF2255耦接到EDPBUS1250以使得能夠?qū)DPBUS執(zhí)行讀操作和寫操作。如在下面更詳細說明的,EDPBUSIF2255包括用于執(zhí)行各種讀操作和寫操作的EDPBUS主IF2255a和EDPBUS從IF2255b。DPBUSIF2155通過對往來于DPBUS以及接口的主側(cè)上的多個緩沖器216x的數(shù)據(jù)傳輸進行同步來用作DSCLK域和ECP一CLK域之間的同步組件。ECPI主IF2170用作該多個緩沖器和接口的從側(cè)之間的同步組件。類似地是,ECPI從IF2270用作接口的主側(cè)和接口的從側(cè)上的多個緩沖器226x之間的同步組件。最后,EDPBUSIF2255通過對往來于EDPBUS1250和接口的從側(cè)上的多個緩沖器226x的數(shù)據(jù)傳輸進行同步來用作ECP_CLK域和CPLCK域之間的同步組件。各種同步組件可以包括對數(shù)據(jù)傳輸進行同步的一個或更多個有限狀態(tài)機(FSM)和/或其他電路。本發(fā)明的方面不限于此,因此可以按任意方式來實現(xiàn)同步組件。在接口2500的環(huán)境中,主處理器被視為主導裝置,而協(xié)處理器被視為從屬裝置。相應(yīng)地,從主處理器向協(xié)處理器的數(shù)據(jù)傳輸(即,去往協(xié)處理器的數(shù)據(jù))被稱為寫操作,而從協(xié)處理器向主處理器的數(shù)據(jù)傳輸(即,去往主處理器的數(shù)據(jù))被稱為讀操作。為了實現(xiàn)寫操作,接口2500包括主側(cè)上的寫地址/數(shù)據(jù)緩沖器2160和從側(cè)上的寫地址/數(shù)據(jù)緩沖器2260。在一個實施方式中,位于接口兩側(cè)的寫地址/數(shù)據(jù)緩沖器包括16個寄存器,每個寄存器具有32位的位寬。高16位(31:16)存儲寫地址,而低16位(15:0)存儲寫數(shù)據(jù)。深度16可以適于特定設(shè)計以確保緩沖器不會在操作期間填滿并且對于實現(xiàn)目的而言不會過大。然而,應(yīng)該理解到的是,本發(fā)明的方面不限于此,因此寫緩沖器可以具有任意深度和任意寬度,并且可以進行改變以實現(xiàn)特定的設(shè)計目標。當期望向協(xié)處理器傳輸數(shù)據(jù)時,由主處理器發(fā)起寫操作。利用DPBUSIF2155從DPBUS1150向?qū)懙刂?數(shù)據(jù)緩沖器2160傳輸寫地址和寫數(shù)據(jù)。在一個實施方式中,DPBUS的寬度足以同時傳輸寫地址和寫數(shù)據(jù)。結(jié)果,僅需要單個DSCLK周期(即,來自對DPBUS讀操作和寫操作進行同步的時鐘的單個時鐘周期)來執(zhí)行寫操作。因此,當主處理器希望向協(xié)處理器發(fā)送數(shù)據(jù)但協(xié)處理器沒有準備立即處理該信息時,寫緩沖器可以在不延遲DPBUS的情況下存儲該信息,從而從DPBUS的角度實現(xiàn)了單個周期寫操作。這避免了不必要的總線延遲并且減少了向協(xié)處理器的寫操作對DPBUS的影響。當在寫地址/數(shù)據(jù)緩沖器2160中對數(shù)據(jù)進行排隊之后,ECPI主IF2170對經(jīng)由連接主處理器和協(xié)處理器的物理線(即,ECP一Data)進行的數(shù)據(jù)傳輸進行同步。ECPI從IF2270接著將數(shù)據(jù)置于協(xié)處理器側(cè)的寫地址/數(shù)據(jù)緩沖器2260中。EDPBUS主IF2255a接著向EDPBUS傳輸要發(fā)送給由寫地址指示的適當模塊的數(shù)據(jù)。相應(yīng)地,從DCLCK域向ECP—CLK域并最終向CPCLK域傳播該寫操作,其中將寫數(shù)據(jù)寫入到寫地址位置。在一個實施方式中,寫地址和寫數(shù)據(jù)共用ECP_Data以減少管腳數(shù)以及主處理器和協(xié)處理器之間的物理連接的數(shù)量。即,ECP—Data可以在單個時鐘周期上容納寫地址或?qū)憯?shù)據(jù)中的任一個,但無法同時容納二者。例如,ECP一Data可以具有與16位地址空間匹配的16位的寬度。對數(shù)據(jù)和地址傳輸共用相同物理線有助于明顯減少接口的管腳數(shù),同時所得到的管腳構(gòu)造防止了在單個時鐘周期中經(jīng)由物理信道來傳輸?shù)刂泛蛿?shù)據(jù)。為了減輕由于在相同物理線上對地址和數(shù)據(jù)進行復用而導致的額外時鐘周期所引起的帶寬減少,可以將接口配置為按多種寫模式工作。例如,可以添加一條或更多條控制線來指示接口按可以推導寫地址而非經(jīng)由接口按物理方式獲取寫地址的寫模式來工作。通過推導寫地址,只需經(jīng)由物理線來傳輸該寫數(shù)據(jù),并且僅需要單個時鐘周期來經(jīng)由ECP一Data傳輸完整的寫操作(例如,在ECP—CLK域中僅需要單個ECP—CLK周期來處理寫操作)。在一個實施方式中,控制線ECP_CTRL包括能夠表示8個不同狀態(tài)的三條控制線WRT—CTL[2:0]。使用可用狀態(tài)中的至少一些來指示從側(cè)ECPI在多個寫模式的哪個模式中工作。多個寫模式中的一些模式指示從側(cè)ECPI:可以根據(jù)先前寫操作來推導寫操作的寫地址。例如,當WRT一CTL處于第一狀態(tài)時,可以使用先前經(jīng)由ECP—Data來傳輸?shù)耐粚懙刂贰V鱾?cè)ECPI和從側(cè)ECPI二者均存儲有經(jīng)ECP—Data傳輸?shù)淖詈蟮刂返谋镜馗北?。因此,如果對于隨后的寫操作沒有改變寫地址,則將WRT—CTL設(shè)置為第一狀態(tài)以指示從側(cè)ECPI使用本地存儲的寫地址。因此,當在該寫模式時僅需要經(jīng)ECP—Data傳輸寫數(shù)據(jù),從而僅需要單個時鐘周期來經(jīng)物理接口傳輸寫信息。該寫模式被稱為write—same模式。當CTL處于第二狀態(tài)時,可以使用先前經(jīng)由ECP—Data傳輸并以預定量增加的寫地址。例如,在當前寫地址是先前寫地址加n時,其中n是預定偏移值,(例如,增加至協(xié)處理器中的下一可尋址位置),將wrtj:tl投置為第二狀態(tài)并且從側(cè)ECPI增加了本地存儲的寫地址以完成該寫操作,從而消除了經(jīng)由ECP—Data傳輸當前寫地址的需要。從側(cè)ECPI接著可以在本地存儲增加后的地址。該寫模式被稱為writejreincrement模式。主側(cè)ECPI可以包括比較器,該比較器對在接口的主側(cè)上本地存儲的最后地址(即,經(jīng)由接口傳輸?shù)淖詈蟮刂返谋镜卮鎯χ?與經(jīng)由接口正傳輸?shù)漠斍皩懖僮鞯膶懙刂愤M行比較。如果該寫地址與最后地址相同,則主側(cè)ECPI將WRT—CTL設(shè)置為第一狀態(tài)以指示從側(cè)ECPI在write—same模式下工作。如果在該寫地址和最后地址之間的差等于預定增加值,則主側(cè)ECPI將WRT—CTL設(shè)置為第二狀態(tài)以指示從側(cè)ECPI在write_preincrement模式下工作。當WRT—CTL處于第三狀態(tài)(默認寫模式)時,經(jīng)由ECP—Data傳輸寫地址和寫數(shù)據(jù)二者。總的來看,write—same模式和write_preincrement模式在主處理器和協(xié)處理器的操作期間可以顯著減少執(zhí)行寫操作所需的時鐘周期數(shù),從而提高了接口的帶寬并減少了處理器系統(tǒng)的總等待時間。例如,在許多操作(例如,濾波操作)期間,經(jīng)由成千上萬的寫操作向同一地址(或向隨后的地址空間)寫入大量數(shù)據(jù)。因此,利用write」ame模式和/或writejreincrement模式可以將執(zhí)行這些寫操作所需的時鐘周期數(shù)減少約一半。存儲最后地址的寄存器和指示接口應(yīng)該工作的寫模式的寫控制線可以與接口所執(zhí)行的讀操作無關(guān)。相應(yīng)地,如果在寫操作之間插入讀操作,則保留接口的寫模式。當開始一個或更多個寫操作時,保留最后地址和當前寫模式,以使得接口以好像讀操作從未打斷過該一個或更多個寫操作的方式工作。為了進一步減少接口等待時間并減少總線延遲的頻率,將接口2500配置為執(zhí)行多個不同的讀操作。第一類型的讀操作由主處理器發(fā)起并通過經(jīng)由DPBUSIF2155從DPBUS向讀地址緩沖器2162傳輸讀地址而進行該讀操作。接著通過ECPI主IF2170將來自讀地址緩沖器2162的讀地址的傳輸與ECP_CLK進行同步,并且通過ECPI從IF2270將經(jīng)由物理線ECP_Data傳輸?shù)淖x地址在讀地址緩沖器2262中排隊。EDPBUS主IF2255a從協(xié)處理器讀地址緩沖器向EDPBUS傳輸該讀地址以訪問適當模塊,從而獲取存儲在讀地址中的數(shù)據(jù)。為了將讀取的數(shù)據(jù)傳回主處理器,將從讀地址獲取的讀數(shù)據(jù)設(shè)置在EDPBUS上并通過EDPBUS主IF2255a在讀數(shù)據(jù)緩沖器2264中對讀數(shù)據(jù)進行排隊、同步并利用ECPI從IF2270經(jīng)ECP—Data進行傳輸,接著通過ECPI主IF2170將讀數(shù)據(jù)排隊到讀數(shù)據(jù)緩沖器2164中。接著通過DPBUSIF對讀數(shù)據(jù)進行同步并設(shè)置在DPBUS上,并傳輸給發(fā)起該讀取的模塊。通常情況是主處理器在沒有其請求的讀數(shù)據(jù)的情況下無法繼續(xù)處理。結(jié)果,DPBUS通常在繼續(xù)其他操作前必須延遲和等待要從協(xié)處理器返回的讀數(shù)據(jù)。因此,第一類型的讀操作是一種對DPBUS造成顯著延遲的相對高等待時間的操作。為了減少由于第一類型的讀操作導致的DPBUS延遲,主側(cè)ECPI可以被配置成對讀操作設(shè)置最高的優(yōu)先級。例如,主側(cè)ECPI2170可以相對于針對寫操作排隊的數(shù)據(jù)優(yōu)先傳輸來自讀地址緩沖器的數(shù)據(jù)和優(yōu)先向讀數(shù)據(jù)緩沖器傳輸數(shù)據(jù),而不考慮哪個數(shù)據(jù)首先到達。因此等待時間減少到完成讀操作所需的時鐘周期的數(shù)量,并且該等待時間不會因必須在隊列中等待較早到達的寫操作以在經(jīng)接口傳輸前完成而激增。然而,本發(fā)明的方面不限于此,因此還可以采用其他優(yōu)先級方案。如下面詳細說明的,在一個實施方式中,可以從多個優(yōu)先級方案中選擇一個優(yōu)先級方案以定制接口的操作。如上所述,第一類型的讀操作在DPBUS上的等待時間和延遲方面是相對代價高昂的操作。申請人認識到,如果第一類型的讀操作僅是用于從協(xié)處理器獲取數(shù)據(jù)的機制,則處理器系統(tǒng)可能受到無法接受的操作等待時間(例如,相對較高的DPBUS延遲率)的困擾。為了解決這個難題,可以將第二類型的讀操作實現(xiàn)為減少主處理器必須執(zhí)行從協(xié)處理器獲取信息的第一類型的讀操作的頻率。在一個實施方式中,第二類型的讀操作由協(xié)處理器發(fā)起,并且通過使協(xié)處理器生成指示該協(xié)處理器具有該主處理器要讀取的數(shù)據(jù)的中斷來執(zhí)行該第二類型的讀操作。接著協(xié)處理器可以經(jīng)由接口向主處理器傳輸該讀數(shù)據(jù),并且該主處理器可以在不產(chǎn)生與第一類型的讀操作相關(guān)的開銷的情況下讀取傳輸?shù)臄?shù)據(jù)。在圖2中,為了執(zhí)行第二類型的讀操作,當協(xié)處理器具有向主處理器傳輸?shù)臄?shù)據(jù)時,EDPBUS從IF從EDPBUS獲取取數(shù)據(jù),并將該數(shù)據(jù)傳輸給塊讀取緩沖器(BlockReadBuffer)2266、2268中的一個。通過發(fā)布讀請求信號來通知ECPI主IF:協(xié)處理器具有要傳輸給主處理器的數(shù)據(jù)。例如,如果塊讀取緩沖器2266具有要傳輸?shù)臄?shù)據(jù),則可以將ECP—RDREQJ)設(shè)置為高,以提醒ECPI主IF準備進行數(shù)據(jù)傳輸。通知ECPI主IF而不是通知ECPI從IF的原因在于接口的主側(cè)經(jīng)由ECP_Data來控制數(shù)據(jù)傳輸。ECPI主IF—經(jīng)通知,就可以根據(jù)隊列的優(yōu)先級方案來傳輸塊讀數(shù)據(jù)。ECPI主IF和ECPI從IF接著對存儲在適當塊讀取緩沖器中的數(shù)據(jù)的傳輸進行協(xié)調(diào),并且ECPI主IF將數(shù)據(jù)存儲在適當塊讀取緩沖器2166、2168中。接著ECPI例如通過將ECP_RDBUF—BURST—IRQ_0設(shè)置為高來信號通知主處理器要讀取的數(shù)據(jù)可用。接著可以經(jīng)由DPBUSIF將數(shù)據(jù)傳輸給DPBUS。由于第二類型的讀操作由協(xié)處理器發(fā)起,因此從DPBUS的角度來看第二類型的讀操作僅需要單個時鐘周期來完成。即,主處理器(更具體的說,DPBUS)免去了與執(zhí)行第二類型的讀操作相關(guān)的開銷,并且僅需要從對應(yīng)的塊讀取緩沖器中讀取數(shù)據(jù)所需的單個時鐘周期的DPBUS的中斷操作。如上所述,為了減少與執(zhí)行第一類型的讀操作相關(guān)的某些等待時間,可以對該第一類型的讀操作賦予比其他操作更高的優(yōu)先級。即,由于當讀操作傳播通過接口的時鐘域時DPBUS通常必須在延遲狀態(tài)下等待,因此嚴格按照先進先出(FIFO)順序執(zhí)行操作會導致在總線等待執(zhí)行在隊列中較早到達的寫操作時DPBUS產(chǎn)生進一步延遲。然而,申請人認識到不同的處理器系統(tǒng)可能受益于不同的優(yōu)先級方案。為了實現(xiàn)接口設(shè)計的通用性,申請人開發(fā)了一種可選優(yōu)先級方案,該可選優(yōu)先級方案被配置為在一個以上的緩沖器具有要經(jīng)由接口傳輸?shù)臄?shù)據(jù)時針對哪個操作應(yīng)該采用高于哪個操作的優(yōu)先級以對接口做出指示。在圖2中,主側(cè)ECPI包括多個控制寄存器2515。這些控制寄存器可以按任意的數(shù)量被設(shè)置為可用以控制從緩沖器向ECP一Data進行數(shù)據(jù)傳輸?shù)母鱾€方面。在一個實施方式中,多個寄存器包括用于指定經(jīng)由接口傳輸讀操作和寫操作的優(yōu)先級的ECPI—PRIORITY寄存器2515a。ECPI—PRIORITY可以具有用于存儲任意數(shù)量的不同優(yōu)先級方案的任意長度。控制寄存器2515b和2515c還通過存儲指示接口應(yīng)該如何工作的值來調(diào)整各種控制功能。例如,控制寄存器可以存儲指示接口的ECP_CTRL線的狀態(tài)的值。如上所述,接口2500適于執(zhí)行寫操作以及第一類型和第二類型的讀操作。第一類型的讀操作由主處理器發(fā)起、通過接口傳播并返回到該主處理器,并且被稱為在下表1中所述的優(yōu)先級方案環(huán)境中READ操作。在發(fā)布提醒主處理器存在要讀取的數(shù)據(jù)的情況下,由協(xié)處理器發(fā)起通過接口向主處理器傳播的第二類型的讀操作,并且該第二類型的讀操作在優(yōu)先級方案的環(huán)境中被稱為READ一REQUEST操作(指示對應(yīng)的塊讀取緩沖器的數(shù)量)。在圖2中,ECPI—PRIORITY寄存器包括指示四個要通過接口執(zhí)行的可選優(yōu)先級方案的至少兩位。下表1例示了示例性優(yōu)先級方案組以及相關(guān)的ECPIPRIORITY狀態(tài)。<table>tableseeoriginaldocumentpage27</column></row><table>表I為了選擇優(yōu)先級方案,可以將由ECPI一PRIORITY存儲的值設(shè)定為適當狀態(tài)。通過使得對優(yōu)先級方案能夠進行修改,可以將接口定制為適于特定主處理器/協(xié)處理器組合。例如,一個優(yōu)先級方案優(yōu)于另一優(yōu)先級方案的具體益處或多或少地體現(xiàn)出對特定實現(xiàn)和/或特定操作間隔的重要性。如上所述,向讀(READ)操作賦予優(yōu)先級(例如,將ECPI—PRIORITY設(shè)置為00)減少了DPBUS的延遲,對接口的帶寬具有積極的影響。然而,使寫(WRITE)操作優(yōu)先于讀(READ)操作(例如,將ECPI一PRIORITY設(shè)置為11)保持了隊列的指令順序。具體地說,當寫隊列具有一個或更多個WRITE操作要執(zhí)行并且READ操作進入讀隊列時,在對READ操作賦予優(yōu)先級的方案中經(jīng)由接口優(yōu)先傳輸READ操作。在一些示例中,優(yōu)先傳輸?shù)腞EAD操作從本應(yīng)該在該READ操作之前由隊列中的一個或更多個WRITE操作寫入(但在該優(yōu)先級方案下由READ操作讀取)的位置進行讀取。從READ操作獲取的值可以因所選優(yōu)先級方案而不同。相應(yīng)地,在期望保留指令順序的情況下可以將優(yōu)先級方案選擇為優(yōu)先寫操作。應(yīng)該理解的是,優(yōu)先級方案可以在主處理器/協(xié)處理器組合的操作期間的任意時間進行改變。即,可以在接口正在工作時(例如,在讀隊列和/或?qū)戧犃袝r)進行ECPI—PRIORITY位的設(shè)置和改變。因此,可以在帶寬至關(guān)重要的任務(wù)期間將優(yōu)先級方案動態(tài)修改為例如優(yōu)先READ操作,而在指令順序至關(guān)重要的任務(wù)期間優(yōu)先WRITE操作。盡管ECPI一PRIORITY被示出具有一對位,但是應(yīng)該理解的是,本發(fā)明的方面不限于此,因此ECPI_PRIORITY可以包括存儲對于由接口執(zhí)行的各種讀操作和寫操作可用的所有優(yōu)先排列所需的任意位數(shù)。盡管ECPI—PRIORITY被示出為位于接口的主側(cè)的寄存器,但是,應(yīng)該理解的是,接口的從側(cè)可以包括存儲所選優(yōu)先級方案的寄存器。例如,當選擇優(yōu)先級方案時,可以將優(yōu)先位設(shè)置在接口的兩側(cè)以控制經(jīng)由接口來傳輸讀操作和寫操作的優(yōu)先級。本發(fā)明的方面不限于此,因此可以按任意方式(例如,位于主側(cè)的單個寄存器、接口兩側(cè)的分立寄存器或能夠向接口的從側(cè)通信優(yōu)先級方案的控制線)來實現(xiàn)可選優(yōu)先級方案。在許多處理器環(huán)境中,功耗是一個關(guān)鍵關(guān)注點。例如,無線設(shè)備(例如,蜂窩式電話)的數(shù)字信號處理器可以有意識地設(shè)計其功率以有助于低功率處理器延長充電之間的電池持續(xù)使用時間。功率節(jié)約是導致許多常規(guī)接口標準不適于這些環(huán)境和應(yīng)用的重要要素。在一個實施方式中,以這樣的方式提供低功率接口,即,當不需要時可以切斷提供用于對接口進行同歩的各種時鐘信號,從而減少接口的總功耗。圖3例示了外部協(xié)處理器接口的主側(cè)的部分。具體地說,緩沖器3160、3162、3164、3166和3168對應(yīng)于在圖2的接口的主側(cè)上例示的緩沖器216x。如上所述,DSCLK通過DPBUSIF對向?qū)懢彌_器3160和讀地址緩沖器3162的寫入以及從讀數(shù)據(jù)緩沖器3164和塊讀取緩沖器3166、3168的讀取進行同步,并且ECP一CLK通過ECPI主IF對從寫緩沖器3160和讀地址緩沖器3162的讀取以及向讀數(shù)據(jù)緩沖器3164和塊讀取緩沖器3166、3168的寫入進行同步。然而,如果持續(xù)向讀緩沖器和寫緩沖器提供DS一CLK和ECP一CLK,則功耗將是非常大的。為了減少功耗,針對各個讀緩沖器和寫緩沖器316x在緩沖器的讀取側(cè)和寫入側(cè)提供時鐘閘3180、3190。該時鐘閘被配置成獨立地切斷通往相應(yīng)緩沖器的時鐘信號。當相應(yīng)緩沖器為空時,時鐘閘3180、3190可以自動切斷時鐘信號以節(jié)省對緩沖器驅(qū)動時鐘信號所需的功率。通過對各緩沖器提供單獨的時鐘閘,可以對任意空緩沖器、當前未使用的緩沖器或不需要時鐘信號的緩沖器有選擇地禁止時鐘信號。類似地,控制寄存器3515(其對應(yīng)于圖2的控制寄存器2515)具有適于例如在不需要向控制寄存器寫入時切斷DC_CLK的時鐘閘3580。各時鐘閘可以包括用于檢測相關(guān)緩沖器何時為空或未被用于自動切斷通往相應(yīng)緩沖器的時鐘信號的電路。另外,還可以設(shè)置總時鐘閘3550,該總時鐘閘可以在ECPI模塊未被使用時切斷通往接口的整個時鐘樹。可以經(jīng)由其中一個控制寄存器(例如,ECPI—CONTROL寄存器)的一部分來控制總時鐘閘3550。例如,可以將首位ECPIj:ONTROL設(shè)置為控制是否激活總時鐘閘以在協(xié)處理器未被使用時切斷來自ECPI的時鐘信號。圖4例示了位于接口的從側(cè)的對應(yīng)時鐘閘結(jié)構(gòu)。具體地說,在緩沖器326x的讀取側(cè)和寫入側(cè)設(shè)置時鐘閘3280、3290,以在相應(yīng)緩沖器未被使用時獨立地并自動地切斷對應(yīng)的時鐘信號。應(yīng)該理解的是,當激活總時鐘閘3550時,ECP—CLK將被切斷而不能通往協(xié)處理器以節(jié)省功率。圖3和圖4中的時鐘閘結(jié)構(gòu)僅是示例性的,本發(fā)明的方面不限于此,因此可以使用選擇性地切斷到各種讀緩沖器和寫緩沖器的時鐘信號的任意時鐘閘結(jié)構(gòu)??梢园慈我舛喾N方式來實現(xiàn)本發(fā)明的上述實施方式。例如,利用硬件、軟件或它們的組合來實現(xiàn)各實施方式。應(yīng)該理解的是,一般可以將執(zhí)行上述功能的任意組件或組件的集合視作一個或更多個控制上述功能的控制器。該一個或更多個控制器可以按多種方式(例如,利用專用硬件、以及使用微碼或軟件進行編程以執(zhí)行上述功能的通用硬件(例如,一個或更多個處理器))來實現(xiàn)??梢詥为?、以組合方式或未在前面描述的實施方式中具體討論的各種構(gòu)造來使用本發(fā)明的各方面,并且因此本發(fā)明不限于其在上述說明書闡述或附圖所示的組件的細節(jié)和構(gòu)造的應(yīng)用。本發(fā)明可以具有其他實施方式并能夠以多種方式實施或執(zhí)行。具體地說,接口的一些實施方式可以包括本發(fā)明以上描述的一個或更多個方面,并且不是必須而是可以包括在以上實施方式中描述的各特征。本發(fā)明的方面不限于此,因此可以使用特征和/或組件的任意組合在權(quán)利要求中使用序數(shù)術(shù)語(例如,"第一"、"第二"、"第三"等)來修飾權(quán)利要求要素本身并不意味著一個權(quán)利要求要素在順序上或者在執(zhí)行方法的動作的時間順序上優(yōu)于、領(lǐng)先于另一權(quán)利要求要素,而是僅用作將具有一個特定名稱的一個權(quán)利要求要素與具有同一名稱的另一要素區(qū)分開的標記(而是使用序數(shù)術(shù)語)來區(qū)分這些權(quán)利要求要素。此外,這里使用的措辭和術(shù)語用于說明目的并且不應(yīng)該被視為對本發(fā)明的限制。這里使用"包括(including)"、"包含(comprising)"、"具有(having)"、"含有(containing)"、"包括(involving)"或其變型意味著包括其后所列出的項及其等同物以及附加項。權(quán)利要求1.一種在主處理器上實現(xiàn)的并適于在主處理器和外部協(xié)處理器之間傳輸數(shù)據(jù)的接口,該接口包括寫緩沖器,其被配置為存儲與所述協(xié)處理器上的位置相關(guān)的多個寫地址并且存儲待寫入到所述多個寫地址中的寫數(shù)據(jù);多個外部接入連接,其支持用于將所述主處理器電連接到所述協(xié)處理器的多條物理線,經(jīng)由所述物理線來傳輸所述寫地址和寫數(shù)據(jù);以及同步組件,其適于根據(jù)時鐘從所述寫緩沖器向所述多個外部接入連接傳輸數(shù)據(jù),當處于第一寫模式時,所述同步組件被配置為在寫操作的第一時鐘周期向所述多個外部接入連接傳輸存儲在所述寫緩沖器中的寫地址,而在所述寫操作的第二時鐘周期向所述多個外部接入連接傳輸存儲在所述寫緩沖器中的相關(guān)寫數(shù)據(jù),并且當處于第二寫模式時,所述同步組件被配置為在所述第一時鐘周期向所述多個外部接入連接傳輸存儲在所述寫緩沖器中的所述寫數(shù)據(jù)。2.根據(jù)權(quán)利要求1所述的接口,其中在所述第一寫模式中按兩個時鐘周期來向所述多個外部接入連接傳輸所述寫操作,而在所述第二寫模式中按一個時鐘周期來向所述多個外部接入連接傳輸所述寫操作。3.根據(jù)權(quán)利要求2所述的接口,該接口還包括具有多個狀態(tài)的控制信號,所述多個狀態(tài)指示所述接口是在所述第一寫模式下工作還是在所述第二寫模式下工作。4.根據(jù)權(quán)利要求3所述的接口,該接口還包括地址寄存器,該地址寄存器存儲被傳輸給所述多個外部接入連接的最后寫地址。5.根據(jù)權(quán)利要求4所述的接口,該接口還包括比較器,該比較器適于對存儲在所述寫緩沖器中的所述多個寫地址的下一寫地址與所述最后寫地址進行比較,其中如果所述比較器確定所述下一寫地址與所述最后寫地址相同,則所述控制信號被設(shè)置為指示所述接口在所述第二模式下工作的狀態(tài)。6.根據(jù)權(quán)利要求4所述的接口,其中所述第二模式包括write—same模式和pre—increment模式,所述接口還包括適于對存儲在所述寫緩沖器中的所述多個寫地址的下一寫地址與所述最后寫地址進行比較的比較器,并且其中如果所述比較器確定所述下一寫地址與所述最后寫地址相同,則所述控制信號被設(shè)置為指示所述接口在所述write—same模式下工作的狀態(tài),并且如果所述比較器確定所述下一寫地址與所述最后寫地址相差預定偏差,則所述控制信號被設(shè)置為指示所述接口在所述write_preincrement模式下工作的狀態(tài)。7.根據(jù)權(quán)利要求1所述的接口,其中所述多個外部接入連接的數(shù)量等于所述多個寫地址中的每一個中的位數(shù)。8.—種在協(xié)處理器上實現(xiàn)的并適于在主處理器和所述協(xié)處理器之間傳輸數(shù)據(jù)的接口,該接口包括-寫緩沖器,其被配置為存儲與所述協(xié)處理器上的位置相關(guān)的寫地址以及待寫入到所述寫地址中的寫數(shù)據(jù);多個外部接入連接,其支持用于將所述主處理器電連接到所述協(xié)處理器的多條物理線,經(jīng)由所述物理線來傳輸所述寫地址和寫數(shù)據(jù);以及同步組件,其適于根據(jù)時鐘從所述多個外部接入連接向所述寫緩沖器傳輸數(shù)據(jù),當處于第一寫模式時,所述同步組件被配置為在寫操作的第一時鐘周期向所述寫緩沖器傳輸從所述多個外部接入連接接收到的寫地址,而在所述寫操作的第二時鐘周期向所述寫緩沖器傳輸從所述多個外部接入連接接收到的相關(guān)寫數(shù)據(jù),并且當處于第二寫模式時,所述同步組件被配置為在所述第一時鐘周期向所述寫緩沖器傳輸從所述多個外部接入連接接收到的寫數(shù)據(jù)。9.根據(jù)權(quán)利要求8所述的接口,該接口還包括至少一個控制連接,該控制連接適于從所述主處理器接收至少一個寫控制信號,所述至少一個寫控制信號指示所述接口是應(yīng)該在所述第一寫模式下工作還是應(yīng)該在所述第二寫模式下工作。10.根據(jù)權(quán)利要求9所述的接口,該接口還包括寫地址寄存器,該寫地址寄存器存儲在所述多個物理連接處接收到的最后寫地址。11.根據(jù)權(quán)利要求10所述的接口,其中當處于所述第一模式時,所述協(xié)處理器利用在所述多個物理連接處接收到的所述寫地址來執(zhí)行所述寫操作,并將所述寫地址作為最后寫地址存儲在所述寫地址寄存器中,而當處于所述第二模式時,所述協(xié)處理器利用存儲在所述寫地址寄存器中的所述最后寫地址來執(zhí)行所述寫操作。12.根據(jù)權(quán)利要求11所述的接口,其中所述第二模式包括write—same模式禾nwritejpreincrement模式,并且其中當處于所述write—same模式時,所述協(xié)處理器利用存儲在所述寫地址寄存器中的所述最后寫地址來執(zhí)行所述寫操作,而當處于所述writejDreincrement模式時,所述協(xié)處理器利用存儲在所述寫地址寄存器中的所述最后寫地址加上預定增量來執(zhí)行所述寫操作,并將增加后的寫地址存儲在所述寫地址寄存器中。13.根據(jù)權(quán)利要求12所述的接口,其中在至少一個寫控制連接處接收到的至少一個寫控制信號使得所述協(xié)處理器在所述第一模式、writejame模式或write_preincrement模式下工作。14.根據(jù)權(quán)利要求l所述的接口,其中所述多個外部接入連接的數(shù)量等于所述多個寫地址中的每一個中的位數(shù)。15.—種適于在主處理器和外部協(xié)處理器之間傳輸數(shù)據(jù)的接口,該接口包括-在所述主處理器上實現(xiàn)的主側(cè)接口;以及在所述協(xié)處理器上實現(xiàn)的從側(cè)接口,其中所述主側(cè)接口被配置成傳輸往來于所述主處理器內(nèi)部的主處理器總線和所述從側(cè)接口的信息,并且所述從側(cè)接口被配置成傳輸往來于所述主側(cè)接口和所述協(xié)處理器內(nèi)部的協(xié)處理器總線的信息,所述接口適于執(zhí)行由所述主側(cè)接口發(fā)起的第一讀操作和由所述從側(cè)接口發(fā)起的第二讀操作。16.根據(jù)權(quán)利要求15所述的接口,其中,在所述第一讀操作期間,所述主側(cè)接口從所述主處理器內(nèi)部總線獲取讀地址并且向所述從側(cè)接口傳輸該讀地址,而所述從側(cè)接口向所述協(xié)處理器總線傳輸所述讀地址并且從所述協(xié)處理器總線獲取與該讀地址相關(guān)的讀數(shù)據(jù),并且其中所述從側(cè)接口向所述主側(cè)接口傳輸所述讀數(shù)據(jù),所述主側(cè)接口向所述主處理器總線傳輸所述讀地址。17.根據(jù)權(quán)利要求16所述的接口,其中,所述第二讀操作由所述協(xié)處理器發(fā)起,并且該第二讀操作包括所述從側(cè)接口從所述協(xié)處理器總線獲取讀數(shù)據(jù),并向所述主側(cè)接口傳輸所述讀數(shù)據(jù),所述主側(cè)接口生成中斷以提醒所述主處理器該讀數(shù)據(jù)可用。18.根據(jù)權(quán)利要求17所述的接口,其中,所述第二讀操作僅需要對所述主處理器總線的信息的傳輸進行同步的時鐘的單個時鐘周期。19.根據(jù)權(quán)利要求15所述的接口,其中,所述主側(cè)接口還包括第一主側(cè)讀緩沖器,其存儲要在所述第一讀操作期間使用的讀地址和相關(guān)讀數(shù)據(jù);第二主側(cè)讀緩沖器,其存儲要在所述第二讀操作期間使用的讀數(shù)據(jù);第一主側(cè)同步組件,其適于對往來于所述主處理器總線和所述第一主側(cè)讀緩沖器的數(shù)據(jù)的傳輸進行同步;第二主側(cè)同步組件,其適于對往來于所述第一主側(cè)讀緩沖器和所述從側(cè)接口的數(shù)據(jù)的傳輸進行同步,并對從所述從側(cè)接口向所述第二主側(cè)讀緩沖器進行的數(shù)據(jù)傳輸進行同步。20.根據(jù)權(quán)利要求19所述的接口,其中,所述從側(cè)接口包括第一從側(cè)讀緩沖器,其存儲要在所述第一讀操作期間使用的讀地址和相關(guān)讀數(shù)據(jù);第二從側(cè)讀緩沖器,其存儲要在所述第二讀操作期間使用的讀數(shù)據(jù);第一從側(cè)同步組件,其適于對往來于所述協(xié)處理器總線和所述第一從側(cè)讀緩沖器的數(shù)據(jù)的傳輸進行同步,并對從所述協(xié)處理器總線向所述第二從側(cè)讀緩沖器的數(shù)據(jù)的傳輸進行同步;第二從側(cè)同步組件,其適于對往來于所述第一從側(cè)讀緩沖器和所述主側(cè)接口的數(shù)據(jù)的傳輸進行同步,并對從所述第二從側(cè)讀緩沖器向所述主側(cè)接口進行的數(shù)據(jù)傳輸進行同步;控制線,其耦接到所述第二主側(cè)同步組件,該控制線適于當所述第二從側(cè)讀緩沖器具有向所述主側(cè)接口傳輸?shù)臄?shù)據(jù)時向所述第二主側(cè)同步組件提供控制信號。21.根據(jù)權(quán)利要求20所述的接口,其中,在由所述從側(cè)接口發(fā)起的所述第二讀操作中,所述第一從側(cè)同步組件從所述協(xié)處理器總線向所述第二從側(cè)讀緩沖器傳輸讀數(shù)據(jù),并且向所述第二主側(cè)同步組件提供所述控制信號以指示已經(jīng)向所述第二從側(cè)讀緩沖器傳輸了所述讀數(shù)據(jù),所述第二從側(cè)同步組件和所述第二主側(cè)同步組件對從所述第二從側(cè)讀緩沖器向所述第二主側(cè)讀緩沖器進行的讀數(shù)據(jù)的傳輸進行同步,所述第一主側(cè)同步組件提醒所述主處理器總線所述第二主側(cè)讀緩沖器具有要傳輸給所述主處理器總線的讀數(shù)據(jù),并且所述第一主側(cè)同步組件對從所述第二主側(cè)讀緩沖器向所述主處理器總線進行的讀數(shù)據(jù)的傳輸進行同步。22.根據(jù)權(quán)利要求21所述的接口,其中所述第一主側(cè)同步組件被配置為在對往來于所述主處理器總線的數(shù)據(jù)傳輸進行同步的時鐘的單個時鐘周期上,從所述第二主側(cè)讀緩沖器向所述主處理器傳輸讀數(shù)據(jù)。23.根據(jù)權(quán)利要求22所述的接口,其中在從所述協(xié)處理器總線向所述第二主側(cè)讀緩沖器傳輸讀數(shù)據(jù)期間,所述主處理器總線用于在所述主處理器的一個或更多個處理組件之間進行數(shù)據(jù)傳輸和/或向和/或從所述協(xié)處理器進行數(shù)據(jù)傳輸。24.根據(jù)權(quán)利要求21所述的接口,該接口還包括主側(cè)寫緩沖器,其被配置為存儲與所述協(xié)處理器的位置相關(guān)的多個寫地址,并存儲要寫入到所述多個寫地址的寫數(shù)據(jù),從側(cè)寫緩沖器,其被配置為存儲所述寫地址和所述寫數(shù)據(jù);多條物理線,其用于將所述主處理器電連接到所述協(xié)處理器,經(jīng)由該多條物理線來傳輸所述寫地址和寫數(shù)據(jù),其中所述第二主側(cè)同步組件適于根據(jù)由所述主側(cè)接口和所述從側(cè)接口共用的接口時鐘從所述主側(cè)寫緩沖器向所述多條物理線傳輸數(shù)據(jù),當處于第一寫模式時,所述第二主側(cè)同步組件被配置為在寫操作的第一時鐘周期向所述多條物理線傳輸存儲在所述主側(cè)寫緩沖器中的寫地址,并在所述寫操作的第二時鐘周期向所述多條物理線傳輸存儲在所述寫緩沖器中的相關(guān)寫數(shù)據(jù),當處于第二寫模式時,所述第二主側(cè)同步組件被配置為在所述第一時鐘周期向所述多條物理線傳輸存儲在所述主側(cè)寫緩沖器中的寫數(shù)據(jù)。25.根據(jù)權(quán)利要求24所述的接口,其中所述第二從側(cè)同步組件適于根據(jù)所述接口時鐘來從多條外部線向所述寫緩沖器傳輸數(shù)據(jù),當處于所述第一寫模式時,所述第二從側(cè)同步組件被配置成在所述寫操作的所述第一時鐘周期向所述從側(cè)寫緩沖器傳輸從所述多條物理線接收到的寫地址,并且在所述寫操作的所述第二時鐘周期向所述寫緩沖器傳輸從所述多條物理線接收到的相關(guān)寫數(shù)據(jù),當處于所述第二寫模式時,所述第二從側(cè)同步組件被配置為在所述第一時鐘周期向所述從側(cè)寫緩沖器傳輸從所述多條物理連接接收到的寫數(shù)據(jù)。26.根據(jù)權(quán)利要求25所述的接口,該接口還包括具有多個狀態(tài)的寫控制信號,所述多個狀態(tài)指示所述接口是在所述第一寫模式下工作還是在所述第二寫模式下工作。27.根據(jù)權(quán)利要求26所述的接口,該接口還包括主側(cè)地址寄存器,其存儲經(jīng)由所述多條物理線傳輸?shù)淖詈髮懙刂?;以及從?cè)地址寄存器,其存儲所述最后寫地址。28.根據(jù)權(quán)利要求24所述的接口,其中所述第二寫模式包括write—same模式和writejreincrement模式,所述接口還包括適于對存儲在所述主側(cè)寫緩沖器中的多個寫地址的下一寫地址與所述最后寫地址進行比較的比較器,并且其中如果所述主側(cè)比較器確定所述下一寫地址與所述最后寫地址相同,則所述寫控制信號被設(shè)置為指示所述接口在所述write—same模式下工作的狀態(tài),并且如果所述主側(cè)比較器確定所述下一寫地址與所述最后寫地址相差預定偏差,則所述寫控制信號被設(shè)置為指示所述接口在所述writejreincrement模式下工作的狀態(tài)。29.根據(jù)權(quán)利要求28所述的接口,其中當讀操作中斷將所述接口設(shè)置在所述第一模式的多個寫操作時,當所述接口返回到傳輸所述多個寫操作時該接口保持為所述第一模式。30.根據(jù)權(quán)利要求29所述的接口,其中所述主側(cè)地址寄存器和所述從側(cè)地址寄存器不受一個或更多個介入讀操作的影響,從而當經(jīng)由所述接口傳輸介入讀操作以后所述接口返回到最后的當前寫模式。31.根據(jù)權(quán)利要求30所述的接口,其中在一個或更多個介入讀操作中斷所述寫操作的情況下保持所述寫控制信號的狀態(tài),以使得當所述接口開始執(zhí)行所述寫操作時該接口在適當?shù)膶懩J较鹿ぷ鳌?2.根據(jù)權(quán)利要求24所述的接口,其中所述多條物理線的數(shù)量等于所述多個寫地址中的每一個中的位數(shù)。33.根據(jù)權(quán)利要求24所述的接口,該接口還包括多個主側(cè)緩沖器,其包括所述主側(cè)寫緩沖器、所述第一主側(cè)讀緩沖器和所述第二主側(cè)讀緩沖器;第一時鐘信號,其對往來于所述主處理器總線和所述多個主側(cè)緩沖器中的至少一些的數(shù)據(jù)傳輸進行同步;第二時鐘信號,其對往來于所述多個主側(cè)緩沖器中的至少一些和所述從側(cè)接口的數(shù)據(jù)傳輸進行同步;以及多個主側(cè)時鐘閘,其分別與所述多個主側(cè)緩沖器中相應(yīng)一個相關(guān)聯(lián),所述多個時鐘閘中的每一個適于在所述多個主側(cè)緩沖器中的相應(yīng)一個未被使用時切斷所述第一時鐘信號和所述第二時鐘信號中的至少一個。34.根據(jù)權(quán)利要求33所述的接口,該接口還包括多個從側(cè)緩沖器,其包括所述從側(cè)寫緩沖器、第一從側(cè)讀緩沖器和第二從側(cè)讀緩沖器,其中所述第二時鐘信號對往來于所述主側(cè)接口和所述多個從側(cè)緩沖器中的至少一些的數(shù)據(jù)傳輸進行同步;第三時鐘信號,其對往來于所述多個從側(cè)緩沖器中的至少一些和所述協(xié)處理器總線的數(shù)據(jù)傳輸進行同步;以及多個從側(cè)時鐘閘,其分別與所述多個從側(cè)緩沖器中的相應(yīng)一個相關(guān)聯(lián),所述多個從側(cè)時鐘閘中的每一個適于在所述多個從側(cè)緩沖器中的相應(yīng)一個未被使用時切斷所述第二時鐘信號和所述第三時鐘信號中的至少一個。35.根據(jù)權(quán)利要求34所述的接口,其中所述多個主側(cè)時鐘閘包括針對所述多個主側(cè)緩沖器中的每一個的至少兩個主側(cè)時鐘閘,針對所述多個主側(cè)緩沖器中的每一個的至少兩個主側(cè)時鐘閘中的第一個被配置為切斷所述第一時鐘信號,而針對所述多個主側(cè)緩沖器中的每一個的至少兩個主側(cè)時鐘閘中的第二個被配置為切斷所述第二時鐘信號,并且其中所述多個主側(cè)時鐘閘被配置成當相應(yīng)緩沖器為空時獨立并自動地切斷到所述多個主側(cè)緩沖器中的相應(yīng)緩沖器的相應(yīng)時鐘。36.根據(jù)權(quán)利要求35所述的接口,其中所述多個從側(cè)時鐘閘包括針對所述多個從側(cè)緩沖器中的每一個的至少兩個從側(cè)時鐘閘,針對所述多個從側(cè)緩沖器中的每一個的至少兩個從側(cè)時鐘閘中的第一個被配置為切斷所述第一時鐘信號,而針對所述多個從側(cè)緩沖器中的每一個的至少兩個從側(cè)時鐘閘中的第二個被配置為切斷所述第二時鐘信號,并且其中所述多個從側(cè)時鐘閘被配置成當相應(yīng)緩沖器為空時獨立并自動地切斷到所述多個從側(cè)緩沖器中的相應(yīng)緩沖器的相應(yīng)時鐘。37.根據(jù)權(quán)利要求36所述的接口,該接口還包括總時鐘閘,該總時鐘閘被配置為切斷來自所述多個主側(cè)緩沖器中的每一個和所述多個從側(cè)緩沖器中的每一個的所述第一時鐘信號和第二時鐘信號。38.根據(jù)權(quán)利要求37所述的接口,其中通過控制信號來啟用和停用所述總時鐘閘,該總時鐘閘在所述多個緩沖器均未被使用時被激活。39.根據(jù)權(quán)利要求24所述的接口,該接口還包括優(yōu)先級寄存器,該優(yōu)先級寄存器存儲當可對一個以上的寫信息和讀信息進行傳輸時指示多個tt;先級方案中的一個的值,該優(yōu)先級方案用于控制所述第二主側(cè)同步組件經(jīng)由所述多條物理線從所述主側(cè)寫緩沖器向所述從側(cè)寫緩沖器傳輸寫信息和從所述第一主側(cè)讀緩沖器向所述第一從側(cè)讀緩沖器傳輸讀信息的順序。40.—種適于在主處理器和外部協(xié)處理器之間傳輸數(shù)據(jù)的接口,該接口被配置為執(zhí)行至少一種類型的寫操作和至少一種類型的讀操作,該接口包括多條物理線,其連接所述主處理器和所述協(xié)處理器,經(jīng)由該物理線來傳輸信息;至少一個寫緩沖器,其存儲與多個寫操作相關(guān)的寫信息;至少一個讀緩沖器,其存儲與多個讀操作相關(guān)的讀信息;同步組件,其耦接到所述多個寫緩沖器和所述多個讀緩沖器,該同步組件適于經(jīng)由所述多條物理線來傳輸所述寫信息和所述讀信息;以及優(yōu)先級寄存器,其存儲當所述至少一個寫緩沖器和所述至少一個讀緩沖器中的一個以上的緩沖器分別含有要傳輸?shù)膶懶畔⒑妥x信息時指示多個優(yōu)先級方案中的一個的值,該優(yōu)先級方案用于控制所述同步組件經(jīng)由所述多條物理線來傳輸所述寫信息和所述讀信息的順序。全文摘要在本發(fā)明的一個方面,提供了一種適于在主處理器和外部協(xié)處理器之間傳輸數(shù)據(jù)的接口。該接口適于在多個寫模式下工作,其中在第一寫模式中按兩個時鐘周期跨接口傳輸該寫操作,而在第二寫模式中按單個時鐘周期跨接口傳輸該寫操作。在另一方面,該接口適于執(zhí)行由主處理器發(fā)起的第一讀操作和由外部協(xié)處理器發(fā)起的第二讀操作。在另一方面,該接口包括存儲讀操作和寫操作的多個緩沖器以及選擇性地切斷向多個緩沖器提供的時鐘信號以對往來于緩沖器的數(shù)據(jù)傳輸進行同步的多個時鐘閘。在另一方面,該接口包括在讀操作和寫操作同時排隊等待傳輸時能夠被修改以在控制經(jīng)由該接口進行傳輸操作的優(yōu)先權(quán)的多個優(yōu)先級之間進行選擇的可選優(yōu)先級方案。文檔編號G06F9/38GK101523345SQ200780036551公開日2009年9月2日申請日期2007年9月27日優(yōu)先權(quán)日2006年9月29日發(fā)明者保羅·D·克里瓦切克,沙欽·加爾申請人:聯(lián)發(fā)科技股份有限公司