課程目標:了解我們常用硬件接口,并且編程控制
重點難點:對各個接口原理的掌握
考核目標:各個接口的作用,實現原理及特性
1. 硬件基礎概述
1.1. 為什么我們要去研究硬件
因為要去使用他,驅動它
1.2. 我們要研究什么
硬件原理及構造
地址
寄存器
協議
時長/頻率
1.3. 我們怎么研究
ARM手冊
芯片手冊
外設芯片手冊
1.4. ARM Cortex-A8 - S5PV210的硬件
分類
Clock Gating
Power Gating
Frequency Scaling
SRAM/SROM
OneNand
SLC/MLC Nand
DDR
Camera IF/MIPI CSI
Coder/Decoder
2D/3D Graphics Engine
TV out/HDMI
JPEG Codec
LCD Controller
USB Host/OTG
UART
IIC
SPI
Modem IF:通信調制
GPIO
Audio IF:音頻
Storage IF:存儲
RTC:實時時鐘
PLL:鎖相環
PWM Timer:脈沖寬度調制
WatchDig Timer:看門狗
DMA:直接存儲訪問
keyboard
ADC
中斷
NEON/SIMD
Cache
CPU核心
系統外圍
連接
多媒體
存儲接口
電源管理
2. SIMD & NEON
SlMD:(Single Instruction Multiple Data,單指令多數據流)
NEON技術可加速多媒體和信號處理算法(如視頻編碼/解碼、2D/3D圖形、游戲、音頻和語音處理、
圖像處理技術、電話和聲音合成),其性能至少為ARMv5性能的3倍,為ARMv6SMD性能的2倍
3. Cache (具體參考 《計算機組成原理》)
3.1. 為什么需要Cache
我們現在采用的存儲器結構多為體交叉存儲器體系
I/O 向主存請求的級別高于CPU訪存
主存速度跟不上CPU發展
主存一般都是片外,頻繁進出速度慢,能耗高
Cache 工作原理
程序訪問的局部性原理,采用了SRAM命中率
大小比例:4:1000,128K 32M
3.2. Sample:AMBA高速緩存控制器
3.3. 內存層級
制作成本高,不可能做太大
L0:寄存器
L1:一級高速緩存(SRAM),一般64KB
L2:二級高速緩存(SRAM),一般1M
L3:三級高速緩存(SRAM)
L4:主存(DRAM)
L5:本地二級存儲(本地磁盤)
L6:遠程二級存儲(分布式文件系統,web服務器)
3.4. 緩存控制器 Cache Controller
搬運規則
直接映射緩存
聯合緩存
https://www.bilibili.com/video/BV1px411E7ma?p=48&time=2m44s
3.5. 直接映射緩存 Direct Mapped Cache
3.6. 聯合緩存 Set-associative Cache
3.7. 緩存結構總結
4. MMU (具體參考 《操作系統》)
MMU:memory manage unit 存儲管理單元
4.1. 計算機在訪問主存的時候出問題了
PM物理內存不夠用
進程隔絕
虛擬內存:將硬盤里一部分空間虛擬成內存,來達到擴展內存的目的
4.2. 虛擬存儲器
4.2.1. 作用
1、允許多道程序之間有效而安全的共享存儲器
2、消除一個小而受限的主存容量對程序設計造成的影響
4.2.2. 虛擬地址、物理地址、頁、缺頁
要解決兩個問題
保護、鎖
分割 -> 完成內存地址映射 轉移
虛擬地址:進程當中的虛擬地址
物理地址:真實的內存地址
頁:
4.2.3. 頁保護及鎖定機制
4.2.4. 地址轉換過程
4.2.5. 分段
4.3. 頁的存放和查找
4.3.1. 頁表
4.3.2. 頁表寄存器
4.4. 缺頁
1、如果不缺頁直接讀物理地址
2、如果缺頁,則把控制權交給 操作系統,操作系統一般是從磁盤地址去
4.5. 加快地址轉換TLB
處理TLB缺失
4.6. 集成虛擬存儲器
SRAM -> Cache
DDRAM -> 內存
ROM -> Nand Flash
5. 中斷體系結構
5.1. ARM異常及中斷基本概念
5.1.1. 什么是異常?什么是中斷?
中斷是特殊的異常
5.1.2. ARM異常種類對應的處理器模式
ARM體系結構中存在7種異常處理。異常發生時,處理器會把PC指向一個特殊地址,這個地址放在存儲器種一個特定表中,成為向量表。
地址 | 異常 | 進入模式 | 模式 |
---|---|---|---|
0x00000000 | 復位 | 管理模式 | 復位電平有效時,產生復位異常,程序跳轉到復位處理程序處執行 |
0x00000004 | 未定義指令 | 未定義模式 | 碰到不能處理的指令時,產生未定義指令異常 |
0x00000008 | 軟件中斷 | 管理模式 | 執行SWI指令產生,用于用戶模式下的程序調用特權操作指令 |
0x0000000c | 預存指令 | 中止模式 | 處理器預取指令的地址不存在,或該地址不允許當前指令訪問,產生指令預取中止異常 |
0x00000010 | 數據操作 | 中止模式 | 處理器數據訪問指令的地址不存在,或該地址不允許當前指令訪問時,產生數據中止異常 |
0x00000014 | 未使用 | 未使用 | 未使用 |
0x00000018 | IRQ | IRQ | 外部中斷請求有效,且CPSR中的I位為0時,產生IRQ異常 |
0x0000001c | FIQ | FIQ | 快速中斷請求引腳有效,且CPSR中的F位為0時,產生FIQ異常 |
5.1.3. 異常發生時候CPU處理步驟
1、保存當前執行位置
2、保存當前執行狀態
3、尋找中斷入口,即向量表地址
4、執行中斷處理程序
5、中斷返回,繼續執行
幾種異常
復位異常
未定義指令異常
軟中斷異常
預取異常
數據異常
外部中斷異常
快速中斷異常
5.1.4. ARM異常優先級
Highest | 1 | Reset |
2 | Data Abort | |
3 | FIQ | |
4 | IRQ | |
5 | Prefetch Abort | |
Lowest | 6 | SW Undefined instruction |
上一篇:05_bootloader開發
下一篇:03_ARM體系結構_Cortex-A系列
推薦閱讀最新更新時間:2025-04-25 12:07






