專(zhuān)利名稱(chēng):在數(shù)據(jù)驅(qū)動(dòng)架構(gòu)網(wǎng)狀陣列中控制存儲(chǔ)器存取裝置的制作方法
背景以下描述的本發(fā)明實(shí)施例涉及數(shù)據(jù)驅(qū)動(dòng)處理器的實(shí)現(xiàn),即在較寬范圍的應(yīng)用上提供良好性能但成本相對(duì)較低的數(shù)據(jù)驅(qū)動(dòng)處理器。
開(kāi)發(fā)了用于處理器的數(shù)據(jù)驅(qū)動(dòng)架構(gòu),以提供比馮·諾伊曼架構(gòu)更好的解決方案,用于解決用相對(duì)較少的指令處理大量數(shù)據(jù)的特殊問(wèn)題。馮·諾伊曼型處理器由定時(shí)尋址方案控制,它可以從存儲(chǔ)器中的幾乎任何地方取出指令和數(shù)據(jù)。由于對(duì)可存取的存儲(chǔ)器中的位置或指令類(lèi)型限制較少,馮·諾伊曼處理器能靈活地運(yùn)行較寬范圍的不同程序。相反,數(shù)據(jù)驅(qū)動(dòng)處理器(DDP)設(shè)計(jì)成被饋送通常連續(xù)地存儲(chǔ)于存儲(chǔ)器中(或作為數(shù)據(jù)流到達(dá))的數(shù)據(jù)塊并將根據(jù)僅具有對(duì)數(shù)據(jù)操作的少量指令的程序進(jìn)行處理。這些類(lèi)型的程序可在諸如文檔(例如,用于復(fù)印機(jī)中)以及音頻和視頻數(shù)據(jù)的數(shù)字編碼和過(guò)濾的應(yīng)用中找到。音頻和視頻數(shù)據(jù)應(yīng)用的實(shí)例包括諸如數(shù)字照相機(jī)、移動(dòng)通用計(jì)算機(jī)和如MP3播放器的消息媒體裝置的便攜式消費(fèi)信息產(chǎn)品中的壓縮和解壓縮。由于固有功率效率,即當(dāng)不用處理更多輸入數(shù)據(jù)時(shí)其功率消耗快速降低到基本為零,DDP可特別地適合于這種電池供電的產(chǎn)品。
在具有DDP的多數(shù)消費(fèi)產(chǎn)品中,內(nèi)置主機(jī)控制器(HC)通過(guò)使指令和輸入數(shù)據(jù)的饋送與DDP的各處理單元相配合而輔助DDP。例如,消費(fèi)產(chǎn)品的主要的通用處理器或嵌入式處理器可被編程為用作HC。該HC向DDP的每個(gè)處理單元指示要執(zhí)行的任務(wù)。HC還控制DDP和外部存儲(chǔ)器之間的數(shù)據(jù)路徑的形成,以便接收流出數(shù)據(jù),即處理單元處理的結(jié)果。DDP可配備傳遞流出數(shù)據(jù)流的直接存儲(chǔ)器存取(DMA)單元,該流出數(shù)據(jù)流源于DDP的各處理單元并到達(dá)HC標(biāo)識(shí)的順序?qū)ぶ反鎯?chǔ)器位置。典型DDP的處理單元不了解輸入數(shù)據(jù)的源;也不知道其結(jié)果數(shù)據(jù)最終去往哪里。只有HC知道該信息。
附圖中,通過(guò)作為示例而非限制對(duì)本發(fā)明的實(shí)施例進(jìn)行說(shuō)明,其中相同標(biāo)號(hào)表示相似單元。應(yīng)注意,揭示內(nèi)容中對(duì)本發(fā)明“一”實(shí)施例的引用不必針對(duì)相同實(shí)施例,而是表示至少一個(gè)。
圖1示出了具有數(shù)據(jù)驅(qū)動(dòng)架構(gòu)的處理器的框圖。
圖2示出了處理器的另一個(gè)實(shí)施例的中可形成的示例數(shù)據(jù)路徑。
圖3示出了展示處理器實(shí)施例的電子系統(tǒng)的框圖。
圖4示出了處理器實(shí)施例的組件的框圖。
圖5示出了處理器中使用的輸入數(shù)據(jù)端口部分的框圖。
圖6示出了處理器中使用的輸出數(shù)據(jù)端口部分。
圖7示出了輸入和輸出數(shù)據(jù)端口中使用的先進(jìn)先出邏輯的輸入和輸出信號(hào)。
圖8示出了根據(jù)本發(fā)明實(shí)施例的處理數(shù)據(jù)方法的流程圖。
圖9示出了用于數(shù)據(jù)驅(qū)動(dòng)處理器的控制端口網(wǎng)狀結(jié)構(gòu)的高等級(jí)框圖。
圖10示出了控制端口用于相互通信的控制字、控制端口數(shù)據(jù)字和狀態(tài)指示的示例。
圖11示出了可用于控制端口發(fā)送器中的判別器的簡(jiǎn)化框圖。
圖12給出了提供用于特殊控制端口的選擇寄存器以用于配置控制端口的發(fā)送器和接收器部分的示例。
具體實(shí)施例方式
從圖1開(kāi)始,其中示出了具有數(shù)據(jù)驅(qū)動(dòng)架構(gòu)的處理器的框圖,希望其在較寬范圍的應(yīng)用方面提供良好的性能且成本相對(duì)較低。該處理器由一些處理單元(PU)104(在本例,有6個(gè))構(gòu)成。每個(gè)PU104都具有如網(wǎng)狀結(jié)構(gòu)中所示地相互耦合的一些數(shù)據(jù)端口(本例中,為16個(gè))。數(shù)據(jù)端口是可編程的,以允許數(shù)據(jù)從任一處理單元流到另一個(gè)以及從任一處理單元流到存儲(chǔ)器存取單元108。
根據(jù)本發(fā)明的實(shí)施例,一個(gè)或多個(gè)PU104配備控制端口,PU可通過(guò)該控制端口將關(guān)于要從外部存儲(chǔ)器120讀取的或要寫(xiě)入其中的數(shù)據(jù)位置的信息發(fā)送到存儲(chǔ)器存取單元108。圖1中未明確標(biāo)明數(shù)據(jù)和控制端口,而是分別依靠數(shù)據(jù)線(xiàn)112和控制線(xiàn)116進(jìn)行暗示。通過(guò)控制端口發(fā)送的關(guān)于存儲(chǔ)器存取通道的尋址信息和模式信息被指定到存儲(chǔ)器存取控制寄存器127。例如,控制寄存器127確定設(shè)定關(guān)于DMA通道的操作模式的對(duì)DMA通道以及要通過(guò)通道傳送的數(shù)據(jù)的位置標(biāo)識(shí)符。
PU104通常不了解從其中讀取數(shù)據(jù)或?qū)?shù)據(jù)寫(xiě)入其中的外部存儲(chǔ)器120中的特定位置。PU104基于對(duì)其編程的指令僅處理通過(guò)其輸入端口進(jìn)入的數(shù)據(jù),并通過(guò)其指定的輸出端口提供結(jié)果數(shù)據(jù)。輸出端口是被創(chuàng)建用于將結(jié)果數(shù)據(jù)傳遞到外部存儲(chǔ)器120中的特定位置的數(shù)據(jù)路徑的一部分。主機(jī)控制器(未示出)可用于正常地指示和編程PU,以便從經(jīng)由編程的數(shù)據(jù)路徑邏輯連接到存儲(chǔ)器存取單元108的一個(gè)或多個(gè)數(shù)據(jù)端口讀取數(shù)據(jù)并向其寫(xiě)入數(shù)據(jù)。但在圖1的實(shí)施例中,一個(gè)或多個(gè)PU104還能向存儲(chǔ)器存取單元108發(fā)送讀取或?qū)懭胝?qǐng)求,從而使主機(jī)控制器免除這些任務(wù)。一個(gè)或多個(gè)PU104中的該存儲(chǔ)器尋址能力允許處理器作為一整體更好地適合于處理其中要處理的下一個(gè)輸入數(shù)據(jù)塊不被連續(xù)存儲(chǔ)在存儲(chǔ)器中的特定應(yīng)用。接著處理器的更詳細(xì)描述,將描述示例視頻解碼應(yīng)用,以說(shuō)明PU104的附加的存儲(chǔ)器尋址性能的某些好處。
處理器的存儲(chǔ)器存取單元108可以是直接存儲(chǔ)器存取(DMA)單元,它可讀取和寫(xiě)入外部存儲(chǔ)器120而不受中央處理單元(CPU)124的干擾。存儲(chǔ)器存取單元108用于將從一個(gè)或多個(gè)PU104的控制部分、CPU124或外部主機(jī)控制器(未示出)接收的較高等級(jí)的讀取和寫(xiě)入命令變換成較低等級(jí)的存儲(chǔ)器存取命令。該較高等級(jí)的讀取和寫(xiě)入命令可以是應(yīng)用專(zhuān)用的,例如專(zhuān)用于視頻、文檔或音頻應(yīng)用。作為示例,PU104可對(duì)存儲(chǔ)器存取單元108生成一讀取請(qǐng)求,用于存取圖像數(shù)據(jù)的給定幀,但將跳過(guò)特定象素。作為另一個(gè)示例,讀取請(qǐng)求可僅用于整個(gè)圖像幀的特定塊。例如,這種高等級(jí)請(qǐng)求可簡(jiǎn)單地參照顯示器上的笛卡爾坐標(biāo)給出的象素位置。在響應(yīng)中,存儲(chǔ)器存取單元108生成的存儲(chǔ)器存取命令將參照外部存儲(chǔ)器120中的存儲(chǔ)象素值的特定地址。在某些情況中,還需要圖1所示的存儲(chǔ)器接口電路128,以確保這些較低等級(jí)的存儲(chǔ)器存取滿(mǎn)足外部存儲(chǔ)器120的信號(hào)電平和計(jì)時(shí)需要。一些DMA通道是可用的,以請(qǐng)求讀取和寫(xiě)入業(yè)務(wù),并將數(shù)據(jù)傳送到外部存儲(chǔ)器和傳送來(lái)自外部存儲(chǔ)器的數(shù)據(jù)。
圖1所示的處理器還具有用于外部裝置(未示出)的I/O接口132。可以看到,PU104的某些輸出和輸入數(shù)據(jù)端口,且特別是外圍PU1和PU4的那些端口耦合到I/O接口132。接口132允許輸入數(shù)據(jù)和結(jié)果數(shù)據(jù)在PU104和諸如硬盤(pán)驅(qū)動(dòng)器、CD-ROM驅(qū)動(dòng)器和視頻顯示器的外部裝置之間傳送。接口132因此可設(shè)計(jì)成在PU104的數(shù)據(jù)端口所需的信令和并行計(jì)算機(jī)外圍總線(xiàn)或高速串行總線(xiàn)的信令之間進(jìn)行變換。接口132可用于音頻或視頻數(shù)據(jù)的輸入和結(jié)果流。或者,如整個(gè)圖像幀的所有輸入和結(jié)果數(shù)據(jù)可存入外部存儲(chǔ)器120中,且僅當(dāng)完成所有處理后,才將結(jié)果數(shù)據(jù)傳送到海量存儲(chǔ)裝置或其它外圍設(shè)備。
為了相對(duì)于外部存儲(chǔ)器進(jìn)一步改善處理器的性能,可提供附加的存儲(chǔ)器存取單元136,它經(jīng)由分開(kāi)的存儲(chǔ)器接口138允許PU104也使用附加外部存儲(chǔ)器140中可用的存儲(chǔ)量。在這種實(shí)施例中,PU1-PU3的北側(cè)上的數(shù)據(jù)端口與第一存儲(chǔ)器存取單元108耦合,同時(shí)PU4-PU6的南側(cè)上的數(shù)據(jù)端口與第二存儲(chǔ)器存取單元136耦合。為允許PU1-PU3對(duì)外部存儲(chǔ)器140(南側(cè)上)的存取,PU1-PU3的南側(cè)數(shù)據(jù)端口耦合到PU4-PU6的北側(cè)數(shù)據(jù)端口。
圖1所示的處理器實(shí)施例還具有CPU124??稍O(shè)置于具有PU104的芯片上的CPU124讀取和執(zhí)行配置PU104的數(shù)據(jù)端口和存儲(chǔ)器存取單元108、136的指令,以形成從任一PU104到外部存儲(chǔ)器120、140的數(shù)據(jù)通道。可將形成通過(guò)數(shù)據(jù)端口的網(wǎng)狀結(jié)構(gòu)的數(shù)據(jù)路徑以及向PU104指示它們的各自任務(wù)的功能改為委派給外部主機(jī)控制器(未示出)。圖2將用于說(shuō)明PU之間形成多個(gè)數(shù)據(jù)路徑過(guò)程中數(shù)據(jù)端口的靈活性。
圖2示出了處理器的另一個(gè)實(shí)施例中兩點(diǎn)之間形成的示例數(shù)據(jù)路徑。該實(shí)施例中,有8個(gè)PU104且示出使PU1與PU8相鏈接的5條數(shù)據(jù)路徑。每個(gè)PU104都具有在每個(gè)側(cè)邊上與四組數(shù)據(jù)線(xiàn)112連接的數(shù)據(jù)端口(未示出控制端口和響應(yīng)的控制線(xiàn)116,但可參見(jiàn)圖1)。數(shù)據(jù)端口網(wǎng)支持從任一PU104到另一個(gè)并通過(guò)數(shù)據(jù)通道到外部存儲(chǔ)器120、140的數(shù)據(jù)流。外部存儲(chǔ)器120、140可以是專(zhuān)用的緩沖型固態(tài)存儲(chǔ)器,適合于相對(duì)高速存取和相對(duì)大量存取,用于諸如文檔處理以及視頻和音頻處理的應(yīng)用中。或者,外部存儲(chǔ)器120、140可以是電子系統(tǒng)中的主機(jī)控制器(未示出)的主存儲(chǔ)器或其它主存儲(chǔ)器的一部分。外部存儲(chǔ)器120、140可由雙倍數(shù)據(jù)率或同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器構(gòu)成;適合于處理器的特殊應(yīng)用的其它類(lèi)型的固態(tài)存儲(chǔ)器也可使用。
如上所述,數(shù)據(jù)端口可配置成在處理器中的任兩點(diǎn)之間建立邏輯連接。該實(shí)施例中數(shù)據(jù)端口網(wǎng)的配置由經(jīng)由計(jì)算機(jī)外圍總線(xiàn)(未示出)通過(guò)主機(jī)接口139連接的主機(jī)處理器(未示出)加以控制。相對(duì)低速的全局總線(xiàn)(未示出)將主機(jī)接口139連接到所有PU104、存儲(chǔ)器存取單元108以及處理器的其它組件。該全局總線(xiàn)用于通過(guò)加載用于PU104的指令或微碼以及讀取狀態(tài)寄存器(未示出)來(lái)配置或編程處理器。此外,邊遠(yuǎn)PU中的每一個(gè),即PU1、PU5、PU4、PU8,具有耦合到各擴(kuò)展接口(EI)單元141的一對(duì)數(shù)據(jù)端口。EI單元141允許數(shù)據(jù)端口通信網(wǎng)在多個(gè)處理器上擴(kuò)展,并允許如上所述的諸如視頻顯示器、硬盤(pán)驅(qū)動(dòng)器和打印機(jī)的外部外圍裝置連接到處理器。
PU104可以是分別具有一些側(cè)邊的基本一致的單元,其中每個(gè)側(cè)邊都具有多個(gè)單向數(shù)據(jù)端口,其中的至少一個(gè)數(shù)據(jù)端口是輸入端口且至少一個(gè)是輸出端口。圖2的實(shí)施例中,來(lái)自相鄰PU104的每對(duì)數(shù)據(jù)端口的耦合的類(lèi)型是點(diǎn)對(duì)點(diǎn)的單向連接。數(shù)據(jù)端口和它們與每個(gè)PU的編程單元的連接(以下聯(lián)系圖4-7進(jìn)行描述)的設(shè)計(jì)使得每個(gè)PU內(nèi)的編程單元不需要涉及通過(guò)PU的數(shù)據(jù)端口傳送的任何數(shù)據(jù)。因此,圖2所示的示例中,實(shí)際讀取或?qū)懭胨婕暗臄?shù)據(jù)端口的PU104只是PU1和PU8。注意,這些兩個(gè)PU之間可配置的5個(gè)不同的可能數(shù)據(jù)路徑示出了數(shù)據(jù)端口網(wǎng)狀結(jié)構(gòu)的靈活性。為清楚起見(jiàn),圖2中未示出PU1和PU8之間所有可能的數(shù)據(jù)路徑;此外,現(xiàn)在清楚的是,僅有通過(guò)存儲(chǔ)器存取單元108或136的任何期望數(shù)據(jù)通路,任一PU104和外部存儲(chǔ)器120或140之間可形成類(lèi)似的可編程數(shù)據(jù)路徑。
期望允許存儲(chǔ)器存取單元108的控制寄存器127(參見(jiàn)圖1)經(jīng)由一個(gè)或多個(gè)PU104的控制端口被寫(xiě)入,以使處理器作為一整體更好地適合于視頻處理應(yīng)用,其中需要處理的輸入數(shù)據(jù)的位置不總是逐塊漸進(jìn)或順序地變化。作為一示例,考慮視頻壓縮,其中通過(guò)生成指向由于場(chǎng)景運(yùn)動(dòng)引起的從前一幀起的圖像塊位置變化的當(dāng)前幀的運(yùn)動(dòng)矢量,在壓縮階段減少了幀到幀的暫時(shí)冗余?,F(xiàn)在考慮解碼或解壓縮階段,其中PU1被指示解碼輸入的視頻數(shù)據(jù)以重建“當(dāng)前”幀。該輸入的視頻數(shù)據(jù)也可包括運(yùn)動(dòng)矢量。因?yàn)檫\(yùn)動(dòng)矢量指向前一幀中的圖像數(shù)據(jù)塊,所以需要對(duì)外部存儲(chǔ)器的分開(kāi)存取以取得該塊。換句話(huà)說(shuō),運(yùn)動(dòng)矢量指向存儲(chǔ)在外部存儲(chǔ)器120中并需要被復(fù)制以解碼當(dāng)前幀的先前幀的圖像塊。注意,在解碼過(guò)程開(kāi)始前,主機(jī)控制器不知道該塊的精確顯示位置(x,y)。但,一旦信息對(duì)處理單元(例如,PU1)可用,則可如下迅速如下地執(zhí)行對(duì)外部存儲(chǔ)器的存取。首先,PU1通過(guò)其控制端口發(fā)送命令,以便經(jīng)由存儲(chǔ)器存取單元的某一數(shù)據(jù)通道Z從位置(x,y)讀取。這就形成用與運(yùn)動(dòng)矢量有關(guān)的尋址和模式信息(在本例中,經(jīng)由數(shù)據(jù)通路Z從位置(x,y)讀取)配置存儲(chǔ)器存取單元108的控制寄存器127。隨后,由存儲(chǔ)器存取單元108取得讀取的數(shù)據(jù)并通過(guò)通道Z使其可用。由于先前在存儲(chǔ)器存取單元的通道Z和PU5之間編程了邏輯數(shù)據(jù)路徑(例如,通過(guò)外部主機(jī)控制器),所以由運(yùn)動(dòng)矢量指向的圖像塊將通過(guò)該路徑予以路由并進(jìn)入PU5。如前所述,PU5隨后處理該數(shù)據(jù),并將結(jié)果數(shù)據(jù),包括本例中由PU5基于運(yùn)動(dòng)矢量并根據(jù)某些先前編程的算法生成的解碼宏塊寫(xiě)回到當(dāng)前幀的外部存儲(chǔ)器。
通常,向一個(gè)或多個(gè)PU104提供關(guān)于什么尋址信息可發(fā)送到外部存儲(chǔ)器的控制對(duì)處理器來(lái)說(shuō)會(huì)整體上產(chǎn)生較大的編程自由度和靈活性。提供一個(gè)或多個(gè)PU中控制端口會(huì)允許PU104中包含算法的更多邏輯復(fù)雜性,因此使CPU124(參見(jiàn)圖1)或主機(jī)控制器(未示出)更可用于處理運(yùn)行應(yīng)用程序的更復(fù)雜任務(wù)。添加控制端口不會(huì)不利地影響數(shù)據(jù)端口網(wǎng)狀結(jié)構(gòu)的好處,它保留了數(shù)據(jù)驅(qū)動(dòng)架構(gòu)的優(yōu)點(diǎn)(包括減少計(jì)時(shí)問(wèn)題和改善功率效率),多PU的并行處理能力,以及PU設(shè)計(jì)的可縮放性和模塊性。
仍參考圖2,存儲(chǔ)器接口電路128可以與所有PU104的存儲(chǔ)器存取單元108和主機(jī)接口139一起在芯片內(nèi)?;蛘?,這些組件可以是多芯片封裝的一部分,例如其中每個(gè)PU104位于分開(kāi)芯片上。
現(xiàn)轉(zhuǎn)到圖3,示出了包含上述數(shù)據(jù)驅(qū)動(dòng)處理器304的電子系統(tǒng)的框圖。系統(tǒng)可以是可處理預(yù)備顯示或播放(例如,解壓縮視頻或音頻文件)、存儲(chǔ)(例如,在存儲(chǔ)前被壓縮)或打印的圖像、音頻或其它媒體的計(jì)算或通信裝置的任何形式。該系統(tǒng)具有連接器308,它允許處理器304例如經(jīng)由I/O接口132(參見(jiàn)圖1)將其結(jié)果數(shù)據(jù)直接提供給外圍設(shè)備(未示出)。該系統(tǒng)還具有主機(jī)控制器310,它經(jīng)由總線(xiàn)314與處理器304連通,總線(xiàn)314可以是串行或并行計(jì)算機(jī)外圍總線(xiàn)。主機(jī)控制器310配置成執(zhí)行應(yīng)用程序,諸如以上給出的視頻解碼示例,包含特別適于由如處理器304所提供的數(shù)據(jù)驅(qū)動(dòng)架構(gòu)執(zhí)行的任務(wù)。主機(jī)控制器310可包括嵌入處理器及其相關(guān)的主存儲(chǔ)器(未示出)。
處理器304處理的內(nèi)容數(shù)據(jù)可存入外部存儲(chǔ)器316(例如,整個(gè)圖像幀)并可經(jīng)由上述數(shù)據(jù)端口網(wǎng)狀連接由處理器304的各處理單元存取。處理器304中的主機(jī)接口單元(未示出)將接收來(lái)自主機(jī)控制器310的指令,它向各處理單元指示它們的任務(wù)并形成從處理單元通過(guò)數(shù)據(jù)單元到外部存儲(chǔ)器316的數(shù)據(jù)路徑。處理器304在其一個(gè)或多個(gè)處理單元中還增加控制端口,用于將數(shù)據(jù)通道尋址信息寫(xiě)到處理器304的存儲(chǔ)器存取單元。圖3所示的系統(tǒng)還具有燃料電池或可充電電池330,它被耦合成經(jīng)由電壓調(diào)節(jié)器(VR)模塊334向外部存儲(chǔ)器316、主機(jī)控制器310和處理器304供電。當(dāng)然,如果燃料電池或可充電電池330的輸出電壓足夠穩(wěn)定以滿(mǎn)足外部存儲(chǔ)器、處理器和主機(jī)控制器的需要,則不需要VR模塊334。
現(xiàn)參考圖4,示出了PU104的框圖。該實(shí)施例中,PU104有一個(gè)或多個(gè)核心編程單元(PE),它被編程以執(zhí)行對(duì)經(jīng)由8個(gè)輸入數(shù)據(jù)端口408中的任一個(gè)接收的輸入數(shù)據(jù)進(jìn)行操作的指令。每個(gè)PE都具有指令存儲(chǔ)器以及算術(shù)和邏輯單元(ALU),它們實(shí)現(xiàn)基線(xiàn)指令組架構(gòu)。此外,可以向一個(gè)或多個(gè)PE416添加乘法和累加功能(MAC)單元。附加的PE包括一個(gè)或多個(gè)加速器單元420(例如,用于執(zhí)行諸如二進(jìn)制補(bǔ)碼乘法和專(zhuān)用數(shù)字過(guò)濾特殊操作),并且還設(shè)置具有用于PU104內(nèi)的數(shù)據(jù)、參數(shù)常量和指令的本地存儲(chǔ)的集成數(shù)據(jù)RAM的存儲(chǔ)器命令處理機(jī)(MCH)424。輸入PE428可從UP104的輸入數(shù)據(jù)端口408中的任一個(gè)中讀取數(shù)據(jù),同時(shí)輸出PE432可將結(jié)果數(shù)據(jù)寫(xiě)到多個(gè)輸出數(shù)據(jù)端口436中的任一個(gè)。一組通用寄存器440允許數(shù)據(jù)根據(jù)預(yù)定信號(hào)量協(xié)議在PE之間交換。參見(jiàn)Vavro的美國(guó)專(zhuān)利申請(qǐng)出版物No.US2002/0147768,它說(shuō)明了具有經(jīng)由一些通用寄存器耦合在一起的多個(gè)處理單元的數(shù)據(jù)驅(qū)動(dòng)數(shù)字信號(hào)處理器的另一示例。注意,圖4的實(shí)施例中,PU104的每個(gè)核心PE都可執(zhí)行其指令,與通過(guò)該P(yáng)U的一對(duì)輸入和輸出數(shù)據(jù)端口408、436操作的數(shù)據(jù)路徑無(wú)關(guān)。換句話(huà)說(shuō),輸入數(shù)據(jù)端口408、輸入PE428、通用寄存器440、輸出PE432和輸出數(shù)據(jù)端口424之間有數(shù)據(jù)路徑,而不依賴(lài)于PE412、416、加速器單元420和MCH424的操作。以下聯(lián)系圖5-7給出關(guān)于輸入和輸出數(shù)據(jù)端口408和436的其它細(xì)節(jié)。
現(xiàn)轉(zhuǎn)到圖5,示出了輸入數(shù)據(jù)端口408的部分框圖(參見(jiàn)圖4)。輸入數(shù)據(jù)端口408從其它PU接收數(shù)據(jù)。輸入數(shù)據(jù)端口借助請(qǐng)求/準(zhǔn)許協(xié)議進(jìn)行通信,其中請(qǐng)求(Request)與數(shù)據(jù)(Data)一起從PU外部發(fā)出。在接受數(shù)據(jù)時(shí),輸入數(shù)據(jù)端口返回準(zhǔn)許(Grant)。在該實(shí)施例中,請(qǐng)求/準(zhǔn)許協(xié)議要求只要請(qǐng)求和準(zhǔn)許信號(hào)在輸入時(shí)鐘信號(hào)的活動(dòng)邊上是活動(dòng)的就傳送數(shù)據(jù)。該輸入數(shù)據(jù)暫時(shí)存入先進(jìn)先出(FIFO)緩沖器510。因此,將數(shù)據(jù)存入FIFO510,直到接收了來(lái)自一些所謂發(fā)送器P0-P7之一的準(zhǔn)許信號(hào)。提供多路復(fù)用器514,以選擇來(lái)自與輸入數(shù)據(jù)端口408相連的裝置的這些準(zhǔn)許信號(hào)(本例中共8個(gè))中的一個(gè)。輸入數(shù)據(jù)端口408可由寄存器設(shè)定編程,該寄存器設(shè)定控制到多路復(fù)用器514的選擇輸入,以確定8個(gè)發(fā)送器中的哪一個(gè)接收來(lái)自FIFO510的數(shù)據(jù)。該寄存器設(shè)定可在發(fā)生進(jìn)入FIFO510的數(shù)據(jù)傳送之前或之后改變。
該實(shí)例中,8個(gè)可能的準(zhǔn)許信號(hào)指的是該P(yáng)U的7個(gè)(總共8個(gè)中的)輸出數(shù)據(jù)端口,加上該P(yáng)U104的輸入PE428(參見(jiàn)圖4)。注意,本例中有8個(gè)可能的準(zhǔn)許信號(hào),因?yàn)橹挥?個(gè)可轉(zhuǎn)發(fā)數(shù)據(jù)的輸出數(shù)據(jù)端口而第八個(gè)數(shù)據(jù)端口簡(jiǎn)單地對(duì)應(yīng)于與輸入數(shù)據(jù)端口408相關(guān)聯(lián)的一個(gè)。如圖5所示,還有用于傳送來(lái)自FIFO510的接收到的數(shù)據(jù)、請(qǐng)求和初始化信號(hào)到PU104中的所有其它裝置(本例中8個(gè))的路徑。
初始化(Init)信號(hào)被傳遞通過(guò)構(gòu)成數(shù)據(jù)路徑的每個(gè)數(shù)據(jù)端口。因此,如果數(shù)據(jù)端口在數(shù)據(jù)的源點(diǎn)處被初始化,Init信號(hào)將傳播通過(guò)作為數(shù)據(jù)路徑的整個(gè)邏輯連接,從而初始化整個(gè)數(shù)據(jù)路徑。Init信號(hào)像數(shù)據(jù)那樣被登記并通過(guò)數(shù)據(jù)端口,以防止通過(guò)處理器中長(zhǎng)的邏輯連接所累積的傳播延遲。所有數(shù)據(jù)端口接口信號(hào)都可按此方式處理,包括數(shù)據(jù)和請(qǐng)求信號(hào),以防止通過(guò)邏輯連接的較大組合延遲。允許輸入數(shù)據(jù)端口的封裝引線(xiàn)和輸出數(shù)據(jù)端口的封裝引線(xiàn)之間建立邏輯連接的輸入數(shù)據(jù)端口408的其它實(shí)現(xiàn)也是可以的。圖6示出了輸出數(shù)據(jù)端口436的部分框圖。
圖6所示的輸出數(shù)據(jù)端口436也稱(chēng)作“發(fā)送器”端口,因?yàn)樗鼘?shù)據(jù)發(fā)送到其它PU104。提供了一組三個(gè)多路復(fù)用器614,以選擇將從PU發(fā)送出去的請(qǐng)求、數(shù)據(jù)和Init信號(hào)。注意,在該實(shí)施例中,每個(gè)多路復(fù)用器614都具有8個(gè)輸入,它們對(duì)應(yīng)于PU的7個(gè)輸入數(shù)據(jù)端口加上一個(gè)輸出PE432(參見(jiàn)圖4)。再一次,到多路復(fù)用器614的選擇輸入可由在發(fā)生數(shù)據(jù)傳送之前或之后變化的寄存器來(lái)加以設(shè)定控制。
選擇的請(qǐng)求、數(shù)據(jù)和Init信息被置于FIFO620中的暫時(shí)存儲(chǔ)裝置中。如同在以上聯(lián)系圖5描述的輸入數(shù)據(jù)端口408的情況中,輸出數(shù)據(jù)端口的FIFO620響應(yīng)于從PU外部的裝置接收的準(zhǔn)許提供緩沖的請(qǐng)求、數(shù)據(jù)和Init信息。
FIFO510和FIFO620的組合可示作圖7中的2-深(2-deep)FIFO720。該2-深FIFO720是通過(guò)給定PU的邏輯連接的一部分,它是由輸入數(shù)據(jù)端口和輸出數(shù)據(jù)端口構(gòu)成的。在輸出側(cè),data_in、request_in和init_in被接收并存入FIFO720,且當(dāng)已接受該組輸入信息時(shí)信令是grant_in。FIFO720是響應(yīng)于從PU外部的裝置接收grant_out信號(hào)發(fā)送data_out、request_out和init_out的編程邏輯連接的一部分。如上所述,該接口信號(hào)按一定方式處理,以防止通過(guò)邏輯連接的較大組合延遲。這有助于系統(tǒng)片內(nèi)設(shè)計(jì),而不用特別關(guān)注數(shù)據(jù)路徑路由。數(shù)據(jù)端口之間的所有路由都可以是簡(jiǎn)單的點(diǎn)對(duì)點(diǎn)連接,它如上所述地登記于每個(gè)數(shù)據(jù)端口中。該邏輯連接由用于多路復(fù)用器514(圖5)和614(圖6)的簡(jiǎn)單寄存器設(shè)定進(jìn)行編程。但,用于通過(guò)PU104的邏輯連接的其它實(shí)現(xiàn)也是可以的。
現(xiàn)轉(zhuǎn)到圖8,該圖示出了適合于靈活的數(shù)據(jù)驅(qū)動(dòng)架構(gòu)的普遍數(shù)據(jù)處理方法的流程圖。操作從框804開(kāi)始,其中第一組指令和輸入數(shù)據(jù)被提供給數(shù)據(jù)驅(qū)動(dòng)處理器的第一處理單元(PU)。如以上所建議的,這些指令和輸入數(shù)據(jù)(以及使輸入數(shù)據(jù)到達(dá)第一PU的數(shù)據(jù)路徑)可通過(guò)處理器的相對(duì)低速的全局控制總線(xiàn)由片載CPU或外部主機(jī)控制器配合和配置。此外,為第一PU配置一個(gè)或多個(gè)控制路徑,以便將存儲(chǔ)器通道尋址信息發(fā)送到處理器的存儲(chǔ)器存取單元。
在第一PU對(duì)輸入數(shù)據(jù)進(jìn)行操作時(shí),它了解到該第一組指令要求從外部存儲(chǔ)器讀取或?qū)懭朐撏獠看鎯?chǔ)器。因此,隨后以框808繼續(xù)操作,其中第一PU請(qǐng)求存儲(chǔ)器存取單元(經(jīng)由控制路徑)取得或期待給定存儲(chǔ)器通道上的數(shù)據(jù)。先前創(chuàng)建處理器的第二PU和外部存儲(chǔ)器之間的邏輯數(shù)據(jù)路徑(經(jīng)由給定的存儲(chǔ)器通道),以便在外部存儲(chǔ)器和第二PU之間傳送附加數(shù)據(jù)。根據(jù)本發(fā)明的實(shí)施例,上述添加的控制端口結(jié)構(gòu)用于允許第一PU指定要傳送數(shù)據(jù)的位置,通過(guò)先前編程的外部存儲(chǔ)器和第二PU之間的數(shù)據(jù)路徑。該邏輯數(shù)據(jù)路徑可通過(guò)數(shù)據(jù)端口網(wǎng)狀結(jié)構(gòu)被路由,該網(wǎng)狀結(jié)構(gòu)獨(dú)立于每個(gè)處理單元內(nèi)的個(gè)別編程單元。
作為示例,第一PU可了解第一組指令中的圖像處理運(yùn)動(dòng)矢量。在這種情況中,附加數(shù)據(jù)將被寫(xiě)入外部存儲(chǔ)器,并包括將由第二PU基于運(yùn)動(dòng)矢量生成的宏塊。諸如音頻壓縮的許多其它類(lèi)型的數(shù)據(jù)驅(qū)動(dòng)應(yīng)用也可從這種附加性能中受益。
圖9示出了用于數(shù)據(jù)驅(qū)動(dòng)處理器的控制端口網(wǎng)狀結(jié)構(gòu)的高等級(jí)框圖。圖中為便于理解,僅示出控制端口網(wǎng)狀結(jié)構(gòu)。本發(fā)明的該實(shí)施例中,DMA單元是從屬于PU,其中DMA通道不能啟動(dòng)命令;相反,對(duì)DMA通道的所有命令都由PU的北或南控制端口啟動(dòng)。該示例中的每個(gè)PU都包含被標(biāo)記為北、東、南和西的四個(gè)控制端口組。每一個(gè)都具有端口0和端口1。例如,PU1的E1端口接收命令同時(shí)E0發(fā)送命令(當(dāng)被配置成為網(wǎng)狀結(jié)構(gòu)中的控制路徑的一部分)。點(diǎn)對(duì)點(diǎn)總線(xiàn)連接由來(lái)自相鄰PU(或來(lái)自一PU和一DMA單元)的一對(duì)控制端口支持。
發(fā)送器端口和接收器端口(PU之外)之間點(diǎn)對(duì)點(diǎn)連接可用具有命令部分和狀態(tài)部分的并行總線(xiàn)構(gòu)成。命令部分可具有16比特總線(xiàn)并用于發(fā)送去往DMA單元并用于DMA單元的特殊數(shù)據(jù)通道的配置指令。狀態(tài)總線(xiàn)可具備3比特,它們用于將數(shù)據(jù)通道的狀態(tài)發(fā)送回命令啟動(dòng)器。除了使用初始化(Init)信號(hào)之外,可使用請(qǐng)求和準(zhǔn)許信令協(xié)議,類(lèi)似于上述數(shù)據(jù)端口鏈接。因此,完整命令的發(fā)送要花兩個(gè)時(shí)鐘周期。現(xiàn)參考圖10,在第一個(gè)周期中,可發(fā)送控制字1004,在第二周期中繼之以控制端口_數(shù)據(jù)字(control port_data word)1008,以完成一命令。如圖10所示,控制字包括路由信息(路由標(biāo)識(shí)符,RID),它幫助控制端口將命令路由到它們的正確目的地。更特別地,接收器端口基于RID比特(在本例中指明端口0或端口1以及命令是否指明讀取或?qū)懭胪ǖ?確定命令的目的地。再調(diào)用該命令的最終目的地將是設(shè)置數(shù)據(jù)通道(如上所述,通過(guò)數(shù)據(jù)端口可用)用于服務(wù)所請(qǐng)求的讀取或?qū)懭朊畹囊籇MA單元。根據(jù)它是0端口還是1端口,端口比特(RID#1)可在發(fā)送器端口中被硬接線(xiàn)。R/W比特由命令啟動(dòng)器驅(qū)動(dòng)并將不變地通過(guò)控制路徑中的控制端口。
控制字1004還包括REG_SEL比特,在本例中是4個(gè),用于定義數(shù)據(jù)信道的配置。例如,按照0000的REG_SEL值的控制端口_數(shù)據(jù)字1008可用于信令存儲(chǔ)器傳送的開(kāi)始。另一命令可引用用于讀取或?qū)懭?CH_ADDRX和CH_ADDRY)的(x,y)數(shù)據(jù)位置。圖10中定義了各種其它類(lèi)型的命令,其中這些特別適合于靜止和視頻圖像處理應(yīng)用。其它應(yīng)用可具有不同的命令集合,盡管多數(shù)包括允許DMA單元從外部存儲(chǔ)器讀取內(nèi)容數(shù)據(jù)或?qū)?nèi)容數(shù)據(jù)寫(xiě)入其中的數(shù)據(jù)位置和尋址信息的至少某些形式。注意,在數(shù)據(jù)端口網(wǎng)狀結(jié)構(gòu)中,該數(shù)據(jù)路徑可先前例如由主機(jī)控制器配置。
仍參考圖10,接收器端口可響應(yīng)于接收控制字1004和控制端口_數(shù)據(jù)字1008而發(fā)送狀態(tài)指示1012。本例中,當(dāng)出現(xiàn)以下兩個(gè)條件之一時(shí)發(fā)送狀態(tài)指示空閑計(jì)時(shí)器期滿(mǎn)或者達(dá)到條帶(swath)末端(EOS)。如果這兩種條件都未出現(xiàn),則命令啟動(dòng)器將不接收任何狀態(tài)指示。例如,如果沒(méi)有EOS條件且在最近的讀取或?qū)懭牒笤谔囟〝?shù)量的時(shí)鐘周期內(nèi)沒(méi)有存儲(chǔ)器讀取或存儲(chǔ)器寫(xiě)入活動(dòng),則空閑計(jì)時(shí)器期滿(mǎn)。在寫(xiě)入情形中,如果在該通道的前一次讀取或?qū)懭牒驞MA通道為了等待數(shù)據(jù)端口處附加內(nèi)容數(shù)據(jù)變成可用而超過(guò)特定數(shù)量的時(shí)鐘,則空閑計(jì)時(shí)器期滿(mǎn)。在寫(xiě)入情形中,如果該數(shù)據(jù)信道為了等待在給定數(shù)據(jù)路徑上從PU接收的附加內(nèi)容數(shù)據(jù)而超過(guò)特定數(shù)量的時(shí)鐘,則空閑計(jì)時(shí)器期滿(mǎn)。在讀取情形中,如果最后的內(nèi)容數(shù)據(jù)字已移出數(shù)據(jù)通道(在到PU的路上)超過(guò)特定數(shù)量的時(shí)鐘周期,空閑時(shí)間期滿(mǎn)。定義控制端口之間用于信令的請(qǐng)求和準(zhǔn)許協(xié)議的其它方式也是可以的。
注意,如果命令啟動(dòng)器接收到空間計(jì)時(shí)器期滿(mǎn)條件,則它可將控制端口控制寄存器(未示出)中的Init比特編程為預(yù)定值,從而清除控制路徑中以及與控制路徑相關(guān)的特定DMA通道中的所有命令。此外,如果已對(duì)寫(xiě)入數(shù)據(jù)通道檢測(cè)出空閑計(jì)時(shí)器期滿(mǎn)條件,命令啟動(dòng)器會(huì)將數(shù)據(jù)端口控制寄存器中的Init比特編程為預(yù)定值,從而清除數(shù)據(jù)端口路徑中的所有內(nèi)容數(shù)據(jù)以及允許寫(xiě)入數(shù)據(jù)通道通過(guò)DMA單元的隊(duì)列中的命令予以重新配置。
現(xiàn)參考圖11,示出了用于控制端口的判別器的簡(jiǎn)化示圖,該控制端口在這種情況下為北端口N0和N1之一(參見(jiàn)圖9)。判別器1104在發(fā)送器中并因此判別在本例中來(lái)自相關(guān)PU的8個(gè)可能連接路徑的請(qǐng)求(因?yàn)橛袕钠浣邮找l(fā)送的請(qǐng)求的六個(gè)控制端口,可產(chǎn)生讀取命令的輸入編程單元(IPE),以及可產(chǎn)生寫(xiě)入命令的輸出編程單元(OPE)。在其它實(shí)施例中,可以有能產(chǎn)生請(qǐng)求的少于六個(gè)或多于六個(gè)的控制端口。
現(xiàn)轉(zhuǎn)到圖12,示出了用于控制端口North0的示例選擇寄存器。本例中,有用于控制端口接收器選擇的三個(gè)比特,和用于發(fā)送器選擇的三個(gè)比特。接收器選擇比特通過(guò)指示相關(guān)PU的哪個(gè)裝置應(yīng)接收通過(guò)北端口到達(dá)的命令來(lái)編程控制端口。類(lèi)似地,發(fā)送器選擇比特(從上述可能的八個(gè)中)確定哪個(gè)裝置能通過(guò)北端口發(fā)送命令。注意,來(lái)自O(shè)PE的命令通常被引導(dǎo)到DMA寫(xiě)入通道,而來(lái)自IPE的命令被引導(dǎo)到DMA讀取通道。用于編程控制端口以用作發(fā)送器(發(fā)送命令離開(kāi)PU)和用作接收器(路由命令到PU裝置)的其它方法也是可以的。
簡(jiǎn)言之,已描述了運(yùn)行更寬范圍的應(yīng)用方面更有效的數(shù)據(jù)驅(qū)動(dòng)處理器的各種實(shí)施例。在前述說(shuō)明書(shū)中,已參考其特定的說(shuō)明性實(shí)施例描述了本發(fā)明。但顯然,可對(duì)其進(jìn)行各種修改和改變而不背離本發(fā)明的較寬精神和范圍,如所附權(quán)利要求書(shū)中所闡述的。例如,雖然圖中所示的處理器具有六個(gè)或八個(gè)PU構(gòu)成,但具有網(wǎng)狀結(jié)構(gòu)中彼此連接的少至2個(gè)PU或超過(guò)8個(gè)PU的架構(gòu)也可從向某些或全部PU添加控制端口中受益。因此,說(shuō)明書(shū)和附圖被認(rèn)為是說(shuō)明性而非限制性的。
權(quán)利要求
1.一種數(shù)據(jù)驅(qū)動(dòng)處理方法,包括提供第一組指令和輸入數(shù)據(jù)給數(shù)據(jù)驅(qū)動(dòng)處理器的第一處理單元,以對(duì)所述輸入數(shù)據(jù)進(jìn)行操作;配置數(shù)據(jù)路徑,用于在數(shù)據(jù)驅(qū)動(dòng)處理器的第二處理單元和外部存儲(chǔ)器之間傳送數(shù)據(jù);以及響應(yīng)于識(shí)別第一組指令將要求從外部存儲(chǔ)器讀取和寫(xiě)入外部存儲(chǔ)器之一,第一處理單元將尋址信息提供給處理器的存儲(chǔ)器存取單元,以啟用經(jīng)由所述數(shù)據(jù)路徑的外部存儲(chǔ)器和第二處理單元之間的附加數(shù)據(jù)的傳送。
2.如權(quán)利要求1所述的方法,其特征在于,所述第一處理單元識(shí)別所述第一組指令中的圖像處理運(yùn)動(dòng)矢量,且所述附加數(shù)據(jù)要被寫(xiě)入到外部存儲(chǔ)器并包括由第二處理單元基于運(yùn)動(dòng)矢量生成的宏塊。
3.如權(quán)利要求1所述的方法,其特征在于,數(shù)據(jù)路徑由外部主機(jī)控制器配置。
4.如權(quán)利要求1所述的方法,其特征在于,還包括第一處理單元將傳送是否是讀取和寫(xiě)入之一的指示提供給存儲(chǔ)器存取單元。
5.一種數(shù)據(jù)處理器,它包括第一直接存儲(chǔ)器存取(DMA)單元;以及多個(gè)處理單元,每一個(gè)都具有多個(gè)數(shù)據(jù)端口,這些數(shù)據(jù)端口彼此耦合并可編程,以允許數(shù)據(jù)流從任一處理單元到另一個(gè)以及從任一處理單元到DMA單元,其中處理單元之一具有控制端口,要從該控制端口發(fā)送關(guān)于設(shè)置DMA通道的信息到DMA單元,通過(guò)該DMA通道,待處理的數(shù)據(jù)之一和結(jié)果數(shù)據(jù)由處理單元之一傳送。
6.如權(quán)利要求5所述的處理器,其特征在于,還包括存儲(chǔ)器接口電路,其中DMA單元將經(jīng)由該存儲(chǔ)器接口電路存取外部存儲(chǔ)器。
7.如權(quán)利要求6所述的處理器,其特征在于,存儲(chǔ)器接口電路與DMA單元、多個(gè)處理單元和主機(jī)接口一起是片載的。
8.如權(quán)利要求6所述的處理器,其特征在于,存儲(chǔ)器接口電路被設(shè)計(jì)成與作為動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器的外部存儲(chǔ)器對(duì)接。
9.如權(quán)利要求5所述的處理器,其特征在于,所述多個(gè)處理單元是基本一致的單元,它們每一個(gè)都具有多個(gè)側(cè)邊,每個(gè)側(cè)邊都具有作為輸入端口和輸出端口的多個(gè)單向數(shù)據(jù)端口。
10.如權(quán)利要求9所述的處理器,其特征在于,輸入端口是可編程的,以便將輸入數(shù)據(jù)路由到任一輸出端口。
11.如權(quán)利要求10所述的處理器,其特征在于,多個(gè)處理單元中的每一個(gè)在每個(gè)側(cè)邊上都具有多個(gè)控制端口,包括輸入控制端口和輸出控制端口,其中處理單元的輸入控制端口是可編程的,以便使輸入命令信息路由到所述處理單元的任一輸出控制端口。
12.如權(quán)利要求9所述的處理器,其特征在于,還包括到外部裝置的接口,其中除了所述處理單元的邊遠(yuǎn)一個(gè)的某些輸出端口耦合到外部裝置接口之外,所述處理單元之一的輸出端口耦合到相鄰一個(gè)所述處理單元的輸入端口。
13.如權(quán)利要求9所述的處理器,其特征在于,還包括第二DMA單元,其中存在所述多個(gè)處理單元的至少四個(gè),所述四個(gè)處理單元的第一和第二一些單元的北側(cè)上的數(shù)據(jù)端口耦合到第一DMA單元,所述四個(gè)處理單元的第三和第四一些單元的南側(cè)上的數(shù)據(jù)端口耦合到第二DMA單元,且所述第一和第二處理單元的南側(cè)的數(shù)據(jù)端口耦合到所述第三和第四處理單元的北側(cè)的數(shù)據(jù)端口。
14.如權(quán)利要求13所述的處理器,其特征在于,還包括與外部裝置的接口,其中處理單元的東側(cè)和西側(cè)的的某些數(shù)據(jù)端口耦合到該外部裝置接口。
15.如權(quán)利要求5所述的處理器,其特征在于,還包括中央處理單元,用于讀取和執(zhí)行配置數(shù)據(jù)端口和DMA單元的指令,以便形成從處理單元之一到外部存儲(chǔ)器的數(shù)據(jù)通道。
16.如權(quán)利要求5所述的處理器,其特征在于,還包括主機(jī)接口單元,用于從外部主機(jī)控制器接收指令,它配置數(shù)據(jù)端口和DMA單元以形成從處理單元之一到外部存儲(chǔ)器的數(shù)據(jù)路徑。
17.一種系統(tǒng),包括主機(jī)控制器;外部存儲(chǔ)器;數(shù)據(jù)驅(qū)動(dòng)處理器,它具有與外部存儲(chǔ)器對(duì)接的存儲(chǔ)器存取單元,每一個(gè)都具有多個(gè)數(shù)據(jù)端口的多個(gè)處理單元,這些數(shù)據(jù)端口彼此耦合并可編程,以允許數(shù)據(jù)流從任一處理單元到另一個(gè)以及從任一處理單元到存儲(chǔ)器存取單元,以及用于從外部主機(jī)控制器接收指令的主機(jī)接口單元,這些指令配置數(shù)據(jù)端口和存儲(chǔ)器單元以形成從處理單元之一通過(guò)數(shù)據(jù)通道到達(dá)外部存儲(chǔ)器的數(shù)據(jù)路徑,其中處理單元之一具有用于將數(shù)據(jù)位置信息寫(xiě)到存儲(chǔ)器存取單元的控制端口;以及可充電電池和燃料電池之一,它被耦合以向外部存儲(chǔ)器、主機(jī)控制器和數(shù)據(jù)驅(qū)動(dòng)處理器供電。
18.如權(quán)利要求17所述的系統(tǒng),其特征在于,所述主機(jī)控制器包括嵌入處理器和其有關(guān)的主存儲(chǔ)器。
19.如權(quán)利要求17所述的系統(tǒng),其特征在于,來(lái)自相鄰處理單元的每對(duì)數(shù)據(jù)端口的耦合是點(diǎn)對(duì)點(diǎn)的單向連接。
20.如權(quán)利要求19所述的系統(tǒng),其特征在于,每個(gè)處理單元都具有核心編程元件(PE),它可被編程以執(zhí)行對(duì)經(jīng)由處理單元的輸入數(shù)據(jù)端口接收的輸入數(shù)據(jù)進(jìn)行操作的指令,可從處理單元的多個(gè)輸入數(shù)據(jù)端口中的任一個(gè)讀取數(shù)據(jù)的輸入PE,以及可將數(shù)據(jù)寫(xiě)到處理單元的多個(gè)輸出數(shù)據(jù)端口中的任一個(gè)的輸出PE。
21.如權(quán)利要求20所述的系統(tǒng),其特征在于,每個(gè)處理單元的核心PE可執(zhí)行其指令而與通過(guò)處理單元的一對(duì)所述輸入和輸出數(shù)據(jù)端口進(jìn)行操作的數(shù)據(jù)路徑無(wú)關(guān)。
22.如權(quán)利要求17所述的系統(tǒng),其特征在于,通過(guò)控制端口發(fā)送的數(shù)據(jù)位置信息包括關(guān)于圖像數(shù)據(jù)塊的大小和顯示位置的信息。
23.一種系統(tǒng),包括外部存儲(chǔ)器;數(shù)據(jù)驅(qū)動(dòng)處理器,它具有與外部存儲(chǔ)器對(duì)接的存儲(chǔ)器存取單元,每一個(gè)都具有多個(gè)數(shù)據(jù)端口的多個(gè)處理單元,這些數(shù)據(jù)端口彼此耦合并可編程,以允許數(shù)據(jù)流從任一處理單元到另一個(gè)以及從任一處理單元到存儲(chǔ)器存取單元,以及用于接收和執(zhí)行指令的中央處理單元,這些指令配置數(shù)據(jù)端口和存儲(chǔ)器單元以形成從處理單元之一通過(guò)數(shù)據(jù)通道到達(dá)外部存儲(chǔ)器的數(shù)據(jù)路徑,其中處理單元之一具有用于將數(shù)據(jù)通道信息寫(xiě)到存儲(chǔ)器存取單元的控制端口;以及可充電電池和燃料電池之一,它被耦合以向外部存儲(chǔ)器和數(shù)據(jù)驅(qū)動(dòng)處理器供電。
24.如權(quán)利要求17所述的系統(tǒng),其特征在于,每個(gè)處理單元都具有多個(gè)控制端口,它們?cè)诰W(wǎng)狀結(jié)構(gòu)中彼此連接以使包括讀取和寫(xiě)入命令、地址和存儲(chǔ)器存取單元通道標(biāo)識(shí)符之一的數(shù)據(jù)通道信息能從任一處理單元產(chǎn)生并經(jīng)由網(wǎng)狀結(jié)構(gòu)中被編程的邏輯控制通道被路由到存儲(chǔ)器存取單元。
25.如權(quán)利要求23所述的系統(tǒng),其特征在于,來(lái)自相鄰處理單元的每對(duì)數(shù)據(jù)端口的耦合是點(diǎn)對(duì)點(diǎn)的單向連接。
26.如權(quán)利要求23所述的系統(tǒng),其特征在于,每個(gè)處理單元都具有多個(gè)控制端口,它們彼此耦合并可編程,以允許數(shù)據(jù)通道信息從任一處理單元被發(fā)送到存儲(chǔ)器存取單元。
27.一種數(shù)據(jù)處理器,包括用于將較高等級(jí)的讀取和寫(xiě)入命令變換成較低等級(jí)的存儲(chǔ)器存取命令的裝置;用于處理數(shù)據(jù)的多個(gè)裝置;用于實(shí)現(xiàn)可編程數(shù)據(jù)路徑從而將數(shù)據(jù)提供給所述多個(gè)數(shù)據(jù)處理裝置中的任一個(gè)并從它接受數(shù)據(jù)的裝置;用于從除所述多個(gè)數(shù)據(jù)處理裝置之外接收指令以配置可編程數(shù)據(jù)路徑實(shí)現(xiàn)裝置、多個(gè)數(shù)據(jù)處理裝置和較高等級(jí)讀取和寫(xiě)入變換裝置的裝置;以及用于實(shí)現(xiàn)可編程控制路徑以便將較高等級(jí)的讀取和寫(xiě)入命令從所述多個(gè)數(shù)據(jù)處理裝置之一傳送到較高等級(jí)的讀取和寫(xiě)入變換裝置的裝置。
28.如權(quán)利要求27所述的處理器,其特征在于,還包括用于確保所述較低等級(jí)的存儲(chǔ)器存取滿(mǎn)足外部存儲(chǔ)器的信號(hào)等級(jí)和計(jì)時(shí)要求的裝置。
29.如權(quán)利要求27所述的處理器,其特征在于,還包括用于擴(kuò)展數(shù)據(jù)處理器的裝置。
全文摘要
將第一組指令和輸入數(shù)據(jù)提供給數(shù)據(jù)驅(qū)動(dòng)處理器的第一處理單元,以便對(duì)輸入數(shù)據(jù)進(jìn)行操作。響應(yīng)于識(shí)別第一組指令將要求從外部存儲(chǔ)器讀取或?qū)懭胪獠看鎯?chǔ)器,第一處理單元設(shè)置處理器的第二處理單元和外部存儲(chǔ)器之間的邏輯通道,以便在外部存儲(chǔ)器和第二處理單元之間傳送附加數(shù)據(jù)。該性能可通過(guò)添加與數(shù)據(jù)端口分開(kāi)的控制端口到第一處理單元實(shí)現(xiàn),其中控制端口允許第一處理單元寫(xiě)入尋址信息和模式信息(包括附加數(shù)據(jù)的位置),用于經(jīng)由處理器的存儲(chǔ)器存取單元數(shù)據(jù)通道讀取或?qū)懭敫郊訑?shù)據(jù)。
文檔編號(hào)G06F15/163GK1813250SQ200480018325
公開(kāi)日2006年8月2日 申請(qǐng)日期2004年6月18日 優(yōu)先權(quán)日2003年6月30日
發(fā)明者L·利平科特, C·H·切赫 申請(qǐng)人:英特爾公司