Есть ли в C++ переносимый способ доступа к некэшируемой памяти?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Есть ли в C++ переносимый способ доступа к некэшируемой памяти?

Сообщение Anonymous »

Я пишу микротест для генерации трафика в основную память (DRAM) с использованием C++ и G++. Я знаю, что могу встроить ассемблер для создания некэшируемого доступа. Однако я хочу, чтобы это работало на нескольких системах (x86, ARM, RISC-V), и мне интересно, есть ли в g++ возможность помечать буфер памяти как некэшируемый?
Я посмотрел на malloc документацию, и, похоже, она не позволяет мне передавать какие-либо флаги, которые отмечают регион как некэшируемый (или, за исключением этого, невременный).
Я знаю таблицы страниц, по крайней мере, в ARM разрешить страницу он выделен для атрибутов кэширования. Есть ли в g++ способ портативно попытаться обойти кэш области памяти?

Подробнее здесь: https://stackoverflow.com/questions/793 ... y-accesses
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»