設計資源 培訓 開發板 精華推薦
- LTC1261CS8-4 7 節電池至 -1.24V 輸出 GaAs FET 偏置發生器的典型應用電路
- AM2M-0509S-NZ 9 Vout、2W 單路輸出 DC-DC 轉換器的典型應用
- MCP6SX2DM-PCTLTH、MCP6SX2 PGA 熱敏電阻 PICtail 演示板具有 MCP6S22 和 MCP6S92 可編程增益放大器 (PGA)
- LTC3890HUH 高效 8.5V 雙相降壓轉換器的典型應用電路
- LT8330ES6 8V 至 40V 輸入、±15V 轉換器的典型應用電路
- R1700V + R1580N 典型應用電路,升降壓(反相)轉換器
- MC34072DR2G 運算放大器用作 LED 驅動器的典型應用
- 基于SGL8022W的USB觸摸燈
- EVAL-ADM2582EEBZ、4 層 EN55022 B 類輻射符合評估板,用于 ADM2582E 2.5 kV rms 信號和電源隔離 RS-485/RS-422 收發器,具有 ±15 kV ESD 保護
- LTC1147L 精密恒流源的典型應用電路
- Factorial 汽車尺寸固態電池 FEST 獲 Stellantis 聯合驗證:375Wh/kg 能量密度
- 英特爾代工業務醞釀逆襲,18A 制程獲英偉達等巨頭青睞
- 今年車展,那些正在崛起的中國芯片
- 高通攜手中國“汽車朋友圈”亮相2025上海車展: 加速駕駛輔助普惠,推動艙駕創新升級
- 工業市場正在快速回暖,德州儀器如何重塑電力電子市場?
- 特斯拉:美國交付的Model Y/3電池包已實現100%美國生產
- 地平線與博世深化合作,攜手為多家車企提供輔助駕駛產品
- 強化中國市場戰略布局,德州儀器正靈活應對全球關稅挑戰
- Molex莫仕通過本地合作和創新加強支持中國汽車行業
- 貿澤開售Texas Instruments適用于高分辨率AR HUD的 全新DLP4620S-Q1 0.46"汽車數字微鏡器件