论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com
»
论坛
›
软件与程序人生
›
云原生
›
ARM体系与架构
ARM体系与架构
立山
论坛元老
|
2024-7-21 16:26:35
|
显示全部楼层
|
阅读模式
楼主
主题
1029
|
帖子
1029
|
积分
3087
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
ARM体系与架构
硬件底子
ARM处理器
什么是哈佛布局和冯诺依曼布局?
冯诺依曼布局采用指令和数据
统一编址
,使用
同条总线
传输,CPU读取指令和数据的操作无法重叠。
哈佛布局采用指令和数据独立编址,使用两条独立的总线传输,CPU读取指令和数据的操作可以重叠。
利弊
冯诺依曼布局紧张用于通用盘算机领域,必要对存储器中的代码和数据频仍的进行修改,统一编址有利于
节约资源
。
哈佛布局紧张用于嵌入式盘算机,步调固化在硬件中,有较高的可靠性、运算速度和较大的吞吐。
什么是ARM流水线技能
流水线技能通过
多个功能部件
并行工作来缩短步调执行时间,进步处理器核的服从和吞吐量,从而称为微处理器设计中最为紧张的技能之一。
ARM7
处理器核使用了
典范三级流水线的冯诺依曼布局
,ARM9系列则采用了基于
五级流水线的哈佛布局
。通过增加流水线级数简化了流水线各级的逻辑,进一步进步了处理器的性能。
PC代表步调计数器,流水线使用三个阶段,因此指令分为三个阶段执行:1.取指(从存储器装载一条指令);2.译码(识别将要被执行的指令);3.执行(处理指令并将结果写回寄存器)。而R15(PC)总是指向“正在取指”的指令,而不是指向“正在执行”的指令或正在“译码”的指令。一般来说,人们习惯性约定将“
正在执行的指令作为参考点
”,称之为当前第一条指令,因此PC总是指向第三条指令。当ARM状态时,每条指令为4字节长,所以PC始终指向该指令地址加8字节的地址,即:
PC值=当前步调执行位置+8
;
ARM指令是三级流水线,取指,译指、执行,同时执行的,如今
PC指向的是正在取指的地址(下一条指令)
,那么cpu正在译指的指令地址是PC-4(假设在ARM状态下,一个指令占4个字节),
cpu正在执行的指令地址是PC-8
,也就是说PC所指向的地址和如今所执行的指令地址相差8。
当突然发生中断的时候,保存的是PC的地址(PC-8+4 = PC-4 下一条指令的地址)
如果返回的时候返回PC,那么中间就有一个指令没有执行,所以用SUB pc lr-irq #4。
ARM有几种工作模式
1.用户模式(USR)
用户模式是用户步调的工作模式,它运行在操作体系的用户态,它没有权限去操作别的硬件资源。只能执行处理自己的数据,也
不能切换到别的模式下
,要想访问硬件资源或切换到别的模式只能通过软中断或产生非常。
2.体系模式(SYS)
体系模式是特权模式,不受用户模式的限制。用户模式和体系模式共用一套寄存器,操作体系在该模式下可以方便的访问用户模式的寄存器,而且操作体系的一些特权任务可以使用这个模式访问一些受控的资源
3.一般中断模式(IRQ)
一般中断模式也叫普通中断模式,用于处理一般的中断哀求,通常在硬件产生中断信号之后自动进入该模式,该模式为特权模式,可以自由访问体系硬件资源。
4.快速中断模式(FIQ)
快速中断模式是相对一般中断模式而言的,它是用来处理对时间要求比较告急的中断哀求,紧张用于高速数据传输及通道处理中。
5.管理模式(SVC)
管理模式是
CPU上电后默认模式
,因此,在该模式下紧张用来做
体系的初始化
,软中断处理也在该模式下。当用户模式下的用户步调哀求使用硬件资源时,通过软件中断进入该模式。
6.终止模式(ABT)
中断模式用于支持虚拟内存或存储器掩护,当用户步调访问非法地址,没有权限读取的内存地址时,会进入该模式,Linux下编程时经常出现的segment fault通常都是在该模式下抛出返回的。
7.未定义模式(UND)
未定义模式用于支持硬件协处理器的软件仿真,CPU在指令的译码阶段不能识别该指令操作时,会进入未定义模式。
Arm有多少32位寄存器?
ARM处理器共有
37
个寄存器。它包罗
31
个通用寄存器和
6
个状态寄存器。
Arm2440和6410有什么区别?
1.主频差别。2440是400M的。6410是533、667M的;
2.处理器版本不一样:2440是arm920T内核,6410是arm1176ZJF内核;
3.6410在视频处理方面比2440要强很多。内部视频解码器,包罗MPEG4等视频格式;
4.6410支持WMV9、xvid、mpeg4、h264等格式的硬解码和编码;
5.6410多和很多扩展接口比如:tv-out、CF卡和S-Video输出等;
6.spi、串口、sd接口也比那两个要丰富;
7.6410采用的是DDR内存控制器;2440采用的是SDRam内存控制器;
8.6410为双总线架构,一路用于内存总线、一路用于Flash总线;
9.6410的启动方式更加机动:紧张包罗SD、Nand Flash、Nor Flash和OneFlash等装备启动;
10.6410的Nand Flash支持SLC和MLC两种架构,从而大大扩大存储空间;
11.6410具备8路DMA通道,包罗LCD、UART、Camera等专用DMA通道;
12.6410还支持2D和3D的图片加快;
Arm指令集分为几类
2类,分别为Thumb指令集,ARM指令集。ARM指令长度为32位,Thumb指令长度为16位。这种特点使得ARM既能执行16位指令,又能执行32位指令,从而加强了ARM内核的功能。
通用寄存器包罗R0~R15,可以分为具体哪三类?
通用寄存器包罗R0-R15,可以分为3类:
1.未分组寄存器R0-R7
在全部运行模式下,未分组寄存器都指向
同一个物理寄存器
,他们未被体系用作特殊的用途。因此在中断或非常处理进行
非常模式转换
时,由于差别的处理器运行模式均使用相同的物理寄存器,所以可能造成
寄存器中数据的破坏
。
2.分组寄存器R8-R14
对于分组寄存器,他们每次所访问的物理寄存器都
与当前的处理器运行模式相干。
R13常用作存放堆栈指针,用户也可以使用其他寄存器存放堆栈指针,但在Thumb指令集下,某些指令逼迫要求使用R13存放堆栈指针。
3.步调计数器PC(R15)
寄存器R15用作步调计数器(PC),在ARM状态下,位[1:0]为0,位[31:2]用于保存PC;在Thumb状态下,位[0]为0,位[31:1]用于保存PC。
Arm处理器有几种工作状态?
从编程的角度来看,Arm微处理器的工作状态一般ARM和Thumb有两种,并可在两种状态之间切换。
ARM状态:此时处理器执行32位的字对齐ARM指令,绝大部分工作在此状态。
Thumb状态:此时处理器执行16位的半字对齐的Thumb指令。
Arm体系中,在函数调用的时候,参数是通过哪种方式通报的?
当参数小于等于4的时候是通过
r0-r3寄存器
来进行通报的,当参数大于4的时候是通过
压栈
的方式进行通报。
ARM协处理器指令包罗哪3类,请形貌它们的功能。
ARM协处理器指令包罗以下3类:
用于ARM处理器初始化ARM协处理器的数据处理操作。
用于ARM处理器的寄存器和ARM协处理器的寄存器间的数据传送操作。
用于在ARM协处理器的寄存器和内存单元之间传送数据。
什么是PLL(锁相环)?
简单来说,输入时钟的存在是作为“参考源”。锁相环不是为了单纯产生同频同信赖号,而是一般集成进某种“频率综合电路”,产生一个差别频,但锁相的信号
中断与非常
中断与非常有何区别
中断是指外部硬件产生的一个电信号从CPU的中断引脚进入,打断CPU的运行。
非常是指软件运行过程中发生了一些必须做出处理的事变,CPU自动产生一个陷入来打断CPU的运行。
非常在处理的时候必须思量与处理器的时钟同步,实际上非常也称为同步中断,在处理器执行到因编译错误而导致的错误指令时,或者在执行期间出现特殊错误,必须靠内核处理的时候,处理器就会产生一个非常。
中断和DMA有何区别
DMA:是一种
无须CPU
的到场,就可以让外设与体系内存之间进行双向数据传输的硬件机制,使用DMA可以使体系CPU从实际的I/O数据传输过程中摆脱出来,从而大大进步体系的吞吐率。
中断:是指CPU在执行步调的过程中,出现了某些
突发事件
时,CPU必须
暂停执行
当前的步调,转去处理突发事件,处理完毕后CPU又返回源步调被中断的位置并继续执行。
所以中断和DMA的区别就是:
DMA不需CPU到场
,而中断时
是必要CPU到场的
。
通讯协议
什么是异步传输和同步传输?
异步传输:是一种典范的基于字节的输入输出,数据按每次一个字节进行传输,其传输速度低。
同步传输:必要外界的时钟信号进行通讯,是把数据字节组合起来一起发送,这种组合称之为帧,其传输速度比异步传输快。
SPI协议
SPI的应用
SPI协议是由摩托罗拉公司提出的通讯协议,即串行外围装备接口,是一种高速全双工的通讯总线。SPI总线体系是一种同步串行外设接口,它可以使MCU与各种外围装备以串行方式进行通讯以交换信息。SPI总线可直接与各个厂家生产的多种标准外围器件相连,包罗FLASH、RAM、网络控制器、LCD显示驱动器、A/D转换器和MCU等。
接口
1.MOSI
2.MISO
3.CLK
4.CS
IIC协议
IIC协议使由数据线SDA和时钟SCL构成的串行总线,可发送和吸收数据,是一个多主机的
半双工通讯方式
每个挂接在总线上的器件都有个
唯一的地址
。位速在标准模式下可达100kbit/s,在快速模式下可达400kbit/s,在高速模式下可待3.4Mbit/s。
编程
嵌入式编程中,什么是大端?什么是小端?
大端模式:低位字节存在高地址上,高位字节存放在低地址上。
小端模式:高位字节存在高地址上,低位字节存在低地址上。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
立山
论坛元老
这个人很懒什么都没写!
楼主热帖
IoTOS-v1.5.3 新增 智能诊断&会话记录 ...
【学习笔记】WPF-01:前言
基于SqlSugar的开发框架循序渐进介绍( ...
网络安全-技术与实践 书本习题练习 ...
CentOS7 单机版使用kubeadm安装K8S ...
IO流的使用
开源直播课丨大数据集成框架ChunJun类 ...
Python中可以用三种方法判断文件是否存 ...
WEB安全基础入门—身份验证漏洞 ...
解读数仓常用模糊查询的优化方法 ...
标签云
AI
运维
CIO
存储
服务器
浏览过的版块
SQL-Server
网络安全
.Net
Java
虚拟化与私有云
Oracle
DevOps与敏捷开发
物联网
快速回复
返回顶部
返回列表