首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
大胆的蚊不叮许愿简历通过
门头沟学院 Java
关注
已关注
取消关注
@苦学编程30年:
[知识点] 嵌入式软件开发知识点学习
注:本人学的是ARM Cortex-A7系列的处理器(IMX6ULL),针对的校招学习也是这方面的 点个小赞关注一波,持续更新…… [专栏]嵌入式软件校招笔记(点击跳转) [知识点] 嵌入式软件开发知识点学习 [知识点] ARM指令集详解 [知识点] 通讯协议(very重要) [项目] C++高并发Web服务器+个人改进项目详解 [八股] C/C++基础八股 [八股] C/C++进阶八股 [八股] 计算机网络八股 [八股] 操作系统八股 [八股] 嵌入式系统八股 [八股] Linux系统编程八股 [八股] Linux网络编程八股 秋招嵌入式企业面经 ARM体系架构 ARM处理器概述 ARM处理器是一种基于RISC指令集架构的微处理器,主要用于嵌入式系统和移动设备,如智能手机、平板电脑、数字相机等。ARM处理器的优点是功耗低、体积小、可靠性高,在嵌入式系统和移动设备领域得到广泛应用。 ARM处理器架构简洁高效,指令集精简,架构简单易于实现。同时,ARM处理器支持多种操作系统,可以使用Linux、Android等开源操作系统,也可以使用Windows、iOS等商业操作系统。因此,ARM处理器适合于开发各种类型的应用程序,包括企业应用、游戏、嵌入式应用、移动应用等。 ARM处理器的发展历程非常丰富,从最初的Acorn RISC Machine,到今天的ARMv8-A架构,其核心设计思想一直保持不变,就是简单、高效、低功耗。ARM处理器已经成为了绝大部分移动设备和嵌入式系统的首选处理器,是一个非常重要的微处理器平台。 ARM架构CPU 控制单元是整个CPU的指挥控制中心 ,由程序计数器PC(Program Counter),指令寄存器IR (Instruction Register)、指令译码器ID(Instruction Decoder)和操作控制器OC(Operation Controller)等,对协调整个电脑有序工作极为重要。它根据用户预先编好的程序,依次从存储器中取出各条指令,放在指令寄存器IR中,通过指令译码(分析)确定应该进行什么操作,然后通过操作控制器OC,按确定的时序,向相应的部件发出微操作控制信号。操作控制器OC中主要包括节拍脉冲发生器、控制矩阵、时钟脉冲发生器、复位电路和启停电路等控制逻辑。 运算单元可以执行算术运算(包括加减乘数等基本运算及其附加运算)和逻辑运算(包括移位、逻辑测试或两个值比较) 。相对控制单元而言,运算器接受控制单元的命令而进行动作,即运算单元所进行的全部操作都是由控制单元发出的控制信号来指挥的,所以它是执行部件。 存储单元包括CPU片内缓存和寄存器组 ,本文要将的内部寄存器也就是这里的寄存器组。是CPU中暂时存放数据的地方,里面保存着那些等待处理的数据,或已经处理过的数据,CPU访问寄存器所用的时间要比访问内存的时间短。采用寄存器,可以减少CPU访问内存的次数,从而提高了CPU的工作速度。但因为受到芯片面积和集成度所限,寄存器组的容量不可能很大。寄存器组可分为专用寄存器和通用寄存器。专用寄存器的作用是固定的,分别寄存相应的数据。而通用寄存器用途广泛并可由程序员规定其用途,通用寄存器的数目因微处理器而异。 总的来说,CPU从内存中一条一条地取出指令和相应的数据,按指令操作码的规定,对数据进行运算处理,直到程序执行完毕为止。而指令又是开发者设计好的, 开发者可以通过改变内部寄存器的内容来实现对CPU的控制 。 ARM公司概述 ARM的含义 ARM(Advanced RISC Machines)有三种含义:一个公司的名称、一类处理器的通称、一种技术。 ARM公司 成立于1990年11月,前身为Acorn计算机公司;主要设计ARM系列RISC处理器内核;授权ARM内核给生产和销售半导体的合作伙伴,ARM公司并不生产芯片;提供基于ARM架构的开发设计技术软件工具、评估板、调试工具、应用软件、总线架构、外围设备单元等; 主流的两种处理器 RISC处理器(精简指令集) 只保留常用的的简单指令,硬件结构简单,复杂操作一般通过简单指令的组合实现,一般指令长度固定,且多为单周期指令。RISC处理器在功耗、体积、价格等方面有很大优势,所以在嵌入式移动终端领域应用极为广泛。 RISC体系结构_百度百科 CISC处理器(复杂指令集) 不仅包含了常用指令,还包含了很多不常用的特殊指令,硬件结构复杂,指令条数较多,一般指令长度和周期都不固定。CISC处理器在性能上有很大优势,多用于PC及服务器等领域。 复杂指令集计算机_百度百科 risc和cisc的区别 (1)指令系统:RISC设计者把主要精力放在那些经常使用的指令上,而CISC计算机的指令系统比较丰富。 (2)存储器操作:RISC对存储器操作有限制,CISC机器的存储器操作指令多; (3)程序:RISC汇编语言程序复杂;CISC汇编语言程序编程简单。 (4)中断:RISC机器在一条指令执行的适当地方可以响应中断;而CISC机器是在一条指令执行结束后响应中断。 (5)CPU:RISCCPU功耗低;而CISCCPU功耗大。 (6)设计周期:RISC微处理器结构简单;CISC微处理器结构复杂; (7)用户使用:RISC微处理器结构简单,CISC微处理器结构复杂; (8)应用范围:RISC机器更适合于专用机;而CISC机器则更适合于通用机。 ARM指令集 指令 能够指示处理器执行某种运算的命令称为指令(如加、减、乘...); 指令在内存中以机器码(二进制)的方式存在;每一条指令都对应一条汇编;(注意:不可打断)程序是指令的有序集合;指令集 处理器能识别的指令的集合称为指令集;不同架构的处理器指令集不同;指令集是处理器对开发者提供的接口; ARM指令集 大多数ARM处理器都支持两种指令集: ARM指令集 所有指令(机器码)都占用32bit存储空间(4个字节);代码灵活度高、简化了解码复杂度;执行ARM指令集时PC值每次自增; Thumb指令集 所有指令(机器码)都占用16bit存储空间(2个字节);代码密度高、节省存储空间;执行Thumb指令集时PC值每次自增; ARM指令集_百度百科 编译原理 主要过程为:预处理(预编译)->编译->汇编。 机器码(二进制)是处理器能直接识别的语言,不同的机器码代表不同的运算指令,处理器能够识别哪些机器码是由处理器的硬件设计所决定的,不同的处理器机器码不同,所以机器码不可移植。汇编语言是机器码的符号化,即汇编就是用一个符号来代替一条机器码(一一对应),所以不同的处理器汇编也不一样,即汇编语言也不可移植。C语言在编译时我们可以使用不同的编译器将C源码编译成不同架构处理器的汇编,所以C语言可以移植。 编译原理_sundingh的博客-CSDN博客_编译原理 ARM存储模型 1. ARM数据类型 1.1. ARM的基本数据类型 ARM采用32位架构,即ARM一次可以处理32bit的数据,基本的数据类型有以下三种: Byte 8 bits(1个字节) Halfword 16 bits(2个字节) Word 32 bits(4个字节) 前面说到,C语言是可以移植到arm处理器上的,但是C语言的数据类型和ARM的数据类型并不兼容,所以arm-gcc编译器在编译的时候,会将C语言的类型转换成ARM可以处理的数据类型,比如 char =》 Byte,short =
点赞 14
评论 12
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
04-27 12:09
已编辑
门头沟学院 前端工程师
多益网络前端一面凉经(4.23)
自我介绍拷打实习数据量很大、嵌套层级较多的树形结构该如何处理v-model的实现原理,自定义实现一个v-model单点登录如何实现JWT跨页面通信什么时候接触前端,通过什么方式学习,近期印象深刻的文章,读过前端方面的什么书籍日常有使用AI吗,用来做什么,常用的产品CSS如何隐藏一个元素,区别,透明度是哪个属性伪类和伪元素数组去重深拷贝和浅拷贝的区别,具体实现如何判断一个数组web安全方面的了解单例模式Vue自定义指令,如何写一个自定义指令v-for里面为什么要加key,能不能用数组下标,界面显示有没有什么问题交换变量的值的方法手撕:数组扁平化同事经常改错我的代码,该怎么做你对互联网行业加班的看...
哆嗐网络受缢人:
22题我会,公司在微博上说了,是仲裁员强制公司让员工加班的
(可以进我主页看看我的一些亲身经历)
查看20道真题和解析
点赞
评论
收藏
分享
04-25 15:35
中南大学 Java
4.8快手一面凉经
自我介绍完之后拷打项目:如何保障 Redis 缓存和数据库之间的数据一致性?答了Cache Aside 策略,后面追问了其他机制和删除失败的处理Redis 在哪些地方使用了多线程?Redis 单线程处理命令有什么问题/缺点?线程池(ThreadPoolExecutor)的任务执行流程是怎样的?线程池底层如何实现线程复用?JDK 源码看过哪些?List 和 Set 的区别? 有没有有序的 Set?底层如何保证有序?Set 如何保证元素不重复?equals() 和 == 的区别?Set 判断重复的逻辑流程是怎样的?解释项目中如何使用二级索引和覆盖索引进行优化。InnoDB 为什么选择 B+ 树作为...
快手一面635人在聊
查看17道真题和解析
实习进度记录
点赞
评论
收藏
分享
03-04 19:02
云南大学 Java
暑期实习
这是简历挂了吗?有通知面试的吗?
Yki_:
没挂,只是没人捞,该干啥干啥,等着就好了
点赞
评论
收藏
分享
04-03 01:14
湖南农业大学 前端工程师
25前端0offer还有机会翻身吗
牛肋啊感觉自己好废
爱喝奶茶的垂耳兔拥抱太阳:
感觉项目和实习没有技术亮点和难点,单纯说了自己干了啥
点赞
评论
收藏
分享
04-29 11:31
西南民族大学 用户研究员
阿里年终奖给的是真多啊。。
阿里巴巴各部门年终奖开奖了,有人拿到了220w
真烦好烦真烦:
拿命换钱呢,公司给你220万,肯定是因为你对公司的贡献大于220万,想想要多厉害多累才能达到
投递阿里巴巴集团等公司10个岗位 >
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
1
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
暑期后端高频问题汇总
7.3W
2
...
左手敲代码的程序员,不配拥有offer吗?
6.9W
3
...
五一假期,弯道超车时间表
1.1W
4
...
后端简历上最值得写的项目
1.0W
5
...
北京到底有谁在啊?
9146
6
...
五一别写你那破开源代码了
8418
7
...
五一准备刷完这些面试八股题!!
7384
8
...
拼多多服务端信息确认
6340
9
...
和ai聊天,忍不住爆哭
6337
10
...
快手投诉后续- HR把我拉黑了!
6313
创作者周榜
更多
正在热议
更多
#
找工作,行业重要还是岗位重要?
#
7914次浏览
103人参与
#
五一之后,实习真的很难找吗?
#
46074次浏览
332人参与
#
盲审过后你想做什么?
#
12737次浏览
114人参与
#
领导秒批的请假话术
#
10010次浏览
74人参与
#
外包能不能当跳板?
#
22204次浏览
191人参与
#
设计人如何选offer
#
98444次浏览
690人参与
#
五一假期,你打算“躺”还是“卷”?
#
31181次浏览
439人参与
#
考研可以缓解求职焦虑吗
#
21245次浏览
251人参与
#
面试等了一周没回复,还有戏吗
#
115692次浏览
1075人参与
#
大疆的机械笔试比去年难吗
#
69659次浏览
603人参与
#
如果有时光机,你最想去到哪个年纪?
#
43357次浏览
769人参与
#
找工作前vs找工作后的心路变化
#
7206次浏览
64人参与
#
写简历别走弯路
#
714598次浏览
7850人参与
#
应届生薪资多少才合理?
#
3124次浏览
24人参与
#
你喜欢工作还是上学
#
37722次浏览
413人参与
#
硬件人,你被哪些公司给挂了
#
46757次浏览
723人参与
#
每人推荐一个小而美的高薪公司
#
72852次浏览
1357人参与
#
如果不工作真的会快乐吗
#
101279次浏览
867人参与
#
牛友们的论文几号送审
#
27279次浏览
623人参与
#
许愿池
#
271897次浏览
2849人参与
牛客网
牛客企业服务