1 / 57

電腦系統概論 Computer System Overview

電腦系統概論 Computer System Overview. 第 1 章. 作業系統 Operating System. 利用一個或一個以上的處理器( Processor )硬體資源( Hardware Resource ) 為系統使用者提供一組服務 管理輔助記憶體( Secondary Memory )與 I/O (輸入 / 輸出). 基本要素 Basic Elements. 處理器 (Processor) 中央處理器 (Central Processing Unit, CPU) 主記憶體 (Main Memory) 儲存執行中的程式與資料

meagan
Download Presentation

電腦系統概論 Computer System Overview

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 電腦系統概論Computer System Overview 第 1 章

  2. 作業系統Operating System • 利用一個或一個以上的處理器(Processor)硬體資源(Hardware Resource) • 為系統使用者提供一組服務 • 管理輔助記憶體(Secondary Memory)與I/O(輸入/輸出)

  3. 基本要素Basic Elements • 處理器(Processor) • 中央處理器(Central Processing Unit, CPU) • 主記憶體(Main Memory) • 儲存執行中的程式與資料 • 暫存性的(Volatile) • 被稱為真實記憶體(Real Memory)或主要記憶體(Primary Memory)

  4. 基本要素-1Basic Elements • I/O模組(I/O Modules) • 電腦對外界輸出或輸入資料 • 輔助記憶體裝置(Secondary Memory): 磁碟 • 通訊設備: 網路 • 終端機 • 系統匯流排(System Bus) • 處理器、主記憶體與I/O模組之間的通訊

  5. 處理器Processor • 兩套內部暫存器 • 記憶體位址暫存器 (Memory Address Register, MAR) • 下一次讀寫的記憶體位址 • 記憶體緩衝暫存器 (Memory Buffer Register, MBR) • 將要寫入記憶體的資料 • 剛剛才從記憶體讀入資料 • I/O位址暫存器(I/O Address Register, I/O AR) • I/O緩衝暫存器(I/O Buffer Register, I/O BR)

  6. 頂層元件 Computer Components: Top-Level View

  7. 處理器內的暫存器Processor Registers • 使用者可見的暫存器(User-Visible Registers) • 令程式設計師可以將存取主記憶體的次數減至最少 • 控制與狀態暫存器(Control and Status Registers) • 處理器用它們來控制本身的運作 • 具有特別權限的作業系統常式,利用它們來控制程式的執行

  8. 使用者可見的暫存器User-Visible Registers • 可透過機器語言(Machine Language)來參照 • 一般程式都可使用此類暫存器,包括應用程式與系統程式 • 暫存器種類 • 資料(Data Register) • 位址(Address Register) • 索引(Index Register) • 區段指標(Segment Register) • 堆疊指標(Stack Pointer)

  9. 使用者可見的暫存器-1User-Visible Registers • 位址暫存器(Address Register) • 索引(Index Register) • 針對一個基底值加上索引值,來計算出有效位址 • 陣列(Array) • 區段指標(Segment Register) • 記憶體被分割為許多區段,存取記憶體時需要使用區段和位移值 • 堆疊指標(Stack Pointer) • 指到堆疊的頂端

  10. 資料單位 • 位元 Bit: 0 或 1 兩種值 • 位元組 Byte:8 bits • 字組 Word:與CPU內的資料暫存器相當 • 32 位元電腦: 1 Word = 32 Bits • 64 位元電腦: 1 Word = 64 Bits • 1 K (Kilo) = 210 = 1,024 ≈ 一千 (103) • 1 M (Mega) = 220 = 1,048,576 ≈ 一百萬 (106) • 1 G (Giga) = 230 = 1,073,741,824 ≈ 十億 (109) • 1 T (Tera) = 240 = 1,099,511,627,776 ≈ 一兆 (1012)

  11. 堆疊 Stack • 後進先出 LIFO • 兩個動作: • PUSH 推入 • POP 彈出 POP PUSH Stack Pointer

  12. 控制與狀態暫存器Control and Status Registers • 程式計數器 (Program Counter, PC) • 內容是將要被擷取的指令位址 • 指令暫存器 (Instruction Register, IR) • 內容是最近一個擷取到的指令 • 程式狀態字組 (Program Status Word, PSW) • 狀態碼(Condition Codes) 或『旗標』(Flags) • 中斷啟動 / 關閉(Interrupt Enable/Disable) • 監督者 / 使用者模式(Kernel Mode/User Mode)

  13. 控制與狀態暫存器-1 Control and Status Registers • 狀態碼或旗標(Condition Codes/Flags) • 處理器硬體在運算結束後所設定的位元 • 例如,反映數學運算的結果 • 結果是正數(Number is positive) • 結果是負數(Number is negative) • 結果是零(Number is zero) • 溢位(Overflow)

  14. 指令執行 Instruction Execution • 兩個步驟 • 擷取(Fetch):處理器從記憶體中讀取指令 • 執行(Execute):處理器執行每個指令 • 指令週期(Instruction Cycle) • 處理器執行一個指令的過程 • 不斷地重複、循環

  15. 指令週期Instruction Cycle Fetch Stage Execution Stage

  16. 指令的擷取與執行Instruction Fetch and Execute • 處理器從記憶體擷取一個指令 • 程式計數器 (PC) 的內容: • 下一個要擷取的指令位址 • 程式計數器每次擷取指令後都會加一

  17. 指令暫存器Instruction Register • 所擷取的指令被載入指令暫存器(IR) • 分類 • 處理器-記憶體 • 資料在處理器與記憶體之間傳輸 • 處理器-I/O • 資料可以傳送至週邊設備,或接收自週邊設備 • 資料處理 • 對資料執行一些算數或邏輯運算 • 控制 • 更改執行順序

  18. 二進位、十進位、十六進位Binary, Decimal, Hexadecimal 十六進位轉二進位再轉十進位:

  19. 直接記憶體存取 Direct Memory Access(DMA) • I/O模組直接與記憶體進行資料交換 • 處理器允許I/O模組讀寫記憶體 • 減輕處理器的負擔

  20. 中斷Interrupt • 暫時打斷處理器的正常作業,讓處理器去處理緊急事件 • 大多數的I/O裝置速度比處理器慢很多,處理器與I/O裝置來往,浪費很多時間等待 • 設定中斷: • 處理器對I/O裝置說:等你準備好了,再叫我,我先忙別的事情去了 • 發生中斷: • I/O裝置對處理器說:我準備好了,請你快來幫我處理一下

  21. 速度上的差異 • CPU:GHz 每秒大約可以執行 1 Giga 個指令 • 硬碟: KHz,和 CPU 差一百萬倍以上 • 硬碟速度的評估: • 傳輸速度:讀取/寫入資料的速度 • 搜尋速度:讀寫臂在磁柱(Cylinder)間移動的速度 • 旋轉時間:磁盤轉半圈所需的時間 • 轉速 7200 RPM,亦即每秒轉 7200 圈,轉半圈約需:60/7200/2 ≈ 0.004 = 4 ms

  22. ④準備 I/O ⑤ 傳輸資料 使用者程式一旦寫入指令(WRITE),便開始執行 I/O 程式時,整台電腦都在等 I/O 做完,總共等了 : ④+⑤+④+⑤

  23. X為中斷發生點 使用者執行 WRITE 後,不等 I/O 完畢,立即繼續執行後續的指令。 I/O 程式以中斷的方式,打斷使用者程式的執行,取得CPU的執行時間

  24. I/O 等待時間較長 發生第二個WRITE時,第一個WRITE尚未完成。 必須等待第一個WRITE完畢,才能夠提出第二個WRITE。

  25. 中斷處理常式Interrupt Handler • 服務特定I/O裝置的程式 • 通常是作業系統的一部分

  26. 加入中斷的指令週期Instruction Cycle with Interrupts Interrupt Stage

  27. 加入中斷的指令週期-1Instruction Cycle with Interrupts • 處理器會查看是否有任何中斷發生 • 若沒有任何中斷,則擷取目前程式的下一個指令 • 如果已發生中斷(等待服務),則處理器暫停執行目前的程式,並執行中斷處理常式

  28. Short I/O Wait I/O 等待時間較短

  29. Long I/O Wait I/O 等待時間較長 此時已經執行第二個WRITE,必須等第一個WRITE結束

  30. 中斷處理Interrupt Processing • 中斷的發生,觸發許多事件,處理器硬體和軟體都被牽動

  31. 發生中斷時記憶體和暫存器所產生的變化

  32. 多重中斷處理Multiple Interrupts • 當處理器正在處理中斷時,忽略其它送至處理器的中斷信號

  33. 多重中斷處理-1Multiple Interrupts • 定義中斷的優先順序等級

  34. 多重中斷處理-2Multiple Interrupts

  35. 多元程式處理Multiprogramming • 處理器有多支程式需要執行 • 程式的執行次序 • 程式優先順序的高低 • 是否正在等待I/O動作完成 • 在中斷處理常式結束時,控制權未必會馬上交回給前一次被中斷的使用者程式 • 等待中的程式不只一支,優先順序較高先執行

  36. 記憶體階層架構Memory Hierarchy • 存取時間越快,則每位元的價格就越高 • 容量越大,則每位元的價格越低 • 容量越大,則存取時間越長 • 主記憶體觀察: • 創見 JetRam,規格

  37. 記憶體階層架構-1 Memory Hierarchy

  38. 深入記憶體階層架構 • 每位元的價格越來越低 • 容量越來越大 • 存取時間越來越長 • 記憶體被處理器存取的頻率越來越低 • 參照區域性(Locality of Reference) • 快取(Cache)

  39. 兩層式記憶體架構 • 揮發性(Volatile) • 一旦停止供電,儲存在其中的資料立即消失 • 非揮發性(Non-Volatile) • 即使關掉電源,儲存在其中的資料也不會消失 • 輔助記憶體(Secondary Memory/Auxiliary Memory) • 用來儲存程式與資料檔案

  40. 磁碟快取Disk Cache • 用一部份的主記憶體容量當作磁碟資料暫時的緩衝區 • 磁碟所寫入的位址有集中的特性 • 程式要寫出去到磁碟的某些資料,可能很快就會被參考到,此時從磁碟快取讀取會比較快 • 觀察:硬碟規格

  41. 快取記憶體Cache Memory • 以額外的高速記憶體提昇系統效能 • 速度快=>貴=>容量小 • 區域性原則(Locality) • 有些處理器將指令快取和資料快取分開

  42. 快取記憶體-1Cache Memory

  43. 快取記憶體-2Cache Memory • 包含主記憶體某部份的內容 • 處理器先檢查快取 • 如果在快取中找不到,則包含該資料的主記憶體區塊會先被搬移至快取,然後再傳送給處理器 • Cache HIT 需要的資料在快取中找到 • Cache MISS 需要的資料不在快取中

  44. 快取/主記憶體結構

More Related