Document Details

SumptuousRuthenium2479

Uploaded by SumptuousRuthenium2479

Université Hassan II, Faculté des Sciences Ain-Chock, Casablanca

Tags

architecture des ordinateurs informatic programmation système informatique

Summary

Ce document présente un cours complet sur l'architecture des ordinateurs, en commençant par les bases puis en approfonissant les codages des données. Il aborde des concepts importants comme les nombres entiers signés et non signés, la représentation des données et les différents codes de caractères disponibles.

Full Transcript

## CHAPITRE 1 ## INTRODUCTION A L'ARCHITECTURE DES ORDINATEURS ## I. ARCHITECTURE SIMPLIFIEE D'UN ORDINATEUR ### 1.1 Machines numériques Les machines numériques sont des machines électroniques qui permettent de traiter des informations de façon automatique à l'aide d'un ensemble de programmes. Exemp...

## CHAPITRE 1 ## INTRODUCTION A L'ARCHITECTURE DES ORDINATEURS ## I. ARCHITECTURE SIMPLIFIEE D'UN ORDINATEUR ### 1.1 Machines numériques Les machines numériques sont des machines électroniques qui permettent de traiter des informations de façon automatique à l'aide d'un ensemble de programmes. Exemples: ordinateur personnel (PC), Smart phone, tablette, PDA, iPAD, etc. ### 1.2 Fonctionnement de l'ordinateur Le développement informatique implique l'utilisation judicieuse des périphériques d'entrée pour l'acquisition et la transmission d'informations vers le système informatique. Les données d'entrée, exprimées sous diverses formes telles que le texte, les images, les sons et les vidéos, subissent invariablement une conversion en langage binaire, la seule forme que le système peut interpréter. - **Entrée**: Clavier, souris, scanner, microphone, caméra, appareil photo numérique - **Sortie**: Écran, imprimante, haut-parleurs - **Mémoires auxiliaires**: Disques durs, CD-ROM, DVD-ROM, mémoires flash - **Unité centrale de traitement (CPU)**: - Unité de contrôle - Unité arithmétique et logique - Accumulateur - Mémoire centrale Ce langage binaire, une séquence de 0 et de 1, est traité par l'unité de traitement centrale (CPU), où des opérations algorithmiques sont effectuées pour manipuler ces données selon les besoins spécifiques du programme en cours d'exécution. Les résultats de ces opérations sont ensuite acheminés vers les périphériques de sortie pour une présentation adéquate à l'utilisateur final. Dans le cadre de la préservation à long terme ou du stockage des données, les mémoires auxiliaires, telles que les disques durs et les dispositifs de stockage à semi-conducteurs, interviennent pour fournir une capacité de stockage durable et persistante. ### 1.3 Composants matériels - **Périphériques d'entrée**: Clavier, souris, scanner, microphone, caméra, appareil photo numérique - **Périphériques de sortie**: Écran, imprimante, haut-parleurs - **Mémoires auxiliaires**: Disques durs, CD-ROM, DVD-ROM, mémoires flash - **Unité centrale de traitement (CPU)**: - Microprocesseur - Mémoire centrale - Cartes d'extension - Carte mère #### 1.3.1 Le microprocesseur Le microprocesseur, véritable cerveau de l'ordinateur, est constitué de plusieurs composants fondamentaux qui travaillent en harmonie pour exécuter les instructions et traiter les données. Il est caractérisé spécialement par sa fréquence qui se mesure en Hertz, et qui influence sa vitesse de traitement (nombre d'opérations qu'il peut effectuer par seconde). - **Unité arithmétique et logique (UAL)**: Addition, soustraction, multiplication - **Unité de Commande**: Contrôle des opérations sur la mémoire - **Registres**: Stockage temporaire de données et adresses mémoire Plusieurs constructeurs contribuent à l'avancement de la technologie des microprocesseurs, parmi lesquels Intel, AMD, Motorola, et d'autres encore. Ces entreprises rivalisent pour produire des microprocesseurs toujours plus performants, offrant ainsi un large éventail de choix aux consommateurs. Les microprocesseurs se distinguent également par leur architecture et leur jeu d'instructions. On distingue notamment les architectures CISC (Complex Instruction Set Computer) et RISC (Reduced Instruction Set Computer). #### 1.3.2 Le chipset Le chipset joue un rôle essentiel dans la gestion des flux de données numériques au sein d'un système informatique, assurant une communication efficace entre le ou les processeurs, la mémoire et les périphériques. Conçu pour s'adapter à un type spécifique de microprocesseur, il est souvent composé de deux puces distinctes: le Northbridge et le Southbridge. Les performances et les capacités d'un ordinateur personnel sont directement influencées par le chipset utilisé. En effet, le chipset détermine des aspects cruciaux tels que la résolution graphique maximale et le nombre de couleurs supportées, la capacité et le type de mémoire RAM pris en charge, la taille maximale du disque dur, ainsi que la vitesse maximale des bus. Ainsi, l'optimisation ou la mise à niveau d'un PC implique souvent la prise en compte du chipset, car il définit les limites et les possibilités d'amélioration de divers composants matériels #### 1.3.3 La mémoire centrale La mémoire centrale permettant de mémoriser temporairement les données lors de l'exécution des programmes. La mémoire centrale est réalisée à l'aide de micro-conducteurs, c'est-à-dire des circuits électroniques spécialisés rapides, elle se présente sous forme de barrette (voir figure ci-après) et se fixe sur la carte mère sur des supports appelés << slots de la mémoire vive ». Elle est caractérisée par sa capacité de stockage (en GO) et sa fréquence (en MHz) qui déterminent ses performances et son efficacité dans le traitement des données. Une mémoire de grande capacité et à haute fréquence peut contribuer à améliorer les performances globales de l'ordinateur, en offrant une meilleure réactivité et une exécution plus fluide des tâches. Actuellement on trouve des barrettes mémoires qui atteignent une capacité à partir de 4 GO. #### Mémoire centrale - L'organisation de la mémoire: Emplacements numérotés de taille fixe appelés mots mémoire - Taille d'un mot mémoire en nombre de bits: 32 ou 64 bits - Adresse: Numéro unique pour accéder à un mot mémoire - La taille de l'adresse (nombre de bits): Dépend de la capacité de la mémoire #### 1.3.4 La carte mère La carte mère est le composant central de l'ordinateur, elle permet de connecter tous les composants de l'ordinateur via des ports de différents types, dont on peut citer : - Ports séries: Connecteurs clavier et souris - Ports parallèles: Connecteur d'imprimante - Ports IDE et SATA: Connecteur d'un disque dur - Ports USB: Connexion série avec l'ordinateur comme clé USB #### 1.3.5 Les cartes d'extension Ce sont des cartes qui permettent à l'utilisateur d'augmenter les capacités et les fonctionnalités de l'ordinateur. Elles se fixent sur la carte mère sur l'un des trois ports: ISA, PCI ou AGP. Exemples: - Carte graphique : Port AGP - Cartes son, réseau, TV, satellite, modem : Ports PCI #### 1.3.6 L'alimentation - Le bloc d'alimentation est utilisé pour l'alimentation de la carte mère et des différents lecteurs depuis le secteur (en générale 220V). - Les composantes internes d'un ordinateur sont alimentées par la carte mère. - Le voltage interne, en général, d'un ordinateur est de 12 volts. ## II. REPRESENTATION DES DONNEES DANS LA MEMOIRE ### II.1 Unités de mesure Une information peut prendre un des types de base suivants : - Les nombres: les entiers, les réels, - Les caractères: des lettres, des chiffres, des signes de ponctuations, des symboles spéciaux - Le son - L'image - La vidéo Ces informations sont codées à l'aide d'un langage binaire utilisant deux états différents représentés par les chiffres 0 et 1. On parle alors de base binaire. #### II.1.1 Le Bit C'est 0 ou 1 en numérotation binaire. C'est la plus petite unité d'information manipulable par une machine numérique. Avec un bit il est ainsi possible d'obtenir deux états: soit 1, soit 0. Avec 2 bits il est possible d'obtenir quatre états différents: (2*2=4): 00, 10, 01, 11. Pour un groupe de n bits, il est possible de représenter 2ⁿ valeurs. #### II.1.2 L'octet L'octet est une unité d'information composée de 8 bits. Il permet de stocker un caractère tel qu'une lettre, un chiffre ou un symbole. Les multiples de l'octet sont: - Le kilo-octet (Ko) vaut 2¹⁰ octets= 1024 octets. - **Le méga-octet (Mo) vaut 2²⁰ octets = 1024 Ko = 1 048 576 octets.** - **Le giga-octet (Go) vaut 2³⁰ octets = 1024 Mo = 1 073 741 824 octets.** - Le téra-octet (To) vaut 2⁴⁰ octets = 1024 Go = 1 099 511 627 776 octets. - Le péta-octet (Po) vaut 2⁵⁰ octets = 1024 To = 1 125 899 906 842 624 octets - L'exa-octet (Eo) vaut 2⁶⁰ octets = 1024 Po - Le zetta-octet (Zo) vaut 2⁷⁰ octets = 1024 Eo - Le yotta-octet (Yo) vaut 2⁸⁰ octets = 1024 Zo. ### 11.2 Les nombres entiers non signés #### II.2.1 Les bases de numération - **La base décimale**: Pour représenter un nombre décimal on utilise 10 chiffres {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}. Notation: nombre)10 ou peut être suffixé de "d". Exemple: 952)10=952d - **La base binaire**: Pour représenter un nombre binaire on utilise 2 chiffres {0, 1}. Notation: nombre)2 ou peut être suffixé de "b". Exemple: 1011)2=1011b - **La base octale**: Pour représenter un nombre octal on utilise 8 chiffres {0, 1, 2, 3, 4, 5, 6, 7}. Notation: nombre)8 ou peut être suffixé de "o". Exemple : 610)8=610o - **La base hexadécimale**: Pour représenter un nombre hexadécimal on utilise 16 symboles {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}. Notation: nombre)16 ou peut être suffixé de "h". Exemple: A10)16=A10h #### II.2.2 La conversion décimale - binaire Pour convertir un nombre décimal vers la base binaire on fait une suite de divisions entières par 2 jusqu'à l'obtention d'un quotient égale à 0. #### II.2.3 La conversion binaire - décimale Pour convertir un nombre binaire vers la base décimale on fait multiplier chaque bit du nombre binaire par 2¹ où i représente le rang de ce bit dans le nombre binaire. On note que le rang du premier chiffre à droite est égal à 0. #### II.2.4 L'addition et la soustraction L'addition et la soustraction en binaire gardent les mêmes règles que celle en décimal, on y retrouve les propriétés de commutativité et d'associativité des additions décimales. Les tableaux suivants résument les opérations bit à bit. ### 11.3 Les nombres entiers signés #### II.3.1 Méthode du bit de signe Pour représenter un nombre signé sur 8 bits, on réserve le bit de gauche pour représenter le signe : S'il vaut 1 alors le nombre codé est négatif S'il vaut 0 alors le nombre codé est positif #### 11.3.2 Méthode du complément à 2 Pour représenter un entier négatif en complément à 2, on inverse les bits de sa valeur absolue et on ajoute 1. ### 11.4 Codage des nombres réels (codage des flottants) Un ordinateur a une mémoire restreinte; il ne peut, par exemple, stocker tous les chiffres du résultat du nombre réel 21/2. Il utilise des valeurs approchées représentables en mémoire à l'aide d'une représentation en notation scientifique. On appelle ces nombres des nombres à virgule flottante. ## II.4 Codage des caractères Pour coder un texte on procède par coder chaque caractère du texte selon le code utilisé. On trouve plusieurs codes utilisables dont les codes ASCII, Unicode, UTF-8, UTF-16, etc. #### II.4.1 Le code ASCII C'est le principal système de codage qui a permis l'échange de textes en anglais à un niveau mondial. C'est un code conçu initialement sur 7bits puis il a été élargi à 8 bits pour couvrir les caractères accentués et d'autres symboles. Ce qui fait 2⁸=256 caractères représentables. #### II.4.2 L'UNICOD Le standard UNICODE est un système de codage de caractères conçu pour l'échange et l'affichage de textes écrits dans les multiples langues du monde moderne. Aujourd'hui c'est le standard de référence pour le codage informatique des caractères. C'est un système de codage sur au moins 16 bits. Il est constitué d'un répertoire de plus de 109 000 caractères couvrant 93 écritures, d'un ensemble de tableaux de codes pour référence visuelle, d'une méthode de codage et de plusieurs codages de caractères standard. #### II.4.3 Le code UTF-8 UTF-8 (UCS transformation format 8 bits) est un codage de caractères informatiques conçu pour coder l'ensemble des caractères internationaux d'Unicode en restant compatible avec la norme ASCII limitée à l'anglais, mais très largement répandue depuis des décennies. Techniquement, il s'agit de coder les caractères Unicode sous forme de séquences de un à quatre codets d'un octet chacun. Les caractères ayant une valeur scalaire de 0 à 127 sont codés sur un seul octet dont le bit de poids fort est nul. Les points de code de valeur scalaire supérieure à 127 sont codés sur plusieurs octets. Les bits de poids fort du premier octet forment une suite de 1 de longueur égale au nombre d'octets utilisés pour coder le caractère, les octets suivants ayant 10 comme bits de poids fort. #### Le code UTF-16 Le code UTF-16 quant à lui est un codage des caractères définis par Unicode où chaque caractère est codé sur une suite d'un ou deux mots de 16 bits ## III. FONCTIONS LOGIQUES ET ALGEBRES DE BOOLE. ### III.1 Fonctions logiques Soit B l'ensemble constitué de deux éléments appelés valeurs de vérité {VRAI, FAUX}. Il est noté B = {1, 0}. Une fonction logique ou opérateur logique est une application de Br dans B qui peut se décrire à l'aide des trois fonctions ou opérations de base: NON-ET-OU et des parenthèses. ### III.2 Algèbre de BOOLE #### Propriétés de l'algèbre de BOOLE : ### IV. SYSTEME D'EXPLOITATION D'UN ORDINATEUR #### IV.1 Définition Un système d'exploitation est l'ensemble des programmes qui vont permettre l'exploitation et l'utilisation optimale des ressources matérielles d'un ordinateur. Exemple: MS-DOS, Windows (95, 98, 2000, XP, Vista, 7, 8 ...), Unix, Linux, MacOS, ... Pour la mise en marche d'une machine, on installe en plus du système d'exploitation un ensemble de programmes et utilitaires d'exploitation comme les compilateurs, les outils de sauvegarde, d'archivage, et de traitement des défaillances, des éditeurs, etc. #### IV.2 Principales fonctionnalités d'un système d'exploitation - Fournir une interface entre l'utilisateur et l'ordinateur: Cette interface se présente sous forme d'interfaces graphique ou d'un interpréteur de commande. pour donner des ordres ou signaler des erreurs - Gérer l'allocation du processeur entre les programmes exécutés sur la machine - Gérer l'espace de la mémoire centrale: gérer l'organisation et l'optimisation de la mémoire - Gérer les entrées sorties: prendre en charge l'échange d'information entre l'ordinateur et le monde extérieur (les périphériques). - Gérer l'exécution des applications - Gérer les fichiers - Gérer les erreurs - Gérer la sécurité et les droits d'accès ### IV.3 Les dossiers et les fichiers Pour stocker et organiser les informations, il y a deux notions importantes à comprendre: fichier et dossier. Un fichier ou document est une unité logique qui réunit sous un même nom un ensemble de données ou d'instructions. Un dossier ou répertoire est une unité logique qui permet de ranger et organiser les fichiers. #### Remarques Il existe deux classes de fichiers: - les fichiers exécutables, qui sont des programmes, - les fichiers de données qui contiennent des informations (texte, images, sons...). Pour identifier un fichier dans un dossier on utilise un nom qui est composé comme suit: nom.extension. **nom**: c'est le nom donné par l'utilisateur, **extension**: c'est une suite de caractères qui détermine le type du fichier. #### Exemple d'extensions - Fichiers exécutables:.EXE.COM.SYS.BAT - Fichiers texte:.TXT.DOC.DOCX.XLS.PDF.HTML.HTM.XML - Fichiers images: .BMP.GIF.JPEG.JPG.PNG.TIFF.TIF - Fichiers audios: AIFF.AIF.MID.MP3.RA.RAM.WAV - Fichiers vidéo:.AVI.MOV.QT.MPEG.MPG.RA.VDO.VIV - Fichiers compressés et archive: .ZIP.RAR.WAR.JAR - Fichiers multimédia:.PPT.DIR.SWF Un dossier peut contenir des dossiers à l'intérieur, qui sont appelés des sous dossiers. Chaque fichier ou dossier est identifié dans un ordinateur par son chemin (ou adresse), ce chemin représente la suite des noms des dossiers à visiter directement à partir de la racine pour trouver ce fichier ou ce dossier. Ces noms sont séparés par un caractère qui dépend du système d'exploitation. Exemple: "D:\cours\informatique". ### IV.4 Le BIOS Le BIOS (Basic Input/Output System) est un logiciel essentiellement intégré dans la carte mère d'un ordinateur. Il s'agit du premier programme à s'exécuter lors de la mise sous tension de l'ordinateur. Le rôle principal du BIOS est de fournir une interface de communication de bas niveau entre le matériel (hardware) de l'ordinateur et le système d'exploitation. Cela inclut la configuration initiale et le contrôle des périphériques matériels tels que le disque dur, la mémoire, le clavier, la souris, etc. Le BIOS effectue également un test de diagnostic de base, appelé POST (Power-On Self Test), pour vérifier que le matériel fonctionne correctement lors du démarrage de l'ordinateur. En outre, le BIOS permet également de charger et de démarrer le système d'exploitation à partir du périphérique de démarrage, généralement le disque dur. Bien que le BIOS soit essentiel pour l'initialisation de l'ordinateur, il est de moins en moins utilisé avec l'avènement de l'UEFI (Unified Extensible Firmware Interface), une interface plus moderne offrant des fonctionnalités plus avancées que le BIOS traditionnel. ### IV.5 MS-DOS MS-DOS, acronyme de Microsoft Disk Operating System, est un système d'exploitation développé par Microsoft Corporation. Lancé en 1981, il a été l'un des premiers systèmes d'exploitation largement utilisés pour les ordinateurs personnels compatibles avec IBM PC. MS-DOS est basé sur le système d'exploitation CP/M et est conçu pour fonctionner avec les processeurs Intel x86. MS-DOS est un système d'exploitation en ligne de commande, ce qui signifie qu'il est principalement utilisé via une interface en ligne de commande où les utilisateurs saisissent des commandes textuelles pour exécuter des tâches telles que la navigation dans les répertoires, la copie de fichiers, le lancement d'applications, etc. Le système utilise un système de fichiers FAT (File Allocation Table) pour gérer le stockage des données sur les disques. MS-DOS a été largement utilisé dans les années 1980 et 1990, mais son utilisation a diminué avec l'essor des systèmes d'exploitation graphiques comme Windows. Cependant, il reste un système d'exploitation important dans l'histoire de l'informatique et a posé les bases pour de nombreux systèmes d'exploitation modernes. ## CHAPITRE 2 ## UNITES FONCTIONNELLES ## I. LES GRANDES ARCHITECTURES D'ORDINATEURS ### 1.1 Les grands noms Plusieurs noms ont révolutionné la pensée informatique en apportant des contributions fondamentales qui ont façonné le cours de l'histoire de l'informatique. Parmi ces visionnaires se trouvent des pionniers tels que George Boole, Claude E. Shannon et John von Neumann, dont les idées novatrices ont jeté les bases de concepts et de modèles essentiels à l'informatique moderne. En 1854, George Boole a révolutionné le domaine de la logique en démontrant que tout processus logique pouvait être décomposé en opérations logiques appliquées sur deux états. Cette découverte a jeté les bases de l'algèbre booléenne, un outil puissant pour représenter et manipuler les propositions logiques, qui trouve aujourd'hui de vastes applications dans les domaines de l'informatique et de l'ingénierie. En 1938, Claude E. Shannon a réalisé une avancée majeure en établissant un lien entre les circuits électriques et l'algèbre booléenne. Cette connexion a permis de formaliser la représentation des signaux électriques binaires en utilisant des opérations logiques, conduisant ainsi à la définition du concept fondamental de "bit", l'unité de base de l'information numérique. Cette découverte a ouvert la voie à la conception des premiers ordinateurs numériques et a posé les bases de l'informatique moderne. En 1945, John von Neumann a proposé un modèle formel révolutionnaire d'un calculateur, qui est aujourd'hui connu sous le nom de "Machine de Von Neumann". Ce modèle introduit la notion de programmes enregistrés, où les instructions et les données sont stockées dans la même mémoire et manipulées par le processeur de manière séquentielle. La Machine de Von Neumann a joué un rôle crucial dans le développement des premiers ordinateurs électroniques et continue d'être un modèle fondamental pour la conception des systèmes informatiques modernes. ### 1.2 Architecture schématique d'un calculateur #### 1.2.1 Architecture de von Neumann L'architecture de von Neumann, proposée par John von Neumann dans les années 1940, est un modèle fondamental pour la conception des calculateurs. Dans cette architecture, les instructions et les données sont stockées dans la même mémoire, également appelée mémoire à accès aléatoire (RAM). Le processeur accède séquentiellement à cette mémoire pour récupérer les instructions à exécuter et les données sur lesquelles travailler. Ces instructions et données sont ensuite traitées par l'unité de traitement central (CPU) dans un flux continu, ce qui permet une exécution séquentielle des programmes. L'architecture de von Neumann a été largement adoptée dans la conception des premiers ordinateurs et continue d'être utilisée comme modèle de base pour de nombreux systèmes informatiques modernes. #### 1.2.2 Architecture de type Harvard En revanche, l'architecture de type Harvard, du nom de l'Université Harvard où elle a été développée dans les années 1940, présente une structure différente. Dans ce modèle, les instructions et les données sont stockées dans des mémoires distinctes: la mémoire d'instructions, également appelée mémoire de programme, et la mémoire de données. Cette séparation permet au processeur d'accéder simultanément à des instructions et des données différentes, ce qui peut accélérer l'exécution des programmes. Cette architecture est couramment utilisée dans les microcontrôleurs, les systèmes embarqués et d'autres applications où une haute performance est cruciale. Bien que moins flexible que l'architecture de von Neumann, l'architecture de type Harvard offre souvent des avantages en termes de vitesse et d'efficacité pour les applications spécifiques où le débit de données est critique. ## II. LES MEMOIRES ### 11.1 Introduction Les mémoires informatiques sont des composants essentiels de tout système informatique, responsables du stockage et de la manipulation des données. Elles se présentent sous différentes formes et technologies, chacune offrant des caractéristiques uniques en termes de vitesse, de capacité, de coût et de volatilité. Parmi les principales catégories de mémoire, on trouve la mémoire vive (RAM) qui permet un accès rapide aux données en cours d'utilisation par le processeur, la mémoire de masse (comme les disques durs et les SSD) pour le stockage à long terme des données, et la mémoire cache qui agit comme une zone de stockage intermédiaire entre le processeur et la mémoire principale, permettant d'accélérer l'accès aux données les plus fréquemment utilisées. #### II.1.1 Paramètres d'une mémoire **Technologie**: - SRAM: Mémoire vive statique offrant un accès rapide aux données et conservant les informations tant que l'alimentation est maintenue. - DRAM: Mémoire vive dynamique nécessitant un rafraîchissement périodique des données pour éviter leur perte, mais offrant une densité de stockage plus élevée. **Format**: - Nombre de bits de la donnée (m) = Taille d'un seul mot mémoire, déterminant la quantité de données pouvant être stockée dans un mot. **Nombre de mots mémoire**: - Nombre de mots (N) pouvant être stockée dans la mémoire, déterminée par le nombre de bits d'adresse. N = 2ⁿ (où n est le nombre de bits d'adresse). **Capacité**: - La formule suivante permet de déterminer la capacité totale de la mémoire en fonction de ses caractéristiques: C = m*N: Capacité totale de la mémoire, calculée en multipliant le nombre de bits du mot mémoire par le nombre total de mots mémoire. ### 11.2 Classification des mémoires Selon la technologie utilisée, les mémoires peuvent être classées en plusieurs catégories : - **Mémoire à semi-conducteur**: (mémoire centrale (RAM), ROM, PROM, ...) Rapide mais de taille réduite. - **Mémoire magnétique**: (disque dur magnétique, ...) moins rapide mais stocke un volume d'informations très grand. - **Mémoire optique**: Stockage de données sur des disques optiques tels que CD, DVD et Blu-ray. Offre une grande capacité de stockage et une longue durée de vie, mais est plus lente que les mémoires à semi-conducteurs et magnétiques. - **Mémoire holographique**: Stockage de données en trois dimensions dans des cristaux photosensibles. Technologie prometteuse pour le stockage de données de très grande capacité, mais encore en développement. - **Mémoire neuromorphique**: Inspirée du cerveau humain, elle utilise des réseaux de neurones artificiels pour stocker et traiter des informations. Potentiellement plus efficace et plus économe en énergie que les mémoires traditionnelles, mais encore au stade de la recherche. ### 11.2 Mémoires vives (RAM) #### 11.2.1 Présentation La RAM (Random Access Memory), souvent considérée comme la mémoire vive d'un ordinateur, peut être conceptualisée comme une boîte contenant des cases, chaque case pouvant contenir un mot mémoire de taille fixe en nombre de bits. Ces mots mémoire peuvent être lus et écrits, permettant ainsi le stockage temporaire des données et des programmes en cours d'utilisation par le système. Cependant, il est important de noter que la RAM est une mémoire volatile, ce qui signifie qu'elle perd son contenu dès lors qu'elle n'est plus alimentée en électricité. Cette caractéristique en fait un espace de stockage temporaire, idéal pour les opérations rapides d'accès aux données mais nécessitant une alimentation constante pour maintenir les informations enregistrées. #### 11.2.2 Structure physique simplifiée La structure physique simplifiée d'un boîtier mémoire RAM comprend généralement le bloc mémoire et deux registres principaux: - **Registre RAM**: Registre d'Adresse Mémoire: qui sauvegarde l'adresse du mot à lire ou à écrire. - **Registre RIM**: Registre d'Information Mémoire: qui sauvegarde l'information lue à partir de la mémoire ou à écrire dans la mémoire. #### 11.2.3 Vue logique de la RAM La RAM peut être vu comme un tableau de mots (m octets) chacun a une adresse unique et propre. - Une cellule mémoire stock 1 seul bit. - Un mot mémoire stocke une information sur n bits (n cellules). - Une adresse est un numéro unique qui permet d'accéder à un mot mémoire. - Les adresses sont séquentielles (consécutives) - La taille de l'adresse (le nombre de bits) dépend de la capacité de la mémoire. #### 11.2.4 Les cycles de fonctionnement - **Temps d'accès, temps de cycle, fréquence**: Deux paramètres qui caractérisent la vitesse d'une mémoire: - Le temps d'accès (Ta) = temps qui sépare une demande de lecture de l'obtention de l'information; - Le temps de cycle (Tc) = l'intervalle de temps minimum qui sépare deux demandes successives en lecture ou écriture. - **La fréquence maximale de fonctionnement** est égale à l'inverse du temps de cycle. - **La bande passante**: Un paramètre qui caractérise le débit maximum en bits par seconde. En accès aléatoire cette bande passante est égale à B = n / Tc où n est le nombre de bits transférés par cycle. Mais pour des données consécutives, certaines architectures (entrelacement, etc.) et certains modes de lecture (rafales, etc.) peuvent permettre d'approcher la limite Bmax = n / Ta ### 11.3 La mémoire vive dynamique ou DRAM La mémorisation dans la mémoire vive dynamique (DRAM) repose sur l'utilisation de condensateurs et de transistors pour stocker les données. Chaque bit de données est représenté par la charge électrique d'un condensateur, contrôlée par un transistor. Cependant, cette technologie présente une volatilité, car les charges électriques des condensateurs ont tendance à se dégrader au fil du temps en raison des fuites. Ainsi, pour éviter la perte de données, un processus de rafraîchissement périodique est nécessaire. Malgré cette contrainte, la DRAM reste largement utilisée en raison de sa rapidité et de sa capacité à fournir un accès rapide et aléatoire aux données, ce qui en fait un élément essentiel pour les performances des ordinateurs et des autres dispositifs électroniques. Différents types de DRAM sont utilisés, nous allons en présenter quelques-uns dans cette partie: - SDRAM - DDR SDRAM - DDR II, III, ... #### 11.3.1 La mémoire SDRAM L'introduction de la mémoire SDRAM (Synchronous Dynamic RAM) en 1996 a marqué une avancée significative dans la technologie de la mémoire vive des ordinateurs. Contrairement aux précédentes générations de DRAM, la SDRAM synchronise ses entrées/sorties avec l'horloge système de l'ordinateur, ce qui permet d'accélérer considérablement les échanges de données. Cette synchronisation précise élimine le besoin d'attendre des cycles d'horloge spécifiques pour accéder aux données, à la fois en lecture et en écriture, ce qui améliore l'efficacité globale du système. Par exemple, une mémoire SDRAM fonctionnant à une fréquence de 133 MHz peut traiter un maximum de 133 millions d'informations par seconde, offrant des performances supérieures et une meilleure réactivité aux applications et aux tâches informatiques. #### 11.3.2 La DDR SDRAM L'introduction de la DDR SDRAM (Double Data Rate SDRAM) en 1999 a représenté une avancée significative dans la technologie de la mémoire vive des ordinateurs. Cette évolution de la SDRAM exploite les fronts montants et descendants de l'horloge pour doubler son débit par rapport à la SDRAM traditionnelle. Les modules DDR sont des mémoires 64 bits (8 octets), ce qui signifie qu'à chaque cycle d'horloge, une barrette peut transmettre deux fois plus de données que la SDRAM conventionnelle, soit 16 octets. Cette amélioration est rendue possible par l'utilisation efficace des deux bords de l'horloge pour transférer des données, augmentant ainsi la bande passante et améliorant les performances globales du système. #### 11.3.3 La DDR II SDRAM La DDR2, une évolution de la DDR SDRAM introduite en 2003, améliore les performances en permettant le transfert de quatre bits de données par cycle d'horloge, par rapport aux deux bits de la DDR. Cette augmentation du débit de données par cycle améliore considérablement l'efficacité de la mémoire et la réactivité des systèmes informatiques. "PC2" est une manière de spécifier la DDR2 dans les normes et les spécifications techniques, permettant de distinguer clairement cette génération de mémoire des autres, comme la DDR et la DDR3. . #### 11.3.4 La DDR III SDRAM La DDR3, commercialisée au Japon depuis mai 2007, est une évolution de la DDR2 qui offre une économie de consommation de 40% par rapport à son prédécesseur. Cette économie est rendue possible par une baisse significative de la tension d'alimentation, passant de 2,5 V pour la DDR à 1,8 V pour la DDR2, et finalement à 1,5 V pour la DDR3. De plus, la DDR3 améliore les performances en permettant le transfert de huit bits de données par cycle d'horloge, soit deux fois plus que la DDR2. Ces améliorations dans la consommation d'énergie et les performances font de la DDR3 une solution attrayante pour les applications nécessitant une efficacité énergétique et des performances élevées. ### 11.4 La mémoire vive statique ou SRAM #### 11.4.1 Présentation La mémoire vive statique (SRAM) stocke les données à l'aide de bascules, qui maintiennent leur état tant que l'alimentation électrique est présente, éliminant ainsi le besoin de rafraîchissement périodique. La SRAM se distingue par sa rapidité et son coût relativement élevé par rapport à la DRAM, rendue possible par sa conception utilisant des bascules D ou RS comme points de stockage de données. Toutefois, comme les DRAM, les SRAM sont volatiles et perdent leur contenu en l'absence d'alimentation électrique. Cette caractéristique en fait une solution rapide et efficace pour stocker des données temporaires, ce qui en fait un choix privilégié pour les applications nécessitant une réactivité élevée, comme les systèmes embarqués ou la mémoire cache dans les ordinateurs. #### 11.4.2 Utilisation dans la mémoire cache - **La mémoire cache**: Souvent appelée antémémoire, joue un rôle crucial dans l'optimisation des performances des systèmes informatiques en exploitant deux principes fondamentaux: la localité temporelle et la localité spatiale des données. Le principe de localité temporelle stipule que si une donnée située à une adresse A est accédée à un moment t, il est très probable qu'elle soit à nouveau accédée aux moments t+1, t+2, et ainsi de suite. Afin de minimiser les temps d'accès futurs, cette donnée est copiée dans la mémoire cache. De même, le principe de localité spatiale indique que si une donnée à l'adresse A est accédée à un moment t, il est très probable que les données aux adresses voisines (A+1, A+2, etc.) soient également accédées aux moments suivants. #### 11.4.3 Les niveaux de la mémoire cache La mémoire cache sur plusieurs niveaux, de L1 à L3, est une architecture de mémoire hiérarchique utilisée pour accélérer l'accès aux données dans les systèmes informatiques. Chaque niveau de cache, du plus proche au processeur (L1) au plus élo

Use Quizgecko on...
Browser
Browser