Вопросы по теме 'cpu-cache'
Где задокументирован кэш памяти L1 процессоров Intel x86?
Я пытаюсь профилировать и оптимизировать алгоритмы, и я хотел бы понять конкретное влияние кешей на различные процессоры. Для последних процессоров Intel x86 (например, Q9300) очень сложно найти подробную информацию о структуре кеша. В частности,...
30680 просмотров
schedule
22.03.2022
Как распределяется кэш-память в многоядерных процессорах Intel?
У меня есть несколько вопросов относительно кэш-памяти, используемой в многоядерных процессорах или многопроцессорных системах. (Хотя это напрямую не связано с программированием, у него есть много последствий, когда кто-то пишет программное...
24595 просмотров
schedule
24.03.2022
Код дизайна, который помещается в кэш-память ЦП?
При написании симуляций мой приятель говорит, что ему нравится пытаться писать программы достаточно маленькими, чтобы поместиться в кеш. Имеет ли это какое-то реальное значение? Я так понимаю, кэш быстрее оперативной и основной памяти. Можно ли...
9606 просмотров
schedule
09.05.2022
Программирование с учетом кеширования C ++
Есть ли способ в C ++ определить размер кеш-памяти процессора? У меня есть алгоритм, который обрабатывает много данных, и я хотел бы разбить эти данные на части, чтобы они помещались в кеш. Это возможно? Можете ли вы дать мне какие-либо другие...
33385 просмотров
schedule
24.11.2023
Оптимизация использования кэша ARM для разных массивов
Я хочу перенести небольшой фрагмент кода на процессор ARM Cortex A8. И кэш L1, и кеш L2 очень ограничены. В моей программе 3 массива. Последовательный доступ к двум из них (размер> массив A: 6 МБ и массив B: 3 МБ), а шаблон доступа для третьего...
1838 просмотров
schedule
22.06.2022
Кэш с прямым подключением
Кэш с прямым отображением состоит из 16 блоков. Основная память содержит 16К блоков по 8 байтов каждый. Каков формат адреса основной памяти (имеется в виду размер каждого поля).
Я знаю, что это поля Tag | Block | Offset. Я просто не знаю, как...
4118 просмотров
schedule
27.05.2024
ARM Cortex-A8: как измерить использование кеша?
У меня есть Freescale i.MX515EVK, платформа ARM Cortex-A8/Ubuntu, к сожалению, ядро Linux на плате не поддерживает некоторые известные профилировщики, такие как Oprofiler или Zoom Profiler (Zoom поддерживает процессоры ARM, но внутри использует...
1220 просмотров
schedule
18.04.2022
Примерная стоимость доступа к различным кешам и оперативной памяти?
Может ли кто-нибудь дать мне приблизительное время (в наносекундах) для доступа к кешам L1, L2 и L3, а также к основной памяти на процессорах Intel i7?
Хотя это не совсем вопрос программирования, знание таких деталей скорости необходимо для...
90725 просмотров
schedule
30.12.2023
Понимание кеша ЦП и строки кеша
Я пытаюсь понять, как работает кэш процессора. Допустим, у нас есть эта конфигурация (в качестве примера).
Размер кэша 1024 байта
Строка кэша 32 байта
1024/32 = 32 строки кэша вместе.
В одной строке кэша может храниться 32/4 = 8 целых...
22660 просмотров
schedule
14.02.2022
Выравнивание машинного кода
Я пытаюсь понять принципы выравнивания машинного кода. У меня есть реализация на ассемблере, которая может генерировать машинный код во время выполнения. Я использую 16-байтовое выравнивание для каждой ветки назначения, но похоже, что это не...
1099 просмотров
schedule
11.06.2022
Можно ли прочитать скорость попадания/промаха кеша процессора в Android?
Можно ли прочитать скорость попадания/промаха кеша процессора в Android?
2236 просмотров
schedule
30.07.2022
Есть ли способ проверить, был ли недавно очищен кеш процессора?
На i386 линукс. Желательно в c/(c/posix std libs)/proc, если это возможно. Если нет, есть ли какая-либо часть сборки или сторонняя библиотека, которая может это сделать?
Редактировать: я пытаюсь разработать тест, очищает ли модуль ядра строку...
3208 просмотров
schedule
06.03.2023
Производительность при промахах генерации кэша ЦП
Я пытаюсь узнать о производительности кеша процессора в мире .NET. В частности, я работаю над статьей Игоря Остовского об эффектах кэширования процессора .
Я рассмотрел первые три примера из его статьи и зафиксировал результаты, которые сильно...
3816 просмотров
schedule
18.09.2023
Использование инструкции WBINVD
Я пытаюсь использовать инструкцию WBINV в Linux для очистки кеша L1 процессора.
Следующая программа компилируется, но при запуске выдает ошибку сегментации.
int main() {asm ("wbinvd"); return 1;}
Я использую gcc 4.4.3 и запускаю ядро...
10184 просмотров
schedule
24.04.2023
Как рассчитать размер в битах поля тега, индекса для кеша ЦП?
Я пишу эмулятор кэша процессора, который будет принимать размер кэша в байтах, длину каждой строки кэша в байтах и количество наборов /groups в кеше.
У меня большая часть написана, но я часами бился над тем, чтобы выяснить, сколько битов...
4796 просмотров
schedule
26.11.2022
Промах в кэше и попадание в кеш
Учитывая следующий код:
typedef int array[4][4];
void transpose2(array dst, array src)
{
int i, j;
for ( i=0; i<4; i++) {
for ( j=0; j<4; j++) {
dst[i][j] = src[j][i];
}
}
}
Предположения:
int - 4...
2908 просмотров
schedule
16.03.2023
Самый простой инструмент для измерения попаданий / промахов в кеш-программе C и времени процессора в Linux?
Я пишу небольшую программу на C и хочу измерить ее производительность.
Я хочу увидеть, сколько времени он работает в процессоре и сколько попаданий в кеш + промахов он сделал. Было бы неплохо иметь информацию о переключениях контекста и...
46235 просмотров
schedule
09.04.2022
Влияет ли предварительная выборка на запись на одноядерную производительность?
В некоторых архитектурах есть инструкция «предварительной выборки записи», чтобы указать процессору, что вы собираетесь записывать в область памяти, прежде чем вы действительно это сделаете. Я понимаю, что на многоядерной машине это может...
399 просмотров
schedule
03.06.2023
Проверка без блокировки для модификации глобального общего состояния в C с использованием выравнивания Cache-Line
Изменить: ST не позволяет размещать более двух ссылок для новичков. Приносим извинения за недостающие ссылки.
Я пытаюсь уменьшить накладные расходы на блокировку в приложении C, где обнаружение изменений глобального состояния имеет значение для...
396 просмотров
schedule
27.04.2022
Типичная задержка доступа L1 и L2 для SoC на базе ARM Cortex-A9
Я ищу задержку доступа L1 и задержку доступа L2 для SoC, сделанных из процессоров ARM Cortex-A9, таких как Nvidia Tegra 2 и Tegra 3, которые имеют несколько процессоров ARM A9.
Я смог найти некоторую информацию о размерах L1 и L2 этих архитектур,...
2854 просмотров
schedule
17.07.2022