999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于CISC/RISC混合架構的嵌入式MCU設計

2006-12-31 00:00:00陳瑞森郭東輝
計算機應用研究 2006年8期

(1.廈門大學 物理系 EDA實驗室, 福建 廈門 361005; 2.廈門大學 電子工程系, 福建 廈門 361005; 3.廈門睿智微電子技術有限公司, 福建 廈門 361005)

摘 要: CISC與RISC是目前微控制器(MCU)設計的兩種主要指令體系。從MCU的架構原理入手分析基于這兩種指令體系的MCU的各自功能特點,說明對于不同應用系統所需的嵌入式MCU設計所要考慮的基本問題及關鍵模塊的設計方法。最后,以一款自主設計的八位MCU與CISC型微控制器MCS 51、RISC型微控制器PIC16C54的性能作比較,說明基于CISC/RISC混合架構的MCU的一些性能優勢。

關鍵詞: 微控制器; CISC; RISC; 嵌入式MCU

中圖法分類號: TP332文獻標識碼: A

文章編號: 1001 3695(2006)08 0194 03

Design of Embedded MCU with Mixed Architecture of CISC and RISC

CHEN Rui sen 1,3 , GUO Dong hui 1,2,3

(1.EDA Lab., Dept. of Physics, Xiamen University, Xiamen Fujian 361005,China; 2.Dept. of Electronic Engineering, Xiamen University, Xiamen Fujian 361005, China; 3.Xiamen RichIT Microelectronics Ltd., Xiamen Fujian 361005, China)

Abstract: CISC and RISC are the two main instruction systems for MCU design. In this paper, analyzing the principles of both CISC and RISC architectures, we show their respective merits for the embedded MCU design in different application systems. Considering our embedded MCU design for auto electron applications, an 8bits MCU with mixed architecture of CISC and RISC is designed in this paper. We present here the detail of our new design methods in the key MCU modules, and compared its performance with MCS 51 (which is a CISC MCU) and PIC16C54 (which is a RISC MCU). 

Key words: MCU; CISC; RISC; Embedded MCU 

微控制器(MCU,也稱單片機)有別于微型計算機的通用微處理器(MPU),它主要是將眾多的外圍設備如A/D,I/O等集成到單一芯片中[1],從而大幅度降低了成本,非常適合在工業控制和消費電子產品領域的實際應用。近年來,隨著微電子與通信網絡技術的高速發展,便攜式智能化電子產品已成為消費市場需求的主流,因此開發和應用具有體積小、功耗少、成本低的嵌入式MCU已成為電子產品技術開發的核心。目前市場上供應的嵌入式MCU有4位、8位、16位、32位甚至64位的,種類很多,其中八位和32位占絕大部分的市場份額[2]。但是,不同廠家的MCU產品其指令集各不相同,特別是指令集系統架構的不同,如八位MCU 即MCS51系列和PIC系列的微控制器分別是采用CISC指令系統和RISC指令系統。對于不同嵌入式系統的產品應用,不僅需要考慮不同廠家MCU的性價比,而且還需要考慮不同指令系統下MCU應用特點[3]。針對不斷涌現出來的新的智能化電子產品,人們一直在開發適合于不同嵌入式系統應用的MCU新產品,為此我們自主設計開發出一款基于CISC/RISC混合指令架構且適合于汽車電子控制應用的嵌入式MCU。

為了說明這款MCU的性能優點,本文具體介紹MCU的基本架構和工作原理,分析了CISC和RISC不同指令系統的功能特點,指出MCU的設計關鍵在于算法邏輯模塊(ALU)和指令譯碼模塊的原理設計上。在考慮實際應用情況下,將給出我們結合CISC和RISC指令架構優點所改進的ALU和指令譯碼模塊設計方案,具體給出一個八位嵌入式MCU的設計實例,并與CISC型微控制器MCS 51、RISC型微控制器PIC16C54的性能進行了比較。

1 MCU架構與控制原理

目前微控制器MCU主要有兩種基本結構,即哈佛(Harvard)結構[4]和馮諾伊曼(Von Meumann)結構[5],如圖1所示。馮諾伊曼結構是一種單一的總線結構,其程序存儲器(PRAM)與數據存儲器(DRAM)均映射到同一地址空間;而哈佛結構的PRAM與DRAM均具有獨立的地址總線。MCU的工作過程主要是由程序存儲模塊和程序控制模塊來完成的,即在存儲模塊和控制模塊的相互作用下完成程序規定的所有控制操作。

