計算機體系結構基礎

2021-10-07 09:55:07 字數 1892 閱讀 4820

現代計算機都是基於von neumann體系結構的,不管是嵌入式系統、pc還是伺服器。這種體系結構的主要特點是:cpu(cpu,central processing unit,**處理器,或簡稱處理器processor)和記憶體(memory)是計算機的兩個主要組成部分,記憶體中儲存著資料和指令,cpu從記憶體中取指令(fetch)執行,其中有些指令讓cpu做運算,有些指令讓cpu讀寫記憶體中的資料。

馮諾依曼五大結構:輸入、輸出、儲存器、控制器、運算器

cpu包含:暫存器、程式計數器pc、指令解碼器、算術邏輯單元、位址和資料匯流排bus(cpu和記憶體之間用位址匯流排、資料匯流排和控制線連線起來,32位處理器有32條位址線和32條資料線)

載入load:在x86平台上,硬碟是ata、sata或scsi匯流排上的裝置,儲存在硬碟上的程式是不能被cpu直接取指令執行的,作業系統在執行程式時會把它從硬碟拷到記憶體,這樣cpu才可以取指令執行,這個過程稱為載入。

程序process:程式載入到記憶體之後,成為作業系統排程執行的乙個任務,就稱為程序

執行緒thread:作業系統進行運算排程的最小單元,乙個程序可包含多個執行緒,每條執行緒並行執行不同的任務。

多程序:允許多個任務同時執行

多執行緒:允許單個任務分成不同的部分執行

訪問裝置與訪問記憶體的區別:記憶體是被動地等待被讀或被寫,裝置會自己產生資料,需要主動通知cpu來讀取資料,例如敲鍵盤產生乙個輸入字元,使用者希望計算機馬上響應自己的輸入,這就要求鍵盤裝置主動通知cpu來讀這個字元並做相應處理,給使用者響應。

中斷機制interrupt:每個裝置都有一條中斷線,通過中斷控制器連線到cpu,當裝置需要主動通知cpu時就引發乙個中斷訊號,cpu正在執行的指令將被打斷,程式計數器會設定成某個固定的位址(這個位址由體系結構定義),於是cpu從這個位址開始取指令(或者說跳轉到這個位址),執行中斷服務程式(isr,interrupt service routine),完成中斷處理之後再返回先前被打斷的地方執行後續指令。

中斷處理一般步驟先判斷哪個裝置引發了中斷,然後呼叫該裝置驅動程式提供的中斷處理函式進一步處理。

異常的產生 cpu當前執行的指令出了問題

中斷的產生與指令的執行是非同步的,異常的產生與指令的執行是同步的

mmu(memory management unit)記憶體管理單元:實現虛擬位址到實體地址的轉換,還提供記憶體保護機制

mmu將虛擬位址對映到實體地址是以頁page為單位

頁表定義虛擬記憶體和物理記憶體的對映關係

作業系統把虛擬位址空間劃分為使用者空間和核心空間

memory hierarchy分級儲存器體系:按照離cpu由近到遠的順序依次是cpu暫存器、cache、記憶體、硬碟,越靠近cpu的儲存器容量越小但訪問速度越快

暫存器、cache和記憶體中的資料都是掉電丟失的,這稱為易失性儲存器(volatilememory),與之相對的,硬碟是一種非易失性儲存器(non-volatile memory)。除了訪問暫存器由程式指令直接控制之外,訪問其它儲存器都不是由指令直接控制的,有些是硬體自動完成的,有些是作業系統配合硬體完成的。

cache從內訪問資料時一次取乙個cache line快取起來,作業系統從硬碟取資料時一次取幾kb快取起來,都是希望這些資料以後會被訪問到。大多數程式的行為都具有區域性性(locality)的特點:它們會花費大量的時間反覆執行一小段**(例如迴圈),或者反覆訪問乙個很小的位址範圍中的資料(例如訪問乙個陣列)。所以預讀快取的辦法是很有效的:cpu取一條指令,我把它相鄰的指令也都快取起來,cpu很可能馬上就會取到;cpu訪問乙個資料,我把它相鄰的資料也都快取起來,cpu很可能馬上就會訪問到。設想有兩台計算機,一台有32kb的cache,另一台沒有cache,而記憶體都是512mb的,硬碟都是100gb的,雖然多出來32kb的cache和記憶體、硬碟的容量相比微不足道,但由於區域性性原理,有cache的計算機明顯會快很多。高速儲存器即使容量只能做得很小也能顯著提公升計算機的效能,這就是memory hierarchy的意義所在。

計算機體系結構

計算機體系結構 計算機體系機構指計算機中部件和部件之間的聯絡 一 馮 諾依曼體系 1 計算機處理的資料和指令用二進位制數表示 2 採用儲存程式方式,指令和資料儲存在同乙個儲存器中。3 指令由操作碼和位址組成。操作碼指明指令的操作型別,位址指明運算元和位址。4 以運算器為中心,i o裝置與儲存器間的資...

計算機體系結構

2.計算機體系結構 經典計算機體系結構概念的實質是計算機系統中軟硬體介面的確定,其介面之上的是軟體的功能,介面之下的是硬體和韌體的功能。廣義 現代 的計算機體系結的構概念,它除了包括經典的計算機體系結構的概念範疇 指令集結構 還包括計算機組成和計算機實現的內容。計算機體系結構是程式設計師所看到的計算...

計算機體系結構

首先表示下就剛剛九寨溝發生7級 成都震感強烈 1.記憶體與位址 乙個位址所對應的記憶體單元不能存很多東西,只能存乙個位元組,以前講過的int float等多位元組的資料型別儲存在記憶體中要占用連續的多個位址,這種情況下資料的位址是它所佔記憶體單元的起始位址。2.cpu 處理器是32位的,那麼乙個字就...