国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      可配置的預(yù)處理陣列器的制作方法

      文檔序號:11457355閱讀:197來源:國知局
      可配置的預(yù)處理陣列器的制造方法與工藝

      優(yōu)先權(quán)的相關(guān)申請

      本申請與2013年4月9日提交的標(biāo)題為“sensorpollingunitformicroprocessorintegration”的美國專利申請13/859,473相關(guān)但并不要求優(yōu)先權(quán),其全部內(nèi)容通過引用并入本文。

      本申請要求2014年10月8日提交的題為“configurablepre-processingarray”的美國臨時專利申請62/061,210的優(yōu)先權(quán),其全部內(nèi)容通過引用并入本文。

      本發(fā)明涉及集成電路領(lǐng)域,特別是可配置的預(yù)處理陣列。



      背景技術(shù):

      現(xiàn)代電子設(shè)備,特別是便攜式電子設(shè)備,通常配備有許多傳感器。這些傳感器可以包括以下任何一個或多個:麥克風(fēng),電容傳感器,光傳感器,溫度傳感器,多軸加速度計,陀螺儀,全球定位系統(tǒng)(gps)接收器,濕度傳感器,壓力傳感器,化學(xué)傳感器等。這樣的現(xiàn)代電子設(shè)備包括平板電腦,手機(jī),筆記本電腦,手持設(shè)備,可穿戴電子設(shè)備等。這些傳感器中的許多通常獲得需要處理電子設(shè)備的主處理器的大量實時數(shù)據(jù)。使用主處理器處理實時數(shù)據(jù)可占用大量的計算資源。



      技術(shù)實現(xiàn)要素:

      縮放和可配置的預(yù)處理器陣列允許最小的數(shù)字活動,同時保持硬實時性能。預(yù)處理器陣列專門用于處理實時傳感器數(shù)據(jù)。陣列的互連處理單元可以大大減少上下文交換、內(nèi)存訪問、主處理器輸入/輸出訪問以及實時事件管理開銷。

      附圖說明

      為了更全面地了解本公開及其特征和優(yōu)點(diǎn),參考結(jié)合附圖的以下描述,其中相同的附圖標(biāo)記表示相同的部分,其中:

      圖1示出了根據(jù)本公開的一些實施例的主處理器和可配置預(yù)處理陣列的示例性芯片框圖;

      圖2是示出根據(jù)本公開的一些實施例的示例性h1處理單元的功能圖;

      圖3是示出根據(jù)本公開的一些實施例的示例性中斷和地址生成塊的框圖;

      圖4是根據(jù)本公開的一些實施例的具有單個alu的h1處理單元的框圖;

      圖5是根據(jù)本公開的一些實施例的具有兩個alu的h2處理單元的框圖;和

      圖6是根據(jù)本公開的一些實施例的具有三個alu的h3處理單元的框圖;和

      圖7是示出根據(jù)本公開的一些實施例的用于預(yù)處理實時傳感器數(shù)據(jù)流的方法的流程圖。

      具體實施方式

      用于處理實時傳感器數(shù)據(jù)的功耗問題

      當(dāng)電子設(shè)備的主處理器正在處理許多實時傳感器數(shù)據(jù)流時,主處理器消耗大量的功率,而且可用的資源將被從主處理器上的其他進(jìn)程中奪走。許多現(xiàn)代電子設(shè)備具有有限的功率資源(例如,由于電池),或者甚至當(dāng)這些電子設(shè)備被插入時,電源設(shè)備在睡眠或待機(jī)模式期間的功率需求對于功率效率原因可能非常嚴(yán)格。同時,應(yīng)用程序通常是“始終處于開啟狀態(tài)”,特別是始終感測環(huán)境或電子設(shè)備狀態(tài)的應(yīng)用程序。這些應(yīng)用通常需要主處理器來持續(xù)處理來自這些傳感器的實時數(shù)據(jù)。

      這種計算架構(gòu)具有許多低效率。一個低效率是收集傳感器數(shù)據(jù)的負(fù)載和存儲方面,并將數(shù)據(jù)存儲在存儲器中,這占據(jù)了大量的處理量。另一個無效率涉及對通信接口執(zhí)行寄存器事務(wù)(例如,提供傳感器數(shù)據(jù)的同步讀取)。進(jìn)一步的低效率涉及主處理器中的上下文切換,主處理器通常運(yùn)行許多具有不同上下文的不同應(yīng)用(并且上下文切換可能引起用戶體驗中的抖動)。當(dāng)在上下文之間切換時,主處理器停止進(jìn)程并切換到另一進(jìn)程(涉及內(nèi)存混洗)通常會導(dǎo)致傳感器數(shù)據(jù)處理效率低下。

      解決方案:可配置的預(yù)處理以輔助主處理器

      在便攜式消費(fèi)者設(shè)備中,能量守恒是導(dǎo)致整個用戶體驗的幾個因素之一。同時,連續(xù)或不斷收集和解釋各種形式的傳感器數(shù)據(jù)構(gòu)成了便攜式設(shè)備如何操作和與用戶和環(huán)境交互的基礎(chǔ)。理想情況將包括傳感器數(shù)據(jù)不斷被采樣和預(yù)處理,同時消耗很少的功率。

      為了解決功耗的問題,改進(jìn)的計算架構(gòu)利用專門設(shè)計的專門配置的預(yù)處理陣列,其專門用于處理來自多個傳感器(例如,許多實時傳感器數(shù)據(jù)流)的傳感器數(shù)據(jù)。專門的可配置預(yù)處理陣列可以包括用于處理數(shù)字?jǐn)?shù)據(jù)的數(shù)字電路。該陣列可以與與傳感器(例如,模擬前端進(jìn)行“輕”處理)接口的電路集成。當(dāng)傳感器、模擬前端和可配置的預(yù)處理陣列一起提供為感測子系統(tǒng)時,感測子系統(tǒng)可以收集傳感器數(shù)據(jù),并對傳感器數(shù)據(jù)執(zhí)行智能操作,同時消耗很少的功率。

      可配置預(yù)處理陣列的獨(dú)特特征是其將處理職責(zé)劃分為任務(wù)優(yōu)化的處理單元,以及經(jīng)由這些處理單元之間的可配置互連網(wǎng)絡(luò)的處理單元之間的無縫交互。通過管道配置中的協(xié)作處理,在主處理器中無需頻繁的上下文切換,使開銷最小化。以同樣的方式進(jìn)行數(shù)據(jù)的同步收集,幾乎不進(jìn)行任何對下一階段收集和準(zhǔn)備數(shù)據(jù)的最終目標(biāo)的貢獻(xiàn)(幾乎所有處理都有助于收集和準(zhǔn)備數(shù)據(jù)的最終目標(biāo))為下一階段)。此外,管道之間的相互作用導(dǎo)致零開銷。因為可配置的預(yù)處理陣列可以以異步邏輯(在處理單元之間不具有共享或全局時鐘信號的情況下異步操作)來實現(xiàn),所以極少數(shù)的門將轉(zhuǎn)變,導(dǎo)致最小的動態(tài)功率。該系統(tǒng)的強(qiáng)度在于,在指令級別,要執(zhí)行的項目數(shù)量減少到最小,這具有降低總體功耗的優(yōu)點(diǎn)。

      該解決方案優(yōu)選地執(zhí)行以下技術(shù)任務(wù)中的一個或多個。第一個示例性技術(shù)任務(wù)是連續(xù)收集傳感器數(shù)據(jù),同時系統(tǒng)的大部分以可接受的低功耗關(guān)閉。第二個示例性技術(shù)任務(wù)是在喚醒主處理器或其他資源之前識別傳感器數(shù)據(jù)流中的感興趣區(qū)域。第三個示例性技術(shù)任務(wù)是在主處理器喚醒之后執(zhí)行傳感器數(shù)據(jù)的采集和流水線處理。第四個示例性技術(shù)任務(wù)是允許主處理器動態(tài)地重新配置底層處理單元的微代碼以適應(yīng)系統(tǒng)的需要(硬件線程)。第五示例性的技術(shù)任務(wù)是通過允許使用(圖形)開發(fā)工具來生成微代碼來提供算法的簡化實現(xiàn)。

      層疊的互連算術(shù)邏輯單元(alu)的矩陣

      主處理器可以觸發(fā)將選擇性地激活可配置的預(yù)處理陣列(互連的算術(shù)邏輯單元(alu)的矩陣)的部件以持續(xù)監(jiān)視傳感器的過程?;ミBalu的矩陣可以被組織成布置在多個處理層中的異步處理單元。具有不同復(fù)雜性的各種處理單元的選擇性特征受限制,并排布置在并行管道中,使得傳感器數(shù)據(jù)可以僅通過流水線階段來評估,以確定其有用或無用。一般來說,與較高處理層的處理單元相比,較低處理層將具有較低復(fù)雜度的處理單元。

      例如,可以通過具有基本(單個)alu(流水線的量)的處理單元為傳感器提供接口。在較高層,處理單元可以具有兩個或更多個alu,并且這些處理單元的互連(例如,數(shù)據(jù)路由)可以有助于動態(tài)管道的連接和分支。由于處理單元不是時鐘,即單元是異步的,因此可以顯著降低功耗,特別是在低泄漏過程中。

      圖1示出了根據(jù)本公開的一些實施例的主處理器和可配置預(yù)處理陣列的示例性芯片框圖。在該示例中,芯片框圖示出了h1層102,h2層104,h3層106和主處理層108。h1層102,h2層104和h3層106與可配置預(yù)處理層108的處理相關(guān)聯(lián)。處理陣列。主處理層108與主處理器的處理相關(guān)聯(lián)。應(yīng)當(dāng)理解,根據(jù)應(yīng)用可以提供更少或更多的層。此外,該示例示出了每層的多個處理單元,但是應(yīng)當(dāng)理解,根據(jù)應(yīng)用,每層可以提供更少或更多的單元。主處理器通過這些處理單元能夠執(zhí)行的合適指令來管理預(yù)處理流水線的配置。該配置可以指示例如數(shù)據(jù)如何通過層(在每個層的處理單元之間,或不同層的處理單元之間)之間移動。

      在一些實施例中,可配置的預(yù)處理陣列可以執(zhí)行實時傳感器數(shù)據(jù)流的預(yù)處理并且減少整個系統(tǒng)的降低功耗。可配置的預(yù)處理陣列由專門的電路實現(xiàn),其操作的執(zhí)行可以被編程??膳渲妙A(yù)處理陣列包括用于處理實時傳感器數(shù)據(jù)流的第一處理層(h1層102)中的多個第一處理單元。第一處理單元中的每一個可被配置為從主處理器執(zhí)行一個或多個第一處理層指令??膳渲妙A(yù)處理陣列還包括用于處理由第一處理層(h1層102)生成的輸出數(shù)據(jù)的第二處理層(h2層104)中的多個第二處理單元。第二處理單元中的每一個可被配置為從主處理器執(zhí)行一個或多個第二處理層指令。指令集可能因應(yīng)用而異。這些處理單元中的許多可以作為多條管線并行運(yùn)行。因此,可以非常有效地執(zhí)行許多實時傳感器數(shù)據(jù)流的處理。

      如果需要,可配置的預(yù)處理陣列還可以包括進(jìn)一步的處理層。例如,可配置預(yù)處理陣列可以包括用于處理由第二處理層(h2層104)產(chǎn)生的輸出數(shù)據(jù)的第三處理層(h3層106)中的多個第三處理單元。第三處理單元中的每一個可以被配置為從主處理器執(zhí)行一個或多個第三處理層指令。

      除了由處理單元執(zhí)行的操作之外,可配置預(yù)處理的不同部分之間的數(shù)據(jù)路由也可以由例如主處理器來編程。在某些情況下,主處理器可以指定條件數(shù)據(jù)路由,其中數(shù)據(jù)路由基于處理單元的輸出數(shù)據(jù)。條件數(shù)據(jù)路由允許可配置處理陣列的復(fù)雜數(shù)據(jù)處理,例如基于來自多個傳感器的數(shù)據(jù)的智能感測。此外,條件數(shù)據(jù)路由有利地允許管線根據(jù)傳感器數(shù)據(jù)進(jìn)行連接或拆分。

      例如,第二處理單元中的第一處理單元可以包括向以下各項中的一個或多個提供條件數(shù)據(jù)路由的電路:存儲器,對等第二處理單元(在第二處理層中)以及處理單元第三處理層。在一些情況下,條件數(shù)據(jù)路由,即第二處理單元中的第一處理單元的輸出數(shù)據(jù)應(yīng)被路由在哪里,可以基于第一處理單元的輸出數(shù)據(jù)。

      在一些情況下,第三處理單元中的第一處理單元可以包括向以下各項中的一個或多個提供條件數(shù)據(jù)路由的電路:存儲器,對等第三處理單元(在第三處理層中)和處理單元第三處理層。在一些情況下,條件數(shù)據(jù)路由,即第三處理單元中的第一處理單元的輸出數(shù)據(jù)應(yīng)該被路由的地方,可以基于第三處理單元中的第一處理單元的輸出數(shù)據(jù)。

      傳感器數(shù)據(jù)流的并行處理的優(yōu)點(diǎn)

      單個傳感器可以由在h1層102中的接口塊處開始的流水線來服務(wù)。因此,多個傳感器可以經(jīng)由相應(yīng)管線在h1層102中的多個接口塊來處理。這些管道提供多個數(shù)據(jù)流的并行處理,并且這些管道可以根據(jù)可配置處理陣列的編程進(jìn)行合并或拆分。具體來說,流水線的微編碼配置可以對流水線進(jìn)行編程,以定期收集傳感器數(shù)據(jù),以編程方式評估傳感器數(shù)據(jù),評估從多個管道的合并接收的數(shù)據(jù),評估從管道分割的數(shù)據(jù),打開具有不同級別的處理復(fù)雜度的處理單元,并且在最高級別的功能上,為主處理器執(zhí)行循環(huán)加速或并行化任務(wù)。由于動態(tài)管道的可配置性,操作的結(jié)果可以共享并轉(zhuǎn)移到其他處理單元以利用高度并行架構(gòu)。

      這些級還提供了一些有利的特征以提供樣本數(shù)據(jù)的有效處理,而不受主處理器的干擾。例如,根據(jù)管道中的位置(通常適用于較高層中的處理單元),管道的某些階段可以實現(xiàn)循環(huán)和/或分支功能。每個階段可以實現(xiàn)零開銷循環(huán),這可以大大提高效率,而無需主處理器執(zhí)行干預(yù)或工作。一些階段甚至可以執(zhí)行零循環(huán)跳轉(zhuǎn),中斷和返回。在另一種情況下,流水線中的一些階段可以將數(shù)據(jù)直接傳遞到下一階段,從而消除了轉(zhuǎn)換期間的數(shù)據(jù)存儲器訪問,以及減少函數(shù)調(diào)用或潛在的進(jìn)程上下文交換。輸出數(shù)據(jù)的傳遞可以在相同層中的“對等”處理單元之間,或者從一層的一個處理單元到較高層的另一個處理單元之間完成。在另一情況下,這些處理單元也可以寫入共享存儲器而不受主處理器的干擾??膳渲妙A(yù)處理陣列可以包括由第一處理層,第二處理層和第三處理層可訪問的共享存儲器,而不受來自主處理器的干擾。共享存儲器可以用于數(shù)據(jù)的內(nèi)部處理層通信,而不必利用主處理器的周期或資源。

      h1(最低)層:可配置處理陣列的量子

      圖1中看到的作為最低層處理的h1層102具有有限的實現(xiàn)。h1層102具有用于每個傳感器的單獨(dú)管道,其中每個流水線包括接口塊(例如,相應(yīng)的傳感器接口)和低功率有限狀態(tài)機(jī)(fsm)塊(在此稱為“h1處理單元”),其可以包括用于處理傳感器數(shù)據(jù)的單個算術(shù)邏輯單元)。例如,一個接口塊可以通過串行接口與加速度計接口,另一個接口塊可以通過另一個串行接口與電容式傳感器接口。廣義而言,這一層是“永遠(yuǎn)在”的。具體來說,該層被配置為收集和存儲傳感器數(shù)據(jù),并且在許多情況下,實現(xiàn)簡單的流監(jiān)視以指示興趣的活動。例如,閾值處理是一種常見的流監(jiān)視功能。

      在一些實施例中,第一處理層(h1層102)中的第一處理單元可以通過向?qū)崟r傳感器數(shù)據(jù)流應(yīng)用閾值來監(jiān)視實時傳感器數(shù)據(jù)流。例如,第一處理單元可以檢查實時傳感器數(shù)據(jù)流中的數(shù)據(jù)值是否大于閾值,或者檢查最小數(shù)量的數(shù)據(jù)值是否超過閾值。如果是,則第一處理單元檢測到感興趣的活動。這種操作模式是特別有利的,因為傳感器可以“休眠”或者長時間沒有有趣的活動。沒有這種處理層,主處理器將花費(fèi)大量的精力來輪詢感興趣的活動。

      h1層102執(zhí)行的技術(shù)任務(wù)之一是管理來自任意數(shù)據(jù)接口的數(shù)據(jù)的同步收集,如果需要執(zhí)行輕度預(yù)處理,并盡可能少地消耗功率。例如,如果發(fā)現(xiàn)感興趣的活動,則h1層102可以掃描傳感器數(shù)據(jù)中感興趣的活動并中斷較高層(例如,h2層104),系統(tǒng)的其余部分保持“關(guān)閉”或“未占用”。通常,保證多個傳感器的硬實時采樣開始成為在任何大量負(fù)載下的單個處理器的挑戰(zhàn)。此外,處理器定期對外部傳感器采樣的大機(jī)制是功耗低效的。h1層102通過僅執(zhí)行單次循環(huán)以在被觸發(fā)時從傳感器捕獲數(shù)據(jù)來解決這些問題,如果需要則處理接收到的數(shù)據(jù),然后停止直到另一個主處理器觸發(fā)另一個單次循環(huán)。在一些實施例中,第一處理層(h1層102)的第一處理單元中的至少一個可以被配置為響應(yīng)于使能信號執(zhí)行指令存儲器中的指令的單次執(zhí)行,并且在執(zhí)行指令的單次執(zhí)行直到另一個使能信號被觸發(fā)。

      圖2是示出根據(jù)本公開的一些實施例的示例性h1處理單元的功能圖。h1處理單元的功能塊包括地址生成器塊202,指令隨機(jī)存取存儲器(ram)204,讀/寫(r/w)仲裁塊202,工作寄存器208,特殊功能寄存器210,數(shù)據(jù)路由212和alu案例聲明塊214。為了觸發(fā)單次循環(huán)(僅循環(huán)一次的“循環(huán)”),主處理器可以經(jīng)由r/w仲裁塊206將指令(“微代碼”)加載到指令ram204上并導(dǎo)致一個使能信號被提供給地址生成塊202。地址生成塊202可以包括可以響應(yīng)于使能信號順序執(zhí)行指令ram204中的指令的電路。

      h1處理單元可以被認(rèn)為是具有單個中斷向量的基本處理器。完成中斷服務(wù)程序中的指令后,h1停頓,不消耗動態(tài)電源。任何能夠保持時基的源適合于觸發(fā)h1的使能信號;示例是數(shù)字計數(shù)器,振蕩模擬比較器電路等。優(yōu)選地,h1被實現(xiàn)為異步邏輯。當(dāng)處理完成時(例如,當(dāng)一個或多個第一處理層指令的執(zhí)行完成時,門控異步邏輯的時鐘或信號),h1處理單元可以對其自己的時鐘進(jìn)行選通。

      指令的一部分可以控制數(shù)據(jù)路由,例如控制多路復(fù)用器來加載來自工作寄存器208和特殊功能寄存器210的適當(dāng)操作數(shù),以及向工作寄存器208和特殊功能寄存器210寫入數(shù)據(jù)。此外,每個指令的部分可以在alucase語句214塊中選擇一個適當(dāng)?shù)腶lu功能來處理數(shù)據(jù)。工作寄存器208通常用于存儲指令的中間結(jié)果,并且特殊功能寄存器210通常用于向/從h1處理單元之外的塊傳送數(shù)據(jù)(例如,傳感器接口,主處理器的存儲器,循環(huán)緩沖器到下一個階段,管道中的下一個階段的注冊等)。alu案例聲明塊214通常將包括最小指令集,諸如針對有限脈沖響應(yīng)(fir)濾波和比較而優(yōu)化的指令,或可執(zhí)行傳感器數(shù)據(jù)的輕微預(yù)處理的其他指令。一旦完成了指令ram204的指令,地址生成塊202可以復(fù)位并返回到零(即,指令ram204的開始)。

      在流水線階段的輸出處使用循環(huán)隊列

      返回參考圖1,可以提供循環(huán)隊列來存儲感興趣的樣本或由處理單元在處理層中的任何一個處產(chǎn)生的數(shù)據(jù),使得較高層可以以突發(fā)模式讀取數(shù)據(jù)。在一些實施例中,第一處理層(h1層102)還包括在第一處理單元中的(任一)一個的輸出處的圓形隊列,其中第二處理單元之一直接從第一處理層經(jīng)由循環(huán)隊列。其他層的其他處理單元(例如,h2和h3)也可以在輸出端包括圓形隊列。

      循環(huán)隊列與直接路徑區(qū)分開,因為循環(huán)隊列允許多個數(shù)據(jù)樣本的突發(fā)讀取,并且直接路徑僅允許讀取單個數(shù)據(jù)樣本。該示例示出了h1處理單元的輸出處的循環(huán)隊列,但是應(yīng)當(dāng)理解,較高層處的其他處理單元還可以包括循環(huán)隊列(在不同層的處理單元之間或在同一層的“對等”處理單元之間)。有利地,需要多個數(shù)據(jù)樣本(例如,快速傅里葉變換)的一些處理可以通過排隊的路徑快速讀取多個數(shù)據(jù)樣本。循環(huán)隊列允許處理單元將數(shù)據(jù)存儲在隊列中,無需任何空載并存儲到內(nèi)存中。循環(huán)隊列實際上是一個流水線延遲操作,這比實際的內(nèi)存訪問效率要高得多。

      中斷和地址生成

      單次循環(huán)的實現(xiàn)相當(dāng)簡單。對于諸如h2層104和h3層106的更高層的處理,可以在處理單元的地址生成塊中提供進(jìn)一步的電路,以提供傳感器數(shù)據(jù)流的更復(fù)雜的處理。附加電路可以提供零周期跳轉(zhuǎn),中斷和返回,并且還使用循環(huán)計數(shù)器提供零延遲循環(huán)。圖3是示出根據(jù)本公開的一些實施例的示例性中斷和地址生成塊的框圖。顯示的更復(fù)雜的地址生成器可以將程序計數(shù)器(“pc”)可用于生成的寄存器中的中斷,跳轉(zhuǎn)和返回向量(“jmpv”,“intv”,“jmprv”和“intrv”)程序計數(shù)器“pco”。alu也可以寫入程序計數(shù)器本身。這樣的中斷和地址生成器可以提供比h1處理層的單次循環(huán)執(zhí)行更靈活的跳轉(zhuǎn)。

      處理單元中的alu的各種構(gòu)造配置

      返回參考圖1,不同的處理層具有不同復(fù)雜性的處理單元。在h1層102處,低功率fsm處理單元具有一個alu。圖4是根據(jù)本公開的一些實施例的具有單個alu的h1處理單元的框圖。單個alu處理單元可以負(fù)責(zé)基本收集和先進(jìn)先出(fifo)任務(wù)。為了提供更復(fù)雜的數(shù)據(jù)流處理,較高層具有具有多于一個alu的處理單元。一到三(或更多)個alu可以組合成一個處理單元。在一些實施例中,一個或多個第一處理單元(在h1層102中)中的至少一個每個具有單個算術(shù)邏輯單元,至少一個或多個第二處理單元(在h2層104中)每個具有兩個算術(shù)邏輯單元。在一些情況下,第三處理單元中的至少一個具有三個算術(shù)邏輯單元。

      h2層上的雙alufsm處理單元

      h2層104處的雙alufsm可以具有兩個alu。雙alufsm處理單元可以很好地比較和分析兩個數(shù)據(jù)流。圖5是根據(jù)本公開的一些實施例的具有兩個alu的h2處理單元的框圖。該處理單元可用于h2層,可提供復(fù)雜的識別。h2層對應(yīng)于圖1的h2層104,其包括一個或多個雙alufsm(這里稱為“h2處理單元”)。從圖中可以看出,兩個alu可以同時處理兩個數(shù)據(jù)流。連接和分割流也是可能的。h2處理單元被設(shè)計為能夠采用0,1或2個數(shù)據(jù)源,并確定數(shù)據(jù)的路由。h2處理停止,直到它已經(jīng)接收到適當(dāng)?shù)闹袛嘈盘柣蛴|發(fā)信號,這可以是同步(中斷)源或觸發(fā)或一個或多個h1數(shù)據(jù)就緒中斷信號。h2將數(shù)據(jù)存在于其輸入端,并且可以檢查先前的采樣或存儲在存儲器中的其他數(shù)據(jù),以確定是否應(yīng)啟動管道的下一級。決策過程可以預(yù)處理下一階段的數(shù)據(jù)。

      用于該處理單元的指令可以有利地提供基于數(shù)據(jù)的條件路由,以確定輸出數(shù)據(jù)是否應(yīng)被路由到存儲器,對等h2處理單元或h3處理單元(或其任何組合)。這一重要特征,動態(tài)流水線是基于數(shù)據(jù)的條件,使多個算法(管線)能夠利用由特定處理塊執(zhí)行的相同處理。此外,數(shù)據(jù)的處理或操作可以在不用上下文切換的開銷的情況下在不同上下文之間共享(即,通過連接或分支數(shù)據(jù)輸出來共享中間結(jié)果),所以指令已經(jīng)適當(dāng)?shù)鼐幊塘丝膳渲玫奶幚黻嚵小?/p>

      一般來說,h2層中的雙alufsm處理單元可以在h1檢測到有趣的活動之后執(zhí)行更復(fù)雜的數(shù)據(jù)分析。當(dāng)h1層不存在有趣的活動時,h2層的處理單元睡眠/停頓,直至在h1層檢測到活動。h2層的處理單元可以調(diào)查傳感器數(shù)據(jù)的興趣活動,并對多個數(shù)據(jù)流并行處理中等復(fù)雜度算法。雙alufsm的代碼與單個alufsm兼容,其中內(nèi)部更改為兩個alu和寫入目的地信號量。這樣的代碼可以以宏語言或其他合適的編程工具生成。

      在h3層的三重alufsm處理單元

      h3層106處的三重alufsm可以具有三個alu。h3層對應(yīng)于圖1的h3層106,其包括一個或多個雙alufsm(在此稱為“h3處理單元”)。該層中的處理單元睡眠直到有效的下層活動或其他事件發(fā)生。三重alu處理單元可以作為硬件線程接管主處理器計算任務(wù)。圖6是根據(jù)本公開的一些實施例的具有三個alu的h3處理單元的框圖。h3處理塊的第三個也是最后一個階段,旨在實現(xiàn)需要硬實時性能的小型算法。通過擁有三個alu,h3處理單元可以加入并分支數(shù)據(jù)流。使用內(nèi)部合并功能(連接兩個alu的輸出),h3處理單元無需使用1.5h2處理單元。

      h3處理單元執(zhí)行的任務(wù)的示例可以包括比例積分微分(pid)循環(huán),觸覺反饋和增強(qiáng)的音頻功能。管道的這一階段可以為算法提供實時性能,并允許主處理器通過高級應(yīng)用程序編程接口(api)以軟實時控制操作參數(shù)。這可以通過將某些算法作為流水線階段的微代碼來進(jìn)一步提取傳感器和算法。結(jié)果是在完全操作時可以幫助主處理器進(jìn)行周期性處理任務(wù)的一層處理。h3層的代碼通常與h1和h2層兼容,主處理器可以使用h3單元作為硬件線程,加載在編程工具中生成的二進(jìn)制文件,或者通過直接加載生成的字節(jié)碼來實現(xiàn)。

      用于配置預(yù)處理陣列的軟件

      在一些實施例中,處理單元的各種特征向下兼容,意味著雙單元可以運(yùn)行單個單元的代碼等??梢詾樘幚韱卧乃酗L(fēng)格提供單個編程模型,并且因此任何缺失功能可以輕松模擬。代碼空間可以限制。請注意,分析工具可用于生成用于配置預(yù)處理陣列的微代碼,以優(yōu)化處理單元和并行性的重用。

      可配置預(yù)處理陣列可與通用協(xié)處理器區(qū)分開

      在一些系統(tǒng)中,高性能主處理器通常由協(xié)處理器(例如,圖形處理器,音頻處理器,通用小型協(xié)處理器等)協(xié)助。其中一個例子可以是包括通用小尺寸處理器與電子設(shè)備中的主/應(yīng)用處理器一起提供用于通信接口的一些數(shù)據(jù)通信功能。這些協(xié)處理器通常過于強(qiáng)大,并不特別適用于處理傳感器數(shù)據(jù)流。雖然使用標(biāo)準(zhǔn)協(xié)處理器的原因有很多,例如熟悉現(xiàn)有的工具鏈和ip,但是使用通用協(xié)處理器并不能像處理傳感器數(shù)據(jù)的處理網(wǎng)絡(luò)那樣獲得同樣的優(yōu)勢。

      用于預(yù)處理實時傳感器數(shù)據(jù)流的方法

      圖7是示出根據(jù)本公開的一些實施例的用于預(yù)處理實時傳感器數(shù)據(jù)流的方法的流程圖。用于預(yù)處理實時傳感器數(shù)據(jù)流的方法可以有利地減少主處理器的上下文切換??膳渲妙A(yù)處理陣列的第一處理層(h1)中的多個第一處理單元根據(jù)來自主處理器(任務(wù)702的一個或多個第一處理層指令)來并行地監(jiān)視來自多個傳感器的實時傳感器數(shù)據(jù)流)。例如,第一處理單元可以單獨(dú)和并行地監(jiān)視數(shù)據(jù)流中感興趣的活動。響應(yīng)于通過第一處理單元(檢查704)中的第一處理單元檢測實時傳感器數(shù)據(jù)流中感興趣的活動,第一處理單元中的第一處理單元可以在第二處理中中斷第二處理單元(任務(wù)706)層(h2),并且在第二處理層(任務(wù)708)中提供從第一處理單元中的第一處理單元到第二處理單元的輸出數(shù)據(jù)。

      在一些實施例中,監(jiān)視實時傳感器數(shù)據(jù)流(任務(wù)702)包括將閾值應(yīng)用于至少一個實時傳感器數(shù)據(jù)流。在一些實施例中,監(jiān)控實時傳感器數(shù)據(jù)流將濾波器(例如,由主處理器指定)應(yīng)用于實時傳感器數(shù)據(jù)流,使得將濾波版本提供給第二處理層(h2)用于進(jìn)一步處理。

      在一些實施例中,根據(jù)來自主處理器的一個或多個第二層處理指令,由第一處理單元中的第一處理單元處理來自第一處理單元的第一處理單元的輸出數(shù)據(jù)。例如,第一處理單元中的第一處理單元可以“喚醒”,并且第一處理單元中的第一處理單元中的兩個alu可以對來自第一處理單元中的第一處理單元的輸出數(shù)據(jù)進(jìn)行操作。

      為了提供傳感器數(shù)據(jù)流的復(fù)雜處理,該方法可以包括將第二處理單元中的第一處理單元(在h2中)中的第一處理單元有條件地將輸出數(shù)據(jù)路由到以下的一個或多個:基于第一處理單元的輸出數(shù)據(jù),存儲器,對等第二處理單元(在h2中)和第三處理層(h3)處理單元。

      為了節(jié)省功率,該方法包括停止第二處理單元中的一個或多個,直到第一處理單元中的一個或多個處理單元檢測傳感器數(shù)據(jù)流中感興趣的活動。該方法還可以包括停止第三處理單元中的一個或多個處理單元,直到第二處理單元中的一個或多個處理單元檢測到數(shù)據(jù)中感興趣的活動。

      應(yīng)用,變型和實現(xiàn)

      在某些情況下,本文所討論的特征可以適用于消費(fèi)者(便攜式)設(shè)備,涉及傳感器的醫(yī)療系統(tǒng),涉及許多傳感器的科學(xué)儀器,無線和有線通信,涉及傳感器/接收器的雷達(dá),涉及傳感器的工業(yè)過程控制,音頻以及涉及傳感器的視頻設(shè)備,涉及傳感器的儀器以及具有許多傳感器的其它基于數(shù)字處理的系統(tǒng)產(chǎn)生許多傳感器數(shù)據(jù)流。廣義地說,這里描述的實施例可應(yīng)用于需要在不消耗大量功率的情況下監(jiān)測傳感器數(shù)據(jù)的許多應(yīng)用中??膳渲玫念A(yù)處理陣列通常用于輔助主處理器處理傳感器數(shù)據(jù)流。主處理器陣列可以耦合到具有有限功率資源的電池供電設(shè)備。在這種情況下,可配置的預(yù)處理陣列是特別有利的,因為它可以在使用非常小的功率的同時實現(xiàn)傳感器數(shù)據(jù)流的連續(xù)監(jiān)視。

      除了便攜式電子設(shè)備之外,本文公開的實施例也適用于傳感器遠(yuǎn)離主處理器和可配置預(yù)處理陣列分布的系統(tǒng)。一個例子是使用所公開的實施例與物聯(lián)網(wǎng)。在物聯(lián)網(wǎng)中,許多傳感器(唯一可識別的感測設(shè)備)可以可通信地連接到可配置的預(yù)處理陣列。傳感器數(shù)據(jù)可以經(jīng)由接口(如h1層所示)作為數(shù)據(jù)幀或數(shù)據(jù)包提供,其中與h1層中的傳感器的接口可以包括通信接口,例如無線通信接口。h1處理單元可以用于最小的網(wǎng)絡(luò)幀或分組處理,例如幀/分組的解封裝(例如,處理和/或去除報頭信息),與校驗和相關(guān)的數(shù)據(jù)計算,其他網(wǎng)絡(luò)層處理。有效地,主處理器不必執(zhí)行這些網(wǎng)絡(luò)相關(guān)功能,h1處理單元可以激活可配置預(yù)處理陣列的較高層,以進(jìn)一步處理來自傳感器的輸入數(shù)據(jù)(例如處理有效載荷內(nèi)容,檢測有效載荷內(nèi)容中的興趣活動,或其他合適的應(yīng)用程序處理)。

      廣義地說,這里公開的實施例可應(yīng)用于正在監(jiān)視來自許多發(fā)射設(shè)備的數(shù)據(jù)的系統(tǒng)。這些設(shè)備中的一個或多個可以是主處理器和可配置的預(yù)處理陣列(例如,經(jīng)由有線接口)本地的,或者遠(yuǎn)離主處理器和可配置的預(yù)處理陣列(例如,經(jīng)由有線或無線接口)。這些設(shè)備可以包括例如醫(yī)療保健行業(yè),農(nóng)業(yè)/農(nóng)業(yè),汽車工業(yè),運(yùn)輸業(yè),體育產(chǎn)業(yè),人員跟蹤,庫存跟蹤,安全行業(yè)等中使用的監(jiān)控設(shè)備。對于某些應(yīng)用,這些設(shè)備可以包括低能夠在可配置的預(yù)處理陣列處將數(shù)據(jù)發(fā)送到接口的無線電裝置。在許多這些應(yīng)用中,數(shù)據(jù)可以包括傳感器數(shù)據(jù)或?qū)鞲衅鞯臓顟B(tài)進(jìn)行采樣的數(shù)據(jù)(例如,“活動”狀態(tài)、“空閑”狀態(tài)或“活動”狀態(tài)))。例如,監(jiān)視許多設(shè)備狀態(tài)的應(yīng)用程序可以利用可配置的預(yù)處理來降低主處理器的功耗。在這些應(yīng)用中,應(yīng)用可以周期地或頻繁地輪詢這些設(shè)備的狀態(tài),和/或設(shè)備可以周期地或頻繁地向主處理器發(fā)送狀態(tài)。為了降低功耗,可以在可配置的預(yù)處理陣列中輕松實現(xiàn)這些設(shè)備的狀態(tài)信息的輪詢,接收和處理。處理單元還可以被配置為檢測來自一個設(shè)備的狀態(tài)中的興趣活動。用于合并管道(在某些情況下有條件地)具有更復(fù)雜性的處理單元還可以被配置為源自許多設(shè)備的狀態(tài)的興趣活動,從而進(jìn)行更復(fù)雜的識別或活動檢測。

      在一些實施例中,一種用于預(yù)處理來自網(wǎng)絡(luò)傳感器的實時傳感器數(shù)據(jù)流的方法包括在輔助主處理器的可配置預(yù)處理陣列處接收包括源自多個傳感器??膳渲妙A(yù)處理陣列的第一處理層(h1)中的多個第一處理單元可以通過將來自第一處理單元的實時傳感器數(shù)據(jù)流提供給多個第一處理單元來執(zhí)行對幀或分組的網(wǎng)絡(luò)層處理可配置預(yù)處理陣列的第二處理層(h2)中的第二處理單元。第二處理單元可處理感興趣的活動的實時傳感器數(shù)據(jù)流。第二處理單元中的每一個可以執(zhí)行來自主處理器的一個或多個第二處理層指令。響應(yīng)于檢測到實時傳感器數(shù)據(jù)中感興趣的活動,一個或多個第二處理單元可以在第三處理層(h3)中中斷第三處理單元中的至少一個,并將第二處理層的輸出數(shù)據(jù)提供給所述第三處理單元中的至少一個。

      注意,上面參考附圖討論的活動可應(yīng)用于涉及信號處理的任何集成電路,特別是那些可以執(zhí)行專門的軟件程序或算法的集成電路,其中一些可能與處理數(shù)字化的實時(傳感器)數(shù)據(jù)。某些實施例可以具有涉及多dsp信號處理、浮點(diǎn)處理、信號/控制處理、固定功能處理、微控制器應(yīng)用等的主處理器。

      在上述實施例的討論中,處理單元、功能塊、電容器、時鐘、dff、分頻器、電感器、電阻器、放大器、開關(guān)、數(shù)字核心、晶體管和/或其他組件可以容易地被替換,或以其他方式進(jìn)行修改以適應(yīng)特定的電路需求。此外,應(yīng)當(dāng)注意,使用互補(bǔ)電子設(shè)備、硬件、軟件等為實現(xiàn)本公開的教導(dǎo)提供了同樣可行的選擇。

      用于提供傳感器數(shù)據(jù)的可配置預(yù)處理的各種裝置的部分可以包括執(zhí)行本文所述功能的電子電路。在一些情況下,設(shè)備的一個或多個部分可以由專門配置用于觸發(fā)本文描述的功能的主處理器提供。例如,處理器可以包括一個或多個應(yīng)用特定組件,或者可以包括被配置為觸發(fā)本文描述的功能的可編程邏輯門。電路可以在模擬域、數(shù)字域或混合信號域中工作。在一些情況下,主處理器可以被配置為觸發(fā)可配置的預(yù)處理陣列以通過執(zhí)行存儲在非暫時性計算機(jī)介質(zhì)上的一個或多個指令來執(zhí)行本文描述的功能。

      在一個示例性實施例中,附圖的任何數(shù)量的電路可以在相關(guān)聯(lián)的電子設(shè)備的板上實現(xiàn)。該板可以是可以容納電子設(shè)備的內(nèi)部電子系統(tǒng)的各種部件的通用電路板,并且還可以為其它外圍設(shè)備提供連接器。更具體地,電路板可以提供電連接,通過該電連接系統(tǒng)的其它部件可以電氣通信?;谔囟ǖ呐渲眯枨?、處理需求、計算機(jī)設(shè)計等,任何合適的處理器(包括數(shù)字信號處理器,微處理器,支持芯片組等),計算機(jī)可讀的非暫時性存儲元件等可以適當(dāng)?shù)伛詈系桨迳掀渌M件如外部存儲器,附加傳感器,用于音頻/視頻顯示的控制器和外圍設(shè)備可以作為插件卡通過電纜連接到板上,或者集成到電路板本身中。

      在另一個示例實施例中,圖的電路可以被實現(xiàn)為獨(dú)立模塊(例如,具有被配置為執(zhí)行特定應(yīng)用或功能的相關(guān)組件和電路的設(shè)備)或被實現(xiàn)為插件模塊應(yīng)用電子設(shè)備的具體硬件。注意,本公開的特定實施例可以部分地或全部地容易地包括在片上系統(tǒng)(soc)封裝中。soc表示將計算機(jī)或其他電子系統(tǒng)的組件集成到單個芯片中的ic。它可能包含數(shù)字,模擬,混合信號和通常的射頻功能:所有這些都可以在單個芯片基板上提供。其他實施例可以包括多芯片模塊(mcm),其中多個單獨(dú)的ic位于單個電子封裝內(nèi)并被配置為通過電子封裝彼此緊密地相互作用。在各種其他實施例中,可配置預(yù)處理陣列可以在專用集成電路(asic),現(xiàn)場可編程門陣列(fpga)和其它半導(dǎo)體芯片中的一個或多個硅芯中實現(xiàn)。

      還必須注意,本文概述的所有規(guī)格、尺寸和關(guān)系(例如,處理器的數(shù)量,邏輯操作等)僅僅是為了示例和教導(dǎo)的目的而提供的。在不脫離本公開的精神或所附權(quán)利要求的范圍的情況下,這樣的信息可以相當(dāng)大地變化。這些規(guī)范僅適用于一個非限制性實例,因此,它們應(yīng)被解釋為如此。在前面的描述中,已經(jīng)參考特定的處理器和/或組件布置描述了示例性實施例。在不脫離所附權(quán)利要求的范圍的情況下,可以對這些實施例進(jìn)行各種修改和改變。因此,描述和附圖被認(rèn)為是說明性的而不是限制性的。

      注意,通過本文提供的許多實例,可以用兩個、三個、四個或更多個電氣部件來描述相互作用。然而,這僅僅是為了清楚和示例的目的而實現(xiàn)的。應(yīng)當(dāng)理解,可以以任何合適的方式來鞏固該系統(tǒng)。沿著類似的設(shè)計替代方案,圖中所示的組件,模塊和元件中的任何一個可以以各種可能的配置組合,所有這些配置都明確地在本說明書的廣泛范圍內(nèi)。在某些情況下,僅通過參考有限數(shù)量的電氣元件來描述給定的一組流的一個或多個功能可能更容易。應(yīng)當(dāng)理解,圖的電路及其教導(dǎo)是容易地可擴(kuò)展的并且可以容納大量組件以及更復(fù)雜/復(fù)雜的布置和配置。因此,所提供的實施例不應(yīng)該限制范圍或抑制潛在地應(yīng)用于無數(shù)其他架構(gòu)的電路的廣泛教導(dǎo)。

      注意,在本說明書中,對“一個實施例”、“示例實施例”、“實施例”、“另一個實施例”、“一些實施例”、“各種實施例”、“其他實施例”、“替代實施例”中包括的各種特征(例如,元件,結(jié)構(gòu),模塊,部件,步驟,操作,特性等)等旨在意味著任何這樣的特征被包括在本公開的一個或多個實施例中,或者可以不一定在相同的實施例中組合。

      還重要的是注意,本文描述的用于處理傳感器數(shù)據(jù)的操作僅示出了可能由圖中所示的系統(tǒng)執(zhí)行或在圖中所示的系統(tǒng)內(nèi)的一些可能的過程。這些操作中的一些可以在適當(dāng)?shù)那闆r下被刪除或去除,或者這些操作可以在不脫離本公開的范圍的情況下被修改或改變。此外,這些操作的時間可能會相當(dāng)大的改變。上述業(yè)務(wù)流程是為了舉例和討論的目的而提供的。本文描述的實施例提供了實質(zhì)的靈活性,因為在不脫離本公開的教導(dǎo)的情況下,可以提供任何合適的布置、年表、配置和定時機(jī)制。

      可以為本領(lǐng)域技術(shù)人員確定許多其它變化、替代、變化、改變和修改,并且本公開意圖包括落入范圍內(nèi)的所有這樣的改變、替換、變化、改變和修改的所附權(quán)利要求。注意,上述裝置的所有可選特征也可以針對本文描述的方法或過程來實現(xiàn),并且示例中的具體內(nèi)容可以在一個或多個實施例中的任何地方使用。

      說明性實施例

      示例1是用于執(zhí)行多個傳感器數(shù)據(jù)流的預(yù)處理的可配置預(yù)處理陣列,該陣列包括:用于處理傳感器數(shù)據(jù)流的第一處理層,第一處理層具有一個或多個第一處理單元連接到多個傳感器接口,所述一個或多個第一處理單元中的至少一個具有單個算術(shù)邏輯單元(alu);以及第二處理層,用于處理來自第一處理層的輸出數(shù)據(jù),第二處理層具有一個或多個第二處理單元,至少一個或多個第二處理單元具有兩個alu;其中所述第二處理單元中的第一處理單元包括基于所述處理單元的輸出數(shù)據(jù)將條件數(shù)據(jù)路由提供給以下一個或多個的電路:存儲器,對等第二處理單元和第三處理中的處理單元層。

      在示例2中,示例1的陣列可以包括包括一個或多個第三處理單元的第三層,每個一個或多個第三處理單元具有三個alu。

      在示例3中,示例1或2的陣列可以包括在第一處理單元(或其他處理層中的其他處理單元)之一的輸出處的圓形隊列。

      在示例4中,上述示例中的任何一個的陣列可以包括一個或多個第一處理單元被配置為執(zhí)行響應(yīng)中的循環(huán)中的指令的單次執(zhí)行。

      在示例5中,上述示例中的任何一個的陣列可以包括一個或多個第二處理單元中的至少一個,包括用于在寄存器中存儲中斷,跳轉(zhuǎn)和返回向量的中斷和地址生成器,程序計數(shù)器用于生成程序計數(shù)器。

      在示例6中,上述示例中的任一個的陣列可以包括一個或多個第二處理單元中的至少一個包括具有程序計數(shù)器的中斷和地址生成器,該程序計數(shù)器可由alu的輸出第二處理單元。

      在示例7中,上述示例中的任一個的陣列可以包括經(jīng)由串行接口耦合到多個傳感器的陣列。

      在實施例8中,上述實施例中的任何一個的陣列可以包括耦合到電池供電裝置的陣列。

      在實施例9中,上述實施例中的任何一個的陣列可以包括一個或多個第二處理單元停滯,直到一個或多個第一處理單元檢測到感興趣的活動。

      在示例10中,上述示例中的任何一個的陣列可以包括第三層的一個或多個第三處理單元停頓,直到一個或多個第二處理單元檢測到感興趣的活動。

      在示例11中,上述示例中的任何一個的陣列可以包括異步操作的陣列(沒有時鐘)。

      當(dāng)前第1頁1 2 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1