Quand quelqu'un emploie le terme "mémoire," ils se réfèrent typiquement au stockage de données fourni par les morceaux consacrés situés sur la carte mère. Le stockage que ces morceaux fournissent désigné souvent sous le nom de la mémoire à accès sélective (RAM), de la mémoire centrale, et du stockage primaire. En arrière dans l'âge de fer, quand les unités centrales ont marché la terre, ce s'est appelé le noyau. Le stockage fourni par ces morceaux est volatil, qui doit dire que des données dans les morceaux sont perdues quand le courant est coupé.
Il y a de divers types de RAM :
DRACHME
SDRAM
|
|
SRAM
VRAM
La RAM dynamique (DRACHME) doit être des milliers rechargés de périodes chaque seconde. La DRACHME synchrone (SDRAM) est régénérée à la fréquence d'horloge à laquelle le processeur court le plus efficacement. La RAM statique (SRAM) n'a pas besoin d'être régénérée comme la DRACHME, et ceci le rend beaucoup plus rapide. Malheureusement, SRAM est également beaucoup plus cher que la DRACHME et est employé économiquement. SRAM tend à être employé dans des cachettes de processeur et la DRACHME tend à être employée pour la mémoire en gros. En conclusion, il y a la RAM visuelle (VRAM), qui est une région de mémoire employée par le matériel visuel.
Les avances récentes en technologie et optimisations spéciales mises en application par certains fabricants ont mené à un certain nombre d'acronymes additionnels. Voici un couple d'elles :
DDR SDRAM
RDRAM
ESDRAM
DDR SDRAM représente la double mémoire à accès sélective dynamique synchrone de débit. Avec DDR SDRAM, des données sont lues sur la montée et tomber du coutil d'horloge de système, doublant fondamentalement la largeur de bande normalement disponible. RDRAM est abréviation la DRACHME de Rambus, une version à rendement élevé de DRACHME vendue par Rambus qui peut transférer des données à 800 mégahertz. La DRACHME synchrone augmentée (ESDRAM), construite par les systèmes augmentés de mémoire, fournit une manière de remplacer SRAM avec SDRAM meilleur marché.
Un peu est un élément binaire simple (c.-à-d., un 1 ou un 0). Un peu dans une pastille à MÉMOIRE VIVE est fondamentalement une structure de cellules dont se compose, selon le type de RAM, une certaine configuration des transistors et des condensateurs. Chaque cellule est un commutateur numérique sur lequel peut ou être ou au loin (c.-à-d., 1 ou 0). Ces cellules sont groupées dans des bytes de 8 bits d'appel d'unités. Le byte est l'unité fondamentale pour mesurer la quantité de mémoire fournie par un dispositif de stockage. En premières années, les fournisseurs de matériel avaient l'habitude de mettre en application différentes tailles de byte. Un fournisseur emploierait un hexet et des autres emploieraient un byte de 16 bits. La norme de fait que chacun semble respecter aujourd'hui, cependant, est l'octet.
Il y a toute une série de métrique byte-basée pour indiquer la taille d'une région de mémoire :
1 byte = 8 bits
1 mot = 2 bytes
1 double mot = 4 bytes
1 mot de quadruple = 8 bytes
1 mot octal = 8 bytes
1 paragraphe = 16 bytes
1 kilo-octet (KB) = 1.024 bytes
1 méga-octet (mb) = 1,024KB = 1.048.576 bytes
1 gigaoctet (gigaoctet) = 1,024MB = 1.073.741.824 bytes
1 Terabyte (TB) = 1,024GB = 1.099.511.627.776 bytes
1 petabyte (PB) = 1,024TB = 1.125.899.906.842.624 bytes
| Note | Dans les années 80, avoir un méga-octet de DRACHME était une affaire. Les gosses avaient l'habitude d'emmerder leurs parents pour des mises à niveau de la mémoire 16KB ainsi leur Atari 400s pourrait jouer de plus grands jeux. Lorsque, avoir seulement un méga-octet n'était pas un problème significatif parce que des ingénieurs tend à programmer en code d'assemblée et à établir des programmes très petits. En fait, cette citation 1981 est souvent attribuée à Bill Gates : "640K doit être assez pour quiconque." |
Aujourd'hui, la plupart des machines de développement ont au moins 128MB de DRACHME. En 2002, avoir 256MB semble être la norme. Dix ans dès maintenant, un gigaoctet pourrait être la quantité standard de DRACHME (si nous employons toujours la DRACHME). Si tout va bien, quelqu'un ne me citera pas.
La RAM n'est pas le seul endroit pour stocker des données, et c'est ce qui nous mène à la hiérarchie de mémoire. La gamme des différents endroits qui peuvent être employés pour stocker l'information peut être commandée selon leur proximité au processeur. Ceci qui passe commande produit la hiérarchie suivante :
Registres
Cachette
RAM
Mémoire à disque
La distinction primaire entre ces zones de stockage est leur latence de mémoire, ou temps de latence. Le stockage plus près du processeur prend moins de temps d'accéder que le stockage qui est davantage de parti. La latence expérimentée dans des données d'accès sur une commande dure est beaucoup plus grande que la latence qui se produit quand le processeur accède à la mémoire dans sa cachette. Par exemple, la latence de DRACHME tend à être mesurée en nanosecondes. La latence d'unité de disques, cependant, tend à être mesurée en millisecondes !
Les registres sont de petits espaces mémoire qui sont situés dans le processeur lui-même. Les registres sont la zone de travail préférée d'un processeur. La majeure partie du travail de jour en jour du processeur est effectuée sur des données dans les registres. Les données mobiles à partir d'un registre à l'autre sont la manière la plus avantageuse simple de déplacer des données.
Les Software Engineers concevant des compilateurs sauteront par toutes les sortes de cercles juste pour maintenir des variables et des constantes dans les registres. Avoir un grand nombre de registres permet à plus de l'état d'un programme d'être stocké dans le processeur lui-même et de réduire la latence de mémoire. Le processeur MIPS64 a 32, inscriptions 64-bit et d'usage universel à cette raison même. L'Itanium, morceau 64-bit de la prochaine génération d'Intel, va une étape plus loin et a littéralement des centaines de registres.
Le processeur de Pentium d'Intel a un ensemble divers de registres. Il y a de six, de 16 bits, des registres de segment (CS, DS, es, FS, GS, solides solubles). Il y a de huit, les registres de 32 bits et d'usage universel (EAX, EBX, ECX, EDX, ESI, EDI, EBP, EN PARTICULIER). Il y a également un registre de 32 bits de drapeau d'erreur (EFLAGS) pour signaler les problèmes et un indicateur d'instruction de 32 bits (EIP).
Des fonctions avançées de gestion de mémoire sont facilitées par quatre registres de système (GDTR, LDTR, IDTR, TR) et cinq compteurs d'instruction de mode (CR0, CR1, CR2, CR3, CR4).
| Note | Il est intéressant de noter comment la collection du Pentium de registres a été contrainte par les forces historiques. La condition de conception exigeant la compatibilité en arrière a eu comme conséquence le Pentium ayant seulement quelques plus de registres que les 8086. |
Une cachette fournit la mémoire temporaire qui peut être consultée plus vite que la DRACHME. En plaçant informatique les parties intensives d'un programme dans la cachette, le processeur peut éviter les frais généraux de devoir continuellement accéder à la DRACHME. L'épargne peut être dramatique. Il y a différents types de cachettes. Une cachette L1 est un espace mémoire qui est situé sur le processeur lui-même. Une cachette L2 est typiquement un morceau de SRAM en dehors de du processeur (par exemple, les bateaux de Pentium d'Intel 4 avec des 256 ou 512KB L2 ont avancé la cachette de transfert).
| Note | Si vous essayez de optimiser le code qui s'exécute dans la cachette, vous devriez éviter des appels de fonction inutiles. Un appel à une fonction éloignée exige du processeur d'exécuter le code qui se trouve en dehors de la cachette. Ceci fait recharger la cachette. C'est une raison pour laquelle certains compilateurs de C vous offrent l'option de produire des fonctions intégrées. L'autre côté de la pièce de monnaie est qu'un programme qui emploie des fonctions intégrées sera beaucoup plus grand qu'un qui pas . La différence de taille-contre-vitesse est un acte d'équilibrage qui élève sa informatique de tête partout. |
La mémoire à disque est l'option du dernier recours. Traditionnellement, l'espace disque a été employé pour créer la mémoire virtuelle. La mémoire virtuelle est la mémoire qui est simulée en employant l'espace disque. En d'autres termes, des parties de la mémoire, normalement stockées en DRACHME, sont écrites au disque de sorte que la quantité de mémoire que le processeur peut accéder soit plus grande que la quantité réelle de mémoire physique. Par exemple, si vous avez 10MB de DRACHME et vous employez 2MB d'espace disque pour simuler la mémoire, le processeur peut alors accéder à 12MB de mémoire virtuelle.
Employer la mémoire virtuelle est comme faire une affaire avec le diable. Sûr, vous obtiendrez un bon nombre de mémoire supplémentaire, mais vous payerez un coût terrible en termes d'exécution. Le disque I/O implique une série entière d'actions obligatoires, dont certaines sont mécaniques. On l'estime que la pagination sur Windows représente approximativement 10% de temps d'exécution. La mémoire virtuelle de gestion exige beaucoup de comptabilité de la part du processeur.
La mémoire à disque a toujours été meilleur marché que la RAM. En arrière dans les années 60 quand 8KB de RAM était un grand investissement, l'utilisation du disque pour créer la mémoire virtuelle s'est probablement comprise. Aujourd'hui, cependant, l'anomalie de coût entre la DRACHME et les unités de disques n'est pas aussi significative qu'elle était de retour alors. Acheter une machine avec 512MB de SDRAM n'est pas inconnu. Il pourrait être que la mémoire virtuelle deviendra une relique complète ou mis en application en tant que certaine sorte de sauvegarde de secours.
Online: 432 users browsing the articles directory
|
|