2019年8月22日 星期四

計算機組織與結構 筆記

以下為可能有些錯誤以及中國用語,請斟酌參考!!


  • 計算機系統概述
用出現時間來分:
第零代(機械)、第一代(真空管)、第二代(電晶體)、第三代(積體電路)、第四代(超大型積體電路)、第五代(??)

用應用領域來分:
超級電腦、家用主機、工作站、服務器、嵌入式裝置

性能指標:
吞吐量、響應時間、時脈、CPI (Clock Per Instruction)、執行時間、MIPS (Million Instructions Per Second)

CPU組成元件(馮諾伊曼結構):
運算單元、控制單元、儲存單元、輸入單元、輸出單元
在“儲存單元”會有效能瓶頸

計算系統的分層結構:
用戶層(程式本體)、高級語言層(C++/Java)、組合語言層(組合語言)、作業系統層(作業系統)、機器層(機器語言)、控制系統層(CPU控制訊號)、邏輯層(邏輯閘)



  • 數據的表示及運算
常用進位制:十進制、二進制、十六進制、八進制

以二進制來說,考慮到正負:
原碼: X = 0.10001 / -X = 1.10001 (change MSB)
補碼:X = 0.10001 / -X = 1.01111 (-X = not X + 1)
反碼:X = 0.10001 / -X = 1.01110 (-X = not X)
可能會有正負零不同的表示方式!
以二進制來說,考慮到浮點數:
定點數(fixed point)、浮點數(floating point)

十進位的表示:BCD碼 (Binary-Coded Decimal)
非數字的表示:
EBCDIC碼 (Extended Binary Coded Decimal Interchange Code)、ASCII碼 (American Standard Code for Information Interchange)、Unicode

定點數運算、浮點數運算

數據校驗碼:奇偶校驗碼、海明校驗碼(Hamming Code)(可知道哪一個位元錯誤)、循環冗余校驗碼(Cyclic Redundancy Check, CRC)



  • 組合語言
發展:指令種類越來越多、越來越複雜,但實際上20%的指令比較常使用(80、20法則)

要求:完備性(夠用)、有效性(快速)、規整性(格式一致)、兼容性

種類:數據傳遞、算數運算、邏輯運算、程序控制(無條件跳躍、條件跳躍、離開函數、程序中斷)、輸入輸出(外部儲存空間、周邊設備)、特權(切換工作模式)、控制(直接控制CPU)

組成元素:指令長度(固定、不固定)、地址(零地址、一地址、二地址、三地址、多地址)、操作碼(固定、不固定)
當操作碼長度不固定造成指令長度不固定,CPU該如何知道該讀取多長的指令呢?

數據的儲存方式:大端(編號大的地址為資料的結尾,IBM、RISC)、小端(編號小的地址為資料的結尾,INTEL)
資料儲存通常以4 bytes為單位,如資料不足4 bytes其餘空間不再利用

指令尋址方式:順序尋址(PC+4)、跳躍尋址(JUMP)

操作數尋址:立即尋址(Immediate Addressing)、直接尋址(Direct Addressing)、間接尋址(Indirect Addressing)、暫存器尋址(Register Addressing)、暫存器間接尋址(Register Indirect Addressing)、相對尋址(Displacement Addressing)、變址尋址(Index Addressing)、基址尋址(Base Addressing)、段尋址(Segment Addressing)、複合尋址(Composite Addressing)

堆疊(Stack)尋址:PUSH(地址--)、POP(地址++)

RISC(Reduced Instruction Set Computer)優點:面積使用率高(沒太多少用的指令)、單指令執行速度快、設計簡單、編譯容易



  • 儲存系統
基本要素:位址、數據

一般電腦中有cache、主存(RAM、ROM)、輔存(磁碟、光碟)

使用半導體的有:DRAM、SRAM(cache)、掩膜式RAM、一次式PROM、UVEPROM、EEPROM
SRAM使用6個MOS、DRAM使用1個MOS+1個電容,往後亦有SDRAM、DDR、DDR2、DDR3...

擴展容量:位擴展連結(將一筆資料拆開儲存致多個不同的儲存器)、字擴展連結(將一筆資料依照位置存在對應的單一儲存器)、字位擴展連結(兩者結合)

cache的地址映射:全相連映射(任意個memory皆可對應到任意個cache)、直接相連映射(特定個memory皆可對應到特定「個」cache)、組相連映射(特定個memory皆可對應到特定「組」cache)

替換算法:隨機、FIFO、LFU、FRU
寫回策略:Write-Through、Write-Back、Write one time
cache通常一個區塊8~64 Bytes比較適合

虛擬儲存器:將輔存加入架構中,需要分頁表做虛擬位址和實體位置的轉換



  • 輸入輸出系統

沒有留言:

張貼留言