自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(1064)
  • 资源 (37)
  • 收藏
  • 关注

原创 verilog 文章总览

【代码】verilog 文章总览。

2025-04-08 11:21:26 284

原创 PCIe 文章总览

简介。

2023-05-20 16:14:47 952

原创 我的CSDN文章

指令集架构篇ARMv7&ARMv6ARMv8RISCV32+RISCV64SOCsoc架构原理篇u-boot- 基于arm32linuxbuildrootexternal debug - 基于 jtag工程篇cortex-m单片机硬件接口及驱动linux驱动框架裸机存储管理linux内存管理 第一刷KVM篇QEMU-KVM复杂协议篇蓝牙协议以太网协议.........

2022-04-19 17:06:25 1090 1

原创 ARMv6 ARMv7 架构 整体介绍

文章目录市场应用领域市占率常见产品架构编程模型运行状态指令集寄存器非特权级别(usr模式)下不建议访问的指令与寄存器ABI异常模型特权级异常种类内存模型VMSA&MMU内存顺序模型cache默认内存一致性模型debug模型External DebugSelf-hosted DebugTraceboot模型虚拟化模型安全模型开发工具gcc toolchain & gdbqemu常见开发环境(除qemu外)软件开发裸机(baremetal)RTOSLinuxboot架构相关代码通用知识:如何新增

2022-04-16 14:36:11 4460

原创 ARMv8 ARM64 架构 整体介绍

这里整理一些 arm64(aarch64是armv8下面的一个工作状态,一般我们将其称为arm64?)

2022-02-10 10:43:29 8227 2

原创 基于JTAG的 芯片DEBUG 文章整理

基于JTAG的 芯片DEBUG 架构CROSS_GDB <-> GDB SERVER(openocd) <-> USB转JTAG小板(openjtag) <-> core(riscv&arm)jtagJTAG (一)杂谈JTAG (二) 协议JTAG (三) jtag实例 riscvJTAG(四)jtag实例arm cortex-m4&方法arm-debugriscv-debugopenjtagopenocdgdb...

2021-11-07 16:00:05 1798

原创 QEMU-KVM 文章总览

流程总览QEMU 杂谈各个架构X86_64ARMv7ARMv8riscv

2021-09-23 11:41:29 628

原创 RISC V (RV32+RV64) 架构 整体介绍

