2016-11-09 4 views

ответ

1

RISC-V привилегированный ISA классифицирует физическую память на три типа: основную память, ввод-вывод и пустую.

Пустые области также классифицируются как области ввода-вывода, но с атрибутами , указывающими, что обращения не поддерживаются.

В документе говорится, что вопреки основной памяти (которая всегда поддерживает R/W) область ввода-вывода и, следовательно, область «Пусто», может указывать, какой доступ поддерживается.

Области ввода-вывода могут указывать, какие комбинации для чтения, записи или выполнения доступа к которым поддерживаются ширины данных .

Каждый регион имеет один или несколько атрибутов физической памяти (PMA), которые указывали, что регион кэширован, поддерживает атомарные операции, упорядочен и размер данных поддерживается.

Устройство PMA из региона должны быть проверены на аппаратном уровне, и если любое ограничение нарушается капкан или прерывание сообщается:

ПМА проверяются на наличие какого-либо доступа к физической памяти, в том числе доступов, претерпевших преобразование виртуальной в физическую память. Чтобы помочь в отладке системы, мы настоятельно рекомендуем, чтобы, по возможности, процессоры RISC-V точно захватывали доступ к физической памяти, которые не выполняли проверки PMA. Точные прерывания PMA могут быть не всегда возможны, например, при анализе архитектуры устаревшей шины, которая использует отказы доступа как часть механизма обнаружения. В этом случае сообщения об ошибках от подчиненных устройств будут сообщаться как неточные прерывания по шине.


Спецификация не накладывает никаких PMA на пустых областях и не определяет значение РМЫ, он прямо заявляет, что

Как ПМО тесно связан с организацией данной физической платформы , многие детали по своей сути зависят от платформы, равно как и - средства, с помощью которых программное обеспечение может узнать значения PMA для платформы.

Что происходит, когда несуществующий адрес RAM доступ остается конкретной микроархитектуры определенной реализацией.

Обычно на шине памяти имеются подтягивающие/выдвижные резисторы. В таком случае чтение из несуществующего адреса приведет к тому, что слово из одних или нулей и запись будут проигнорированы.

В зависимости от аппаратного обеспечения результатом может быть любое, даже исключение, сигнализирующее о неудачной транзакции на шине.

+0

Привилегированная спецификация RISC-V также определяет MMU, и этот случай также влияет на MMU. В этом случае необходимо четко указать, что должно произойти, иначе это может привести к проблемам безопасности. – fsasm

+0

@fsasm Спасибо за указание привилегированных спецификаций ISA. Если я не понял вопрос, я не думаю, что это связано с MMU, поскольку физическая память доступна после всех операций MMU. Проверка спецификаций также, похоже, подтверждает мои утверждения: аппаратное обеспечение требуется для проверки PMA, но PMA являются специфичными для платформы, и таким образом можно сообщать о неудачной проверке PMA. Прерывание также четко указано как возможный результат доступа к Пустому региону. Я не вижу, какие проблемы безопасности могут возникнуть при доступе к пустым регионам. –

+0

В случае несогласованных адресов процессору необходимо получить доступ к двум последовательным словам данных. Если это неправильно обрабатывается, программа может получить доступ к байтам, которые он не должен. Теперь представьте, что вы можете получить доступ к первым байтам таблицы страниц или другим критическим структурам данных. – fsasm

 Смежные вопросы

  • Нет связанных вопросов^_^