當(dāng)前位置:首頁 > 工業(yè)控制 > 電子設(shè)計自動化
[導(dǎo)讀]引 言 通常,人們對微型計算機的工作原理及硬件結(jié)構(gòu)的了解來源于書本知識,深入理解掌握其功能特點比較困難,要自己親手去做一個類似功能的微型計算機更是不可能。隨著可編程邏輯器件的廣泛應(yīng)用,為數(shù)字系統(tǒng)的設(shè)計帶

引 言

通常,人們對微型計算機的工作原理及硬件結(jié)構(gòu)的了解來源于書本知識,深入理解掌握其功能特點比較困難,要自己親手去做一個類似功能的微型計算機更是不可能。隨著可編程邏輯器件的廣泛應(yīng)用,為數(shù)字系統(tǒng)的設(shè)計帶來了極大的靈活性,用戶可以利用FPGA(現(xiàn)場可編程門陣列)來開發(fā)出一個精簡指令的CPU,同時對微型計算機的原理及結(jié)構(gòu)進行充分研究,便于將來進行相關(guān)ASIC(專用集成電路)設(shè)計,也可用于計算機原理教學(xué)之中。

1 微型計算機結(jié)構(gòu)及原理

以一個簡化的微型計算機為例,微型計算機的簡化結(jié)構(gòu)。

1.1 微型計算機結(jié)構(gòu)

微型計算機由PC(程序計數(shù)器)、IR(指令寄存器)、CON(控制部件)、MAR(存儲地址寄存器)、ROM(只讀存儲器)、A(累加器)、ALU(算術(shù)邏輯部件)、B(寄存器)、OUTREG(輸出寄存器)、DLEDDIS(數(shù)碼管動態(tài)掃描模塊)及DECL7S(顯示模塊)等組成。這里僅介紹有所改變或不同的模塊,其余可見文獻[1].

L為數(shù)據(jù)載入控制信號,E為三態(tài)輸出選通信號,clk為時鐘信號,clr為清零信號,Cp為控制PC加1信號,S0-S3為控制ALU進行加減或邏輯運算的選擇信號。所有的控制、時鐘及清零信號由CON模塊給出,而CON模塊由外部時鐘clkin及清零信號rst控制。PC可以置數(shù),即可執(zhí)行跳轉(zhuǎn)指令。OUTREG可清零,便于多次調(diào)試。DLEDDIS及DECL7S用來把地址及結(jié)果在數(shù)碼管上顯示出來。

1.2 微型計算機原理

雖然這臺微型機可以實現(xiàn)16條指令,但本文對指令不做擴展,僅以5條指令為例。LDA為將數(shù)據(jù)裝入累加器A(操作碼0000);ADD為進行加法運算(操作碼0001);SUB為進行減法運算(操作碼0010);OUT為輸出結(jié)果(操作碼1110);HLT為停機(操作碼1111)。

在程序和數(shù)據(jù)裝入后,當(dāng)外部給出時鐘信號及清零信號無效時,由CON模塊發(fā)出信號及控制字,開始取出和執(zhí)行每條指令。如控制字順序為ErLrS3S2S1SOEuLm LbEaLaEi LiCpEpLp,這里L(fēng)r可用于存儲器為RAM時做寫使能信號。由于采用的是數(shù)據(jù)總線與地址總線合一的總線結(jié)構(gòu),一條指令的執(zhí)行需要6個機器節(jié)拍,即前3節(jié)拍取指周期與后3節(jié)拍執(zhí)行周期。如執(zhí)行ADD 0AH,機器碼為1AH(0001 1001)。第1節(jié)拍將PC內(nèi)容送入MAR,控制字為“0000 0001 00000010”,即Ep與Lm為1;第2節(jié)拍將ROM中對應(yīng)地址單元中的內(nèi)容送到IR,IR高4位送至CON,控制字為“1000 0000 0000 1000”,即Er與Li為1;第3節(jié)拍使PC加1,控制字中Cp為1,其余為0;第4節(jié)拍將IR的低4位送至MAR,Ei與Lm為1;第5節(jié)拍將ROM中的內(nèi)容送入累加器A中,Er與La為1;第6節(jié)拍為加法運算,Eu與La為1,同時S0-s3選擇為加法運算。

2 FPGA實現(xiàn)

2.1 總線方式

總線方式是指嚴格按圖1用FPGA實現(xiàn)相應(yīng)結(jié)構(gòu)的微型機。本實驗采用上海航虹公司的AEDK實驗箱,F(xiàn)PGA芯片為Altera公司的EPF10K20TC144-4,軟件采用QuartusII4.0、Max+plusII10.0及synplifypr07.5,程序設(shè)計采用VHDL語言。

共有11個子模塊,最后用元件例化語句構(gòu)成總模塊。以設(shè)計程序計數(shù)器模塊C-PC及控制模塊C_CON為例簡單做一介紹。