其中,程序存儲器中的程序是由一套特定指令集中的指令機器碼與數據編程組合以實現運行控制功能的二進制碼程序。目前各類MCU所采用的指令可以分為兩種[3],即復雜指令(CISC)與精簡指令(RISC)。RISC指令格式比較規范, 其特點是大部分指令的運行時鐘周期相同, 哈佛結構的MCU一般采用這種RISC指令,以便于同步訪問程序存儲器和數據存儲器, 執行效率比較高;CISC指令格式比較復雜, 有些指令需要由譯碼器解碼成幾條基本指令來執行,各指令的運行時鐘周期不同, 它僅適用于馮諾伊曼結構的MCU。不過,由于CISC指令格式復雜, 因此CISC指令集豐富、編碼效率高, 通常所需要的程序存儲器比RISC產品要少。

程序控制模塊則是通過指令譯碼器分析程序儲存指令并產生控制信號,以控制其他功能模塊按程序順序運作的。MCU的工作原理其實就是如何實現合理、有效地控制各個功能模塊的協調運作,因此整個MCU設計的關鍵在于設計一個高性能的指令譯碼器。此外,MCU通常需要進行不可避免的數據處理,即由程序控制模塊從數據存儲器中取得數據并送到算法邏輯功能模塊(ALU)進行必要的計算處理, 它決定了MCU整體的運算控制速度, 所以ALU模塊的設計也是MCU設計的關鍵。下一節針對MCU的實際應用分別介紹指令譯碼器和ALU模塊的設計思想。

2 關鍵模塊的設計

針對我們考慮在汽車電子控制中的實際應用,所要設計的MCU應適用于嵌入式系統的應用場合或開發平臺。 一方面需要考慮指令的特殊性或專用性, 另一方面也要考慮編程的通用性, 同時還特別需要考慮MCU的整體性能, 如性價比、功耗、穩定性等。

2.1 指令譯碼模塊的設計

在這個模塊的硬件設計中,我們充分考慮了汽車電子控制的特點,MCU在汽車工業的應用,使從前單一的儀器逐步發展為多用途、智能化儀表,不但可以很精確地將汽車上所有待測量都檢測出來,而且還有運算、判斷、預測和引導等功能。我們在硬件設計中對這些特點進行相應的優化,下面具體介紹在實現判斷這方面的優化情況。其邏輯圖如圖2所示。

在實現判斷功能時,主要檢測MCU中狀態寄存器特定位的賦值情況,以確定條件是否成立。條件成立與否直接影響到下一步的MCU操作,如跳轉指令,即當條件符合時,程序計數器將加上一個地址偏移量;反之,程序計數器保持原來的內容。這樣它們所需要的指令執行時間以及譯碼器輸出的控制信號是完全不一樣的,其中指令執行的周期是由時序控制線來控制的,而譯碼器輸出的控制信號是由譯碼器中“與”、“或”邏輯線的組合來控制的。 因此, 在譯碼器的設計中,我們是按照不同節拍下指令的動作類型來優化譯碼器中與或邏輯線的組合,同時對時序進行編碼,使時序模塊將在指令等的控制下輸出不一樣的時序控制線,從而控制指令的執行時間。這種優化方法可以使邏輯門數優化為普通方法的三分之一[6]。此外,在譯碼模塊的設計中,我們還采用了以下方法來改善MCU在面積、速度以及功耗上的性能:

(1)采用硬布線譯碼。硬布線譯碼的速度主要取決于電路延遲,因而采用硬布線能大大提高芯片的速度,同時采用硬布線譯碼比采用微程序譯碼可以節省更多的面積。

(2)采用多時鐘架構(多時序控制線)。它相對于FSM(有限狀態機,里面只有一個時鐘)能更有效地改善控制信號的產生速度[7]。

(3)整個譯碼器是否處于工作狀態可由使能控制線來控制。我們使用了兩個指令來使微處理器處于節電模式,即STP和WAI。STP指令是關閉處理器直到硬件復位,它可以讓微處理器處于休眠狀態從而減少能量的損耗;WAI的執行將使操作掛起,直到外部硬件中斷發生,處于掛起狀態的MPU的能耗將被降低。

(4)采用指令流水線結構。以ADC指令為例來說,如果不采用指令流水線設計,該指令需要五個時鐘周期,即:

(1)取指令的操作碼;

(2)譯碼得出要執行的指令是將寄存器A與一個常數相加; 

(3)取操作數(也就是要想加的那個常數);

(4)將這個常數與寄存器A中的內容相加;

(5)把結果放回寄存器A中。

采用指令流水線設計以后,(2)和(3)就可以在一個單獨的時鐘周期內完成,也就是在讀取操作碼后,在對操作碼進行譯碼的同時,讓PC增加1,并將PC的值輸出到地址總線,從而輸入操作數。(4)和(5)的實現可以與下一條指令的(1)同時執行,這樣采用指令流水線以后,這個執行的執行時間就由五個時鐘周期變為兩個。

