計算機的系統框圖,嵌入式裝置也一樣。
控制單元和算術運算單元組成cup,圖中的主記憶體也就是我們常講的記憶體,這個記憶體就是記憶體條。
cpu 為乙個具有特定功能的晶元, 裡頭含有微指令集
,如果你想要讓主機進行什麼特異的功能,就得要參考這顆 cpu 是否有相關內建的微指令集才可以。
上面所述的微指令集: 精簡指令集 複雜指令集組成
乙個典型的cpu由
運算器、控制器、暫存器(暫存器就相當於一段記憶體)等器件組成,這些器件靠內部匯流排相連
內部匯流排實現cpu內部各個器件之間的聯絡。
外部匯流排實現cpu和主機板上其它器件的聯絡
cpu內部有資料匯流排,位址匯流排,控制匯流排。cpu外部也有資料匯流排,位址匯流排,控制匯流排,
例如記憶體條和cpu就是通過外部匯流排所連線的。cpu在進行資料讀取的時候都必須先經過記憶體,記憶體相當於乙個緩衝地帶。所以記憶體的容量應該大一點。但也不是越大越好的,由於匯流排有位數限制(不能無限多),所以讀取速度會被鉗制 ,當讀取速度最大時,再繼續增加記憶體也沒有什麼用來了
電腦開機:上電復位之後,cpu會去讀暫存器或者記憶體裡的某乙個指定位址( 到底是從**讀或者是讀到的是什麼麼不重要。重要的是在上電之後,會有指令自動的去告訴下一步去**,幹什麼),根據位址上的指令,cpu就會發去到那裡啟動系統(系統裝到在硬碟上面),記憶體裡的指令就是告訴去硬碟上的**去開機。
cpu訪問記憶體單元時要給出記憶體單元的位址。所有的記憶體單元構成的儲存空間是乙個一維的線性空間。我們將這個唯一的位址稱為實體地址。
概括的講,16位結構描述了乙個cpu具有以下幾個方面特徵:
1、運算器一次最多可以處理16位的資料。
2、暫存器的最大寬度為16位。
3、暫存器和運算器之間的通路是16位的
8086有20位位址匯流排,可傳送20位位址,定址能力為1m。
8086內部為16位結構,它只能傳送16位的位址,表現出的定址能力卻只有64k。
自問自答:8086cpu採用一種在內部用兩個16位位址合成的方法來形成乙個20位的實體地址~
cpu中的相關部件提供兩個16位的位址,乙個稱為段位址,另乙個稱為偏移位址;
段位址和偏移位址通過內部匯流排送入乙個稱為位址加法器的部件;
位址加法器將兩個16位位址合併成乙個20位的位址;
位址加法器合成實體地址的方法:實體地址=段位址×16+偏移位址
根據上述過程,我們可以了解到,記憶體其實是一整塊的,並不是分成一段一段的,但是由於cpu在訪問過程的方法,導致看起來記憶體像是被分成一段一段的。被分成一段一段是因為段位址的從在,所以記憶體的每一段都是由16的倍數開始的。每一段的大小都是由偏移位址決定的。8086中偏移位址為16位,即64kb(2^16=65536,65536/1024=64kb)。
理解CPU記憶體管理
概述 從設計層面理解cpu的記憶體模式,包括段式記憶體管理 頁式記憶體管理以及虛擬化擴充套件記憶體管理。實際上,硬體支援與軟體實現從來就不是能分開講的,比如,intel cpu架構師在選擇cpu的硬體特性時,必然會站在軟體的角度審視該特性。目前,硬體實現的許多特性完全可以由軟體方式實現,但為何非要設...
CPU 記憶體操作的理解
數電課本上有很多基礎數位電路設計,例如移位暫存器,位址選擇的儲存器等,這些都是構成cpu,mcu等龐大積體電路的基礎。我理解的晶元記憶體上定址,資料儲存都是與或非門的集合,這點fpga中體現的非常明顯。我們在學習任何一款晶元時,學習到暫存器操作外設,外設的暫存器是一段具有特殊功能的記憶體單元,意思就...
壓力測試時CPU 記憶體 初步理解
主要涉及資料庫 應用伺服器的效能分析 1 併發請求50個,兩個url,相當100併發數 應用伺服器一直保持cpu佔用率為20 40 資料庫程序連線數提公升20個,增加20左右會話數 2 併發請求10個,兩個url,相當200併發數 1 記憶體數提公升,訪問url時,需要請求資料庫操作,雖然操作完成關...