計算機結構 – 概論 陳鍾誠 於金門大學
計算機結構 – 授課面向 系統程式 (組合語言+單晶片) 從程式到 CPU 計算機結構 (微處理器) 從軟體到硬體 從硬體到軟體 數位邏輯 (FPGA+xHDL)
從兩個方向逼近 LDI R1, 3 LD R2, b MUL R3, R1, R2 LD R1, c LD R2, d 位址線 資料線 暫存器單元 R0=0 R12=SW IR ALU 算術邏輯單元 控制單元 內部匯流排 Bus R14 = LR 輸出入單元 MDR MAR R15 = PC R13=SP … R1 LDI R1, 3 LD R2, b MUL R3, R1, R2 LD R1, c LD R2, d MUL R4, R1, R2 LD R1, a ADD R2, R1, R3 SUB R2, R4, R2 ST R2, x
馮紐曼架構 – 示意圖
馮紐曼架構 處理器 (CPU) 暫存器 ALU 算術邏輯單元 記憶體 Control Unit 控制單元 內部匯流排 Bus 輸入裝置 輸出裝置 控制匯流排 資料匯流排 位址匯流排 輸出入 控制器 ALU 算術邏輯單元 Control Unit 控制單元 暫存器 R0 PC … SW IR 內部匯流排 Bus RK 輸出入單元 處理器 (CPU)
哈佛架構
哈佛架構 v.s. 馮紐曼架構 (示意圖) 總線:程式與資料共用匯流排 程式與資料匯流排分開
哈佛架構 v.s. 馮紐曼架構 (說明) The name Harvard Architecture comes from the Harvard Mark I relay- based computer. The most obvious characteristic of the Harvard Architecture is that it has physically separate signals and storage for code and data memory. It is possible to access program memory and data memory simultaneously. Typically, code (or program) memory is read-only and data memory is read-write. Therefore, it is impossible for program contents to be modified by the program itself. The von Neumann Architecture is named after the mathematician and early computer scientist John von Neumann. von Neumann machines have shared signals and memory for code and data. Thus, the program can be easily modified by itself since it is stored in read-write memory. 資料來源:http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.faqs/ka11516.html
計算機結構 – 歷史 陳鍾誠 於金門大學
電腦硬體史 – 1940 之前
電腦硬體史 – 1940-1952
電腦硬體史 – 1955-1964
電腦硬體史 – 1976-2010
實務案例:IA32 處理器 陳鍾誠 於金門大學
IA32 處理器 IBM PC個人電腦所用的處理器 Intel 公司所設計的處理器 x86 系列處理器的成員 IA32 是相當複雜的處理器
圖 2.19 個人電腦的結構圖 圖形顯示 控制器 顯示器 橋接/記憶體 控制器 中央處理器 快取 IDE磁碟 控制器 記憶體 SCSI磁碟 控制器 匯流排 延伸匯流排介面 鍵盤 平行埠 串列埠 磁碟 PCI匯流排 延伸匯流排
圖 2.20 IA32 的常用暫存器 通用暫存器:EAX 通用暫存器: EBX 通用暫存器: ECX 通用暫存器: EDX 基底暫存器:EBP 堆疊暫存器:ESP 來源指標:ESI 目的指標:EDI 狀態暫存器: EFLAGS 程式計數器:EIP 程式段:CS 堆疊段: SS 資料段: DS 延伸段: FS 延伸段: ES 延伸段: GS
圖 2.21 IA32 的 EAX 暫存器 EAX 32 bits AX AH AL 16 bits 8+8 bits
IA32 的指令格式 指令的參數通常可以是暫存器或記憶體,具有多種 組合形式
表格 2.4:IA32 的指令分類表