本書是“十二五”普通高等教育本科國家級規(guī)劃教材。本書曾是電子部“九五”規(guī)劃教材和教育部“十一五”國家級規(guī)劃教材。目前版本將傳統(tǒng)教學(xué)計劃中的兩門主干課程《計算機(jī)組成原理》與《匯編語言程序設(shè)計》有機(jī)地組織成一門課程,其目的是圍繞機(jī)器指令級(指令系統(tǒng)層)及與此緊密相關(guān)的微操作級(微體系結(jié)構(gòu)層)和匯編語言級(層),更好地體現(xiàn)軟硬結(jié)合的思想,將計算機(jī)內(nèi)部工作機(jī)制與編程求解問題結(jié)合起來。書中將輸入/輸出(I/O)系統(tǒng)作為《計算機(jī)組成原理》與《匯編語言程序設(shè)計》的結(jié)合點,既包含硬件接口設(shè)計,又包含I/O驅(qū)動程序等軟件設(shè)計,體現(xiàn)了兩部分的緊密關(guān)聯(lián)和目前匯編語言程序設(shè)計的主要應(yīng)用場合。本次修編時,對各章內(nèi)容進(jìn)行了修訂,以便更好地與現(xiàn)代計算機(jī)技術(shù)相吻合,但仍在基本結(jié)構(gòu)、主要內(nèi)容和風(fēng)格上保持了原書的特點。
本書主要涵蓋了ACM/IEEE-CS中的“AR計算機(jī)組織與體系結(jié)構(gòu)”這一知識體中的5個核心知識單元:
AR2數(shù)據(jù)的機(jī)器級表示
AR3匯編機(jī)器組織
AR4存儲系統(tǒng)組織和結(jié)構(gòu)
AR6功能組織
本書還涉及匯編語言層的PF程序設(shè)計基礎(chǔ)知識領(lǐng)域中的一個核心知識單元——PF1程序設(shè)計基本結(jié)構(gòu)。因此,本書適用于“計算機(jī)學(xué)科教學(xué)計劃”推薦的16門核心課程中的《計算機(jī)組成基礎(chǔ)》課程。
多年來,我們跟蹤分析了國外經(jīng)典教材與國內(nèi)優(yōu)秀教材,這些教材一般可分為兩種體系:“分層體系”和“功能部件組成體系”。本書的框架體系采用這兩種體系相結(jié)合的方案,從三個層次(微體系結(jié)構(gòu)層、指令系統(tǒng)層和匯編語言層)和三大子系統(tǒng)(CPU、存儲系統(tǒng)、輸入/輸出系統(tǒng)及其互連)出發(fā)建立整機(jī)概念。本書第2篇按照微體系結(jié)構(gòu)層、指令系統(tǒng)層和匯編語言層三個層次,討論計算機(jī)系統(tǒng)的組成,從而在CPU級建立整機(jī)概念。然后,通過第3篇存儲系統(tǒng)與輸入/輸出系統(tǒng)的學(xué)習(xí),從而在系統(tǒng)級上建立整機(jī)概念。
全書由基礎(chǔ)知識、計算機(jī)系統(tǒng)分層結(jié)構(gòu)、存儲系統(tǒng)和輸入/輸出系統(tǒng)3篇共7章組成。其編寫順序體現(xiàn)了下述的教學(xué)思路:
第1篇包括第1、2章,介紹計算機(jī)系統(tǒng)組成的基本概念和信息表示。
第1章仍然強(qiáng)調(diào)計算機(jī)的兩個重要基本概念:信息數(shù)字化、存儲程序工作方式。在介紹計算機(jī)系統(tǒng)的硬件、軟件組成之后,引入了現(xiàn)代計算機(jī)的一種分層結(jié)構(gòu)模型,它自下而上分為5層:微體系結(jié)構(gòu)層、指令系統(tǒng)層、操作系統(tǒng)層、匯編語言層和面向問題的語言層,本書第2篇內(nèi)容就是根據(jù)其中的三層來組織的。第1章還對計算機(jī)的工作過程、特點、性能指標(biāo)和發(fā)展史等做了介紹。
第2章講述數(shù)據(jù)信息和指令信息的表示,包括帶符號數(shù)、小數(shù)點及字符的表示方法,以及指令格式、尋址方式和指令類型,并介紹了Pentium與SPARC的指令格式。
第2篇包括第3、4、5章,分別從微體系結(jié)構(gòu)層、指令系統(tǒng)層和匯編語言層深入討論計算機(jī)系統(tǒng)的組成和工作機(jī)制。
第3章微體系結(jié)構(gòu)層,將CPU作為整體來討論,弱化運算方法與運算器。主要以一個教學(xué)模型機(jī)為例,從寄存器級描述CPU的內(nèi)部邏輯組成,在指令流程和微操作兩個層次上分析CPU的工作原理。根據(jù)當(dāng)前計算機(jī)的發(fā)展趨勢,更強(qiáng)調(diào)組合邏輯控制方式,對微程序控制方式只做一般原理性介紹,并以UltraSPARC CPU為典型例子,說明RISC的微體系結(jié)構(gòu)及其指令系統(tǒng)。
第4章以80x86 CPU為背景討論指令系統(tǒng)層。并將80x86、Pentium系列CPU的微體系結(jié)構(gòu)做了類比,用歸納和概括的方式介紹該系列CPU的尋址方式和指令系統(tǒng)。這一章作為第3章與第5章的橋梁,由CPU模型過渡到實際機(jī)器80x86,并為學(xué)習(xí)匯編語言奠定了相關(guān)基礎(chǔ)。
第5章匯編語言層,以 80x86、Pentium系列CPU為背景,精練地闡述了匯編語言的基礎(chǔ)知識、偽指令與宏指令、匯編語言程序設(shè)計基本技術(shù)。
第3篇包括第6、7章,討論存儲系統(tǒng)和輸入/輸出(I/O)系統(tǒng)。
第6章首先簡介了各種存儲器存儲信息的基本原理,芯片級主存儲器的邏輯設(shè)計方法。按三級存儲體系:高速緩存Cache、主存、外存分別介紹其工作原理,并從物理層與虛擬層這兩個層次討論存儲系統(tǒng)的組織。特別是,本章在分別介紹主存儲器、Cache和虛擬存儲器時,都是以Pentium為實例進(jìn)一步分析相應(yīng)的工作機(jī)制。本章還引入了高級DRAM、磁盤冗余陣列RAID、并行存儲技術(shù)等。
第7章介紹輸入/輸出系統(tǒng)。采用硬軟結(jié)合的方式,既討論硬件接口與I/O設(shè)備的邏輯組成及工作原理,也介紹軟件調(diào)用方法與相應(yīng)的I/O程序設(shè)計。詳細(xì)闡述了I/O接口的主要控制方式:直接程序控制方式、程序中斷方式和DMA方式。系統(tǒng)介紹了總線分類、標(biāo)準(zhǔn)、時序以及實例。簡介了常用I/O設(shè)備:鍵盤、鼠標(biāo)器、打印機(jī)和液晶顯示器工作原理,并以鍵盤為例分析其驅(qū)動程序的設(shè)計。引入了典型外設(shè)接口ATA接口和SCSI接口。
由于篇幅所限,與本書有關(guān)的一些輔助資料將以網(wǎng)上電子文檔方式提供給讀者,歡迎免費下載(http://www.hxedu.com.cn)。網(wǎng)上輔助資料包括:80x86指令系統(tǒng)一覽表,偽操作與操作符表,中斷向量地址一覽表,DOS系統(tǒng)功能調(diào)用(INT 21H),BIOS功能調(diào)用等。
本課程的參考教學(xué)時數(shù)約為70~90學(xué)時,全書內(nèi)容可能比教學(xué)時數(shù)所允許的份量稍多一些,可供選取或讓學(xué)生自學(xué),部分實例可隨技術(shù)發(fā)展而更新。本書為教師免費提供電子教案,歡迎到華信教育資源網(wǎng)http://www.hxedu.com.cn注冊下載。
本書由徐潔主編并負(fù)責(zé)全書的統(tǒng)稿。徐潔編寫第1、2章;魯珂編寫第3、4章;葉婭蘭編寫第5、6、7章。重慶大學(xué)袁開榜教授擔(dān)任主審,他認(rèn)真仔細(xì)地審閱了全稿,提出了許多寶貴的修改意見。教材的輔助資料和電子文檔由鄧亮和于穎制作。本書編輯童占梅老師熱情、專業(yè)和細(xì)致的工作態(tài)度保證了教材的編輯質(zhì)量和水平。教材的編寫還得到了北京航空航天大學(xué)楊文龍教授、電子科技大學(xué)龔天富教授的熱情指導(dǎo)和幫助。在編寫過程中,我們還得到了電子科技大學(xué)計算機(jī)學(xué)院領(lǐng)導(dǎo)和老師的熱情支持。在此,謹(jǐn)向所有給予我們支持和幫助的同志表示衷心的感謝。
書中還會存在錯誤與不足之處,懇請讀者與同行給予批評指正。
主 編
于成都?電子科技大學(xué)計算機(jī)學(xué)院