《計算機系統結構(第四版)/普通高等教育計算機類特色專業系列規劃教材》介紹了計算機系統結構的基本概念、基本原理、基本分析和設計方法。《計算機系統結構(第四版)/普通高等教育計算機類特色專業系列規劃教材》共7章,內容包括:計算機系統結構的相關概念、時間并行技術、指令級并行技術、多處理機、超級計算機、倉庫級計算機、云計算構架。
《計算機系統結構(第四版)/普通高等教育計算機類特色專業系列規劃教材》依據短學時教學要求編寫,知識完整、結構合理、重點突出、概念清楚,反映了計算機科學技術的最新成果。
前言
第1章 計算機系統結構的相關概念
1.1 系統結構的有關術語
1.1.1 計算機系統的層次結構
1.1.2 計算機系統結構
1.1.3 計算機組織和計算機實現
1.1.4 計算機系統結構的分類
1.2 系統結構發展的因素
1.2.1 存儲程序計算機系統結構及其發展
1.2.2 軟件對系統結構的影響
1.2.3 應用對系統結構的影響
1.2.4 器件對系統結構的影響
1.2.5 系統結構的生命周期
1.3 定量分析技術
1.3.1 系統設計的定量原理
1.3.2 性能評價標準
1.3.3 成本與價格
1.4 系統結構中并行性的發展
1.4.1 并行性的概念
1.4.2 提高并行性的技術途徑
1.4.3 單處理機系統中并行性的發展
1.4.4 多處理機系統中并行性的發展
1.4.5 并行處理機的系統結構類型
1.4.6 圖形處理器
小結
習題
第2章 時間并行技術
2.1 流水線技術
2.1.1 流水線的基本概念
2.1.2 流水線的表示方法
2.1.3 流水線的特點
2.2 流水線的性能指標
2.2.1 流水線的吞吐率
2.2.2 流水線的加速比
2.2.3 流水線的效率
2.2.4 流水線的最佳段數
2.3 流水線的結構相關和數據相關
2.3.1 流水線的結構相關
2.3.2 流水線的數據相關
2.4 流水線的控制相關
2.4.1 控制相關的概念
2.4.2 條件分支對流水線的影響
2.4.3 靜態分支技術
2.4.4 動態分支預測技術
2.4.5 流水線處理機的中斷處理
小結
習題
iv計算機系統結構目錄v
第3章 指令級并行技術
3.1 指令級并行的概念
3.1.1 并行性的有關術語
3.1.2 多指令流出:指令級并行度
3.2 數據相關及其處理技術
3.2.1 數據相關類型
3.2.2 寄存器重命名
3.2.3 靜態指令調度
3.2.4 動態指令調度
3.3 超標量流水處理機
3.3.1 超標量流水線的發射策略
3.3.2 典型處理機結構
3.3.3 超標量流水處理機性能
3.4 超流水線處理機
3.4.1 超流水線處理機時空圖
3.4.2 典型處理機結構
3.4.3 超流水線處理機性能
3.5 超標量超流水線處理機
3.5.1 指令執行時空圖
3.5.2 典型處理機結構
3.5.3 超標量超流水線處理機性能
3.6 超長指令字處理機
3.6.1 超長指令字處理機的特點
3.6.2 VLIW處理機的結構模型
3.6.3 典型處理機結構
3.7 多線程與超線程處理機
3.7.1 指令級并行與線程級并行
3.7.2 同時多線程結構
3.7.3 超線程處理機結構
小結
習題
第4章 多處理機
4.1 互連網絡的相關概念
4.1.1 互連網絡的功能和特征
4.1.2 互連網絡的描述工具
4.1.3 互連網絡的特性參數
4.2 互連網絡的結構
4.2.1 靜態互連網絡
4.2.2 動態互連網絡
4.3 多處理機的特點和分類
4.3.1 多處理機的特點
4.3.2 多處理機的分類
4.4 SMP的系統結構和實例
4.4.1 SMP的基本概念
4.4.2 SMP的一般結構
4.4.3 Origin 2000系統
4.4.4 IBM大型機SMP
4.4.5 容錯計算機系統Stratus
4.5 多處理機的Cache一致性
4.6 多處理機操作系統
4.7 多處理機中程序并行性的開發
4.7.1 程序并行性的分析
4.7.2 并行程序設計
小結
習題
第5章 超級計算機
5.1 超級計算機的相關概念
5.1.1 超級計算機的定義
5.1.2 超級計算機的評價指標
5.1.3 超級計算機相關技術——機群
5.2 超級計算機的發展
5.2.1 超級計算機系統結構的發展
5.2.2 超級計算機運算速度的變化
5.2.3 超級計算機操作系統的變化
5.2.4 超級計算機使用的互連技術
5.2.5 中國超級計算機的發展
5.3 世界超級計算機前三強介紹
5.3.1 天河二號(Tianhe2)
5.3.2 泰坦(Titan)
5.3.3 紅杉(Sequoia)
5.4 超級計算機的未來發展趨勢
小結
習題
vi計算機系統結構
第6章 倉庫級計算機
6.1 倉庫級計算機的相關概念
6.1.1 倉庫級計算機的定義
6.1.2 倉庫級計算機與超級計算機、數據中心的區別
6.2 倉庫級計算機的設計原則
6.3 倉庫級計算機的體系結構
6.3.1 層次化的存儲體系
6.3.2 可伸縮的網絡組織
6.4 倉庫級計算機的可靠性和可用性
6.4.1 可用性的重新定義
6.4.2 可靠性對可用性的影響
6.4.3 故障與容錯
6.5 倉庫級計算機的能耗與散熱
6.5.1 能耗與能量效率
6.5.2 散熱方案設計
6.6 倉庫級計算機的建設與維護
6.6.1 CAPEX成本
6.6.2 OPEX成本
小結
習題
第7章 云計算構架
7.1 云計算的相關概念
7.2 云計算與機群、網格計算的區別
7.3 云計算的服務模式
7.3.1 基礎設施即服務(IaaS)
7.3.2 平臺即服務(PaaS)
7.3.3 軟件即服務(SaaS)
7.4 云計算應用實例
7.4.1 IaaS實例AWS
7.4.2 PaaS實例 GAE
7.4.3 SaaS實例 Salesforce
7.5 云計算數據中心網絡的設計
7.5.1 數據中心互連網絡的特征
7.5.2 基于FatTree(胖樹)互連網絡的數據中心
7.5.3 基于BCube的互連網絡的數據中心
7.6 云計算中的并行處理框架
7.6.1 并行編程模型MapReduce
7.6.2 數據分布存儲 GFS
7.6.3 分布式數據的管理 BigTable
7.7 開放式的分布式架構Hadoop
7.7.1 Hadoop簡介
7.7.2 并行編程模型MapReduce
7.7.3 分布式文件系統HDFS
7.7.4 分布式數據管理工具 HBase
7.7.5 數據倉庫工具Hive
7.7.6 分布式鎖設施Zookeeper
小結
習題
術語索引
參考文獻
《計算機系統結構(第四版)/普通高等教育計算機類特色專業系列規劃教材》:
第1章 計算機系統結構的相關概念
本章介紹計算機系統的有關術語,計算機系統結構與技術的關系,系統結構的定量分析技術,系統結構的并行性發展。重點是:①計算機系統的層次結構、計算機系統結構、計算機組織、計算機實現三者的定義及其關系;②透明性、局部性原理、MIPS和MFLOPS定義;③Amdahl定律;④CPU性能公式。
11系統結構的有關術語〖*1〗111計算機系統的層次結構現代計算機系統是硬件、固件和軟件組成的十分復雜的系統。為了對這個系統進行描述、分析、設計和使用,人們從不同的角度提出了觀察計算機的觀點和方法。其中常用的一種方法,就是從機器語言的角度出發,把計算機系統按功能劃分成多級層次結構,如圖11所示。
圖11計算機系統的多級層次結構
計算機的語言可分成一系列的層次級,最內層級語言的功能最簡單,最外層級語言的功能最強。對于用某一層級語言編寫程序的程序員來說,他一般不管其程序在機器中是如何執行的,只要程序正確,他就能得到預期的結果。這樣,對這層語言的程序員來說,他似乎有了一種新的機器,這層語言就是這種機器的機器語言,該機器能執行用該層語言編寫的全部程序。因此,計算機系統就可以按語言的功能劃分成多層次結構,每一層以一種不同的語言為特征。
最內層的L0級是硬聯邏輯級。這一級由門、觸發器等邏輯電路組成,它是由邏輯設計員采用布爾語言設計的硬件內核。
L1級是微程序機器級。這一級的機器語言是二進制編碼的微指令集。程序員用微指令編寫的微程序由固件/硬件來解釋實現。L1級的機器語言是二進制語言。
L2級是傳統機器級。這一級的機器語言是機器指令集。程序員用機器指令集編寫的程序可以由L1級微程序進行解釋,也可直接采用L0級硬聯邏輯進行解釋。這個解釋程序運行在L1級上。
計算機系統結構第1章計算機系統結構的相關概念L3級是操作系統虛擬機。這一級機器語言中的多數指令是傳統機器級指令。此外還提供操作系統級指令,如打開文件、讀/寫文件、關閉文件等指令。用這一級語言編寫的程序,若與L2級指令相同則由微程序解釋,而操作系統級指令則由操作系統進行解釋。操作系統是運行在L2級上的解釋程序。
L4級是匯編語言虛擬機。這一級的機器語言是匯編語言。用匯編語言編寫的程序,首先翻譯成L3級和L2級語言,然后再由相應的機器執行。完成匯編語言翻譯的程序稱作匯編程序。
L5級是高級語言虛擬機。這一級的機器語言是各種高級語言。目前高級語言已有上百種,如C、C++、FORTRAN等。用這些語言所編寫的程序一般由稱為編譯程序的翻譯程序翻譯到L4級或L3級上。個別高級語言如BASIC編寫的程序采用解釋的方法實現,即用解釋程序翻譯到L4級或L3級。
最外層的L6級是應用語言虛擬機。這一級是為使計算機滿足某種用途而專門設計的,因此這一級語言就是各種面向問題的應用語言。為此可以設計專門用于人工智能、教育、管理、計算機設計等領域的虛擬機,這些虛擬機也是當代計算機應用領域的重要研究課題。用應用語言編寫的程序一般由應用程序包翻譯到L5級上。
由上面的敘述我們可以強調:
(1) 計算機語言是由低級(內核)向高級(外層)發展的,高一級語言的語句相對于低級語言功能更強,更便于應用,但都是以低級語言為基礎來支撐的。
(2) L3級以上完全由軟件實現。由軟件實現的機器我們稱為虛擬機器,以區別于由硬件/固件實現的實際物理機器。
(3) 編譯和解釋是機器語言實現的兩種基本技術。它們的相同點是:都以執行一串L級指令來實現L+1級指令。但是二者的差別是:編譯程序是先把L+1級程序全部變換成L級程序后,再去執行新產生的L級程序,在執行過程中L+1級程序不再被訪問。而解釋程序是每當一條L+1級指令被譯碼后,就直接去執行一串等效的L級指令,然后再去取下一條L+1級的指令,依次重復進行。因此解釋過程是邊變換邊執行的過程。在實現新的虛擬機器時,這兩種技術都被廣泛使用。一般來說,解釋執行比編譯執行花的時間多,但占用存儲空間較小。
……