- 計算機系統概述
第零代(機械)、第一代(真空管)、第二代(電晶體)、第三代(積體電路)、第四代(超大型積體電路)、第五代(??)
用應用領域來分:
超級電腦、家用主機、工作站、服務器、嵌入式裝置
性能指標:
吞吐量、響應時間、時脈、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)
- 組合語言
要求:完備性(夠用)、有效性(快速)、規整性(格式一致)、兼容性
種類:數據傳遞、算數運算、邏輯運算、程序控制(無條件跳躍、條件跳躍、離開函數、程序中斷)、輸入輸出(外部儲存空間、周邊設備)、特權(切換工作模式)、控制(直接控制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比較適合
虛擬儲存器:將輔存加入架構中,需要分頁表做虛擬位址和實體位置的轉換
組成元素:指令長度(固定、不固定)、地址(零地址、一地址、二地址、三地址、多地址)、操作碼(固定、不固定)
當操作碼長度不固定造成指令長度不固定,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比較適合
虛擬儲存器:將輔存加入架構中,需要分頁表做虛擬位址和實體位置的轉換
- 輸入輸出系統