国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

計算機組成原理課程實踐教學(xué)探索

2011-12-31 00:00:00袁春風(fēng)張澤生蔡曉燕楊若瑜王帥
計算機教育 2011年17期


  文章編號:1672-5913(2011)17-0110-05 中圖分類號:G642 文獻標識碼:A
  摘 要:文章首先介紹國外相關(guān)課程的實踐教學(xué)情況;在分析對比國內(nèi)計算機組成原理課程實踐教學(xué)情況的基礎(chǔ)上,提出相應(yīng)的實踐教學(xué)改革思路,規(guī)劃出一整套實踐教學(xué)方案。南京大學(xué)在相關(guān)課程的實踐教學(xué)方面對這些改革方案進行了探索,實踐結(jié)果表明,這種改革方案是有效的。
  關(guān)鍵詞:計算機組成原理;實踐教學(xué);教學(xué)改革;課程實驗
  作者簡介:袁春風(fēng),女,教授,研究方向為Web信息檢索與本文挖掘、多媒體文檔處理、計算機體系結(jié)構(gòu);張澤生,男,高工,研究方向為計算機體系結(jié)構(gòu)、嵌入式系統(tǒng);蔡曉燕,女,工程師,研究方向為微電子技術(shù)、嵌入式系統(tǒng);楊若瑜,女,副教授,研究方向為圖形圖像處理;王帥,男,講師,研究方向為計算機體系結(jié)構(gòu)、嵌入式系統(tǒng)。
  1 計算機組成原理實踐教學(xué)改革的必要性
  計算機組成原理是計算機專業(yè)最重要的核心基礎(chǔ)課之一,在整個計算機專業(yè)教學(xué)中起著重要的承上啟下的作用。該課程對于學(xué)生完整地理解計算機系統(tǒng)的層次結(jié)構(gòu),系統(tǒng)地建立計算機整機概念,培養(yǎng)學(xué)生對計算機系統(tǒng)的分析、應(yīng)用、設(shè)計及開發(fā)能力,都具有非常重要的作用。
  從國內(nèi)高校計算機組成原理課程的教學(xué)情況來看,大部分高校都把它當成一門純硬件課程進行介紹,最多加入一些匯編程序設(shè)計方面的內(nèi)容。對于課程的實驗內(nèi)容,大多數(shù)高校還是停留在驗證性實驗階段,這樣的教學(xué)理念和實驗內(nèi)容,沒有讓學(xué)生參與和經(jīng)歷從高級語言程序到機器代碼、從機器代碼到機器結(jié)構(gòu)的轉(zhuǎn)換過程,也沒有讓學(xué)生針對一個給定的指令系統(tǒng),分析設(shè)計出實現(xiàn)該指令系統(tǒng)的計算機基本部件和
  
  完整框架結(jié)構(gòu),因而,很難使學(xué)生能夠真正了解計算機系統(tǒng)的工作原理和硬件系統(tǒng)結(jié)構(gòu),實驗手段和教學(xué)內(nèi)容與現(xiàn)代計算機技術(shù)的發(fā)展水平和實際情況脫節(jié),與國外一流大學(xué)相比有很大差距,因此,迫切需要進行教學(xué)內(nèi)容和教學(xué)模式的改革探索,特別是實踐環(huán)節(jié)的教學(xué)改革。
  2 國外一流大學(xué)相關(guān)課程及其實驗情況
  為了更好地規(guī)劃相關(guān)課程的課程體系和教學(xué)內(nèi)容,改革現(xiàn)有的實踐教學(xué)模式和教學(xué)內(nèi)容,我們對美國幾所一流大學(xué)計算機專業(yè)相關(guān)課程的實驗情況進行了跟蹤調(diào)查。表1給出了對MIT、UC-Berkeley、Stanford大學(xué)、CMU這四所大學(xué)相關(guān)課程的實驗情況總結(jié)。這些信息源自這些大學(xué)相關(guān)課程的最新課程網(wǎng)站[1-7]。
  
  表1 美國部分大學(xué)計算機專業(yè)相關(guān)課程實驗教學(xué)基本情況
  
  從表1可以看出,這些學(xué)校開設(shè)的相關(guān)課程都只要求選課學(xué)生具有C語言或同類編程語言的程序設(shè)計基礎(chǔ),能熟練使用計算機即可。MIT的相關(guān)課程更偏重于硬件底層,UC-Berkeley的次之,而Stanford和CMU的類似,主要從程序員角度介紹計算機系統(tǒng),更偏向于系統(tǒng)軟件層面。
  MIT的相關(guān)課程“Computation Structures” 同時面向EE和CS兩個專業(yè)開設(shè);其實驗教學(xué)模式是通過各類模擬器實現(xiàn)從門電路特性、匯編、處理器到I/O等偏硬件層面上的分析和設(shè)計實驗。
  UC-Berkeley的相關(guān)課程從2011年開始有比較大的改變,原先的課程名稱為“Machine Structure”,現(xiàn)在改為“Great Ideas in Computer Architecture”;所用教材除了原先使用的一本關(guān)于C語言和一本關(guān)于計算機組成與設(shè)計方面的以外,還將一本關(guān)于數(shù)據(jù)中心計算機系統(tǒng)的教材增加為課后閱讀材料;涉及的實驗項目也有非常大的改變,原先的14個實驗主要分五類:C語言編程實驗、匯編程序設(shè)計實驗、流水線CPU等硬件邏輯電路設(shè)計實驗、Cache和虛存的模擬實驗、多核多線程編程實驗,改進后的課程實驗增加了云計算平臺上的數(shù)據(jù)級并行編程(MapReduce)和多線程編程(OpenMP)實驗等,讓學(xué)生通過實驗體驗不同粒度下的并行處理技術(shù)。
  Stanford大學(xué)和CMU的相關(guān)課程所用教材一樣,實驗內(nèi)容也差不多,通過一組精心設(shè)計的C語言編程實驗,使學(xué)生能夠更好地了解高級語言程序轉(zhuǎn)換為機器代碼的過程,深刻理解底層機器的系統(tǒng)結(jié)構(gòu)(包括指令格式、數(shù)據(jù)表示、寄存器組織、Cache結(jié)構(gòu)、虛存空間的映射等),提高編制高效程序和調(diào)試程序的能力,并為后續(xù)的體系結(jié)構(gòu)、編譯技術(shù)、操作系統(tǒng)等課程打下良好的基礎(chǔ)。
  通過對MIT、UC-Berkeley、Stanford大學(xué)和CMU等多個美國一流大學(xué)在相關(guān)課程方面教學(xué)情況的跟蹤,我們發(fā)現(xiàn),除MIT由于CS和EE一起開課而使課程內(nèi)容較偏底層硬件外,其他三所學(xué)校相關(guān)課程的教學(xué)內(nèi)容和實驗內(nèi)容基本類似,其教學(xué)理念和教學(xué)思路也非常相似,基本上都是按照“C語言程序→匯編語言程序→機器目標代碼→處理器結(jié)構(gòu)”為主線組織內(nèi)容,都是站在計算機系統(tǒng)的高度來闡述計算機硬件系統(tǒng)的結(jié)構(gòu)和設(shè)計思想,以程序員的角度來認識計算機系統(tǒng),強調(diào)軟件與硬件的關(guān)聯(lián),使學(xué)生能很好地在高級語言程序、匯編語言程序、機器指令代碼和機器結(jié)構(gòu)之間建立相互的對應(yīng)轉(zhuǎn)換關(guān)系,以建立對計算機系統(tǒng)的整體認識。特別是這些大學(xué)相關(guān)課程的實驗內(nèi)容都和課堂教學(xué)內(nèi)容完全一致,課堂所學(xué)內(nèi)容就是學(xué)生需要動手實踐的內(nèi)容,在考核中實驗和大作業(yè)占有50%~60%的分值,由此可見,國外一流大學(xué)對本課程的實踐教學(xué)環(huán)節(jié)是非常重視的。
  通過對上述幾個大學(xué)相關(guān)課程的跟蹤調(diào)查,我們還發(fā)現(xiàn),雖然它們的相應(yīng)后繼課程名稱不同,但課程的實驗內(nèi)容類似,都要求用硬件描述語言在FPGA上進行流水線處理器設(shè)計等實驗,而且基本上以RISC處理器的典型四段或五段流水線CPU設(shè)計為目標。這方面的實驗,對EE和CE的學(xué)生是必須做的,而對于CS的學(xué)生,有些學(xué)校則沒有要求必須做。
  3 實踐教學(xué)存在的問題
  目前,國內(nèi)已經(jīng)有一些高校的計算機組成原理或同類課程通過借鑒國外一流大學(xué)的先進做法,在教學(xué)內(nèi)容和教學(xué)模式等方面正在進行改革,取得了較好的教學(xué)效果。但是,絕大多數(shù)高?;旧线€是沿用傳統(tǒng)的教學(xué)理念,教學(xué)內(nèi)容還停留在對計算機硬件系統(tǒng)的基本構(gòu)成和基本設(shè)計原理性介紹方面,既不像國外EE或CE專業(yè)開設(shè)的類似“數(shù)字系統(tǒng)設(shè)計”那樣的硬件設(shè)計課程,能夠讓學(xué)生真正了解如何用硬件描述語言通過FPGA來設(shè)計現(xiàn)代計算機硬件系統(tǒng);也不像UC-Berkeley的CS專業(yè)開設(shè)的“Machine Structure”那樣介于軟、硬件之間的課程,能夠讓學(xué)生深刻理解程序如何轉(zhuǎn)換為機器代碼并在硬件上執(zhí)行的過程;更不像Stanford大學(xué)和CMU的CS專業(yè)開設(shè)的COS和ICS兩門課程那樣,能夠讓學(xué)生從程序員角度理解計算機系統(tǒng)底層的關(guān)于硬件結(jié)構(gòu)和系統(tǒng)軟件的重要概念及其相互關(guān)聯(lián)。因此,目前大多數(shù)高校的“計算機組成原理”課程的教學(xué),既沒能達到培養(yǎng)學(xué)生利用現(xiàn)代化工具進行實際硬件設(shè)計的能力,也沒有讓學(xué)生學(xué)會運用機器底層硬件和系統(tǒng)結(jié)構(gòu)知識來開發(fā)高效軟件和調(diào)試程序,更沒有通過該課程讓學(xué)生建立起計算機軟、硬件系統(tǒng)的整體概念。特別在實踐教學(xué)方面,與國外同類課程相比更是相差甚遠。
  與國外一流大學(xué)相比,國內(nèi)高校的計算機組成原理實踐教學(xué)普遍存在以下幾個方面的問題。
  1) 各專業(yè)的實驗要求沒有區(qū)分。
  國內(nèi)絕大多數(shù)高校都會把計算機組成原理課程作為計算機所有相關(guān)專業(yè)的必修課,但實際上對于不同專業(yè),其教學(xué)目標和實驗要求是不同的。國內(nèi)本科計算機相關(guān)專業(yè)設(shè)置名目繁多,不同的學(xué)校相差很大,有的學(xué)校只有計算機科學(xué)與技術(shù)一個專業(yè),有的學(xué)校還有軟件工程、計算機工程專業(yè),還有一些學(xué)校甚至還有信息安全、信息工程、計算機應(yīng)用、物聯(lián)網(wǎng)等專業(yè)。很明顯,不同專業(yè)的培養(yǎng)目標是不同的,因而,對于計算機組成原理的實驗要求也是不同的。目前,國內(nèi)該課程的實驗大部分是功能部件的驗證性實驗和微程序設(shè)計實驗,有些學(xué)校會有匯編程序設(shè)計實驗,也有學(xué)校不做實驗,還有少數(shù)學(xué)校采用EDA方式進行CPU設(shè)計等實驗。但是,絕大多數(shù)學(xué)校選擇實驗內(nèi)容和實驗方式時,并沒有考慮到不同專業(yè)的不同要求。
  
  2) 和課堂教學(xué)內(nèi)容不能很好配合。
  由于傳統(tǒng)的計算機組成原理實驗系統(tǒng)和實驗設(shè)備是由公司或其他單位開發(fā)的,無法自主確定實驗?zāi)J胶蛯嶒瀮?nèi)容,因而,很容易造成實驗內(nèi)容和課堂教學(xué)內(nèi)容不能很好配合的問題,造成實驗效率低下,并且不能很好地起到鞏固課堂教學(xué)的目的。
  3) 實驗內(nèi)容缺乏系統(tǒng)性和先進性。
  傳統(tǒng)的驗證性實驗通常是在部件級進行驗證實驗,通過插拔連線、撥動開關(guān)、編制微程序等方式與實驗系統(tǒng)進行交互,因而無法構(gòu)建一個完整的計算機硬件系統(tǒng)的綜合設(shè)計實驗。此外,絕大多數(shù)高校在該課程教學(xué)中沒有軟件編程實驗和Cache、虛存等相關(guān)模擬實驗。
  4) 實驗平臺和實驗手段落后。
  沒有采用現(xiàn)代化的EDA工具軟件和CPLD/ FPGA實驗平臺,更沒有像國外大學(xué)那樣,利用各種模擬器、云計算平臺、仿真系統(tǒng),以及各種編程開發(fā)工具來進行實驗,導(dǎo)致學(xué)生缺乏利用先進工具和平臺進行學(xué)術(shù)研究和項目開發(fā)的能力。
  5) 實驗過程管理和考核機制不完善。
  國內(nèi)實驗系列教師普遍缺乏,而助教制度又極其不完善,不像美國大學(xué)那樣,每門課可以配備7、8個,甚至十幾個領(lǐng)助研費的助教,因而在實驗過程管理上很不完善,特別是實驗的檢查、考核和反饋等很難做到像美國大學(xué)那樣到位,這也大大影響實驗教學(xué)的效果。
  4 實踐教學(xué)改革和成效
  針對目前計算機組成原理實踐教學(xué)存在的問題,我們在對美國一流大學(xué)相關(guān)課程實驗情況的考察研究基礎(chǔ)上,提出了相應(yīng)的改革思路和實踐教學(xué)方案,并在近年來的教學(xué)過程中,逐步進行了探索實踐。
  目前,我系開設(shè)的相關(guān)課程是計算機組成與系統(tǒng)結(jié)構(gòu)和專門的計算機組成實驗課程,與國內(nèi)大多數(shù)高校開設(shè)的計算機組成原理相比,我們強化了流水線CPU設(shè)計方面的內(nèi)容。其先行課程除了C和C++程序設(shè)計課程以外,還有數(shù)字邏輯電路及其專門的實驗課程,學(xué)生會在這兩門課程中學(xué)會EDA設(shè)計的基本方法,并具有簡單數(shù)字系統(tǒng)設(shè)計的基本能力。而計算機組成原理方面的實驗實際上包含了國外類似于數(shù)字系統(tǒng)設(shè)計課程中的一些實驗。
  根據(jù)本課程內(nèi)容抽象、概念枯燥,以及實踐性強的特點,我們采用了編程實驗、硬件設(shè)計實驗和創(chuàng)新實驗三階段遞進式的創(chuàng)新型實驗教學(xué)方案。為了保證對實驗過程的嚴格管理和加強對學(xué)生的指導(dǎo),我系每年專門招收7~10名碩士研究生組成實驗輔導(dǎo)小組,在每年暑假由實驗指導(dǎo)小組的老師先對他們進行培訓(xùn),然后他們再在實驗過程中輔導(dǎo)學(xué)生,并對實驗結(jié)果進行檢查。
  編程實驗是在進行理論課教學(xué)的同時要求學(xué)生完成的一組實驗。通過編程實驗使學(xué)生能從程序員角度深刻理解教學(xué)內(nèi)容中比較抽象的一些概念和知識,例如,機器代碼的表示、高級語言源程序與機器代碼的對應(yīng)關(guān)系、數(shù)據(jù)的表示和運算、訪存異常(存儲保護錯)、運算結(jié)果溢出、大端/小端方式、對齊存放、Cache結(jié)構(gòu)和程序訪問局部性的關(guān)系、虛存地址空間的構(gòu)成、靜態(tài)數(shù)據(jù)區(qū)和堆區(qū)/棧區(qū)的區(qū)別、系統(tǒng)性能評測方法等,使得課程內(nèi)容對學(xué)生來說不再是抽象、枯燥的概念,而是能夠通過對程序的調(diào)試跟蹤,以及對程序運行結(jié)果的分析,將這些抽象的概念變成容易理解的看得見的具體數(shù)據(jù)。這樣,不僅有助于學(xué)生對教學(xué)內(nèi)容的深刻理解,而且培養(yǎng)了學(xué)生學(xué)習(xí)本課程的興趣,增強了學(xué)生的編程動手能力,特別是將底層機器級概念運用到編程設(shè)計和調(diào)試中,這對于提高學(xué)生編寫正確、高效的程序和增強程序調(diào)試能力,是非常有幫助的。同時,也讓他們了解到將來即使不從事計算機硬件設(shè)計工作,本課程學(xué)到的知識和培養(yǎng)的專業(yè)意識在今后的軟件開發(fā)或計算機科學(xué)研究工作中也是非常有用的。
  硬件設(shè)計實驗是在理論課程結(jié)束后的一個學(xué)期專門開設(shè)的計算機組成實驗課。要求學(xué)生用硬件描述語言在FPGA板上進行硬件設(shè)計,并最終實現(xiàn)一個實際的流水線CPU。由于在課堂教學(xué)內(nèi)容中加大了對CPU設(shè)計、特別是流水線CPU設(shè)計的力度,使學(xué)生打下了很好的理論和技術(shù)基礎(chǔ)。將實驗內(nèi)容與課堂教學(xué)完全結(jié)合起來后,改變了原先課堂教學(xué)和實驗教學(xué)內(nèi)容脫節(jié)的現(xiàn)象,因此,除了實驗教材外,課堂教學(xué)的教材本身也成為了實驗教材的延伸。為了加強對學(xué)生的計算機系統(tǒng)尤其是CPU設(shè)計能力的培養(yǎng),我們提出并進行了“以流水線CPU設(shè)計為核心”的高起點創(chuàng)新性實驗教學(xué)改革,采用“基于硬件描述語言和FPGA,以功能部件設(shè)計為先導(dǎo),單周期CPU和多周期CPU設(shè)計為過渡,最終實現(xiàn)流水線CPU”的實驗教學(xué)方法。學(xué)生通過親自體驗從設(shè)計、實現(xiàn)到驗證的整個過程,大大加深了他們對課程內(nèi)容的理解,不僅掌握了CPU設(shè)計的理論知識,也深刻理解了整個計算機系統(tǒng)的設(shè)計思想和方法,并使所學(xué)知識轉(zhuǎn)化成了運用知識的能力,同時還培養(yǎng)了部分學(xué)生對計算機硬件設(shè)計的興趣和信心。
  創(chuàng)新實驗課是在相關(guān)課程結(jié)束后對少數(shù)對計算機底層軟/硬件設(shè)計特別有興趣的學(xué)生開設(shè)的開放性實踐教學(xué)活動。我們意識到,國家迫切需要一批能掌握先進的CPU和系統(tǒng)軟件等計算機核心技術(shù)的尖端人才,這是高校計算機人才培養(yǎng)的重要任務(wù)之一。基于本課程在計算機系統(tǒng)中的重要核心地位和在計算機人才培養(yǎng)中應(yīng)起的作用,我們提供了相關(guān)的創(chuàng)新實驗室,為這些學(xué)生提供全方位的實驗支持。學(xué)生可以自主選擇創(chuàng)新項目,實驗室提供相應(yīng)的實驗平臺和條件,并配備指導(dǎo)教師或研究生助教進行全程指導(dǎo)。目前已經(jīng)有4、5個創(chuàng)新團隊完成了相應(yīng)的創(chuàng)新實驗項目,其中包含了江蘇省級重點和南京大學(xué)重點創(chuàng)新項目,還有一個團隊設(shè)計實現(xiàn)了一個與MIPS32 2.62兼容的82條指令的五級流水線CPU。參加創(chuàng)新實驗項目的絕大多數(shù)成員都被保送進了中科院、北大等國內(nèi)一流大學(xué)和科研院所,也有一些同學(xué)得到了美國著名大學(xué)的青睞,選擇出國繼續(xù)深造。
  5 結(jié)語
  計算機組成原理課程的地位和特點決定了在該課程教學(xué)過程中加強實踐環(huán)節(jié)的重要性。國外一流大學(xué)都非常注重該課程的實驗教學(xué),實驗內(nèi)容和手段不斷更新,而且特別注重對實驗過程的管理和對實驗成績評定的公平性。近年來,國內(nèi)一些大學(xué)也開始對該課程的實驗手段和實驗內(nèi)容進行改革,取得了一定的
  
  成效。但是,大部分高校還在采用傳統(tǒng)的實驗?zāi)J脚c國外一流大學(xué)相比差距較大。
  我系在本課程的實踐教學(xué)方面進行了一些有益的探索,實踐證明,采用新的實驗內(nèi)容和實驗手段,對于學(xué)生全面掌握課程內(nèi)容、培養(yǎng)分析問題和解決問題的能力、增強實踐動手能力、提高科技創(chuàng)新意識等各方面都是非常有用的。由于我們實驗改革時間不長,只是處于探索階段,因此,實驗內(nèi)容和實驗?zāi)J竭€很不完善,特別是編程實驗內(nèi)容,還有很多典型問題可以設(shè)計讓學(xué)生進行編程體驗,實驗管理中也還存在很多問題需要解決,包括如何合理評定實驗成績,如何防止抄襲等。此外,如何規(guī)劃銜接好上下游課程之間的實驗內(nèi)容也是今后需要重點考慮的問題。
  
  參考文獻:
  [1] MIT. Computation Structures [EB/OL]. [Spring 2011]. http://6004.csail.mit.edu/.
  [2] UC Berkeley. Machine Structures[EB/OL]. [Spring 2011]. http://inst.eecs.berkeley.edu/~cs61c/sp11/.
  [3] UC Berkeley. Components and Design Techniques for Digital System[EB/OL]. [Spring 2011]. http://inst.eecs.berkeley. edu/~cs150/sp11/.
  
  [4] Stanford University. Computer Organization and Systems[EB/OL]. [Spring 2011]. http://www.stanford.edu/class/ cs107/.
  [5] Stanford University. Digital Systems II[EB/OL]. [Winter 2010]. http://www.stanford.edu/class/ee108b/.
  [6] CMU. Introduction to Computer Systems[EB/OL]. [Summer 2011]. http:// www.cs.cmu.edu/~213/.
  [7] CMU. Introduction to Computer Architecture[EB/OL]. [Spring 2011]. http://www.ece.cmu.edu/~ece447/.
  Teaching Reform of the Principle of Computer Organization Lab Course
  YUAN Chunf

临颍县| 板桥市| 闽侯县| 扶沟县| 汤原县| 永和县| 雅江县| 葫芦岛市| 富宁县| 慈利县| 运城市| 会昌县| 格尔木市| 长治县| 芜湖市| 马尔康县| 莫力| 华阴市| 乌恰县| 北辰区| 湖州市| 三明市| 江山市| 三江| 临沧市| 巴塘县| 枝江市| 侯马市| 罗平县| 衡东县| 舞钢市| 格尔木市| 普格县| 抚顺市| 湖南省| 甘谷县| 灌云县| 崇州市| 天全县| 龙州县| 尼玛县|