摘要:本文針對一般本科院校計算機專業學生“偏軟”的現狀以及學生對計算機組成原理課程認識上存在的不足,從計算機工作的本質、計算機軟硬件聯系、計算機組成對實踐的直接指導等方面闡述了學習計算機組成原理的必要性和重要性,并對計算機組成原理的教學模式、教學方法進行了探討。
關鍵詞:計算機組成原理;教學改革;指令
計算機組成原理是高等學校計算機科學與技術專業及相關專業的必修的核心專業基礎課程,同時也是軟件工程、網絡工程、物聯網、信息與計算科學、信息系統與信息管理等專業的必修課,也是非計算機專業的學生掌握計算機技術的一門專業選修課程,自2009年起成為計算機專業研究生全國統考科目[1]。對于我國大多數本科院校的計算機科學與技術專業而言,由于資金投入、實驗平臺和實驗手段的限制,不可能大規模進行與計算機組成相關的硬件平臺建設,致使該專業的學生普遍存在“偏軟”的現象,也導致學生對“計算機組成原理”認識較為膚淺,對計算機組成原理能轉變為實際能力存在疑惑,無法為“嵌入式系統”等后續課程提供有力的支持。久而久之,造成這樣的現象:學生學習計算機組成原理僅僅是因為學分和考研需要,無法將該課程的本質和作用融入到整個計算機專業知識的體系中。另外,計算機組成原理課程本身的基本概念較多,理論性強,比較抽象,對于相近專業的學生沒有先修課程基礎,如模擬電路、數字電路等,若采用通常的教學方法一般很難讓學生真正體會其基本概念的內涵,也很難取得滿意的教學效果。
針對這種現狀,應從計算機組成原理的深層次認識著手,對該課程的理論教學模式、教學手段以及實驗教學方法等方面進行了探討和嘗試,對如何在一般本科院校計算機專業進行硬件課程的教學提出了一些建議。
1對計算機組成原理的再認識
1.1計算機工作的實質
計算機運行并不僅僅依靠便于人機交互的軟件界面,而是與計算機硬件配置、計算機底層的指令系統密切相關的。在表面上,人們看待計算機的工作似乎就是軟件的開發、調試和運行。實際上,在計算機底層,是成千上萬條指令的運行過程、是構成計算機的物理器件與部件之間的高速數據通信、電信號的控制與通斷來實現的。正是由于有了“信息流——數據流——電信號流”這樣的一個轉化過程,計算機才能真正按照人們的旨意去執行。
1.2計算機組成與軟件系統的緊密聯系
計算機軟件和計算機組成硬件是密不可分的,說二者之間為“唇齒相依”也不為過。由于現代程序開發環境的便利性和開發手段的多樣性,人們對計算機本身的組成并不關心。高級語言中的一行代碼,在計算機底層可能就需要成百上千條計算機指令來實現,而且會牽動多個器件協同運轉,存在高級語言代碼形式上執行的相對簡單與底層指令運行的實際復雜性現象。因此,在學習計算機組成原理后,會讓人“知其然,更知其所以然”,同時也對計算機軟件的計算復雜性有了更深一步的認識。
作者簡介:朱凌云,男,副教授,研究方向為嵌入式計算機系統、智能信息處理、無線數據通信及應用。主講課程:計算機組成原理、程序設計基礎、數據通信原理。
1.3組成原理對實踐的直接指導作用
通過學習計算機組成原理,除了可以掌握必要的硬件知識,還可以轉化為實際運用能力。如在進行系統級設計時,能夠根據需求對計算機的處理器、存儲系統、外圍設施、總線通信等進行合理的設計配置;在進行片級設計時可以充分利用哈弗架構,并充分利用各種流水線技術優化指令運行;在板級設計工程中,可以根據需求選擇不同的存儲器芯片和器件來實現存儲器的拓展和擴充等等。因此,計算機組成原理可以直接將理論知識付諸于實際應用。只是由于實驗條件、環境的限制,一般院校的大多數學生很難有機會得到實踐鍛煉。
1.4組成原理與哲學思維
計算機組成原理的教學目標之一就是要求學生建立整機的觀念。例如,在評價計算機性能指標時,不能僅僅依據處理器的主頻而定,還得根據處理器與存儲器的通信方式、存儲器本身的構成等等來確定。實際上是用系統的、相互聯系的觀念來看待問題。另外,計算機的部件和器件的更新速度較快,在課程講述過程中,既要講經典的組成,還要講述新近的計算機構架,用發展的觀點看待計算機組成。所以,在計算機的教學工程中,始終貫穿著哲學思維,這對于學生樹立正確的世界觀非常重要。
2構建以“指令”為主線的教學體系與知識體系
在計算機組成原理的教學體系中,數的表示與計算方法、存儲器、總線、I/O、指令、CPU等各個章節知識相對獨立,學生對上述知識的掌握也是孤立的、片面的,無法建立起各章節的知識紐帶,最終也無法建立整機的觀念。筆者認為,應該在本課程的一開始就讓學生樹立這樣的觀念:計算機組成原理是在機器指令層面介紹計算機的運行機制及其構成的。在此層面,計算機將程序與數據封裝成為指令,CPU的主要功能是存取指令、執行指令,存儲器為最大的指令倉庫。為此,需要在數據表示與計算方法的基礎上設計計算機的指令系統。此外,I/O系統則是外設與主機進行交互的指令窗口,也是主機指令運行的拓展;總線是指令的傳輸載體等等。通過上述的分析,則可將計算機組成原理的各個章節有機整合,也容易使學生建立“整機”的理念。
計算機在指令的基礎上,向上延伸則是操作系統、軟件開發系統、應用軟件系統;指令向下則可進一步細分為微指令、微操作,而在微操作層面,計算機是用具體電路電流的有無、電壓的高低這種電信號來實現二進制的。通過這種以“指令”為核心的闡述,使學生建立“程序——指令——電路”計算機構成觀念,引導學生將組成原理與程序設計、操作系統、編譯原理、體系結構、嵌入式系統、算法設計與分析等課程聯系起來,從而構建完整的計算機知識體系。
3構建以多媒體教學為主的教學模式
由于計算機組成原理與以前學生比較熟悉的程序設計類及其相關課程的上課內容差別較大,因此需要探討學生比較容易接受的課程教學模式,以便將計算機組成的基本概念和各部件的工作原理闡述清楚。為此可充分利用多媒體教學手段,發揮其生動、形象、直觀的優勢,將計算機的內部組成和工作原理進行形象表述。在此基礎上可以設計與開發計算機系統工作的仿真與動畫軟件。通過該軟件,學生可以形象、直觀的看到計算機各個組件、部件是如何組成的;在指令運行時,計算機各部件之間的數據通路以及如何統一、協調運行的,將學生不易理解的復雜、抽象的問題簡單化、形象化[2]。
4采用靈活多樣的教學方法
4.1啟發式教學
啟發式教學是指教師有意識地提出一些需求、現象或問題,引導學生主動去思考、探索與討論,讓學生真正成為教學過程中的主體[3]。例如,在講解計算機的存儲體系時,可以先拋出問題:CPU、內存與眾多外存在數據通信率方面差異較大,計算機在實現這些部件通信時,如何彌補部件與器件之間巨大的速率差?可以讓學生思考如何構建計算機的存儲系統,解決各個部件與器件對快速、大容量的“矛盾”存儲的需求。這就可以引出計算機的兩大存儲層次和Cache概念,使得學生明白在存儲體系中,外設、主機的存儲方式是有區別的。在此基礎上,還可以讓學生進行拓展思考,外設與主機之間要實現數據傳輸可以采用哪些可靠的方式?從而可以引發學生思考中斷、DMA等數據傳輸方式。進一步強調,計算機為實現這種層次,在實現上采用的多級總線與接口電路等方式,從而將各個章節的知識也有機地聯系在一起。
4.2類比教學
類比教學是指在授課過程中將一些概念、策略和思想等與現實生活中的生動事例進行關聯、類比,從而將學生可能認為抽象的概念、理論形象化、生動化,使其掌握知識更牢靠。例如,在講述總線時,可將各個器件比作不同規模的城市,各個城市的重要性與地理位置不一致,其期間的連接方式不一致:特大型城市之間的連接一般采用高速公路——與存儲總線和高速總線類別相聯系,中小規模城市之間的公路連接可通過不同級別的省道、縣道來實現——與分級的高速總線與標準總線相聯系等。這種可作使學生加深相關問題的印象,更容易理解和牢固掌握教學內容、抓住關鍵思想。
4.3理論聯系實際
計算機組成原理的硬件知識使得學生對計算機
的認識比以往更進一步,計算機組成原理的教學過程中要理論聯系實際,將理論知識與實際應用融合,使學生能在實際應用中找到課堂知識的影子,面對具體的硬件也能在理論中找到出處,能讓學生掌握知識更牢固,進一步引導學生用課堂上掌握的基礎知識來理解新知識、新技術。比如,講述完Cache后,可以讓學生做調查:目前流行的CPU有幾級緩存,每級緩存多大?為什么這樣配置?這樣使得學生對于緩存的認識更加深刻、牢固。講解完總線和接口的基本概念和工作原理后,需要向學生介紹目前市場上的主流硬盤——SATA硬盤;在講完存儲器的工作原理機器擴展后,需講述目前市場上流行的DDR3內存,讓學生自行比較技術特點,從而理解各種器件和部件的技術發展動向,提高學生對書本知識的理解能力、掌握其實用性。
5結語
針對計算機組成原理教學現狀,從課程本身的認識、教學模式、教學方法、方面進行了探討和嘗試,但要從根本上解決計算機組成原理教學普遍面臨的問題,可能還需對培養體系和培養目標進行一定的探索,并加大實驗條件和實驗手段的投入。
參考文獻:
[1]