Запитання з тегом «cpu-cache»


7
Чому порядок циклів впливає на продуктивність при ітерації над 2D масивом?
Нижче наведено дві програми, які майже однакові, за винятком того, що я перемикав iі jзмінні навколо. Вони обидва працюють за різну кількість часу. Може хтось пояснить, чому це відбувається? Версія 1 #include <stdio.h> #include <stdlib.h> main () { int i,j; static int x[4000][4000]; for (i = 0; i < 4000; …

5
Орієнтовна вартість доступу до різних кешів та основної пам'яті?
Чи може хто-небудь дати мені приблизний час (у наносекундах) для доступу до кешів L1, L2 та L3, а також основної пам'яті на процесорах Intel i7? Хоча це не конкретно питання програмування, знання деяких типів деталей швидкості є необхідним для деяких завдань програмування з низькою затримкою.

15
Як один код запису, який найкраще використовує кеш процесора для підвищення продуктивності?
Це може звучати як суб'єктивне запитання, але те, що я шукаю, - це конкретні випадки, з якими ви могли зіткнутися з цим. Як зробити код, ефективний кеш / кеш-пам'ять (більше звернень до кешу, якомога менше пропусків кешу)? З обох позицій кеш даних та кеш програм (кеш інструкцій), тобто які речі …

5
Зворотний запис проти кешування кешування?
Я розумію, що основна різниця між двома методами полягає в тому, що в методі "write-through" дані записуються в основну пам'ять через кеш негайно, тоді як у "write-back" дані записуються в "останній час". Нам ще потрібно дочекатися пам’яті «в останній час», тож яка перевага «запису»?

3
Розуміння std :: hardware_destructive_interference_size та std :: hardware_constructive_interference_size
C ++ 17 додано std::hardware_destructive_interference_sizeтаstd::hardware_constructive_interference_size . По-перше, я думав, що це просто портативний спосіб отримати розмір лінії кешу L1, але це занадто спрощення. Запитання: Як ці константи пов'язані з розміром рядка кешу L1? Чи є хороший приклад, який демонструє випадки їх використання? Обидва визначені static constexpr. Це не проблема, якщо …

4
Розмір рядків кешів L1 та L2
З попереднього запитання на цьому форумі я дізнався, що в більшості систем пам'яті кеш-пам'ять L1 є підмножиною кеш-пам'яті L2, тобто будь-який запис, видалений з L2, також видаляється з L1. Отже, тепер моє питання полягає в тому, як мені визначити відповідний запис у кеші L1 для запису в кеші L2. Єдиною …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.