Protocole de cohérence de cachethumb|Schéma illustrant le besoin d'un protocole de cohérence de cache. En informatique, un protocole de cohérence de cache, sous entendu cache processeur, est un protocole de communication utilisé dans les architectures multi-processeurs pour assurer aux processeurs une vue cohérente de la mémoire. En particulier, il permet de répercuter les écritures faites par chaque processeur aux autres, en modifiant ou en invalidant les lignes de cache communes.
Mémoire cacheUne mémoire cache ou antémémoire est, en informatique, une mémoire qui enregistre temporairement des copies de données provenant d'une source, afin de diminuer le temps d'un accès ultérieur (en lecture) d'un matériel informatique (en général, un processeur) à ces données. Le principe du cache est également utilisable en écriture, et existe alors en trois modes possibles : write-through, write-back et write-around.
Cache de processeurUn cache de processeur est une antémémoire matérielle utilisée par l'unité centrale de traitement (CPU) d'un ordinateur pour réduire le coût moyen (temps ou énergie) de l’accès aux données de la mémoire principale. Un cache de processeur est une mémoire plus petite et plus rapide, située au plus près d'une unité centrale de traitement (ou d'un cœur de microprocesseur), qui stocke des copies des données à partir d'emplacements de la mémoire principale qui sont fréquemment utilisés avant leurs transmissions aux registres du processeur.
Mémoire partagée (communication inter-processus)Dans un contexte de la programmation concurrente, le partage de mémoire est un moyen de partager des données entre différents processus : une même zone de la mémoire vive est accédée par plusieurs processus. C'est le comportement de la mémoire de threads issus d'un même processus. Pour cela, dans un système utilisant la pagination, la table de page de chaque processus contient les pages mémoires communes, mais chaque processus ne les voit pas nécessairement à la même adresse. Communication inter-processus
Cache hierarchyCache hierarchy, or multi-level caches, refers to a memory architecture that uses a hierarchy of memory stores based on varying access speeds to cache data. Highly requested data is cached in high-speed access memory stores, allowing swifter access by central processing unit (CPU) cores. Cache hierarchy is a form and part of memory hierarchy and can be considered a form of tiered storage. This design was intended to allow CPU cores to process faster despite the memory latency of main memory access.
Distributed shared memoryIn computer science, distributed shared memory (DSM) is a form of memory architecture where physically separated memories can be addressed as a single shared address space. The term "shared" does not mean that there is a single centralized memory, but that the address space is shared—i.e., the same physical address on two processors refers to the same location in memory. Distributed global address space (DGAS), is a similar term for a wide class of software and hardware implementations, in which each node of a cluster has access to shared memory in addition to each node's private (i.
Directory-based cache coherenceIn computer engineering, directory-based cache coherence is a type of cache coherence mechanism, where directories are used to manage caches in place of bus snooping. Bus snooping methods scale poorly due to the use of broadcasting. These methods can be used to target both performance and scalability of directory systems. In the full bit vector format, for each possible cache line in memory, a bit is used to track whether every individual processor has that line stored in its cache.
Architecture d'un systèmeL'architecture d'un système est un modèle conceptuel d'un système qui décrit ses propriétés externes et internes et la manière dont elles se projettent dans ses éléments, leurs relations et les principes de conception et d'évolution du système .
Uniform memory accessUniform memory access (UMA) is a shared memory architecture used in parallel computers. All the processors in the UMA model share the physical memory uniformly. In an UMA architecture, access time to a memory location is independent of which processor makes the request or which memory chip contains the transferred data. Uniform memory access computer architectures are often contrasted with non-uniform memory access (NUMA) architectures. In the NUMA architecture, each processor may use a private cache.
Cache prefetchingCache prefetching is a technique used by computer processors to boost execution performance by fetching instructions or data from their original storage in slower memory to a faster local memory before it is actually needed (hence the term 'prefetch'). Most modern computer processors have fast and local cache memory in which prefetched data is held until it is required. The source for the prefetch operation is usually main memory.
Gestion de la mémoireLa gestion de la mémoire est une forme de gestion des ressources appliquée à la mémoire de l'ordinateur. L'exigence essentielle de la gestion de la mémoire est de fournir des moyens d'allouer dynamiquement des portions de mémoire aux programmes à leur demande, et de les libérer pour réutilisation lorsqu'elles ne sont plus nécessaires. Ceci est essentiel pour tout système informatique avancé où plus d'un processus peuvent être en cours à tout moment. Catégorie:Architecture informatique Catégorie:Pages avec
Cache control instructionIn computing, a cache control instruction is a hint embedded in the instruction stream of a processor intended to improve the performance of hardware caches, using foreknowledge of the memory access pattern supplied by the programmer or compiler. They may reduce cache pollution, reduce bandwidth requirement, bypass latencies, by providing better control over the working set. Most cache control instructions do not affect the semantics of a program, although some can.
Memory pagingIn computer operating systems, memory paging (or swapping on some Unix-like systems) is a memory management scheme by which a computer stores and retrieves data from secondary storage for use in main memory. In this scheme, the operating system retrieves data from secondary storage in same-size blocks called pages. Paging is an important part of virtual memory implementations in modern operating systems, using secondary storage to let programs exceed the size of available physical memory.
Bus snoopingBus snooping or bus sniffing is a scheme by which a coherency controller (snooper) in a cache (a snoopy cache) monitors or snoops the bus transactions, and its goal is to maintain a cache coherency in distributed shared memory systems. This scheme was introduced by Ravishankar and Goodman in 1983, under the name "write-once" cache coherency. A cache containing a coherency controller (snooper) is called a snoopy cache.
Architecture d'entrepriseL'architecture d'entreprise est une école visant à représenter de manière systémique l'entreprise, sous forme de composants. Ainsi le découpage en composants permet à l'entreprise de faciliter les assemblages. Les méthodes d'architecture visent à mettre en place des principes ainsi qu'un cadre d'architecture dit "de référence". C'est une démarche visant à aligner avec la stratégie d'entreprise l'ensemble des couches de l'entreprise,(Métier, fonctionnelle, applicative, technique, ...).
Algorithmes de remplacement des lignes de cacheArticle principal : mémoire cache Les mémoires caches dans les matériels informatiques sont le plus souvent partiellement associatives : une ligne de la mémoire principale ne peut être rangée que dans une partie bien définie de la mémoire cache. Dans le cas d'une mémoire cache logicielle, il est possible qu'elle soit totalement associative et gérée globalement. Dans les deux cas, se pose le problème de devoir dégager une place dans la mémoire cache, ou dans la partie de celle-ci concernée, lorsque celle-ci est pleine et qu'on veut y charger des données de la mémoire principale.
Organisme génétiquement modifiévignette|Un bout d'ADN retiré par une pince (vision d'artiste). Un organisme génétiquement modifié ou OGM (en anglais, Genetically modified organism ou GMO) est un organisme vivant dont le patrimoine génétique a été modifié par l'intervention humaine. Selon les définitions européennes, ces modifications doivent être issues du génie génétique. La définition américaine inclut également les modifications issues de la sélection artificielle.
Maïs génétiquement modifiévignette|Le 25 juillet 2004, plant de maïs OGM arraché par un membre français de l'organisation "les faucheurs volontaires". Un maïs génétiquement modifié est une variété cultivée (cultivar) de maïs (Zea mays) dont le patrimoine génétique a été modifié par l'Homme. Lorsque des gènes étrangers sont introduits par transgénèse dans le génome du maïs, on parle de « maïs transgénique ». La plupart des maïs génétiquement modifiés sont des variétés transgéniques qui se classent dans deux grandes catégories : les variétés résistantes à des insectes ravageurs (maïs Bt) et les variétés résistantes à des herbicides.
Débat sur les organismes génétiquement modifiésLes organismes génétiquement modifiés (OGM) provoquent de nombreux débats qui sont sortis des mondes agricole, économique et scientifique pour toucher les sphères politique, philosophique, médiatique et juridique. Les débats sur les OGM concernent trois thèmes principaux : le bien-fondé des modifications génétiques par l'être humain les processus utilisés pour créer et expérimenter des OGM l'utilité et les risques dans leur domaine d'application Les OGM sont source de grandes divergences d’opinion, qui conduisent à une absence de consensus au sein des opinions publiques nationales ; les craintes sur les risques sanitaires qu'ils pourraient générer et sur une éventuelle atteinte à la biodiversité entrent en conflit avec les avantages mis en avant des OGM.
Aliment génétiquement modifiéGenetically modified foods (GM foods), also known as genetically engineered foods (GE foods), or bioengineered foods are foods produced from organisms that have had changes introduced into their DNA using various methods of genetic engineering. Genetic engineering techniques allow for the introduction of new traits as well as greater control over traits when compared to previous methods, such as selective breeding and mutation breeding.