摘要:分析計算機系統(tǒng)結(jié)構(gòu)課程的現(xiàn)狀,研究目前流行的面向應(yīng)用的SOPC嵌入式系統(tǒng)與本課程的關(guān)系,指出本課程的重要性。提出將SOPC嵌入式系統(tǒng)與計算機系統(tǒng)結(jié)構(gòu)課程相結(jié)合的教學(xué)思路,并設(shè)計了教學(xué)的硬件平臺和應(yīng)用型實踐教學(xué)的項目。
關(guān)鍵詞:SOPC;FPGA;應(yīng)用型教學(xué);軟核處理器
計算機系統(tǒng)結(jié)構(gòu)是計算機科學(xué)與技術(shù)本科專業(yè)的一門專業(yè)基礎(chǔ)課,該課程介紹計算機系統(tǒng)中硬件和軟件的功能結(jié)構(gòu)及相互轉(zhuǎn)換關(guān)系,分析了現(xiàn)代計算機的體系結(jié)構(gòu),討論了計算機系統(tǒng)結(jié)構(gòu)的理論和相關(guān)技術(shù)。從原理、結(jié)構(gòu)和實現(xiàn)技術(shù)等方面,側(cè)重對RISC結(jié)構(gòu)、流水線結(jié)構(gòu)、陣列處理機、多處理機系統(tǒng)、智能計算機結(jié)構(gòu)等現(xiàn)代計算機的系統(tǒng)結(jié)構(gòu)進(jìn)行了較深入的分析和探討,使計算機專業(yè)的學(xué)生具有計算機系統(tǒng)結(jié)構(gòu)的基礎(chǔ)理論知識和培養(yǎng)學(xué)生具有一定的體系結(jié)構(gòu)技術(shù)應(yīng)用能力。為今后從事計算機系統(tǒng)及其應(yīng)用的研究、開發(fā)、工程實現(xiàn)有重要的指導(dǎo)意義。
但這樣的一門課程,學(xué)生的學(xué)習(xí)積極性不高,與學(xué)生交流時,多數(shù)同學(xué)認(rèn)為理論性太強,難度大,更主要的原因是在學(xué)生的思想認(rèn)識上,認(rèn)為學(xué)了沒用。于是在課堂上不認(rèn)真聽講,看一些自己認(rèn)為有用的書,甚至出現(xiàn)逃課現(xiàn)象。也許是處于各種原因,在一些高校計算機系統(tǒng)結(jié)構(gòu)這門課已經(jīng)從教學(xué)計劃中抹掉了,或者把它與計算機組成原理結(jié)合,可能只占很少的份額。在2010年5月9日,由教育部高等學(xué)校計算機科學(xué)與技術(shù)專業(yè)教學(xué)指導(dǎo)分委員會和高等教育出版社組織召開福建省高校計算機專業(yè)課程建設(shè)研討會上,其他高校也同樣存在學(xué)生對這門課的學(xué)習(xí)積極性不高,對應(yīng)的實踐教學(xué)難以開展的問題。
如何尋找這門課程的出路,提高教學(xué)質(zhì)量、教學(xué)效果,激發(fā)學(xué)生的學(xué)習(xí)興趣呢?其實計算機系統(tǒng)結(jié)構(gòu)的理論和相關(guān)技術(shù)與SOPC(可編程的片上系統(tǒng))有著緊密的聯(lián)系。SOPC是一個面向應(yīng)用、嶄新的、富有生機的嵌入式系統(tǒng)。在計算機系統(tǒng)結(jié)構(gòu)教學(xué)中,將課
本的理論知識結(jié)合到SOPC的應(yīng)用開發(fā),加強理論與實踐相結(jié)合,增加應(yīng)用型實踐教學(xué),必將能激發(fā)學(xué)生的學(xué)習(xí)興趣。
1SOPC的系統(tǒng)概述
隨著IC設(shè)計和工藝水平不斷提高,在一個半導(dǎo)體芯片上完成系統(tǒng)級的集成已成為可能,數(shù)字技術(shù)進(jìn)入片上系統(tǒng)SoC(System on Chip)時代。SOPC是Altera公司提出來的一種靈活、高效的SoC解決方案,它將CPU、存儲器、I/O接口、DSP模塊、低電壓差分技術(shù)(LVDS)、時鐘數(shù)據(jù)恢復(fù)技術(shù)(CDR)以及瑣相環(huán)(PLL)等系統(tǒng)設(shè)計所必須的模塊集成到一片F(xiàn)PGA上,構(gòu)成一個可編程片上系統(tǒng)。SOPC是PLD和ASIC技術(shù)的融合的結(jié)果。它具有靈活的設(shè)計方式,可裁減、可擴充、可升級,并具備軟硬件在系統(tǒng)可編程的功能,是半導(dǎo)體產(chǎn)業(yè)未來發(fā)展的方向[1]。
實現(xiàn)SOPC的一種解決方案是應(yīng)用FPGA生產(chǎn)廠商Altera公司推出的NiosⅡ嵌入式處理器。NiosⅡ是一種面向用戶的可以靈活定制的通用RISC(精簡指令集架構(gòu))的嵌入式CPU,NiosⅡ以軟核的方式提供給用戶,并專為在Altera的FPGA上實現(xiàn)優(yōu)化,用于SOPC集成并在FPGA上實現(xiàn)。用戶根據(jù)設(shè)計要求,利用QuartusⅡ和SOPC Builder對NiosⅡ及其外圍系統(tǒng)進(jìn)行構(gòu)建,使嵌入式系統(tǒng)在硬件結(jié)構(gòu)、功能特點、資源占用等全方面滿足用戶系統(tǒng)設(shè)計要求。另外在基于NiosⅡ軟核嵌入式的SOPC系統(tǒng)設(shè)計中可以通過定制指令的方式,為嵌入式處理器配置專有硬件加速器,以便能更有效地處理含有算法模型的程序,從而可以利用FPGA的可重配置的特性向FPGA配置相應(yīng)的嵌入式系統(tǒng),從而使SOPC系統(tǒng)高效高速工作。
SOPC在應(yīng)用和理論知識構(gòu)成上達(dá)到了一種有機融合,由于同時涉及底層的硬件系統(tǒng)和相應(yīng)的軟件設(shè)計,SOPC技術(shù)使開發(fā)者能夠在軟硬件系統(tǒng)的綜合與構(gòu)建兩個方面發(fā)揮自己的創(chuàng)造力和想象力,從而多角度、多因素和多結(jié)構(gòu)層面對自己的設(shè)計進(jìn)行優(yōu)化。SOPC從設(shè)計層次上講分為硬件設(shè)計和軟件設(shè)計;從設(shè)計流程上講是典型的自頂向下的流程;從設(shè)計手段上講,它更廣泛和深入地利用計算機這一科研開發(fā)的主流技術(shù),在這一平臺上設(shè)計者可以最大限度地優(yōu)化系統(tǒng)的性能。SOPC系統(tǒng)的開發(fā)流程如圖1所示[2]。
圖1SOPC系統(tǒng)開發(fā)流程
2應(yīng)用型硬件平臺搭建
實驗室原有的設(shè)備只能用實驗箱進(jìn)行驗證性的實驗,各種實驗集中在一個實驗箱上,線路繁雜,出錯率高,且設(shè)備陳舊,實驗的成功率很低,不能達(dá)到預(yù)期的目的和效果。在這種條件下,要讓學(xué)生完成某種模型機的設(shè)計難度較大,沒有多大的實用價值,不能激發(fā)學(xué)生的興趣。搭建一個基于FPGA的SOPC嵌入式系統(tǒng)硬件平臺,在這樣一個具有設(shè)計靈活,可裁減、可擴充、可升級并具備軟硬件系統(tǒng)可編程的功能系統(tǒng)上,學(xué)生可以更自由發(fā)揮。利用現(xiàn)有的IP核進(jìn)行裁剪,設(shè)計自己需要的CPU,根據(jù)需要增設(shè)特殊的功能指令,實用性強,難度不大,有利于激發(fā)學(xué)生的興趣。
硬件平臺以滿足實驗最基本需要為主,提供一個簡單、清晰和接線方便的FPGA最小系統(tǒng),降低硬件系統(tǒng)的復(fù)雜性,最小系統(tǒng)實驗平臺如圖2所示。系統(tǒng)的核心芯片采用Altera公司的FPGA芯片Cyclone EP