摘要:本文從計(jì)算機(jī)系統(tǒng)能力培養(yǎng)的角度出發(fā),分析了《數(shù)字邏輯》這門課程在系統(tǒng)能力培養(yǎng)過程中的作用與地位,討論了這門課程教學(xué)改革的一些具體措施,強(qiáng)調(diào)了利用EDA技術(shù)培養(yǎng)實(shí)踐能力的重要性。
關(guān)鍵詞:數(shù)字邏輯;系統(tǒng)能力;EDA;教學(xué)改革
中圖分類號(hào):G623.1 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1674-9324(2014)06-0148-02
《數(shù)字邏輯》是計(jì)算機(jī)及電子信息類專業(yè)的一門必修專業(yè)課程,是學(xué)習(xí)計(jì)算機(jī)硬件系列課程的基礎(chǔ),同時(shí)是一門實(shí)踐性、技術(shù)性很強(qiáng)的基礎(chǔ)課。隨著現(xiàn)代數(shù)字電子技術(shù)的發(fā)展,《數(shù)字邏輯》這門課程的教學(xué)目標(biāo)和教學(xué)方法也需要不斷地調(diào)整變化。對(duì)于計(jì)算機(jī)專業(yè)的學(xué)生而言,學(xué)習(xí)這門課程的主要目標(biāo)是為后續(xù)計(jì)算機(jī)硬件系列課程的學(xué)習(xí)奠定基礎(chǔ),因此,在具體教學(xué)內(nèi)容方面與電子類專業(yè)的數(shù)字電子技術(shù)類課程應(yīng)該有所區(qū)別。本文從計(jì)算機(jī)專業(yè)學(xué)生系統(tǒng)能力培養(yǎng)的角度來探討《數(shù)字邏輯》課程的內(nèi)容調(diào)整等教學(xué)實(shí)踐中的一些問題和做法。
一、計(jì)算機(jī)系統(tǒng)能力培養(yǎng)的內(nèi)涵與相關(guān)課程體系
計(jì)算機(jī)系統(tǒng)能力指的是對(duì)計(jì)算機(jī)系統(tǒng)進(jìn)行分析、設(shè)計(jì)、調(diào)優(yōu)和檢錯(cuò)的能力[1]。從本科教學(xué)的角度來看,計(jì)算機(jī)系統(tǒng)能力培養(yǎng)需要包括如下內(nèi)容:
1.培養(yǎng)學(xué)生建立起單機(jī)計(jì)算機(jī)系統(tǒng)(硬件+軟件)的整機(jī)概念,全面理解計(jì)算機(jī)系統(tǒng)的層次結(jié)構(gòu),深入理解操作系統(tǒng)和硬件之間的分工和銜接關(guān)系;
2.理解高級(jí)語言程序與指令集結(jié)構(gòu)(ISA)和操作系統(tǒng)之間的關(guān)系,譬如高級(jí)語言語句與具體指令的對(duì)應(yīng)關(guān)系、變量(常量)在機(jī)器中的表示和存放、嵌套和遞歸等機(jī)制在指令級(jí)的實(shí)現(xiàn)、堆/棧的結(jié)構(gòu)和動(dòng)態(tài)存儲(chǔ)分配機(jī)制、程序中的I/O操作和涉及到的系統(tǒng)調(diào)用過程等等內(nèi)容。
3.理解指令在計(jì)算機(jī)硬件上的執(zhí)行過程,包括算術(shù)邏輯運(yùn)算部件以及運(yùn)算指令執(zhí)行過程、層次化存儲(chǔ)結(jié)構(gòu)(Cache、TLB、RAID等)以及訪存過程、I/O結(jié)構(gòu)(I/O外設(shè)和接口、BUS、網(wǎng)絡(luò)等)以及I/O過程等。
4.理解構(gòu)成計(jì)算機(jī)硬件的基本電路特性和設(shè)計(jì)方法,具體內(nèi)容包括布爾代數(shù)、邏輯門電路、FPGA和HDL以及集成電路的功耗、延時(shí)等概念。
計(jì)算機(jī)系統(tǒng)能力培養(yǎng)包括計(jì)算機(jī)軟硬件方面的內(nèi)容,涉及到的課程有《數(shù)字邏輯》、《計(jì)算機(jī)組成原理》、《微型計(jì)算機(jī)技術(shù)》、《計(jì)算機(jī)體系結(jié)構(gòu)》、《操作系統(tǒng)》和《編譯原理》等。這些課程之間存在著緊密的內(nèi)在聯(lián)系,因此,需要在統(tǒng)一的指導(dǎo)思想和培養(yǎng)目標(biāo)下,全方位系統(tǒng)地構(gòu)建相關(guān)課程的教學(xué)內(nèi)容和實(shí)驗(yàn)教學(xué)方案,統(tǒng)一規(guī)劃教學(xué)內(nèi)容,將計(jì)算機(jī)系統(tǒng)講深講透。
二、《數(shù)字邏輯》課程教改的幾點(diǎn)舉措
1.面向計(jì)算機(jī)系統(tǒng)能力培養(yǎng)的總體目標(biāo),在《數(shù)字邏輯》課程教學(xué)中注意培養(yǎng)學(xué)生的計(jì)算機(jī)整體系統(tǒng)觀,使課程的教學(xué)更適應(yīng)計(jì)算機(jī)專業(yè)的要求。從圖1可以看出,《數(shù)字邏輯》這門課程在系統(tǒng)能力培養(yǎng)過程中處于基礎(chǔ)底層,學(xué)生對(duì)于這部分內(nèi)容的掌握影響后續(xù)課程的學(xué)習(xí)和對(duì)計(jì)算機(jī)系統(tǒng)底層硬件運(yùn)行過程的理解。因此,需要在培養(yǎng)計(jì)算機(jī)系統(tǒng)能力的總體目標(biāo)下,統(tǒng)一規(guī)劃相關(guān)課程的教學(xué)內(nèi)容,循序漸進(jìn)地培養(yǎng)學(xué)生的系統(tǒng)能力。可以采取從底層到高層螺旋式上升的課程體系,也可以采取從高層到底層自頂向下的課程體系,還可以先從高層(應(yīng)用程序與算法)和底層邏輯電路兩頭開始,再到中間核心層的課程體系結(jié)構(gòu)。
2.注意不同課程之間的內(nèi)容銜接,授課內(nèi)容面向后續(xù)課程的教學(xué),同時(shí)注意避免重復(fù)。在《數(shù)字邏輯》課程教學(xué)中,可以選用《計(jì)算機(jī)組成原理》等后續(xù)硬件類課程的內(nèi)容作為電路設(shè)計(jì)案例。通過這樣的案例設(shè)計(jì),不僅鞏固了課程教學(xué)內(nèi)容,而且有利于后續(xù)課程的學(xué)習(xí)。由于《數(shù)字邏輯》與其它硬件系列課程如《微型計(jì)算機(jī)技術(shù)》、《計(jì)算機(jī)組成原理》、《計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)》的內(nèi)容聯(lián)系緊密,相互交叉,因此,需要統(tǒng)一規(guī)劃協(xié)同相關(guān)內(nèi)容,避免重復(fù)。
3.突出課程教學(xué)重點(diǎn),簡(jiǎn)化但不摒棄器件原理等基礎(chǔ)知識(shí)。《數(shù)字邏輯》課程內(nèi)容的重點(diǎn)在于介紹器件應(yīng)用和數(shù)字電路的分析和設(shè)計(jì)方法,由于受到總課時(shí)的限制,對(duì)涉及到器件工作原理和其內(nèi)部電路結(jié)構(gòu)的內(nèi)容需要簡(jiǎn)化。但是需要注意的是,簡(jiǎn)化并不是簡(jiǎn)單地摒棄,對(duì)于課程學(xué)習(xí)中涉及到的基礎(chǔ)知識(shí),必須有所交代和介紹。由于計(jì)算機(jī)專業(yè)大都不開設(shè)《模擬電子技術(shù)》之類的工科基礎(chǔ)課程,因此,學(xué)生對(duì)于分立元件及其內(nèi)部工作原理知之甚少,這并不利于《數(shù)字邏輯》課程的學(xué)習(xí)。所以,在課時(shí)分配上,需要對(duì)二極管、三極管的開關(guān)特性、簡(jiǎn)單門電路的工作原理有所交代。在遴選教材時(shí),可以選擇以中規(guī)模集成電路芯片應(yīng)用為主、適當(dāng)兼顧器件基礎(chǔ)知識(shí)的教材;而那些以分立元件為主、過多強(qiáng)調(diào)內(nèi)部工作原理的教材則不太適用于計(jì)算機(jī)專業(yè)的教學(xué)。
4.充分利用EDA技術(shù),培養(yǎng)學(xué)生利用硬件描述語言設(shè)計(jì)數(shù)字系統(tǒng)的能力,為計(jì)算機(jī)系統(tǒng)能力培養(yǎng)奠定基礎(chǔ)。隨著現(xiàn)代可編程邏輯器件(CPLD/FPGA)和電子設(shè)計(jì)自動(dòng)化(EDA)技術(shù)的飛速發(fā)展,數(shù)字電子系統(tǒng)設(shè)計(jì)與實(shí)驗(yàn)的方式正在發(fā)生變化,越來越多的高校開始將EDA技術(shù)引入到《數(shù)字邏輯》等課程的實(shí)踐教學(xué)環(huán)節(jié)[3],用硬件描述語言等完成數(shù)字系統(tǒng)設(shè)計(jì),然后由計(jì)算機(jī)將設(shè)計(jì)文件進(jìn)行編譯化簡(jiǎn)、綜合、優(yōu)化布局和仿真,最終完成邏輯編譯過程,從而得到和硬件實(shí)驗(yàn)十分接近的最終實(shí)驗(yàn)結(jié)果。基于EDA技術(shù)的實(shí)驗(yàn)簡(jiǎn)化了傳統(tǒng)數(shù)字邏輯設(shè)計(jì)實(shí)驗(yàn)在硬件連接過程中的消耗,節(jié)約了實(shí)驗(yàn)設(shè)備和實(shí)驗(yàn)時(shí)間,提高了學(xué)生的自主動(dòng)手能力。在將EDA技術(shù)引入到《數(shù)字邏輯》課程的實(shí)踐教學(xué)環(huán)節(jié)時(shí),不要孤立、片面地看待問題,而是要以系統(tǒng)的、聯(lián)系的和發(fā)展的觀點(diǎn)進(jìn)行教學(xué),從培養(yǎng)現(xiàn)代計(jì)算機(jī)系統(tǒng)設(shè)計(jì)和應(yīng)用能力的角度出發(fā),全面深入地認(rèn)識(shí)EDA技術(shù)對(duì)于后續(xù)課程學(xué)習(xí)和系統(tǒng)能力培養(yǎng)的重要意義。當(dāng)前國(guó)內(nèi)外許多一流大學(xué)已經(jīng)以EDA設(shè)計(jì)知識(shí)為基礎(chǔ),在FPGA實(shí)驗(yàn)板上設(shè)計(jì)流水線CPU和外圍I/O電路,從而全面培養(yǎng)學(xué)生的數(shù)字系統(tǒng)設(shè)計(jì)和CPU設(shè)計(jì)能力。例如,可以通過《數(shù)字邏輯》、《計(jì)算機(jī)組成原理》、《操作系統(tǒng)》和《編譯原理》等課程的學(xué)習(xí),逐步讓學(xué)生完成一臺(tái)完整計(jì)算機(jī)的設(shè)計(jì),包括在FPGA實(shí)驗(yàn)板上獨(dú)立設(shè)計(jì)CPU,完成基本的MIPS指令(多周期CPU方式),進(jìn)而借助于板上SRAM,在設(shè)計(jì)完成的機(jī)器上實(shí)現(xiàn)操作系統(tǒng)和編譯器。可以看出,《數(shù)字邏輯》課程重在培養(yǎng)學(xué)生使用HDL語言進(jìn)行計(jì)算機(jī)硬件設(shè)計(jì)的能力,在此基礎(chǔ)上可以幫助學(xué)生深入理解操作系統(tǒng)和硬件之間的分工與銜接關(guān)系,為分析理解操作系統(tǒng)功能或開發(fā)操作系統(tǒng)軟件打下堅(jiān)實(shí)基礎(chǔ)。
《數(shù)字邏輯》是一門實(shí)踐性較強(qiáng)的課程,隨著FPGA技術(shù)和EDA技術(shù)的應(yīng)用普及,數(shù)字系統(tǒng)的設(shè)計(jì)具有了極大的靈活性。基于硬件描述語言,在FPGA實(shí)驗(yàn)板可以設(shè)計(jì)驗(yàn)證基本邏輯門電路,進(jìn)而到各種復(fù)雜程度不一的數(shù)字系統(tǒng),直至在FPGA實(shí)驗(yàn)板設(shè)計(jì)驗(yàn)證完整的CPU和外圍I/O電路,實(shí)現(xiàn)計(jì)算機(jī)系統(tǒng)硬件的設(shè)計(jì),在此基礎(chǔ)上可以完成計(jì)算機(jī)指令系統(tǒng)、操作系統(tǒng)和編譯器的設(shè)計(jì),使學(xué)生能夠建立單機(jī)計(jì)算機(jī)系統(tǒng)(硬件+軟件)的整機(jī)概念,全面理解計(jì)算機(jī)系統(tǒng)的層次結(jié)構(gòu),從而培養(yǎng)計(jì)算機(jī)專業(yè)學(xué)生的系統(tǒng)能力。但是對(duì)于計(jì)算機(jī)專業(yè)的學(xué)生而言,初學(xué)《數(shù)字邏輯》這門課程時(shí),缺乏一些前導(dǎo)課程的學(xué)習(xí),需要講授較多的理論知識(shí),對(duì)于硬件描述語言的學(xué)習(xí)和數(shù)字系統(tǒng)的設(shè)計(jì)驗(yàn)證則不可能在有限的實(shí)驗(yàn)教學(xué)時(shí)間內(nèi)完成,因此,可以考慮單獨(dú)設(shè)置一門數(shù)字系統(tǒng)設(shè)計(jì)類型的實(shí)踐課程,作為《數(shù)字邏輯》和《計(jì)算機(jī)組成原理》的實(shí)踐內(nèi)容,在FPGA實(shí)驗(yàn)板上用硬件描述語言實(shí)現(xiàn)從簡(jiǎn)單數(shù)字系統(tǒng)到完整的CPU和外圍I/O電路的設(shè)計(jì)驗(yàn)證,為后續(xù)能力的培養(yǎng)奠定堅(jiān)實(shí)基礎(chǔ)。
參考文獻(xiàn):
[1]袁春風(fēng).計(jì)算機(jī)組成與系統(tǒng)結(jié)構(gòu)[M].北京:清華大學(xué)出版社,2011.
[2][美]M.Morris Mano,Charles R.Kime,著.邏輯與計(jì)算機(jī)設(shè)計(jì)基礎(chǔ)[M].鄺繼順,等,譯.北京:機(jī)械工業(yè)出版社,2012.
[3]劉新元,謝柏青.改革數(shù)字邏輯電路實(shí)驗(yàn)培養(yǎng)創(chuàng)新人才[J].中國(guó)電力教育,2009,(134):156-157.
[4]劉浩斌.數(shù)字電路與邏輯設(shè)計(jì)[M].北京:電子工業(yè)出版社,2007.
[5]羅力凡,常春藤.基于VHDL的FPGA開發(fā)快速入門技巧實(shí)例[M].北京:人民郵電出版社,2009.
作者簡(jiǎn)介:楊新凱(1971-),男,博士,副教授,主要從事計(jì)算機(jī)控制系統(tǒng)、網(wǎng)絡(luò)性能優(yōu)化與信息處理方面的教學(xué)和科研。endprint
摘要:本文從計(jì)算機(jī)系統(tǒng)能力培養(yǎng)的角度出發(fā),分析了《數(shù)字邏輯》這門課程在系統(tǒng)能力培養(yǎng)過程中的作用與地位,討論了這門課程教學(xué)改革的一些具體措施,強(qiáng)調(diào)了利用EDA技術(shù)培養(yǎng)實(shí)踐能力的重要性。
關(guān)鍵詞:數(shù)字邏輯;系統(tǒng)能力;EDA;教學(xué)改革
中圖分類號(hào):G623.1 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1674-9324(2014)06-0148-02
《數(shù)字邏輯》是計(jì)算機(jī)及電子信息類專業(yè)的一門必修專業(yè)課程,是學(xué)習(xí)計(jì)算機(jī)硬件系列課程的基礎(chǔ),同時(shí)是一門實(shí)踐性、技術(shù)性很強(qiáng)的基礎(chǔ)課。隨著現(xiàn)代數(shù)字電子技術(shù)的發(fā)展,《數(shù)字邏輯》這門課程的教學(xué)目標(biāo)和教學(xué)方法也需要不斷地調(diào)整變化。對(duì)于計(jì)算機(jī)專業(yè)的學(xué)生而言,學(xué)習(xí)這門課程的主要目標(biāo)是為后續(xù)計(jì)算機(jī)硬件系列課程的學(xué)習(xí)奠定基礎(chǔ),因此,在具體教學(xué)內(nèi)容方面與電子類專業(yè)的數(shù)字電子技術(shù)類課程應(yīng)該有所區(qū)別。本文從計(jì)算機(jī)專業(yè)學(xué)生系統(tǒng)能力培養(yǎng)的角度來探討《數(shù)字邏輯》課程的內(nèi)容調(diào)整等教學(xué)實(shí)踐中的一些問題和做法。
一、計(jì)算機(jī)系統(tǒng)能力培養(yǎng)的內(nèi)涵與相關(guān)課程體系
計(jì)算機(jī)系統(tǒng)能力指的是對(duì)計(jì)算機(jī)系統(tǒng)進(jìn)行分析、設(shè)計(jì)、調(diào)優(yōu)和檢錯(cuò)的能力[1]。從本科教學(xué)的角度來看,計(jì)算機(jī)系統(tǒng)能力培養(yǎng)需要包括如下內(nèi)容:
1.培養(yǎng)學(xué)生建立起單機(jī)計(jì)算機(jī)系統(tǒng)(硬件+軟件)的整機(jī)概念,全面理解計(jì)算機(jī)系統(tǒng)的層次結(jié)構(gòu),深入理解操作系統(tǒng)和硬件之間的分工和銜接關(guān)系;
2.理解高級(jí)語言程序與指令集結(jié)構(gòu)(ISA)和操作系統(tǒng)之間的關(guān)系,譬如高級(jí)語言語句與具體指令的對(duì)應(yīng)關(guān)系、變量(常量)在機(jī)器中的表示和存放、嵌套和遞歸等機(jī)制在指令級(jí)的實(shí)現(xiàn)、堆/棧的結(jié)構(gòu)和動(dòng)態(tài)存儲(chǔ)分配機(jī)制、程序中的I/O操作和涉及到的系統(tǒng)調(diào)用過程等等內(nèi)容。
3.理解指令在計(jì)算機(jī)硬件上的執(zhí)行過程,包括算術(shù)邏輯運(yùn)算部件以及運(yùn)算指令執(zhí)行過程、層次化存儲(chǔ)結(jié)構(gòu)(Cache、TLB、RAID等)以及訪存過程、I/O結(jié)構(gòu)(I/O外設(shè)和接口、BUS、網(wǎng)絡(luò)等)以及I/O過程等。
4.理解構(gòu)成計(jì)算機(jī)硬件的基本電路特性和設(shè)計(jì)方法,具體內(nèi)容包括布爾代數(shù)、邏輯門電路、FPGA和HDL以及集成電路的功耗、延時(shí)等概念。
計(jì)算機(jī)系統(tǒng)能力培養(yǎng)包括計(jì)算機(jī)軟硬件方面的內(nèi)容,涉及到的課程有《數(shù)字邏輯》、《計(jì)算機(jī)組成原理》、《微型計(jì)算機(jī)技術(shù)》、《計(jì)算機(jī)體系結(jié)構(gòu)》、《操作系統(tǒng)》和《編譯原理》等。這些課程之間存在著緊密的內(nèi)在聯(lián)系,因此,需要在統(tǒng)一的指導(dǎo)思想和培養(yǎng)目標(biāo)下,全方位系統(tǒng)地構(gòu)建相關(guān)課程的教學(xué)內(nèi)容和實(shí)驗(yàn)教學(xué)方案,統(tǒng)一規(guī)劃教學(xué)內(nèi)容,將計(jì)算機(jī)系統(tǒng)講深講透。
二、《數(shù)字邏輯》課程教改的幾點(diǎn)舉措
1.面向計(jì)算機(jī)系統(tǒng)能力培養(yǎng)的總體目標(biāo),在《數(shù)字邏輯》課程教學(xué)中注意培養(yǎng)學(xué)生的計(jì)算機(jī)整體系統(tǒng)觀,使課程的教學(xué)更適應(yīng)計(jì)算機(jī)專業(yè)的要求。從圖1可以看出,《數(shù)字邏輯》這門課程在系統(tǒng)能力培養(yǎng)過程中處于基礎(chǔ)底層,學(xué)生對(duì)于這部分內(nèi)容的掌握影響后續(xù)課程的學(xué)習(xí)和對(duì)計(jì)算機(jī)系統(tǒng)底層硬件運(yùn)行過程的理解。因此,需要在培養(yǎng)計(jì)算機(jī)系統(tǒng)能力的總體目標(biāo)下,統(tǒng)一規(guī)劃相關(guān)課程的教學(xué)內(nèi)容,循序漸進(jìn)地培養(yǎng)學(xué)生的系統(tǒng)能力。可以采取從底層到高層螺旋式上升的課程體系,也可以采取從高層到底層自頂向下的課程體系,還可以先從高層(應(yīng)用程序與算法)和底層邏輯電路兩頭開始,再到中間核心層的課程體系結(jié)構(gòu)。
2.注意不同課程之間的內(nèi)容銜接,授課內(nèi)容面向后續(xù)課程的教學(xué),同時(shí)注意避免重復(fù)。在《數(shù)字邏輯》課程教學(xué)中,可以選用《計(jì)算機(jī)組成原理》等后續(xù)硬件類課程的內(nèi)容作為電路設(shè)計(jì)案例。通過這樣的案例設(shè)計(jì),不僅鞏固了課程教學(xué)內(nèi)容,而且有利于后續(xù)課程的學(xué)習(xí)。由于《數(shù)字邏輯》與其它硬件系列課程如《微型計(jì)算機(jī)技術(shù)》、《計(jì)算機(jī)組成原理》、《計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)》的內(nèi)容聯(lián)系緊密,相互交叉,因此,需要統(tǒng)一規(guī)劃協(xié)同相關(guān)內(nèi)容,避免重復(fù)。
3.突出課程教學(xué)重點(diǎn),簡(jiǎn)化但不摒棄器件原理等基礎(chǔ)知識(shí)。《數(shù)字邏輯》課程內(nèi)容的重點(diǎn)在于介紹器件應(yīng)用和數(shù)字電路的分析和設(shè)計(jì)方法,由于受到總課時(shí)的限制,對(duì)涉及到器件工作原理和其內(nèi)部電路結(jié)構(gòu)的內(nèi)容需要簡(jiǎn)化。但是需要注意的是,簡(jiǎn)化并不是簡(jiǎn)單地摒棄,對(duì)于課程學(xué)習(xí)中涉及到的基礎(chǔ)知識(shí),必須有所交代和介紹。由于計(jì)算機(jī)專業(yè)大都不開設(shè)《模擬電子技術(shù)》之類的工科基礎(chǔ)課程,因此,學(xué)生對(duì)于分立元件及其內(nèi)部工作原理知之甚少,這并不利于《數(shù)字邏輯》課程的學(xué)習(xí)。所以,在課時(shí)分配上,需要對(duì)二極管、三極管的開關(guān)特性、簡(jiǎn)單門電路的工作原理有所交代。在遴選教材時(shí),可以選擇以中規(guī)模集成電路芯片應(yīng)用為主、適當(dāng)兼顧器件基礎(chǔ)知識(shí)的教材;而那些以分立元件為主、過多強(qiáng)調(diào)內(nèi)部工作原理的教材則不太適用于計(jì)算機(jī)專業(yè)的教學(xué)。
4.充分利用EDA技術(shù),培養(yǎng)學(xué)生利用硬件描述語言設(shè)計(jì)數(shù)字系統(tǒng)的能力,為計(jì)算機(jī)系統(tǒng)能力培養(yǎng)奠定基礎(chǔ)。隨著現(xiàn)代可編程邏輯器件(CPLD/FPGA)和電子設(shè)計(jì)自動(dòng)化(EDA)技術(shù)的飛速發(fā)展,數(shù)字電子系統(tǒng)設(shè)計(jì)與實(shí)驗(yàn)的方式正在發(fā)生變化,越來越多的高校開始將EDA技術(shù)引入到《數(shù)字邏輯》等課程的實(shí)踐教學(xué)環(huán)節(jié)[3],用硬件描述語言等完成數(shù)字系統(tǒng)設(shè)計(jì),然后由計(jì)算機(jī)將設(shè)計(jì)文件進(jìn)行編譯化簡(jiǎn)、綜合、優(yōu)化布局和仿真,最終完成邏輯編譯過程,從而得到和硬件實(shí)驗(yàn)十分接近的最終實(shí)驗(yàn)結(jié)果。基于EDA技術(shù)的實(shí)驗(yàn)簡(jiǎn)化了傳統(tǒng)數(shù)字邏輯設(shè)計(jì)實(shí)驗(yàn)在硬件連接過程中的消耗,節(jié)約了實(shí)驗(yàn)設(shè)備和實(shí)驗(yàn)時(shí)間,提高了學(xué)生的自主動(dòng)手能力。在將EDA技術(shù)引入到《數(shù)字邏輯》課程的實(shí)踐教學(xué)環(huán)節(jié)時(shí),不要孤立、片面地看待問題,而是要以系統(tǒng)的、聯(lián)系的和發(fā)展的觀點(diǎn)進(jìn)行教學(xué),從培養(yǎng)現(xiàn)代計(jì)算機(jī)系統(tǒng)設(shè)計(jì)和應(yīng)用能力的角度出發(fā),全面深入地認(rèn)識(shí)EDA技術(shù)對(duì)于后續(xù)課程學(xué)習(xí)和系統(tǒng)能力培養(yǎng)的重要意義。當(dāng)前國(guó)內(nèi)外許多一流大學(xué)已經(jīng)以EDA設(shè)計(jì)知識(shí)為基礎(chǔ),在FPGA實(shí)驗(yàn)板上設(shè)計(jì)流水線CPU和外圍I/O電路,從而全面培養(yǎng)學(xué)生的數(shù)字系統(tǒng)設(shè)計(jì)和CPU設(shè)計(jì)能力。例如,可以通過《數(shù)字邏輯》、《計(jì)算機(jī)組成原理》、《操作系統(tǒng)》和《編譯原理》等課程的學(xué)習(xí),逐步讓學(xué)生完成一臺(tái)完整計(jì)算機(jī)的設(shè)計(jì),包括在FPGA實(shí)驗(yàn)板上獨(dú)立設(shè)計(jì)CPU,完成基本的MIPS指令(多周期CPU方式),進(jìn)而借助于板上SRAM,在設(shè)計(jì)完成的機(jī)器上實(shí)現(xiàn)操作系統(tǒng)和編譯器。可以看出,《數(shù)字邏輯》課程重在培養(yǎng)學(xué)生使用HDL語言進(jìn)行計(jì)算機(jī)硬件設(shè)計(jì)的能力,在此基礎(chǔ)上可以幫助學(xué)生深入理解操作系統(tǒng)和硬件之間的分工與銜接關(guān)系,為分析理解操作系統(tǒng)功能或開發(fā)操作系統(tǒng)軟件打下堅(jiān)實(shí)基礎(chǔ)。
《數(shù)字邏輯》是一門實(shí)踐性較強(qiáng)的課程,隨著FPGA技術(shù)和EDA技術(shù)的應(yīng)用普及,數(shù)字系統(tǒng)的設(shè)計(jì)具有了極大的靈活性。基于硬件描述語言,在FPGA實(shí)驗(yàn)板可以設(shè)計(jì)驗(yàn)證基本邏輯門電路,進(jìn)而到各種復(fù)雜程度不一的數(shù)字系統(tǒng),直至在FPGA實(shí)驗(yàn)板設(shè)計(jì)驗(yàn)證完整的CPU和外圍I/O電路,實(shí)現(xiàn)計(jì)算機(jī)系統(tǒng)硬件的設(shè)計(jì),在此基礎(chǔ)上可以完成計(jì)算機(jī)指令系統(tǒng)、操作系統(tǒng)和編譯器的設(shè)計(jì),使學(xué)生能夠建立單機(jī)計(jì)算機(jī)系統(tǒng)(硬件+軟件)的整機(jī)概念,全面理解計(jì)算機(jī)系統(tǒng)的層次結(jié)構(gòu),從而培養(yǎng)計(jì)算機(jī)專業(yè)學(xué)生的系統(tǒng)能力。但是對(duì)于計(jì)算機(jī)專業(yè)的學(xué)生而言,初學(xué)《數(shù)字邏輯》這門課程時(shí),缺乏一些前導(dǎo)課程的學(xué)習(xí),需要講授較多的理論知識(shí),對(duì)于硬件描述語言的學(xué)習(xí)和數(shù)字系統(tǒng)的設(shè)計(jì)驗(yàn)證則不可能在有限的實(shí)驗(yàn)教學(xué)時(shí)間內(nèi)完成,因此,可以考慮單獨(dú)設(shè)置一門數(shù)字系統(tǒng)設(shè)計(jì)類型的實(shí)踐課程,作為《數(shù)字邏輯》和《計(jì)算機(jī)組成原理》的實(shí)踐內(nèi)容,在FPGA實(shí)驗(yàn)板上用硬件描述語言實(shí)現(xiàn)從簡(jiǎn)單數(shù)字系統(tǒng)到完整的CPU和外圍I/O電路的設(shè)計(jì)驗(yàn)證,為后續(xù)能力的培養(yǎng)奠定堅(jiān)實(shí)基礎(chǔ)。
參考文獻(xiàn):
[1]袁春風(fēng).計(jì)算機(jī)組成與系統(tǒng)結(jié)構(gòu)[M].北京:清華大學(xué)出版社,2011.
[2][美]M.Morris Mano,Charles R.Kime,著.邏輯與計(jì)算機(jī)設(shè)計(jì)基礎(chǔ)[M].鄺繼順,等,譯.北京:機(jī)械工業(yè)出版社,2012.
[3]劉新元,謝柏青.改革數(shù)字邏輯電路實(shí)驗(yàn)培養(yǎng)創(chuàng)新人才[J].中國(guó)電力教育,2009,(134):156-157.
[4]劉浩斌.數(shù)字電路與邏輯設(shè)計(jì)[M].北京:電子工業(yè)出版社,2007.
[5]羅力凡,常春藤.基于VHDL的FPGA開發(fā)快速入門技巧實(shí)例[M].北京:人民郵電出版社,2009.
作者簡(jiǎn)介:楊新凱(1971-),男,博士,副教授,主要從事計(jì)算機(jī)控制系統(tǒng)、網(wǎng)絡(luò)性能優(yōu)化與信息處理方面的教學(xué)和科研。endprint
摘要:本文從計(jì)算機(jī)系統(tǒng)能力培養(yǎng)的角度出發(fā),分析了《數(shù)字邏輯》這門課程在系統(tǒng)能力培養(yǎng)過程中的作用與地位,討論了這門課程教學(xué)改革的一些具體措施,強(qiáng)調(diào)了利用EDA技術(shù)培養(yǎng)實(shí)踐能力的重要性。
關(guān)鍵詞:數(shù)字邏輯;系統(tǒng)能力;EDA;教學(xué)改革
中圖分類號(hào):G623.1 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1674-9324(2014)06-0148-02
《數(shù)字邏輯》是計(jì)算機(jī)及電子信息類專業(yè)的一門必修專業(yè)課程,是學(xué)習(xí)計(jì)算機(jī)硬件系列課程的基礎(chǔ),同時(shí)是一門實(shí)踐性、技術(shù)性很強(qiáng)的基礎(chǔ)課。隨著現(xiàn)代數(shù)字電子技術(shù)的發(fā)展,《數(shù)字邏輯》這門課程的教學(xué)目標(biāo)和教學(xué)方法也需要不斷地調(diào)整變化。對(duì)于計(jì)算機(jī)專業(yè)的學(xué)生而言,學(xué)習(xí)這門課程的主要目標(biāo)是為后續(xù)計(jì)算機(jī)硬件系列課程的學(xué)習(xí)奠定基礎(chǔ),因此,在具體教學(xué)內(nèi)容方面與電子類專業(yè)的數(shù)字電子技術(shù)類課程應(yīng)該有所區(qū)別。本文從計(jì)算機(jī)專業(yè)學(xué)生系統(tǒng)能力培養(yǎng)的角度來探討《數(shù)字邏輯》課程的內(nèi)容調(diào)整等教學(xué)實(shí)踐中的一些問題和做法。
一、計(jì)算機(jī)系統(tǒng)能力培養(yǎng)的內(nèi)涵與相關(guān)課程體系
計(jì)算機(jī)系統(tǒng)能力指的是對(duì)計(jì)算機(jī)系統(tǒng)進(jìn)行分析、設(shè)計(jì)、調(diào)優(yōu)和檢錯(cuò)的能力[1]。從本科教學(xué)的角度來看,計(jì)算機(jī)系統(tǒng)能力培養(yǎng)需要包括如下內(nèi)容:
1.培養(yǎng)學(xué)生建立起單機(jī)計(jì)算機(jī)系統(tǒng)(硬件+軟件)的整機(jī)概念,全面理解計(jì)算機(jī)系統(tǒng)的層次結(jié)構(gòu),深入理解操作系統(tǒng)和硬件之間的分工和銜接關(guān)系;
2.理解高級(jí)語言程序與指令集結(jié)構(gòu)(ISA)和操作系統(tǒng)之間的關(guān)系,譬如高級(jí)語言語句與具體指令的對(duì)應(yīng)關(guān)系、變量(常量)在機(jī)器中的表示和存放、嵌套和遞歸等機(jī)制在指令級(jí)的實(shí)現(xiàn)、堆/棧的結(jié)構(gòu)和動(dòng)態(tài)存儲(chǔ)分配機(jī)制、程序中的I/O操作和涉及到的系統(tǒng)調(diào)用過程等等內(nèi)容。
3.理解指令在計(jì)算機(jī)硬件上的執(zhí)行過程,包括算術(shù)邏輯運(yùn)算部件以及運(yùn)算指令執(zhí)行過程、層次化存儲(chǔ)結(jié)構(gòu)(Cache、TLB、RAID等)以及訪存過程、I/O結(jié)構(gòu)(I/O外設(shè)和接口、BUS、網(wǎng)絡(luò)等)以及I/O過程等。
4.理解構(gòu)成計(jì)算機(jī)硬件的基本電路特性和設(shè)計(jì)方法,具體內(nèi)容包括布爾代數(shù)、邏輯門電路、FPGA和HDL以及集成電路的功耗、延時(shí)等概念。
計(jì)算機(jī)系統(tǒng)能力培養(yǎng)包括計(jì)算機(jī)軟硬件方面的內(nèi)容,涉及到的課程有《數(shù)字邏輯》、《計(jì)算機(jī)組成原理》、《微型計(jì)算機(jī)技術(shù)》、《計(jì)算機(jī)體系結(jié)構(gòu)》、《操作系統(tǒng)》和《編譯原理》等。這些課程之間存在著緊密的內(nèi)在聯(lián)系,因此,需要在統(tǒng)一的指導(dǎo)思想和培養(yǎng)目標(biāo)下,全方位系統(tǒng)地構(gòu)建相關(guān)課程的教學(xué)內(nèi)容和實(shí)驗(yàn)教學(xué)方案,統(tǒng)一規(guī)劃教學(xué)內(nèi)容,將計(jì)算機(jī)系統(tǒng)講深講透。
二、《數(shù)字邏輯》課程教改的幾點(diǎn)舉措
1.面向計(jì)算機(jī)系統(tǒng)能力培養(yǎng)的總體目標(biāo),在《數(shù)字邏輯》課程教學(xué)中注意培養(yǎng)學(xué)生的計(jì)算機(jī)整體系統(tǒng)觀,使課程的教學(xué)更適應(yīng)計(jì)算機(jī)專業(yè)的要求。從圖1可以看出,《數(shù)字邏輯》這門課程在系統(tǒng)能力培養(yǎng)過程中處于基礎(chǔ)底層,學(xué)生對(duì)于這部分內(nèi)容的掌握影響后續(xù)課程的學(xué)習(xí)和對(duì)計(jì)算機(jī)系統(tǒng)底層硬件運(yùn)行過程的理解。因此,需要在培養(yǎng)計(jì)算機(jī)系統(tǒng)能力的總體目標(biāo)下,統(tǒng)一規(guī)劃相關(guān)課程的教學(xué)內(nèi)容,循序漸進(jìn)地培養(yǎng)學(xué)生的系統(tǒng)能力。可以采取從底層到高層螺旋式上升的課程體系,也可以采取從高層到底層自頂向下的課程體系,還可以先從高層(應(yīng)用程序與算法)和底層邏輯電路兩頭開始,再到中間核心層的課程體系結(jié)構(gòu)。
2.注意不同課程之間的內(nèi)容銜接,授課內(nèi)容面向后續(xù)課程的教學(xué),同時(shí)注意避免重復(fù)。在《數(shù)字邏輯》課程教學(xué)中,可以選用《計(jì)算機(jī)組成原理》等后續(xù)硬件類課程的內(nèi)容作為電路設(shè)計(jì)案例。通過這樣的案例設(shè)計(jì),不僅鞏固了課程教學(xué)內(nèi)容,而且有利于后續(xù)課程的學(xué)習(xí)。由于《數(shù)字邏輯》與其它硬件系列課程如《微型計(jì)算機(jī)技術(shù)》、《計(jì)算機(jī)組成原理》、《計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)》的內(nèi)容聯(lián)系緊密,相互交叉,因此,需要統(tǒng)一規(guī)劃協(xié)同相關(guān)內(nèi)容,避免重復(fù)。
3.突出課程教學(xué)重點(diǎn),簡(jiǎn)化但不摒棄器件原理等基礎(chǔ)知識(shí)。《數(shù)字邏輯》課程內(nèi)容的重點(diǎn)在于介紹器件應(yīng)用和數(shù)字電路的分析和設(shè)計(jì)方法,由于受到總課時(shí)的限制,對(duì)涉及到器件工作原理和其內(nèi)部電路結(jié)構(gòu)的內(nèi)容需要簡(jiǎn)化。但是需要注意的是,簡(jiǎn)化并不是簡(jiǎn)單地摒棄,對(duì)于課程學(xué)習(xí)中涉及到的基礎(chǔ)知識(shí),必須有所交代和介紹。由于計(jì)算機(jī)專業(yè)大都不開設(shè)《模擬電子技術(shù)》之類的工科基礎(chǔ)課程,因此,學(xué)生對(duì)于分立元件及其內(nèi)部工作原理知之甚少,這并不利于《數(shù)字邏輯》課程的學(xué)習(xí)。所以,在課時(shí)分配上,需要對(duì)二極管、三極管的開關(guān)特性、簡(jiǎn)單門電路的工作原理有所交代。在遴選教材時(shí),可以選擇以中規(guī)模集成電路芯片應(yīng)用為主、適當(dāng)兼顧器件基礎(chǔ)知識(shí)的教材;而那些以分立元件為主、過多強(qiáng)調(diào)內(nèi)部工作原理的教材則不太適用于計(jì)算機(jī)專業(yè)的教學(xué)。
4.充分利用EDA技術(shù),培養(yǎng)學(xué)生利用硬件描述語言設(shè)計(jì)數(shù)字系統(tǒng)的能力,為計(jì)算機(jī)系統(tǒng)能力培養(yǎng)奠定基礎(chǔ)。隨著現(xiàn)代可編程邏輯器件(CPLD/FPGA)和電子設(shè)計(jì)自動(dòng)化(EDA)技術(shù)的飛速發(fā)展,數(shù)字電子系統(tǒng)設(shè)計(jì)與實(shí)驗(yàn)的方式正在發(fā)生變化,越來越多的高校開始將EDA技術(shù)引入到《數(shù)字邏輯》等課程的實(shí)踐教學(xué)環(huán)節(jié)[3],用硬件描述語言等完成數(shù)字系統(tǒng)設(shè)計(jì),然后由計(jì)算機(jī)將設(shè)計(jì)文件進(jìn)行編譯化簡(jiǎn)、綜合、優(yōu)化布局和仿真,最終完成邏輯編譯過程,從而得到和硬件實(shí)驗(yàn)十分接近的最終實(shí)驗(yàn)結(jié)果。基于EDA技術(shù)的實(shí)驗(yàn)簡(jiǎn)化了傳統(tǒng)數(shù)字邏輯設(shè)計(jì)實(shí)驗(yàn)在硬件連接過程中的消耗,節(jié)約了實(shí)驗(yàn)設(shè)備和實(shí)驗(yàn)時(shí)間,提高了學(xué)生的自主動(dòng)手能力。在將EDA技術(shù)引入到《數(shù)字邏輯》課程的實(shí)踐教學(xué)環(huán)節(jié)時(shí),不要孤立、片面地看待問題,而是要以系統(tǒng)的、聯(lián)系的和發(fā)展的觀點(diǎn)進(jìn)行教學(xué),從培養(yǎng)現(xiàn)代計(jì)算機(jī)系統(tǒng)設(shè)計(jì)和應(yīng)用能力的角度出發(fā),全面深入地認(rèn)識(shí)EDA技術(shù)對(duì)于后續(xù)課程學(xué)習(xí)和系統(tǒng)能力培養(yǎng)的重要意義。當(dāng)前國(guó)內(nèi)外許多一流大學(xué)已經(jīng)以EDA設(shè)計(jì)知識(shí)為基礎(chǔ),在FPGA實(shí)驗(yàn)板上設(shè)計(jì)流水線CPU和外圍I/O電路,從而全面培養(yǎng)學(xué)生的數(shù)字系統(tǒng)設(shè)計(jì)和CPU設(shè)計(jì)能力。例如,可以通過《數(shù)字邏輯》、《計(jì)算機(jī)組成原理》、《操作系統(tǒng)》和《編譯原理》等課程的學(xué)習(xí),逐步讓學(xué)生完成一臺(tái)完整計(jì)算機(jī)的設(shè)計(jì),包括在FPGA實(shí)驗(yàn)板上獨(dú)立設(shè)計(jì)CPU,完成基本的MIPS指令(多周期CPU方式),進(jìn)而借助于板上SRAM,在設(shè)計(jì)完成的機(jī)器上實(shí)現(xiàn)操作系統(tǒng)和編譯器。可以看出,《數(shù)字邏輯》課程重在培養(yǎng)學(xué)生使用HDL語言進(jìn)行計(jì)算機(jī)硬件設(shè)計(jì)的能力,在此基礎(chǔ)上可以幫助學(xué)生深入理解操作系統(tǒng)和硬件之間的分工與銜接關(guān)系,為分析理解操作系統(tǒng)功能或開發(fā)操作系統(tǒng)軟件打下堅(jiān)實(shí)基礎(chǔ)。
《數(shù)字邏輯》是一門實(shí)踐性較強(qiáng)的課程,隨著FPGA技術(shù)和EDA技術(shù)的應(yīng)用普及,數(shù)字系統(tǒng)的設(shè)計(jì)具有了極大的靈活性。基于硬件描述語言,在FPGA實(shí)驗(yàn)板可以設(shè)計(jì)驗(yàn)證基本邏輯門電路,進(jìn)而到各種復(fù)雜程度不一的數(shù)字系統(tǒng),直至在FPGA實(shí)驗(yàn)板設(shè)計(jì)驗(yàn)證完整的CPU和外圍I/O電路,實(shí)現(xiàn)計(jì)算機(jī)系統(tǒng)硬件的設(shè)計(jì),在此基礎(chǔ)上可以完成計(jì)算機(jī)指令系統(tǒng)、操作系統(tǒng)和編譯器的設(shè)計(jì),使學(xué)生能夠建立單機(jī)計(jì)算機(jī)系統(tǒng)(硬件+軟件)的整機(jī)概念,全面理解計(jì)算機(jī)系統(tǒng)的層次結(jié)構(gòu),從而培養(yǎng)計(jì)算機(jī)專業(yè)學(xué)生的系統(tǒng)能力。但是對(duì)于計(jì)算機(jī)專業(yè)的學(xué)生而言,初學(xué)《數(shù)字邏輯》這門課程時(shí),缺乏一些前導(dǎo)課程的學(xué)習(xí),需要講授較多的理論知識(shí),對(duì)于硬件描述語言的學(xué)習(xí)和數(shù)字系統(tǒng)的設(shè)計(jì)驗(yàn)證則不可能在有限的實(shí)驗(yàn)教學(xué)時(shí)間內(nèi)完成,因此,可以考慮單獨(dú)設(shè)置一門數(shù)字系統(tǒng)設(shè)計(jì)類型的實(shí)踐課程,作為《數(shù)字邏輯》和《計(jì)算機(jī)組成原理》的實(shí)踐內(nèi)容,在FPGA實(shí)驗(yàn)板上用硬件描述語言實(shí)現(xiàn)從簡(jiǎn)單數(shù)字系統(tǒng)到完整的CPU和外圍I/O電路的設(shè)計(jì)驗(yàn)證,為后續(xù)能力的培養(yǎng)奠定堅(jiān)實(shí)基礎(chǔ)。
參考文獻(xiàn):
[1]袁春風(fēng).計(jì)算機(jī)組成與系統(tǒng)結(jié)構(gòu)[M].北京:清華大學(xué)出版社,2011.
[2][美]M.Morris Mano,Charles R.Kime,著.邏輯與計(jì)算機(jī)設(shè)計(jì)基礎(chǔ)[M].鄺繼順,等,譯.北京:機(jī)械工業(yè)出版社,2012.
[3]劉新元,謝柏青.改革數(shù)字邏輯電路實(shí)驗(yàn)培養(yǎng)創(chuàng)新人才[J].中國(guó)電力教育,2009,(134):156-157.
[4]劉浩斌.數(shù)字電路與邏輯設(shè)計(jì)[M].北京:電子工業(yè)出版社,2007.
[5]羅力凡,常春藤.基于VHDL的FPGA開發(fā)快速入門技巧實(shí)例[M].北京:人民郵電出版社,2009.
作者簡(jiǎn)介:楊新凱(1971-),男,博士,副教授,主要從事計(jì)算機(jī)控制系統(tǒng)、網(wǎng)絡(luò)性能優(yōu)化與信息處理方面的教學(xué)和科研。endprint