《普通高等教育“十一五”國家級規(guī)劃教材·國家精品課程主講教材·高等學(xué)校軟件工程系列教材:計算系統(tǒng)基礎(chǔ)》是國家精品課程“計算系統(tǒng)基礎(chǔ)”的主講教材。該課程作為軟件工程專業(yè)的一門專業(yè)課程,以一個經(jīng)典計算機指令集MIPS的簡化版本DLX為線索,選擇C語言作為載體,采用程序設(shè)計與系統(tǒng)級認識雙優(yōu)先的方式,使初學(xué)者在對計算機系統(tǒng)有基本了解的基礎(chǔ)上,更好地掌握結(jié)構(gòu)化程序設(shè)計的基本思想和方法。 《普通高等教育“十一五”國家級規(guī)劃教材·國家精品課程主講教材·高等學(xué)校軟件工程系列教材:計算系統(tǒng)基礎(chǔ)》采用自頂向下和自底向上相結(jié)合的方式介紹計算系統(tǒng),全書分為三部分,共17章,其中第一部分為第1章~第5章,主要介紹程序設(shè)計基礎(chǔ),使沒有編程基礎(chǔ)的學(xué)生獲取對程序設(shè)計的感性認識;第二部分為第6章~第14章,主要介紹計算機硬件和系統(tǒng)軟件的基礎(chǔ)知識,并通過介紹一個簡單的DLX計算機系統(tǒng)的工作原理,來幫助讀者理解高級語言程序是如何在計算機系統(tǒng)中運行的;第三部分為第15章~第17章,主要介紹函數(shù)、指針、數(shù)組和遞歸等內(nèi)容,以及一些復(fù)雜程序在DLX系統(tǒng)下的運行機制。 《普通高等教育“十一五”國家級規(guī)劃教材·國家精品課程主講教材·高等學(xué)校軟件工程系列教材:計算系統(tǒng)基礎(chǔ)》有與“計算系統(tǒng)基礎(chǔ)”課程配套的DLX套件。該套件提供了C語言(部分非常用功能除外)編譯和基本運行環(huán)境,能夠滿足本課程教學(xué)的需要。此外,DLX模擬器提供了較完整的模擬CPU,有興趣的學(xué)生可以嘗試在DLX模擬器上設(shè)計和實現(xiàn)基于DLX指令集的仿真操作系統(tǒng)DLXOS。
《普通高等教育“十一五”國家級規(guī)劃教材·國家精品課程主講教材·高等學(xué)校軟件工程系列教材:計算系統(tǒng)基礎(chǔ)》特色:
計算系統(tǒng)基礎(chǔ)是軟件工程專業(yè)一門專業(yè)課程以一個經(jīng)典計算機指令集MIPS的簡化版本DL×為線索選擇C語言為載體采用程序設(shè)計與系統(tǒng)級認識雙優(yōu)先的方式使初學(xué)者在基本了解計算機系統(tǒng)的基礎(chǔ)上掌握結(jié)構(gòu)化程序設(shè)計的基本思想和方法
本書采用自頂向下和自底向上相結(jié)合的方式介紹計算系統(tǒng)主要分為三部分.程序設(shè)計基礎(chǔ)計算機硬件和系統(tǒng)軟件基礎(chǔ)知識以及函數(shù)、指針、數(shù)組、遞歸等深入主題,力求涵蓋教育部軟件工程專業(yè)教學(xué)指導(dǎo)分委員會制訂的《軟件工程專業(yè)規(guī)范》中對該課程的相關(guān)要求
隨書提供與課程配套的DLX套件包含C語言(部分非常用功能除外)編譯和基本運行環(huán)境能夠滿足本課程教學(xué)的需要。
第1章 引言
1.1 本書的目標(biāo)
1.2 計算機與計算機系統(tǒng)
1.3 計算系統(tǒng)
1.4 本書的結(jié)構(gòu)
習(xí)題1
第2章 C語言程序設(shè)計簡介
2.1 高級程序設(shè)計語言
2.2 高級語言程序翻譯技術(shù)
2.3 C語言概述
2.4 第一個例子:Hello World
習(xí)題2
第3章 類型和變量
3.1 類型和變量
3.1.1 3種基本數(shù)據(jù)類型
3.1.2 標(biāo)識符
3.1.3 作用域
3.2 運算符
3.3 附加主題
3.4 問題求解:長度單位換算
習(xí)題3
第4章 結(jié)構(gòu)化程序設(shè)計和控制結(jié)構(gòu)
4.1 結(jié)構(gòu)化程序設(shè)計
4.2 選擇結(jié)構(gòu)
4.2.1 if語句
4.2.2 if-else語句
4.3 循環(huán)結(jié)構(gòu)
4.3.1 while語句
4.3.2 for語句
4.3.3 do-while語句
4.4 其他控制結(jié)構(gòu)
4.4.1 switch語句
4.4.2 break和continue語句
4.5 問題求解
4.5.1 問題1:計算自然對數(shù)之底e的近似值
4.5.2 問題2:找出100一200之間的素數(shù)
4.5.3 問題3:計算字符串“int”出現(xiàn)的次數(shù)
習(xí)題4
第5章 測試和調(diào)試
5.1 軟件開發(fā)過程
5.2 錯誤類型
5.3 測試
5.4 調(diào)試
5.5 正確編程
習(xí)題5
第6章 數(shù)據(jù)的機器級表示
6.1 位和數(shù)據(jù)類型
6.2 整數(shù)數(shù)據(jù)類型
6.3 二進制補碼整數(shù)
6.4 二進制十進制轉(zhuǎn)換
6.5 算術(shù)運算
6.6 邏輯運算
6.7 其他表示法
6.7.1 ASCII碼
6.7.2 浮點數(shù)類型
6.7.3 十六進制表示法
6.8 C語言中的數(shù)據(jù)類型
習(xí)題6
第7章 數(shù)字邏輯電路
7.1 晶體管
7.2 門電路
7.3 組合邏輯電路
7.4 基本存儲元件
7.5 存儲器
7.6 時序邏輯電路
7.6.1 狀態(tài)的概念
7.6.2 有限狀態(tài)機
7.6.3 示例:交通燈控制器
7.7 DLX子集的數(shù)據(jù)通路
習(xí)題7
第8章 馮·諾依曼模型
8.1 基本組件
8.2 DLX-馮·諾依曼模型示例
8.3 指令處理
8.4 DLX的有限狀態(tài)機
習(xí)題8
第9章 指令集結(jié)構(gòu)
9.1 指令集結(jié)構(gòu)概述
9.2 算術(shù)/邏輯運算指令
9.2.1 I-類型運算指令
9.2.2 R-類型運算指令
9.3 數(shù)據(jù)傳送指令
9.3.1 基址+偏移量模式
9.3.2 示例
9.4 控制指令
9.4.1 條件分支
9.4.2 示例:計算10個整數(shù)的和
9.4.3 控制循環(huán)的兩種方法
9.4.4 示例:利用標(biāo)志加一列數(shù)
9.4.5 J指令
9.4.6 TRAP指令
9.5 DLX數(shù)據(jù)通路
9.6 C語言的數(shù)據(jù)類型與計算杌的ISA
習(xí)題9
第10章 機器語言程序設(shè)計
10.1 解決問題
10.1.1 實現(xiàn)3種結(jié)構(gòu)的DLX控制指令
10.1.2 示例:文檔加密
10.2 調(diào)試
10.2.1 調(diào)試操作
10.2.2 示例:調(diào)試器的使用
習(xí)題10
第11章 匯編語言
11.1 匯編語言程序設(shè)計
11.2 DLX匯編語言
11.2.1 指令
11.2.2 偽操作
11.2.3 示例:文檔加密
11.3 匯編過程
11.3.1 -個“兩趟”的過程
11.3.2 第一趟:構(gòu)建符號表
11.3.3 第二趟:生成機器語言程序
11.4 鏈接
11.4.1 可執(zhí)行映像
11.4.2 鏈接器的主要工作
11.5 編譯:C-DLX
11.5.1 -個簡單的例子
11.5.2 控制結(jié)構(gòu)的例子
11.6 !环N抽象數(shù)據(jù)類型
……
第12章 輸入和輸出
第13章 自陷例程和中斷
第14章 子例程
第15章 函數(shù)
第16章 指針和數(shù)組
第17章 遞歸
附錄