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