8位微控制器體系架構的設計研究
摘 要: 本文分析了目前8位微控制器的更新和設計趨勢,主要討論其RISC體系架構的產(chǎn)品設計,并重點(diǎn)從體系架構的角度出發(fā),就高性能、低功耗兩方面對在設計中采用的關(guān)鍵技術(shù)進(jìn)行了探討研究。
本文引用地址:http://dyxdggzs.com/article/82878.htm關(guān)鍵詞: RISC;微控制器;低功耗;流水線(xiàn)
1.引言
微控制器(Microcontroller)自上世紀70年代出現以來(lái),在將近30年的時(shí)間里得到了迅猛的發(fā)展和廣泛的應用。隨著(zhù)微電子技術(shù)的飛速發(fā)展,微控制器以其性能好、體積小、價(jià)格優(yōu)、功能齊全等突出優(yōu)點(diǎn)被廣泛應用于家用電器、計算和外設、通訊、工業(yè)控制、自動(dòng)化生產(chǎn)、智能化設備以及儀器儀表等領(lǐng)域,成為科研、教學(xué)、工業(yè)技術(shù)改造最得力的工具。從最初采用普林斯頓結構的簡(jiǎn)單微控制器到現在普遍采用哈佛總線(xiàn)結構的RISC微控制器,微控制器取得了飛速的發(fā)展[1]。
8位微控制器目前應用數量最大的微控制器,也是目前最多公司致力耕耘的市場(chǎng);其市場(chǎng)及價(jià)格競爭都極為激烈,各種多功能需求以及不同規格的產(chǎn)品推陳出新的速度也極為快速。隨著(zhù)集成電路和半導體工藝技術(shù)的快速發(fā)展,FPGA和SOC技術(shù)的不斷競爭和融合,電
子產(chǎn)品的設計逐漸向系統性能更好、功耗更小、成本更低、可靠性更高、開(kāi)發(fā)更容易的方向發(fā)展。因此,迅速推出符合市場(chǎng)需求的高性?xún)r(jià)比、低功耗、高經(jīng)濟效益的8位微控制器芯片或IP Core成為了現今不少公司競爭相逐的熱點(diǎn)。
2.目前8位微控制器的更新和設計趨勢
對于不同的微控制器(MCU)產(chǎn)品應用,不僅需要考慮不同廠(chǎng)家MCU的性?xún)r(jià)比,而且還需要考慮不同指令系統下MCU應用特點(diǎn)。針對不斷涌現出來(lái)的新的智能化電子產(chǎn)品,們一直在開(kāi)發(fā)適合于不同嵌入式系統應用的MCU新產(chǎn)品[2]。不同廠(chǎng)家的MCU產(chǎn)品其指令集各不相同,特別是指令集系統架構的不同,如市場(chǎng)上廣泛應用的MCS51系列和PIC系列微控制器則分別采用CISC指令系統和RISC指令系統。
微控制器按照指令系統可以分為CISC、RISC、類(lèi)RISC(RISC-LIKE)等幾種。傳統的MCS51控制器屬于CISC型,其代碼密度高,但大多數指令需要多個(gè)時(shí)鐘周期完成。RISC型一般指令密度較低,但指令效率很高。類(lèi)RISC型則兼有CISC和RISC的優(yōu)點(diǎn)。RISC和類(lèi)RISC之所以有如此高的指令效率,得益于小指令集帶來(lái)的硬布線(xiàn)結構和流水線(xiàn)結構。簡(jiǎn)單的指令集可以用硬布線(xiàn)進(jìn)行指令譯碼,而不需要用微碼控制的方式,提高了譯碼的效率。流水線(xiàn)結構將指令分成幾步完成,在流水線(xiàn)填滿(mǎn)工作時(shí),每條指令的平均執行時(shí)間(CPI)在1個(gè)時(shí)鐘周期左右[3]。一般來(lái)說(shuō),RISC比同等的CISC要快50%--70%,同時(shí)更容易設計和糾錯。
因此,目前對8位微控制器的產(chǎn)品開(kāi)發(fā)和研究設計主要是以兼容市場(chǎng)上已被客戶(hù)廣泛采用的產(chǎn)品為前提,不斷提高性能并降低功耗以適應市場(chǎng)競爭和技術(shù)發(fā)展。對于原先為CISC指令系統的微控制器產(chǎn)品,在層出不窮的更新系列中已經(jīng)漸漸的融合進(jìn)了RISC思想;對于采用RISC指令系統的微控制器來(lái)說(shuō),更多的做法仍然是針對高性能低功耗的需求對其整個(gè)體系架構不斷地進(jìn)行優(yōu)化和改善,尤其是流水線(xiàn)結構的改進(jìn)最為多見(jiàn)。本文正是在種形勢下提出的,主要討論RISC體系架構的8位微控制器產(chǎn)品的設計技術(shù)。
3.RISC微處理器的結構特征和設計原則
雖然現在業(yè)界對RISC 處理器應該具有什么特征還有不同的看法,但是各種RISC結構都有一些共性[4]:(1)采用哈佛總線(xiàn)結構,大多數指令在一個(gè)時(shí)鐘周期內完成以便于實(shí)現結構流水化;(2)采用獨立且簡(jiǎn)單的裝載/存儲結構;(3)指令解碼通常都是硬連線(xiàn)實(shí)現而不是微解碼,以便加快執行速度;(4)多數指令具有固定格式,以簡(jiǎn)化指令編碼和譯碼;(5)較小的指令集和少數幾種尋址模式;(6)數據通道流水線(xiàn)化,使處理過(guò)程高度并行;(7)采用大容量高速寄存器堆(或稱(chēng)為寄存器文件),盡量避免與速度較低的系統RAM交換數據。盡量將運算數據存放在寄存器中,從而減少訪(fǎng)問(wèn)內存的次數。根據以上的討論,下文重點(diǎn)從體系架構的角度出發(fā),就高性能、低功耗兩方面對8位RISC微控制器在設計中的關(guān)鍵技術(shù)進(jìn)行了探討研究。
4.關(guān)鍵技術(shù)
4.1 RISC指令集的選取
控制器系統的使用跟軟件編程與硬件設計之間的規格接口密切相關(guān),這個(gè)接口就是微控制器的指令集。指令體系結構(ISA)是進(jìn)行微處理器軟硬件協(xié)同設計的前提。指令集必須完備,使所有可計算的功能都在合理的程序空間內得以實(shí)現;而且指令集又必須是高效的,以便使常用的功能可以用相對少的指令實(shí)現。因此,提供給應用軟件開(kāi)發(fā)的微控制器系統必須有一個(gè)完備而高效的指令集。
指令集直接決定微控制器的內部硬件結構,同時(shí)也是用戶(hù)程序編譯生成目標代碼的依據。指令集的最終確定與整個(gè)系統所需的程序存儲器、數據存儲器、寄存器變量及存儲器尋址方式密切相關(guān)且相互制約。各個(gè)部件乃至具體的字節都應該有唯一的地址,以便指令集能夠正確對各個(gè)部件或字節進(jìn)行辨認操作。因此也就有了相應的一系列針對不同產(chǎn)品的不同措施: 1)從所需要的地址度和相應增加的寄存器來(lái)權衡指令的長(cháng)度;2)對指令進(jìn)行分類(lèi)并分別確定各類(lèi)的指令字節格式,以簡(jiǎn)化操作控制信號的譯碼邏輯;3)增加相應的寄存器以彌補指令字節長(cháng)度的不足;4)指令字節格式分配應考慮到相應部件的結構復雜度及對應的尋址方式;5)存儲器、寄存器、I/O口是否統一尋址。以上所列舉的并不詳盡也無(wú)先后順序之分,應該同時(shí)進(jìn)行分析。相應的措施所對應的性能、功耗、設計復雜度各不一樣,應統一考慮。
評論