ARM 體系結構與存儲器

一、RAM 分類

  1. SRAM (Static RAM)

    • 觸發器/晶體管 存儲 0/1。

    • 特點:速度快、功耗低(靜態保持),但成本高、容量小。

    • 應用:片上緩存、寄存器文件、單片機內存。

  2. DRAM (Dynamic RAM)

    • 電容充放電 存儲 0/1。

    • 特點:存儲密度高、成本低,但需要刷新電路,速度低于 SRAM。

    • 應用:PC 內存、大容量存儲。

  3. SDRAM (Synchronous DRAM)

    • 在 DRAM 上增加時鐘同步,提高讀寫速度。

  4. DDR RAM (Double Data Rate SDRAM)

    • SDRAM 的升級版,在時鐘上升沿和下降沿均可傳輸數據

    • 發展分支:DDR → DDR2 → DDR3 → DDR4 → DDR5。

  5. IRAM (Internal RAM)

    • 本質上是 片上 SRAM,直接集成在 SoC 內部,速度快、可直接被內核訪問。

二、ROM 分類

  1. ROM (Read Only Memory)

    • 出廠時數據固定,不可更改。

  2. PROM (Programmable ROM)

    • 用戶可寫入一次數據。

  3. EPROM (Erasable PROM)

    • 可通過紫外線擦除后重新寫入。

  4. EEPROM (Electrically Erasable PROM)

    • 電擦寫方式,速度較慢,但方便修改少量數據(如配置參數)。

  5. Flash 閃存

    • NOR Flash:字節尋址,可直接執行(XIP, Execute In Place)。

    • NAND Flash:頁尋址,容量大、壽命長,需控制器管理。

    • eMMC:嵌入式 NAND,帶控制器,簡化接口。

    • UFS(Universal Flash Storage):新一代高速存儲接口。

?

三、ARM 內核結構(Cortex-A7 為例)

  1. 基本信息

    • 32 位架構,數據寬度 4 字節。

    • RISC(精簡指令集)設計,流水線執行。

  2. 功能單元

    • ALU:算術邏輯運算。

    • 通用寄存器 R0-R12:主要運算與數據存儲。

    • 專用寄存器

      • PC (R15):程序計數器。

      • LR (R14):連接寄存器,保存返回地址。

      • SP (R13):棧指針寄存器。

      • CPSR:當前程序狀態寄存器。

      • SPSR:保存的 CPSR(用于異常返回)。

  3. 存儲與控制

    • MMU (Memory Management Unit):虛擬地址 → 物理地址映射。

    • Cache

      • I-Cache(指令緩存)

      • D-Cache(數據緩存)

    • 總線

      • AHB:高性能總線(CPU ? 內存)。

      • APB:外設總線(低速外設)。

四、ARM 工作模式

Cortex-A7 有 9 種模式:

  1. User:非特權模式,普通應用運行。

  2. FIQ:快速中斷模式,高優先級,專用寄存器多,適合實時處理。

  3. IRQ:普通中斷模式。

  4. Supervisor (SVC):上電復位或軟中斷進入。

    • 上電默認進入 SVC 模式,由啟動代碼切換到 User 模式。

  5. Abort:存取異常模式。

  6. Undef:未定義指令模式。

  7. System:與 User 共用寄存器,但具備特權。

  8. Monitor:安全監控模式(TrustZone)。

  9. Cortex-A 特有模式(部分擴展架構支持)。

說明

每種模式都有 獨立 SP、LR,保證中斷/異常隔離。

ARM 將 中斷統一視為異常

五、異常處理

  1. 異常類型

    • Reset(復位)

    • Undefined Instruction(未定義指令)

    • SWI(軟中斷)

    • Prefetch Abort(指令取指異常)

    • Data Abort(數據訪問異常)

    • IRQ(普通中斷)

    • FIQ(快速中斷)

  2. 異常向量表

    • 固定地址存放不同異常入口。

    • 例如:復位向量通常在 0x000000000xFFFF0000

  3. 底層流程

    • 保存 CPSR → 切換模式 → 修改 PC → 跳轉異常向量表地址。

六、CPSR 程序狀態寄存器

  1. Mode 位:工作模式選擇。

  2. 條件標志位

    • N(Negative):結果為負數 → 1。

    • Z(Zero):結果為 0 → 1。

    • C(Carry):無符號運算進位/借位。

    • V(Overflow):有符號數溢出。

  3. E 位:大小端標志(0 = 小端,1 = 大端)。

  4. IRQ/FIQ 屏蔽位:控制中斷響應。

