DMB DSB ISB以及SMP CPU 乱序
作者:forion 发布于:2014-8-15 16:57
不知道大家对DMB DSB ISB以及SMP CPU 乱序,有没有认识。我想在这个讨论贴上面来跟大家讨论一下。

评论:
forion
2014-08-18 10:15
2014-08-18 10:15
http://community.arm.com/groups/processors/blog/2011/03/22/memory-access-ordering--an-introduction
可以参考上面网址。
可以参考上面网址。
linuxer
2014-08-18 12:18
2014-08-18 12:18
@forion:不错的文章。不过,真正理解这些概念可能需要深入理解CPU的设计。Forion,看你对底层软件非常感兴趣,是不是你做的工作和硬件相关?有没有兴趣设计一款简单的CPU?我们网站的项目还是空的,有机会大家可以考虑一些有趣的项目来做一做,玩一玩
forion
2014-08-18 13:48
2014-08-18 13:48
@linuxer:之所以提到这几个,是因为之前遇到一个问题,debug了两个月,发现是android上面SMP的宏没有开,因为那个bug,所以对这几条指令还有SMP有一定的了解。我的工作是IC CHIP driver,所以会跟硬件或者ASIC打交道。如果有时间可以啊,不过加班比较严重,很可能有没有稳定的充裕的时间。不知道你要做个什么呢?我对cpu的架构也是很有兴趣了解的。
linuxer
2014-08-18 18:30
2014-08-18 18:30
@forion:如果做通用意义的CPU core,我想那一定是玩玩而已,短时间内,不可能有突破(超越ARM或者X86),如果要做可能只能在一些特别的专业市场发掘需求。
我有考虑做一个小的RF模块,一定要非常小。在这样的条件下,如果有一个FPGA,可以集成我们这个小的RF模块的功能,例如USB device、一个简单的CPU,高速ADC,这样的FPGA加上RF模拟前端的电路是否有可能组成一个size非常小的RF模块呢?
Size小而且功耗极低的RF模块应该有可能有一些现实的意义
但是,对于软件工程师而言,做这样的项目有点异想天开吧!我有时候太理想化......
我有考虑做一个小的RF模块,一定要非常小。在这样的条件下,如果有一个FPGA,可以集成我们这个小的RF模块的功能,例如USB device、一个简单的CPU,高速ADC,这样的FPGA加上RF模拟前端的电路是否有可能组成一个size非常小的RF模块呢?
Size小而且功耗极低的RF模块应该有可能有一些现实的意义
但是,对于软件工程师而言,做这样的项目有点异想天开吧!我有时候太理想化......
阿布
2023-09-06 16:19
2023-09-06 16:19
@forion:请问能结合点实际例子指点下DMB和DSB的使用吗?他们的应用场景有什么区别?如果在使用DSB的场景下使用了DMB,会出现什么情况?执行乱序除了是由多核cache 一致性引起的?还有别的地方也会造成执行乱序吗?我的理解是DMB避免了cache一致性造成的执行乱序,那么DSB在DMB的基础上到底为了应对什么情况?
阿布
2023-09-07 10:28
2023-09-07 10:28
@阿布:在 real memory space 和io memory space交换数据时,由于io 设备可能对指令存在强依赖的关系(比如必须先给io 设备的时钟寄存器初始化,才能使能该io 设备的控制寄存器的使能bit),这种情况下需要使用dsb 指令去保证到达io设备的指令顺序是符合预期的(dsb 指令等待在此之前的io指令已经执行完毕:指令已经发送到了io设备总线上)。在只针对real memory space的数据交换场景(比如从ram addr0 迁移到 addr1、或者对ram addr0 数据的读写)里dmb 指令完全可以保证数据和程序流结果是符合预期的,即使存在延后执行,应该也不会违反预期逻辑的吧
功能
最新评论
- wangjing
写得太好了 - wangjing
写得太好了! - DRAM
圖面都沒辦法顯示出來好像掛點了。 - Simbr
bus至少是不是还有个subsystem? - troy
@testtest:只要ldrex-modify-strex... - gh
Linux 内核在 sparse 内存模型基础上实现了vme...
文章分类
随机文章
文章存档
- 2025年4月(5)
- 2024年2月(1)
- 2023年5月(1)
- 2022年10月(1)
- 2022年8月(1)
- 2022年6月(1)
- 2022年5月(1)
- 2022年4月(2)
- 2022年2月(2)
- 2021年12月(1)
- 2021年11月(5)
- 2021年7月(1)
- 2021年6月(1)
- 2021年5月(3)
- 2020年3月(3)
- 2020年2月(2)
- 2020年1月(3)
- 2019年12月(3)
- 2019年5月(4)
- 2019年3月(1)
- 2019年1月(3)
- 2018年12月(2)
- 2018年11月(1)
- 2018年10月(2)
- 2018年8月(1)
- 2018年6月(1)
- 2018年5月(1)
- 2018年4月(7)
- 2018年2月(4)
- 2018年1月(5)
- 2017年12月(2)
- 2017年11月(2)
- 2017年10月(1)
- 2017年9月(5)
- 2017年8月(4)
- 2017年7月(4)
- 2017年6月(3)
- 2017年5月(3)
- 2017年4月(1)
- 2017年3月(8)
- 2017年2月(6)
- 2017年1月(5)
- 2016年12月(6)
- 2016年11月(11)
- 2016年10月(9)
- 2016年9月(6)
- 2016年8月(9)
- 2016年7月(5)
- 2016年6月(8)
- 2016年5月(8)
- 2016年4月(7)
- 2016年3月(5)
- 2016年2月(5)
- 2016年1月(6)
- 2015年12月(6)
- 2015年11月(9)
- 2015年10月(9)
- 2015年9月(4)
- 2015年8月(3)
- 2015年7月(7)
- 2015年6月(3)
- 2015年5月(6)
- 2015年4月(9)
- 2015年3月(9)
- 2015年2月(6)
- 2015年1月(6)
- 2014年12月(17)
- 2014年11月(8)
- 2014年10月(9)
- 2014年9月(7)
- 2014年8月(12)
- 2014年7月(6)
- 2014年6月(6)
- 2014年5月(9)
- 2014年4月(9)
- 2014年3月(7)
- 2014年2月(3)
- 2014年1月(4)
2023-09-06 16:13