日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

寄存器 和 存储器

發(fā)布時(shí)間:2024/7/23 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 寄存器 和 存储器 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?

From:https://blog.csdn.net/menshu1892/article/details/79912090

?

?

一、計(jì)算機(jī)硬件

?

?先說內(nèi)核:內(nèi)核是操作系統(tǒng)最基本的部分。它是為眾多應(yīng)用程序提供對計(jì)算機(jī)硬件的安全訪問的一部分軟件,這種訪問是有限的,并且內(nèi)核決定一個(gè)程序在什么時(shí)候?qū)δ巢糠钟布僮鞫嚅L時(shí)間。內(nèi)核的分類可分為單內(nèi)核和雙內(nèi)核以及微內(nèi)核。嚴(yán)格地說,內(nèi)核并不是計(jì)算機(jī)系統(tǒng)中必要的組成部分,附一張內(nèi)核體系結(jié)構(gòu)照片?

可以看到內(nèi)核所處的位置:

?

CPU

中央處理器(CPU,Central Processing Unit)是一塊超大規(guī)模的集成電路,是一臺計(jì)算機(jī)的運(yùn)算核心(Core)和控制核心( Control Unit)。它的功能主要是解釋計(jì)算機(jī)指令以及處理計(jì)算機(jī)軟件中的數(shù)據(jù)。中央處理器主要包括運(yùn)算器(算術(shù)邏輯運(yùn)算單元,ALU,Arithmetic Logic Unit)和高速緩沖存儲器(Cache)及實(shí)現(xiàn)它們之間聯(lián)系的數(shù)據(jù)(Data)、控制及狀態(tài)的總線(Bus)。它與內(nèi)部存儲器(Memory)和輸入/輸出(I/O)設(shè)備合稱為電子計(jì)算機(jī)三大核心部件。

?

寄存器

寄存器是中央處理器內(nèi)的組成部份。它跟CPU有關(guān)。寄存器是有限存貯容量的高速存貯部件,它們可用來暫存指令、數(shù)據(jù)和位址。在中央處理器的控制部件中,包含的寄存器有指令寄存器(IR)和程序計(jì)數(shù)器(PC)。在中央處理器的算術(shù)及邏輯部件中,包含的寄存器有累加器(ACC)。

?

存儲器

存儲器范圍最大,它幾乎涵蓋了所有關(guān)于存儲的范疇。你所說的寄存器,內(nèi)存,都是存儲器里面的一種。凡是有存儲能力的硬件,都可以稱之為存儲器,這是自然,硬盤更加明顯了,它歸入外存儲器行列,由此可見。

?

內(nèi)存

內(nèi)存既專業(yè)名上的內(nèi)存儲器,它不是個(gè)什么神秘的東西,它也只是存儲器中的滄海一粟,它包涵的范圍也很大,一般分為只讀存儲器(ROM)和隨機(jī)存儲器(RAM),以及最強(qiáng)悍的高速緩沖存儲器(CACHE),只讀存儲器應(yīng)用廣泛,它通常是一塊在硬件上集成的可讀芯片,作用是識別與控制硬件,它的特點(diǎn)是只可讀取,不能寫入。隨機(jī)存儲器的特點(diǎn)是可讀可寫,斷電后一切數(shù)據(jù)都消失,我們所說的內(nèi)存條就是指它了。

?

緩存?cache

緩存就是數(shù)據(jù)交換的緩沖區(qū)(稱作Cache),當(dāng)某一硬件要讀取數(shù)據(jù)時(shí),會首先從緩存中查找需要的數(shù)據(jù),如果找到了則直接執(zhí)行,找不到的話則從內(nèi)存中找。由于緩存的運(yùn)行速度比內(nèi)存快得多,故緩存的作用就是幫助硬件更快地運(yùn)行。因?yàn)榫彺嫱褂玫氖荝AM(斷電即掉的非永久儲存),所以在用完后還是會把文件送到硬盤等存儲器里永久存儲。電腦里最大的緩存就是內(nèi)存條了,最快的是CPU上鑲的L1和L2緩存,顯卡的顯存是給顯卡運(yùn)算芯片用的緩存,硬盤上也有16M或者32M的緩存。CACHE是在CPU中速度非常塊,而容量卻很小的一種存儲器,它是計(jì)算機(jī)存儲器中最強(qiáng)悍的存儲器。由于技術(shù)限制,容量很難提升。

?

?

二、主要區(qū)別

?

1、寄存器存在于CPU中,速度很快,數(shù)目有限;?
? ? ? ? 存儲器就是內(nèi)存,速度稍慢,但數(shù)量很大;?
? ? ? ? 計(jì)算機(jī)做運(yùn)算時(shí),必須將數(shù)據(jù)讀入寄存器才能運(yùn)算。?
2、存儲器包括寄存器,?
? ? ? ? 存儲器有ROM和RAM

