引用 rpg-7:
我倒是想,加入中断机制后,是否可以利用中断来实现公用RAM的数据定向传送?我YY大致是:除非下位机被中断,否则一切情况下不允许读写公用RAM,上位机写数据,向特定CPU发送中断信号,通知它读取数据,当任意下位机完成计算后,只有中断主机,然后...
其实也不排除CPU0使用中断,这个精简CPU可以弄成中断堆栈版, 增加延迟和硬件开销, 这个东西两面性,
找到一个平衡点,不过我想尝试一下不同以往的方法.
中断首先一个是实时性,可以在几十纳秒内进入中断处理程序回复数据,..不过有一点,装回复数据的时间
也许可以把中断响应的延迟给忽略...个人观点,处理数据传输的时候,有时中断响应时间和处理中断程序的时
间比例很大..比如中断响应消耗10ns, 进入中断后往缓冲区装数据消耗1ms,然后发数据..除非是很小的中断程序, 否则表现不出中断的实时性, 对于效率这个东西,CPU总是在执行程序
CPU转一圈回来采样一下中断信号就OK,采样一次中断信号消耗的时间和执行其他程序的时间比例也是比较大,
对于公共RAM我YY出一些机制,一般大量传输数据的话是数据流,可以开设一条DMA通道和DMA内存区不需要CPU干预,
这个方法是对付一驼一驼的数据.
CPU0要给其他CPU发送一条约定好的命令,或者是其他CPU要给CPU0发送一条命令,可以这样操作,公共RAM有TX区和RX区,
往TX区写一条命令,然后标志TX区有数据,TX区RAM数据通路切向目标CPU,这时目标CPU一看见主CPU给信号了,
马上收TX区的命令数据,然后交回TX区给主CPU,要是不交的话.....等着挨CPU0草~~~~ 拉闸%^&-_,-#.....