Описание тега cpu-cache
A CPU-cache is a hardware structure used by the CPU to reduce the average access memory time.
2
ответа
Производительность стоимость протокола MESI?
Протокол MESI (Modified, Exclusive, Shared, Invalid) используется для связи кэшей ЦП и обеспечения того, что все они используют последнее значение для строки кэша. Когда один ЦП изменяет значение строки кэша, все остальные ЦП, подписанные на эту стр…
25 ноя '14 в 10:58
1
ответ
Операция ввода-вывода с отображением в память (в процессоре Intel) с использованием команды ввода / вывода... все еще кэшироваться?
Будет ли кэшированная операция ввода-вывода в память (в процессоре Intel) по-прежнему кэшироваться, если диапазон адресов сопоставленного ввода-вывода печатается как запись с обратной записью (WB), даже если я использую инструкцию ввода / вывода? РЕ…
15 янв '11 в 06:51
2
ответа
clflush для аннулирования строки кэша через функцию C
Я пытаюсь использовать clflush вручную вытеснить строку кэша, чтобы определить размеры кэша и строки. Я не нашел никакого руководства о том, как использовать эту инструкцию. Все, что я вижу, - это некоторые коды, которые используют функции более выс…
13 авг '18 в 08:58
1
ответ
Raspberry Pi3 это эксклюзивный или инклюзивный кеш?
Модель Raspberry Pi 3 Model B оснащена четырехъядерным 64-разрядным процессором ARM Cortex A53 с тактовой частотой 1,2 ГГц, кэш-памятью уровня 1 32 КБ и уровнем 2 КБ объемом 512 КБ. У меня вопрос, к какому типу относится кеш, он эксклюзивный или инк…
25 апр '17 в 11:26
1
ответ
Какие состояния протокола MESI актуальны, если используется кэш с политикой сквозной записи?
Я натолкнулся на следующий вопрос, читая слайды лекции о протоколах когерентности кэша: какие состояния MESI актуальны, если используется кэш с политикой сквозной записи? Также был дан ответ: I (недействительный) и S (общий неизмененный). Я понимаю,…
01 авг '15 в 11:45
2
ответа
Как мы можем узнать, находится ли структура в кэше ЦП или потеряла их в кеше памяти?
Я пытаюсь написать игровой фреймворк на C#, поэтому производительность здесь была критической Вот ссылка, которую я нашел. Вопрос в том, как мы можем узнать, что структуры все еще находятся в кеше процессора? Если мы не можем, то какие сценарии прот…
05 сен '18 в 14:49
1
ответ
Как работает сопоставление адресов кэша?
Я начинаю изучать, как процессор кеш работает на фундаментальном уровне. Я смущен в одном пункте, хотя. Что происходит, когда процессор получает удар по двум адресам, которые имеют одинаковый тег и набор? Допустим, у нас есть 64-байтовый кеш с 16-ба…
21 фев '18 в 20:18
2
ответа
Заполняет ли этот код кэш процессора?
У меня есть два способа программирования одной и той же функциональности. Способ 1: doTheWork(int action) { for(int i = 0 i < 1000000000; ++i) { doAction(action); } } Способ 2: doTheWork(int action) { switch(action) { case 1: for(int i = 0 i <…
20 июл '10 в 07:52
2
ответа
C/C++ встроенные для невременной загрузки 32- и 64-битных значений на x86_64?
Существуют ли встроенные функции C/C++ для невременных нагрузок (т. Е. Загрузок без кэширования, непосредственно из DRAM) 32- и 64-разрядных значений в x86_64? Мой компилятор - MSVC++2017 toolset v141. Но приветствуются встроенные функции для других…
10 авг '17 в 19:59
4
ответа
Ускорьте произвольный доступ к памяти с помощью предварительной выборки
Я пытаюсь ускорить одну программу, используя предварительные выборки. Цель моей программы только для тестирования. Вот что он делает: Он использует два целых буфера одинакового размера Он читает по одному все значения первого буфера Читает значение …
03 дек '16 в 17:04
1
ответ
Эффективный метод очистки кеш-памяти в сборке ARM
Я должен очистить кэш-память объемом 4 МБ на языке ассемблера ARM, что бы мы сделали эффективным способом? Я думал о выделении памяти 4 МБ, записи случайных данных и чтении Я реализую инструмент для проверки основной памяти. Чтобы мой инструмент про…
30 июн '14 в 14:05
1
ответ
Циклическая черепица как выбрать размер блока?
Я пытаюсь изучить цикл оптимизации. Я обнаружил, что циклическое разбиение помогает ускорить зацикливание массива. Я попытался с двумя блоками кодов, приведенными ниже с и без блокировки цикла и измерить время, необходимое для обоих. Большую часть в…
04 дек '13 в 05:02
1
ответ
Измерять циклы, затраченные на доступ к удаленному кешу
Как измерить циклы, потраченные на доступ к общему удаленному кешу, скажем, L3. Мне нужно получить эту информацию о доступе к кешу как для всей системы, так и для каждого потока. Есть ли какие-то особые требования к инструменту / оборудованию. Или я…
25 фев '13 в 06:55
1
ответ
Сколько битов находится в поле адреса для непосредственно отображенного кэша?
Это вопрос, основанный на Direct Mapped Cache, поэтому я предполагаю, что здесь тоже можно задать вопрос. Вот проблема, над которой я работаю: Проблема: "Высокоскоростная рабочая станция имеет 64-битные слова и 64-битные адреса с разрешением адресов…
31 май '15 в 09:00
1
ответ
Сбросить / Неправильный диапазон по виртуальному адресу; ARMv8; Cache;
Я реализую функции обслуживания кэша для ARMv8 (Cortex-A53), работающего в 32-битном режиме. Существует проблема, когда я пытаюсь очистить область памяти с помощью виртуальных адресов (VA). DCacheFlushByRange выглядит так // some init. // kDCacheL1 …
07 фев '17 в 03:55
1
ответ
Все вхождения временной и пространственной привязки в данном фрагменте кода
Я читал о пространственных и временных местностях. В двух словах. Временная локализация: Программы часто обращаются к одним и тем же ячейкам памяти неоднократно. Пространственная локальность: Программы также часто обращаются к смежным областям памят…
30 мар '17 в 11:42
0
ответов
Расположение бита достоверности кэша
Не уверен, что это даже тот сайт, о котором нужно спрашивать, но я совершенно не в курсе любых возможных веб-исследований для этого, поэтому я подумал спросить здесь, и, возможно, кто-то знает ответ. Изучая, как создается кэш, я узнал, что он раздел…
06 июн '16 в 18:54
2
ответа
Каково поведение кэша L1/L2 для LUT и тому подобного?
Предполагая, что LUT скажем 512 КБ 64-битных двойных типов. Вообще говоря, как процессор кэширует структуру в L1 или L2? Например: я обращаюсь к среднему элементу, он пытается кэшировать весь LUT или только некоторые из них - скажем, средний элемент…
02 дек '10 в 22:11
2
ответа
Разница между использованием while() и sleep() для перевода программы в спящий режим
Я создал общий объект и получаю к нему доступ из двух разных программ и измеряю время. Массив DATA - это общий объект между двумя процессами. Случай 1: использование while внутри программы1 программа1: access shared DATA array ;// to load into memor…
10 фев '14 в 11:59
1
ответ
Расшифровка задания по измерению пропускной способности кеша L2
Я заметил, что несколько моих одноклассников на самом деле пытались задать вопросы об этом же назначении в Stackru в течение последних нескольких дней, поэтому я собираюсь бесстыдно скопировать вставить (только) контекст одного вопроса, который был …
10 окт '12 в 01:38