?

?

三、寄存器

?

簡介

寄存器是中央處理器內(nèi)的組成部分。寄存器是有限存貯容量的高速存貯部件,它們可用來暫存指令、數(shù)據(jù)和地址。在中央處理器的控制部件中,包含的寄存器有指令寄存器(IR)和程序計(jì)數(shù)器(PC)。在中央處理器的算術(shù)及邏輯部件中,存器有累加器(ACC)。?
寄存器的基本單元是 D觸發(fā)器,?
按照其用途分為基本寄存器和移位寄存器?
基本寄存器是由 D觸發(fā)器組成,在 CP 脈沖作用下,每個(gè) D觸發(fā)器能夠寄存一位二進(jìn)制碼。在 D=0 時(shí),寄存器儲存為 0,在 D=1 時(shí),寄存器儲存為 1。在低電平為 0、高電平為 1 時(shí),需將信號源與 D 間連接一反相器,這樣就可以完成對數(shù)據(jù)的儲存。?
需要強(qiáng)調(diào)的是,目前大型數(shù)字系統(tǒng)都是基于時(shí)鐘運(yùn)作的,其中寄存器一般是在時(shí)鐘的邊緣被觸發(fā)的,基于電平觸發(fā)的已較少使用。(通常說的CPU的頻率就是指數(shù)字集成電路的時(shí)鐘頻率)?
移位寄存器按照移位方向可以分為單向移位寄存器和雙向移位寄存器。單向移位寄存器是由多個(gè) D 觸發(fā)器串接而成,在串口 Di 輸入需要儲存的數(shù)據(jù),觸發(fā)器 FF0 就能夠儲存當(dāng)前需要儲存數(shù)據(jù),在 CP 發(fā)出一次時(shí)鐘控制脈沖時(shí),串口 Di 同時(shí)輸入第二個(gè)需要儲存是的數(shù)據(jù),而第一個(gè)數(shù)據(jù)則儲存到觸發(fā)器 FF1 中。雙向移位寄存器按圖中方式排列,調(diào)換連接端順序,可以控制寄存器向左移位,增加控制電路可以使寄存器右移,這樣構(gòu)成雙向移位寄存器。

?

特點(diǎn)

寄存器又分為內(nèi)部寄存器與外部寄存器,所謂內(nèi)部寄存器,其實(shí)也是一些小的存儲單元,也能存儲數(shù)據(jù)。但同存儲器相比,寄存器又有自己獨(dú)有的特點(diǎn):?

  • ①寄存器位于CPU內(nèi)部,數(shù)量很少,僅十四個(gè)?
  • ②寄存器所能存儲的數(shù)據(jù)不一定是8bit,有一些寄存器可以存儲16bit數(shù)據(jù),對于386/486處理器中的一些寄存器則能存儲32bit數(shù)據(jù)?
  • ③每個(gè)內(nèi)部寄存器都有一個(gè)名字,而沒有類似存儲器的地址編號。

?

用途

  • 1.可將寄存器內(nèi)的數(shù)據(jù)執(zhí)行算術(shù)及邏輯運(yùn)算?
  • 2.存于寄存器內(nèi)的地址可用來指向內(nèi)存的某個(gè)位置,即尋址?
  • 3.可以用來讀寫數(shù)據(jù)到電腦的周邊設(shè)備。

?

?

四、存儲器

?

存儲器簡介

構(gòu)成存儲器的存儲介質(zhì),存儲元,它可存儲一個(gè)二進(jìn)制代碼。由若干個(gè)存儲元組成一個(gè)存儲單元,然后再由許多存儲單元組成一個(gè)存儲器。一個(gè)存儲器包含許多存儲單元,每個(gè)存儲單元可存放一個(gè)字節(jié)(按字節(jié)編址)。每個(gè)存儲單元的位置都有一個(gè)編號,即地址,一般用十六進(jìn)制表示。一個(gè)存儲器中所有存儲單元可存放數(shù)據(jù)的總和稱為它的存儲容量。假設(shè)一個(gè)存儲器的地址碼由20位二進(jìn)制數(shù)(即5位十六進(jìn)制數(shù))組成,則可表示2的20次方,即1M個(gè)存儲單元地址。每個(gè)存儲單元存放一個(gè)字節(jié),則該存儲器的存儲容量為1MB。

?

ROM、RAM的區(qū)別

