Вопросы по теме 'cpu-cache'

Как вы профилируете приложение .net с учетом влияния кеша ЦП?
Все известные мне профилировщики .net не учитывают влияние кеша процессора. Учитывая, что чтение поля из кеша ЦП может быть в 100 раз быстрее, чем чтение из основной памяти, это может быть важным фактором. (Мне просто нужно было объяснить это в...
136 просмотров
schedule 01.05.2024

Проблемы с чтением общего буфера mmap
У меня есть модуль ядра, который выделяет большой буфер памяти, затем этот буфер перенаправляется с помощью mmap в пользовательское пространство. Модуль получает некоторые данные от оборудования, а затем помещает новые данные в буфер с флагом перед...
611 просмотров
schedule 29.04.2024

Как синхронизируется кеш инструкций x86?
Мне нравятся примеры, поэтому я написал немного самомодифицирующегося кода на c ... #include <stdio.h> #include <sys/mman.h> // linux int main(void) { unsigned char *c = mmap(NULL, 7, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|...
6150 просмотров

Оптимизация преобразования цветов Cortex-A8 с использованием NEON
В настоящее время я выполняю процедуру преобразования цвета, чтобы преобразовать YUY2 в NV12. У меня есть функция, которая работает довольно быстро, но не так быстро, как я ожидал, в основном из-за промахов кеша. void convert_hd(uint8_t *orig,...
426 просмотров
schedule 21.12.2023

Установить ассоциативный кеш: рассчитать размер тега?
Я изо всех сил пытаюсь решить этот вопрос, я осмотрелся, но все похожие вопросы более сложны, чем мои, с использованием журналов они более продвинуты, чем мы делали в нашем классе. Вот вопрос: Предположим, у вас есть 4-сторонний ассоциативный...
34198 просмотров
schedule 03.12.2023

Показатели ЦП (промахи/попадания кэша), которые не имеют смысла
Я использую Intel PCM для детальных измерений ЦП. В своем коде я пытаюсь измерить эффективность кеша. По сути, я сначала помещаю небольшой массив в кеш L1 (обходя его много раз), затем запускаю таймер, еще раз просматриваю массив (который,...
1312 просмотров

Самое быстрое использование набора данных размером чуть более 64 байт?
Структура: у меня есть 8 64-битных целых чисел (512 бит = 64 байта, предполагаемая ширина строки кэша), которые я хотел бы сравнить с другим, одним 64-битным целым числом, в свою очередь, без кэш-промахов . Набор данных, к сожалению, абсолютно...
70 просмотров
schedule 07.11.2023

Каковы преимущества/использование памяти типа Device или Strongly-ordered?
Мой вопрос касается различных типов памяти, доступных на чипе M-4, о котором я сейчас читаю. Подводя итог, можно сказать, что существует три разных типа памяти, то есть «нормальная», «устройство» и «строго упорядоченная», которые определяют...
680 просмотров
schedule 11.01.2024

Префикс кода операции блокировки бесполезен из-за механизма согласованности кеша?
В руководстве Intel говорится: 8.1.4 Влияние операции LOCK на внутренние кэши процессора ... Механизм согласованности кэша автоматически предотвращает одновременное изменение данных в этой области двумя или более процессорами, которые...
148 просмотров

Понимание std :: hardware_destructive_interference_size и std :: hardware_constructive_interference_size
В C ++ 17 добавлены std::hardware_destructive_interference_size и std::hardware_constructive_interference_size . Во-первых, я подумал, что это просто переносимый способ получить размер строки кэша L1, но это чрезмерное упрощение. Вопросы:...
7474 просмотров

При доступе к памяти будет ли установлен бит доступа к таблице страниц / грязный бит в случае попадания в кеш?
Насколько мне известно, доступ к памяти ЦП включает кеш ЦП и MMU. ЦП попытается найти свою цель в кеше, и если произойдет промах в кеше, ЦП переключится на MMU. Во время доступа через MMU бит доступа / загрязнения соответствующей записи таблицы...
2710 просмотров

Использует ли обновление записи TLB кеш данных?
В архитектуре ЦП ARM мы знаем, что если кеш TLB пропускает, ЦП будет искать таблицу страниц, чтобы вычислить физический адрес требуемого виртуального адреса. Мой вопрос в том, что если таблица страниц кэшируется в области кэша данных, использует ли...
176 просмотров
schedule 20.02.2024

В какой уровень кеша загружается PREFETCHT2?
В документации для PREFETCHT2 , для которого выполняется предварительная выборка с подсказкой T2, говорится (выделено мной): T0 (временные данные) - предварительная загрузка данных на все уровни иерархии кеша. T1 (временные данные...
192 просмотров

Как буфер хранения и буфер заполнения строк взаимодействуют друг с другом?
Я читал статью об атаках MDS RIDL: Rogue In-Flight Data Load . Они обсуждают, как Line Fill Buffer может вызвать утечку данных. Есть Об уязвимостях RIDL и воспроизведении нагрузок вопрос, в котором обсуждаются детали микроархитектуры эксплойта....
1292 просмотров

Почему ассоциативность набора кэша в современных процессорах 8-позиционная ассоциативность набора?
Есть ли какое-то особое преимущество с 8-позиционной ассоциативностью кеша, которое я не вижу? (Также заранее извиняюсь, если это глупый вопрос.)
367 просмотров

Можно ли изменить размер строки кэша ЦП? и как передаются данные в блоках кеша?
У меня есть два вопроса, связанных с оборудованием: 1. Изменяется ли размер строки кэша ЦП операционной системой или он жестко встроен в ЦП? размеры строк кэша можно увидеть с помощью getconf -a в Linux. 2- Предположим, что размер строки моего...
58 просмотров
schedule 28.03.2024

Как работает Load Store Queue при наличии MSHR?
Я понимаю базовую работу очереди загрузки-хранилища, которая когда загрузки вычисляют свой адрес, они проверяют очередь хранилища на наличие любых предыдущих хранилищ по тому же адресу, и если таковая имеется, они получают данные из самого...
108 просмотров