寄存器和內(nèi)存的區(qū)別
簡(jiǎn)單的講:
寄存器就是CPU直接拿他里面寄存的東西直接來(lái)進(jìn)行計(jì)算操作的,它就是CPU的一部分。寄存器是有限存貯容量的高速存貯部件,它們可用來(lái)暫存指令、數(shù)據(jù)和位址。在中央處理器的控制部件中,包含的寄存器有指令寄存器(IR)和程序計(jì)數(shù)器(PC)。在中央處理器的算術(shù)及邏輯部件中,包含的寄存器有累加器(ACC)。
緩存就是為了避免數(shù)據(jù)的多次從一個(gè)地方拿到另一個(gè)地方,從而在中間通過(guò)其中的一個(gè)劃分一塊區(qū)域作為臨時(shí)存放數(shù)據(jù)地址,以便下次取用方便的說(shuō)法。比如:寄存器拿出臨時(shí)寄存的地方,它是位于寄存器和內(nèi)存之間,相當(dāng)于一個(gè)中間樞紐。但是他的位置就是在寄存器之中,只是把寄存器劃分出來(lái)一個(gè)文件交換區(qū),用來(lái)存在最常使用的一些數(shù)據(jù)。在比如內(nèi)存從硬盤拿出一些東西放到內(nèi)存的某塊區(qū)域,把內(nèi)存這塊區(qū)域也叫做緩存,大家一定一定記得不要理解成緩存就是某一個(gè)啥東西,它只是說(shuō)明了數(shù)據(jù)中轉(zhuǎn)的一種方式而已。而一部分人說(shuō)的緩存說(shuō)的是高速緩存,那個(gè)是兩個(gè)不同的概念,這個(gè)高速緩存其實(shí)是CPU里面的一部分,它集成于CPU中,大家理解就是運(yùn)行速度更快的一種內(nèi)存,CPU每次直接拿來(lái)操作,不會(huì)經(jīng)過(guò)內(nèi)存和寄存器的過(guò)程,現(xiàn)在說(shuō)的都是L1 cache一級(jí)緩存,之前早起的L2 cache焊接在主板上。
內(nèi)存是存放我們需要處理的一些數(shù)據(jù),全部都會(huì)先都放到這塊,然后等使用的時(shí)候,寄存器會(huì)去從緩存或者內(nèi)存中獲取數(shù)據(jù)。主要有只讀存儲(chǔ)器和隨即存儲(chǔ)器,還有高速緩沖存儲(chǔ)器,現(xiàn)在主流使用的是隨機(jī)存儲(chǔ)器。其作用是用于暫時(shí)存放CPU中的運(yùn)算數(shù)據(jù),以及與硬盤等外部存儲(chǔ)器交換的數(shù)據(jù)。只要計(jì)算機(jī)在運(yùn)行中,CPU就會(huì)把需要運(yùn)算的數(shù)據(jù)調(diào)到內(nèi)存中進(jìn)行運(yùn)算,當(dāng)運(yùn)算完成后CPU再將結(jié)果傳送出來(lái),內(nèi)存的運(yùn)行也決定了計(jì)算機(jī)的穩(wěn)定運(yùn)行。比如現(xiàn)在大型的3D游戲的加在都是在一定大的內(nèi)存中進(jìn)行畫面加載的,因此一般3D游戲?qū)τ陔娔X的配置都有一定的要求,內(nèi)存和cpu都有嚴(yán)格的說(shuō)明。
總結(jié):
大家可以按最簡(jiǎn)單的數(shù)據(jù)的存儲(chǔ)和操作距離來(lái)理解它們的區(qū)別:
CPU(數(shù)據(jù)的操作)<====>緩存(數(shù)據(jù)的存儲(chǔ))<=====>寄存器(指令等存儲(chǔ))<====>內(nèi)存(需要等待的所有數(shù)據(jù)的存儲(chǔ))<====>外部存儲(chǔ)器(硬盤、光盤等)