ROM(只讀存儲器或者固化存儲器)RAM(隨機(jī)存取存儲器)ROM和RAM指的都是半導(dǎo)體存儲器,ROM是Read Only Memory的縮寫,RAM是Random Access Memory的縮寫。ROM在系統(tǒng)停止供電的時(shí)候仍然可以保持?jǐn)?shù)據(jù),而RAM通常都是在掉電之后就丟失數(shù)據(jù),典型的RAM就是計(jì)算機(jī)的內(nèi)存。 RAM有兩大類,一種稱為靜態(tài)RAM(Static RAM/SRAM),當(dāng)數(shù)據(jù)被存入其中后不會消失。SRAM速度非常快,是目前讀寫最快的存儲設(shè)備了。當(dāng)這個(gè)SRAM 單元被賦予0 或者1 的狀態(tài)之后,它會保持這個(gè)狀態(tài)直到下次被賦予新的狀態(tài)或者斷電之后才會更改或者消失。但是存儲1bit 的信息需要4-6 只晶體管。因此它也非常昂貴,所以只在要求很苛刻的地方使用,譬如CPU的一級緩沖,二級緩沖。另一種稱為動態(tài)RAM(Dynamic RAM/DRAM),DRAM 必須在一定的時(shí)間內(nèi)不停的刷新才能保持其中存儲的數(shù)據(jù)。DRAM 只要1 只晶體管就可以實(shí)現(xiàn)。DRAM保留數(shù)據(jù)的時(shí)間很短,速度也比SRAM慢,不過它還是比任何的ROM都要快,但從價(jià)格上來說DRAM相比SRAM要便宜很 多,計(jì)算機(jī)內(nèi)存就是DRAM的。 DRAM分為很多種,常見的主要有FPRAM/FastPage、EDORAM、SDRAM、DDR RAM、RDRAM、SGRAM以及WRAM等,這里介紹其中的一種DDR RAM。DDR RAM(Date-Rate RAM)也稱作DDR SDRAM,這種改進(jìn)型的RAM和SDRAM是基本一樣的,不同之處在于它可以在一個(gè)時(shí)鐘讀寫兩次數(shù)據(jù),這樣就使得數(shù)據(jù)傳輸速度加倍了。這是目前電腦中用 得最多的內(nèi)存,而且它有著成本優(yōu)勢,事實(shí)上擊敗了Intel的另外一種內(nèi)存標(biāo)準(zhǔn)-Rambus DRAM。在很多高端的顯卡上,也配備了高速DDR RAM來提高帶寬,這可以大幅度提高3D加速卡的像素渲染能力。?
ROM也有很多種,PROM是可編程的ROM,PROM和EPROM(可擦除可編程ROM)兩者區(qū)別是,PROM是一次性的,也就是軟件灌入后,就無法修 改了,這種是早期的產(chǎn)品,現(xiàn)在已經(jīng)不可能使用了,而EPROM是通過紫外光的照射擦出原先的程序,是一種通用的存儲器。另外一種EEPROM是通過電子擦出,價(jià)格很高,寫入時(shí)間很長,寫入很慢。 最初,把只能讀的存儲器叫做ROM(Read Only Memory),并且掉電后數(shù)據(jù)不會丟失。由于不能改寫,因而使用起來很不方便。隨著技術(shù)的進(jìn)步,在ROM中使用一些新技術(shù),就可以使它具有可以編程的功能。比較早的是熔絲型的可編程ROM,由于是通過熔斷熔絲來編程的,所以這類ROM編程后,就不能再寫了,是一次性的(OTP)。后來又出現(xiàn)了EPROM,是通過紫外線來擦除的,并且通過高壓來編程,這類ROM上面一般有一個(gè)透明的石英玻璃窗,看上去挺漂亮的,它就是用來給紫外線照射的。后來又出現(xiàn)了EEPROM,不用紫外線照射就可以擦除,因而可以直接在電路中編程。另外還有FLASH ROM,又可分為NOR FLASH和NAND FLASH。FLASH ROM一般有一個(gè)特點(diǎn),就是寫數(shù)據(jù)時(shí),可以將1改為0,而不能將0改為1,因而寫數(shù)據(jù)前需要擦除,擦除時(shí)將所有數(shù)據(jù)置1。之所以依然叫做ROM,歸納一下,大概有幾個(gè)原因:?

  • ①不能像RAM那樣快速的寫;?
  • ②可能需要特殊的擦寫電壓;?
  • ③可能需要特殊的擦寫時(shí)序;?
  • ④可能需要在寫之前進(jìn)行擦除操作;?
  • ⑤擦寫次數(shù)有限,不像RAM那樣可以隨意寫而不損壞;?
  • ⑥掉電后數(shù)據(jù)不會丟失;?

