欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
CPU 是如何工作的?
CPU(中央處理器),也被稱(chēng)為微處理器,是計算機的心臟和/或大腦。本文讓我們一起深入了解計算機的核心,以幫助我們高效地編寫(xiě)計算機程序。

作者 | Milap Neupane

譯者 | 蘇本如,責編 | 屠敏

出品 | CSDN(ID:CSDNnews)

以下為譯文:
“工具通常比機器簡(jiǎn)單,通常用手來(lái)使用,而機器通常由動(dòng)物或蒸汽動(dòng)力驅動(dòng)?!?/section>
——查爾斯·巴貝奇
計算機是一種機器,主要由電力驅動(dòng),但其靈活性和可編程性幫助實(shí)現了其作為一種工具的簡(jiǎn)單性。
CPU是計算機的心臟和/或大腦。負責執行提供給它們的指令。它的主要任務(wù)是執行算術(shù)和邏輯運算,并將指令協(xié)調在一起。在深入到本文的主要部分之前,讓我們先看看CPU的主要組成部分,以及它們的作用分別是什么。

CPU的兩個(gè)主要組成部分

控制單元?—?CU
控制單元(CU)是CPU的一部分,它幫助協(xié)調指令的執行。它告訴CPU應該做什么。它的主要職責是根據指令,幫助激活連接CPU和計算機其他不同部件(包括ALU)的線(xiàn)路??刂茊卧荂PU的第一個(gè)接收處理指令的部件。
控制單元有兩種類(lèi)型:
  • 硬接線(xiàn)控制單元。

  • 微型可編程(微編程)控制單元。

硬接線(xiàn)控制單元是一種硬件,它需要在硬件上進(jìn)行更改以實(shí)現對其工作方式的修改,而微型可編程控制單元則可以進(jìn)行編程以更改其工作方式。硬接線(xiàn)控制單元在處理指令方面更快,而微型可編程控制單元則更靈活。
算術(shù)邏輯單元 —? ALU
算術(shù)邏輯單元(ALU),顧名思義,就是負責所有的算術(shù)和邏輯運算。算術(shù)邏輯單元執行加法運算,減法運算等操作。算術(shù)邏輯單元是由執行這些操作的邏輯電路或邏輯門(mén)組成。
大多數邏輯門(mén)接受兩個(gè)輸入并產(chǎn)生一個(gè)輸出。
下面是一個(gè)半加法器電路的例子,它接受兩個(gè)輸入并輸出結果。這里A和B是輸入,S是輸出,C是進(jìn)位。   
半加法器電路圖

存儲 - 寄存器和存儲器

CPU的主要任務(wù)是執行提供給它的指令。在大多數情況下,為了處理這些指令,它需要數據。有些數據是中間數據,有些是輸入,另一些是輸出。這些數據連同指令一起存儲在下列存儲器中:
寄存器
寄存器是一組可以存儲數據的小地方。寄存器是鎖存器(Latches)的組合。鎖存器也稱(chēng)為觸發(fā)器(flip-flops),是存儲1位信息的邏輯門(mén)的組合。
鎖存器有一條輸入線(xiàn),一條寫(xiě)入和輸入線(xiàn),和一條輸出線(xiàn)。我們可以啟用寫(xiě)入線(xiàn)對存儲的數據進(jìn)行更改。當寫(xiě)入線(xiàn)被禁用時(shí),輸出始終保持不變。
SR鎖存器,由一對交叉耦合的或非門(mén)(NOR Gates)構成。
CPU由寄存器來(lái)存儲輸出數據。由于是中間數據,它們被發(fā)送到主存儲器(RAM)的速度會(huì )慢。這些數據被發(fā)送到由總線(xiàn)連接的其它寄存器。寄存器可以存儲指令、輸出數據、存儲地址或任何類(lèi)型的數據。
存儲器(RAM)
RAM - 隨機存取存儲器是寄存器的集合,它們以?xún)?yōu)化的方式排列和壓縮在一起,以便存儲更多的數據。隨機存取存儲器(RAM)是易失性的,當我們關(guān)閉電源時(shí),它存儲的數據會(huì )丟失。由于RAM是用于讀/寫(xiě)數據的寄存器的集合,因此RAM可以用于存儲8位地址的輸入、用于存儲實(shí)際數據的數據輸入,和用于儲存最后的和鎖存器一樣工作的讀寫(xiě)啟用碼。

