IPI中断机制

XLR 732 多核多线程处理器的中断由 PIC(Programmable Interrupt Controller)统一控制。PIC 允许一个硬件线程中断其他的硬件线程,这种方式被称为核间中断
(Inter-Processor Interrupts,IPI)。PIC 拥有一个宽度为 32 位的核间中断寄存器IPIBase,该寄存器包含目的线程的编号、中断向量及中断类型(是否中断多个硬件
线程)等内容。核间中断可以通过向这个寄存器写入需要的值来产生。若硬件线程 A 想要发送一个核间中断给硬件线程 B,它只需要向寄存器 IPIBase 中写入 B
的 Thread ID、中断向量、中断类型等值就可以了,PIC 会通知 B 所在的核挂起它当前的执行序列,并根据中断向量跳转到中断服务例程 ISR 的入口。使用 IPI 进行
核间通信的关键在于要利用中断服务例程 ISR 去读取一个事先约好的共享内存区域。发起方首先将消息写到一块共享内存中,然后发起核间中断。被中断的硬件
线程在中断服务例程中读取该内存,以获得发起方通知的消息。为防止多核间的竞争导致消息被改写,使用这种方式必须利用锁机制来确保消息的完整性
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值