編輯推薦
本書將組成原理的眾多知識點與編程結合起來,通過編程實現模擬實驗進行形象的展示,配套資源豐富
內容簡介
本書系統介紹計算機的設計方法和運行方式。全書共9章。第1章為計算機系統概論,第2章介紹布爾代數與邏輯電路,第3章介紹數據表示,第4章介紹運算器,第5章介紹存儲系統,第6章介紹指令系統,第7章介紹中央處理器,第8章介紹輸入輸出系統,第9章給出幾個TD-CMA實驗箱實驗。
本書可作為應用型高校計算機專業的「計算機組成原理」課程教材,也可作為計算機領域開發應用人員的參考書。
目錄
第1章 計算機系統概論
1 1 計算機的興起
1 2 計算機的分類
1 3 計算機硬體
1 3 1 控制器
1 3 2 運算器
1 3 3 存儲器
1 3 4 輸入輸出設備
1 4 計算機軟體
1 4 1 系統軟體
1 4 2 操作系統
1 4 3 應用軟體
1 4 4 程序設計語言
1 4 5 資料庫
1 5 計算機系統結構
1 6 計算機的性能指標
1 7 用Python搭建「計算機」
1 7 1 模擬計算機實驗介紹
1 7 2 基於Python的模擬實驗開發環境的搭建
1 7 3 創建第一個Python程序
習題
第2章 布爾代數與邏輯電路
2 1 布爾代數
2 1 1 與邏輯
2 1 2 或邏輯
2 1 3 非邏輯
2 2 邏輯函數及其化簡
2 2 1 邏輯函數
2 2 2 布爾表達式化簡
2 3 基本邏輯電路
2 3 1 門電路
2 3 2 門電路的構造
2 4 門電路模擬實驗
習題
第3章 數據表示
3 1 進位記數制
3 2 進位轉換
3 3 十進位數據編碼
3 4 ASCII碼
3 5 漢字編碼
3 6 數據校檢
3 7 偶校驗碼生成模擬實驗
習題
第4章 運算器
4 1 機器數與真值
4 2 機器數編碼
4 2 1 定點數編碼
4 2 2 浮點數編碼
4 3 定點數加減法
4 3 1 補碼的加減運算及溢出判斷
4 3 2 溢出判斷
4 3 3 移碼的加減法運算及溢出判斷
4 4 全加器與加法裝置
4 4 1 一位半加器
4 4 2 一位全加器
4 4 3 加法裝置
4 4 4 進位系統
4 5 定點數乘法
4 5 1 原碼一位乘法
4 5 2 原碼兩位乘法
4 6 全加器模擬實驗
習題
第5章 存儲系統
5 1 存儲器
5 1 1 存儲器分類
5 1 2 存儲器的編址和端模式
5 2 存儲系統概述
5 2 1 存儲系統的層次結構
5 2 2 程序的局部性原理
5 3 靜態隨機存取存儲器
5 3 1 SRAM的概念
5 3 2 基本的SRAM邏輯結構
5 3 3 SRAM讀寫時序
5 4 動態隨機存取存儲器
5 4 1 DRAM的概念
5 4 2 DRAM芯片的邏輯結構
5 4 3 DRAM讀寫時序
5 4 4 DRAM的刷新操作
5 5 只讀存儲器
5 6 半導體存儲器的容量擴展
5 6 1 位擴展法
5 6 2 字擴展法
5 6 3 字位擴展法
5 7 高速緩衝存儲器
5 7 1 Cache的基本原理
5 7 2 Cache的地址映射
5 7 3 Cache替換演算法
5 7 4 Cache的寫操作策略
5 8 虛擬存儲器
5 8 1 虛擬存儲器的基本概念
5 8 2 虛擬存儲器的訪問過程
5 8 3 Cache與虛擬存儲器的異同
5 8 4 虛擬存儲機制要解決的關鍵問題
5 9 輔助存儲器
5 9 1 輔助存儲器的種類
5 9 2 磁碟存儲器的技術指標
5 10 Cache替換模擬實驗
習題
第6章 指令系統
6 1 指令的組成
6 1 1 指令介紹
6 1 2 操作碼
6 1 3 地址碼
6 1 4 指令助記符
6 2 定址方式
6 2 1 定址的概念
6 2 2 立即數定址方式
6 2 3 寄存器定址方式
6 2 4 直接定址方式
6 2 5 間接定址方式
6 2 6 基址定址方式
6 2 7 變址定址方式
6 2 8 相對定址方式
6 2 9 堆棧定址方式
6 3 指令格式設計
6 3 1 指令字長
6 3 2 操作碼的編碼方式
6 3 3 地址碼的編碼設計
6 4 複雜指令集和精簡指令集
6 4 1 複雜指令集計算機
6 4 2 精簡指令集計算機
6 5 指令定址模擬實驗
習題
第7章 中央處理器
7 1 CPU的功能和組成
7 1 1 CPU的功能
7 1 2 CPU的基本組成
7 1 3 CPU中的主要寄存器
7 1 4 操作控制器與時序產生器
7 2 指令周期
7 3 時序信號產生器和控制方式
7 3 1 時序信號的作用和體制
7 3 2 時序信號產生器
7 3 3 控制方式
7 4 流水CPU
7 4 1 并行處理技術
7 4 2 流水CPU的結構
7 4 3 流水線中的主要問題
7 5 RISC CPU
7 5 1 RISC的特點
7 5 2 RISC CPU實例
7 5 3 動態流水線調度
習題
第8章 輸入輸出系統
8 1 CPU與外設之間的信息交換方式
8 1 1 I/O介面與埠
8 1 2 I/O操作的一般過程
8 1 3 I/O介面與外設之間的數據傳送方式
8 1 4 CPU與I/O介面之間的數據傳送
8 2 程序查詢方式
8 3 中斷方式
8 3 1 中斷的基本概念
8 3 2 中斷服務程序入口地址的獲取
8 3 3 中斷方式的外設介面電路
8 3 4 單級中斷
8 3 5 多級中斷
8 3 6 Pentium CPU的中斷機制
8 4 DMA方式
8 4 1 DMA的基本概念
8 4 2 DMA傳送方式
8 4 3 基本的DMA控制器
8 4 4 選擇型和多路型DMA控制器
8 5 通道方式
8 5 1 通道簡介
8 5 2 通道的類型
8 5 3 通道結構的發展
8 6 通
前言/序言
習近平總書記在中國共產黨第二十次全國代表大會上的報告中指出: 教育、科技、人才是全面建設社會主義現代化國家的基礎性、戰略性支撐。必須堅持科技是第一生產力、人才是第一資源、創新是第一動力,深入實施科教興國戰略、人才強國戰略、創新驅動發展戰略,這三大戰略共同服務於創新型國家的建設。報告同時強調: 推動戰略性新興產業融合集群發展,構建新一代信息技術、人工智能、生物技術、新能源、新材料、高端裝備、綠色環保等一批新的增長引擎。
隨著人工智能成為引領新一輪科技革命和產業變革的核心技術,計算機已經做到了人們期望它做到的一切——甚至更多。計算機在製造、金融、教育、醫療和交通等領域的應用不斷落地,極大地改變了現有的生產和生活方式。計算機是幾乎所有現代技術的核心。計算機組成原理對於理解計算機如何運作至關重要,本書探討了計算機系統的基本組成部分和組織結構,為讀者提供了堅實的基礎,以理解計算機如何用於模擬或實現人類學習行為,獲取新知識或技能,重新組織現有知識結構以不斷提高其性能,並最終實現智能。任何對計算機及其相關領域感興趣的人,計算機組成原理都是必不可少的,它是計算機技術的核心,是計算機運行的根本。
由於計算機本身對計算的發展產生了巨大影響,因此在計算的課程體系中大多包含一門有關計算機如何工作的課程,如「計算機組成原理與系統結構」。大學中的計算機科學或計算機工程方向的培養方案中都會有這樣一門課程。實際上,專業和課程的認證機構都將計算機體繫結構作為一項核心要求。比如,計算機體繫結構就是IEEE計算機協會和ACM聯合發布的計算學科課程體系的中心內容。介紹計算機如何工作與實現的課程有很多名稱。有人將它稱作硬體課,也有人將它稱作計算機體繫結構,還有人將它稱作計算機組成原理,以及它們之間的各種組合。
「計算機組成原理」的教材有很多,不過作為一門計算機類的專業基礎課程,多數教材沒有區分不同層次、不同專業的學生。「計算機組成原理」的課程會在3個不同的系講授: 電子工程系(EE)、電子與計算機工程系(ECE)、計算機科學系(CS)。這些系有自己的文化,也會從各自的角度看待計算機體繫結構。電子工程系和電子與計算機工程系會關注電子學以及計算機的每個部件是如何工作的。面向這兩個系的教材會將重點放在門電路、介面、信號和計算機組成上。而計算機科學系的學生大多沒有足夠的電子學知識背景,因此很難對那些強調電路設計的教材感興趣。實際上,計算機科學系更強調底層的處理器體繫結構與高層的計算機科學抽象之間的關係。
「計算機組成原理」是計算機專業的核心課程,但往往它很難被學生接受。這源於學生對這門課程的迷茫。這門課程學的是修計算機嗎?組成原理有什麼用?系統結構與什麼崗位技能相關?很多人會有這樣的疑惑。很多時候,學生無法學好一門課程,難度並非來源於課程知識本身,而是因為學生不了解相關知識的用途和應用場所。
通常,學生學習編程類課程的目標是很明確的。學生明白,學習這門課程就是學習如何編寫程序,並且有所見即所得的效果。而學習「計算機組成原理」時,學生會很迷茫,計算機組成原理的知識對我們有什麼用呢?清楚地解答這一問題,也是本書寫作的初衷。很多想法源於在重慶工程學院講授「計算機組成原理」課程的經歷。編者在講這門課程時總是期望能夠更多地闡述這些知識的應用場景,讓學生能清楚地認識到學什麼、為什麼學,以及學了有什麼用。本書還加入了虛擬實驗,通過編程完成虛擬實驗,讓學生直觀地理解概念、明確應用場景。本書會形象地讓學生「看到」概念,並讓他們從實驗中獲得成就感,激發學習動力。此外,本書也講述了許多有趣的道理。比如「少即是多」,因為80%的時間都是在使用20%的簡單指令;又比如代碼要少些循環和判斷,是出於分支預測和多級流水線的原因。
◆計算機組成原理(微課版)前言儘管要寫出一本能夠同時滿足電子工程系、電子與計算機工程系和計算機科學系的教材幾乎是不可能的,但本書進行了有效的折中,它為電子工程系和電子與計算機工程系學生提供了足夠的門級和部件級的知識,而這些內容也沒有高深到使計算機科學系的學生望而卻步的程度。由於本書覆蓋了計算機組成原理的基礎內容、核心知識以及高級主題,內容豐富,篇幅很大,所以它適合與「計算機組成原理」相關的不同課程裁剪使用。綜合考慮國內高校計算機組成與結構系列課程的教學目標和課程設置,本書針對應用型本科院校學生的特點,以學以致用的思想為主線,按照循序漸進、逐步深入、重在實踐的原則,加入大量模擬實驗以幫助學生體會計算機知識的魅力。希望學生能以自上而下的方式看到代碼如何被計算機執行,也能自下而上地從門電路開始搭建一台計算機。
全書共9章,主要內容如下。
第1章介紹計算機的發展、計算機的硬體組成、計算機軟體、計算機系統的層次結構,並在實訓部分介紹了基於Python的模擬實驗開發環境。
第2章介紹布爾代數與邏輯電路,主要內容包括布爾代數基本邏輯運算、邏輯函數及其簡化,以及硬體電路如何實現邏輯運算,並在最後進行門電路模擬實驗,使學生對計算機部件的邏輯結構形成初步概念,為學生理解計算機中的數據奠定基礎。
第3章介紹數據表示,主要內容包括進位記數制、進位轉換、十進位數據編碼、ASCII編碼、中文編碼、數據信息的校檢,並在最後進行偶校驗碼生成模擬實驗,使學生全面了解計算機中的數據表示,並掌握主要的信息編碼。
第4章介紹運算器,主要內容包括機器數與真值、機器數編碼、定點數加減法、全加器與加法裝置、定點數乘法,並在最後進行全加器模擬實驗,使學生掌握運算器的運算方法。
第5章介紹存儲系統,主要內容包括存儲系統概述、主存儲器、半導體存儲器的容量擴展、高速緩衝存儲器、虛擬存儲器、輔助存儲器,並在最後進行Cache模擬實驗,使學生了解存儲器的基本工作原理、各類存儲器的特性及使用。
第6章介紹指令系統,主要內容包括指令的組成、定址方式、指令的格式設計、複雜指令集和精簡指令集,並在最後進行指令定址模擬實驗,使學生對計算機指令和定址有所了解。
第7章介紹中央處理器,包括CPU的功能和組成、指令周期、時序產生器和控制方式、流水CPU和RISC CPU。
第8章介紹輸入輸出系統,主要內