當(dāng)三態(tài)輸出信號es選通時,即es=“1”,PC可輸出,否則輸出為高阻態(tài)。數(shù)據(jù)或地址與總線相關(guān)的子模塊都需采用三態(tài)門。由于采用了三態(tài)門,最好用QuartusⅡ軟件來進行編譯,Max+plusⅡ有時不一定可以通過。

用synplify pro7.5對C_PC模塊進行RTL(寄存器傳輸級)原理圖觀察,如圖2所示。其綜合電路與一個4位二進制計數(shù)器類似,只是多了一個三態(tài)門。用synplify pro7.5不僅可以觀察RTL電路,還可以觀察門級電路結(jié),深入了解其內(nèi)部結(jié)構(gòu)。

C_CON模塊是最關(guān)鍵的模塊,因為所有的控制信號都由它發(fā)出。由于指令執(zhí)行需6個機器節(jié)拍,每個節(jié)拍對應(yīng)相應(yīng)功能,采用狀態(tài)機是實現(xiàn)此高效率、高可靠邏輯控制的重要途徑。如以下程序所示,每個狀態(tài)對應(yīng)著不同的控制字,共有6個狀態(tài)。

只讀存儲器模塊可使用LPM_ROM的LPM_FILE文件,便于調(diào)試不同的程序。

2.2 多路選擇器方式

多路選擇器方式是對總線方式的一種改進,可以實現(xiàn)地址總線與數(shù)據(jù)總線分離,一條指令的執(zhí)行只需4個機器節(jié)拍,極大地提高了運行速度。對圖1進行略微改變,如圖3所示。其中程序計數(shù)器模塊duolu_PC及指令寄存器模塊duolu_IR不再有三態(tài)門,對其控制也相應(yīng)簡化。增加了2個二選一多路選擇器。下面介紹其工作原理。

狀態(tài)s0(第1節(jié)拍)時,首先判斷有沒有加減法指令,若有則發(fā)出控制信號,PC值同時送入MAR.如控制字順序為ErLrS3S2 S1S0EuLm LbEaLaEi LiCpEpLp,有加法時,其控制字為“0000 1011 0010 0010”,當(dāng)S3S2S1S0為“0001”時做加法運算;沒有加減法時則控制字為“0000 0001 0000 0010”.狀態(tài)s1時,PC值加1,將存儲器單元中的內(nèi)容讀人到IR,其控制字為“1000 0000 0000 1100”,注意當(dāng)給程序計數(shù)器置數(shù)時,Lp才為l,多路選擇器選通由IR米置數(shù)。狀態(tài)s2和s3與總線方式的第4和第5節(jié)拍類似。整個周期可簡化為判斷與置地址、讀數(shù)、判斷與置地址、讀數(shù)4個步驟。

這里的多路選擇器方式僅僅是略微改變,不是指全部,只是提出一種方法。

2.3 功能描述方式

功能描述方式是指充分利用VHDL語言的行為描述能力,從功能描述的角度來實現(xiàn)簡易微型計算機。除了調(diào)用ROM模塊及OUTREG、DLEDDIS、DECL7S外,其余子模塊被包含在一個整體C_SIM_CPU模塊內(nèi),每一個狀態(tài)實現(xiàn)一定的功能。同樣,C_SIM_CPU模塊只需4個狀態(tài)即可實現(xiàn)相應(yīng)功能。部分程序如以下所示,不再采用控制字的方式。

C_SIM_CPU模塊由于強調(diào)實現(xiàn)功能,其語句不同用戶有著不同寫法,不同的綜合軟件也會生成不同的結(jié)構(gòu),因而這里不再展開討論。

2.4 3種方式比較

用QuartusⅡ4.0對總線方式、多路選擇器方式及功能描述方式分別進行編程下載,都可以實現(xiàn)一些簡單的計算程序,在數(shù)碼管上顯示出地址及相應(yīng)結(jié)果。如果采用1 Hz的clkin頻率,動態(tài)掃描頻率單獨用1 kHz時,可以清楚地看到每一過程。

QuartusⅡ4.0對總線方式、多路選擇器方式及功能描述方式編譯,其LE(邏輯單元)分別為:232、206、143.功能描述方式資源利用最優(yōu),但結(jié)構(gòu)復(fù)雜。多路選擇器方式優(yōu)于總線方式,不僅是在資源利用上,還是在執(zhí)行速度上。當(dāng)然,總線方式對于模塊的擴展方面要強于多路選擇器方式。

如果想更深入了解其內(nèi)部結(jié)構(gòu),可以使用Synplifypro軟件觀察這3種方式的RTL電路及門級電路。用Synplify pro軟件進行綜合,顯示所需的LE比QuartusⅡ4.0更少。

3 結(jié)束語

微型計算機的原理及結(jié)構(gòu)一般不易理解掌握,利用FPGA來學(xué)習(xí)并構(gòu)建一個簡易微型計算機無疑是一個好方法,對EDA的軟硬件學(xué)習(xí)也是一個不錯的選擇,可為將來進行相關(guān)ASIC沒計打下良好的基礎(chǔ)。

0次

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