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