新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 用戶可定制的處理器

        用戶可定制的處理器

        作者: 時間:2009-04-03 來源:網(wǎng)絡 收藏

        可擴展的優(yōu)勢
        完整的可配置與可擴展技術包括了本身以及相應的設計工具和軟件開發(fā)環(huán)境,從而使設計者通過改變或增減功能模塊,設計出與特定的應用需求相匹配的處理器。典型的配置方法包括對存儲器的增減修改,外部總線寬度及握手協(xié)議的設置以及常用的處理器外設的配置。除此之外,還可以對處理器進行擴展――SoC設計者可以擴展處理器的功能,特別是其指令集――為基本處理器增加原設計者從未想到過的功能。配置處理器的概念是通過參數(shù)來選擇或裁剪處理器的功能,配置后的處理器可以通過多種方式硬件實現(xiàn),包括耗費數(shù)周時間的ASIC方式或僅需幾分鐘的FPGA方式。擴展處理器的概念是設計人員為處理器增加原設計者從未考慮到的功能,是可配置處理器的一個超集。對于可配置與可擴展處理器來說,在提供處理器硬件實現(xiàn)的同時,還必須能夠自動生成相應的軟件開發(fā)環(huán)境。沒有編譯器,匯編器,仿真器,調試器,實時操作系統(tǒng)以及其他軟件工具的支持,可配置與擴展處理器所提供的高性能與靈活性也就無從談起,因為只有讓軟件人員能夠方便的編程,才能將處理器的性能與靈活性發(fā)揮出來。

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


        以Tensilica的可配置與可擴展處理器Xtensa為例,其模塊圖如圖1所示。它包括了基本指令集架構、通用寄存器文件、存儲器接口、可選的處理器外設、DSP協(xié)處理器以及集成指令的機制。


        處理器的可擴展能力可以看做可配置的高級形式,因為它的應用更為廣泛。系統(tǒng)設計者和應用專家可以直接探索應用的性能需求以及什么樣的處理器架構和指令集才能滿足這樣的需求。

        微處理器的應用將SoC設計與板級設計區(qū)分開來
        RTL硬邏輯有許多優(yōu)勢――面積小、功耗低、性能強大。但是在大規(guī)模的SoC設計中,采用RTL硬邏輯的不利因素(設計周期長、驗證困難、不夠靈活)正在逐漸大過其優(yōu)勢。而保留了大多數(shù)RTL硬邏輯的優(yōu)點,又能夠縮短開發(fā)時間并降低風險的設計方法正在流行起來,這就是針對特殊應用進行優(yōu)化以取代復雜RTL設計的可配置處理器。


        針對應用進行優(yōu)化的處理器與相應的RTL設計擁有相近的數(shù)據(jù)通路,它在基本處理器核的流水線上增加額外的運算單元,新的寄存器或寄存器文件以及芯片架構師定義的其他功能模塊來實現(xiàn)特定的應用。
        在Xtensa處理器中,這些擴展功能是利用一種名為TIE語言的類Verilog語言來描述的。TIE語言經過優(yōu)化,適用于描述數(shù)據(jù)處理指令的功能并對其進行編碼。用TIE語言來進行描述比RTL要簡潔得多,因為它去掉了所有時序邏輯,包括狀態(tài)機描述、流水線寄存器以及初始化順序。對于固件程序員來說,處理器中用TIE語言擴展的新指令和寄存器都可以通過編譯器和匯編器來進行調用。利用處理器中取指、譯碼、執(zhí)行的流水線機制,通過C或C++高級語言編程,可以由固件程序來控制處理器數(shù)據(jù)通路上的操作。用來替代RTL模塊的可擴展處理器與傳統(tǒng)的RTL設計在結構上大同小異:更深的流水線、并行的執(zhí)行單元、特殊的狀態(tài)寄存器、比片內外存儲器間更寬的數(shù)據(jù)接口等。這些擴展后的處理器保留了原來RTL設計強大的運算能力和數(shù)據(jù)接口格式。


        可擴展處理器對數(shù)據(jù)通路的控制機制則與RTL設計中依靠硬件狀態(tài)機切換狀態(tài)大為不同。實際上,操作的順序完全由處理器上運行的固件程序控制,如圖2所示。用跳轉指令來實現(xiàn)控制操作,load/store指令來實現(xiàn)內存操作,通用和專用計算指令來實現(xiàn)數(shù)據(jù)運算操作。

        圖2 可編程的功能模塊:數(shù)據(jù)通路+處理器+軟件程序



        評論


        相關推薦

        技術專區(qū)

        關閉
        主站蜘蛛池模板: 荆门市| 呼和浩特市| 沁水县| 林甸县| 都安| 和林格尔县| 泰兴市| 监利县| 平乐县| 屯昌县| 卢氏县| 雷州市| 交城县| 银川市| 耒阳市| 沅江市| 手机| 分宜县| 贵德县| 安远县| 镇雄县| 曲阜市| 手机| 十堰市| 咸阳市| 大兴区| 井陉县| 鸡东县| 沛县| 潼南县| 延川县| 广西| 白沙| 麻阳| 碌曲县| 安宁市| 炎陵县| 寿光市| 塔河县| 同仁县| 湄潭县|