標籤:結果 語言 內容 操作 解碼 image ima 磁碟 之間
系統硬體
- CPU - 中央處理單元
- ALU - 算數邏輯單位
- PC - 程式計數器
- USB - 通用序列匯流排
匯流排
匯流排,貫穿整個系統的一組電子管道,在各個組件間傳遞位元組流資訊。
傳送定長的位元組塊,稱為字;字中的位元組數,稱為字長。
處理器
CPU,中央處理單元,是解釋/執行儲存在主存中指令的引擎。
PC,程式計數器,在任何時間點上,都指向主存中某條機器語言指令(內含其地址)。
寄存器檔案,存放裝置,CPU的核心。它是一個小的存放裝置,由一些字長大小的寄存器組成,這些寄存器每個都有唯一的名字。
ALU計算新的資料和地址值。
從系統通電開始,直到系統斷電,處理器一直重複指向相同的基本任務:從PC指向的儲存空間處讀取指令,解析指令,執行指令指示的簡單操作,然後更新PC指向下一條指令。
- 載入 - 從主存中拷貝一個位元組或一個字到寄存器,覆蓋寄存器原來的內容。
- 儲存 - 從寄存器拷貝一個位元組或一個字到主存的某個位置,覆蓋這個位置上的原來的內容。
三大邏輯門
與(And)、或(Or)、非(Not)
時鐘控制
組合電路本質上不儲存任何資訊。它們只是簡單地響應輸入訊號,輸出等於輸入的某個函數轉換。
大多數時候,寄存器都保持在穩定點(x), 產生的輸出等於它的目前狀態。訊號沿著寄存器前面的組合邏輯傳播,產生了一個新的寄存器輸入(y), 但只要時鐘是低電位,寄存器的輸出就保持不變。當時鐘變成高電位的時候,輸入訊號就載入到寄存器,成為下一個狀態y, 這個狀態就成為寄存器的新輸出。寄存器作為電路不同部分中的組合邏輯之間的屏障,只有在每個時鐘上升沿時,值才會從寄存器的輸入傳送到輸出。
指令階段
一條指令包含很多操作,可以將這些操作組織為階段序列。
- 取指(fetch) :從儲存空間讀入指令,地址為PC的值。
- 解碼(decode) :從寄存器檔案讀入最多兩個運算元,得到valA和/或valB。
- 執行(execute) :ALU要麼執行指令指明的操作,要麼增加或減少棧指標。
- 訪存(memory) :將資料寫入儲存空間,或者從儲存空間中讀取資料。
- 寫回(write back) :最多可以寫兩個結果到寄存器檔案。
- 更新PC(PC update) :將PC設定為下一條指令的地址。
流水線技術
如前所提指令階段,將指令分解為多個階段,並讓不同指令的各個階段重疊,從而實現幾條指令平行處理,以加速程式運行。
指令的每個階段都有各自獨立的電路來處理,每完成一步,就進到下一步,而前一步則處理後續指令。
主儲存空間
主存是一個臨時存放裝置,在處理器執行程式時,被用來存放程式,以及程式處理的資料。
可以看作是一個線性位元組數組,每個位元組都有自己唯一的地址(數組索引),地址從0開始。
儲存空間層次模型
虛擬記憶體
快取
進程管理
線程調度I/O裝置
I/O, 輸入/輸出裝置,是系統與外界的聯絡通道。
磁碟
【Java NIO】系統基礎