wordpress 首頁調(diào)用頁面標(biāo)題城關(guān)網(wǎng)站seo
目錄
一、ARM架構(gòu)
?1.1.RAM---隨機(jī)存儲(chǔ)器
1.2.ROM---只讀存儲(chǔ)器
1.3.flash---閃存存儲(chǔ)器
?1.4.時(shí)鐘(振晶)
1.5.復(fù)位
二、CPU---ARM920T
2.1.R0~R12---通用寄存器
2.2.PC程序計(jì)數(shù)器
2.3.LR連接寄存器?
2.4.SP棧指針寄存器
2.5.CPSR當(dāng)前程序狀態(tài)寄存器
2.6.SPSR -CPSR備份寄存器
2.7.Cache緩存
2.8.MMU: 內(nèi)存管理單元
2.9.ALU算數(shù)邏輯單元
三、處理器
四、總結(jié)
一、ARM架構(gòu)
? ? ? ? ? ? ? ? ? ? ??
?1.1.RAM---隨機(jī)存儲(chǔ)器
RAM---隨機(jī)存儲(chǔ)器特點(diǎn)--速度快,掉電數(shù)據(jù)丟失分類:SRAM---靜態(tài)隨機(jī)存儲(chǔ)器DRAM---動(dòng)態(tài)隨機(jī)存儲(chǔ)器SDRAM---同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器DDR(n)---內(nèi)存條
1.2.ROM---只讀存儲(chǔ)器
ROM---只讀存儲(chǔ)器特點(diǎn)--速度慢,掉電數(shù)據(jù)不丟失分類:PROM---可編程只讀存儲(chǔ)器EPROM---可擦除只讀存儲(chǔ)器EEPROM---電擦除只讀存儲(chǔ)器
1.3.flash---閃存存儲(chǔ)器
特點(diǎn)---速度快,掉電數(shù)據(jù)不丟失 分類:norflash---基礎(chǔ)單元就是 或非門 可線性訪問nandflash---基礎(chǔ)單元就是 與非門 不可線性訪問線性訪問---有專門的地址總線和數(shù)據(jù)總線(可以像內(nèi)存一樣訪問)
?1.4.時(shí)鐘(振晶)
????????時(shí)鐘是同步工作系統(tǒng)的同步節(jié)拍,各個(gè)部分通過這個(gè)節(jié)拍來完成協(xié)調(diào)一致,從而實(shí)現(xiàn)協(xié)調(diào)配合。SoC內(nèi)部有很多器件,例如CPU、串口、DRAM控制器、GPIO等內(nèi)部外設(shè),這些要實(shí)現(xiàn)協(xié)同工作,需要一個(gè)同步的時(shí)鐘系統(tǒng)來指揮。這個(gè)就是我們的SoC時(shí)鐘系統(tǒng)。
1.5.復(fù)位
????????ARM處理器的復(fù)位是一種初始化過程,它發(fā)生在系統(tǒng)啟動(dòng)或者發(fā)生故障后恢復(fù)運(yùn)行時(shí)。當(dāng)處理器處于復(fù)位狀態(tài)時(shí),它的內(nèi)部寄存器、指令指針和內(nèi)存狀態(tài)都會(huì)被重置到預(yù)設(shè)的初始值,以便于開始執(zhí)行固件(通常是最小的引導(dǎo)程序)中的第一條指令。這一過程有助于保證系統(tǒng)的可靠性和一致性,使得設(shè)備可以從停機(jī)狀態(tài)或異常情況快速恢復(fù)正常操作。
二、CPU---ARM920T
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?????????
2.1.R0~R12---通用寄存器
????????寄存器r0-r12是ARM處理器的通用寄存器,主要用來存儲(chǔ)臨時(shí)數(shù)據(jù)、函數(shù)參數(shù)和返回值。這些32位寄存器在不同場(chǎng)景有不同的用途,如r0-r3常用于參數(shù)傳遞,r4-r11存儲(chǔ)臨時(shí)數(shù)據(jù),r12(IP)在某些版本中作為臨時(shí)存儲(chǔ)。此外,r13-r15是特殊寄存器,分別對(duì)應(yīng)棧指針SP、鏈接寄存器LR和程序計(jì)數(shù)器PC。
2.2.PC程序計(jì)數(shù)器
程序計(jì)數(shù)器, 默認(rèn)值為0, 做自加運(yùn)算, 實(shí)際指向正在運(yùn)行的下下條指令。
2.3.LR連接寄存器?
保存函數(shù)的返回地址。
2.4.SP棧指針寄存器
指向棧定。?
棧的種類有4種:---滿增棧---滿減棧---空增棧---空減棧
????????ARM中我們使用的是滿減棧。
? ? ? ? 為啥要使用滿減棧??
????????從高地址開始進(jìn)棧保存返回值,越界會(huì)進(jìn)入堆區(qū),產(chǎn)生越界錯(cuò)誤,進(jìn)程結(jié)束運(yùn)行,而如果使用滿增棧,越界會(huì)進(jìn)入內(nèi)核區(qū),影響整個(gè)系統(tǒng)的運(yùn)行;(減)
????????滿增棧,每次將元素插入指針的位置,棧指針再后移一,出棧時(shí),棧指針先減一,再元素出棧,最后一個(gè)元素出棧無法判斷是否??樟?#xff1b;而滿減棧,每次先指針后移一次,再將元素插入指針的位置,使用棧的第一個(gè)位置會(huì)空出來,而出棧時(shí),元素顯出棧,指針再減一,可以再判斷時(shí),判斷指針指向的空間是否為空,為空則說明??樟?#xff1b;只有滿減棧,才可以再出棧時(shí)判斷棧是否空了。(滿)
2.5.CPSR當(dāng)前程序狀態(tài)寄存器
運(yùn)算結(jié)果為正、負(fù)、進(jìn)借位、結(jié)果為0等標(biāo)志, 中斷的使能, 工作狀態(tài),工作模式;
2.6.SPSR -CPSR備份寄存器
2.7.Cache緩存
????????CPU緩存是位于CPU與內(nèi)存之間的臨時(shí)存儲(chǔ)器,它的容量比內(nèi)存小但交換速度卻比內(nèi)存要快得多。CPU高速緩存的出現(xiàn)主要是為了解決CPU運(yùn)算速度與內(nèi)存讀寫速度不匹配的矛盾。
????????因?yàn)?span style="color:#4da8ee;">CPU運(yùn)算速度要比內(nèi)存讀寫速度快很多,這樣會(huì)使CPU花費(fèi)很長(zhǎng)時(shí)間等待數(shù)據(jù)到來或把數(shù)據(jù)寫入內(nèi)存。在緩存中的數(shù)據(jù)是內(nèi)存中的一小部分,但這一小部分是短時(shí)間內(nèi)CPU即將訪問的,當(dāng)CPU調(diào)用大量數(shù)據(jù)時(shí),就可先從緩存中調(diào)用,從而加快讀取速度。???????
? ? ? ? 兩種Cache模型?
????????哈佛 數(shù)據(jù)和指令分開存儲(chǔ)? ---讀取效率高(可以同步讀取數(shù)據(jù)和指令)
????????馮諾伊曼 數(shù)據(jù)和指令一起存儲(chǔ)?---讀取效率慢
2.8.MMU: 內(nèi)存管理單元
虛擬地址到物理地址的映射。
2.9.ALU算數(shù)邏輯單元
三、處理器
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
CPU:中央處理單元MCU:微控制器 51單片機(jī)MPU:微處理器 intelDSP:數(shù)字信號(hào)處理器FPGA:現(xiàn)場(chǎng)可編程門陣列 -- 硬件設(shè)計(jì)語言AHB:高速總線
APB:低速總線數(shù)據(jù)總線:是CPU與內(nèi)存或其他器件之間的數(shù)據(jù)傳送的通道地址總線:用于傳輸指示計(jì)算機(jī)中的內(nèi)存或外設(shè)的物理地址控制總線:讀寫信號(hào)等RISC:精簡(jiǎn)指令集
CISC:復(fù)雜指令集
????????處理器中的ARM920T也就是CPU,相當(dāng)于微處理器,計(jì)算十分強(qiáng)大,但需要許多控制器來配合實(shí)現(xiàn)不同的功能。處理器也就有了許多控制器的加入。
四、硬件存儲(chǔ)結(jié)構(gòu)
? ??
五、總結(jié)
? ? ? ? 需要清楚知道APM架構(gòu)的組成,以及其處理器的組成成分和CPU的組成成分。處理器中可以有很多個(gè)CPU也就是現(xiàn)在常說的幾核處理器,CPU可有相同類型大小不同,也可以是不同的類型,可以把他們看作電路來理解。