計算機系統讀書筆記三

2021-10-06 12:32:08 字數 1744 閱讀 6660

程式的機器級表示:

計算機執行機器**,用位元組序列編碼低階的操作,包括處理資料、管理記憶體、讀寫儲存裝置上的資料、利用網路通訊。

編譯器將源**轉譯成機器**需要基於:程式語言的規則、目標機器的指令集、作業系統遵循的慣例。

彙編**是機器**的文字表示。

逆向工程:通過研究系統和逆向工作,來試圖了解系統的建立過程。

c語言-彙編**-機器** 相互關係

gdb偵錯程式,用來檢查機器級程式執行時的行為。

ia32和x86-64 組合語言

intel處理器的發展歷史:k表示1000,m表示1000000,g表示1000 000 000

8086 2023年 29k個電晶體 單晶元 16位處理器

8088 在8086上增加乙個8位外部匯流排

8087 2023年 45k個電晶體 浮點協處理器

80286 2023年 134k電晶體

i386 1985 275k個電晶體  體系結構擴充套件到32位

i489 2023年 1.2m個電晶體

pentium 1993 3.1m 指令集進行了小擴充套件

pentiumpro 1995 5.5m 增加條件傳送指令

pentium/mmx 1997 4.5m

pentium2 1997 7m

pentium3 1999 8.2m

pentium4 2000 42m

pentium4e 2004 125m 增加了超執行緒 在處理器上有pc和暫存器備份。

core2 2006 291m 多個微處理器,不支援超執行緒

corei7,nehalem 2008 781m 多核,超執行緒

corei7,sandy bridge 2011 1.17g個電晶體

corei7,haswell 2013 1.4g個電晶體

摩爾定律:用來描述硬體的增長趨勢。

程式編碼:

1.機器級**,對於機器級程式設計,有兩種抽象很重要:

a.由指令集體系結構或指令集架構(isa)定義機器級程式的格式和行為,它定義了處理器狀態、指令的格式,以及每條指令對狀態的影響。

b.機器級程式使用的記憶體位址是虛擬位址,提供的記憶體模型好像乙個非常大的位元組陣列。儲存器系統的實際實現是將多個硬體儲存器和作業系統軟體結合起來。

條件碼暫存器,儲存最近執行的算術或邏輯指令的狀態資訊。它們用來實現控制或資料流中的條件編號。

一組向量暫存器,可以存放乙個或多個整數或浮點數值。

程式在記憶體中的快照:

1.程式的可執行**。

2.作業系統需要的資訊。

3.用來管理過程呼叫和返回的執行時棧。

4.使用者分配的記憶體塊。

作業系統負責管理虛擬位址空間,將虛擬位址翻譯成實際處理器記憶體中的實體地址。

一條機器指令只執行乙個非常簡單的操作(電訊號0和1),乙個程式是多條機器指令按照一定順序執行的序列。

彙編**指令都有乙個字元的字尾,表明運算元的大小,如傳送指令的四個變種:movb(傳送位元組)、movw(傳送字)、movl(傳送雙字)、movq(傳送四字)

訪問資訊:

運算元指示符:

大多指令有乙個或多個運算元,指示出執行乙個操作中要使用的源資料值,以及放置結果的目的位置。

定址模式:立即數偏移,乙個基址暫存器,乙個變址暫存器,乙個比例因子。

資料傳送指令:

壓入和彈出棧資料

算術和邏輯操作

移位操作,先給出移位量,第二項給出的是要移位的數。

控制條件碼:

訪問條件碼:

跳轉指令:

計算機系統讀書筆記一

源程式是由值0和1組成的位 位元 序列。8個位是乙個位元組。每個位元組表示程式中的文字字元。ascii ascii碼用唯一的單位元組大小的整數值賴表示每個字元。2 8 256個字元。基本思想 系統種的所有資訊,包括磁碟檔案 記憶體中的程式 記憶體中存放的使用者資料以及網路上傳送的資料,都是由一串位元...

讀書筆記 深入計算機系統

第一章 1.典型系統的硬體組成結構 2.計算機儲存器層次模型 3.程序虛擬位址空間模型 4.作業系統的倆個功能 防止硬體被失控的程序濫用 提供廣泛的不同的低階硬體的統一訪問入口。5.檔案就是位元組序列,每個io裝置 包括磁碟 鍵盤 顯示器 甚至是網路都可以被看成檔案。處理磁碟檔案內容的程式設計師不需...

讀書筆記之計算機系統 6

文 件 管 理 1.對於通常的unix 檔案目錄,其每個目錄項中含有乙個ascii 碼的檔名和乙個索引結點號,後者指向乙個索引結點。當有重複檔案時,乙個目錄項可由乙個檔名和若干個索引結點號組成,每個索引結點號都是指向各自的索引結。2.共享鎖與互斥鎖的區別在於 互斥鎖僅允許乙個事務對相應物件執行讀或寫...