- 博客(20)
- 资源 (6)
- 收藏
- 关注
原创 CPU内部结构窥探·「8」--ARMv8的流水线机制
流水线是一种将指令执行过程分解为若干个阶段,并使这些阶段能够并行执行的技术。每个阶段完成指令的一部分工作,从而提高整体指令吞吐量。流水线类似于工厂的生产线,每个工序(阶段)独立工作,但整体上加快了生产速度。ARMv8架构通过先进的分支预测和乱序执行技术,显著提升了处理器的性能。分支预测通过预测程序执行路径,减少流水线停顿;乱序执行通过动态调整指令执行顺序,充分利用处理器资源。两者结合,使得ARMv8处理器在多种应用场景中表现出色,为移动设备、嵌入式系统和服务器提供了强大的计算能力。
2024-08-12 13:21:01
1181
原创 Debug小妙招·「1」--使用GDB分析进程Core Dump
什么是Core Dump当程序崩溃(例如,由于非法内存访问或除零操作)时,操作系统会生成一个文件,称为core dump。这个文件包含了程序在崩溃时的内存状态、寄存器内容、堆栈信息以及其他相关的调试信息。Core Dump的用途Core dump文件用于调试和分析程序崩溃的原因,帮助开发者复现和修复bug。通过本教程,你应该学会了如何配置系统生成core dump文件,并使用GDB对core dump进行分析。通过掌握这些技能,你可以更高效地调试和解决程序崩溃问题。
2024-08-07 07:38:36
1175
原创 CPU内部结构窥探·「7」--ARMv8架构中的缓存机制
缓存是位于CPU与主存(DRAM)之间的小而快速的存储器,CPU处理器运行速度非常快,而主存(RAM)的速度相对较慢,因为缓存的访问速度远高于主存,为了让CPU不会因等待数据而停顿,缓存充当了一个快速的临时存储器,存储CPU最常用的数据,可以显著降低CPU访问数据的延迟,提高系统的整体性能。
2024-08-07 07:17:14
1378
原创 CPU内部结构窥探·「6」--ARMv8架构内部数据通路详解及优化技术
ARMv8架构是ARM处理器的一个重要版本,引入了64位处理能力,并在性能和功能上进行了显著增强。本文将详细介绍ARMv8架构中的数据通路,包括关键组件及其协作方式。
2024-07-28 08:40:17
1114
原创 CPU内部结构窥探·「5」--ARMv8寄存器组介绍
通用寄存器(General-purpose Registers)状态寄存器(Status Registers)专用寄存器(Special-purpose Registers)系统寄存器(System Registers)
2024-07-26 08:16:35
1136
原创 CPU内部结构窥探·「3」
加法器是一种数字电路,用于对二进制数进行加法运算。它们是计算机算术逻辑单元(ALU)的核心组件,也是各种数字系统(如计算器和数字信号处理器)的基础模块。半加器(Half Adder):处理两个单个位的加法。全加器(Full Adder):处理两个输入位和一个进位位的加法。多位加法器:处理多位二进制数的加法,通常通过连接多个全加器来实现。
2024-06-08 11:52:35
869
原创 CPU内部结构窥探·「2」
从一条汇编加法指令出发,分析cpu内部发生了什么?本文将详细剖析ARMv8架构中加法指令的执行过程,深入理解其在CPU上的运行机制。
2024-06-05 22:16:41
821
原创 CPU内部结构窥探·「1」
在CPU里面,有一个重要的部分叫做逻辑运算单元(ALU,Arithmetic Logic Unit)。逻辑运算单元是CPU的核心部分之一,负责执行基本的算术和逻辑运算。随着技术的进步,ALU也在不断改进,提供更高的性能和效率。与门是一个基本的逻辑门,用于实现AND(与)运算。把运算过程分成多个步骤,每个步骤可以同时处理不同的指令,就像工厂的流水线一样。这是ALU的核心部分,负责进行加减乘除和其他运算,就像一个超级计算器。使用多个CPU核心,每个核心都有自己的ALU,可以同时处理不同的任务。
2024-06-03 11:56:07
991
转载 如何消除各传感器之间的全部对齐误差?
转自--http://www.sohu.com/a/164506422_288206 正在将MEMS惯性测量单元(IMU)用于个人交通工具平台的自平衡制导系统,是否会有一款面向消费者,能消除各传感器之间的全部对齐误差,并且所有核心传感器元件都集成在单个芯片上的IMU?否,对于这个设计来说,这一般不是一个保险的期望。采用鲁棒的分立传感器和最佳封装并经过优化校准的工业级IMU,其对齐精度要...
2019-02-18 11:01:45
1351
转载 GPS NAME0183 详解
NMEA协议是为了在不同的GPS导航设备中建立统一的RTCM(海事无线电技术委员会)标准,它最初是由美国国家海洋电子协会(NMEA—The NationalMarine Electronics Association)制定的。NMEA协议有0180、0182和0183这3种,0183可以认为是前两种的升级,也是目前使用最为广泛的一种。在实际使用中,如果只是接收GPS的输出.则只需两根信号线 GPS...
2018-12-10 10:28:56
6465
3
原创 嵌入式C/C++面试题
typedef的使用:为复杂的声明定义简单的别名;如结构体的定义:typedef struct _node{ void *data; struct _node *prior; struct _node *next; }Node,*PNode;这里的PNode表示什么意思?PNode a; 相当于 Node *a; 又相当于:struct _nod...
2018-11-16 17:14:33
3641
原创 ubuntu安装ros
本文主要介绍ros的安装过程和在安装过程中出现的问题的一些解决方法,关于ros的介绍和应用,请查看我的其他博文。ros与ubuntu版本对应关系,ros有很多版本其与ubuntu的一些版本相互对应,如下图: 例如,你是ubuntu16.04则应该安装Kinetic。ros依赖python版本是python2.7,安装的时候查看一下python版本ros@ros-laptop:~$...
2018-11-16 16:32:19
792
1
转载 转载--openwrt框架分析
转载--openwrt框架分析这次讲讲openwrt的结构. 1. 代码上来看有几个重要目录package, target, build_root, bin, dl....---build_dir/host目录是建立工具链时的临时目录---build_dir/toolchain-<arch>*是对应硬件的工具链的目录---staging_dir/toolchai...
2018-07-26 12:33:15
363
原创 git Commit和Push的区别
git Commit和Push的区别git作为支持分布式版本管理的工具,它管理的库(repository)分为本地库、远程库。git commit操作的是本地库,git push操作的是远程库。git commit是将本地修改过的文件提交到本地库中。git push是将本地库中的最新信息发送...
2018-07-26 12:28:17
8956
2
原创 git 撤销本地修改与回退版本
git 撤销本地修改与回退版本 1. 使用 git checkout 撤销本地修改即放弃对本地已修改但尚未提交的文件的修改,还原其到未修改前的状态。注意: 已 add/ commit 的文件不适用个方法,应该用本文提到的第二种方法。命令如下:git checkout . # 撤销对所有已修改但未提交的文件的修改,但不包括新增的文件git checkout [fil...
2018-07-26 12:27:03
18682
原创 git add的作用
git add的作用git add是个多功能的命令1,跟踪: git add:跟踪当前目录下所有文件 git add <filename>:跟踪文件<filename>2,暂存已修改的文件: git status 后出现在“Changed but not updated” 这行下面,说明已跟踪文件的内容发生了变化,但还没有放到暂存区。git ...
2018-07-26 12:24:35
4297
原创 git commit和分支
git commit和分支commit: 在执行提交命令git commit之前,一定要git add要修改的文件,这样才能将更改的内容更新到本地。 在Git 中提交时,会保存一个提交(commit)对象,它包含一个指向暂存内容快照的指针,作者和相关附属信息,以及一定数量(也可能没有)指向该提交对象直接祖先的指针:第一次提交是没有直接祖先的,普通提交有一个祖先,由两个或多个分支合并...
2018-07-26 12:23:23
3703
原创 git常用命令
git常用命令1,初始化仓库: git init --此命令会在当前目录下新建一个Git仓库。新建了一个 .git的隐藏目录,仓库的所有数据都放在这个目录里。目前还是空的。2,跟踪,暂存文件: git add --执行git add 命令将源文件的修改加入git仓库的暂存区,待执行git commit时,正式将修改存入仓库。或新建一个文件后 git add ...
2018-07-26 12:20:24
185
转载 git rebase 修改以前提交过的内容
git rebase 使用总结:使用git rebase 修改以前已经提交的内容比如要修改之前的commit的 hashcode为:187f869c9d54c9297d6b0b1b4ff47d2ec781a55e1,git rebase 187f869c9d54c9297d6b0b1b4ff47d2ec781a55e^ --interactive --退回到要修改的co...
2018-07-26 12:16:28
2137
嵌入式面试资料 笔试资料
2018-10-19
基于stm32的mup6050 dmp数据融合
2014-07-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人