讀書筆記 1 深入理解計算機系統

2021-09-01 22:57:44 字數 1860 閱讀 3468

一、計算機體系結構

1、馮·諾依曼體系結構(儲存程式型電腦)

(1)採用儲存程式方式,指令和資料不加區別混合儲存在同乙個儲存器中。

不可程式設計的計算機器(計算器,學習機,非智慧型手機),不提供api,僅內含固定用途的程式,只能讀資料

(2)儲存器是按位址訪問的線性編址的一維結構,每個單元的位數是固定的。

(3)指令由操作碼和位址組成。操作碼指明本指令的操作型別,位址碼指明運算元和位址。運算元本身無資料型別的標誌,它的資料型別由操作碼確定。

(4)通過執行指令直接發出控制訊號控制計算機的操作。指令在儲存器中按其執行順序存放,由指令計數器指明要執行的指令所在的單元位址。指令計數器只有乙個,一般按順序遞增,但執行順序可按運算結果或當時的外界條件而改變。

(5)以運算器為中心,i/o裝置與儲存器間的資料傳送都要經過運算器。

(6)資料以二進位制表示。

(2)順序執行程式.

2、哈佛結構: 將程式資料與普通資料分開儲存,兩個硬碟,兩個記憶體... 

3、cpu(central processing unit)

alu(arithmetic and logic unit):

算術邏輯單元(alu)、

累加器狀態暫存器

通用暫存器組

cu(control unit):

ir(instruction register):存放指令

id(instruction decoder)指令解碼器

oc(operation controller)

暫存器,快取記憶體,資料狀態控制匯流排

二、作業系統

1、作業系統核心,提供三個抽象:

檔案對i/o裝置的抽象,虛擬儲存器對主存和硬碟的抽象,程序對處理器主存i/o裝置的抽象

檔案:位元組序列。檔案是個抽象,使得程式統一對待各種i/o裝置,包括網路       

2、作業系統在cpu暫存器,主存,i/o裝置間拷貝資料,形成了儲存層次結構:

cpu暫存器,晶元的快取記憶體sram-->晶元外的快取記憶體sram-->主存dram-->本地硬碟/網路分布式檔案系統。

拷貝次數越少,越好,netty,零拷貝

三、資訊的表示與處理(資訊=bit+上下文)

1、大多數用byte作為最小的可定址儲存器單位,比如最小的型別為byte型別。

2、virtual memory: 程式把儲存器視為乙個非常大的位元組陣列,每個位元組都有乙個唯一的數字來標識,成為位址(address)

所有可能位址的集合稱為virtual address sapce

3、字長(word size): 指明整數和指標資料的標稱大小(nominal size),虛擬位址以這樣的字來編碼

4、dma直接儲存

dma:direct memory access(訪問)

使得外圍裝置可以通過dma控制器直接訪問記憶體,而不需要依於 cpu 的大量中斷負載。

dma控制器

dma傳輸前,cpu要把匯流排控制權交給dma控制器,結束後再交回給cpu。

dma控制器與cpu分時使用記憶體的三種方式:

(1)停止cpu訪記憶體: dma傳輸時,cpu閒置,外圍i/o訪問慢,記憶體快,得不到充分利用

(2)週期挪用;

(3)dma與cpu交替訪記憶體。

根本原因:四者權衡:i/o裝置讀寫週期,cpu工作週期,記憶體訪問週期,dma控制權轉移。

程序:作業系統對執行程式的一種抽象,乙個系統上,多個程序都好像獨佔硬體,稱之為併發執行       

context switching: 乙個程序的指令和另乙個程序的指令交替進行。

需要儲存程序執行的所有狀態資訊:pc,暫存器,主存內容

虛擬儲存器(虛擬儲存空間)

為每個程序抽象出乙個儲存器,好像每個程序都獨佔儲存器,       

《深入理解計算機系統》讀書筆記

小端模式 低有效位元組在前,高有效位元組在後 代表處理器 intel 大端模式 高有效位元組在前,低有效位元組在後 代表處理器 ibm power sun c語言允許無符號整數與有符號整數之間的轉換,轉換規則是 底層的位保持不變 當執行乙個運算時,若兩個數乙個為無符號數,乙個是有符號數,則c語言隱式...

《深入理解計算機系統》讀書筆記

ip位址是乙個32為無符號整數,ip位址存放在ip位址結構體中 struct in addr tcp ip規定統一的網路位元組順序 大端位元組順序 因為主機位元組順序 host byte order 是小端法,所以必須有函式用於轉換。htonl函式和ntohl是32位整數,short是16位整數 i...

深入理解計算機系統(讀書筆記)

計算機的資訊儲存和處理都是以二進位制為基礎的,通過一系列的0,1組合,我們能夠去表示有限的整數和實數。首先了解三種重要的符號表示方法 有符號表示 用於表示大於或等於0的整數 無符號表示 用於表示有正有負的整數 浮點數 以科學計數法為基礎的二進位制表示方法 在計算機內部資料是按照字進行儲存的,字有著統...