舉個(gè)例子,手機(jī)軟件一般放在EEPROM中,我們打電話,有些最后撥打的號碼,暫時(shí)是存在SRAM中的,不是馬上寫入通過記錄(通話記錄保存在EEPROM中),因?yàn)楫?dāng)時(shí)有很重要工作(通話)要做,如果寫入,漫長的等待是讓用戶忍無可忍的。?
FLASH存儲器又稱閃存,它結(jié)合了ROM和RAM的長處,不僅具備電子可擦出可編程(EEPROM)的性能,還不會斷電丟失數(shù)據(jù)同時(shí)可以快速讀取數(shù)據(jù) (NVRAM的優(yōu)勢),U盤和MP3里用的就是這種存儲器。在過去的20年里,嵌入式系統(tǒng)一直使用ROM(EPROM)作為它們的存儲設(shè)備,然而近年來 Flash全面代替了ROM(EPROM)在嵌入式系統(tǒng)中的地位,用作存儲Bootloader以及操作系統(tǒng)或者程序代碼或者直接當(dāng)硬盤使用(U盤)。?
目前Flash主要有兩種NOR Flash和NADN Flash。NOR Flash的讀取和我們常見的SDRAM的讀取是一樣,用戶可以直接運(yùn)行裝載在NOR FLASH里面的代碼,這樣可以減少SRAM的容量從而節(jié)約了成本。NAND Flash沒有采取內(nèi)存的隨機(jī)讀取技術(shù),它的讀取是以一次讀取一快的形式來進(jìn)行的,通常是一次讀取512個(gè)字節(jié),采用這種技術(shù)的Flash比較廉價(jià)。用戶 不能直接運(yùn)行NAND Flash上的代碼,因此好多使用NAND Flash的開發(fā)板除了使用NAND Flah以外,還作上了一塊小的NOR Flash來運(yùn)行啟動代碼。 一般小容量的用NOR Flash,因?yàn)槠渥x取速度快,多用來存儲操作系統(tǒng)等重要信息,而大容量的用NAND FLASH,最常見的NAND FLASH應(yīng)用是嵌入式系統(tǒng)采用的DOC(Disk On Chip)和我們通常用的“閃盤”,可以在線擦除。

?

?

五、CPU位數(shù)、操作系統(tǒng)位數(shù)、指令集、寄存器位數(shù)、機(jī)器字長等

?

CPU位數(shù) = CPU中寄存器的位數(shù) = CPU能夠一次并行處理的數(shù)據(jù)寬度 = 數(shù)據(jù)總線寬度

CPU為了實(shí)現(xiàn)其功能一般設(shè)計(jì)了指令集(如:IA32指令集和x86-64指令集等),即是CPU的全部指令,這就是機(jī)器語言。計(jì)算機(jī)的所有功能都是基于CPU的指令集。指令集和CPU的位數(shù)是有聯(lián)系 的。如Intel 8086 CPU 是16位,其指令集也是16位。如Intel 80386DX CPU 是32位,其指令集也是32位,但它也保持原16位指令集,這是為了向上兼容。

注意:x86 又叫 IA32,即 Intel Architecture 32(Intel32位架構(gòu))

操作系統(tǒng)位數(shù) = 其所依賴的指令集位數(shù) <= CPU位數(shù)

機(jī)器字長 = 整數(shù)和指針數(shù)據(jù)的標(biāo)稱大小(字長決定的最重要的參數(shù)就是虛擬地址空間的最大大小)

CPU位數(shù)與操作系統(tǒng)位數(shù),這二者有區(qū)別也有聯(lián)系,操作系統(tǒng)位數(shù)的概念是基于CPU的位數(shù)的。 CPU的位數(shù)是指CPU能一次同時(shí)寄存和處理二進(jìn)制數(shù)碼的位數(shù),這和CPU中寄存器的位數(shù)對應(yīng)。 操作系統(tǒng)的位數(shù)是說其所依賴的指令集的位數(shù)。計(jì)算機(jī)系統(tǒng)一般都應(yīng)有向上兼容性,所以也可有64位CPU上運(yùn)行32位操作系統(tǒng)、32位CPU上運(yùn)行16位操作系統(tǒng)的情況。操作系統(tǒng)位數(shù)應(yīng)該是根據(jù)指針類型的位數(shù)來定的。整數(shù)類型不一定跟位數(shù)相等,CPU位數(shù)準(zhǔn)確地說應(yīng)該是CPU一次能夠并行處理的數(shù)據(jù)寬度,一般就是指數(shù)據(jù)總線寬度。?
附:?
64位CPU如:AMD Athlon64 、Intel Pentium 4 F?
32位CPU如:Intel 80386DX 到 Intel Pentium III 和部分Intel Pentium 4?
16位CPU如:Intel 8086、Intel 80286?
64位操作系統(tǒng)如:Windows XP Professional x64和Windows Server 2003 x64?
32位操作系統(tǒng)如:Windows95、Windows98、Windows NT、Windows 2000、Windows XP?
16位操作系統(tǒng)如:DOS?
Windows1.0到3.2是運(yùn)行在DOS上的,不能算是獨(dú)立的操作系統(tǒng)。
?

?

?

總結(jié)

以上是生活随笔為你收集整理的寄存器 和 存储器的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。