vxWorks SMP架构

1、vxWorks SMP架构硬件要求及特性

首先vxworks SMP要求两个以上对称处理器,可以是多核处理器,也可以多处理器。

其次要求处理器是可标识的,并且CPUS可以平等使用内存,外设。也就是说使用UMA架构。

如上图所示:

每个核访问相同内存系统,也就是说每个核没有自己的本地内存。

每个核有自己的MMU,这样每个核就可以使用不同的虚地址执行任务。这方面主要是用的RTP程序上,比如CPU0可以在RTP1中执行一个任务,而CPU1可以在RTP2中执行一个任务。

每个核可以公平的访问所有设备(有个核私有设备除外)。这些设备的中断可以路由到任何一个核。这就是说当中断发生时,CPU可以不相关的执行中断服务。

任务与中断服务可以跨CPU同步,而互斥量需要使用spinlock。多核不能在多核上同时加中断锁,每个核必须独立加锁。SMP架构上没有使用中断锁作为互斥手段。

总线上的SNOOP单元可以保证CPUS间的数据总是一致的,这就是说操作系统并不需要执行数据一致性操作。

最后上一张UMA架构的图说明一下UMA的概念:

 

 

2、cache一致性及顺序内存访问模型

cache一致性可以使用snoop协议与目录协议。

snoop协议就是每个核可以监视总线上的事务,并有一些tagg来标识cache块状态,这样就可以自己更新自己的CAHCE块了。

至于目录协议在目前使用的嵌入式系统比较少见,可以查一下资料。

顺序内存操作定义了内存读写的原子性。硬件上必须对多核访问内存做出仲裁。

 

 

 

每次读写定义为一次原子操作。如果COre0的操作没有完成时,core1不能访问内存。

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

如之

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值