riscv RTOS基于rv32 的 freertos基于rv64 的 rt-thread(非官方)基于rv64 的 rt-thread(官方)[基于rv32 的 rt-thead(非官方)](-TODO

2021-09-02 15:53:53 10264

原创 CORTEX-M 单片机 文章总览

一般来说 我们学习单片机 是通过学习历程(外设) 来 学习单片机在这里,换个角度从 单片机 启动角度 调试下载角度 内存角度 工程角度 来 学习单片机ARM单片机工程的编译链arm 的交叉编译链厂商单片机makefile工程makefile-linux工程单片机的bootstm32的bootgd32的boot单片机的内存stm32的内存映射调试下载框架及工具上位机软件JLink_Windows上位机软件openocd-linux上位机软件openocd-w

2021-06-17 14:14:10 661

原创 OK6410A 开发板 (九) A buildroot-2021.02 OK6410A 文章整理

硬件环境ok6410a板子的配置及资料整体boot现状最简移植ok6410a buildroot-2021.02 最简 移植busybox启动root账户密码登陆控制台为 串口0支持 reboot poweroffX11linux-5.11 ok6410a 增加lcd支持ok6410a buildroot-2021.02 x11 移植包括 ok6410a buildroot-2021.02 最简移植 的所有功能呢支持 设备管理mdev支持 xorg支持 网络工具

2021-04-15 14:43:29 493 1

原创 OK6410A 开发板 (八) A linux-5.11 OK6410A 文章整理

硬件环境ok6410a板子的配置及资料核心移植linux-4.0的移植linux-5.11的移植分析linux-5.11的配置过程分析linux-5.11的编译链接过程分析linux-5.11运行过程简略分析

2021-04-01 18:50:28 1497 4

原创 OK6410A 开发板 (三) A u-boot-2021.01 OK6410A 文章整理

硬件环境ok6410a板子的配置核心移植移植u-boot,使其能够跑起来并加载内核外围移植lcd 裸机lcd u-bootethernet 裸机ethernet u-boot其他外围驱动的TODO list分析整体boot现状需要分析的listu-boot与spl 配置过程Makefile解析spl 编译链接过程u-boot 编译链接过程spl与u-boot 编译链接过程的区别spl 运行分析简版spl 运行分析详细版u-boot运行

2021-03-30 16:45:22 364 1

原创 基于SC内存一致性模型两个核心约束的放松维度

针对SC核心约束1的relax每种顺序还细分为:├── 相同地址(通常不允许放松)└── 不同地址(放松的主要目标)针对SC核心约束2的relax。

2025-06-12 10:20:16 481

原创 atomicity of memory accesses

操作类型开始点结束点Load发起 cache read数据拿到为止Store发起 cache write数据在所有核心可见为止。

2025-06-11 15:51:10 359

原创 共享存储系统 文章收集

单处理器系统如何保证IO操作的缓存一致性缓存一致性 与 执行流缓存一致性的形式化定义缓存一致性性的 实现等价

2025-06-11 14:01:46 354

原创 simple write-through invalidation protocol 如何满足缓存一致性的形式化定义

凭借 B1 和 B3 可以 构造出一个假想全局序列, 且能 满足 A1。B3. 读写之间定义 partial order。B2. 读能读到最新写入的值。B1. 写-写顺序一致。

2025-06-10 10:26:12 162

原创 多核处理器系统中内存一致性问题举例

问题是否成立说明多核系统会 stall 直到看到一致的数据❌不会,读取会看到“当前可见的值”,不等于等待一致store buffer 是 FIFO,所以写顺序一致✅/❌顺序进入 store buffer,但何时对其他核心可见不一定顺序传播快慢是否只是影响延迟❌在弱一致模型下,传播差异导致可见顺序乱序,进而出现 assert 失败assert(data == 123) 会失败吗✅ 可能在 ARM/RISCV 等架构上,确实可能,如果没有内存屏障。

2025-06-09 23:16:51 757

原创 缓存一致性性的 实现等价

讲述了 缓存一致性的 形式化定义 . 是从 高层次 形式化定义了 缓存一致性 , 但是没提 如何实现 怎么实现.那么从实现角度 呢?

2025-06-09 21:57:49 290

原创 共享存储系统

共享存储系统”这个术语的本质含义所有执行流可以访问统一的地址空间不同执行流对同一地址的访问是有语义意义的,即存在一致性保证;并行程序中,多个执行流通过读写共享变量通信与协作;这不仅是物理上的共享(即某个地址从所有执行流都可访问),还要是语义上的共享(不同执行流看到的值具有一致性逻辑)。1型: 小规模系统如多核系统(芯片内 SMP)或者通过总线互联的少量多核芯片(主板内 SMP),硬件的复杂度相对较低.提供共享存储的代价随着处理器数量的增加而超线性地增加。

2025-06-09 15:56:46 810

原创 并行硬件环境及并行编程

第 5.7 节将从更广义的角度探讨这些架构对并行编程的影响,并综合第 2 章和第 3 章关于并行程序的知识,以及本章关于。是共享内存并行编程中性能优化的关键目标,尤其是在基于总线的系统中,总线是瓶颈资源。来减少缓存未命中率(cache miss)和共享总线上的数据通信(流量)。:访问一个地址后,很可能会访问邻近地址(→ 利用块式缓存可提高效率);:近期访问的数据未来可能还会被访问(→ 使用缓存可以提高命中率);结合,进一步分析编程层面会遇到什么样的约束与优化方向。这里将回顾前面章节介绍的。

2025-06-07 21:14:23 215

原创 缓存一致性 与 执行流

区分硬件机制(缓存一致性 - 物理核心)和软件契约(内存模型 - 逻辑执行流)对于精确理解至关重要。

2025-06-07 11:46:08 479

原创 多执行流系统中的可见性

多核系统的各个核心有私有缓存,多个指令/CPU对同一内存地址的访问,不一定会马上读写主内存(或一致缓存)。即使一个核心很早就写入了内存,其他核心没看到这个写入,程序表现上就像这个写入没发生。✅ 所以一致性模型定义的是“看起来像是”什么顺序,而不是“物理上”什么顺序。内存系统的“顺序”定义的不是物理时间顺序,而是“对各执行流而言的行为顺序(可见性)”,因为这才是影响程序执行结果、数据竞争、同步行为的关键。或者更精炼一句:程序不能观察“写什么时候写入了物理内存”,它只能观察“什么时候读到了那个值”。

2025-06-07 11:03:36 376

原创 Sequential Consistency的两个核心约束

SC 是一个抽象模型,为了在实际系统中“实现”它,就要让系统的行为符合它的定义要求,也就是让程序执行的效果“看起来像是”所有处理器的操作按某种顺序一个接一个地完成。SC 的定义包含两个本质要求:程序顺序(program order)和原子可见性(atomic visibility). 这两个本质需求和形式化定义完全等价一个 执行流中的 Load/Store 等操作必须对所有执行流(包括自身)看起来是按代码写的顺序发生的。但不要求被同时看到所有进程看到的“整体顺序”或交错顺序是一致的。

2025-06-07 10:55:17 757

原创 SC 内存一致性 不包含 原子性

如果我们希望在一个进程的多个内存操作之间保持原子性(互斥性),或希望在多个进程之间的操作交错中强制实施某些顺序,就必须使用同步机制。在顺序一致性模型下,来自不同进程的操作可以以单条指令为粒度进行任意交错执行。顺序一致性只是规定了所有处理器看到的操作顺序,但。因此,仍然需要锁、信号量、屏障等同步手段。

2025-06-07 10:27:25 233

原创 Sequential Consistency 的 形式化定义

问题精确回答1. “execution 的结果”指所有 CPU load 到的值、内存最终状态,必须符合某个合法的串行操作顺序。2. “所有操作” 是指哪些仅指,不包括 ALU、跳转等指令。3. “some sequential order” 是真实的吗是逻辑上的顺序,不是实际执行顺序,但实现要保证最终行为可被解释为该顺序。

2025-06-07 09:48:26 858

原创 内存一致性管理的范围

执行流 = 能独立发起指令序列、发起内存访问请求、拥有自己程序计数器(PC)的一段运行上下文简单说:只要它能独立运行代码,并访问内存,那它就可以视作一个执行流。只要一个上下文具有独立执行能力 + 可访问内存,就可以被视为一个执行流。在涉及一致性模型时,中断上下文也应作为一个潜在的执行 agent 处理。

2025-06-06 22:10:47 396

原创 缓存一致性 推导出的 概念 : write serialization

【代码】缓存一致性 推导出的 概念 : write serialization。

2025-06-06 21:36:11 94

原创 缓存一致性的形式化定义

【代码】缓存一致性的形式化定义。

2025-06-06 17:20:11 104

原创 atomicity 概念

的一次写操作(store),例如 CPUA 在时刻 1 写入值。换句话说,写操作对所有处理器来说是。上面的描述换一种说法, 即。

2025-06-06 16:43:52 642

原创 发射与顺序问题

【代码】发射与顺序问题。

2025-06-03 11:20:57 214

原创 寄存器数据流技术

【代码】寄存器数据流技术。

2025-05-29 11:12:48 148

原创 内存访问指令中的顺序

Dispatch 阶段:一条指令被复制分发到两处→ IQ:负责乱序执行(不维护顺序)→ ROB:负责顺序提交(维护程序顺序)程序顺序的唯一载体是ROB,其顺序信息可以作为 tag 附在指令上供后级(如 IQ、LSQ)判断是否依赖、是否投机。模块是否维护程序顺序是否知道顺序信息(tag)ROB✅ 是✅ 有IQ❌ 不维护✅ 有(但不按它排)Dispatch✅ 发给 ROB 确保顺序✅ 有。

2025-05-27 15:41:33 598 2

原创 内存状态的更新在pipeline外完成

在 ARM 的典型流水线中,你是看不到 “内存状态更新” 这个明确阶段的。内存状态(store to memory)的更新,而是由。

2025-05-27 14:08:16 203

原创 单处理器系统如何保证IO操作的缓存一致性

【代码】单处理器系统如何保证IO操作的缓存一致性。

2025-05-27 10:46:45 79

原创 单核处理器系统中 store buffer 的可见性

【代码】单核中 store buffer 的可见性。

2025-05-27 10:42:07 110

原创 alpha 21264 流水线解读

【代码】alpha 21264 流水线解读。

2025-05-22 13:31:53 84

原创 超标量 书籍

【代码】超标量 书籍。

2025-05-19 10:44:08 216

原创 ridecore流水线解读

【代码】ridecore流水线解读。

2025-05-13 16:32:57 875

原创 pipeline 概念

【代码】pipeline 乱序。

2025-05-07 17:21:05 243

原创 SV 仿真的常识

的执行相当于软件世界中的“线程”。SystemVerilog 离散事件调度器在每个时间槽(time slot)内依次执行的主要。代码块各自形成一个仿真线程。若要在同一线程内并行分支,就需要使用。执行对应区域的所有就绪事件;然后仿真时间跳到下一个有事件的槽位。开始,逐层实例化与端口互联,最终形成完整的层次化结构。块就相当于在硬件世界里“显式启动一组并行线程”。在 SystemVerilog 中,模块(在仿真器中,每到一个时间槽,依次从。作为设计的基本单元,整个电路从。在默认情况下,每个模块的。

2025-04-30 11:07:41 1107

rtc1339驱动

这是海思平台下的一个rtc驱动,编译环境请参考海思35系列开发环境

2017-04-26

freetype2+SDL+SDL_ttf源码包及字符串转bmp图片demo

1/包内有freetype2 SDL SDL_ttf的源码包 2/包内有字符串转bmp图片的demo 3/运行前需要确定已经安装好了freetype2 SDL SDL_ttf

2017-03-07

uboot make过程的log

uboot make过程的log

2017-08-01

qt 初学 demo

qt 初学 工程 https://blog.csdn.net/u011011827/article/details/74451568

2018-04-30

qt控制台工程

qt控制台工程

2017-07-04

cgic库源文件

cgic.h 与 cgic.c

2017-03-26

安卓可执行C代码

安卓可执行C代码https://blog.csdn.net/u011011827/article/details/89706337

2019-05-01

sys_value demo

参考 https://blog.csdn.net/u011011827/article/details/89431996

2019-04-21

HEX文件BIN文件互换

该工具可以将bin文件转化为hex文件,也可以将hex文件转化为bin文件

2017-03-02

快速阅读代码.rar

https://blog.csdn.net/u011011827/article/details/89765534

2019-05-09

动态库静态库链接运行测试

http://blog.csdn.net/u011011827/article/details/53966311 参考

2017-07-02

u-boot-2010.06源码make执行过程

u-boot-2010.06源码make执行过程

2017-06-01

JLINK工具套件

JLINK工具套件,和JLINK硬件配合,可以烧写程序,可以烧写bootloader

2017-03-02

sourceInsight样式文档

在软件中Load就可以了

2017-05-07

qt初学者的qt工程

涵盖 qt 信号槽 线程 进程 事件 网络

2017-07-05

getopt实验代码

getopt实验代码

2017-04-27

sourceInsight样式

在sourceInsight中Load就可以了

2017-05-07

u-boot-2010.06 Makefile

u-boot-2010.06 Makefile

2017-06-01

sqlite-autoconf-3150200.tar.gz

sqlite-autoconf-3150200.tar.gz

2016-12-30

ping 命令的ftrace文件,基于dm9000

ping 命令的ftrace文件,基于dm9000

2023-04-08

linux-5.17 arm32 arm64 rv64 arch 下的 共同函数

linux-5.17 arm32 arm64 rv64 arch 下的 共同函数 https://blog.csdn.net/u011011827/article/details/124896520

2022-06-16

2,UCOS学习资料.rar

https://blog.csdn.net/u011011827/article/details/105696630

2020-04-23

swd下载过程分析需要的数据

https://blog.csdn.net/u011011827/article/details/117964522

2021-06-16

cortex-m4 stm32f407zg-dsl.rar

https://blog.csdn.net/u011011827/article/details/121190906

2021-11-07

ok6410-4.0-build-file.tar.gz

https://blog.csdn.net/u011011827/article/details/108729908

2020-09-22

swd下载分析用到的数据

单片机下载过程解析数据

2021-06-16

sample-makefile.zip

https://blog.csdn.net/u011011827/article/details/105574118

2020-04-17

stm32f407_in_linux.tar.gz

https://blog.csdn.net/u011011827/article/details/102615655

2019-10-17

grub-build.log

https://blog.csdn.net/u011011827/article/details/109290258 基于LFS-6.3的 GRUB-0.97 实用教程

2020-11-22

ok6410_sd.tar.gz

https://blog.csdn.net/u011011827/article/details/108798044

2020-09-28

forlinx6410_defconfig

https://blog.csdn.net/u011011827/article/details/108729908

2020-09-22

sdio_data_AllInOne.rar

sdio 相关资料 , https://blog.csdn.net/u011011827/article/details/100127530

2019-09-01

free_rtos_9_0_0.tar.gz

https://blog.csdn.net/u011011827/article/details/103946772

2020-01-12

实验1 跑马灯实验.rar

https://blog.csdn.net/u011011827/article/details/105486941

2020-04-17

app_test_all.tar.gz

https://blog.csdn.net/u011011827/article/details/105767175

2020-04-26

log.openocd

log.openocd,https://blog.csdn.net/u011011827/article/details/102643360

2019-10-19

led_stm32.tar.gz

https://blog.csdn.net/u011011827/article/details/105621619

2020-04-23

hello程序的rpm包

https://blog.csdn.net/u011011827/article/details/103977458

2020-01-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除