前言
計算機系統結構歷來為高校計算機科學與技術專業必修的主干專業基礎課程。計算機的發展歷史說明,計算機性能的不斷提高必須依靠器件的變革和系統結構的改進。今天,在器件潛力幾乎達到極限的情況下,計算機系統結構的改進尤為重要。該門課程主要反映現代計算機在系統結構上的新思想、新技術,如流水線處理、向量處理、并行處理、多處理器結構等,要求學生從分析和評測的角度把握計算機系統的設計。這對培養學生掌握和應用現代計算機系統來處理復雜計算問題具有重要意義,也為學生今后從事計算機系統軟、硬件開發打下良好的基礎。
國家教育部在《高等教育面向21 世紀教學內容和課程體系改革計劃》中明確指出,要“面向21世紀社會、經濟、科技、文化的發展,改革我國高等教育中與其不相適應的教學內容和課程體系”,該計劃把“基礎課程、核心課程的教學內容體系及教材和教學手段、教學方法的創新”列為改革的主要內容。因此,在現代計算機技術日新月異、計算機應用迅猛擴展深入的今天,在高校教育逐步由精英教育向大眾化教育轉移的今天,在國家經濟發展大量地、普遍地需要工程應用型計算機人才的今天,必須重新審視這門課程的現狀和特點,按照新型人才的培養目標和定位,構建新的計算機系統結構課程體系,從而提高該課程的教學質量。
計算機系統結構課程具有下述特點:
1.綜合性強。計算機系統結構一般安排為計算機專業高年級課程,它需要用到幾乎所有的計算機專業基礎知識和相關的前繼專業課程知識,主要需要計算機組成原理、匯編語言程序設計、高級語言程序設計、數據結構、操作系統、編譯原理等課程的知識。教學中要求學生對各課程的知識融會貫通,教學的難度較大。
2.理論性強。由于課程內容抽象繁雜、概念多,如果教學處理不好,那么容易讓學生感到學習乏味,明顯增加了教學難度。
3.本課程教材內容多是針對大中型計算機系統描述的,常以一般學生接觸不到的機型作為系統結構舉例,而結合PC應用實際、結合現代PC系統結構技術的發展的內容幾乎沒有,嚴重脫離學生的實際情況。
4.缺乏實驗環境,學生無法獲得對計算機系統結構性能改進的直觀認識。如果真正要求學生對其理論與技術有直觀的接觸,則需要深入到現代大中型計算機內部進行實踐,這對我國絕大多數高校來說是不可能做到的。因此,長期以來,我國高校在開設這門重要課程時,僅僅停留在理論講授上,相應的實踐教學尚是空白,學生面對枯燥理論,學習興趣大減,這對提高教學質量帶來極大障礙。
針對這門課程的特點和原有的不足,我們從以下三方面對教材進行了重新規劃與調整。
1.修改教學要求,明確教學目的。我們根據全國大多數高校的定位,把對現代計算機系統結構的分析和評測作為構建的主要目標。很難想象,一個生活、工作在計算機廣泛應用的信息化時代的計算機高級技術人員,如果對計算機系統結構知之甚少,又怎么能夠用好計算機呢?因此,在認識和了解一般計算機系統結構新技術的基礎上,加強對計算機系統結構的學習是完全必要的。
2.在總的教學目標的要求下,大刀闊斧地對教學內容進行重組,構建符合教學目標、既有理論又有實踐的新的課程體系。我們積極開展本課程教學內容改革,注意吸收國內外同類教材的教學思路,結合我國當代社會發展對計算機人才知識結構的要求,在教學內容上進行壓縮和擴充,精簡了有關大中型計算機的過多介紹,增加和突出PC上常用的新的系統結構,突出基本知識,注意和前繼課程的內容貫通,形成具有一定特色的教學內容和教學大綱。
理論上,既講清一般原理,又緊密結合個人計算機系統結構。例如,結合80x86指令系統,闡述從CISC到RISC的發展;在介紹各項新技術時,盡量列舉PC上應用相關技術的實例,并專辟一章介紹PC的系統結構,重點是當前主流PC的微結構及其發展。應該說,結合系統結構的原理,可以比較全面地介紹與學生密切相關的PC的系統結構。
如何在常規的條件下利用普通的PC,讓學生直接用到有關計算機系統結構的新思想和新技術,得到實踐學習的機會,從而大大提高學生對現代計算機系統的認識,大大提高這門重要課程的教學效果,值得我們花大氣力進行研究。為此,我們引進了DLX虛擬處理器實驗。DLX處理器是1995年美國斯坦福大學的John L. Hennessy和加利福尼亞大學伯克利分校的David A.Patterson在其Computer Architecture:A Quantitative Approach一書中首次提出的一個虛擬的32 位處理器。該處理器不僅體現了當今多種機器(如AMD 29K、DEC station 3100、HP 850、IBM 801、Intel i860、MIPS M/120A、MIPS M/1000、Motorola 88K、RISC I、SGI 4D/60、SPARCstation-1、Sun-4/110、Sun-4/260 等)系統結構的共同特點,還將體現未來一些機器的設計思想。特別是DLX虛擬處理器提供了一個基于PC的研究平臺,使讀者可以在PC上模擬新的處理器技術。
3.我們在全面了解DLX虛擬處理器的結構和工作原理的基礎上,探討利用DLX虛擬處理器進行處理器指令系統的設計、流水線的設計與實現、并行處理的設計與實現等帶有新一代處理器思想和技術的實踐教學體系,總結出有典型教學意義的注重設計性和綜合性訓練的實驗。例如,讓學生通過實驗,采用旁路技術消除數據相關,采用增加運算單元的方法消除控制相關,采用優化程序的方法來提高流水線的性能等,這是一項難度較大的、具有開創意義的教學研究工作。
全書共分9 章,第1章“計算機系統結構的基礎”概述了計算機系統結構的概念,分析了相關原理、評價標準及系統結構的發展,為后續章節打下基礎。第2章“計算機指令系統”從數據表示講到指令系統的設計和優化,為讀者學習流水線技術做好準備。第3章“存儲系統”敘述存儲系統的結構和性能提高方法,并介紹了現代RAID和SAN新技術。第4章“輸入/輸出系統”簡要介紹了現代輸入/輸出系統,包括總線、通道和外圍處理機。第5章“流水線技術與向量處理技術”從流水線基礎(包括RISC技術、先行控制技術等)開始,講述流水線原理和性能分析,進而介紹向量處理機。第6章“并行處理機”強調并行處理概念,介紹了SIMD計算機、陣列計算機、相聯計算機,以及現代超標量流水線、超級流水線和超長指令字處理機,并對實現并行計算所必不可少的的互聯網絡原理也進行了描述。第7章“PC的系統結構”如前所述,集中地介紹了PC的發展、系統結構和相關的主板芯片組知識。第8章“多處理器系統”對多處理器系統的基本結構、多處理器線程級并行處理技術和并行程序設計等進行了介紹,并以介紹我國自主研制的曙光5000 超級計算機作為結束。第9 章 “DLX虛擬處理器及其實驗”是本書的實踐基礎,它將幫助讀者綜合地了解和運用有關處理器指令系統的設計、流水線的設計與實現等方面的知識,有助于對本書前面章節所述內容的理解。各章之后都有大量的習題供讀者練習。
在章節編排上,本書注意中心知識的貫通。第1章是全書的概要,其中提出的計算機系統結構分析原理和評價原則貫穿全書。第2章~第5章主要圍繞流水線技術展開,并逐步突出并行性結構思想,此后則以并行技術為主線敘述各章,并擴展到PC和現代集群系統。對與前繼課程如計算機組成原理可能重疊的內容,注意從系統結構這一新的角度去闡述,而對學生已經熟悉的知識則給予提示或簡要描述。本書的講解深入淺出、突出重點,并精選了一些實例。
在撰寫本書的過程中,參考了大量書籍和網絡上的信息,本人對這些信息的作者致以誠摯的謝意。同時本書的編著出版得到了電子工業出版社、廣西工學院的大力支持,謹致謝忱。
作者深感計算機技術的發展神速,雖然盡力反映最新的系統結構技術,但限于作者水平,確實很難全面反映其進展。遺漏之處和不當之處敬請讀者批評指正。
蔡啟先
2008年11月
- Hands-On Graph Analytics with Neo4j
- Unreal Engine:Game Development from A to Z
- 輕松學PHP
- 群體智能與數據挖掘
- 運動控制器與交流伺服系統的調試和應用
- 從零開始學C++
- FPGA/CPLD應用技術(Verilog語言版)
- Extending Ansible
- Excel 2010函數與公式速查手冊
- ESP8266 Robotics Projects
- 學練一本通:51單片機應用技術
- 與人共融機器人的關節力矩測量技術
- Mastering Microsoft Dynamics 365 Customer Engagement
- Hadoop大數據開發基礎
- Deep Learning with PyTorch Quick Start Guide