ARM处理器核心概述
一、基于ARM处理器的嵌入式系统
- ARM核深度嵌入SOC中,通过JTAG口进行外部调试。
- 计通常既有外部内存又有内部内存,从而支持不通的内存宽度、速度和大小。
- 一般会包含一个中断控制器。
- 可能包含一些Primece外设,需要从ARM公司取得授权。
- 总线使用ARM的标准如AMBA总线。

二、ARM处理器存储器子系统相关术语
- MPU(内存保护单元)
- 面向实时控制领域
- 控制内存访问权限
- 控制器内存区域的属性(Cacheable,bufferable)
- ARM的IO空间和主存空间是统一编址。
- IO空间不能设置缓存,主存可以设置缓存
MMU(内存管理单元)
面向复杂的APP的processor,如移动终端
具有MPU的所有特性
提供虚拟地址到物理地址的转换,提供操作系统的续存管理
嵌入式LINUX是支持MMU的
Cache(高速缓存)
快速本地内存
存放最近被访问过的内存副本
TCM(紧耦合内存)
快速本地内存
特定地址范围
Write buffer(写缓存区)
减少写数据到外部内存的次数
ARM Processor Core

三、ARM处理器体系结构的发展

注意:相同体系可能有完全不同的实现
ARM7TDMI-arch v4T.冯诺伊曼结构,3级流水线
ARM920T-arch v4T.哈佛结构,5级流水线,具有MMU
ARM内核系列

四、典型ARM CPU核
4.1 ARM7TDMI
T:Thumb架构扩展,从而提供两个独立指令集:
ARM指令,均为32位
Thumb指令,均为16位
根据运行状态选择指令集
D: 内核具有Debug扩展结构
M:增强乘法器(32 x 8)支持64位结果
I:EmbeddedCE逻辑
- 3级流水线,属于V4T体系
- 冯.诺伊曼架构
- CPI(Cycle Per Instruction)=1.9
- 曾经最流行的低端ARM核

ARM7TDMI的内核结构图
3级流水线:取值解码执行,从而允许 一些操作同时运行。Pipeline
需要注意的是,PC指向的是将要被预取的指令,而不是执行的指令。一般调试工具会隐藏这个细节。

理想的3级流水线

- 所有的操作都是在寄存器进行(单独一个周期执行)
- 6个时钟周期执行了6条指令
- Clock cycles per instruction (CPI) = 1
存在LDR内存操作的流水线

- 存在一个LDR的内存读取操作指令
- 6个时钟周期执行了4条指令
- Clock cycles per instruction (CPI) = 1.5
存在分支指令的流水线

分支指令的存在可能打断流水线的运行
4.2 ARM9TDMI
- V4T架构,5级流水线,CPI约为1.5
- 时钟频率得到最大提高
- 哈佛体系,增加了可访问内存的带宽,可同时对指令内存和数据内存进行访问。
- 一般支持内置Cache.

ARM9TDMI的流水线技术

ARM9TDMI的理想流水线

LDR指令不会引起流水线互锁
6个时钟周期执行了6条指令
Clock cycles per instruction (CPI) = 1

紧接着LDR指令后用相同寄存器的数据操作会引起互锁,原因使用相同的寄存器,后面的指令执行依赖相同寄存器。
7个时钟周期执行了6条指令,CPI=1.2
4.3 ARM11
ARM V6架构,8级流水线,支持静态和动态的分支预测以及返回堆栈
低延迟的中断模式
内部可配置的TCM
支持64位内存接口
集成的VFP处理器(可选)

4.4 Cortex系列