什么是指令

指令是計算機可以執行的最小粒度運算。CPU可以處理各種類(lèi)型的指令
指令類(lèi)型包括:
  • 算術(shù)運算指令,如加法和減法運算

  • 邏輯運算指令,如邏輯與(AND)、邏輯或(OR)和邏輯非(NOT)運算

  • 數據傳送指令,如數據移動(dòng)、輸入、輸出、加載和存儲

  • 程序控制指令,如條件/無(wú)條件轉移指令(if…goto,goto),轉子指令和轉移指令(call,return)

  • 通知CPU程序已結束的Halt指令

指令通過(guò)以下方式提供給計算機:使用匯編語(yǔ)言直接提供,或由編譯器生成,或用某些高級語(yǔ)言解釋給出。
這些指令在CPU內部是硬連線(xiàn)的。算術(shù)和邏輯運算指令包括在A(yíng)LU(算術(shù)邏輯單元)中,而程序控制指令由CU(控制單元)管理。
通常在一個(gè)時(shí)鐘周期(clock cycle)內,計算機可以執行一個(gè)指令,但是現代的計算機可以同時(shí)執行多個(gè)指令。
計算機可以執行的一組指令稱(chēng)為指令集。

CPU時(shí)鐘

時(shí)鐘周期
計算機的速度由其時(shí)鐘周期(Clock cycle)衡量。它是指計算機每秒工作的時(shí)鐘周期數。單個(gè)時(shí)鐘周期非常小,大約250*10^(-12)秒。每秒時(shí)鐘周期數越高,處理器速度越快。
CPU時(shí)鐘頻率(clock rate)的測量單位為GHz(千兆赫茲)。1Ghz等于10 ?Hz(赫茲)。一赫茲意味著(zhù)一秒鐘。所以一千兆赫茲意味著(zhù)每秒10 ?個(gè)時(shí)鐘周期。
時(shí)鐘周期越小,CPU可以執行的指令數量越多。時(shí)鐘周期等于時(shí)鐘頻率的倒數,而CPU時(shí)間=時(shí)鐘周期數/時(shí)鐘頻率
這意味著(zhù)為了改進(jìn)(減少)CPU時(shí)間,我們可以通過(guò)提高時(shí)鐘頻率,或優(yōu)化我們提供給CPU的指令來(lái)減少指令需要的時(shí)鐘周期的數量。一些處理器提供了提高時(shí)鐘頻率的能力,但由于這是一個(gè)物理變化,可能會(huì )出現過(guò)熱,甚至冒煙/起火。

指令是如何執行的

