我有一个非常基本的问题。我正在研究的架构提供了一个内存映射的协处理器接口。有人可以确认我正确理解了这个概念:
如果我连接了一个协处理器,那么总线系统上的一些内存区域被保留用于与协处理器通信,即发送和读取数据,执行命令等。
或者,有一种紧密耦合的方法,我假设有另一种机制用于与协处理器通信,并且由于协处理器更靠近主机,因此开销较小,对吗?
非常感谢您对这个微不足道的问题有所了解;)。
我认为您的理解从根本上是正确的,除了保留的是地址空间的一部分,它可能与任何地方的任何“真实”内存都不对应,这只是一种使用与读写相同的机制的方法通常用于向/从协处理器读取和写入数据的内存位置。
我认为以非内存映射方式公开协处理器不一定会更有效。例如,可能会实现某种虚拟指令,但这并不一定会降低开销。我认为如果不参考架构和实现的细节,就很难对这类事情做出一般性的陈述。
也许关于内存映射 IO的维基百科文章将允许您验证您的假设是否正确,因为就 CPU 而言,协处理器通信几乎只是正常的“设备 IO”。