![Photo](/uploads/4/5/6/9/45695089/published/mark1c.jpg?1487080000)
La miniaturisation est passée par plusieurs étapes, en effet les documents physique prenaient une certaine place sur un bureau, et on été dématérialisées, elles sont dites immatériel et sont toutes concentrées dans un ou plusieurs dossiers virtuel eux même contenus dans un stockage informatique (un support matériel) tels que les disques durs. Il y a encore bien plus pratique comme les clés USB ou les disques durs externes permettant de facilement transporter ces informations partout ou on le souhaite.
1-Les différents types de mémoires
a) Les mémoires
Avant de miniaturiser un produit, il faut un produit initial, ici nous parlerons d'une forme de stockage informatique, une clé USB, un disque dur ... Ceci n'a été possible qu'avec les progrès technologiques.
L'ordinateur est lui aussi un bon exemple de la miniaturisation. Les premiers ordinateurs de 1940 remplissaient chacun une salle de plusieurs dizaines de mètres cubes, pesaient plusieurs tonnes et étaient composés de milliers de tubes électroniques.
Aujourd'hui, les ordinateurs tiennent sur un bureau et sont portatifs.
L’intérêt de la miniaturisation est de réduire l'espace occupé par le produit pour qu'il soit plus pratiques d'utilisation.
Mais la taille du produit n'est pas la seule chose réduite ; il y a également le poids (le produit est allégé), la consommation d'énergie car le dispositif électronique, moins gourmand en énergie, est plus petit et la technologie a évolué.
La miniaturisation permet aussi la création d'appareils multifonctionnels car les composants électroniques du dispositif sont réduits et laissent plus de place à d'autres composants permettant l'ajout d'autre fonctions ; c'est le cas des smartphones et des objets connectés qui sous un petit volume sont bien plus puissants que les PC de 1980.
L'enregistrement de l'information sur un support physique permet à l'ordinateur de la stocker dans sa mémoire virtuelle.
La mémoire est un composant essentiel, présent dans tous les ordinateurs, les consoles de jeux, les GPS et de nombreux appareils électroniques.
Les mémoires sont vendues sous forme de pièces détachées de matériel informatique, ou de composants électroniques. Les différences entre les pièces sont la forme, l'usage qui en est fait, la technologie utilisée, la vitesse de transfert, la capacité de stockage et le rapport entre le coût et la capacité.
On distingue différents types de mémoires :
-La mémoire de masse est une mémoire de très grande capacité, qui n'est pas dite "volatile", c'est à dire que lorsque l'ordinateur est éteint, ce dernier n'efface pas les données de votre support, de plus les supports de la mémoire de masse permettent une lecture et une écriture de l'information infinie. Plusieurs critères entrent dans le choix d'une mémoire de masse :
-Combien de fois va t-on se servir de ce support ?
-Quelle est la vitesse de lecture/écriture ?
-Combien de Giga ou Tera octets à t-on besoin ?
-La mémoire vive (aussi appelée RAM pour Random Acess Memory - mémoire à accès aléatoire) permet de stocker les informations dont l'ordinateur a besoin rapidement et dont il se sert souvent. Lorsque vous ouvrez un programme, celui-ci est stocké dans la mémoire vive de votre ordinateur, qui dispose d'un accès beaucoup plus rapide que le disque dur. Pourquoi ne pas avoir utilisé de la mémoire vive dans ce cas pour stocker les données ? C'est très simple : la mémoire vive est volatile contrairement aux disques durs, clé USB ... Une simple perte de courant et elle perd toutes ses informations ! De plus, son coût et son encombrement sont bien plus élevés que ceux d'un disque dur.
-La mémoire morte, (en anglais, Read-Only Memory : ROM) désigne une mémoire informatique non volatile dont le contenu a été fixé lors de sa programmation, elle peut seulement être lue par l'ordinateur, mais ne peux plus être modifiée ( ou dans le meilleur des cas très difficilement ). Les mémoires mortes ne sont pas considérées comme mémoire de masse. Pour simplifier, la mémoire morte "dit" à l'ordinateur tout ce qu'il doit faire lors de son démarrage.
-La mémoire cache est une mémoire rapide pouvant aller de 512ko jusqu'à 32Mo. Cette mémoire peut stocker temporairement toutes les données que le microprocesseur va devoir traiter. Cette mémoire peut êtres située aussi bien dans un processeur que dans un disque dur ou encore dans la carte mère.La particularité de la mémoire cache est quelle duplique l'information reçue. La mémoire cache possède alors une copie de donnée à accès tres rapide. Lorsque une donnée est stockée par la mémoire cache, l'utilisation de la donnée sera réalisé à l'aide de la copie plutôt que par l'original
-La mémoire virtuelle est un espace réservé sur un disque dur ou la mémoire vive va stocker temporairement des données lorsque elle est surchargée. Cela à pour effet de faire fonctionner l'ordinateur comme si il avait une plus grande quantité de mémoire vive. Cela explique le nom de la mémoire dîte virtuelle. Mais en contrepartie, cette opération ralentit fortement l'ordinateur.
1-Les différents types de mémoires
a) Les mémoires
Avant de miniaturiser un produit, il faut un produit initial, ici nous parlerons d'une forme de stockage informatique, une clé USB, un disque dur ... Ceci n'a été possible qu'avec les progrès technologiques.
L'ordinateur est lui aussi un bon exemple de la miniaturisation. Les premiers ordinateurs de 1940 remplissaient chacun une salle de plusieurs dizaines de mètres cubes, pesaient plusieurs tonnes et étaient composés de milliers de tubes électroniques.
Aujourd'hui, les ordinateurs tiennent sur un bureau et sont portatifs.
L’intérêt de la miniaturisation est de réduire l'espace occupé par le produit pour qu'il soit plus pratiques d'utilisation.
Mais la taille du produit n'est pas la seule chose réduite ; il y a également le poids (le produit est allégé), la consommation d'énergie car le dispositif électronique, moins gourmand en énergie, est plus petit et la technologie a évolué.
La miniaturisation permet aussi la création d'appareils multifonctionnels car les composants électroniques du dispositif sont réduits et laissent plus de place à d'autres composants permettant l'ajout d'autre fonctions ; c'est le cas des smartphones et des objets connectés qui sous un petit volume sont bien plus puissants que les PC de 1980.
L'enregistrement de l'information sur un support physique permet à l'ordinateur de la stocker dans sa mémoire virtuelle.
La mémoire est un composant essentiel, présent dans tous les ordinateurs, les consoles de jeux, les GPS et de nombreux appareils électroniques.
Les mémoires sont vendues sous forme de pièces détachées de matériel informatique, ou de composants électroniques. Les différences entre les pièces sont la forme, l'usage qui en est fait, la technologie utilisée, la vitesse de transfert, la capacité de stockage et le rapport entre le coût et la capacité.
On distingue différents types de mémoires :
-La mémoire de masse est une mémoire de très grande capacité, qui n'est pas dite "volatile", c'est à dire que lorsque l'ordinateur est éteint, ce dernier n'efface pas les données de votre support, de plus les supports de la mémoire de masse permettent une lecture et une écriture de l'information infinie. Plusieurs critères entrent dans le choix d'une mémoire de masse :
-Combien de fois va t-on se servir de ce support ?
-Quelle est la vitesse de lecture/écriture ?
-Combien de Giga ou Tera octets à t-on besoin ?
-La mémoire vive (aussi appelée RAM pour Random Acess Memory - mémoire à accès aléatoire) permet de stocker les informations dont l'ordinateur a besoin rapidement et dont il se sert souvent. Lorsque vous ouvrez un programme, celui-ci est stocké dans la mémoire vive de votre ordinateur, qui dispose d'un accès beaucoup plus rapide que le disque dur. Pourquoi ne pas avoir utilisé de la mémoire vive dans ce cas pour stocker les données ? C'est très simple : la mémoire vive est volatile contrairement aux disques durs, clé USB ... Une simple perte de courant et elle perd toutes ses informations ! De plus, son coût et son encombrement sont bien plus élevés que ceux d'un disque dur.
-La mémoire morte, (en anglais, Read-Only Memory : ROM) désigne une mémoire informatique non volatile dont le contenu a été fixé lors de sa programmation, elle peut seulement être lue par l'ordinateur, mais ne peux plus être modifiée ( ou dans le meilleur des cas très difficilement ). Les mémoires mortes ne sont pas considérées comme mémoire de masse. Pour simplifier, la mémoire morte "dit" à l'ordinateur tout ce qu'il doit faire lors de son démarrage.
-La mémoire cache est une mémoire rapide pouvant aller de 512ko jusqu'à 32Mo. Cette mémoire peut stocker temporairement toutes les données que le microprocesseur va devoir traiter. Cette mémoire peut êtres située aussi bien dans un processeur que dans un disque dur ou encore dans la carte mère.La particularité de la mémoire cache est quelle duplique l'information reçue. La mémoire cache possède alors une copie de donnée à accès tres rapide. Lorsque une donnée est stockée par la mémoire cache, l'utilisation de la donnée sera réalisé à l'aide de la copie plutôt que par l'original
-La mémoire virtuelle est un espace réservé sur un disque dur ou la mémoire vive va stocker temporairement des données lorsque elle est surchargée. Cela à pour effet de faire fonctionner l'ordinateur comme si il avait une plus grande quantité de mémoire vive. Cela explique le nom de la mémoire dîte virtuelle. Mais en contrepartie, cette opération ralentit fortement l'ordinateur.
b) Une unité universelle
Nous ne l'avons pas dit, mais ces trois mémoires on en commun une unité, Le bit: L'informatique à pour grandeur de base le bit (binary digit), c'est l'unité la plus simple dans un système de numération a pour valeur soit 0 soit 1. On peut peut associé le 0 à "on","vrai" ou encore "marche" et le 1 à "off", "faux" et "arrêt".
Le binaire permet également de coder des nombres, des textes avec une transcription convenue comme le code ASCII mais aussi coder une adresse informatique qui est par exemple la place d'un nombre dans l'emplacement de mémoire.
On les notes :
b) Une unité universelle
Nous ne l'avons pas dit, mais ces trois mémoires on en commun une unité, Le bit: L'informatique à pour grandeur de base le bit (binary digit), c'est l'unité la plus simple dans un système de numération a pour valeur soit 0 soit 1. On peut peut associé le 0 à "on","vrai" ou encore "marche" et le 1 à "off", "faux" et "arrêt".
Le binaire permet également de coder des nombres, des textes avec une transcription convenue comme le code ASCII mais aussi coder une adresse informatique qui est par exemple la place d'un nombre dans l'emplacement de mémoire.
On les notes :
Un document sur l'ordinateur est en faite un ensemble de bits assemblés par 8, appelés octet ou Byte ( en anglais) formant ce qu'on appelle un "mot binaire". Le langage binaire est le seul langage que l'ordinateur comprend. Il contient de très nombreux bits, on simplifie alors cette grandeur en utilisant des multiple de l'octet.
Ces conversions sont très utiles pour exprimer la taille d'un document. Mais elles ne sont pas exactes car les anciennes normes veulent que les unités de mesures soient des puissances de 2 (4, 8, 16, 32, 64, 128, 256, 512, 1024...) ou 1 Kio est égale à 1024 octets par exemple. Les unités sont alors différentes.
Le bit peut être associé à une unité de vitesse pour mesurer un débit, on le note bit/s. L'octet est un ensemble de 8 bits (ou "Byte" dans la définition anglaise de l'octet).
Contrairement au bit qui se note b , le Byte s'écrit avec un B majuscule. Il ne faut donc pas confondre les deux.
Contrairement au bit qui se note b , le Byte s'écrit avec un B majuscule. Il ne faut donc pas confondre les deux.
c) Un langage propre à l'informatique
Le langage binaire est celui avec lequel fonctionne l'ordinateur. Il utilise seulement deux chiffes, 0 et 1 pour faire des nombres.
Le chiffre : 0 correspond à 0 en binaire
1 1
2 10
3 11
4 100
5 101
6 110
7 111
8 1000
9 1001
Avec un bit, on peut obtenir 2 nombres différents, 1 ou 0. On peut noter que cette information élémentaire de 2 possibilités s'appelle le Bit.
Avec 2 bits on peut obtenir 4 nombres différents soit 2 x 2
Avec 3 bits on peut obtenir 8 nombres différents soit 2 x 2 x 2
Ainsi de suite .........
On met alors ces nombres sous forme de puissances ce qui donne :
Pour un bit: 2^1
Pour deux bits : 2^2
Pour trois bits : 2^3
L'octet à pour nombre 2^8 car un octet est un groupe de 8 bits soit au final égale à 256 possibilités.
On peut alors calculer le nombre de possibilités par la formule 2^n ou "n" est le nombre de bits.
Exemple
On a 5 bits et je veux savoir le nombre de possibilités de coder quelque chose, on a 2*5 = 32 possibilités
Les nombres binaires peuvent eux aussi êtres additionnés, multipliés, divisés et soustrais.
Exemple addition
1
10 <==== 2
+ 11 <==== 3
_ _ _ _ _
101 <====5
Ici on a 1 + 1 ce qui fait deux, or en binaire 2 n'existe pas mais 2 donne en binaire 10. Donc on pose 0 et on retient 1. On pose un chiffre uniquement lorsque l'addition dépasse 1.
10 en décimale donne 2 et 11 donne 3, donc le résultat sera logiquement 5, ce qui est le cas car 101 est bien en binaire le chiffre 5.
La multiplication est très simple, il suffit de connaître la table de multiplication qui est :
- 0x0=0
- 0x1=0
- 1x0=0
- 1x1=1
On applique ensuite une multiplication classique.
Exemple multiplication
10 <=== 2
x 100<===4
- - - - - -
0
00
1000
1000 <=== 8
Ici 10 en binaire est égale à 2 et 100 est égale à 4
Le résultat est 1000 en binaire et donc en décimal, il est égal à 8 ce qui est logique car 2x4 est égale à 8. On remarque donc que les tables de multiplications en décimal se retrouves en binaire .
Le langage binaire est celui avec lequel fonctionne l'ordinateur. Il utilise seulement deux chiffes, 0 et 1 pour faire des nombres.
Le chiffre : 0 correspond à 0 en binaire
1 1
2 10
3 11
4 100
5 101
6 110
7 111
8 1000
9 1001
Avec un bit, on peut obtenir 2 nombres différents, 1 ou 0. On peut noter que cette information élémentaire de 2 possibilités s'appelle le Bit.
Avec 2 bits on peut obtenir 4 nombres différents soit 2 x 2
Avec 3 bits on peut obtenir 8 nombres différents soit 2 x 2 x 2
Ainsi de suite .........
On met alors ces nombres sous forme de puissances ce qui donne :
Pour un bit: 2^1
Pour deux bits : 2^2
Pour trois bits : 2^3
L'octet à pour nombre 2^8 car un octet est un groupe de 8 bits soit au final égale à 256 possibilités.
On peut alors calculer le nombre de possibilités par la formule 2^n ou "n" est le nombre de bits.
Exemple
On a 5 bits et je veux savoir le nombre de possibilités de coder quelque chose, on a 2*5 = 32 possibilités
Les nombres binaires peuvent eux aussi êtres additionnés, multipliés, divisés et soustrais.
Exemple addition
1
10 <==== 2
+ 11 <==== 3
_ _ _ _ _
101 <====5
Ici on a 1 + 1 ce qui fait deux, or en binaire 2 n'existe pas mais 2 donne en binaire 10. Donc on pose 0 et on retient 1. On pose un chiffre uniquement lorsque l'addition dépasse 1.
10 en décimale donne 2 et 11 donne 3, donc le résultat sera logiquement 5, ce qui est le cas car 101 est bien en binaire le chiffre 5.
La multiplication est très simple, il suffit de connaître la table de multiplication qui est :
- 0x0=0
- 0x1=0
- 1x0=0
- 1x1=1
On applique ensuite une multiplication classique.
Exemple multiplication
10 <=== 2
x 100<===4
- - - - - -
0
00
1000
1000 <=== 8
Ici 10 en binaire est égale à 2 et 100 est égale à 4
Le résultat est 1000 en binaire et donc en décimal, il est égal à 8 ce qui est logique car 2x4 est égale à 8. On remarque donc que les tables de multiplications en décimal se retrouves en binaire .
Pour la soustraction, il faut connaître les règles suivantes:
- Règle n° 1 : 0 - 0 = 0 ;
- Règle n° 2 : 1 - 1 = 0 ;
- Règle n° 3 : 1 - 0 = 1 ;
- Règle n° 4 : 0 - 1 = 1 avec retenue.
Exemple de soustraction
1
1001 =9
- 101 =5
- - - - - - -
0100 =4
Ici on remarque qu'il y a 0-1, le résultat est 1 mais il ne faut pas oublier la retenue qui est 1
Comme 1001 est égale à 9 et 101 à 5; il est logique que nous retrouvons 100 qui est égale à 4
La division binaire
La pour effectuer une division binaire il faut savoir soustraire aussi en binaire. La méthode est identique qu'avec des nombres décimaux.
On sait qu'une quelconque opération en binaire donne le même résultat que si on remplacais les nombres binaires par des nombres décimaux. Par exemple, 1010/10 = 10/2, on doit trouver 5 qui est en binaire est 101.
- Règle n° 1 : 0 - 0 = 0 ;
- Règle n° 2 : 1 - 1 = 0 ;
- Règle n° 3 : 1 - 0 = 1 ;
- Règle n° 4 : 0 - 1 = 1 avec retenue.
Exemple de soustraction
1
1001 =9
- 101 =5
- - - - - - -
0100 =4
Ici on remarque qu'il y a 0-1, le résultat est 1 mais il ne faut pas oublier la retenue qui est 1
Comme 1001 est égale à 9 et 101 à 5; il est logique que nous retrouvons 100 qui est égale à 4
La division binaire
La pour effectuer une division binaire il faut savoir soustraire aussi en binaire. La méthode est identique qu'avec des nombres décimaux.
On sait qu'une quelconque opération en binaire donne le même résultat que si on remplacais les nombres binaires par des nombres décimaux. Par exemple, 1010/10 = 10/2, on doit trouver 5 qui est en binaire est 101.
Avec le binaire, on peut tout faire ! Diviser, multiplier ... mais pas seulement ! Un ordinateur nous permet aussi de lire des informations sur un logiciel ou sur internet, d'écrire ...
Le langage de l'ordinateur se compose de 1 et de 0 ce qui rend la compréhension de celui-ci très compliqué pour un homme. Pour programmer afin de développer un logiciel ou un site internet par exemple, on utilise un code source. Ce code source sera ensuite "traduit" en binaire grâce à un compilateur afin de faire comprendre à l'ordinateur ce qu'on lui demande.
Code source: Un code source est un texte regroupant des instructions de programme écrit par un programmeur. Il est généralement fabriqué avec un ensemble de fichiers textes. Ces instructions sont écrites dans le langage de programmation qui permet d'être plus facilement compris par les humains que le langage binaire. Ce code va par la suite permettre de générer la représentation binaires du code source qui va alors pouvoir être exécuté par un microprocesseur.
Le langage de l'ordinateur se compose de 1 et de 0 ce qui rend la compréhension de celui-ci très compliqué pour un homme. Pour programmer afin de développer un logiciel ou un site internet par exemple, on utilise un code source. Ce code source sera ensuite "traduit" en binaire grâce à un compilateur afin de faire comprendre à l'ordinateur ce qu'on lui demande.
Code source: Un code source est un texte regroupant des instructions de programme écrit par un programmeur. Il est généralement fabriqué avec un ensemble de fichiers textes. Ces instructions sont écrites dans le langage de programmation qui permet d'être plus facilement compris par les humains que le langage binaire. Ce code va par la suite permettre de générer la représentation binaires du code source qui va alors pouvoir être exécuté par un microprocesseur.
Pour passer du langage binaire, au code source, le compilateur est très important. ce dernier traduit le code source en binaire pour rendre les lignes de codes compréhensible pour le microprocesseur.
Compilateur:
Le principe qui consiste à passer du langage de programmation aux langage binaire s'appelle la compilation. Cette compilation se fait par un compilateur. Ce compilateur est en faite un programme informatique réalisant ce procédé. Le compilateur passe par plusieurs étapes:
-analyse lexicale: cette étape consiste à décomposer une chaine de caractères dans une unités lexicales appelée lexèmes.
-pré-traitement: Il s'agit d'un programme qui procède à des transformations sur un code source, avant la compilation
-analyse syntaxique: Elle sert à mettre en évidence la structure d'un texte, le plus souvent il s'agit de phrase écrites en langage naturel. Elle permet aussi l'analyse d'un programme informatique.
-analyse sémantique: Cette étape établit une signification d'un message grâce aux sens des éléments du texte.
-Génération de code: Cette étape transforme l'arbre syntaxique abstrait qui contient beaucoup d'information sémantiques en code binaire spécialisé pour la plateforme cible.
Le programme compilé est exécutable sur un ordinateur dont sont processeur n'est pas pas similaire à celui du compilateur. On appelle cela une compilation croisée et celle-ci est souvent précédé d'une étape d'édition des liens.
-édition des liens: Cette étape consiste à fabriquer une image mémoire qui contient toutes les parties de code compilées séparément.
L’édition des liens lie les fichiers d'objets avec les fichiers pré-compilées d'une ou plusieurs bibliothèques.
Il existe deux options de compilations:
-La compilation AOT (Ahead-of-time ) ou la compilation se fait avant le lancement de l'application. C'est l'option la plus fréquente
-La compilation à la volée (Just-in-Time), c'est à dire que
Compilateur:
Le principe qui consiste à passer du langage de programmation aux langage binaire s'appelle la compilation. Cette compilation se fait par un compilateur. Ce compilateur est en faite un programme informatique réalisant ce procédé. Le compilateur passe par plusieurs étapes:
-analyse lexicale: cette étape consiste à décomposer une chaine de caractères dans une unités lexicales appelée lexèmes.
-pré-traitement: Il s'agit d'un programme qui procède à des transformations sur un code source, avant la compilation
-analyse syntaxique: Elle sert à mettre en évidence la structure d'un texte, le plus souvent il s'agit de phrase écrites en langage naturel. Elle permet aussi l'analyse d'un programme informatique.
-analyse sémantique: Cette étape établit une signification d'un message grâce aux sens des éléments du texte.
-Génération de code: Cette étape transforme l'arbre syntaxique abstrait qui contient beaucoup d'information sémantiques en code binaire spécialisé pour la plateforme cible.
Le programme compilé est exécutable sur un ordinateur dont sont processeur n'est pas pas similaire à celui du compilateur. On appelle cela une compilation croisée et celle-ci est souvent précédé d'une étape d'édition des liens.
-édition des liens: Cette étape consiste à fabriquer une image mémoire qui contient toutes les parties de code compilées séparément.
L’édition des liens lie les fichiers d'objets avec les fichiers pré-compilées d'une ou plusieurs bibliothèques.
Il existe deux options de compilations:
-La compilation AOT (Ahead-of-time ) ou la compilation se fait avant le lancement de l'application. C'est l'option la plus fréquente
-La compilation à la volée (Just-in-Time), c'est à dire que
Un peu d'histoire ...
Le langage assembleur était le premiers des logiciels des premiers ordinateurs. Le développement des compilateur à été confrontés à plusieurs problèmes techniques, plus particulièrement dus à la faible capacité de mémoires des premiers ordinateurs.
Le premier compilateur dit "auto-hébergé" est crées en 1962. Ce compilateur était capable de compiler son propre code source en langage de haut niveau.
Le langage assembleur était le premiers des logiciels des premiers ordinateurs. Le développement des compilateur à été confrontés à plusieurs problèmes techniques, plus particulièrement dus à la faible capacité de mémoires des premiers ordinateurs.
Le premier compilateur dit "auto-hébergé" est crées en 1962. Ce compilateur était capable de compiler son propre code source en langage de haut niveau.