七、ARM 指令

  1. 數據傳送

    • MOV Rd, #const:立即數賦值。

    • MOV Rd, Rm:寄存器傳值。

    • MVN Rd, #const:立即數取反。

  2. 算術運算

    • ADD Rd, Rn, #const

    • SUB Rd, Rn, #const

    • MUL Rd, Rn, Rm

  3. 移位操作

    • LSL:邏輯左移。

    • LSR:邏輯右移。

    • ASL:算術左移(等價于 LSL)。

    • ASR:算術右移(符號位保持)。

    • ROR:循環右移。

  4. 立即數規則

    • ARM 立即數 = 8-bit 常數 + 4-bit 旋轉

    • 可通過右旋實現更多常數表示。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/921757.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/921757.shtml
英文地址,請注明出處:http://en.pswp.cn/news/921757.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Jenkins運維之路(初識流水線)

1.初次使用流水線前面我們用自由風格的流水線進行了項目部署,但是自由風格的流水線只能應付一些簡單且項目規模不是很大的部署。為了讓流水線能夠靈活、通用、邏輯清晰且更加容易維護,現在一般企業都是采取使用了Pipeline的方式來對流水線進行構建&#…

【智能協同云圖庫】基于統一接口架構構建多維度分析功能、結合 ECharts 可視化與權限校驗實現用戶 / 管理員圖庫統計、通過 SQL 優化與流式處理提升數據

摘要:本節圍繞提升空間圖庫管理分析能力,先分用戶與管理員兩類梳理資源使用、分類、標簽等 6 大分析需求,再設計統一實現流程與接口方案,最后通過分層開發完成各需求后端功能,覆蓋權限校驗、數據處理與接口編寫。 本節…

HTML第八課:HTML4和HTML5的區別

HTML第八課&#xff1a;HTML4和HTML5的區別html4 與 html 5的區別快速學習平臺html4 與 html 5的區別 示例圖 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title> </head> &…

CS336——1. Overview

文章目錄1. CS336介紹2. 概覽2.1 為什么會有這門課程2.1.1 LLM的參數和訓練成本2.2.2 小語言模型和LLM的區別2.2 你可以學到什么&#xff1f;2.2.1 Intuitions2.2.2 The bitter lesson3. 全景圖(current landscape)/發展歷史4. 可執行的課件說明5. 課程設計6. 課程內容6. 1 bas…

ncnn-Android-mediapipe_hand 踩坑部署實錄

目錄 同時有 nanodet 和yolox,可以做到10fps 沒測試:yolox hand ncnn-Android-mediapipe_hand hand 關鍵點21個模型: ncnn版本: 跑通后,手部關鍵點集中在圖像左上角,經過排查,原因是ncnn版本不對。 CMakeLists.txt 同時有 nanodet 和yolox,可以做到10fps 無訓練…

OSPF實驗:外部路由引入

OSPF外部路由引入實驗目的&#xff1a;除了內部通信外&#xff0c;企業還需要與外部網絡進行通信&#xff0c;不同企業網絡之間存在互訪需求。假設A公司網絡部署OSPF協議實現內部通信&#xff0c;因業務發展&#xff0c;需要訪問B公司的一臺WEB服務器。網絡拓撲圖&#xff1a;公…

網絡上那些在線 PDF 轉換工具安全嗎?轉換 PDF 需要注意什么

PDF 格式憑借跨設備兼容、格式穩定的優勢&#xff0c;早已成為個人辦公、企業協作中不可或缺的文件格式。無論是壓縮 PDF 以滿足郵件附件大小限制&#xff0c;還是將 Word 文檔轉成 PDF 確保排版不變&#xff0c;我們總能遇到需要 PDF 工具的場景。也正因如此&#xff0c;網上涌…

生成對抗網絡(GAN)

目錄 1 引言 2 生成對抗網絡的基本原理 2.1 生成器與判別器 2.2 對抗訓練過程 2.3 與傳統生成模型的比較 3 GAN的衍生模型 3.1 架構創新與深度卷積GAN 3.2 損失函數優化與Wasserstein GAN 3.3 條件生成與可控合成 3.4 跨域轉換與CycleGAN 3.5 高分辨率生成與規模化演…

Vue 3.6 Alien Signals:讓響應式性能飛躍式提升

