4514|5

5220

帖子

236

TA的资源

管理员

楼主
 

《嵌入式软件的时间分析》书友问答接龙 第二集:处理器基础知识 [复制链接]

发现入围的网友们对《嵌入式软件的时间分析》阅读速度和认可度很高啊,期待大伙继续围读~

 

《嵌入式软件的时间分析》的书友们(@luyism@常见泽1@数码小叶@hehung@qinyunti ):

需在本周内阅读完书籍的第二章节 处理器基础知识 ,跟帖参与问答接龙互动:

(1)第一位跟帖发起本章问题,第二位解答第一位发起的问题,第三、四位继续问答接龙;

(2)最后一位是章节总结角色,以文字或者思维导图的形式,对本章进行总结。至此章节互动结束。

 

注意:发起的问题,对解题者理解、学习本章内容有切实意义;发起的问题不可重复。

 

 

 

活动交流群

论坛有开设汽车电子交流群,欢迎感兴趣的小伙伴,微信添加“helloeeworld”为好友,对话:加入汽车电子交流群,入群交流。

扫码,对话:加入汽车电子交流群。

加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身

最新回复

本帖最后由 hehung 于 2024-7-2 09:15 编辑 本章主要介绍了: 处理器的架构分类:CISC(复杂指令集)和RISC(精简指令集); 代码执行:微处理器会不断地处理机器指令,这些指令按照顺序从代码存放位置(FLASH或者RAM)加载到执行单元。只要没有跳转指令或调用函数的指令,一旦完成一条指令的处理,PC就会增加一个内存位置,指向下一条要执行的指令地址,该指令会被加载到执行单元,然后被解码和执行。 寻址方式:寻址模式描述了如何访问存储器,每次内存访问都需要定义要访问的地址以及应该如何处理该地址上的数据,包括存储数据到地址,从地址读出数据,跳转到地址或者从地址中调用子程序等。 缓存:缓存的目的是减少存储器访问的开销。每个缓存区分为若干缓存行,每一行的大小是几十个字节,主存储器的大小一般是缓存的整数倍,向缓存传输数据或者从缓存读取数据都是突发访问,用于传输整个缓存行。 流水线: Fetch:取指,从存储器或缓存区加载指令 Decode:解码,解析操作码 Execute:执行命令 Write-back:回写结果(若需) 中断:中断就是一段代码,不会被软件调用,而是由硬件事件触发。 异常:比中断有更高的优先级,一般都是由处理器检测到了错误才会触发,每种处理器设计的异常是不一样的。 数据一致性等。 该章节讲解的都是一些基本的知识,只能作为了解,因为该章节中的每一个小章节的内容,都需要单独专门讲解,想要了解的更清楚,需要查阅其他资料。 其中对嵌入式开发人员而言,最重要的就是数据一致性问题,一般对于不能原子操作的指令(一个CPU周期内完成的)都会存在数据一致性的问题,这就需要通过一些手段来解决,最常用的就是:在可能出现数据一致性的代码之前,关闭全局中断,再在代码之后开启全局中断。     详情 回复 发表于 2024-7-2 09:14
点赞 关注

回复
举报

7172

帖子

195

TA的资源

五彩晶圆(高级)

沙发
 

提问:处理器常用的寄存器有哪几个?实现什么作用 (列举4-5个)

 
 

回复

40

帖子

0

TA的资源

一粒金砂(中级)

板凳
 

处理器常用的寄存器主要有以下几种,它们各有分工,协同工作以加速计算机程序的执行:

  1. 累加器(Accumulator, 例如EAX/RAX):这是最常用的寄存器之一,主要用于数学运算,比如加、减、乘、除等。它暂存操作数和运算结果,让数据处理更高效。

  2. 基址寄存器(Base Register, 例如EBX/RBX):常用于存放数据结构的基地址,配合变址寄存器进行内存寻址,便于访问数组或结构体成员。

  3. 计数器(Counter, 例如ECX/RCX):常用于循环计数,比如在循环结构中控制重复次数。它也可以用作一般的临时数据存储。

  4. 数据寄存器(Data Register, 例如EDX/RDX):除了参与算术逻辑运算外,还经常用于存放I/O操作的状态信息或者作为双字运算的辅助寄存器。

  5. 堆栈指针(Stack Pointer, 例如ESP/RSP):跟踪栈顶位置,每当有数据压入或弹出堆栈时,这个寄存器的值会相应调整,确保程序能正确管理调用栈。

