新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > 基于消息機制的片上多處理器系統的研究

        基于消息機制的片上多處理器系統的研究

        作者: 時間:2012-12-16 來源:網絡 收藏

        摘要:描述了一種基于構建的片上。該采用主從結構,運用消息進行通信,并且從處理器之間彼此相互獨立,在硬件結構與軟件設計上保持一致。這樣不僅簡化了的設計,更使得系統具有一定的容錯性與穩定性。最后在Quartus軟件中設計并且綜合,在該系統下運行JPEG編碼算法,當運行于100 MHz時,測得系統在不同個數處理器時的處理性能,滿足了設計要求。
        關鍵詞:;FPGA;DMA

        引言
        如今,數字處理技術已得到了廣泛的應用,各種復雜算法的提出與處理精度的提高,都使得需要處理的數據量變得越來越大。而提高系統處理性能主要有提高處理器的頻率、采用系統2種方法。在單處理器頻率提升達到瓶頸的情況下,多處理器系統成為提高系統性能的一種有效方式。
        近年來,多處理器系統的應用已經越來越廣泛,但大部分的多處理器系統都是針對特定的應用對象進行設計,這類系統耦合度高,任務分解充分,執行效率高。同時,這類系統開發難度較大,針對性強,不具有通用性,且當系統中的某個處理器出現問題時,整個系統將面臨崩潰。為了簡化系統設計,提升多處理器系統的穩定性,本文提出了一種基于構建的多處理器系統。該系統采用主從結構,主處理器運行管理系統,從處理器完成用戶指定的任務。從處理器彼此之間相互獨立,可相互替代,并在硬件結構與軟件設計上保持一致。這樣不僅簡化了系統的設計,更使得系統具有一定的容錯性與穩定性。實驗結果表明,本設計達到了預期效果。

        1 多處理器系統體系結構
        本文所設計的多處理器系統體系結構框圖如圖1所示,它主要包括一個主控制器模塊及多個從處理器模塊。

        本文引用地址:http://www.104case.com/article/189737.htm

        a.JPG


        主控制器主要負責消息的分配與跟蹤,控制DMA進行數據的快速移動等。從處理器則根據主控制器分配的任務執行相應的處理。系統上還集成了多種系統外設,如RS232、定時器、JTAG接口、多種存儲控制器等。
        主控制器模塊及從處理器模塊中使用的處理器是Nios Ⅱ嵌入式軟核處理器,選用的是快速型。該處理器是Altera公司推出的32位RSIC嵌入式處理器,可根據需要配置為快速、標準、經濟3種類型,提供滿足性能與成本的最佳方案。每個模塊中都配備1個FIFO,用于存儲消息;配備2個RAM存儲器,組成乒乓結構,用于存儲原始數據或結果數據,同時可用于DMA傳輸控制。
        主控制器模塊與多個從處理器模塊構成主從結構。主控制器集中管理所有的從處理器模塊;所有的從處理器模塊相互獨立,互不影響,運行時可相互替代。主控制器模塊與系統的所有外設及所有的從處理器模塊都是通過Avalon總線相互連接。該總線是一種協議較為簡單的片內總線,處理器可通過該總線與外界進行數據交換。

        2 通信機制的設計
        在本文所設計的系統中,各個模塊之間都采用消息進行通信,如主控制器與從處理器之間的通信、處理任務的分配、處理結果的反饋等。對于數據的傳遞,如果數據量比較小,可以把數據附在消息中進行傳遞;如果數據量比較大,則用DMA進行存儲器到存儲器之間的快速移動。
        2. 1 消息結構的設計
        消息是該系統的通信基礎,也是系統運行的重要環節,因此定義一種結構通用又易于識別的消息結構顯得十分重要。在該系統中,采用的是可變長度的消息結構:{類型;長度;子類型;參數1;參數2;…;參數N}。
        其中長度指的是其后的數據個數,不包括類型及自身。這樣處理有利于消息的傳遞與讀取。在消息結構中,類型、長度、子類型這3個字段在消息中的位置固定,有利于消息的解析。如根據消息中的類型與子類型字段,可快速轉到相應的處理函數進行處理,根據長度字段,可準確地判斷消息中參數的個數;將“子類型”排在“長度”之后,則有利于消息的讀取。
        2.2 消息的傳遞
        消息的傳遞過程就是向目標消息存儲器FIFO寫入消息數據的過程。由于系統采用的是主從結構,當消息在控制器與處理器之間的不同方向傳遞時,傳遞過程并不相同。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 盐边县| 饶河县| 柏乡县| 东平县| 莎车县| 临安市| 镇宁| 高密市| 重庆市| 托克托县| 京山县| 星子县| 肥东县| 无棣县| 靖宇县| 沁水县| 苏尼特左旗| 江北区| 龙陵县| 平昌县| 平潭县| 肃北| 鹤峰县| 麻城市| 阳曲县| 临湘市| 额济纳旗| 达州市| 磴口县| 高雄县| 新干县| 眉山市| 尚志市| 兴安县| 凉山| 本溪| 麻城市| 双牌县| 罗甸县| 南溪县| 东兴市|