處理器如何快速處理資訊的?

2023-08-12 07:34:58 字數 2365 閱讀 6396

我們都知道cpu是乙個運算速度極快的工具,乙個幾百位乘法的運算人類可能需要幾分鐘才能算出,而cpu只需要一秒。包括很多的科學計算,會進行大量的浮點運算,這是對計算精度要求相當高的,如果要求普通人計算是很容易計算錯誤,但是計算機卻可以保證0失誤。那你有沒有好奇過cpu可以運算這麼快這麼,它的資料是如何進行處理的呢?資料之間的傳輸是如何進行的呢?cpu計算的能力上限又在**?

如果你也有這些困惑,接下來的內容可能會幫助你解除一些疑惑。首先我們從處理器方面來看一下,cpu是乙個單純負責做計算任務的,但是它只能對0和1進行操作。每個需要進行運算的資料都需要用二進位制的方式進行傳輸,這個是不太符合我們正常的習慣的。所以就需要作業系統幫我們做這些翻譯的工作,比如說我們需要輸入乙個數字256,作業系統就要幫我們翻譯成100000000。然後再傳入cpu的計算單元,使cpu開始計算任務。

這個時候讓我們先來梳理一下256到100000000的這個過程中間都發生了什麼事情,首先我們需要輸入256這個數字,既然要輸入了那麼就意味著需要使用鍵盤,那在鍵盤上按下的按鍵又會發生什麼呢?

首先,在我們按下2這個數字的時候,作業系統會接收到乙個按鍵碼(或者說掃瞄碼),這個按鍵碼是乙個十六進製制的數值,然後當我們鬆開這個按鍵之後,這個按鍵碼的資訊就會結束,作業系統會根據按鍵的按下和釋放的時間來判斷是否是一次完整的按鍵事件。在作業系統得到這個按鍵碼之後就會觸發乙個中斷處理程式,這個時候會將我們剛剛的按鍵碼對應的十六進製制進行解析,在按鍵對映表中找到對應的按鍵資訊,解析完成之後就會進行事件響應並將2這個字元輸出到記憶體中的顯示區域,這樣就能在螢幕上顯示我們剛剛進行的操作。

其實這中間還有很多的過程步驟,因為篇幅原因只是大概提一下,可以看出僅僅是按下乙個按鍵都需要進行很多的資訊處理,並且都是作業系統幫我們完成的,而且這些複雜的操作都是在我們按下按鍵的一瞬間就完成了。可以看出作業系統對我們非常的重要,正是因為代替我們完成了很多的工作,才讓我們操作電腦變得更簡單了。

既然作業系統這麼重要,我們是不是就應該把它的優先順序放的很高,也就是說我們應該盡量讓它執行的很快?那這個時候就應該考慮它的存放問題,畢竟作業系統也是乙個容量比較大的“檔案”,我們還是要把它儲存起來。之前我們說過ssd是乙個高速的儲存裝置,如果考慮把作業系統放在這裡可不可以呢?

其實是可以,但是我們前面說了,它的優先順序很高,所以我們就要把它放在速度最快的地方,顯然ssd不是最快的,那這個時候就應該想到dram也就是記憶體。雖然記憶體每次斷電資料就會丟失,但是這並不妨礙,只需要我們在每次開機的時候重新把資料放入到記憶體中就可以了,畢竟速度真的很重要。

既然已經在記憶體中存放了系統了,接下來就應該進行正式的資料傳輸了。在計算機的世界裡,資料的傳輸都是依靠位址來尋找,因為儲存的所有資料本質上都是0和1的排列組合,毫無目的的尋找是不切實際的事情。所以在資料前加上位址,這就相當與你的名字,知道了你的名字和家庭住址就能知道你到底是哪乙個。儘管在記憶體中資料才是最重要的,然而描述資料所在位置的位址也會站很大一部分記憶體容量,雖然在我們眼裡位址在實際情況中並沒有作用,但是為了管理龐大的資料,但是這也是無法改變的事情。

