這些都是比較抽象的專(zhuān)業(yè)名詞了,特別是寄存器,很多人在學(xué)單片機(jī)的時(shí)候?qū)@個(gè)一臉懵逼,寄存器到底是個(gè)啥玩意?
其實(shí)不用很深刻的理解它到底是什么,你只需要知道通過(guò)配置寄存器的值,就可以把外設(shè)用起來(lái)。
我做單片機(jī)開(kāi)發(fā)的這10幾年,接觸寄存器非常多,比如單片機(jī)有寄存器,很多外圍芯片也有寄存器(EEPROM、FLASH、時(shí)鐘芯片等),只要你掌握其中一個(gè),其它的都可以觸類(lèi)旁通。
就像密碼鎖一樣,設(shè)置正確的密碼,鎖就會(huì)打開(kāi),寄存器也是一樣,設(shè)置正確的值,芯片資源就能為你所用。
下面更加全面地介紹下它們之間的區(qū)別:
一、寄存器
在單片機(jī)應(yīng)用上,寄存器(register)通常用于存儲(chǔ)程序的運(yùn)行時(shí)狀態(tài),例如程序計(jì)數(shù)器(Program Counter,PC)用于存儲(chǔ)下一條將要執(zhí)行的指令的內(nèi)存地址。
它還可以用于存儲(chǔ)一些臨時(shí)變量、函數(shù)參數(shù)、返回值等。
那這樣做有什么優(yōu)勢(shì)呢?
舉個(gè)例子:
假設(shè)你正在做一道復(fù)雜的數(shù)學(xué)題,中間有些計(jì)算結(jié)果需要暫時(shí)存起來(lái)。
你可以將這些結(jié)果寫(xiě)在紙上,但每次需要使用時(shí),都要去找到對(duì)應(yīng)的紙條,這可能會(huì)很耗時(shí)。
而如果你將這些中間結(jié)果直接寫(xiě)在自己手上,你是不是可以更快找到它們?這樣你就可以更快地完成整個(gè)數(shù)學(xué)題。
在計(jì)算機(jī)中,寄存器就像是計(jì)算機(jī)的“手”, 用于暫存中間結(jié)果,讓程序更快地運(yùn)行 。
那人只有兩只手,不能記太多數(shù)據(jù),寄存器也是一樣的,是稀缺資源,容量也很小,且它的數(shù)據(jù)在斷電后就消失了。
寄存器、存儲(chǔ)器、RAM和ROM都是計(jì)算機(jī)系統(tǒng)中常見(jiàn)的術(shù)語(yǔ),它們?cè)谟?jì)算機(jī)的存儲(chǔ)系統(tǒng)中都扮演著不同的角色,下面將對(duì)它們進(jìn)行通俗易懂的解釋。
二、存儲(chǔ)器
其實(shí)RAM和ROM都是屬于存儲(chǔ)器,RAM代表隨機(jī)存儲(chǔ)器,ROM代表只讀存儲(chǔ)器。
1.RAM
隨機(jī)存儲(chǔ)器(RAM)是計(jì)算機(jī)存儲(chǔ)器的一種,它的特點(diǎn)是數(shù)據(jù)可以隨機(jī)存取。
讀取和寫(xiě)入速度非常快,但需要不間斷的電源供應(yīng)。
RAM可以被CPU讀取和寫(xiě)入數(shù)據(jù), 且存儲(chǔ)器中的數(shù)據(jù)在斷電后會(huì)丟失 。
RAM還分為靜態(tài)存儲(chǔ)(SRAM)和動(dòng)態(tài)存儲(chǔ)(DRAM)兩種,SRAM比DRAM速度更快,所以價(jià)格也更貴。
在單片機(jī)應(yīng)用里面,一般RAM用來(lái)存變量、函數(shù)參數(shù)、返回值等數(shù)據(jù),掉電后數(shù)據(jù)會(huì)丟失。
2.ROM
只讀存儲(chǔ)器(ROM)是一種只能讀取數(shù)據(jù),不能寫(xiě)入數(shù)據(jù)的存儲(chǔ)器,數(shù)據(jù)一旦寫(xiě)入之后就無(wú)法更改。
ROM存儲(chǔ)器中的數(shù)據(jù)是固化在芯片中的,斷電后數(shù)據(jù)不會(huì)丟失。
ROM被用于存儲(chǔ)固化的程序和數(shù)據(jù),例如BIOS、固件等。
常見(jiàn)的ROM有EPROM、EEPROM、Flash等。
在單片機(jī)的應(yīng)用里,ROM一般用來(lái)存儲(chǔ)程序,或者一些固化的圖片數(shù)據(jù)。
三、總結(jié)
寄存器、存儲(chǔ)器、RAM和ROM都是計(jì)算機(jī)存儲(chǔ)系統(tǒng)中的重要部分。
它們的主要區(qū)別在于容量、速度、可讀寫(xiě)性和數(shù)據(jù)的持久性等方面。
寄存器的容量最小,速度最快,但數(shù)據(jù)在斷電后會(huì)丟失。
存儲(chǔ)器容量比寄存器大,讀寫(xiě)速度慢,但數(shù)據(jù)可以持久保存。
RAM可以讀寫(xiě)數(shù)據(jù),但數(shù)據(jù)在斷電后會(huì)丟失;
ROM只能讀取數(shù)據(jù),數(shù)據(jù)可以長(zhǎng)期保存。
它們的特性不同,在計(jì)算機(jī)系統(tǒng)中分別扮演不同的角色。
寄存器通常用于存儲(chǔ)CPU內(nèi)部的臨時(shí)數(shù)據(jù)和控制指令。
存儲(chǔ)器被用來(lái)存儲(chǔ)計(jì)算機(jī)程序和數(shù)據(jù),包括操作系統(tǒng)、應(yīng)用軟件和用戶數(shù)據(jù)等。
RAM用于存儲(chǔ)需要頻繁讀寫(xiě)的數(shù)據(jù),例如程序運(yùn)行中的變量和緩存等。
而ROM則被用來(lái)存儲(chǔ)固化的程序和數(shù)據(jù),例如BIOS、固件、啟動(dòng)程序等。
-
單片機(jī)
+關(guān)注
關(guān)注
6035文章
44554瀏覽量
634653 -
寄存器
+關(guān)注
關(guān)注
31文章
5336瀏覽量
120230 -
計(jì)數(shù)器
+關(guān)注
關(guān)注
32文章
2256瀏覽量
94478
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論