Протокол MESI (известный также как протокол Иллинойса) - это протокол согласованности кеш-памяти и согласованности памяти.
2 ответа

Производительность стоимость протокола MESI?

Протокол MESI (Modified, Exclusive, Shared, Invalid) используется для связи кэшей ЦП и обеспечения того, что все они используют последнее значение для строки кэша. Когда один ЦП изменяет значение строки кэша, все остальные ЦП, подписанные на эту стр…
1 ответ

Какие состояния протокола MESI актуальны, если используется кэш с политикой сквозной записи?

Я натолкнулся на следующий вопрос, читая слайды лекции о протоколах когерентности кэша: какие состояния MESI актуальны, если используется кэш с политикой сквозной записи? Также был дан ответ: I (недействительный) и S (общий неизмененный). Я понимаю,…
1 ответ

Запишите реакцию буфера на сообщения, вызванные MESI

Предположим, у нас следующая ситуация: 2 ЦП с буферами записи и MESI используется в качестве протокола когерентности кэша. И у нас есть одна строка общего кэша между процессорами: CPU1 кеш: |I|I|S|I|I| CPU2 кеш: |I|I|S|I|I| Теперь CPU1 решает измени…
16 апр '15 в 06:23
1 ответ

С протоколом MESI, хит записи также останавливает процессор, верно?

Я делаю проект, который должен реализовать двухпроцессорную систему с некоторой когерентностью кэша (для которой я выбрал MESI) в VHDL. Я просто хочу подтвердить одну вещь: попадание записи в строку общего кэша должно привести к тому, что контроллер…
31 май '15 в 14:24
1 ответ

Проблема реализации протокола отслеживания MESI

У меня есть вопрос протокола MESI. Предположим, что у меня есть два ядра (ядро 1 и 2), и каждое ядро ​​имеет свой собственный кэш l2. Когда два ядра имеют одинаковые данные и строки кэша находятся в состоянии S, это означает, что они оба имеют чисты…
09 фев '19 в 18:44
1 ответ

Где и как реализован протокол согласованности кэша MESI?

Я знаю, что протокол MESI используется для реализации согласованности кэша в многопроцессорных системах. Но я не знаю, как это реализовано. Любая помощь в этом очень ценится.
15 сен '10 в 07:34
1 ответ

MESI- что происходит при чтении изменяемых данных?

Если у меня есть строка данных кэша, а первый байт атомарно изменяется, могу ли я по-прежнему считывать разные байты данных из этой строки кэша одновременно? Или моя попытка прочитать будет знать о происходящем обновлении атома и ждать его? Я пытаюс…
06 сен '15 в 14:53
2 ответа

Являются ли операции кэширования атомарными?

Я изучаю кэш-память процессора, и теперь у меня все еще непонимание протокола согласованности кэша (MESI). Представьте, что у нас 2 ядра имеют строку кэша в общем состоянии. И один из них выполняет чтение, другой выполняет запись: ;mem is cached in …
25 фев '18 в 13:30
2 ответа

Согласованность кэша - протокол MESI

Может ли быть случай в кеше, использующем протокол MESI (с включенной инклюзивностью l1 и l2), где l2 может отправлять недопустимую инструкцию в уже недопустимую строку в l1.
06 дек '17 в 20:48
0 ответов

Почему алгоритм MESI записывает неверные данные в ОЗУ?

Мой профессор отказывается отвечать на этот вопрос, и я начинаю сомневаться, что он не знает ответа. Мне дали следующее Предположим, у нас есть два потока, работающих на параллельных процессорах (запись и чтение из одного блока данных в ОЗУ). Первый…
11 дек '16 в 11:28
1 ответ

Протокол MESI понимает переходы состояний

На диаграмме перехода состояний, показанной ниже для протокола MESI Иллинойса, почему существует сигнал сброса при переходе из состояния S в состояние I и сигнал сброса при переходе из состояния E в состояние I при наблюдении сигнала BusRdX. Разве с…
07 ноя '13 в 15:32
2 ответа

Еще быстрее, недорогой, потокобезопасный счетчик?

Я прочитал эту тему: C# Thread Safe Fast(EST) счетчик и реализовал эту функцию в моем параллельном коде. Насколько я вижу, все это работает нормально, однако оно заметно увеличило время обработки, например, на 10% или около того. Это немного беспоко…
17 июл '15 в 17:20
1 ответ

x86 MESI делает недействительной проблему задержки строки кэша

У меня есть следующие процессы, я пытаюсь сделать ProcessB очень низкой задержкой, поэтому я все время использую тугой цикл и изолирую процессорное ядро ​​2 . глобальная переменная в разделяемой памяти: int bDOIT ; typedef struct XYZ_ { int field1 ;…
16 янв '19 в 01:02
1 ответ

Протокол MESI. Пишите с пропуском кеша. Зачем нужна выборка значений из основной памяти?

Меня интересует реализация протокола записи MESI с политикой выделения при записи. Допустим, у нас есть запрос на запись и мы получили кеш-память без других копий строки кеша. Эта диаграмма говорит о том, что следующим шагом является выбор значения …
27 авг '16 в 12:01
2 ответа

Префикс LOCK против протокола MESI?

Какова цель префикса x86 LOCK, если протокол MESI в любом случае не позволяет другим ядрам записывать данные, принадлежащие "эксклюзивному" владельцу? Я немного запутался между тем, что предоставляет LOCK и что предоставляет MESI? Я понимаю, что про…
26 апр '15 в 16:05
1 ответ

Буфер хранилища отправляет сообщение о недействительности чтения или недействительное сообщение req?

Я думаю, чтобы процессор продолжал выполнять последующие инструкции, буфер хранилища должен выполнить часть обработки MESI, чтобы получить согласованность кеша, потому что последнее значение хранится в буфере хранилища, а не в кеше. Таким образом, б…
17 апр '18 в 00:51
5 ответов

Почему стандартный шаблон вызова событий C# является потокобезопасным без барьера памяти или аннулирования кэша? А как насчет аналогичного кода?

В C# это стандартный код для вызова события потокобезопасным способом: var handler = SomethingHappened; if(handler != null) handler(this, e); Где, потенциально в другом потоке, сгенерированный компилятором метод add использует Delegate.Combine созда…
5 ответов

Протокол кэширования MESI

Я читал о протоколе когерентности кэша MESI snooping, который, как мне кажется, используется в современных многоядерных процессорах x86 (пожалуйста, исправьте меня, если я ошибаюсь). Теперь эта статья говорит об этом в одном месте. Кэш, содержащий с…
2 ответа

Какой смысл MESI на Intel 64 и IA-32

Смысл MESI заключается в том, чтобы сохранить понятие системы с общей памятью. Однако с буферами магазина все сложно: Память является последовательной после того, как данные попадают в кеши, реализующие MESI. Однако до этого каждое ядро ​​может не с…
15 апр '18 в 15:37
1 ответ

Протокол MESI. Запись с отсутствием кэша, но копия строки кэша существует на другом процессоре. Зачем нужно извлекать из основной памяти?

Согласно этой схеме в случае пропуска кеша записи при копировании в другой кеш процессора (например, Shared/Exclusive state). Шаги: 1. Отслеживание ядер (с копией строки кэша) устанавливает состояние Invalid. 2. Текущий кеш хранит свежее значение ос…
04 сен '16 в 18:16