計算機系統是由硬體和系統軟體組成的,他們共同工作來執行應用程式。深入理解底層計算機系統以及它對應用程式的影響有助於提高程式的效能。
1.1 資訊就是位 + 上下文
源程式實際上就是乙個由值0和1組成的位序列。程式是由文字字元表示的,8個位被組織成一組,成為位元組,每個位元組表示為程式中的文字字元。
文字字元大都用ascii 碼表示。
ascii碼:(a~z:65~90 a~z: 97~122 '\n':10 space:32)
系統中的所有資訊--包括磁碟檔案,儲存器中的程式,儲存器中存放的使用者資料以及網路上傳送的資料都是由一串位表示的。區分不同資料物件的唯一方法就是我們讀到這些資料物件時的上下文。比如在不同的上下文中,乙個同樣的位元組序列可能表示乙個整數,浮點數,字串或者機器指令。
1.2 程式被其他程式翻譯成不同的格式
這裡涉及到編譯原理方面的知識,參考書籍《編譯原理》 人稱龍書。
程式的編譯流程如下:
各個步驟的細節不多講,書上講的很詳細。
1.3 了解編譯系統如何工作是大有益處的(略)
1.4 處理器讀並解釋儲存在儲存器中的指令
系統的硬體組成
1.5 快取記憶體至關重要
利用快取記憶體可大幅度提高程式的效能。
1.6 儲存裝置形成層次結構
注:sram:靜態隨機訪問儲存器,採用觸發器工作原理儲存資訊。
dram:動態隨機訪問儲存器,採用電容儲存電荷的原理寄存資訊。
二者比較:
dram的整合度遠高於sram,dram的基本單元電路為乙個mos管,而sram的基本單元電路可為4~6個mos管;
dram使用動態元件(電容),因此它的速度比sram低;
dram行、列位址按先後順序輸送,減少了晶元引腳,封裝尺寸也減少;
dram的功耗比sram小;
dram**比sram便宜,容量大,但訪問週期慢;
dram需要再生,故需配置再生電路,需要消耗一部分功率。
以上原因可以解釋為什麼快取記憶體用sram,而主存用dram。
1.7 作業系統管理硬體
詳細說明書上以給出。
虛擬儲存器:
1.8 系統之間利用網路通訊(略)
1.9 重要主題(略)
1.10 小結
這是本書的第一章,是對以後各章的乙個概述吧,所以並沒有值得大書特書。本書的後面章節才是重中之重。如果有計算機組成原理基礎和作業系統基礎的可完全跳過。
深入理解計算機系統 第一章 計算機系統漫遊
本著對計算機執行原理的好奇以及個人職業發展的需要,開始閱讀這本書。以下分節記錄讀書筆記 1.1 資訊就是位 上下文 計算機系統中存放的所有資訊都是由一串位元 bit 表示的,但值得注意的是,同樣的位元資訊在不同的上下文中所代表的意思是不同的。在這裡,我們可以將 上下文 理解為對位元資訊的解讀方式。每...
深入理解計算機系統 第一章 計算機系統漫遊
系統中的所有資訊,包括磁碟檔案,記憶體中的程式,記憶體中存放的使用者資料以及網路上傳送的資料,都是由一串位元表示的。區分不同資料物件的唯一方法是我們讀到這些資料物件的上下文。乙個程式的生命週期是從乙個高階c語言程式開始的,為了能在系統上執行該程式,每條語句都必須被其他程式轉換成一系列低階機器語言,然...
《深入理解計算機系統》第一章計算機系統漫遊
1 本章從乙個程式的生命週期講起,分別對程式的建立 編譯 執行 輸出 終止進行了詳細的解讀,從中引出了關於資訊上下文 編譯系統 快取記憶體 作業系統等重要概念。網上找到一張框架圖 2 乙個程式的生命週期是從源程式開始的,通過編譯器建立並儲存的文字檔案。源程式實際上是乙個由0和1組成的位序列,又叫做位...