2.2 ALU模塊的設計 

作為MCU的數據處理執行場所,ALU的執行速度對整個MCU有著相當大的影響。在ALU的設計中, 我們采用了三種方法來提高ALU的性能:

(1)在ALU中一般都有加法器。本設計是采用了超前進位加法器,同時取消了傳統的累加器方法。在采用傳統的累加器方法中,每次進行算術邏輯運算之前,必須將其中的一個操作數搬到累加器中,在完成算術邏輯運算后還需要將運算結果從累加器中搬移出來,這樣大大降低了整個MCU的處理效率[8]。我們則是采用了快速寄存器的結構,在執行算術邏輯操作時,兩個操作數直接取自數據線或地址線,數據直接來自通用寄存器。

(2)采用純組合邏輯的電路來實現。從圖3所示的一位ALU邏輯電路圖可以看到,其輸出僅僅取決于通過輸入通道選擇控制線選中的兩個操作數,而與電路原來的狀態無關。

(3)ALU與移位邏輯采用并行設計的結構。如圖4(b)所示,采用并行結構比一般的串行結構:①工作速度至少可以提高10%以上,有的甚至接近20%[9];②由于減少了電路中電平翻轉的次數,可以降低功耗。

3 八位MCU設計實例

在確定了主要架構及主要模塊的設計方法后,針對汽車電子控制應用主要實現判斷功能的特點, 我們以功能模塊為單元按門級設計綜合出一款八位的MCU芯片。為了兼容通用的MCU芯片功能, 同時考慮到融合CISC與RISC的優點, 我們采用了SISC(Specific Instruction Set Computer)的指令集方案[10], 并按圖5所示的功能模塊組合原理框圖來設計實現整個MCU芯片的程序控制功能。

鑒于CISC不同指令時鐘周期的要求, 我們的時序電路(時序模塊)設計為在初始化控制線的控制下輸出的六位正反控制線(A AB BC C)中A,B,C只能處于八種周期狀態(即如圖6所示的000,001,010,011,100,101,110,111共八個狀態)。其中,八種狀態的每個狀態持續的時間定為一個時鐘周期。為了保證RISC同步訪問數據存儲器的優點,我們設計成只有當ABC處于000狀態時,指令寄存器才可能接收數據通道上送來的指令。

對于CISC類型的指令集來說,不同指令可能需要不同的時鐘周期,即使是同一類型的指令但使用不同的尋址方式也需要不同的時鐘周期,或者是使用同樣的尋址方式也可能需要不同的時鐘周期。因此,為了保證RISC同步控制的特點,時序電路模塊還要受到狀態位處理模塊的控制。我們對每一種類型的指令特點進行分析,通過預先處理模塊的輸出、譯碼模塊的輸出以及狀態位處理模塊的輸出來控制時序電路,從而間接控制指令執行的周期。整個時序邏輯電路如圖7所示,其中兩位控制線、一位控制線等分別是預先處理模塊、狀態位處理模塊等的輸出。

以執行指令SBC(帶進位減法)為例,當采用0頁面變址尋址方式時,在別的控制線的作用下,ABC不再處于原來的循環狀態,其狀態如圖8所示。

從波形可以看出,ABC只經過三個時鐘周期就變為000狀態了,三個時鐘周期正好是這個指令執行所需要的時間,這樣指令執行完以后,剛好可以接收下一條指令。

我們在完成了整個芯片的門級電路設計與功能驗證后,分析得出這款適用于汽車電子控制的MCU有如下性能優點:

(1)芯片面積。我們設計的MCU用PMOS管4 600個,NMOS管6 083個,器件數只有CISC微控制器MCS 51的三分之一(比較時均不包括RAM和ROM)[11],逼近于RISC型微控制器PIC16C54所用的資源(大約4 000門)[12]。

(2)速度。各指令的執行時鐘周期數平均不到MCS 51的五分之一, 也比PIC16C54…。

(3)功耗。本芯片若采用0.5u以下的CMOS工藝流片,芯片正常的工作模式只需要3.0V的電壓,且考慮節電模式的設計,使得芯片功耗大幅降低。

4 結論

雖然這里只設計了一款八位的MCU,但我們所提出的架構和模塊設計新思路可以推廣到16位、32位以及64位MCU的設計中。因為不管是多少位的微處理器,設計中需要重點考慮的架構以及指令系統基本上是一致的,所不同的只是一些總線位數以及寄存器的位數而已。當然隨著位數的增加,一些驗證和測試的復雜度也將顯著增加,但從設計思路的角度來講,它們是一樣的。在具體的推廣中,要根據應用領域的不同,對這些方法進行適當的取舍或適當的改進,以更加符合某些具體應用領域的要求,如在市場增長相當快的便攜式應用領域,功耗問題將是設計中需要重點考慮的一個問題。