當cpu在進行資料操作的時候,假設現在需要訪問實體地址0x12bc這個位址的資料,首先程式中使用的因為都是虛擬位址(至於為什麼會使用虛擬位址可以看上一篇文章),所以要先經過記憶體管理單元(mmu)轉換成實體地址。

在cpu中有乙個高速的虛擬位址轉換表,這就是tlb(translation lookaside buffer)也就是位址變換快取記憶體,因為它是整合在cpu中的,所以速度非常的快。在儲存層次結構中,只要越靠近cpu它的速度就會越快,tlb在cpu中當然就是最快的。如果在tlb中有目標位址那就是命中,如果沒有需要的位址就是未命中。這個時候就要去物理記憶體中去尋找頁表,在記憶體中找到頁表之後就可以獲取實體地址,也就成功將虛擬位址轉換成實體地址,這種情況是一定比tlb命中的情況下要慢的。

但是還有更慢的一種情況,也就是缺頁中斷的情況,什麼是缺頁中斷呢?在虛擬記憶體的概念中,我們將記憶體分為乙個乙個的頁進行管理,現在大多數的作業系統會將頁的大小設定為4kb,當然這個頁的大小是可以依據實際情況進行優化調整的並不是乙個固定值,這裡不詳細展開。

在上一篇文章中說到過,在虛擬記憶體的概念中,我們可以實現記憶體“無限大”,也就是理論上說硬碟有多大,記憶體就能有多大。但是這樣做的代價就是會有很多的後台應用或者不活躍應用會被放到硬碟上,這樣就是為了記憶體節省空間給當前的應用。那麼這個時候如果我們突然從當前的應用,切換到被放到硬碟中的應用,這時候就會發生前面所說的缺頁中斷。

缺頁中斷就會導致乙個特別長時間的“資料延遲”,因為從tlb開始到記憶體就是幾納秒到幾百納秒的延遲,再從記憶體到磁碟就是幾百納秒到毫秒的延遲,所以一次磁碟訪問對於cpu的效能有非常大的影響,對程式的執行速度也會有極大的影響。因為獲取乙個資料需要的時間太久了,cpu本來執行的速度就非常快,記憶體速度一直以來都是cpu的效能瓶頸,在遇到訪問磁碟的情況,對於cpu效能更是極大的浪費。

所以這麼久以來雖然cpu發展的速度飛快,但是因為記憶體速度實在難以提公升,難以與cpu的速度相匹配,所以長久以來記憶體的速度都是限制cpu效能的重要一環。

天璣所有處理器排名

大家好,今天我們來聊一聊天璣所有的處理器排名。作為手機處理器領域的佼佼者,天璣處理器一直以來都備受關注。那麼,你知道天璣的處理器排名是怎樣的嗎?接下來,我將為大家詳細解析。首先,我們要明確天璣處理器的分類。天璣處理器分為高階 中端和入門三個等級。在高階領域,天璣推出了9000和8100兩款處理器,它...

變頻水處理器廠作用

變頻水處理器廠作用。一 引言。水是生命之源,對於人類來說,水的安全和質量至關重要。然而,隨著工業化和城市化的發展,水汙染問題日益嚴重,給人們的生活和健康帶來了很大的威脅。為了解決這個問題,變頻水處理器廠應運而生。本文將介紹變頻水處理器廠的作用和優勢。二 什麼是變頻水處理器廠。變頻水處理器廠是一種通過...

分享丨垃圾處理器不堵不反味

樓齡20年的小區。3年前裝修時安裝了垃圾處理器。前三個月經歷了各種磨合。目前使用良好,沒堵過,沒反味,沒有維修記錄。分享一些小經驗吧。選購時需要留意的點 選大品牌,賣了至少三年以上,本地城市有上門售後服務的。直接問銷售,能不能打雞架魚頭。豬大骨棒就不必了。大骨棒也塞不進。正確使用才是不堵的關鍵 不要...