專利名稱:具有網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的自適應(yīng)信息處理系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及信息處理系統(tǒng),尤其涉及一種具有網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的自適應(yīng)信息處理系統(tǒng)。
在多媒體應(yīng)用和互聯(lián)網(wǎng)開始走進(jìn)人們生活中的時候,計算機也進(jìn)入了奔騰時代。計算機的處理對象不再是相對簡單的非實時性數(shù)據(jù)處理,更大的挑戰(zhàn)是具有實時要求的數(shù)據(jù)流的處理。就中央處理器(CPU)本身來說針對其新增的處理對象和更繁重的處理任務(wù)作了一定的結(jié)構(gòu)調(diào)整。新增了多媒體增強指令集MMX(Multi-Media extension)單元處理多媒體流指令,提高CPU對多媒體的處理能力。再者,早期的計算機都是復(fù)雜指令集計算機CISC(ComplexInstruction Set Computer),處理對象是復(fù)雜且長短不一(從8位到120位)的指令集,事實上在復(fù)雜指令集中頻繁的指令只占20%左右,而且因為指令長短的不一致,所以處理速度相對緩慢。而精簡指令集計算機RISC(ReducedInstruction Set Computer)的指令集簡短實用且具有相同長度,所以處理速度比CISC快了很多。由于將復(fù)雜指令集的眾多指令轉(zhuǎn)成精簡指令是不可能實現(xiàn)的,所以就在CPU內(nèi)部采用了精簡指令內(nèi)核(RISC芯)單元,將復(fù)雜指令集的指令經(jīng)譯碼后形成類精簡指令(RISC Like),并在精簡指令內(nèi)核上運行以加快處理速度,見
圖1。
外部設(shè)備總線(IO BUS)在進(jìn)入多媒體和網(wǎng)絡(luò)后也有了長足的進(jìn)步,從最初的8位ISA(工業(yè)標(biāo)準(zhǔn)結(jié)構(gòu)Industry Standard Architecture)總線到16位PCI(外部設(shè)備互聯(lián)Peripheral Component Interconnection)總線提高了對IO訪問速度,全面支持即插即用(Plug & Play)。在奔騰2代又出現(xiàn)圖形加速總線AGP(Acceleration Graphic Port)連接處理圖形的協(xié)處理器,分擔(dān)CPU的處理任務(wù),加速圖形處理速度。在奔騰時代無論CPU主頻,存儲容量和高速緩沖存儲器(Cache)大小等都有了飛快的提高。
CPU負(fù)責(zé)控制整個計算機系統(tǒng)的運行,它的基本控制功能就是時序控制和執(zhí)行控制。CPU完成其系統(tǒng)服務(wù)操作主要由四部分組成。首先,CPU由時鐘電路產(chǎn)生的時鐘信號進(jìn)行定時,以控制各種操作按指定的時序進(jìn)行。其次,CPU要完成取指令、分析指令和控制邏輯運算單元ALU執(zhí)行指令的操作。再次,CPU提供中斷同步控制邏輯,提高CPU的處理效率,使CPU與輸入輸出設(shè)備I/O并行工作,同時使CPU能夠及時響應(yīng)各種預(yù)先不知的異常事件,還可以實現(xiàn)分時操作。最后,CPU提供總線控制邏輯,協(xié)調(diào)各部件申請使用總線。
圖2表示現(xiàn)行個人計算機構(gòu)架中CPU所提供的中斷服務(wù)流程。
1)硬件產(chǎn)生中斷由中斷控制器INTC(Interrupt Controller)激活OS內(nèi)核中相應(yīng)的模塊。
2)OS內(nèi)核對中斷進(jìn)行檢查。
3)調(diào)用相應(yīng)的中斷服務(wù)例程(ISR)。
4)中斷服務(wù)例程ISR對中斷進(jìn)行處理。
5)返回中斷標(biāo)志(Interrupt ID)。
6)內(nèi)核檢查中斷標(biāo)志(Interrupt ID)。
7)調(diào)用與此中斷標(biāo)志(Interrupt ID)相應(yīng)的中斷服務(wù)線程(IST)。
8)中斷服務(wù)線程IST通過驅(qū)動程序處理硬件中斷。
若中斷服務(wù)過程較為簡單,則上述過程中第六到第八步可以省略,也就是說不再需要中斷服務(wù)線程IST處理該中斷。
影響中斷響應(yīng)時間的主要因素是中斷服務(wù)例程ISR的響應(yīng)時間與中斷服務(wù)線程IST的響應(yīng)時間。中斷服務(wù)例程ISR響應(yīng)時間主要看是否有優(yōu)先級高于這次中斷請求的中斷服務(wù)例程ISR在執(zhí)行。而影響中斷服務(wù)線程IST的因素則更加復(fù)雜,包括系統(tǒng)對線程的調(diào)度,臨界區(qū)(Critical Section),旗語(Semaphores),互斥量(Mutex)與事件(event)的處理等。在傳統(tǒng)的個人計算機構(gòu)架中,數(shù)據(jù)流的同步與中斷的服務(wù)都是由CPU承擔(dān)的(見圖2),CPU在完成計算的同時還要擔(dān)負(fù)數(shù)據(jù)流的同步及中斷的響應(yīng),一方面增加了操作系統(tǒng)設(shè)計的復(fù)雜性,另一方面仍然不能滿足硬實時中斷的響應(yīng)的需求。
CPU為系統(tǒng)提供同步服務(wù),除了維護(hù)正常的數(shù)據(jù)同步,同時也接受異常情況處理,如除法錯中斷、溢出中斷、電源故障中斷、時鐘中斷、控制器中斷(非法指令、特權(quán)指令)等。CPU在執(zhí)行任務(wù)時為了保證信號的輸入源和輸出源保持平衡的吞吐量必須進(jìn)行數(shù)據(jù)同步。來自輸入源的數(shù)據(jù)經(jīng)CPU處理結(jié)束寫入存儲器,操作系統(tǒng)OS產(chǎn)生同步信號給出數(shù)據(jù)存儲地址空間通知輸出源,輸出源到相應(yīng)的地址空間讀出數(shù)據(jù),完成一次同步動作。當(dāng)CPU收到異常處理的請求后,激活宿主于其上的中斷服務(wù)例程ISR對消息處理,在遇到復(fù)雜情況時,將由CPU做更高層次的策略調(diào)度。
圖3從宏觀整體角度給出現(xiàn)有個人計算機框架和CPU所提供的系統(tǒng)服務(wù)。其中中央處理器內(nèi)核(CPU Core)包括邏輯運算單元ALU、浮點運算單元FPU、多媒體增強指令集MMX等單元。
現(xiàn)有個人計算機系統(tǒng)結(jié)構(gòu)作為一個通用的系統(tǒng)框架,能夠適應(yīng)多種不同類型的應(yīng)用。但也存在著許多不可避免的弱點。尤其進(jìn)入20世紀(jì)90年代上半葉,由于多媒體、互聯(lián)網(wǎng)、個人計算機和高速數(shù)據(jù)傳輸設(shè)備的發(fā)展需求,電子工業(yè)經(jīng)歷了巨大的飛躍,為了贏得商業(yè)上的競爭優(yōu)勢,生產(chǎn)商的產(chǎn)品迫切需要追求高功能、優(yōu)品質(zhì)、低成本、微功耗和微小尺寸。那么現(xiàn)有個人計算機系統(tǒng)結(jié)構(gòu)在面臨如此眾多挑戰(zhàn)的今天卻顯得頗有些心有余而力不足。
縱觀現(xiàn)有個人計算機系統(tǒng),大致存在以下一些缺陷1.功耗與處理速度無法滿足當(dāng)前的速度要求。當(dāng)我們?yōu)?.5GHz的主頻驚奇的時候,卻為MPEG VII(一種壓縮比率較大的活動圖象和聲音的壓縮標(biāo)準(zhǔn))新的標(biāo)準(zhǔn)而擔(dān)憂,軟件能否實現(xiàn)?算法越來越復(fù)雜,為了滿足人們無止境的需求,Wintel所能做的就是提高CPU的主頻。時鐘翻轉(zhuǎn)次數(shù)的增加,功耗的增加不可避免,處理器熱的發(fā)燙。筆記本計算機尚勉強可采用這類CPU,如何讓手持式的移動設(shè)備接受這種方案?2.多媒體的需求使得無法針對多媒體應(yīng)用優(yōu)化設(shè)計。其實針對特定的算法,我們可以設(shè)計專門的數(shù)字信號處理器DSP或?qū)S眉呻娐稟SIC去實現(xiàn)。而通用的處理器只能以打補丁的方式滿足應(yīng)用的需求。多媒體增強指令集單元MMX與特殊流指令擴展單元SSE(II)(Streaming SIMD single instructionmultiple data Extensions)就是一例。
3.不可實現(xiàn)的實時中斷響應(yīng)(硬實時)。增加的存儲器管理單元MMU與虛擬地址映射拓展了應(yīng)用的空間。但也因為這樣使硬實時中斷處理不易實現(xiàn)。微軟Microsoft不斷地改善它的系統(tǒng),但由于受到硬件平臺的限制,效果總是差強人意。
4.智能或性能的取舍方面,無法提高性能也無法真正做到智能。越來越多的特定應(yīng)用將會呈現(xiàn)在計算機面前等候處理,其中有一些是我們已知的,如多媒體、網(wǎng)絡(luò)、通訊等;然而更多的卻是未知的。為了滿足應(yīng)用的需求,現(xiàn)有的結(jié)構(gòu)采用了打補丁的方式。CPU要為系統(tǒng)提供服務(wù)、至少還需要處理少量實時性數(shù)據(jù)(性能),它還可以完成多少非實時性的處理任務(wù)提供智能服務(wù)呢?提高頻率,小修小補也無濟(jì)于事。
5.分布式計算的挑戰(zhàn)。首先是瓶頸問題。CPU主頻的提高,對存儲器帶寬的要求也要提高。增加了高速緩沖存儲器Cache,從同步動態(tài)隨機存儲器SDRAM(Synchronous Dynamic Random Access Memory)到隨機存取存儲器總線RAMBUS(Direct RAMBUS System是存儲器系統(tǒng)),從PC100到PC133(內(nèi)存頻率),從PCI(外部設(shè)備互聯(lián)Peripheral Component Interconnection)總線到AGP圖形加速總線,整個工業(yè)界始終圍著Wintel轉(zhuǎn),然而瓶頸始終存在。
其次是同步的復(fù)雜性。絕大多數(shù)的實現(xiàn)由單一的CPU完成,通過共享存儲器Share Memory與旗語Semaphore(同步標(biāo)志)等機制,依靠高速的處理能力勉強維護(hù)數(shù)據(jù)流的同步。而我們將要面臨更復(fù)雜的分布式計算。
此外是設(shè)計缺乏開放性。對于問題的解決方案(算法)的實現(xiàn),始終有優(yōu)化的余地,而決非一家之言。Wintel想創(chuàng)建單一的系統(tǒng)滿足所有應(yīng)用需求,但系統(tǒng)只會日益臃腫。開放的設(shè)計不僅僅是輸入輸出設(shè)備IO,還應(yīng)包括中央處理器內(nèi)核CPU Core與操作系統(tǒng)OS。
6.系統(tǒng)的可擴展性方面,已不再具有足夠的擴展性。為了提高圖形處理速度,增加圖形加速總線AGP,掛上圖形加速卡說明打補丁式的擴展手段是現(xiàn)有框架唯一可采用的了,硬實時中斷仍然不易實現(xiàn),只能寄希望于再次提高CPU主頻。但是還能有多少張什么方面應(yīng)用處理卡能夠掛在現(xiàn)有的系統(tǒng)上?系統(tǒng)的擴展問題會隨著網(wǎng)絡(luò)時代的進(jìn)一步深化而變得更尖銳。
因此,本發(fā)明的目的在于提供一種具有網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)、使系統(tǒng)具有強大的自適應(yīng)可調(diào)功能、并具有可擴展能力的自適應(yīng)信息處理系統(tǒng)。
本發(fā)明的另一目的在于提供一種由CPU、微控制器、同步控制器構(gòu)成的系統(tǒng)服務(wù)層結(jié)合以消息總線、模塊間的硬中斷同步信號線等組成的服務(wù)信道,貫穿服務(wù)于系統(tǒng)中每一模塊VC(virtual component)而形成系統(tǒng)服務(wù)子網(wǎng)絡(luò)的自適應(yīng)信息處理系統(tǒng),使系統(tǒng)具有強大的自適應(yīng)可調(diào)功能。
本發(fā)明的另一目的在于提供一種具有網(wǎng)絡(luò)分布式運算結(jié)構(gòu)的自適應(yīng)信息處理系統(tǒng)。藉由多處理器、可重用知識產(chǎn)權(quán)IP(intellectual property)和輸入輸出設(shè)備得以系統(tǒng)服務(wù)子網(wǎng)絡(luò)和多層總線結(jié)構(gòu)的全方位支持形成系統(tǒng)內(nèi)部網(wǎng)絡(luò)并可有效開展分布協(xié)作運算。
本發(fā)明的另一目的在于提供一種由微控制器模塊(Micro Controller)為系統(tǒng)提供中斷服務(wù)、為數(shù)據(jù)同步中的異常情況提供服務(wù)。同時可以通過消息總線以事件的形式協(xié)調(diào)各處理單元的工作的自適應(yīng)信息處理系統(tǒng)。
本發(fā)明的另一目的在于提供一種由同步控制器模塊通過中斷信號維護(hù)緩沖器環(huán)形緩存器,同步模塊與模塊之間的實時數(shù)據(jù)流交換的自適應(yīng)信息處理系統(tǒng)。
本發(fā)明的另一目的在于提供一種具有電源管理和省電功能的自適應(yīng)信息處理系統(tǒng)。
根據(jù)本發(fā)明的一個方面,提供一種具有網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的自適應(yīng)信息處理系統(tǒng),它包括a.系統(tǒng)服務(wù)子網(wǎng)絡(luò),它包括用于系統(tǒng)管理、協(xié)調(diào)和智能處理的中央處理單元;為系統(tǒng)提供中斷響應(yīng)和中斷服務(wù),并用以協(xié)調(diào)系統(tǒng)中各處理器單元工作的微控制器;連接到所述微控制器,用以同步系統(tǒng)中模塊與模塊之間的實時數(shù)據(jù)流交換的同步控制器;由消息總線和模塊間的硬實時同步信號線組成的系統(tǒng)服務(wù)信道,用以傳輸包括中斷、同步在內(nèi)的系統(tǒng)服務(wù)消息,所述中央處理單元、微控制器和同步控制器通過所述服務(wù)信道相連接,b.至少一個面向應(yīng)用的處理子網(wǎng)絡(luò),它包括處理資源再分配與數(shù)據(jù)流高層次分析的處理器;用以在微控制器與處理器之間交換數(shù)據(jù)的共享存儲器;提供數(shù)據(jù)輸入的數(shù)據(jù)源裝置;提供數(shù)據(jù)輸出的數(shù)據(jù)目標(biāo)裝置,
所述處理器、共享存儲器、數(shù)據(jù)源裝置和數(shù)據(jù)目標(biāo)裝置分別經(jīng)由各條總線連接到所述消息總線,c.用于傳輸數(shù)據(jù)的系統(tǒng)總線,其中,所述系統(tǒng)服務(wù)子網(wǎng)絡(luò)和應(yīng)用處理子網(wǎng)絡(luò)分別通過不同速率的數(shù)據(jù)總線連接到系統(tǒng)總線。
根據(jù)本發(fā)明的自適應(yīng)信息處理系統(tǒng),使系統(tǒng)建立真正的分布式協(xié)作計算環(huán)境。分布式的并行計算環(huán)境兼顧了面向智能的與面向性能的應(yīng)用的需求。分布式的并行計算環(huán)境站在系統(tǒng)框架的角度從根本上解決了系統(tǒng)運行效率的問題。而不是簡單地提高CPU的頻率。系統(tǒng)效率的提高是通過系統(tǒng)框架的改進(jìn)而實現(xiàn)的,所以低功耗的目的也迎刃而解。網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)可以根據(jù)應(yīng)用的不同需求,打開與關(guān)閉某些處理單元,甚至整個子網(wǎng)絡(luò)Subnet。對于算法也以網(wǎng)絡(luò)的形式加以描述,為優(yōu)化提供了更大的空間。通過系統(tǒng)層System Layer將其映射到具有網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的系統(tǒng)結(jié)構(gòu)上。同時也將屬于CPU的控制功能具體下放到各處理器,如時序控制、指令寄存器的控制和總線控制邏輯等。
系統(tǒng)服務(wù)層(Service Stack)在三個不同的層次上使系統(tǒng)具有自適應(yīng)的特性,它有效地為系統(tǒng)中的各個處理單元提供了同步,資源分配與系統(tǒng)監(jiān)控(NetAdministrator)。系統(tǒng)在四個不同層次服務(wù)的幫助下,在不同的應(yīng)用環(huán)境下,很容易達(dá)到自我適應(yīng)與平衡。加之網(wǎng)絡(luò)的結(jié)構(gòu)使系統(tǒng)具有即插即用Plug & Play的特性(設(shè)計上)。
本發(fā)明為SOC時代提供了一個全方位的解決方案。不僅有效克服了現(xiàn)有系統(tǒng)結(jié)構(gòu)中的瓶頸問題,同時也為SOC系統(tǒng)的良好發(fā)展奠定了基礎(chǔ)。無論是多媒體和網(wǎng)絡(luò)時代的需求,亦或未來更多應(yīng)用,更高智能處理的苛求本發(fā)明都為此提供足夠的擴展空間、硬軟件平臺的支持和有效的系統(tǒng)服務(wù)。本發(fā)明有效降低對處理器功耗和處理速度的苛求,系統(tǒng)性能和智能都得到長足提高并為未來留有足夠的擴展空間,實現(xiàn)網(wǎng)絡(luò)分布式運算提高處理效率,同時真正實現(xiàn)系統(tǒng)的自適應(yīng)能力。
以下將結(jié)合附圖和實施例對本發(fā)明的信息處理系統(tǒng)作進(jìn)一步的詳細(xì)描述。本發(fā)明的進(jìn)一步的目的、特征和優(yōu)點在以下的描述中將變得更加明白。
圖1是表示現(xiàn)有技術(shù)的個人計算機的框架示意圖;圖2是表示現(xiàn)行個人計算機構(gòu)架中CPU所提供的中斷服務(wù)流程的示意圖;圖3是從宏觀整體角度給出現(xiàn)有個人計算機框架和CPU所提供的系統(tǒng)服務(wù)的示意圖;圖4是表示根據(jù)本發(fā)明的信息處理系統(tǒng)的一個系統(tǒng)方框圖;圖5是表示本發(fā)明的一個系統(tǒng)服務(wù)子網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)示意圖;圖6A是表示本發(fā)明的同步控制器的操作框圖;圖6B是表示同步控制器內(nèi)部結(jié)構(gòu)及其功能的示意圖;圖7A是表示微控制器的內(nèi)部結(jié)構(gòu)及其功能示意圖;圖7B是表示微控制器的接口示意圖;圖7C是表示微控制器的工作狀態(tài)示意圖;圖8是表示本發(fā)明系統(tǒng)中的處理器對資源分配與對數(shù)據(jù)流進(jìn)行分析的操作示意圖;圖9表示根據(jù)本發(fā)明的信息處理系統(tǒng)的一個系統(tǒng)服務(wù)流程圖;圖10表示處理器上實現(xiàn)的中斷服務(wù)線程IST的狀態(tài)圖;圖11是表示軟硬件并行聯(lián)合設(shè)計、驗證的示意圖;圖12是表示利用虛擬機技術(shù)提供的異構(gòu)系統(tǒng)平臺的示意圖;圖13是表示利用代碼變換提供的異構(gòu)系統(tǒng)平臺的示意圖;圖14是表示系統(tǒng)資源分配的示意圖;圖15是表示共享存儲技術(shù)的示意圖;圖16是表示多級互連的多處理器系統(tǒng)數(shù)據(jù)傳送協(xié)議的示意圖;圖17是表示各子網(wǎng)中的處理單元的電源管理示意圖;圖18是表示微控制器對處理單元的電源管理示意圖;圖19是表示服務(wù)子網(wǎng)的電源管理的示意圖;圖20是表示應(yīng)用于本發(fā)明的MP3解碼流程的3個步驟的示意圖;圖21示出了MP3音頻數(shù)據(jù)下載的流程;圖22是表示一個音頻數(shù)據(jù)解碼算法的示意圖;圖23是表示一個音頻數(shù)據(jù)回放的示意圖;圖24是表示本發(fā)明的系統(tǒng)與英特網(wǎng)聯(lián)接的示意圖;圖25是表示MP3音頻播放功能在本系統(tǒng)中的實現(xiàn)的示意圖26是表示同步緩存的操作的示意圖;圖27是表示用JPEG實現(xiàn)視頻會議功能的流程圖;圖28是表示CCD圖像采集模塊的示意圖;圖29是表示JPEG壓縮流程的示意圖;圖30是表示通用串行總線(USB)傳輸流程的示意圖;圖31是表示視頻會議在本發(fā)明的系統(tǒng)中的實現(xiàn)的示意圖。
接下來參見圖4,它表示根據(jù)本發(fā)明的信息處理系統(tǒng)的一個系統(tǒng)方框圖。該信息處理系統(tǒng)包括a.系統(tǒng)服務(wù)子網(wǎng)絡(luò),它包括用于系統(tǒng)管理、協(xié)調(diào)和智能處理的中央處理單元41;為系統(tǒng)提供中斷響應(yīng)和中斷服務(wù),并用以協(xié)調(diào)系統(tǒng)中各處理器單元工作的微控制器42;連接到所述微控制器42,用以同步系統(tǒng)中模塊與模塊之間的實時數(shù)據(jù)流交換的同步控制器43;由消息總線44和模塊間的硬實時同步信號線(未圖示)組成的系統(tǒng)服務(wù)信道,用以傳輸包括中斷、同步在內(nèi)的系統(tǒng)服務(wù)消息,所述中央處理單元41、微控制器42和同步控制器43通過所述服務(wù)信道相連接;b.至少一個面向應(yīng)用的處理子網(wǎng)絡(luò),它包括處理資源再分配與數(shù)據(jù)流高層次分析的處理器45;用以在微控制器42與處理器45之間交換數(shù)據(jù)的共享存儲器46;提供數(shù)據(jù)輸入的數(shù)據(jù)源裝置47;提供數(shù)據(jù)輸出的數(shù)據(jù)目標(biāo)裝置48,所述處理器45、共享存儲器46、數(shù)據(jù)源裝置47和數(shù)據(jù)目標(biāo)裝置48分別經(jīng)由各條總線連接到所述消息總線44;c.用于傳輸數(shù)據(jù)的系統(tǒng)總線49,其中,所述系統(tǒng)服務(wù)子網(wǎng)絡(luò)和應(yīng)用處理子網(wǎng)絡(luò)分別通過不同速率的數(shù)據(jù)總線連接到系統(tǒng)總線49。
系統(tǒng)采用單芯片的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。其中,由CPU41、微控制器42和同步控制器43構(gòu)成系統(tǒng)服務(wù)層,由多處理器與多總線的結(jié)構(gòu)形成網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)。網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)以節(jié)點(node),邊沿(edge)描述。處理單元對應(yīng)于節(jié)點,總線與信道構(gòu)成邊沿。該分布式的應(yīng)用在算法上也以網(wǎng)絡(luò)的形式實現(xiàn),它通過系統(tǒng)層在兩者之間建立映射關(guān)系,這是系統(tǒng)最上層的網(wǎng)絡(luò)關(guān)系,同時建立了分布式運算環(huán)境所需的基本框架。
系統(tǒng)框架兼顧性能與智能。CPU 41和存儲器管理單元MMU 411提供硬件平臺,傳統(tǒng)的操作系統(tǒng)廠商可以在此基礎(chǔ)上構(gòu)建虛擬平臺(Virtual Platform),虛擬平臺之上可以實現(xiàn)各類面向智能的應(yīng)用。
數(shù)字信號處理器DSP的設(shè)計針對不同的多媒體數(shù)據(jù)流進(jìn)行優(yōu)化,以滿足性能的要求。對于實時響應(yīng)更高的應(yīng)用,經(jīng)過對算法的進(jìn)一步分析與優(yōu)化,最終以專用集成電路ASIC落實。CPU、DSP、ASIC構(gòu)成了一個非對稱的處理器體系,以共享存儲器交換數(shù)據(jù),形成分布運算的運算主體。
至于總線連接,因為有許多設(shè)備需要介入總線,而這些設(shè)備的處理對象和數(shù)據(jù)傳輸速率相差很大,使用單一的總線已無法滿足性能需求。所以采用多層次的數(shù)據(jù)總線結(jié)構(gòu),根據(jù)各個設(shè)備對數(shù)據(jù)傳輸率的不同要求,用不同層次的總線進(jìn)行互聯(lián),以適應(yīng)各自的特性和需求。不同層次間的總線相對獨立,允許使用不同的信號和以不同的速率運行,而對某一個層次總線結(jié)構(gòu)的修改不會影響其他層次的總線結(jié)構(gòu),使系統(tǒng)具有擴展性??偩€與總線之間以橋Bridge相連滿足對于不同帶寬的要求。同時提供以消息總線、模塊之間的硬中斷同步信號線等組成的服務(wù)信道(Service Channel)用于傳輸系統(tǒng)服務(wù)消息,如中斷、同步等,確保系統(tǒng)運轉(zhuǎn)自然順暢。多層總線結(jié)構(gòu)為分布運算的并行性提供了強有力的硬件結(jié)構(gòu)布局支持。
網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)不同于Intranet/Internet,系統(tǒng)由于存在共享內(nèi)存,數(shù)據(jù)與流的控制從數(shù)據(jù)包(IP Packet)中分開,網(wǎng)絡(luò)由兩個不同的拓?fù)浣Y(jié)構(gòu)構(gòu)成1.用于對流控制的消息傳遞也采用總線拓?fù)洌趯崿F(xiàn)上所有的節(jié)點都在不同數(shù)據(jù)處理域(即子網(wǎng)絡(luò))中。由同步控制器43、微控制器42、CPU41與消息總線44構(gòu)成的服務(wù)子網(wǎng)絡(luò)是系統(tǒng)的本體,為系統(tǒng)提供基本的服務(wù)。服務(wù)包括數(shù)據(jù)流同步;中斷響應(yīng);異常處理;控制流處理;系統(tǒng)資源分配與調(diào)度。
2.數(shù)據(jù)傳送采用總線拓?fù)?,并以?Bridge)40將不同的域(即子網(wǎng)絡(luò))相聯(lián)接。系統(tǒng)中例如包括三個面向應(yīng)用的子網(wǎng)面向智能處理的子網(wǎng);面向多媒體處理的子網(wǎng);面向通訊的子網(wǎng)。其中,面向智能處理的子網(wǎng)以帶MMU411的通用處理器為核心,在這之上構(gòu)建軟件的非實時操作系統(tǒng)。面向多媒體處理的子網(wǎng)由DSP與ASIC構(gòu)成,由微控制器協(xié)調(diào)VC之間的同步,在微控制器上的實時操作系統(tǒng)(RTOS)為數(shù)據(jù)同步提供支持。
網(wǎng)絡(luò)中的節(jié)點網(wǎng)絡(luò)中的節(jié)點不僅包括數(shù)據(jù)處理單元(DSP,處理器,ASIC),消息處理單元(消息信道,微控制器),也包括在處理器上執(zhí)行的進(jìn)程,不同的進(jìn)程可以視作不同的節(jié)點。
網(wǎng)絡(luò)中的連接不同于Intranet/Internet,總線的共享問題以總線的仲裁程序器(Arbiter)防止共享沖突,它可以根據(jù)不同的需求,設(shè)計時采用不同的算法實現(xiàn)。
系統(tǒng)服務(wù)子網(wǎng)絡(luò)數(shù)據(jù)交換通過共享存儲器46,數(shù)據(jù)同步是靠系統(tǒng)服務(wù)子網(wǎng)絡(luò)實現(xiàn)的。系統(tǒng)服務(wù)子網(wǎng)絡(luò)由以下三層次構(gòu)成。同步控制器43通過中斷信號維護(hù)緩沖器(環(huán)形緩存器),同步模塊與模塊之間的數(shù)據(jù)交換。微控制器42為系統(tǒng)提供中斷響應(yīng)和中斷服務(wù)(判別中斷優(yōu)先級并進(jìn)行處理),中斷可以分為外部設(shè)備中斷和內(nèi)部中斷(陷阱),其中內(nèi)部中斷又包括溢出中斷、軟件中斷、電源故障中斷、時鐘中斷、單步中斷、控制器中斷等。并通過消息總線以事件(Event)的形式協(xié)調(diào)各處理單元的工作。以上兩個層次為數(shù)據(jù)流的流暢運行處理提供行之有效的中斷和同步服務(wù)。
而CPU41作為系統(tǒng)管理(System administrator)站在最高層次上擔(dān)當(dāng)整個系統(tǒng)的協(xié)調(diào)與資源的調(diào)度。通過這三層服務(wù)機制結(jié)合服務(wù)信道(Service Channel)形成系統(tǒng)服務(wù)子網(wǎng)絡(luò),靈活機動協(xié)調(diào)分配任務(wù),系統(tǒng)可以達(dá)到自適應(yīng)平衡,真正建立分布運算中的友好協(xié)作關(guān)系。
系統(tǒng)服務(wù)子網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)圖5表示本發(fā)明的一個系統(tǒng)服務(wù)子網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)示意圖。該系統(tǒng)服務(wù)子網(wǎng)絡(luò)由消息總線44將同步控制器43、微控制器42,CPU41組織在一起構(gòu)成類似于神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。同步控制器43、微控制器42是網(wǎng)絡(luò)結(jié)構(gòu)中的中樞,CPU41是網(wǎng)絡(luò)結(jié)構(gòu)中的大腦。
同步控制器為了有效地支持實時數(shù)據(jù)流的處理,在系統(tǒng)服務(wù)層的最低層,是ASIC實現(xiàn)的同步控制器43。與事件驅(qū)動的微控制器相比,最大的不同在于實現(xiàn)VC之間同步的機制仍然保留了中斷的方式。但與傳統(tǒng)處理方式不同,中斷信號線直接與同步控制器43相連。中斷信號線作為幀同步的信號線觸發(fā)同步控制器模塊。由同步控制器43維護(hù)環(huán)形緩沖存儲器(環(huán)形緩存器)。同步控制器43同樣以中斷的方式激活相應(yīng)的中斷服務(wù)線程IST,或以事件知會協(xié)調(diào)程序。圖6示出本發(fā)明的同步控制器43的操作框圖。同步控制器43通過對環(huán)形緩存器61寫入和讀出數(shù)據(jù)地址進(jìn)行計數(shù)的方式來完成數(shù)據(jù)同步工作,這里,稱寫入數(shù)據(jù)為生產(chǎn)量,讀出數(shù)據(jù)為消費量。同步控制器43將一幀數(shù)據(jù)開始傳輸?shù)钠鹗嫉刂吩O(shè)置為環(huán)形緩存器61的起始地址,當(dāng)寫入下一幀數(shù)據(jù)時,生產(chǎn)量地址計數(shù)器加一。如果緩存器61寫滿,將給出“滿”信號;而當(dāng)數(shù)據(jù)被讀出時,則消費量地址計數(shù)器加一。如果緩存器61的數(shù)據(jù)讀完,則給出“空”信號。同步控制器43以此方式來維護(hù)實時數(shù)據(jù)同步。
微控制器圖7A表示微控制器42的內(nèi)部結(jié)構(gòu)及其功能示意圖。微控制器42由RISC芯71與中斷控制器(INTC)72組成。而RISC芯71由一組通用的寄存器和算術(shù)與邏輯運算單元(ALU)組成。RISC芯71提供了一組指令集,利用這組指令集,軟件可以實現(xiàn)一系列功能。這些功能包括對中斷服務(wù)例程(ISR)的支持,中斷服務(wù)線程(IST)之間的同步控制,環(huán)形緩存器的控制與電源管理等等。其中,對中斷服務(wù)例程的支持包括1)處理單元(Processor,AISC)45產(chǎn)生消息,經(jīng)消息總線44傳到微控制器42的中斷控制器72;2)中斷控制器72將消息轉(zhuǎn)成中斷信號3)由中斷控制器72激活OS內(nèi)核中相應(yīng)的中斷服務(wù)例程模塊;4)中斷服務(wù)例程對中斷進(jìn)行處理。
5)中斷服務(wù)例程通過微控制器42的寄存器接口,讀寫處理單元45的寄存器,控制處理單元45的狀態(tài)。
對任務(wù)(Task)同步的支持包括6)處理單元45產(chǎn)生消息,經(jīng)消息總線44傳到微控制器42的中斷控制器72;7)微控制器42讀取消息,將該消息解釋為兩個部分源地址與消息本身;8)微控制器42根據(jù)消息的源地址與內(nèi)容在消息表(Message Table)中查詢相應(yīng)的輸出消息;9)微控制器42根據(jù)輸出消息中的目標(biāo)地址,通過消息總線44發(fā)送給相應(yīng)的處理單元45;10)等待某個消息的處理單元45得到消息后繼續(xù)執(zhí)行任務(wù)。
對環(huán)形緩存器61的控制圖6B表示同步控制器內(nèi)部結(jié)構(gòu)及其功能的示意圖。其中,消息的處理機制同上。生產(chǎn)量75與消費量76相當(dāng)于消息源,同步控制器43相當(dāng)于消息目的。生產(chǎn)量75與消費量76通過消息機制對同步控制器43中的生產(chǎn)量計數(shù)器(Producer Counter)435與消費量計數(shù)器(Consumer Counter)436的值進(jìn)行讀寫。
輸出的消息中一類較特殊的消息用于對處理單元45的電源控制,消息的目標(biāo)雖然指向目標(biāo)處理單元,但消息實際發(fā)送給電源控制模塊。
微控制器42為數(shù)據(jù)流中的異常處理提供服務(wù),它的作用相當(dāng)于原來系統(tǒng)中的中斷服務(wù)例程(ISR)。但是由于從原來的CPU中分離出來,在獨立的控制器上實現(xiàn),微控制器42可以處理更加復(fù)雜的異常,并可以通過同步控制器43所提供的消息接口,實現(xiàn)對數(shù)據(jù)流的配置。
圖7B表示微控制器42的接口示意圖。如圖所示,微控制器42有三個接口77-79。接口77接受來自同步控制器43的異常處理消息;接口78將控制信息發(fā)送給同步控制器43模塊;接口79當(dāng)微控制器42不能處理復(fù)雜的異常情況時,將消息轉(zhuǎn)發(fā)給CPU 41。這里有三種處理方式,其一,針對芯片外的CPU可以保留中斷的方式,并提供狀態(tài)寄存器,將消息轉(zhuǎn)換成中斷與狀態(tài)字的描述與傳統(tǒng)結(jié)構(gòu)相兼容;其二,對于嵌入的CPU芯412,在其外圍以包裝(Wrapper)的形式包裝消息到中斷請求(IRQ)的轉(zhuǎn)換;其三,對于自己提供的處理器單元45直接提供消息的支持。
圖7C是表示微控制器42的工作狀態(tài)示意圖。微控制器42接受的是消息包(Message Packet),維護(hù)兩張表,消息表和觸發(fā)表(Trigger Table),并且負(fù)責(zé)對環(huán)形緩存器61的生產(chǎn)量與消費量指針(Pointer)的維護(hù)。主要有兩個工作狀態(tài)配置(Configuration)與查找(Lookup)。當(dāng)同步控制器43處于配置時,CPU41可以通過配置通道(Config Channel)對微控制器42進(jìn)行配置。
初始化狀態(tài)時,微控制器42初始化消息表,觸發(fā)表與計數(shù)器。內(nèi)部變量初始化完畢后,微控制器42轉(zhuǎn)入等待(Wait)狀態(tài)。當(dāng)截獲配置消息時,微控制器42轉(zhuǎn)移到配置的狀態(tài),等待系統(tǒng)對其表與觸發(fā)表的配置。系統(tǒng)讀取數(shù)據(jù)庫中的配置文件,通過同步控制器43的接口,調(diào)整查找表。配置過程結(jié)束后,系統(tǒng)發(fā)出結(jié)束消息,微控制器42同步切回等待狀態(tài)。
當(dāng)系統(tǒng)接受到消息后轉(zhuǎn)入查找狀態(tài),在查找狀態(tài),微控制器42查詢消息,做出相應(yīng)的處理,若是對環(huán)形緩存器的操作,由觸發(fā)表與計數(shù)器維護(hù),若是普通的消息,通過表轉(zhuǎn)發(fā)消息。
處理器圖8表示本發(fā)明系統(tǒng)中的處理器45對資源分配與對數(shù)據(jù)流進(jìn)行分析的操作示意圖。服務(wù)層在最頂層以處理器實現(xiàn)對網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)中的資源的再分配與對數(shù)據(jù)流的高層次的分析。微控制器42對出錯的處理以數(shù)據(jù)庫的形式紀(jì)錄在數(shù)據(jù)庫中,數(shù)據(jù)庫以兩種形式實現(xiàn)運行時以共享存儲器46的形式在微控制器42與處理器45之間交換數(shù)據(jù)。當(dāng)系統(tǒng)關(guān)閉時,將共享存儲器46中的數(shù)據(jù)存儲到文件系統(tǒng)80中。系統(tǒng)初始化的時候,將文件系統(tǒng)(File System)80中的數(shù)據(jù)下載到存儲器中。處理器45根據(jù)共享存儲器46中的數(shù)據(jù)加以分析,并通過配置配置系統(tǒng)資源。
新構(gòu)架提供的服務(wù)流程與傳統(tǒng)個人計算機框架相比,中斷處理改成消息驅(qū)動(Event Driven)。虛擬部件VC(Virtual Component)提供統(tǒng)一的用于消息處理的接口,消息作為外部的激勵,改變內(nèi)部狀態(tài)機的狀態(tài),完成指定的功能。VC不僅僅接受消息,VC同樣產(chǎn)生消息。消息被放在以消息總線44上傳遞到微控制器42中,微控制器42根據(jù)預(yù)先設(shè)定的查找表查找相應(yīng)的動作,或則轉(zhuǎn)發(fā)消息,或則處理緩沖器(FIFO)。消息主要提供兩種性質(zhì)的服務(wù),第一類是維護(hù)正常的數(shù)據(jù)流的同步,第二類是發(fā)出異常請求。微控制器42收到異常處理的請求后,激活宿主于其上的中斷服務(wù)例程ISR對消息處理。當(dāng)微控制器42遇到更加復(fù)雜的情況,不能隨意處置時,微控制器42將消息遞交給CPU41,CPU41在更高的層次上作策略性的調(diào)度。綜上所述,系統(tǒng)提供四個不同層次的服務(wù)完成對實時數(shù)據(jù)流的同步控制。
圖9表示一個系統(tǒng)服務(wù)流程。如圖9所示,系統(tǒng)將由CPU4l單獨完成的任務(wù)分布到不同的模塊中實現(xiàn)。VC替代了中斷服務(wù)線程IST的角色,微控制器42完成了原來內(nèi)核程序提供的消息傳遞功能,增強了的中斷服務(wù)例程ISR(可處理異常)也執(zhí)行在微控制器42之上。簡化了宿主在傳統(tǒng)CPU上的OS的設(shè)計。
中斷服務(wù)線程IST的實現(xiàn)實現(xiàn)中斷服務(wù)線程IST的不僅是DSP,完成特定功能的ASIC的也是一個中斷服務(wù)線程IST,這里中斷服務(wù)線程IST只是借用軟件的名詞。圖10表示處理器上實現(xiàn)的中斷服務(wù)線程IST的狀態(tài)圖。
狀態(tài)的變化是通過消息驅(qū)動的,處理單元自身也產(chǎn)生消息給同步控制器43模塊。處理單元在初始化狀態(tài)接受來自同步控制器43的命令。系統(tǒng)給出“開始數(shù)據(jù)流”后,處理單元進(jìn)入“等待”狀態(tài),“等待”狀態(tài)接受來自“源”的消息。當(dāng)緩存器FIFO中有數(shù)據(jù)需要處理時,“源”發(fā)出“開始數(shù)據(jù)流”,通過同步控制器43通知處理單元,處理單元進(jìn)入“工作”狀態(tài)處理數(shù)據(jù),當(dāng)有數(shù)據(jù)需要寫入FIFO中時,處理單元檢查FIFO狀態(tài),當(dāng)FIFO為“滿”的時候,處理單元可采用兩種策略。其一,產(chǎn)生寫入的動作使FIFO產(chǎn)生“溢出”的異常,異常的消息進(jìn)而由同步控制器43通知微控制器42,微控制器42對異常做出相應(yīng)的處理,當(dāng)處理不能解決問題時,再通知CPU41上的中斷服務(wù)線程IST模塊,CPU41在更高的層次上作協(xié)調(diào)。其二,處理單元不采取任何反映,使數(shù)據(jù)流進(jìn)入堵塞狀態(tài),由其他模塊作出相應(yīng)動作。“停止”(Stall)狀態(tài)表明處理單元發(fā)生異常,當(dāng)異常情況被排除后,處理單元恢復(fù)“工作”狀態(tài)。在處理單元處于“等待”與“停止”狀態(tài)時可接受“停止數(shù)據(jù)流”命令,處理單元釋放系統(tǒng)資源,返回“初始”狀態(tài)。分布式多處理器系統(tǒng)的處理流程從體系上講,這是一個多指令流多數(shù)據(jù)流(MIMD)的并行分布式系統(tǒng)在系統(tǒng)操作臺(SOC)上的實現(xiàn);從存儲器的耦合性角度看,這是一個緊耦合的設(shè)計,因為系統(tǒng)共享存儲器。系統(tǒng)從另一角度上看,它是一個非對稱的并行計算結(jié)構(gòu)。非對稱性體現(xiàn)在兩個方面,其一,處理單元在不同層次提供系統(tǒng)服務(wù),VC,處理器在最底層提供處理能力,同步控制器43同步具有處理能力的模塊之間的數(shù)據(jù)流同步,控制器提供異常處理的網(wǎng)絡(luò)服務(wù),CPU41完成系統(tǒng)資源的分配與高層次的決策。其二,針對不同的算法,DSP的設(shè)計可以互不相同;由于異構(gòu)(非對稱)的特點,系統(tǒng)設(shè)計將考慮以下一系列問題a)透明性(Transparency),其含義是系統(tǒng)設(shè)計者如何使系統(tǒng)的兩次開發(fā)者(編程人員)誤以為是一個單處理器的系統(tǒng)。在系統(tǒng)設(shè)計過程中,同時考慮開發(fā)環(huán)境的設(shè)計與系統(tǒng)平臺的建立。開發(fā)環(huán)境方面,將整合軟硬件聯(lián)合設(shè)計、綜合驗證具,并為編程人員提供完整編譯解決方案。圖11是表示軟硬件并行聯(lián)合設(shè)計、驗證的示意圖。
系統(tǒng)平臺將會提供兩種解決方案第一,利用Java VM(虛擬機)解決異構(gòu)問題,圖12是表示利用虛擬機技術(shù)提供的異構(gòu)系統(tǒng)平臺的示意圖。第二,利用Code Morph(代碼形態(tài))技術(shù)解決異構(gòu)問題,圖13是表示利用代碼變換提供的異構(gòu)系統(tǒng)平臺的示意圖。
b)可靠性,其含義是系統(tǒng)在部分處理單元異常的情況下,仍能正常工作。對于一個SOC的設(shè)計不同于Intranet或Internet的設(shè)計,可靠性不再是問題。
c)性能,由于SOC的設(shè)計不涉及到帶寬的限制,和容錯的代價,同樣可以實現(xiàn)良好的性能要求。
d)可伸縮性,以網(wǎng)絡(luò)為基本框架的系統(tǒng)結(jié)構(gòu),在設(shè)計上有很強的可擴展性,
隨著復(fù)用技術(shù)的成熟,以網(wǎng)絡(luò)為基本框架的優(yōu)勢更加明顯。
e)并行性f)有效性初始化時,系統(tǒng)資源的分配圖14是表示系統(tǒng)資源分配的示意圖。系統(tǒng)的資源包括輸入輸出設(shè)備(IO)、存儲器與處理器。一般來說,IO不是一種可共享的資源,但對于USB或1394的設(shè)計我們也考慮其共享的特性。它們其實是總線的延伸,同樣網(wǎng)卡更是如此;系統(tǒng)的數(shù)據(jù)總線也是共享的資源。
當(dāng)系統(tǒng)載入某個應(yīng)用時,CPU從存儲器中讀取應(yīng)用對系統(tǒng)的需求表,需求表的內(nèi)容包括,IO,數(shù)據(jù)流所需的處理單元,處理單元需要的環(huán)形緩存器的大小,以及相關(guān)的軟件模塊(中斷服務(wù)例程ISR,中斷服務(wù)線程IST)與消息表。
系統(tǒng)通過配置通道初始化IO,F(xiàn)IFO,微控制器42的消息表,并將中斷服務(wù)例程ISR與中斷服務(wù)線程IST的代碼下載到對應(yīng)的微控制器和DSP上。
系統(tǒng)在以下兩種情況下釋放資源第一,系統(tǒng)資源嚴(yán)重不足時,系統(tǒng)取消不重要的應(yīng)用,釋放該應(yīng)用對應(yīng)的系統(tǒng)資源。
第二,應(yīng)用結(jié)束處理過程,退出系統(tǒng)時,向系統(tǒng)提出釋放資源的請求。
運行時,系統(tǒng)資源的動態(tài)調(diào)度靜態(tài)分配資源對支持多類應(yīng)用的系統(tǒng)來說,有許多不足。當(dāng)系統(tǒng)資源不足時,系統(tǒng)若支持動態(tài)調(diào)整資源,可為系統(tǒng)帶來更大的靈活性。可以從兩個方面調(diào)整系統(tǒng)的資源。第一,當(dāng)存儲器資源不足時,系統(tǒng)釋放部分應(yīng)用所占的內(nèi)存,但保證應(yīng)用仍可正常執(zhí)行。第二,當(dāng)處理單元處理能力不能滿足多任務(wù)支持時,系統(tǒng)將查詢空閑的處理單元,將代碼與環(huán)境移到該處理單元上。通過系統(tǒng)對Internet的無縫連接,系統(tǒng)可以把任務(wù)提交給Internet中的處理單元,將分布式計算擴展到Internet中。
系統(tǒng)對多處理器的架構(gòu)的支持在以網(wǎng)絡(luò)為基本框架的結(jié)構(gòu)中,由于共享內(nèi)存的存在,數(shù)據(jù)之間的交換不再需要路由器(router)的概念,但系統(tǒng)保留了橋(Bridge),將不同的域(domain)分開。
各處理單元的通訊通過唯一的以消息總線、節(jié)點之間的硬中斷同步信號線等組成的服務(wù)信道(Service Channel),由同步控制器43協(xié)調(diào)各處理單元45。
消息總線的協(xié)議消息總線協(xié)議規(guī)定了VC之間用于同步的事件的幀格式與傳輸方式,消息總線的協(xié)議也包括用于控制的命令格式。
數(shù)據(jù)類型的定義當(dāng)某個VC產(chǎn)生某個事件需要通知系統(tǒng)的其他模塊時,該VC填寫輸入事件(InEvent)的消息與地址項,然后將InEvent通過消息總線44傳至微控制器42。微控制器42根據(jù)InEvent在消息表中查找相應(yīng)的輸出事件(OutEvent),并根據(jù)OutEvent中的目標(biāo)地址將OutEvent發(fā)送到對應(yīng)的VC。對應(yīng)的VC讀取OutEvent的消息內(nèi)容,根據(jù)內(nèi)容采取相應(yīng)的動作。InEvent,outEvent與消息表的定義如下源地址事件數(shù)據(jù)結(jié)構(gòu)的定義Type InEventByte SourceAddressByte MessageEnd of Type目標(biāo)地址事件數(shù)據(jù)結(jié)構(gòu)的定義Type OutEventByte DestinationAddress
Byte MessageEnd of Type消息表數(shù)據(jù)結(jié)構(gòu)的定義Type EventCoordinatorTableItemInEvent inOutEvent outEnd of Type地址的定義在消息總線44上的VC都有相應(yīng)的地址與其對應(yīng),根據(jù)VC的不同類型分為四類Event微控制器自身。
正常節(jié)點(Normal Node)普通的處理單元(ASIC,DSP)中斷發(fā)生器IO控制器計數(shù)器環(huán)形緩存器這四類的地址編碼如下,地址編碼充分考慮了系統(tǒng)的可擴展性。
消息的定義事件協(xié)調(diào)程序(Event Coordinator)輸入的消息輸入的消息按其作用分為兩類一類是自定義的消息,VC可根據(jù)需要定義自己的消息;一類是用于環(huán)形緩存器控制的消息,其中包括環(huán)形緩存器首尾指針加減的控制與觸發(fā)器(Trigger)的設(shè)定。
事件協(xié)調(diào)程序輸出的消息輸出的消息根據(jù)作用分為四類自定義的消息(正常消息);對VC狀態(tài)機控制的消息,如繼續(xù)(Hold on),恢復(fù)(Resume),電源關(guān)/開(Power Off/On);參數(shù)的傳遞,用于微控制器向VC傳遞參數(shù)。異常處理,對于不能處理的異常請求上一級RISC處理。
其享存儲器圖15是表示共享存儲技術(shù)的示意圖。存儲器相鄰之間的數(shù)據(jù)傳輸,是按圖15那樣以不同的單位進(jìn)行的CPU41與高速緩沖存儲器413之間的數(shù)據(jù)按字(4個字節(jié));高速緩沖存儲器413與系統(tǒng)存儲器414之間數(shù)據(jù)按塊(32個字節(jié))傳輸;主存儲器與盤片(Disk)之間按頁交換數(shù)據(jù)。
高速緩存的一致性一致性是指同一數(shù)據(jù)項應(yīng)與后繼存儲器層次上的副本相一致。由于多處理器異步地相互操作,因此多個高速緩沖存儲器中的同一高速緩存行的副本可能不同。造成高速緩沖存儲器不一致的原因來源于1)由共享可寫數(shù)據(jù)造成的不一致;2)由進(jìn)程遷移造成的不一致;3)由繞過高速緩沖存儲器的I/O操作造成的不一致。
協(xié)議的采用監(jiān)聽協(xié)議為總線連接的多處理器系統(tǒng)所使用,本系統(tǒng)屬于多級互連的多處理器系統(tǒng),采用基于目錄的協(xié)議(Directory Based Protocol)。圖16示出了該多級互連的多處理器系統(tǒng)數(shù)據(jù)傳送協(xié)議的示意圖。高速緩沖存儲器C2的讀缺失(Read-Miss)產(chǎn)生一個請求送給D1(圖中用細(xì)線表示),D1指示在C1中有可用副本,存儲控制器再將請求傳送至C1,它返回一個可用副本給M1和C2;在C1寫命中時(圖中用粗線表示),它就發(fā)送一個命令給存儲控制器,存儲控制器再發(fā)一個無效的命令給在D1中有標(biāo)記的所有高速緩沖存儲器(C2)??傊?,不用廣播的高速緩存一致性協(xié)議,必須將所有的高速緩存中的每個共享數(shù)據(jù)塊副本的地址存儲起來。
關(guān)于MMU一個簡單的線程調(diào)度程序宿主在DSP上。微控制器42也僅僅需要一個中斷服務(wù)程序(中斷服務(wù)例程ISR)。對于大多數(shù)實時處理的算法,數(shù)據(jù)占用的地址空間大小是可以準(zhǔn)確估計的。所以對于DSP與RISC的設(shè)計不需要考慮內(nèi)存管理單元提供對虛地址的支持。共享的存儲器主要用于實時數(shù)據(jù)流的數(shù)據(jù)交換,為了保證實時性,處理單元也盡可能不采用MMU單元,簡化了處理單元與OS的設(shè)計。
服務(wù)子網(wǎng)對電源管理的支持各子網(wǎng)的功能相對獨立在系統(tǒng)的設(shè)計中,充分考慮了各個子網(wǎng)功能的相對獨立性。功能上的獨立保證了當(dāng)某個子網(wǎng)或子網(wǎng)中的某個處理單元停止工作時不影響其他部件的正常運作。功能上的獨立也要求在設(shè)計時各個子模塊對于時鐘(Clock)與電源(Power)的輸入相對獨立。系統(tǒng)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)與層次結(jié)構(gòu)(hierarchy)為功能的封裝提供了結(jié)構(gòu)上的支持。劃分子網(wǎng)的原則就是按照功能的不同而不同的。
各子網(wǎng)中的處理單元對電源管理的支持圖17示出了各子網(wǎng)中的處理單元的電源管理示意圖,它包括睡眠狀態(tài)(Sleeping);工作狀態(tài)(Running);等待(就緒)狀態(tài)(Waiting);阻塞狀態(tài)(Blocking)。當(dāng)處理單元完成某個任務(wù)后從工作狀態(tài)轉(zhuǎn)移到等待狀態(tài),或處理單元在執(zhí)行條件沒有滿足的情況下從工作狀態(tài)轉(zhuǎn)移到阻塞狀態(tài),當(dāng)條件滿足后進(jìn)入等待狀態(tài)。處理單元在等待狀態(tài)長時間沒有處理請求后轉(zhuǎn)入睡眠狀態(tài)。
處理單元進(jìn)入睡眠狀態(tài)前要保留處理單元自身的狀態(tài),如果是處理器,這些狀態(tài)主要是處理器的寄存器。然后通知服務(wù)子網(wǎng)。處理單元從睡眠狀態(tài)被激活(Active)需要通過外部請求(一般是中斷響應(yīng),在本系統(tǒng)中是同步信號或消息)。圖18示出了微控制器對處理單元的電源管理示意圖。
服務(wù)子網(wǎng)提供對電源管理的控制圖19示出了服務(wù)子網(wǎng)的電源的管理示意圖。服務(wù)子網(wǎng)收到其它子網(wǎng)中的某些處理單元進(jìn)入睡眠狀態(tài)的消息后,可以通過切換提供給子網(wǎng)的時鐘頻率(Clock)或不提供時鐘翻轉(zhuǎn)給該子網(wǎng)或該處理單元;也可以降低該子網(wǎng)或處理單元的工作電壓或不提供工作電壓。
以上兩種手段都需要服務(wù)子網(wǎng)從整個系統(tǒng)的角度結(jié)合應(yīng)用的需求作分析,之后采取措施。切換提供給子網(wǎng)的時鐘頻率(Clock)或不提供時鐘翻轉(zhuǎn)是最主要的手段。
以下將分別以MP3音頻播放和JPEG圖像壓縮功能的動態(tài)應(yīng)用為例,具體描述該兩種功能在本發(fā)明的自適應(yīng)信息處理系統(tǒng)(以下簡稱系統(tǒng))中的實現(xiàn)。
MP3算法(解碼)分析MP3是MPEG中音頻編碼的第三層(LayerIII),它是基于一個比較復(fù)雜的心理聲學(xué)模型音頻數(shù)據(jù)編解碼算法。它比第一層(LayerI)和第二層(LayerII)有更高的壓縮率(可達(dá)到12∶1)和更好的音質(zhì)。由于它具有較高的壓縮率與較好的音質(zhì)所以非常適合英特網(wǎng)上(Internet)傳播。從英特網(wǎng)上下載并實時播放音頻數(shù)據(jù)要滿足以下兩個條件其一,因為英特網(wǎng)的帶寬限制,大量的音頻數(shù)據(jù)需要經(jīng)過壓縮,為了提高壓縮率一般采用有損壓縮的算法,但要保證較低的失真度。其二,解碼算法(壓縮后還原)可以被具有實時處理能力運算單元實現(xiàn),這就是說解碼算法不能過于復(fù)雜,算法易于被軟件或硬件加速(ASIC)實現(xiàn)。MP3就是一個比較好的算法,能同時滿足以上兩點。
MP3支持三種采樣率32KHz,44.1KHz,48KHz。MP3解碼算法的幀長為1152/采樣頻率(毫秒)。每幀包括1152 PCM樣點。解碼輸出為16比特線性PCM樣點。
MP3數(shù)據(jù)流(解碼算法)的分析(離散化)從英特網(wǎng)上下載并實時播放音頻數(shù)據(jù)的流程包括三個部分?jǐn)?shù)據(jù)下載,數(shù)據(jù)解碼與音頻數(shù)據(jù)回放。圖20是表示MP3解碼流程的3個步驟的示意圖。參見圖20,數(shù)據(jù)下載模塊中,系統(tǒng)通過網(wǎng)卡或調(diào)制解調(diào)器(Modem)以有線或無線的方式接入英特網(wǎng)Internet,通過網(wǎng)絡(luò)協(xié)議下載MP3格式的音頻數(shù)據(jù)。其中,步驟S201,下載音頻數(shù)據(jù);步驟S202,對音頻數(shù)據(jù)解碼;步驟S203,回放音頻數(shù)據(jù)。
圖21示出了音頻數(shù)據(jù)下載的流程。根據(jù)網(wǎng)絡(luò)傳輸與控制協(xié)議(TCP/IP),數(shù)據(jù)下載模塊需要分為三個步驟將網(wǎng)絡(luò)中的數(shù)據(jù)轉(zhuǎn)成音頻數(shù)據(jù)步驟S211屬于物理實現(xiàn),通過網(wǎng)卡或調(diào)制解調(diào)器(Modem)接受與系統(tǒng)的物理地址(MAC)對應(yīng)(一致)的原始數(shù)據(jù)到共享內(nèi)存中,去掉幀頭信息將IP包交給步驟2繼續(xù)處理;步驟2,不同的IP包經(jīng)過不同的網(wǎng)絡(luò)路經(jīng)到達(dá)系統(tǒng)的次序不同,需要在步驟2將IP包重新排序組成TCP段交給步驟3;步驟3,最終取出音頻數(shù)據(jù)根據(jù)相應(yīng)的端口號給相應(yīng)的處理程序。步驟2與步驟3屬于邏輯實現(xiàn)。
圖22表示一個音頻數(shù)據(jù)解碼算法的示意圖,它包括四個步驟位流解包和Huffman解碼(S221);逆量化與重定序(S222);聯(lián)合立體聲處理(S223);合成濾波器(S224)。
位流解包和Huffman解碼是解碼器通過位流解包和Huffman解碼可以得到576個頻率行(每個聲道)的量化值和一些邊帶信息,如果要解碼的Huffman代碼位多于必須解碼的代碼位數(shù)目,那么就把這些多出位當(dāng)成填補位丟棄。
逆量化與重定序是將得到的576個頻率行送入逆量化器,在MP3中使用了非正規(guī)量化器。非正規(guī)量化器采用了乘方規(guī)則,即若Huffman解碼輸出為is,進(jìn)行逆量化時需要計算|is|4/3,在軟件實現(xiàn)中,是通過查表來完成的。若使用短塊,則需要進(jìn)行重定序。
聯(lián)合立體聲處理是在逆量化(重定序)之后,要對MS立體聲模式和強度立體聲模式(在邊帶信息中由mode extension的碼型得知MS立體聲模式和強度立體聲模式的關(guān)系)下的重構(gòu)值進(jìn)行處理。
合成濾波器包括IMDCT合成和多相合成。
圖23表示一個音頻數(shù)據(jù)回放示意圖,它是將音頻數(shù)據(jù)經(jīng)過串行輸出給D/A轉(zhuǎn)換器,最后將模擬信號輸出給放音系統(tǒng)。
MP3音頻播放功能在系統(tǒng)中的實現(xiàn)(映射)圖24表示本系統(tǒng)與英特網(wǎng)的聯(lián)接示意圖。系統(tǒng)作為英特網(wǎng)上的一個手持式終端(移動計算平臺),它是英特網(wǎng)的延伸。由于系統(tǒng)與英特網(wǎng)(Internet)采用同樣的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),系統(tǒng)與英特網(wǎng)形成了無縫的聯(lián)接。
芯片內(nèi)部以網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)實現(xiàn)了一個分布式的計算環(huán)境。上面描述的MP3解碼算法中的各個處理單元將分別映射到不同的子網(wǎng)中,圖25是表示MP3音頻播放功能在本系統(tǒng)中的實現(xiàn)的示意圖。
圖25分為兩個部分上半部分是MP3解碼算法的描述,它是系統(tǒng)要實現(xiàn)的某個具體應(yīng)用之一。它包括網(wǎng)絡(luò)連接,MP3解碼與音頻數(shù)據(jù)回放三個部分;下半部分是系統(tǒng)實現(xiàn)的具體方案。它是以服務(wù)子網(wǎng)與共享存儲器46為核心,通過數(shù)據(jù)總線與消息總線44將通訊子網(wǎng)、多媒體子網(wǎng)與輸入輸出子網(wǎng)串接在一起構(gòu)成具有網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的分布式計算環(huán)境。系統(tǒng)在單芯片中實現(xiàn)(SOC);圖25中還說明了上下兩個部分的映射關(guān)系,該映射關(guān)系表明了MP3解碼算法是如何分布在系統(tǒng)框架上的(即系統(tǒng)框架中的哪些處理單元實現(xiàn)了算法中的哪些功能)。錯誤檢測和校正與組幀2511由硬件ASIC2521實現(xiàn),主要功能是采用奇偶校驗檢測和校正數(shù)據(jù)傳輸中的錯誤,將物理信號轉(zhuǎn)成數(shù)據(jù)幀存儲在內(nèi)存中;TCP/IP包頭信息分析與轉(zhuǎn)換數(shù)據(jù)格式2512由在通訊子網(wǎng)中的DSP2522實現(xiàn),主要功能是提取TCP/IP的包頭信息,包頭信息用于確定MP3數(shù)據(jù)流對應(yīng)的目標(biāo)應(yīng)用。如果數(shù)據(jù)經(jīng)過加密或需授權(quán)才能訪問的時候,需經(jīng)過數(shù)據(jù)格式轉(zhuǎn)換;位流解碼,Huffman解碼,逆量化和頻譜現(xiàn)定序與聯(lián)合立體聲處理2513由多媒體子網(wǎng)中的處理單元(這里是DSP)2523實現(xiàn),主要功能對MP3音頻數(shù)據(jù)的解碼;合成濾波2517單獨由一個DSP2524實現(xiàn)是因為算法中包括大量的并行數(shù)據(jù),需要支持SIMD指令集的處理器完成,SIMD(SingleInstruction,Multi Data)是指單條指令能夠處理多路相同性質(zhì)的數(shù)據(jù);串行輸出與D/A(數(shù)模轉(zhuǎn)換)2518由輸入輸出子網(wǎng)中的硬件ASIC2525實現(xiàn)完成音頻數(shù)據(jù)的回放。
圖中的服務(wù)子網(wǎng)的各個部件作用如下三個同步控制器分別控制各自子網(wǎng)中處理單元的數(shù)據(jù)流同步。每個同步控制器對應(yīng)一個或多個同步緩存(環(huán)形緩存器)。同步緩存(環(huán)形緩存器)是共享存儲器46的一塊區(qū)域,當(dāng)數(shù)據(jù)源產(chǎn)生數(shù)據(jù)時寫入同步緩存,數(shù)據(jù)源指針加一,當(dāng)數(shù)據(jù)目標(biāo)要消費一幀數(shù)據(jù)時,從同步緩存讀取數(shù)據(jù),數(shù)據(jù)目標(biāo)指針加一。當(dāng)數(shù)據(jù)源指針追上數(shù)據(jù)目標(biāo)指針時說明同步緩存已滿產(chǎn)生上溢(Overflow),上溢說明數(shù)據(jù)源產(chǎn)生數(shù)據(jù)的速度大于數(shù)據(jù)目標(biāo)消費數(shù)據(jù)的速度。當(dāng)數(shù)據(jù)目標(biāo)指針追上數(shù)據(jù)源指針時說明同步緩存已空產(chǎn)生下溢(Underflow),下溢說明數(shù)據(jù)目標(biāo)消費數(shù)據(jù)的速度大于數(shù)據(jù)源產(chǎn)生數(shù)據(jù)的速度。下溢與上溢都是異常情況。圖26示出了同步緩存的操作示意圖。
三個同步控制器用于接受來至數(shù)據(jù)源(Source)與數(shù)據(jù)目標(biāo)(Sink)的同步信號,收到同步信號后數(shù)據(jù)源指針與數(shù)據(jù)目標(biāo)指針分別加一;三個同步控制器用于協(xié)調(diào)數(shù)據(jù)源(Source)與數(shù)據(jù)目標(biāo)(Sink)的同步;三個同步控制器用于將不能處理的異常情況(上溢與下溢)上報給微控制器42;微控制器用于接受同步控制器給出的異常情況(上溢與下溢);并用于對該異常情況(上溢與下溢)予以處理;微控制器用于對各個子網(wǎng)中的處理單元或輸入輸出控制器(IO Controller)予以控制;并用于將異常情況記錄在數(shù)據(jù)庫(Data base)中,為CPU對異常情況分析提供依據(jù);微控制器用于將不能處理的異常情況上報給CPU,不能處理的異常情況是因為產(chǎn)生異常的原因是由數(shù)據(jù)流中相隔較遠(yuǎn)的處理單元產(chǎn)生的。
CPU用于接受微控制器不能處理的異常情況,并用于處理該異常情況;CPU用于接受用于人機接口的輸入輸出請求;CPU用于讀取數(shù)據(jù)庫中的異常情況記錄;CPU用于分析數(shù)據(jù)庫中的異常情況記錄,根據(jù)分析的結(jié)果調(diào)整系統(tǒng);CPU用于對系統(tǒng)資源的再分配,系統(tǒng)資源包括處理單元,內(nèi)存等;CPU用于對數(shù)據(jù)流中的數(shù)據(jù)截取并進(jìn)行智能的分析,并用于對數(shù)據(jù)流中的數(shù)據(jù)截取并存儲。
MP3解碼的處理過程如下通訊子網(wǎng)中的硬件處理單元(ASIC)接受來至英特網(wǎng)的信號,并將物理信號轉(zhuǎn)成數(shù)據(jù)幀,將數(shù)據(jù)幀存儲在共享內(nèi)存中,發(fā)送同步信號給同步控制器A,同步控制器產(chǎn)生同步信號給用于TCP/IP處理的DSP;該DSP收到同步信號后,從共享內(nèi)存中讀取數(shù)據(jù),并對TCP/IP包頭分析,對需要解密的數(shù)據(jù)進(jìn)行格式轉(zhuǎn)換;經(jīng)過格式轉(zhuǎn)換后將與音頻相關(guān)的數(shù)據(jù)存儲在共享內(nèi)存,該共享內(nèi)存對整個系統(tǒng)可見。之后產(chǎn)生同步信號給同步控制器A,同步控制器A將同步信號轉(zhuǎn)發(fā)給同步控制器B,同步控制器B通知多媒體子網(wǎng)中的用于位流解碼,Huffman解碼,逆量化和頻譜現(xiàn)定序與聯(lián)合立體聲處理的DSP模塊,位流解碼,Huffman解碼,逆量化和頻譜現(xiàn)定序與聯(lián)合立體聲處理分別對應(yīng)不同的任務(wù)(Task)。幾個任務(wù)在同一個DSP上執(zhí)行,有DSP上的任務(wù)調(diào)度程序,調(diào)用并協(xié)調(diào)不同任務(wù)之間的切換。576個采樣點的數(shù)據(jù)分為32路,由支持SIMD(Single Instruction,Multi Data)的DSP完成合成。兩個DSP之間的同步由同步控制器B完成。經(jīng)合成的數(shù)據(jù)分左右聲道存儲在整個系統(tǒng)可見的共享存儲器中。同步控制器B產(chǎn)生同步信號給輸入輸出子網(wǎng)中用于串行轉(zhuǎn)換與D/A轉(zhuǎn)換的邊解碼器(Codec)芯片。Codec芯片收到同步信號后將解碼后得到的標(biāo)準(zhǔn)的PCM格式的音頻數(shù)據(jù)輸出。
當(dāng)有異常情況出現(xiàn)時,同步控制器將異常上報給微控制器,微控制器可以通過分布在各個子網(wǎng)中的處理單元(ASIC,DSP)提供的控制寄存器,控制各個處理單元,排除異常情況。有幾種方式可以采用其一,停止或延時處理較快的部件;其二,調(diào)整同步緩存(環(huán)形緩存器)的大??;其三,使處理較慢的處理單元跳過某些數(shù)據(jù)幀。微控制器將異常情況記錄在系統(tǒng)數(shù)據(jù)庫中,而微控制器仍無法處理的異常提交給CPU。
CPU從更高的層次對系統(tǒng)產(chǎn)生的異常加以分析,通過對系統(tǒng)資源的重新分配,排除異常情況。采取的策略可以是分配空閑的處理器資源達(dá)到系統(tǒng)的平衡。也可以是從算法的角度,降低部分算法部件的計算精度,提高系統(tǒng)的實時相應(yīng)能力。CPU可以通過微控制器讀寫分布在各個子網(wǎng)中的處理單元(ASIC,DSP)提供的控制寄存器間接的控制與協(xié)調(diào)系統(tǒng)的工作。
JPEG圖像壓縮功能在本發(fā)明中的實現(xiàn)圖27至32表示JPEG圖像壓縮功能的動態(tài)應(yīng)用在本發(fā)明的自適應(yīng)信息處理系統(tǒng)(以下簡稱系統(tǒng))中的實現(xiàn)。
JPEG壓縮算法分析JPEG是一種靜止彩色圖像程灰試驗圖像的壓縮標(biāo)準(zhǔn),它是為連續(xù)色調(diào)圖像的壓縮提供公共標(biāo)準(zhǔn)而設(shè)計的。這種標(biāo)準(zhǔn)能夠產(chǎn)生由各種多媒體存儲和通信應(yīng)用所使用的灰度圖像、攝影圖像及靜止視頻壓縮文件。JPEG是一種對稱算法,因為解壓縮完全是壓縮的逆過程。編碼器的輸入為源圖像數(shù)據(jù)和表說明,輸出為壓縮圖像數(shù)據(jù);解碼器的輸入為壓縮圖像數(shù)據(jù)和表說明,輸出為重構(gòu)圖像數(shù)據(jù)。源圖像和重構(gòu)圖像都是連續(xù)色調(diào)的,它們由多個分量組成(彩色圖像由多個分量組成,如RGB;灰色圖像只由一個分量組成)。JPEG標(biāo)準(zhǔn)是針對多分量圖像而設(shè)計的,它以一種靈活的獨立于應(yīng)用的方法來處理圖像數(shù)據(jù)。我們采用YUV彩色空間的圖像作為源圖像和重構(gòu)圖像。
視頻會議(Netmeeting)數(shù)據(jù)流的分析(離散化)圖27是表示用JPEG實現(xiàn)視頻會議功能的流程圖,它包括三個部分CCD數(shù)據(jù)采集271,JPEG壓縮272,數(shù)據(jù)傳輸273。
CCD數(shù)據(jù)采集模塊271中,CCD采樣到的數(shù)據(jù)是一個RGB的分量代表一個點,經(jīng)過插值(Interpolation)模塊后每個點用RGB三個分量表示;通過抽取其中的像素,可以達(dá)到變換圖像大小的作用(Scaling)。在色變換(ColorConversion)模塊中,如圖28所示,通過矩陣計算將數(shù)據(jù)從RGB轉(zhuǎn)換到Y(jié)UV格式。
圖29是表示JPEG壓縮流程的示意圖。參見圖29,經(jīng)余弦變換產(chǎn)生DCT系數(shù);DCT系數(shù)量化后,有意義的值(非零值)都集中在矩陣的左上角。之字形序列(Zigzag)通過重新排序游程,可以使游程中零值的長度增加,以此進(jìn)一步提高壓縮率;最后經(jīng)Huffman編碼輸出。
圖30是表示USB傳輸流程的示意圖。參見圖30,數(shù)據(jù)輸出是將壓縮后的數(shù)據(jù)經(jīng)USB上傳到PC。由于USB在傳輸過程中數(shù)據(jù)可能丟失或有錯誤,系統(tǒng)需要對數(shù)據(jù)流進(jìn)行重新同步和出錯恢復(fù)(Error Recover)。這里提供兩個不同階段的同步手段第一是以每幀畫面同步;第二是以JPEG最小的解碼單元MCU同步。
圖31是表示視頻會議在本發(fā)明的系統(tǒng)中的實現(xiàn)的示意圖。其中,芯片內(nèi)部以網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)實現(xiàn)了一個分布式的計算環(huán)境。上面描述的JPEG壓縮算法中的各個處理單元將分別映射到不同的子網(wǎng)(Subnet)中。
圖31分為兩個部分上半部分是JPEG壓縮算法的描述,它是系統(tǒng)要實現(xiàn)的某個具體應(yīng)用之一。它包括CCD數(shù)據(jù)采集271,JPEG壓縮272與數(shù)據(jù)輸出273三個部分;下半部分是系統(tǒng)實現(xiàn)的具體方案。它是以服務(wù)子網(wǎng)與共享存儲器46為核心,通過數(shù)據(jù)總線與消息總線44將多媒體子網(wǎng)401與輸入輸出子網(wǎng)403串接在一起構(gòu)成具有網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的分布式計算環(huán)境。系統(tǒng)在單芯片中實現(xiàn)(SOC)。
圖中還說明了上下兩個部分的映射關(guān)系,該映射關(guān)系表明了JPEG壓縮算法是如何分布在系統(tǒng)框架上的(即系統(tǒng)框架中的哪些處理單元實現(xiàn)了算法中的哪些功能)。CCD數(shù)據(jù)采集部分271是由CCD控制器采集數(shù)據(jù),插值(Interpolation),縮放比例(Scaling),色變換(Color Conversion)是由ISC模塊(ASIC)實現(xiàn),由于輸入流與輸出流速率相等不需要同步模塊。JPEG壓縮由多媒體子網(wǎng)401的DSP實現(xiàn),由于需要大量矩陣運算DSP的設(shè)計采用大的寄存器組,并且提供多媒體指令的支持。將一幀數(shù)據(jù)壓縮完后,產(chǎn)生同步信號給同步控制器B;同步控制器B用信號觸發(fā)多媒體子網(wǎng)401的另一個DSP,該DSP將數(shù)據(jù)分成USB的包(包長1023字節(jié))。由同步控制器B觸發(fā)輸入輸出子網(wǎng)403中的USB控制器,USB控制器的DMA將數(shù)據(jù)上傳至USB數(shù)據(jù)總線上。
圖中的服務(wù)子網(wǎng)404的各個部件作用如下三個同步控制器分別控制各自子網(wǎng)中處理單元的數(shù)據(jù)流同步。每個同步控制器對應(yīng)一個或多個同步緩存(環(huán)形緩存器)。同步緩存(環(huán)形緩存器)是共享存儲器46的一塊區(qū)域,當(dāng)數(shù)據(jù)源產(chǎn)生數(shù)據(jù)時寫入同步緩存,數(shù)據(jù)源指針加一,當(dāng)數(shù)據(jù)目標(biāo)要消費一幀數(shù)據(jù)時,從同步緩存讀取數(shù)據(jù),數(shù)據(jù)目標(biāo)指針加一。當(dāng)數(shù)據(jù)源指針追上數(shù)據(jù)目標(biāo)指針時說明同步緩存已滿產(chǎn)生上溢(Overflow),上溢說明數(shù)據(jù)源產(chǎn)生數(shù)據(jù)的速度大于數(shù)據(jù)目標(biāo)消費數(shù)據(jù)的速度。當(dāng)數(shù)據(jù)目標(biāo)指針追上數(shù)據(jù)源指針時說明同步緩存已空產(chǎn)生下溢(Underflow),下溢說明數(shù)據(jù)目標(biāo)消費數(shù)據(jù)的速度大于數(shù)據(jù)源產(chǎn)生數(shù)據(jù)的速度。下溢與上溢都是異常情況。參見圖26表示同步緩存的操作示意圖。
三個同步控制器用于接受來自數(shù)據(jù)源(Source)與數(shù)據(jù)目標(biāo)(Sink)的同步信號,收到同步信號后數(shù)據(jù)源指針與數(shù)據(jù)目標(biāo)指針分別加一;三個同步控制器用于協(xié)調(diào)數(shù)據(jù)源(Source)與數(shù)據(jù)目標(biāo)(Sink)的同步,并用于將不能處理的異常情況(上溢與下溢)上報給微控制器42。
微控制器用于接受同步控制器給出的異常情況(上溢與下溢),并用于對同步控制器給出的異常情況(上溢與下溢)予以處理;微控制器用于對各個子網(wǎng)中的處理單元或輸入輸出控制器予以控制;微控制器用于將異常情況記錄在數(shù)據(jù)庫中,為CPU對異常情況分析提供依據(jù),并用于將不能處理的異常情況上報給CPU,不能處理的異常情況是因為產(chǎn)生異常的原因是由數(shù)據(jù)流中相隔較遠(yuǎn)的處理單元產(chǎn)生的。
CPU用于接受微控制器不能處理的異常情況,并用于處理微控制器不能處理的異常情況;CPU用于接受用于人機接口的輸入輸出請求;CPU用于讀取數(shù)據(jù)庫中的異常情況記錄;CPU用于分析數(shù)據(jù)庫中的異常情況記錄,根據(jù)分析的結(jié)果調(diào)整系統(tǒng);CPU用于對系統(tǒng)資源的再分配,系統(tǒng)資源包括處理單元,內(nèi)存等;CPU用于對數(shù)據(jù)流中的數(shù)據(jù)截取并進(jìn)行智能的分析,并用于對數(shù)據(jù)流中的數(shù)據(jù)截取并存儲。
當(dāng)有異常情況出現(xiàn)時,同步控制器將異常上報給微控制器,微控制器可以通過分布在各個子網(wǎng)中的處理單元(ASIC,DSP)提供的控制寄存器,控制各個處理單元,排除異常情況。有幾種方式可以采用其一,停止或延時處理較快的部件;其二,調(diào)整同步緩存(環(huán)形緩存器)的大??;其三,使處理較慢的處理單元跳過某些數(shù)據(jù)幀。微控制器將異常情況記錄在系統(tǒng)數(shù)據(jù)庫中,而微控制器仍無法處理的異常提交給CPU。
CPU從更高的層次對系統(tǒng)產(chǎn)生的異常加以分析,通過對系統(tǒng)資源的重新分配,排除異常情況。采取的策略可以是分配空閑的處理器資源達(dá)到系統(tǒng)的平衡。也可以是從算法的角度,降低部分算法部件的計算精度,提高系統(tǒng)的實時相應(yīng)能力。CPU可以通過微控制器讀寫分布在各個子網(wǎng)中的處理單元(ASIC,DSP)提供的控制寄存器間接的控制與協(xié)調(diào)系統(tǒng)的工作。
以上分別描述了本發(fā)明的自適應(yīng)信息處理系統(tǒng)的原理和構(gòu)成以及MP3音頻播放功能及JPEG圖像壓縮功能的動態(tài)應(yīng)用在本發(fā)明的自適應(yīng)信息處理系統(tǒng)中的實現(xiàn),需要指出的是這些應(yīng)用僅僅是本發(fā)明的自適應(yīng)信息處理系統(tǒng)的具體應(yīng)用的特例。根據(jù)本發(fā)明的上述內(nèi)容,本領(lǐng)域的熟練人員還可以對本發(fā)明及其應(yīng)用作進(jìn)一步的變換,但這些變換均屬于本發(fā)明的范圍。
權(quán)利要求
1.一種具有網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的信息處理系統(tǒng),包括a.系統(tǒng)服務(wù)子網(wǎng)絡(luò),它包括用于系統(tǒng)管理、協(xié)調(diào)和智能處理的中央處理單元;為系統(tǒng)提供中斷響應(yīng)和中斷服務(wù),并用以協(xié)調(diào)系統(tǒng)中各處理器單元工作的微控制器;連接到所述微控制器,用以同步系統(tǒng)中模塊與模塊之間的實時數(shù)據(jù)流交換的同步控制器;由消息總線和模塊間的硬實時同步信號線組成的系統(tǒng)服務(wù)信道,用以傳輸包括中斷、同步在內(nèi)的系統(tǒng)服務(wù)消息,所述中央處理單元、微控制器和同步控制器構(gòu)成一系統(tǒng)服務(wù)層并通過所述服務(wù)信道相連接,b.至少一個面向應(yīng)用的處理子網(wǎng)絡(luò),它包括處理資源再分配與數(shù)據(jù)流高層次分析的處理器;用以在微控制器與處理器之間交換數(shù)據(jù)的共享存儲器;提供數(shù)據(jù)輸入的數(shù)據(jù)源裝置;提供數(shù)據(jù)輸出的數(shù)據(jù)目標(biāo)裝置,所述處理器、共享存儲器、數(shù)據(jù)源裝置和數(shù)據(jù)目標(biāo)裝置分別經(jīng)由各條總線連接到所述消息總線,c.用于傳輸數(shù)據(jù)的系統(tǒng)總線,其中,所述系統(tǒng)服務(wù)子網(wǎng)絡(luò)和應(yīng)用處理子網(wǎng)絡(luò)分別通過不同速率的數(shù)據(jù)總線連接到系統(tǒng)總線。
2.如權(quán)利要求1所述的信息處理系統(tǒng),其特征在于,所述微控制器包括由通用寄存器及算術(shù)與邏輯運算單元組成的RISC芯片以及中斷控制器。
3.如權(quán)利要求2所述的信息處理系統(tǒng),其特征在于,所述微控制器還包括接受來自同步控制器的異常處理信息的第一接口,將控制信息發(fā)送給同步控制器的第二接口,以及將異常處理消息轉(zhuǎn)發(fā)給中央處理單元的第三接口。
4.如權(quán)利要求1所述的信息處理系統(tǒng),其特征在于,所述同步控制器由包含生產(chǎn)量計數(shù)器和消費量計數(shù)器在內(nèi)的專用集成電路實現(xiàn)。
5.如權(quán)利要求1所述的信息處理系統(tǒng),其特征在于,所述信息總線遵循系統(tǒng)信息傳送協(xié)議并與系統(tǒng)中各相關(guān)模塊相連接,以事件形式傳送中斷信息及與之相關(guān)的數(shù)據(jù)包。
6.如權(quán)利要求1所述的信息處理系統(tǒng),其特征在于,所述共享存儲器實體分布于各個應(yīng)用處理子網(wǎng)絡(luò)中,并允許相關(guān)處理器跨域訪問。
7.如權(quán)利要求1所述的信息處理系統(tǒng),其特征在于,所述應(yīng)用處理子網(wǎng)絡(luò)包括由中央處理單元和系統(tǒng)存儲器構(gòu)成的智能處理子網(wǎng)絡(luò)。
8.如權(quán)利要求1所述的信息處理系統(tǒng),其特征在于,所述應(yīng)用處理子網(wǎng)絡(luò)包括通信子網(wǎng)絡(luò)、多媒體子網(wǎng)絡(luò)和/或輸入輸出子網(wǎng)絡(luò)。
9.如權(quán)利要求1所述的信息處理系統(tǒng),其特征在于,所述處理器含有電源管理寄存器,所述微控制器含有電源管理代碼并通過信息總線與各相關(guān)輸入輸出裝置對應(yīng)的電源管理寄存器相連接。
全文摘要
具有網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的信息處理系統(tǒng)由系統(tǒng)服務(wù)子網(wǎng)絡(luò)、面向應(yīng)用的處理子網(wǎng)絡(luò)和多層總線等單元連接而成。其中,系統(tǒng)服務(wù)子網(wǎng)絡(luò)中的中央處理單元、微控制器和同步控制器構(gòu)成系統(tǒng)服務(wù)層。該系統(tǒng)服務(wù)層結(jié)合消息總線、模塊間的硬實時同步信號線組成的服務(wù)信道,并貫徹服務(wù)于系統(tǒng)中每個模塊。通過多條不同速率的總線,使系統(tǒng)具有多總線的拓?fù)浣Y(jié)構(gòu)。并通過多處理器、共享存儲器和相應(yīng)的輸入輸出設(shè)備形成系統(tǒng)內(nèi)部的網(wǎng)絡(luò)分布式協(xié)作運行機制。
文檔編號H04L12/64GK1351297SQ00125860
公開日2002年5月29日 申請日期2000年10月26日 優(yōu)先權(quán)日2000年10月26日
發(fā)明者周振亞 申請人:上海奇碼數(shù)字信息有限公司