計算機概論 第3章 計算機組織與結構概觀
電腦的基本結構
計算機的組織與結構
傳統處理器的架構
處理器的類型 協同處理器(coprocessors) 微控制器(microcontrollers) 嵌入式系統處理器(embedded system processors) 通用的處理器(general-purpose processors)
晶圓CPU切片(CPU die)圖
處理器的工作原理 「提取→執行循環」(fetch-execute cycle) 電腦工作的速率由系統時脈(clock)來控制 電腦產生一個時脈的時間,被稱為時脈週期(clock cycle),通常一個程式指令的執行需要數個時脈週期 時脈週期越短,則電腦執行指令的效率越高
處理器的內部構造
CPU的指令 指令碼(opcode) 運算元(operand) 結果
指令集的種類 複雜指令集(CISC,Complex Instruction Set Computer) 精簡指令集(RISC,Reduced Instruction Set Computer)
指令處理的各階段
多階管道(multistage pipeline)的技術
與CPU執行模式相關的特性 指令集中有效的指令子集合。 資料的大小。 可以使用的記憶體範圍。 可以使用的功能單元。 系統的權限。
微控制器(microcontroller)的觀念
記憶體裝置 記憶體(memory)是電腦中僅次於CPU的重要組件,基本上記憶體的主要功能是暫時或是永久儲存指令與資料 平常在電腦系統中安裝使用的記憶體通稱為實體記憶體(physical memory) 透過軟體的技術可以將硬碟空間的一部分當成實體記憶體來使用,這樣得到的記憶體空間稱為虛擬記憶體(virtual memory) 一般為了提昇效能運用快取技術的記憶體則特別稱為快取記憶體(cache)
記憶體技術的特徵 揮發性 存取方式 讀寫特性 記憶體的階層(memory hierarchy)
處理器與記憶體之間的連結
快取(cache)的概念 記憶體的速度跟CPU比起來還是太慢,所以跟CPU搭配工作的還有所謂的快取記憶體(Cache Memory) 一般說來,L1快取記憶體 (primary cache)位於CPU晶片內,L2 快取記憶體(secondary cache)可以位於CPU晶片或是在獨立的印刷電路板上 L3 cache也是一種快取記憶體,可以位於CPU晶片或是內建於記憶體中 儲存空間大小是L1<L2<L3 在現代記憶體的架構中,快取記憶體的容量一直在增加,對於CPU效能的提昇有很大的
作業系統中的I/O結構
串列傳輸與並列傳輸
主機板上各類內部匯流排介面的插槽(socket)
各類外部匯流排介面的外觀
I/O作業 同步(Synchronous)I/O:執行中的程序等待I/O作業完成,資料傳送完以後,程序才會繼續執行。 非同步(asynchronous)I/O:送出I/O請求的程序繼續執行,這種方式可以提昇作業系統的效率,因為CPU的使用率提高了。
中斷處理I/O作業時執行程序的狀態變化
計算機架構中最常見的兩種平行技術 平行(parallelism) 管道化(pipelining)
平行處理的特性 微觀的平行(microscopic parallelism) 巨觀的平行(macroscopic parallelism) 細緻的平行(fine-grain parallelism) 粗略的平行(coarse-grain parallelism)
福林的分類法(Flynn classification) 單指令單資料流(SISD,single instruction single data stream) 單指令多資料流(SIMD,single instruction multiple data streams) 多指令多資料流(MIMD,single instruction multiple data streams)
JPL Cray SV1-1A Vector Processor
計算機效能的評估 計算機架構的平行(parallelism)與管道化(pipelining)技術都是為了提昇運算的效能 效能(performance)本身必須有一個度量的方式才能夠比較 平行系統有一個很有趣的安道爾定律(Amdahl’s Law),大致是說含有N個處理器的平行系統無法達到單一處理器N倍的效能 我們需要更精確的評估方式
常見的效能度量方式 從電腦的運算能力來評估其效能 電腦擅長的是算術運算與邏輯運算,所以在固定的時間內完成的指令數目就可以當成一種效能的指標 FLOPS(floating point operations per second) MIPS(million instructions per second)
計算機架構的實例 系統層次的架構(system-level architecture) 電路板層次的架構(board-level architecture) 晶片層次的架構(chip-level architecture)
認識電路板