概述 Vue 3.6 引入了革命性的 Alien Signals 技術&#xff0c;這是一種全新的響應式系統&#xff0c;基于細粒度響應式原理&#xff0c;為 Vue 應用帶來了前所未有的性能提升和開發體驗優化。 什么是 Alien Signals&#xff1f; Alien Signals 是 Vue 3.6 內置的輕量級響應式…

React Hooks 報錯?一招解決useState問題

文章目錄問題分析問題 在使用import { useState } from "react";時報錯&#xff1a;Youre importing a component that needs useState. This React Hook only works in a Client Component. To fix, mark the file (or its parent) with the “use client” direct…

數據集成平臺怎么選?從ETL到CDC再到iPaaS的全景對比

前言&#xff1a;一個制造企業的真實困境 近期在為某家制造企業做系統改造時&#xff0c;我們遇到了一個典型的數據集成難題。這家企業運營著獨立的ERP、CRM和MES等30業務系統&#xff0c;看似完備的信息化基礎卻存在嚴重的數據割裂問題。 銷售團隊在CRM中查看的庫存數據總是滯…

驅動開發系列72 - GLSL編譯器實現 - 指令選擇(二)

前面介紹過,在指令選擇時會執行一系列優化過程,本節介紹下“比特級常量傳播優化”的實現。 一:什么是比特級常量傳播優化 舉一個GLSL語言例子: #version 450layout(location = 0) in vec4 inColor; layout(location = 0) out vec4 outColor;void main() {vec4 tmp = inCo…

Redis(緩存)

一 什么是緩存1. 生活上的例子比如有一個行李箱和一個手機&#xff0c;每次把手機放到行李箱在拿出來肯定很麻煩&#xff0c;如果放到褲兜里就會方便很多&#xff0c;所以褲兜算作行李箱的一個緩存&#xff0c;不僅僅是褲兜&#xff0c;甚至可以一直拿在手上等其他有存儲介質的…

openssl簡介

一、openssl是什么 OpenSSL是一個開源的、功能強大的軟件庫和工具包,它實現了傳輸層安全(TLS) 和安全套接層(SSL) 協議以及一個全面的密碼學原語庫。它是用 C 語言編寫的,為其帶來了高性能和跨平臺的特性。 作為庫(Library):開發者可以將其代碼集成到自己的應用程序(…

左值引用與右值引用

左值和右值 左值&#xff08;lvalue&#xff09;&#xff1a;在表達式結束后仍然存在&#xff0c;可以取地址。簡單理解&#xff1a;有名字、有存儲位置。 比如變量、數組元素、對象等。 右值&#xff08;rvalue&#xff09;&#xff1a;臨時值&#xff0c;表達式結束后就消失&…

中小企業SAP B1 HANA部署全解析:成本與云端優勢

目錄 云端部署成本構成與效益分析 軟件許可費 硬件成本 服務費 培訓費 技術優勢 快速部署 彈性擴展 高可用性 云端部署適用場景 IT預算有限的中小企業 分布在不同地區的機構 需要快速上線的情況 本地部署適用場景 數據監管嚴格的行業 擁有完善IT基礎設施企業 …

Django Channels實戰:WebSocket實時通信開發

在當今Web應用開發中&#xff0c;實時通信功能已成為提升用戶體驗的關鍵要素。傳統的HTTP請求-響應模式難以滿足即時聊天、實時通知、協同編輯等場景的需求。本文將深入探討如何利用Django Channels框架實現WebSocket通信&#xff0c;為你的Django項目添加實時交互能力。為什么…

大數據畢業設計選題推薦-基于大數據的懂車帝二手車數據分析系統-Spark-Hadoop-Bigdata

?作者主頁&#xff1a;IT研究室? 個人簡介&#xff1a;曾從事計算機專業培訓教學&#xff0c;擅長Java、Python、微信小程序、Golang、安卓Android等項目實戰。接項目定制開發、代碼講解、答辯教學、文檔編寫、降重等。 ?文末獲取源碼? 精彩專欄推薦??? Java項目 Python…

python 通過selenium調用chrome瀏覽器

更新selenium pip install -U selenium 下載瀏覽器和對應的驅動 Chrome for Testing availability 一般選穩定版本的&#xff0c;我是windows的就下win64的&#xff0c; 下載兩個zip包后&#xff0c;把chromedriver.zip中的exe解壓縮放到chrome_win64文件夾中 from selen…