亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        計(jì)算機(jī)硬件實(shí)驗(yàn)統(tǒng)一平臺(tái)設(shè)計(jì)

        2008-12-31 00:00:00全成斌管曉培李山山湯志忠
        計(jì)算機(jī)教育 2008年18期

        文章編號(hào):1672-5913(2008)18-0003-03

        摘要:針對(duì)目前計(jì)算機(jī)硬件系列實(shí)驗(yàn)課程,我們采用大規(guī)模和超大規(guī)模集成電路和可編程器件,研究設(shè)計(jì)了統(tǒng)一硬件實(shí)驗(yàn)平臺(tái)。本文介紹了為配套設(shè)計(jì)而開發(fā)的用以輔助實(shí)驗(yàn)的軟件系統(tǒng),并描述了平臺(tái)的功能和代表性實(shí)驗(yàn)過程。

        關(guān)鍵詞:大規(guī)模;可編程器件;統(tǒng)一硬件實(shí)驗(yàn)平臺(tái);軟件系統(tǒng)

        中圖分類號(hào):G642 文獻(xiàn)標(biāo)識(shí)碼:A

        Design of Union Platform of Computer Hardware Experiment

        QUAN Cheng-bin, GUAN Xiao-pei, LI Shan-shan, TANG Zhi-zhong

        (Tsinghua University, Lab for Computer Education, Beijing 100084, China)

        Abstract: This paper describes the research and design on union hardware platform which bases on large-scale and ultra-

        large-scale integrated circuits and programmable devices and supports the current series of computer hardware courses. At thesame time, it describes the software system going with the hardware platform, which helps the experiments a lot. Then it describes the capability of the union platform and the experiment process with the platform.

        Key Words: large-scale, programmable devices, union hardware platform, software system

        1引言

        目前國(guó)內(nèi)的計(jì)算機(jī)硬件課程實(shí)驗(yàn)呈現(xiàn)出實(shí)驗(yàn)平臺(tái)分散化的特點(diǎn),各個(gè)課程采用了各自獨(dú)立的實(shí)驗(yàn)平臺(tái)。各種平臺(tái)的集成度還比較低,大量使用小規(guī)模集成電路,所采用的可編程器件多為小規(guī)模的GAL,學(xué)生實(shí)驗(yàn)還要用很多外部飛線,系統(tǒng)的靈活性非常小[1]。國(guó)際部分知名高校的硬件課程比較集中,實(shí)驗(yàn)平臺(tái)統(tǒng)一,很多采用了基于大規(guī)??删幊唐骷膶?shí)驗(yàn)平臺(tái)來完成實(shí)驗(yàn)。在這些方面,國(guó)內(nèi)的實(shí)驗(yàn)和實(shí)驗(yàn)平臺(tái)還有較大差距[2]。

        為了推動(dòng)計(jì)算機(jī)硬件類實(shí)驗(yàn)改革,提高學(xué)生實(shí)驗(yàn)方法和實(shí)驗(yàn)效率,我們?cè)O(shè)計(jì)出了一套計(jì)算機(jī)硬件實(shí)驗(yàn)統(tǒng)一平臺(tái),下面就其功能、設(shè)計(jì)方法以及實(shí)驗(yàn)過程分別描述。

        2計(jì)算機(jī)硬件實(shí)驗(yàn)統(tǒng)一平臺(tái)的功能

        計(jì)算機(jī)硬件實(shí)驗(yàn)統(tǒng)一平臺(tái)支持清華大學(xué)計(jì)算機(jī)硬件類主干實(shí)驗(yàn),包括:數(shù)字電路基礎(chǔ)實(shí)驗(yàn)、數(shù)字邏輯、組成原理、系統(tǒng)結(jié)構(gòu)以及微機(jī)接口等課程。

        對(duì)于數(shù)字電路基礎(chǔ)課程,支持的實(shí)驗(yàn)內(nèi)容如表1所示。

        對(duì)于數(shù)字邏輯設(shè)計(jì)課程,支持全部實(shí)驗(yàn),如表2。

        對(duì)于組成原理課程,支持如表3所列的實(shí)驗(yàn)。

        針對(duì)系統(tǒng)結(jié)構(gòu)課程[3],我們支持如表4所列的實(shí)驗(yàn)。

        同時(shí),我們支持如表5所列的微機(jī)接口課程實(shí)驗(yàn)。

        3計(jì)算機(jī)硬件實(shí)驗(yàn)統(tǒng)一平臺(tái)的設(shè)計(jì)

        為了在統(tǒng)一的實(shí)驗(yàn)平臺(tái)上滿足各硬件課程的實(shí)驗(yàn),我們采用了模塊化結(jié)構(gòu)來設(shè)計(jì)實(shí)驗(yàn)平臺(tái),平臺(tái)的整體設(shè)計(jì)如圖1所示。

        平臺(tái)整體分為軟硬件兩個(gè)部分。軟件部分主要在學(xué)生PC上運(yùn)行,實(shí)現(xiàn)對(duì)硬件實(shí)驗(yàn)系統(tǒng)的監(jiān)控;硬件部分主要是實(shí)驗(yàn)平臺(tái)。學(xué)生PC與硬件實(shí)驗(yàn)平臺(tái)通過USB或者串口連接,根據(jù)通信接口協(xié)議實(shí)現(xiàn)學(xué)生PC對(duì)硬件實(shí)驗(yàn)系統(tǒng)的動(dòng)態(tài)監(jiān)控。

        軟件部分按照模塊化設(shè)計(jì)分為界面、通信、監(jiān)控調(diào)試、下載以及內(nèi)嵌的編譯解釋器等模塊。

        硬件部分分為板上公共邏輯模組,實(shí)驗(yàn)?zāi)=M以及對(duì)應(yīng)各個(gè)實(shí)驗(yàn)課程的數(shù)字邏輯輔助模組,組成原理輔助模組、微機(jī)接口輔助模組和系統(tǒng)結(jié)構(gòu)輔助模組。這里各個(gè)實(shí)驗(yàn)課程輔助模組之間不是完全分離的,我們通過相互比較采用了一定的重疊復(fù)用,提高了硬件利用率。例如,數(shù)字邏輯輔助模組中包含對(duì)于微機(jī)接口輔助模組中相關(guān)接口模塊的利用,兩者復(fù)用了部分接口。諸如此類的復(fù)用,大大提高了整體硬件平臺(tái)的利用率。

        3.1軟件部分

        軟件部分的各個(gè)模塊中,界面模塊設(shè)計(jì)了友好的人機(jī)交互方式,包含對(duì)硬件板的狀態(tài)顯示,以及對(duì)于特定實(shí)驗(yàn)的輸入、編譯、輸出顯示;通信部分依據(jù)特定的通信協(xié)議和硬件平臺(tái)進(jìn)行通信;監(jiān)控調(diào)試部分,抓取通信部分可見的板上信號(hào)變化,由界面部分顯示,支持通過運(yùn)行控制實(shí)現(xiàn)調(diào)試功能(例如CPU系統(tǒng)實(shí)驗(yàn)中控制CPU的運(yùn)行);下載模塊負(fù)責(zé)硬件平臺(tái)各個(gè)可寫部分的內(nèi)容的下載;內(nèi)嵌的編譯解釋器,完成了匯編語言的編譯功能。

        整體的軟件平臺(tái)部分,采用軟件工程的設(shè)計(jì)思想,充分考慮軟件平臺(tái)自身的可擴(kuò)展性和易維護(hù)性,更大程度地提高了硬件平臺(tái)的功能可擴(kuò)展性。依據(jù)規(guī)范化的軟件工程思想,我們合理設(shè)計(jì)了軟件模塊,做到“design for change”和“design for reuse”[4]。

        例如,在通信模塊的設(shè)計(jì)過程中我們采用了Factory Method,將通信協(xié)議抽象出來,作為單獨(dú)的父類,通信模塊直接調(diào)用協(xié)議父類。這樣,以后如果相關(guān)協(xié)議需要改變的時(shí)候,只要對(duì)應(yīng)修改協(xié)議本身的內(nèi)容,其他部分甚至調(diào)用協(xié)議的通信模塊都無需改變,達(dá)到了良好的軟件復(fù)用。通過這種設(shè)計(jì),我們能夠使軟件修改維護(hù)的代價(jià)降到最低。上述過程的示意圖如圖2。

        3.2硬件部分

        硬件平臺(tái)放置于實(shí)驗(yàn)箱內(nèi),整體結(jié)構(gòu)分為板上公共邏輯模組(包括通信模塊、下載控制及存儲(chǔ)模塊、控制模塊等),實(shí)驗(yàn)?zāi)=M(以實(shí)驗(yàn)編寫模塊為核心)以及各個(gè)輔助模組(包括雜項(xiàng)模塊、接口模塊、存儲(chǔ)模塊、時(shí)鐘模塊等),如圖3所示。

        其中通信模塊完成板上內(nèi)容的對(duì)外發(fā)送??刂颇K實(shí)現(xiàn)板上的控制以及信號(hào)的采集,并能夠?qū)⒉杉盘?hào)發(fā)送給通信模塊。下載控制模塊和下載存儲(chǔ)模塊完成板上可編程部分內(nèi)容動(dòng)態(tài)下載。實(shí)驗(yàn)編寫模塊由可編程器件(例如EP2C20Q240等FPGA)構(gòu)成,單獨(dú)成為實(shí)驗(yàn)?zāi)=M。時(shí)鐘模塊發(fā)生一系列時(shí)鐘信號(hào),存儲(chǔ)模塊完成對(duì)需要存儲(chǔ)結(jié)構(gòu)實(shí)驗(yàn)的支持,接口模塊分布了VGA、PS2、串口等等各種接口,開關(guān)顯示以及雜項(xiàng)模塊由實(shí)驗(yàn)所需的開關(guān)、數(shù)碼管以及其他變阻器等雜項(xiàng)構(gòu)成,這些雜項(xiàng)組合就可以構(gòu)成各個(gè)實(shí)驗(yàn)課程的輔助模組的一部分。

        在硬件系統(tǒng)的設(shè)計(jì)中,我們著重考慮整個(gè)硬件平臺(tái)使用實(shí)驗(yàn)?zāi)K為基礎(chǔ),由于課程的多樣性,需要提供多種“接口”,而FPGA接口有限,這就需要一定程度上考慮FPGA接口的復(fù)用。同時(shí)存在著需要同時(shí)使用多個(gè)接口的實(shí)驗(yàn),因此是在綜合考慮的基礎(chǔ)上分配使用接口的。

        4計(jì)算機(jī)硬件實(shí)驗(yàn)過程簡(jiǎn)介

        整體來說,我們支持了如第2部分所述的所有實(shí)驗(yàn)。由于篇幅所限,這里以三個(gè)較為有代表性的實(shí)驗(yàn)為例介紹硬件實(shí)驗(yàn)過程。

        4.1基本組合邏輯設(shè)計(jì)實(shí)驗(yàn)

        數(shù)字邏輯設(shè)計(jì)課程實(shí)驗(yàn)中的基本組合邏輯設(shè)計(jì)實(shí)驗(yàn)中,實(shí)驗(yàn)?zāi)康氖且髮W(xué)生設(shè)計(jì)實(shí)現(xiàn)一位半加器。學(xué)生在對(duì)一位半加器的相關(guān)知識(shí)進(jìn)行了解或者復(fù)習(xí)上課內(nèi)容之后,即可得到如4所示的邏輯原理圖。

        在對(duì)原理圖進(jìn)行真值表計(jì)算、驗(yàn)證無誤之后,就可以使用開關(guān)顯示以及雜項(xiàng)模塊中的2個(gè)開關(guān)作為An和Bn,2個(gè)顯示燈作為Cn和Sn,按照對(duì)應(yīng)關(guān)系確定2個(gè)輸入和2個(gè)輸出在實(shí)驗(yàn)?zāi)K上的編號(hào),就可以進(jìn)行管腳綁定。從而進(jìn)行FGPA內(nèi)部?jī)?nèi)容的VHDL編寫,經(jīng)過仿真和波形驗(yàn)證后,就可以將編譯好的目標(biāo)代碼,通過學(xué)生PC軟件系統(tǒng)燒入實(shí)驗(yàn)FPGA,接著就可以通過事先定義好的輸入和輸出端點(diǎn)進(jìn)行實(shí)驗(yàn)觀察了。

        4.2VGA接口顯示實(shí)驗(yàn)

        該實(shí)驗(yàn)中,學(xué)生需要參考VGA相關(guān)內(nèi)容,理解VGA接口的信號(hào)定義。通過查找實(shí)驗(yàn)指示書,得到實(shí)驗(yàn)板上VGA接口的信號(hào)線所關(guān)聯(lián)到的FPGA的管腳分別為R0-3、G0-3、B0-3、Vsync以及Hsync,并且得到這14個(gè)輸出信號(hào)與VGA接口輸出的相互關(guān)系。這樣就可以實(shí)際編寫FPGA的內(nèi)容,在FPGA上完成一個(gè)VGA接口設(shè)計(jì),同樣經(jīng)過仿真、驗(yàn)證,運(yùn)用學(xué)生PC軟件系統(tǒng)下載運(yùn)行,從而達(dá)到實(shí)驗(yàn)要求的圖像通過VGA接口顯示在所連接的顯示器上的目標(biāo)。

        4.3CPU cache設(shè)計(jì)實(shí)驗(yàn)

        在系統(tǒng)結(jié)構(gòu)的實(shí)驗(yàn)中[5],CPU cache設(shè)計(jì)實(shí)驗(yàn)要求學(xué)生在實(shí)現(xiàn)多流水CPU的基礎(chǔ)上添加實(shí)現(xiàn)cache結(jié)構(gòu),整個(gè)實(shí)驗(yàn)結(jié)構(gòu)設(shè)計(jì)如圖5所示。

        首先學(xué)生在前序?qū)嶒?yàn)中對(duì)于PipeLine的CPU已經(jīng)設(shè)計(jì)實(shí)現(xiàn),這里原本的CPU通過Controller對(duì)于Memory的直接讀取變成了通過IC和DC兩條總線,通過指令cache(IC)和數(shù)據(jù)cache(DC)的分別讀取,整體外部連接不需要改變,只需要學(xué)生在原本實(shí)現(xiàn)pipeline CPU的FPGA內(nèi)在CPU和Memory Controller之間添加IC和DC的邏輯。

        需要學(xué)生完成的實(shí)驗(yàn)主要分為如下3個(gè)步驟:

        ① 在FPGA[6]內(nèi)部實(shí)現(xiàn)Memory controller結(jié)構(gòu),連接Memory后,完整測(cè)試Memory controller的正確性以及性能。這里Memory可以直接采用硬件平臺(tái)中的Ram結(jié)構(gòu)??梢圆捎萌缦碌臏y(cè)試方法:用實(shí)驗(yàn)?zāi)K的FPGA完成Memory Controller結(jié)構(gòu),讀取Memory之后的內(nèi)容寫回Memory,再發(fā)送到軟件部分查看讀取結(jié)果是否正確。而性能測(cè)試,則可以通過長(zhǎng)時(shí)間循環(huán)讀取計(jì)時(shí)來測(cè)量。這里需要注意的是,經(jīng)過長(zhǎng)時(shí)間固定次數(shù)的循環(huán)讀取Memory的固定空間來測(cè)試最終的準(zhǔn)確性和效率的時(shí)候,由于開頭需要寫入Memory而最后需要核對(duì)固定空間的Memory內(nèi)容。而我們無法通過硬件上信號(hào)觀察的方法來觀測(cè)Memory固定空間的所有內(nèi)容(即使1K Bits這樣的小數(shù)據(jù)攤開放在硬件實(shí)驗(yàn)平臺(tái)上也是無法讓人接受的),這樣我們的軟件平臺(tái)對(duì)于Memory的讀出和寫入功能就顯得尤為重要了。

        ② 在FPGA內(nèi)完成IC和DC結(jié)構(gòu)。這樣,得到以Memory為一端,IC bus與DC bus為另一端的FPGA,從而測(cè)試IC和DC的正確性以及速度情況。整體的連接和測(cè)量就可以采用和步驟1相仿的方式進(jìn)行。

        ③ 完成整個(gè)實(shí)驗(yàn)內(nèi)容。在步驟2的FPGA內(nèi)結(jié)構(gòu)基礎(chǔ)上添加多流水CPU,測(cè)試完成整個(gè)實(shí)驗(yàn)。整體的測(cè)試就可以通過CPU的運(yùn)行效率和準(zhǔn)確性來得到結(jié)果了。

        從這個(gè)實(shí)驗(yàn)我們可以看出,尤其在完成復(fù)雜實(shí)驗(yàn)的過程中,整個(gè)軟件部分對(duì)于硬件平臺(tái)的監(jiān)測(cè)是十分重要的。

        5結(jié)束語

        計(jì)算機(jī)硬件實(shí)驗(yàn)統(tǒng)一平臺(tái),采用了大規(guī)模可編程邏輯器件,結(jié)合先進(jìn)的軟硬件設(shè)計(jì)思想和設(shè)計(jì)方法,將計(jì)算機(jī)硬件類主干實(shí)驗(yàn)統(tǒng)一到一個(gè)平臺(tái)完成,為計(jì)算機(jī)硬件類實(shí)驗(yàn)課程的綜合和改革提供了平臺(tái)基礎(chǔ),為深化課程改革和課程建設(shè)做好了準(zhǔn)備。其中軟件系統(tǒng)設(shè)計(jì)采用軟件工程思想,盡可能減小了軟件系統(tǒng)的維護(hù)以及擴(kuò)展的代價(jià),同時(shí)極大程度的減少了軟件系統(tǒng)對(duì)于硬件系統(tǒng)內(nèi)容的依賴,并減小了對(duì)于硬件系統(tǒng)擴(kuò)展性的約束。

        通過軟硬件配合形成計(jì)算機(jī)硬件實(shí)驗(yàn)的統(tǒng)一平臺(tái),使得原本在分散實(shí)驗(yàn)平臺(tái)上完成的實(shí)驗(yàn)得到統(tǒng)一的支持,消減了因多種平臺(tái)帶來的教學(xué)成本,更為重要的是提高了學(xué)生的學(xué)習(xí)效率,取得了良好的實(shí)驗(yàn)效果。

        參 考 文 獻(xiàn)

        [1] 湯志忠, 楊春武. 開放式實(shí)驗(yàn)CPU設(shè)計(jì)[M]. 北京:清華大學(xué)出版社,2007,6.

        [2] 湯志忠. 清華“計(jì)算機(jī)專業(yè)實(shí)踐”課程的創(chuàng)新與實(shí)踐[J]. 計(jì)算機(jī)教育,2006,(7):7-9.

        [3] 鄭緯民, 湯志忠. 計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)[M]. 北京:清華大學(xué)出版社,2001,9.

        [4] 白征. SWEBOK: Software Engineering Body of Knowledge[J]. 計(jì)算機(jī)科學(xué),2001,28(7):108-111.

        [5]John L. Hennessy, David A. Patterson. 計(jì)算機(jī)系統(tǒng)結(jié)構(gòu):量化研究方法[M]. 北京:電子工業(yè)出版社,2004,7.

        [6] Wayne Wolf. 基于FPGA的系統(tǒng)設(shè)計(jì)[M]. 北京:機(jī)械工業(yè)出版社,

        2006,5.

        yy111111少妇影院| 国产精品ⅴ无码大片在线看| 天天躁日日躁狠狠躁人妻| 久久国产精品99精品国产987| 亚洲精品视频一区二区三区四区| 中文字幕一区二区三区四区五区| 国产精品18久久久久久麻辣| 亚洲精品亚洲人成在线下载| 亚洲香蕉久久一区二区| 97se色综合一区二区二区| 人禽伦免费交视频播放| 精品午夜一区二区三区久久| 高清不卡av在线播放| 极品老师腿张开粉嫩小泬| 日韩无套内射视频6| 久久综合九色综合欧美狠狠| 成人xx免费无码| 精品中文字幕久久久人妻| 亚洲国产精品成人久久久| 日本大尺度吃奶呻吟视频| 国产亚洲精品国看不卡| 少妇被爽到高潮喷水免费福利 | 国产av午夜精品一区二区入口| 午夜性刺激免费看视频| 国内揄拍国内精品人妻浪潮av | 尤物yw午夜国产精品视频| 国产亚洲精品aaaaaaa片| 久久精品国产屋| 亚洲成生人免费av毛片| aaa日本高清在线播放免费观看| 三级特黄60分钟在线观看| 亚洲va在线va天堂va四虎| 亚洲精品一区二区三区四区久久| 国产免费一区二区三区免费视频 | 午夜不卡av免费| 国产码欧美日韩高清综合一区| 久久这里都是精品99| 女人被狂c躁到高潮视频| 欧美亚洲国产人妖系列视| 日本黄网色三级三级三级| av综合网男人的天堂|