这些寄存器的存在,使得处理器可以直接从它们中快速读取或写入数据,无需频繁访问较慢的内存,从而显著提高了处理速度。每个寄存器都有特定的用途,但也可以根据需要灵活使用,是处理器高效执行指令不可或缺的部分。

 
 
 

回复

2549

帖子

0

TA的资源

五彩晶圆(初级)

4
 

流水线小节,提到的分支预测单元机制,该机制的原理是什么?

点评

一般的思想就是根据历史情况进行猜测, 最简单的就是猜测本次跟上一次的分支跳转一致, 只需要一个bit记录上一次分支跳转方向,本次和上一次一样即可。 当然也可以使用更多bit记录更多的历史信息,使用状态  详情 回复 发表于 2024-7-1 21:33
 
 
 

回复

501

帖子

4

TA的资源

纯净的硅(高级)

5
 
数码小叶 发表于 2024-7-1 15:48 流水线小节,提到的分支预测单元机制,该机制的原理是什么?

一般的思想就是根据历史情况进行猜测,

最简单的就是猜测本次跟上一次的分支跳转一致,

只需要一个bit记录上一次分支跳转方向,本次和上一次一样即可。

当然也可以使用更多bit记录更多的历史信息,使用状态机根据历史信息来进行判决。

 

打个比方就是今天下雨了,猜测明天也会下雨,连续下雨了,猜测后面还会下雨概率也大。

 

 
 
 

回复

282

帖子

2

TA的资源

一粒金砂(高级)

6
 
本帖最后由 hehung 于 2024-7-2 09:15 编辑

本章主要介绍了:

处理器的架构分类:CISC(复杂指令集)和RISC(精简指令集);

代码执行:微处理器会不断地处理机器指令,这些指令按照顺序从代码存放位置(FLASH或者RAM)加载到执行单元。只要没有跳转指令或调用函数的指令,一旦完成一条指令的处理,PC就会增加一个内存位置,指向下一条要执行的指令地址,该指令会被加载到执行单元,然后被解码和执行。

  • 寻址方式:寻址模式描述了如何访问存储器,每次内存访问都需要定义要访问的地址以及应该如何处理该地址上的数据,包括存储数据到地址,从地址读出数据,跳转到地址或者从地址中调用子程序等。
  • 缓存:缓存的目的是减少存储器访问的开销。每个缓存区分为若干缓存行,每一行的大小是几十个字节,主存储器的大小一般是缓存的整数倍,向缓存传输数据或者从缓存读取数据都是突发访问,用于传输整个缓存行。
  • 流水线:
  1. Fetch:取指,从存储器或缓存区加载指令
  2. Decode:解码,解析操作码
  3. Execute:执行命令
  4. Write-back:回写结果(若需)
  • 中断:中断就是一段代码,不会被软件调用,而是由硬件事件触发。
  • 异常:比中断有更高的优先级,一般都是由处理器检测到了错误才会触发,每种处理器设计的异常是不一样的。
  • 数据一致性等。

该章节讲解的都是一些基本的知识,只能作为了解,因为该章节中的每一个小章节的内容,都需要单独专门讲解,想要了解的更清楚,需要查阅其他资料。

其中对嵌入式开发人员而言,最重要的就是数据一致性问题,一般对于不能原子操作的指令(一个CPU周期内完成的)都会存在数据一致性的问题,这就需要通过一些手段来解决,最常用的就是:在可能出现数据一致性的代码之前,关闭全局中断,再在代码之后开启全局中断。

 

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表