深入理解計算機系統 00

2021-10-06 18:33:12 字數 1638 閱讀 3548

資訊就是位+上下文

乙個程式的生命週期是從乙個源程式(原始檔)開始,如檔名為hello.c。源程式是乙個由值0和1組成的(位元)序列,8個位組成一組,成為位元組

程式是以位元組序列的方式儲存在檔案中的,系統中所有的資訊,包括磁碟檔案,記憶體中的程式和資料,以及網路上傳送的資料,都是由一串位元表示的。區分不同資料的唯一方法是我們讀到這些資料物件時的上下文。在不同的上下文中,乙個同樣的位元組可能表示乙個整數、浮點數、字串、指令。

作為計算機開發者,需要了解數字的機器表示方法,它與實際的整數和實數是不同的,它是對真值的有限近似。

預處理 -> 編譯器 -> 彙編器 -> 鏈結器

為了在系統上執行hello.c程式,每條c語句都必須被其他程式轉換為一系列機器語言指令,這些指令按照一組稱為可執行目標程式的格式打包,並以二進位制磁碟檔案的形式儲存,目標程式也稱為可執行目標檔案。在unix系統上,從原始檔到目標程式的轉化是由編譯器驅動程式完成的。

系統的硬體組成:

匯流排

貫穿整個系統的一組電子管道,稱作匯流排,它攜帶資訊位元組並負責在各個部件間傳遞。通常匯流排被設計成傳送定長的位元組塊,也就是。字中的位元組數(字長)是乙個基本系統引數,大多數是4位元組(32位),或8位元組(64位)。

i/o裝置

輸入/輸出裝置是系統與外部世界的聯絡通道,如用於使用者輸入的鍵盤滑鼠,作為使用者輸出的顯示器,用於長期儲存資料和程式的磁碟。每個io裝置都通過乙個控制器(io裝置本身或主機板上的晶元)或介面卡(插在主機板插槽上的卡)與io匯流排相連。

控制器和介面卡的功能就是在io匯流排和io裝置之間傳遞資訊。

主存

主存是乙個臨時儲存裝置,在處理器執行程式時,用來存放程式和程式處理的資料。從物理上說,主存是一組動態隨機訪問儲存器(dram)晶元組成的。從邏輯上說,儲存器是乙個線性位元組陣列,每個位元組都有唯一的位址(陣列索引),位址從零開始。

處理器

**處理單元(cpu),是解釋(或執行)儲存在主存中指令的引擎。處理器的核心是乙個大小為一字的儲存裝置(暫存器),稱為程式計數器(pc)。在任何時刻,pc都指向主存中某條機器語言指令(即含有該條指令的位址)。

從系統通電開始,直到系統斷電,處理器一直在不斷執行程式計數器指向的指令,再更新程式計數器,使其指向下一條指令。

cpu指令操作:

快取記憶體

儲存裝置

作業系統管理硬體

程序

執行緒

虛擬記憶體

檔案

系統之間網路通訊

併發和並行

深入理解計算機系統

關鍵路徑是在迴圈的反覆執行中形成的資料相關鏈。迴圈展開是一種程式變換,通過增加每次迭代計算的元素的數量,減少迴圈的迭代次數。重新結合變換能夠減少計算中關鍵路徑上操作的數量,通過更好地利用功能單元的流水線能力得到更好的效能。浮點運算不保證是可結合的,通常迴圈展開和並行地累積在多個值中,是提高程式效能的...

《深入理解計算機系統》

知乎 深入理解計算機系統 這本書需要什麼水平能看懂?15 213 18 218 15 513 introduction to computer systems schedule fall 2016 鏈結失效則 cmu15 213的課程主頁,有ppt,還有錄影,主講人就是這本書的作者。備註 備註 詳細...

深入理解計算機系統

系統的硬體組成 快取記憶體 作業系統管理硬體 程序虛擬記憶體 檔案amdahl定律 併發和並行 0和1組成的位序列,又稱為位元序列,8個位被組織成一組,成為位元組。每個位元組表示程式中的某些文字字元。系統中的所有資訊 包括磁碟檔案 記憶體中的程式 記憶體中存放的的使用者資料以及網路上傳送的資料,都是...