相关文章:
ARM处理器核心概述
一、基于ARM处理器的嵌入式系统 ARM核深度嵌入SOC中,通过JTAG口进行外部调试。计通常既有外部内存又有内部内存,从而支持不通的内存宽度、速度和大小。一般会包含一个中断控制器。可能包含一些Primece外设,需要从ARM公司取得授权。总线使用A…...
万户协同办公平台 ezoffice存在未授权访问漏洞 附POC
文章目录 万户协同办公平台 ezoffice存在未授权访问漏洞 附POC1. 万户协同办公平台 ezoffice简介2.漏洞描述3.影响版本4.fofa查询语句5.漏洞复现6.POC&EXP7.整改意见8.往期回顾 万户协同办公平台 ezoffice存在未授权访问漏洞 附POC 免责声明:请勿利用文章内的相…...
使用ctcloss训练矩阵生成目标字符串
首先我们需要明确 c t c l o s s ctcloss ctcloss是用来做什么的。比如说要生成的目标字符串长度为 l l l,而这个字符串包含 s s s个字符,字符串允许的最大长度为 L L L,这里认为一个位置是一个时间步,就是一拍,记为 T…...
驱动 - 20230829
练习 基于platform实现 在根节点下,增加设备树 myplatform {compatible"hqyj,myplatform";interrupts-extended<&gpiof 9 0>, <&gpiof 7 0>, <&gpiof 8 0>;led1-gpio<&gpioe 10 0>;reg<0x12345678 59>;}…...
数组(个人学习笔记黑马学习)
一维数组 1、定义方式 #include <iostream> using namespace std;int main() {//三种定义方式//1.int arr[5];arr[0] 10;arr[1] 20;arr[2] 30;arr[3] 40;arr[4] 50;//访问数据元素/*cout << arr[0] << endl;cout << arr[1] << endl;cout &l…...
layui表格事件分析实例
在 layui 的表格组件中,区分表头事件和行内事件是通过事件类型(toolbar 和 tool)以及 lay-filter 值来实现的。 我们有一个表格,其中有一个工具栏按钮和操作按钮。我们将使用 layui 的 table 组件来处理这些事件。 HTML 结构&…...
Android NDK JNI与Java的相互调用
一、Jni调用Java代码 jni可以调用java中的方法和java中的成员变量,因此JNIEnv定义了一系列的方法来帮助我们调用java的方法和成员变量。 以上就是jni调用java类的大部分方法,如果是静态的成员变量和静态方法,可以使用***GetStaticMethodID、CallStaticObjectMethod等***。就…...
装备制造企业如何执行精益管理?
导 读 ( 文/ 2358 ) 精益管理是一种以提高效率、降低成本和优化流程为目标的管理方法。装备制造行业具备人工参与度高,产成品价值高,质量要求高的特点。 在装备制造企业中实施精益管理可以帮助企业提高竞争力、提升生产效率并提供高质量的产品。本文将…...
PHP8中自定义函数-PHP8知识详解
1、什么是函数? 函数,在英文中的单词是function,这个词语有功能的意思,也就是说,使用函数就是在编程的过程中,实现一定的功能。即函数就是实现一定功能的一段特定代码。 在前面的教学中,我们已…...
虚拟化技术:云计算发展的核心驱动力
文章目录 虚拟化技术的概念和作用虚拟化技术的优势虚拟化技术对未来发展的影响结论 🎉欢迎来到AIGC人工智能专栏~虚拟化技术:云计算发展的核心驱动力 ☆* o(≧▽≦)o *☆嗨~我是IT陈寒🍹✨博客主页:IT陈寒的博客🎈该系…...
光伏+旅游景区
传统化石燃料可开发量逐渐减少,并且对环境造成的危害日益突出。全世界都把目光投向了可再生能源,希望可再生能源能够改变人类的能源结构。丰富的太阳能取之不尽、用之不竭,同时对环境没有影响,光伏发电是近些年来发展最快…...
手搓文本向量数据库(自然语言搜索生成模型)
import paddle import jieba import pandas as pd import numpy as np import os from glob import glob from multiprocessing import Process, Manager, freeze_supportfrom tqdm import tqdm# 首先 确定的是输出的时候一定要使用pd.to_pickle() pd.read_pickle() # 计算的时…...
EVO大赛是什么
价格是你所付出的东西,而价值是你得到的东西 EVO大赛是什么? “EVO”大赛全称“Evolution Championship Series”,是北美最高规格格斗游戏比赛,大赛正式更名后已经连续举办12年,是全世界最大规模的格斗游戏赛事。常见…...
linux中使用clash代理
本机环境:ubuntu16 安装代理工具(这里使用clash) 可以手动下载解压,下载地址:https://github.com/Dreamacro/clash 也可以直接使用命令行,演示如下: userlocalhost:~$ curl https://glados.r…...
Kafka3.0.0版本——Follower故障处理细节原理
目录 一、服务器信息二、服务器基本信息及相关概念2.1、服务器基本信息2.2、LEO的概念2.3、HW的概念 三、Follower故障处理细节 一、服务器信息 三台服务器 原始服务器名称原始服务器ip节点centos7虚拟机1192.168.136.27broker0centos7虚拟机2192.168.136.28broker1centos7虚拟…...
13.redis集群、主从复制、哨兵
1.redis主从复制 主从复制是指将一台redis服务器(主节点-master)的数据复制到其他的redis服务器(从节点-slave),默认每台redis服务器都是主节点,每个主节点可以有多个或没有从节点,但一个从节点…...
linux字符串处理
目录 1 C 截取字符串,截取两个子串中间的字符串2 获取该字符串后面的字符串用 strstr() 函数查找需要提取的特定字符串,然后通过指针运算获取该字符串后面的字符串用 strtok() 函数分割字符串,找到需要提取的特定字符串后,调用 strtok() 传入…...
Nginx入门——Nginx的docker版本和windows版本安装和使用 代理的概念 负载分配策略
目录 引出nginx是啥正向代理和反向代理正向代理反向代理 nginx的安装使用Docker版本的nginx安装下载创建挂载文件获取配置文件创建docker容器拷贝容器中的配置文件删除容器 创建运行容器开放端口进行代理和测试 Windows版本的使用反向代理多个端口运行日志查看启动关闭重启 负载…...
Zebec Protocol:模块化 L3 链 Nautilus Chain,深度拓展流支付体系
过去三十年间,全球金融科技领域已经成熟并迅速增长,主要归功于不同的数字支付媒介的出现。然而,由于交易延迟、高额转账费用等问题愈发突出,更高效、更安全、更易访问的支付系统成为新的刚需。 此前,咨询巨头麦肯锡的一…...
Oracle-rolling upgrade升级19c
前言: 本文主要描述Oracle11g升19c rolling upgrade升级测试,通过逻辑DGautoupgrade方式实现rolling upgrade,从而达到在较少停机时间内完成Oracle11g升级到19c的目标 升级介绍: 升级技术: rolling upgrade轮询升级,通过采用跨版…...
Buck电路设计避坑指南:为什么你的小信号模型仿真总是不收敛?
Buck电路小信号模型仿真收敛问题实战解析 在电力电子系统设计中,Buck变换器的小信号模型仿真对于理解系统动态特性至关重要。然而,许多工程师在从理论转向实践时,常常遇到仿真不收敛、波形异常等问题。本文将深入剖析这些问题的根源ÿ…...
5G网络规划避坑指南:PRACH时频资源配置详解与常见配置错误排查
5G网络规划避坑指南:PRACH时频资源配置详解与常见配置错误排查 在5G网络部署与优化过程中,随机接入信道(PRACH)的配置直接影响终端接入成功率与用户体验。许多网络性能问题,如高接入延迟、频繁接入失败,往往…...
王二明古方草解毒茶商城模式解析
王二明古方草解毒茶商城模式解析:架构、争议与合规思考在社交电商与大健康产业的交叉赛道中,“王二明古方草解毒茶”凭借其独特的草本茶饮定位与多级分销模式,曾一度引发市场关注。该模式以产品为核心,通过数字化商城系统构建了一…...
Open UI5 源代码解析之740:SearchManager.js
源代码仓库: https://github.com/SAP/openui5 源代码位置:src\sap.f\src\sap\f\SearchManager.js SearchManager.js 深度解析:在 openUI5 中的职责、机制与落地价值 文件定位与总体判断 这个文件定义了一个名为 sap.f.SearchManager 的类。它位于 sap.f 库路径下,却明…...
VMware Workstation 16开机自启踩坑实录:从环境变量报错到bat脚本优化,一篇搞定
VMware Workstation 16开机自启全攻略:从环境变量到脚本优化的深度实践 每次重启服务器后手动打开虚拟机实在是个体力活。上周我负责维护的测试环境又因为忘记启动虚拟机导致整个团队阻塞了半天,这种低级错误让我决定彻底解决VMware Workstation的开机自…...
TextGrad部署与性能优化:生产环境最佳实践
TextGrad部署与性能优化:生产环境最佳实践 【免费下载链接】textgrad Automatic Differentiation via Text -- using large language models to backpropagate textual gradients. 项目地址: https://gitcode.com/gh_mirrors/te/textgrad TextGrad是一款基于…...
jsontop.cn使用全攻略:免费无广告的在线工具站,电脑手机通用
你是否经常遇到这些问题: 拿到一堆杂乱 JSON 看不懂,想格式化却不会?需要转 Base64、算 MD5、转时间戳,却要装复杂软件?想测试正则、预览 HTML,还要搭环境、找插件?网上工具全是广告࿰…...
JAVA中try catch无法捕获异常的原因是什么
Java 中的 try-catch 机制是处理异常的重要手段,但有时即使写了 try-catch 代码,异常仍会被抛出。这是因为 catch 块指定的异常类型可能无法与实际抛出的异常相匹配。让我们举一个代码意图捕获异常并打印特定信息的例子:public class Test {p…...
Linux服务器上Ollama离线安装全攻略(附systemd服务配置)
Linux服务器上Ollama离线安装全攻略(附systemd服务配置) 在企业内网或实验室环境中,离线部署AI工具往往面临诸多挑战。本文将手把手带你完成Ollama在Linux服务器上的完整离线安装流程,特别针对无外网访问权限的场景优化࿰…...
Windows美化从任务栏开始:TranslucentTB自定义方案从入门到精通
Windows美化从任务栏开始:TranslucentTB自定义方案从入门到精通 【免费下载链接】TranslucentTB A lightweight utility that makes the Windows taskbar translucent/transparent. 项目地址: https://gitcode.com/gh_mirrors/tr/TranslucentTB 当你厌倦了Wi…...
