单用和CPU数据缓存

时间:2016-11-23 07:00:08

标签: c gcc llvm x86-64

我正在开发一个具有相当多内部数据结构的应用程序,但也处理大量用户数据。在此处理过程中,我需要让CPU只查看一次数据(其余的处理是通过零拷贝和DMA完成的,因此CPU根本不需要触摸数据)。

我正在寻找一种处理用户数据的方法(即使这意味着将其复制到临时缓冲区),而不会从CPU的数据缓存中逐出内部结构。换句话说,我正在寻找一种方法告诉CPU“给我这些数据,但我再也不需要它了。”

我似乎记得gcc有一个固有的做法,但是在列表中,我似乎错误地记录了(或者找不到它)。无论哪种方式,装配解决方案(英特尔)都可以用于我的目的。

逻辑声明必须有一种方法可以做到这一点,因为在向DMA缓冲区发送数据(或从DMA缓冲区接收数据)之前必须这样做。

0 个答案:

没有答案