參考文獻:

[1] 王國平,周端.高性能低功耗微控制器IP軟核設計綜述[J].計算機應用研究, 2003, 20(2):1-3.

[2] 楊劍.MCU產業發展現狀與趨勢[J].電子與電腦,2004,(6):74-81. 

[3] 黃欽勝,朱娟.計算機組成原理[M].北京:電子工業出版社,2003.198-201.

[4] 王林濤.淺談單片機的存儲器結構[J].電子世界,2000,(3):29. 

[5] 楊厚俊,張公敬.計算機系統結構——奔騰PC[M].北京:科學出版社,2004.2-4.

[6] 鐘旭恒,高明倫.基于數據通道流程圖的硬布線控制設計[J].微電子學與計算機, 2001,18(5):8-11.

[7] HU Yue li, et al . Design of a High Performance Microcontroller[C]. Proceedings of the 6th IEEE CPMT Conference ,2004.25-28 .

[8] 劉峰,莊奕琪,等.高速8位RISC微控制器內核的設計[J].微電子學,2002,32(12):465-467.

[9] 黃海林,錢剛,等.微控制器中ALU與移位邏輯的設計與改進[J].計算機工程與科學,2004,26(1):95-98.

[10] 于敦山.“中國芯”應從嵌入式微處理器IP核開始[J].世界電子元器件, 2002, (1):55-56. 

[11] 慈艷柯.MCS 51單片機芯片反向解剖以及正向設計的研究[D].廈門:廈門大學物理系, 2001.43-44.

[12] 袁江南.PIC兼容單片機的電路分析與設計[D].廈門:廈門大學電工系,2004.7. 

作者簡介:陳瑞森(1981-),男,福建晉江人,碩士研究生,主要研究方向為嵌入式MCU設計;郭東輝(1967-),男,福建莆田人,教授,博導,主要研究方向為人工智能、計算機網絡通信、集成電路設計自動化等。

注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。

主站蜘蛛池模板: 在线精品亚洲一区二区古装| 久久网综合| 国内精品91| 97精品国产高清久久久久蜜芽 | 国产欧美专区在线观看| 伊人天堂网| 国产精品观看视频免费完整版| 成人国产精品一级毛片天堂| 国产网站一区二区三区| 视频一区亚洲| 亚洲天堂网站在线| 国产综合在线观看视频| 熟妇无码人妻| 欧美成人h精品网站| 国产手机在线观看| 久久青草免费91观看| 在线观看无码a∨| 中文字幕亚洲精品2页| 日本一区高清| 日本一本正道综合久久dvd| 中文字幕佐山爱一区二区免费| 97精品久久久大香线焦| 58av国产精品| 伊人久久综在合线亚洲91| 欧美中文一区| 久久国产精品波多野结衣| 99伊人精品| 国产99热| 亚洲国产综合精品一区| 宅男噜噜噜66国产在线观看| 男女性午夜福利网站| 久久永久精品免费视频| 丝袜高跟美脚国产1区| 亚洲无码不卡网| 五月天久久婷婷| 国产人碰人摸人爱免费视频| 国产成人精品在线1区| 伊人91在线| 国产永久无码观看在线| 国产久草视频| 国产女人水多毛片18| 午夜a视频| 91成人试看福利体验区| 亚洲天堂色色人体| 激情爆乳一区二区| 欧美精品在线免费| 日韩a级片视频| 高清国产va日韩亚洲免费午夜电影| 久久精品波多野结衣| 精品小视频在线观看| 国产激情无码一区二区APP| 一本大道东京热无码av| 国产成人无码AV在线播放动漫 | 免费一级毛片不卡在线播放| 亚洲av综合网| www.av男人.com| 青青久久91| 久久www视频| 国产香蕉国产精品偷在线观看 | 亚洲日产2021三区在线| 秘书高跟黑色丝袜国产91在线| 欧美在线黄| 日本免费高清一区| 黄色片中文字幕| 欧美自慰一级看片免费| 国产精品无码久久久久AV| AV网站中文| 久久综合干| 亚洲av无码牛牛影视在线二区| 性视频久久| 乱人伦中文视频在线观看免费| 91色在线观看| 欧美、日韩、国产综合一区| 成人在线观看一区| 成人一级免费视频| 日韩在线1| 国产久草视频| 亚洲综合18p| 无码精品国产dvd在线观看9久| 午夜a级毛片| 国产一级二级三级毛片| 亚洲成人精品|