劉明江
摘要:基于嵌入式計算機組成原理仿真實驗系統(tǒng)是一套非常優(yōu)秀的系統(tǒng)。它可以用軟件開發(fā)設(shè)計自己的8位模型機,可以直觀的觀察數(shù)據(jù)的流動和存儲過程,可以通過接口擴展來進行計算機接口的各種試驗,可以模擬多種8位CPU的運行(如INTEL86系列、RISC及C51系列等),可以脫離硬件用軟件模擬仿真全部的硬件實現(xiàn)等等。本論文從不同方面闡述基于嵌入式計算機原理仿真系統(tǒng)設(shè)計,希望為研究計算機原理仿真系統(tǒng)的專家和學(xué)者提供理論參考依據(jù)。
關(guān)鍵詞:嵌入式技術(shù);計算機原理;仿真系統(tǒng)設(shè)計
中圖分類號:TP391.9 文獻標識碼:A 文章編號:1007-9416(2018)09-0146-01
基于嵌入式計算機組成原理仿真實驗系統(tǒng),將會成為計算機應(yīng)用教學(xué)中的重要工具。它是一套既能實現(xiàn)組成基本計算機模型,又能夠靈活的組成各種結(jié)構(gòu)的計算機處理模型的實驗系統(tǒng)。它還可以模擬幾種典型的單片機以及8088等CPU的運行模式及指令系統(tǒng),從而進行接口實驗,仿真實驗,和CPU的結(jié)構(gòu),微程序設(shè)計,滿足教學(xué)實驗和科研開發(fā)的仿真過程。
1 實驗系統(tǒng)設(shè)計思想
一個完善的組成原理實驗系統(tǒng),還要有一個強大的軟件開發(fā)平臺。這個軟件可以用來指定所用的指令集或者設(shè)計自己的指令集。編譯用戶輸入的源程序。還要對實驗進行軟件的模擬仿真,使其脫離實驗硬件也可以獨立運行。同時,可以通過軟件來對實驗的硬件平臺進行控制,實現(xiàn)數(shù)據(jù)的下載,程序的裝入等等。還有就是要有一個強大的幫助系統(tǒng)。這是必不可少的,所以設(shè)計時也要考慮到軟件功能的獨立性和其的強大功能[1]。
2 采用獨立功能模塊的全硬件的設(shè)計方案
2.1 獨立功能模塊的設(shè)計思想及模塊化分
模塊化是按照功能將一個軟件或硬件切分成許多部分單獨開發(fā),然后再組裝起來,每一個部分即為模塊。其中每個部分都有自己的功能,不依賴于其它部分,也就是說沒一部分在功能上是獨立的。同時,每個部分的結(jié)構(gòu)是彼此獨立的,每個部分都有其自己的結(jié)構(gòu)。其優(yōu)點是利于控制質(zhì)量、利于多人合作、利于擴充功能,利于項目的管理、利于降低設(shè)計度、有利于加快設(shè)計速度因為多個模塊可以同時進行、有利于模塊的復(fù)用等等[2]。
2.2 微處理器
控制器有微程序控制器和硬布線控制器兩種。硬布線控制的特點是:組合邏輯電路由門電路組成,處理速度快,當指令數(shù)量多時,設(shè)計難度大。但它的靈活性小不適合本次設(shè)計的要求。微程序控制器用規(guī)整的存儲結(jié)構(gòu),代替了不規(guī)整的、復(fù)雜的硬聯(lián)邏輯,結(jié)構(gòu)簡單。更重要的是利于擴展,靈活、通用性強。在數(shù)據(jù)結(jié)構(gòu)通路不變的前提下,可以通過修改微程序來改變指令的執(zhí)行方式,同時增加新的微程序來增加新指令,甚至可以用更換一套微程序的方法來更換指令系統(tǒng)。這正是實驗系統(tǒng)所需要的。下面闡述微程序的原理、設(shè)計步驟、和作者的設(shè)計方案[3]。
微程序控制的基本思想,就是仿照通常的解題程序的方法,把所有的控制命令信號匯集在一起編碼成所謂的微指令,再由微指令組成微程序,存放在一個EPROM里。系統(tǒng)運行時,一條又一條地讀出這些微指令,產(chǎn)生執(zhí)行部件所需要的各種控制信號,從而驅(qū)動執(zhí)行部件進行所規(guī)定的操作。這里將存儲邏輯和程序技術(shù)引入到CPU中。這里微指令是構(gòu)成控制信號序列的最小單位,也稱微信號,通常指那些直接作用于部件或控制門電路的命令。而執(zhí)行部件接受微命令所執(zhí)行的操作叫做微操作[4]。
2.3 算術(shù)邏輯運算單元(ALU)
ALU根據(jù)其功能可以劃分為多個檔次。普通的只能實現(xiàn)基本的算數(shù)邏輯運算工能,符點及乘除等運算通過軟件來完成。這樣的ALU設(shè)計簡單但運行速度慢。高檔的可以支持算數(shù)邏輯運算外還可以支持符點向量及標量等運算。這些運算通過硬件來實現(xiàn)。設(shè)計復(fù)雜但有很高的效率。輸入輸出都是8位。其中操作碼、輸入A、輸入B合進位C加在一起共23位一起作為ALU ROM的輸入地址線。當給定一組操作碼、輸入AB及進為C后,就唯一確定了一個存儲單元,而這個存儲單元存放的正是相應(yīng)的運算結(jié)果。也就是說把ROM做成了一張查找表。例如加法的操作碼是000001 操作數(shù)AB分別為000001和000010 那ALU就要查找000001000001000010單元的內(nèi)容(000011)輸出完成運算[5]。
2.4 通信模塊
通信模塊主要是實現(xiàn)實驗臺和PC機的通信,負責從PC機端讀取信息,如從PC機讀取程序和數(shù)據(jù)分別下載到實驗臺端的程序存儲器和數(shù)據(jù)存儲器。如從PC機讀取控制命令等等。同時,通信模塊還負責把實驗臺端的狀態(tài)信息上傳給PC機。
在通信模塊作者的設(shè)計方案試采用單片機與PC機進行通信。通信的方式主要有串口通信(即打印口)、并口通信和USB口通信。設(shè)計時首選的是串口進行通信,串口簡單易于實現(xiàn)[6]。
3 采用EDA技術(shù)功能集成的硬件設(shè)計方案
功能集成的設(shè)計就是作者運用EDA技術(shù),使用高性能的EDA綜合開發(fā)工具,按照“自頂向下”的設(shè)計方法,對整個系統(tǒng)進行方案設(shè)計和功能劃分,系統(tǒng)的關(guān)鍵電路用一片或幾片專用集成電路(ASIC)實現(xiàn),然后采用硬件描述語言(HDL)完成系統(tǒng)行為級設(shè)計,最后通過綜合器和適配器生成最終的目標器件。采用自頂向下的思想,首相對整個實驗系統(tǒng)進行功能分析劃分,并將CPU的動能集成到一片F(xiàn)PGA(現(xiàn)場可編程門陣列)中,用硬件描述語言HDL完成CPU功能行為的設(shè)計。
參考文獻
[1]梁文翰.基于單片機的電力機車數(shù)據(jù)采集系統(tǒng)的設(shè)計[J].現(xiàn)代工業(yè)經(jīng)濟和信息化,2016,(24):73-74.
[2]尹相濤.數(shù)據(jù)采集系統(tǒng)的開發(fā)與應(yīng)用[J].南鋼科技,2001,(4):31-32.
[3]莫章潔.基于ZigBee與GPRS的農(nóng)業(yè)數(shù)據(jù)采集系統(tǒng)設(shè)計[J].貴州師范學(xué)院學(xué)報,2016,(9):40-43.
[4]程佩,房海華,黃藍.基于FPGA+DSP的數(shù)據(jù)采集系統(tǒng)設(shè)計與實現(xiàn)[J].計算機測量與控制,2016,(11):148-150.
[5]張玉,姚凱學(xué).基于ZigBee的人體健康數(shù)據(jù)采集系統(tǒng)的設(shè)計[J].物聯(lián)網(wǎng)技術(shù),2016,(12):16-18.
[6]張袁志.多任務(wù)航空數(shù)據(jù)采集系統(tǒng)[J].科技傳播,2017,(12):70-72.