An Entity of Type: software, from Named Graph: http://dbpedia.org, within Data Space: dbpedia.org

(For a detailed description see Cache coherency protocols (examples)) In computing, MOESI is a full cache coherency protocol that encompasses all of the possible states commonly used in other protocols. In addition to the four common MESI protocol states, there is a fifth "Owned" state representing data that is both modified and shared. This avoids the need to write modified data back to main memory before sharing it. While the data must still be written back eventually, the write-back may be deferred. For any given pair of caches, the permitted states of a given cache line are as follows:

Property Value
dbo:abstract
  • MOESI (Modified, Owned, Exclusive, Shared, Invalid) ist ein Protokoll zur Wahrung der Cache-Kohärenz in speichergekoppelten Multiprozessorsystemen. Es umfasst alle möglichen Zustände einer Cache-Line, die auch von anderen Protokollen her bekannt sind. Jede Cache-Line befindet sich in einem von fünf Zuständen (vgl., S. 165ff): Das MOESI-Protokoll ist eine komplizierte Variante des MESI-Protokolls. Es vermeidet das Zurückschreiben von modifizierten Cache-Lines, wenn andere CPUs diese lesen wollen. Stattdessen wird der aktuelle Wert bei jeder Veränderung zwischen den Caches direkt propagiert (siehe Zustand Owned). MOESI bietet keinen wesentlichen Vorteil gegenüber MESI, wenn das Verbindungsnetzwerk zwischen Prozessoren und Speichercontroller ein Bus ist. Es ist hingegen bei direkten Netzwerken von Vorteil, wie zum Beispiel bei AMD-Opteron-Systemen. Das Vermeiden des Zurückschreibens von modifizierten Cache-Lines sorgt hier für die Entlastung von Verbindungsnetzwerk und Speichercontroller. Außerdem kann die Kommunikation zwischen zwei oder mehreren CPUs bzgl. Latenz und Übertragungsrate signifikant besser sein als zwischen CPU und Hauptspeicher. Bei Multicore-CPUs mit jeweils eigenen Caches pro Core ist dies meist der Fall. Im Bereich der System on a Chip kann die Verwendung des zusätzlichen "Owned"-Zustandes Energie sparen, wenn hierdurch der Zugriff auf extern angebundenen Speicher entfällt. Im Falle des AMBA-Buses von ARM ist die benötigte Energie eines chipexternen Speicherzugriffs laut Herstellerangaben bis zu zehnmal höher als ein chipinterner Speichertransfer zwischen zwei Bus-Mastern. Der AMBA-Bus unterstützt ab Version 4 das MOESI-Protokoll. (de)
  • En informatique, le protocole MOESI (Modified, Owned, Exclusive, Shared, Invalid) est un protocole de cohérence de cache utilisé dans les systèmes multiprocesseurs. (fr)
  • (For a detailed description see Cache coherency protocols (examples)) In computing, MOESI is a full cache coherency protocol that encompasses all of the possible states commonly used in other protocols. In addition to the four common MESI protocol states, there is a fifth "Owned" state representing data that is both modified and shared. This avoids the need to write modified data back to main memory before sharing it. While the data must still be written back eventually, the write-back may be deferred. In order for this to be possible, direct cache-to-cache transfers of data must be possible, so a cache with the data in the modified state can supply that data to another reader without transferring it to memory. As discussed in AMD64 Architecture Programmer's Manual Vol. 2 'System Programming', each cache line is in one of five states: ModifiedThis cache has the only valid copy of the cache line, and has made changes to that copy.OwnedThis cache is one of several with a valid copy of the cache line, but has the exclusive right to make changes to it—other caches may read but not write the cache line. When this cache changes data on the cache line, it must broadcast those changes to all other caches sharing the line. The introduction of the Owned state allows dirty sharing of data, i.e., a modified cache block can be moved around various caches without updating main memory. The cache line may be changed to the Modified state after invalidating all shared copies, or changed to the Shared state by writing the modifications back to main memory. Owned cache lines must respond to a snoop request with data.ExclusiveThis cache has the only copy of the line, but the line is clean (unmodified).SharedThis line is one of several copies in the system. This cache does not have permission to modify the copy (another cache can be in the "owned" state). Other processors in the system may hold copies of the data in the Shared state, as well. Unlike the MESI protocol, a shared cache line may be dirty with respect to memory; if it is, some cache has a copy in the Owned state, and that cache is responsible for eventually updating main memory. If no cache holds the line in the Owned state, the memory copy is up to date. The cache line may not be written, but may be changed to the Exclusive or Modified state after invalidating all shared copies. (If the cache line was Owned before, the invalidate response will indicate this, and the state will become Modified, so the obligation to eventually write the data back to memory is not forgotten.) It may also be discarded (changed to the Invalid state) at any time. Shared cache lines may not respond to a snoop request with data.InvalidThis block is not valid; it must be fetched to satisfy any attempted access. For any given pair of caches, the permitted states of a given cache line are as follows: (The order in which the states are normally listed serves only to make the acronym "MOESI" pronounceable.) This protocol, a more elaborate version of the simpler MESI protocol (but not in extended MESI - see Cache coherency), avoids the need to write a dirty cache line back to main memory when another processor tries to read it. Instead, the Owned state allows a processor to supply the modified data directly to the other processor. This is beneficial when the communication latency and bandwidth between two CPUs is significantly better than to main memory. An example would be multi-core CPUs with per-core L2 caches. While MOESI can quickly share dirty cache lines from cache, it cannot quickly share clean lines from cache. If a cache line is clean with respect to memory and in the shared state, then any snoop request to that cache line will be filled from memory, rather than a cache. If a processor wishes to write to an Owned cache line, it must notify the other processors that are sharing that cache line. Depending on the implementation it may simply tell them to invalidate their copies (moving its own copy to the Modified state), or it may tell them to update their copies with the new contents (leaving its own copy in the Owned state). (en)
  • MOESI — протокол поддержки когерентности кэшей микропроцессоров, включающий в себя все возможные состояния, используемые в других протоколах. В дополнение к состояниям часто используемого протокола , добавлено пятое состояние «Owned», означающее что данные одновременно и модифицированы и разделяются (modified и shared). Оно позволяет избежать необходимости записи модифицированных данных обратно в основную память, прежде чем другие процессоры системы смогут её прочесть. Данные все еще необходимо записать в память, но с данным протоколом эта запись (write-back) может быть отложена. Используется микропроцессорами AMD Opteron. Согласно документации AMD64 Architecture Programmer’s Manual Vol 2 'System Programming', каждая линия кэша находится в одном из пяти состояний: Модифицирована (Modified)Кэш-линия в модифицированном состоянии содержит наиболее свежие, корректные данные. Копия данных в основной памяти устарела и некорректна, и ни один другой процессор не имеет копии данных. Данные в кэш-линии могут быть повторно модифицированы без каких-либо запросов и изменений состояния. Состояние может поменяться на Exclusive при записи измененных данных в основную память.Владелец (Owned)Кэш-линия в состоянии owned содержит наиболее свежие, корректные данные. Состояние Оwned похоже на состояние Shared тем, что другие процессоры могут иметь копию наиболее свежих и корректных данных. В отличие от состояния Shared, однако, копия в основной памяти может быть устаревшей и некорректной. Только один из процессоров может иметь данную кэш-линию в состоянии Owned, все остальные процессоры могут иметь эти данные только в состоянии Shared. Кеш-линия может перейти в состояние Modified после снятия актуальности (принудительного перевода в состояние Invalid) всех разделяемых копий в других процессорах, или в состояние Shared при записи измененных данных в основную память.Эксклюзивное (Exclusive)Кэш-линия в эксклюзивном состоянии содержит наиболее свежие, корректные данные. Копия в основной памяти также содержит наиболее свежую, корректную копию данных. Ни один другой процессор не имеет копии данных в своем кэше. Состояние может измениться на Modified в любой момент для модификации содержимого данной кэш-линии. Также состояние в любой момент может измениться на Invalid.Разделяемое (Shared)Кэш-линия в разделяемом состоянии содержит наиболее свежие, корректные данные. Другие процессоры в системе могут иметь копии данных в разделяемом состоянии. Копия в основной памяти также содержит наиболее свежую, корректную копию данных, если ни один другой процессор не имеет данной кэш-линии в состоянии owned. Запись в данную кэш-линию запрещенна, и требует перевода её в эксклюзивное состояние с одновременным переводом всех остальных разделяемых копий в состояние Invalid. Также состояние может измениться на Invalid в любой момент.Не актуальное (Invalid)Кэш-линия в разделяемом состоянии не содержит корректных данных. Корректные копии данных могут быть либо в основной памяти, либо в кэше другого процессора. Для любой пары кешей разрешены следующие состояния заданной кэш-строки: Данный протокол, являясь усложнением более простого протокола , позволяет избежать необходимости записи изменений кэш-линии в основную память для разрешения другому процессору их чтения. Состояние Owned позволяет процессору передать модифицированные данные непосредственно в другой процессор. Если процессор хочет записать в кэш-линию с состоянием Owned, он должен уведомить остальные процессоры, которые разделяют эту кеш-линию. В зависимости от реализации возможен либо запрос на изменение всех разделяемых копий в состояние Invalid (и перевод своей копии в модифицированное состояние), либо запрос на обновление их копий новыми данными (своя копия остается в состоянии Owned). (ru)
