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