陳 燕 王德成
(安徽新華學院信息工程學院,安徽 合肥 230088)
計算機組成原理是計算機類專業(yè)本科生必修的專業(yè)基礎課程。 不管是國家統(tǒng)招還是自主命題, 計算機組成原理都是計算機類專業(yè)碩士研究生入學考試的必選課程之一。 隨著“計算機系統(tǒng)能力培養(yǎng)”的提出,計算機考研題型也在逐年更新, 但由于師資力量、 學生基礎以及實驗條件的限制, 不同的學校在制定教學大綱時會有所不同, 而且在教材的選擇、 教學和實驗內容、 教學方法等方面都會存在差異, 這些都將直接影響到學生的考研成績。 因此, 如何將考研知識點融入到平時的教學和實驗內容當中, 實現(xiàn)一種教學效果和考研成績并重的雙贏模式, 是計算機組成原理教學中必須考慮的問題。
統(tǒng)招以來,考查目標共有三條,分別從硬件整機角度、軟件指令角度、計算和設計角度出發(fā),說明計算機組成原理科目應該掌握的內容。 以2018 年為例,考查目標如下:
(1) 理解單處理器計算機系統(tǒng)中各部件的內部工作原理、 組成結構以及相互連接方式, 具有完整的計算機系統(tǒng)的整機概念。
(2)理解計算機系統(tǒng)層次化結構概念,熟悉硬件與軟件之間的界面, 掌握指令集體系結構的基本知識和基本實現(xiàn)方法。
(3)能夠綜合運用計算機組成的基本原理和基本方法,對有關計算機硬件系統(tǒng)中的理論和實際問題進行計算、分析,對一些基本部件進行簡單設計;并能對高級程序設計語言(如C 語言)中的相關問題進行分析。
這些考查目標和大多數學校的計算機組成原理課程學習目標是一致的, 都符合從具體到抽象的認知規(guī)律。 第一條目標是將一臺計算機裸機解剖研究后,再還原成一個整體;第二條目標開始為裸機設計能“出席”各種場合的 “衣服”, 并結合解剖得到的知識, 學習這些“衣服”的基本設計和實現(xiàn)方法;最后一條目標是要求學生從學徒成長為一個師傅,并學習掌握作為一個評判者的基本技能,如分析、計算、評估和高層設計。
考試大綱是對特定考試科目的總體要求和說明,內容比較寬泛。 而歷年的考試真題更能真實的反映各知識點的分布和側重。 針對歷年來真題分析, 本課程考試知點主要包括:數據表示、存儲系統(tǒng)、指令系統(tǒng)、CPU 和輸入輸出系統(tǒng);所占分值較少的是總線部分,一個選擇題占2 分; 概述一般不單獨命題, 但是有些題中會用到這一部分的知識。在408 綜合題目中,計算機組成原理主要是在第43 和44 題, 也有些知識點是跟操作系統(tǒng)的交叉, 比如虛擬存儲器的存儲管理知識點。 表1 給出2009-2017 年計算機組成原理綜合題目考察知識點。
表1 計算機組成原理綜合題目知識點總結
了解了考研知識點的分布情況,結合學生基礎,將這些知識點有重點、 分層次地融合到日常理論和實驗教學中, 具體方式包括教學引入、 教學內容參照考研大綱、習題分析考研真題、實驗結合考研重點等。
為激發(fā)學生興趣, 讓學生感受到本課程內容及與高級語言的關系, 第一次課我們從分析一段高級語言程序開始,例如:
該程序在輸入的n=3、n=24 和n=31 運行結果截圖如下圖1:
圖1 運行結果截圖
為什么會出現(xiàn)這種結果? 高級語言的程序編輯后如何存放? 如何運行? 內部運算如何實現(xiàn)? 帶著這些問題我們將進入本學期課程的學習。
我校計算機組成原理教學大綱制定的學習目標和研究生大綱中的考查目標是一致的, 具體知識點分布卻有些差異。 結合我?!皯眯捅究啤币约啊跋到y(tǒng)能力培養(yǎng)”的要求,再結合考研需要,2010 年以來,我們對教學內容不斷進行優(yōu)化, 把重點放在數據表示、 存儲系統(tǒng)、指令系統(tǒng)、CPU、以及I/O 系統(tǒng)上,以2017 級計算機科學與技術專業(yè)的教學大綱為例, 我們制定的教學內容如下表2 所示:
表2 本校教學內容
從歷年真題分析我們可以總結出,數據表示、存儲系統(tǒng)、指令系統(tǒng)和CPU 是組成原理的重要考點,除了概念外,很容易出綜合題。 這幾部分內容也是計算機組成原理的重點, 課堂教學中經常用一些例題和習題來復習和鞏固所學知識。 這些教學實例一般都針對特定知識點設計,相對比較單一,缺少變化,學生在學習掌握這些例題時,自己思考和提升的余地很少。 而考研真題是具有多變性和綜合性,如果能將這些考研真題有針對性地引入課堂,作為教學實例,必然能激發(fā)學生的思考和學習興趣。 例如2017 年的43 題“C 程序表示如下……”就可以作為數據表示和數據運算那章的綜合應用題目。 通常情況下,考研真題一般涵蓋同一章中很多知識點, 直接照搬不太適合用作課堂教學的例子。 例如,2012 年關于輸入輸出系統(tǒng)的第44 題 “某16 位計算機中……”, 這道題涉及到數據表示、數據移位、指令流水線等。 這樣的真題很適合作為綜合性的課后作業(yè),鍛煉同學們的綜合運用知識的能力。 在作業(yè)分析講解時,教師結合學生的作業(yè)情況,分析這些習題所涉及到的知識點與目前學生的掌握情況, 幫助學生認識不足,逐漸建立一種系統(tǒng)和整體的解決問題能力。
實驗是讓同學們更好的掌握課程內容, 結合考研常考知識點和我校實驗室條件、 學生基礎情況, 我們采取“基本部件—CPU 設計—綜合設計”這種從基本到綜合逐步展開的思路。 具體實驗內容包括寄存器和總線實驗(利用Protues 仿真軟件完成)、運算器的實驗、存儲器的實驗、 單周期CPU 設計以及指令集的擴展(后面三個利用實驗箱完成)。 對于多周期的CPU 以及流水CPU 有能力的同學期末選做去完成。
計算機組成原理作為專業(yè)基礎課,是“計算機系統(tǒng)能力培養(yǎng)”主要課程之一,也是碩士研究生入學考試的重要課程之一,為保證同學們課程學習目標和考研需求,經過幾年的探索,我們有重點、分步驟地將考研知識點融合到課程日常教學和實驗中, 提升了計算機組成原理課程教學的效果,得到了學生的良好評價。 實現(xiàn)了計算機組成原理的日常教學與研究生入學考試兼顧的教學模式。