擴展功能單元及計算設(shè)備擴展系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本實用新型屬于可編程器件的應用技術(shù),具體地,涉及擴展功能單元及計算設(shè)備擴展系統(tǒng)。
【背景技術(shù)】
[0002]隨著嵌入式計算機技術(shù)的發(fā)展,計算設(shè)備的集成度越來越高,性能及功能越來越強大,其復雜度也不斷提高。
[0003]計算設(shè)備不僅包括計算機中使用的通用處理器,還包括將處理器與外圍電子系統(tǒng)集成在一個芯片中的片上系統(tǒng)(簡稱為SOC)。片上系統(tǒng)是客戶定制的或面向特定用途的標準產(chǎn)品,雖然這樣可以降低制造成本,但卻存在著欠缺特定功能和擴展性差的問題。在SOC的硬件資源不能滿足需求時,可以采用附加的可編程器件(例如現(xiàn)場可編程門陣列,BPFPGA,或者復雜可編程邏輯器件,即CPLD)等添加計算單元資源,以彌補產(chǎn)品計算能力方面或功能性方面的不足。
[0004]圖1示出現(xiàn)有的計算設(shè)備擴展系統(tǒng)的示意性框圖。該計算設(shè)備擴展系統(tǒng)包括計算設(shè)備100、擴展功能單元200、動態(tài)隨機訪問存儲器DRAM400和靜態(tài)隨機訪問存儲器SRAM500。計算設(shè)備100可以是片上系統(tǒng)(SOC)或通用處理器。擴展功能單元200例如是現(xiàn)場可編程門陣列(FPGA)或復雜可編程邏輯器件(CPLD)或?qū)S脴藴孰娐樊a(chǎn)品(ASSP)。DRAM400采用動態(tài)刷新來保持數(shù)據(jù),由于成本低,通常作為大容量的主存儲器。SRAM 500可以靜態(tài)保持數(shù)據(jù),不需要動態(tài)刷新,由于訪問效率高且速度快,通常作為高速緩存。
[0005]計算設(shè)備100具有存儲器接口(例如SRAM接口和DRAM接口),使得計算設(shè)備100可以經(jīng)由內(nèi)存總線分別訪問DRAM 400和SRAM 500。計算設(shè)備100經(jīng)由SERDES接口、HPI接口或SPI接收連接至擴展功能單元200。如果需要,計算設(shè)備100可以訪問DRAM 400和SRAM 500ο
[0006]然而,在上述現(xiàn)有的計算設(shè)備擴展系統(tǒng)中,計算設(shè)備100和擴展功能單元200缺乏針對共用的存儲器的訪問高效的協(xié)調(diào)機制,在計算設(shè)備100和擴展功能單元200之間不能實現(xiàn)高速數(shù)據(jù)緩沖和數(shù)據(jù)共享。因此,現(xiàn)有的計算設(shè)備擴展系統(tǒng)限制了計算設(shè)備100和擴展功能單元200的協(xié)處理能力和效率。
【實用新型內(nèi)容】
[0007]本實用新型的目的在于提供一種可以提高計算設(shè)備和擴展功能單元之間數(shù)據(jù)共享效率的計算設(shè)備擴展系統(tǒng)。
[0008]根據(jù)本實用新型的一方面,提供一種擴展功能單元,包括:片上RAM,包括指令存儲區(qū)和數(shù)據(jù)緩沖區(qū);片上RAM控制器,用于將指令存儲區(qū)和數(shù)據(jù)緩沖區(qū)與外部用戶自定義總線相連;協(xié)處理引擎,經(jīng)由第一 SRAM總線與指令存儲區(qū)和數(shù)據(jù)緩沖區(qū)相連,并經(jīng)由互連總線與SRAM封裝器相連;接口橋,用于將外部用戶自定義總線與SRAM封裝器相連;以及SRAM封裝器,用于協(xié)處理引擎和接口橋中的一個與外部內(nèi)存總線相連,其中,所述外部用戶自定義總線和所述片上RAM控制器一起提供外部設(shè)備訪問指令存儲區(qū)和數(shù)據(jù)緩沖區(qū)的路徑,所述外部用戶自定義總線、所述接口橋、第二 SRAM總線、所述SRAM封裝器和所述外部內(nèi)存總線一起形成外部設(shè)備訪問外部SRAM的路徑。
[0009]優(yōu)選地,所述互連總線、所述SRAM封裝器和所述外部內(nèi)存總線一起形成協(xié)處理引擎訪問外部SRAM的路徑。
[0010]優(yōu)選地,所述協(xié)處理引擎至少包括計算單元、加速引擎、支持某種指令集的專用處理器/控制器中的一種。
[0011]優(yōu)選地,所述接口橋包括控制邏輯、寫入緩沖器和讀取緩沖器,所述控制邏輯用于產(chǎn)生激活SOC/CPEs數(shù)據(jù)共享通道的請求信號,并發(fā)送至SRAM封裝器;所述寫入緩沖器和讀取緩沖器,用于緩存經(jīng)由用戶自定義總線傳送的數(shù)據(jù)信號。
[0012]優(yōu)選地,所述SRAM封裝器包括SRAM控制器、旁路通道和I/O復用接口,其中,所述SRAM控制器用于接收所述接口橋發(fā)送的請求信號,并根據(jù)該請求信號暫停來自互連總線的操作,并產(chǎn)生授權(quán)信號發(fā)送至I/O復用接口 ;所述旁路通道用于接收接口橋的總線信號,并旁路至I/O復用接口 ;所述I/O復用接口接收SRAM控制器發(fā)送的授權(quán)信號,并根據(jù)所述授權(quán)信號選取對應的總線信號。
[0013]優(yōu)選地,所述擴展功能單元還包括本地數(shù)據(jù)緩沖區(qū)作為協(xié)處理引擎在處理數(shù)據(jù)時的臨時緩沖區(qū)。
[0014]根據(jù)本實用新型的另一方面,提供一種計算設(shè)備擴展系統(tǒng),包括:上述的擴展功能單元;計算設(shè)備,經(jīng)由第一內(nèi)存總線與設(shè)備擴展裝置相連;設(shè)備擴展裝置,經(jīng)由第二內(nèi)存總線與動態(tài)隨機訪問存儲器相連;擴展功能單元,經(jīng)由用戶自定義總線與設(shè)備擴展裝置相連;靜態(tài)隨機訪問存儲器,經(jīng)由第三內(nèi)存總線與擴展功能單元相連。
[0015]優(yōu)選地,計算設(shè)備為選自通用處理器和片上系統(tǒng)中的一種。
[0016]優(yōu)選地,所述設(shè)備擴展裝置包括第一端口提供第一內(nèi)存總線,用于與外部的計算設(shè)備相連;第二端口提供第二內(nèi)存總線,用于與動態(tài)隨機訪問存儲器相連;第三端口提供用戶自定義總線,用于與擴展功能單元相連。
[0017]優(yōu)選地,所述設(shè)備擴展裝置根據(jù)內(nèi)存總線信號產(chǎn)生選擇信號,使得第一至第三端口中的任一個端口與第一至第三端口中的其余兩個端口中的一個端口相連,從而提供內(nèi)存總線的路由功能,所述內(nèi)存總線信號包括數(shù)據(jù)信號以及地址和控制信號。
[0018]優(yōu)選地,所述第一內(nèi)存總線、所述第二內(nèi)存總線、所述第二內(nèi)存總線為SDRAM總線。
[0019]本實用新型提供的擴展功能單元,擁有多個片上數(shù)據(jù)緩沖區(qū),可以很好的支持CPEs的流水處理,增大計算效率。包括該擴展功能單元的計算設(shè)備擴展系統(tǒng)利用SOC/處理器現(xiàn)有的內(nèi)存接口作為擴展功能單元的擴展接口,減少對SOC/處理器接口資源需求;利用擴展功能單元,擁有多個片上數(shù)據(jù)緩沖區(qū),可以很好的支持CPEs的流水處理,增大計算效率;利用外部SRAM的容量和速度支持CPEs處理較大的幀/包數(shù)據(jù),以及帶有反饋算法的數(shù)據(jù),實現(xiàn)SOC/處理器與擴展設(shè)備核心處理單元CPEs之間的數(shù)據(jù)緩沖以及數(shù)據(jù)共享,提高了計算設(shè)備和擴展功能單元之間協(xié)處理能力。
【附圖說明】
[0020]通過以下參照附圖對本實用新型實施例的描述,本實用新型的上述以及其他目的、特征和優(yōu)點將更為清楚,在附圖中:
[0021]圖1示出根據(jù)現(xiàn)有技術(shù)的計算設(shè)備擴展系統(tǒng)的示意性框圖;
[0022]圖2示出根據(jù)本實用新型的計算設(shè)備擴展系統(tǒng)的示意性框圖;
[0023]圖3示出根據(jù)本實用新型的計算設(shè)備擴展系統(tǒng)中使用的設(shè)備擴展裝置的第一實施例的示意性框圖;
[0024]圖4示出根據(jù)本實用新型的計算設(shè)備擴展系統(tǒng)中使用的設(shè)備擴展裝置的第二實施例的示意性框圖;
[0025]圖5示出根據(jù)本實用新型的計算設(shè)備擴展系統(tǒng)的擴展方法的流程圖;
[0026]圖6示出根據(jù)本實用新型的計算設(shè)備擴展系統(tǒng)中使用的擴展功能單元的示意性框圖;以及
[0027]圖7示出根據(jù)本實用新型的計算設(shè)備擴展系統(tǒng)中采用的內(nèi)存映射模型。
【具體實施方式】
[0028]以下將參照附圖更詳細地描述本實用新型的各種實施例。在各個附圖中,相同的元件采用相同或類似的附圖標記來表示。為了清楚起見,附圖中的各個部分沒有按比例繪制。
[0029]本實用新型可以各種形式呈現(xiàn),以下將描述其中一些示例。
[0030]圖2示出根據(jù)本實用新型的計算設(shè)備擴展系統(tǒng)的示意性框圖。該計算設(shè)備擴展系統(tǒng)包括計算設(shè)備100、擴展功能單元200、動態(tài)隨機訪問存儲器DRAM 400和靜態(tài)隨機訪問存儲器SRAM 500。計算設(shè)備100可以是片上系統(tǒng)(SOC)或通用處理器。擴展功能單元200例如是現(xiàn)場可編程門陣列(FPGA)或復雜可編程邏輯器件(CPLD)或?qū)S脴藴孰娐樊a(chǎn)品(ASSP)。
[0031]與圖1所示的現(xiàn)有技術(shù)的計算設(shè)備擴展系統(tǒng)不同,根據(jù)本實用新型的計算設(shè)備擴展系統(tǒng)還包括附加的設(shè)備擴展裝置600。計算設(shè)備100與設(shè)備擴展裝置600之間經(jīng)由第一內(nèi)存總線連接,擴展功能單元200與設(shè)備擴展裝置600之間經(jīng)由用戶自定義總線連接,DRAM400與設(shè)備擴展裝置600之間經(jīng)由第二內(nèi)存總線連接。此外,擴展功能單元200與SRAM500之間經(jīng)由第三內(nèi)存總線連接。
[0032]計算設(shè)備100經(jīng)由第一內(nèi)存總線、設(shè)備擴展裝置600和第二內(nèi)存總線訪問DRAM400,以及經(jīng)由第一內(nèi)存總線、設(shè)備擴展裝置600、擴展功能單元200和第三內(nèi)存總線訪問SRAM 500。計算設(shè)備100還可以經(jīng)由第一內(nèi)存總線、設(shè)備擴展裝置600和用戶自定義總線訪問擴展功能單元200的某些內(nèi)部緩沖區(qū),從而建立了計算設(shè)備100和擴展功能單元200之間的直接高速數(shù)據(jù)緩沖和數(shù)據(jù)共享。
[0033]擴