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

Где задокументирован кэш памяти L1 процессоров Intel x86?
Я пытаюсь профилировать и оптимизировать алгоритмы, и я хотел бы понять конкретное влияние кешей на различные процессоры. Для последних процессоров Intel x86 (например, Q9300) очень сложно найти подробную информацию о структуре кеша. В частности,...
30680 просмотров

Как распределяется кэш-память в многоядерных процессорах Intel?
У меня есть несколько вопросов относительно кэш-памяти, используемой в многоядерных процессорах или многопроцессорных системах. (Хотя это напрямую не связано с программированием, у него есть много последствий, когда кто-то пишет программное...
24595 просмотров

Код дизайна, который помещается в кэш-память ЦП?
При написании симуляций мой приятель говорит, что ему нравится пытаться писать программы достаточно маленькими, чтобы поместиться в кеш. Имеет ли это какое-то реальное значение? Я так понимаю, кэш быстрее оперативной и основной памяти. Можно ли...
9606 просмотров

Программирование с учетом кеширования 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 просмотров

Примерная стоимость доступа к различным кешам и оперативной памяти?
Может ли кто-нибудь дать мне приблизительное время (в наносекундах) для доступа к кешам 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 просмотров

Можно ли прочитать скорость попадания/промаха кеша процессора в Android?
Можно ли прочитать скорость попадания/промаха кеша процессора в Android?
2236 просмотров
schedule 30.07.2022

Есть ли способ проверить, был ли недавно очищен кеш процессора?
На i386 линукс. Желательно в c/(c/posix std libs)/proc, если это возможно. Если нет, есть ли какая-либо часть сборки или сторонняя библиотека, которая может это сделать? Редактировать: я пытаюсь разработать тест, очищает ли модуль ядра строку...
3208 просмотров

Производительность при промахах генерации кэша ЦП
Я пытаюсь узнать о производительности кеша процессора в мире .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 просмотров

Влияет ли предварительная выборка на запись на одноядерную производительность?
В некоторых архитектурах есть инструкция «предварительной выборки записи», чтобы указать процессору, что вы собираетесь записывать в область памяти, прежде чем вы действительно это сделаете. Я понимаю, что на многоядерной машине это может...
399 просмотров

Проверка без блокировки для модификации глобального общего состояния в C с использованием выравнивания Cache-Line
Изменить: ST не позволяет размещать более двух ссылок для новичков. Приносим извинения за недостающие ссылки. Я пытаюсь уменьшить накладные расходы на блокировку в приложении C, где обнаружение изменений глобального состояния имеет значение для...
396 просмотров

Типичная задержка доступа 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