dbo:wikiPageID
  • 1013230 (xsd:integer)
dbo:wikiPageLength
  • 5442 (xsd:nonNegativeInteger)
dbo:wikiPageRevisionID
  • 1085706544 (xsd:integer)
dbo:wikiPageWikiLink
dbp:wikiPageUsesTemplate
dcterms:subject
gold:hypernym
rdf:type
rdfs:comment
  • En informatique, le protocole MOESI (Modified, Owned, Exclusive, Shared, Invalid) est un protocole de cohérence de cache utilisé dans les systèmes multiprocesseurs. (fr)
  • MOESI (Modified, Owned, Exclusive, Shared, Invalid) ist ein Protokoll zur Wahrung der Cache-Kohärenz in speichergekoppelten Multiprozessorsystemen. Es umfasst alle möglichen Zustände einer Cache-Line, die auch von anderen Protokollen her bekannt sind. Jede Cache-Line befindet sich in einem von fünf Zuständen (vgl., S. 165ff): Außerdem kann die Kommunikation zwischen zwei oder mehreren CPUs bzgl. Latenz und Übertragungsrate signifikant besser sein als zwischen CPU und Hauptspeicher. Bei Multicore-CPUs mit jeweils eigenen Caches pro Core ist dies meist der Fall. (de)
  • (For a detailed description see Cache coherency protocols (examples)) In computing, MOESI is a full cache coherency protocol that encompasses all of the possible states commonly used in other protocols. In addition to the four common MESI protocol states, there is a fifth "Owned" state representing data that is both modified and shared. This avoids the need to write modified data back to main memory before sharing it. While the data must still be written back eventually, the write-back may be deferred. For any given pair of caches, the permitted states of a given cache line are as follows: (en)
  • MOESI — протокол поддержки когерентности кэшей микропроцессоров, включающий в себя все возможные состояния, используемые в других протоколах. В дополнение к состояниям часто используемого протокола , добавлено пятое состояние «Owned», означающее что данные одновременно и модифицированы и разделяются (modified и shared). Оно позволяет избежать необходимости записи модифицированных данных обратно в основную память, прежде чем другие процессоры системы смогут её прочесть. Данные все еще необходимо записать в память, но с данным протоколом эта запись (write-back) может быть отложена. (ru)
rdfs:label
  • MOESI (de)
  • Protocole MOESI (fr)
  • MOESI protocol (en)
  • MOESI (ru)
owl:sameAs
prov:wasDerivedFrom
foaf:isPrimaryTopicOf
is dbo:wikiPageRedirects of
is dbo:wikiPageWikiLink of
is foaf:primaryTopic of
Powered by OpenLink Virtuoso    This material is Open Knowledge     W3C Semantic Web Technology     This material is Open Knowledge    Valid XHTML + RDFa
This content was extracted from Wikipedia and is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License