指令按順序存儲在隨機存取存儲器(RAM)上。對于一個(gè)假設的CPU指令,它由操作碼(OP code)和存儲器或寄存器地址組成。
控制單元(CU)內有兩個(gè)寄存器:用于加載指令操作碼的指令寄存器(IR),和用于加載當前正在執行的指令地址的指令地址寄存器。CPU中還有其他寄存器,用于存儲一個(gè)指令的最后4位的地址中存儲的值。
讓我們以一組實(shí)現兩個(gè)數字相加操作的指令為例。下面是這些指令及其說(shuō)明:
第一步 - LOAD_A 8:
該指令最初保存在RAM中,比如說(shuō)指令<1100 1000>。它的前4位是操作碼。這決定了這個(gè)指令要做什么。然后該指令被讀取到控制單元的指令寄存器(IR)中。指令被譯碼為load_A,這意味著(zhù)它需要加載地址1000中的數據,地址1000是存儲在寄存器A中的指令的后4位。
第二步 - LOAD_B 2:
與上面類(lèi)似,它將內存地址2(0010)中的數據加載到CPU的寄存器B中。
第三步 – ADD B A
接下來(lái)的這條指令是把這兩個(gè)數字相加。在這里,控制單元(CU)告訴算術(shù)邏輯單元(ALU)執行加法操作并將結果保存回寄存器A中。
第4步 – STORE_A 23
將結果保存回寄存器A中。
這是一組非常簡(jiǎn)單的指令,實(shí)現了兩個(gè)數字的相加操作。
現在,我們成功地得到了兩個(gè)數字相加的和值!
總線(xiàn)
CPU,寄存器,存儲器和IO設備之間的所有數據都通過(guò)總線(xiàn)傳輸。要將剛才兩數相加得到的和數保存到存儲器中,CPU將存儲器地址放入地址總線(xiàn),將得到的結果(和數)放入數據總線(xiàn),然后在控制總線(xiàn)中啟用正確的信號。這樣,數據在總線(xiàn)的幫助下被保存到存儲器中。
計算機系統總線(xiàn)
緩存
CPU還具有將指令預取到其緩存中的機制。我們知道,一個(gè)處理器可以在一秒鐘內完成數百萬(wàn)條指令。這意味著(zhù)從存儲器(RAM)中獲取指令所花費的時(shí)間比執行指令所花費的時(shí)間要多。所以CPU會(huì )預取一些指令和數據到其緩存中,以加快執行速度。
如果緩存中的數據和操作內存中的數據不同,則將數據標記為臟位(dirty bit)。
指令流水線(xiàn)
現代CPU在指令執行中采用指令流水線(xiàn)技術(shù)實(shí)現取指(FI)、譯碼(DI)、執行(EI)的并行化。當一條指令完成“取指”后進(jìn)入“譯碼”的同時(shí),下一條指令就可以進(jìn)行“取指”了,這樣就提高了指令的執行效率。
指令流水線(xiàn)技術(shù)
然而,當一條指令和另一條指令有依賴(lài)關(guān)系時(shí),這種技術(shù)會(huì )產(chǎn)生問(wèn)題。所以,指令流水線(xiàn)技術(shù)只能夠讓處理器以不同的順序執行相互之間沒(méi)有依賴(lài)關(guān)系的指令。
多核計算機
它基本上是有不同的CPU,但是有一些共享資源,比如緩存等。

性能

CPU的性能取決于它的執行時(shí)間。性能=1/執行時(shí)間
假設一個(gè)程序執行需要20毫秒。CPU性能為1/20=0.05ms。相對性能=執行時(shí)間1/執行時(shí)間2
影響CPU性能的因素是指令執行時(shí)間和CPU的時(shí)鐘速度(時(shí)鐘頻率)。因此,為了提高程序的性能,我們要么提高CPU的時(shí)鐘速度(時(shí)鐘頻率),要么減少程序中的指令數量。處理器的速度有限,現代多核計算機每秒可以支持數百萬(wàn)條指令。但是,如果我們編寫(xiě)的程序有太多的指令,就將導致整體性能的降低。
大O符號(Big O notation)計算方法可以用來(lái)確定在給定輸入的情況下CPU的性能將如何受到影響。
為了盡可能地提高CPU的速度,很多優(yōu)化工作已經(jīng)在CPU中進(jìn)行。而我們在編寫(xiě)任何程序時(shí),都需要考慮如何盡可能地減少我們提供給CPU的指令數量,以提高計算機程序的性能。
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
處理器體系結構(了解CPU的基本運行原理)
簡(jiǎn)單CPU設計實(shí)踐
劍指匯編(二):微機結構
CH04 MARIE:簡(jiǎn)單計算機模型
微機原理_第2章 微處理器_地址指針寄存器
微機原理篇8086CPU的內部結構
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久