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