深入認識CPU

2021-07-14 05:59:02 字數 2286 閱讀 7101

學習彙編的時候,對cpu的認識有助於對組合語言的理解,因為組合語言功能可以直接對cpu中的暫存器進行操作。

以8086cpu為例子,8086cpu是16位的,那麼16位cpu具有哪些性質呢?

1.cpu組成

2.使用暫存器

組合語言中使用的最多的就是暫存器,如何正確的使用暫存器,就要知道各種暫存器的作用

資料暫存器

ax 乘、除運算,字的輸入輸出,中間結果的快取

al 位元組的乘、除運算,位元組的輸入輸出,十進位制算術運算

ah 位元組的乘、除運算,存放中斷的功能號

bx 儲存器指標

cx 串操作、迴圈控制的計數器

cl 移位操作的計數器

dx 字的乘、除運算,間接的輸入輸出

變址暫存器

si 儲存器指標、串指令中的源運算元指標

di 儲存器指標、串指令中的目的運算元指標

bp 儲存器指標、訪問堆疊的指標

sp 堆疊的棧頂指標

ip 指令指標暫存器

段暫存器

es 附加段暫存器

cs **段暫存器

ss 堆疊段暫存器

ds 資料段暫存器

3.cpu流水線技術
流水線技術的作用:提高cpu執行效率

流水線方式

序列方式

cpu並不是等一條指令完成後,再開始第二條指令。而是採用流水線,把cpu的工作分成個四個流程,當取指令完成後,不是等待而是取第二條指令。

採用流水線技術後,並沒有加速單條指令的執行,每條指令的操作步驟乙個也不能少,只是多條指令的不同操作步驟同時執行,因而從總體上看加快了指令流速度,縮短了程式執行時間

兩種方式比較:

*流水線方式:在t4時間內,完成了第1個指令,第二個指令完成3/4,第三個指令完成1/2,第四個指令完成1/4

*序列方式:在t4時間內,完成1條指令

在同乙個時間內,流水線方式可以完成更多的指令,cpu的執行效率大大提高

4.cpu的亂序執行

是指cpu允許將多條指令不按程式規定的順序分開發送給各相應電路單元處理的技術。這樣將根據各電路單元的狀態和各指令能否提前執行的具體情況分析後,將能提前執行的指令立即傳送給相應電路

這好比請a、b、c三個名人為晚會題寫橫幅「春節聯歡晚會」六個大字,每人各寫兩個字。如果這時在一張大紙上按順序由a寫好」春節」後再交給b寫」聯歡」,然後再由c寫」晚會」,那麼這樣在a寫的時候,b和c必須等待,而在b寫的時候c仍然要等待而a已經沒事了。

但如果採用三個人分別用三張紙同時寫的做法, 那麼b和c都不必須等待就可以同時各寫各的了,甚至c和b還可以比a先寫好也沒關係(就象亂序執行),但當他們都寫完後就必須重新在橫幅上(自然可以由別人做,就象cpu中亂序執行後的重新排列單元)按」春節聯歡晚會」的順序排好才能掛出去。

處理器基本上會按照程式中書寫的機器指令的順序執行。按照書寫順序執行稱為按序執行(in-order )。按照書寫順序執行時,如果從記憶體讀取資料的載入指令、除法運算指令等延遲(等待結果的時間)較長的指令後面緊跟著使用該指令結果的指令,就會陷入長時間的等待。儘管這種情況無可奈何,但有時,再下一條指令並不依賴於前面那條延遲較長的指令,只要有了運算元就能執行。

解碼單元解碼後的指令不是直接送到流水線,而是根據各自的指令種類,將解碼後的指令送往各自的保留站中儲存下來。如果運算元位於暫存器中,就把運算元從暫存器中讀出來,和指令一起放入保留站。相反,如果運算元還在由前面的指令進行計算,那麼就把那條指令的識別資訊儲存下來。

然後,保留站把運算元齊備、可執行的指令依次送到流水線進行運算。即使指令位於前面,如果運算元沒準備好,也不能開始執行,所以保留站中的指令執行順序與程式不一致(亂序)。另外,保留站會監視執行流水線輸出的結果,如果產生的結果正好是等待中的指令的運算元,就將其讀入,這樣運算元齊備後,等待中的指令就可以執行了。

深入認識AsyncTask

首先我要說的是網上有很多關於aysnctask的文章,這裡我就不累贅重複做過多的基本介紹qaq,所以我就從側面闡述我對aysnctask的一些認識。我們都知道android官方為了讓建立非同步任務更簡單,把handler和thread封裝成aysnctask。所謂三核心,就是三個核心方法 aysnc...

CPU有分類認識

眾所周知,cpu是電腦的心臟,一台計算機所使用的cpu基本決定這台計算機的效能和檔次。cpu發展到至今,頻率已經到了2ghz。在我們決定購買哪款cpu或者閱讀有關cpu的文章時,經常會見到例如外頻 倍頻 快取等引數和術語。這裡把一些常用的和cpu有關的術語及分類做個簡要介紹。cpu是central ...

全面 深入認識XP啟用

大家都知道微軟對於windows作業系統的使用許可一直都有乙個限制 一套經過合法授權的windows作業系統副本只能被安裝在一台電腦上,但是事實上很多人都沒有遵守這種限制,而啟用技術也就是用來保證乙個授權只能被安裝在一台電腦上的一種手段。因此,我們安裝了windows xp的30天之內,如果想繼續使...