logo Prof-TC.png
Des cours, des TP, des exercices corrigés pour les élèves du lycée
Recherche
SECONDE - PC
SCIENCES PREMIERE
SCIENCES TERMINALE
PREMIERE PC
SCIENCES & LABO
ANCIENNES TS
KHOLLES MPSI
Architecture du PC
Description de base
Un ordinateur peut se décrire à plusieurs échelles:
  • Echelle du nanomètre: plusieurs millions de transistors qui produisent des tensions électriques hautes (bit = 1) ou basses (bit = 0)
  • Echelle plus grande du microprocesseur qui effectue des opérations arithmétiques (addition, multiplication) et logiques (et, ou, etc.) à partir de données enregistrées dans sa mémoire vive (RAM).
  • Echelle encore plus grande, l'ordinateur est une machine capable d'exécuter des programmes écrits dans un langage simple appelé le langage machine. Les langages machines sont difficiles à comprendre par les humains, car les programmes exprimés dans ce langage sont des suites de 0 ou de 1. On a créé 3 niveaux de langage plus simples:
            - Les langages d'assemblage.
            - Les langages de haut niveau.
            - Les langages évolués
Le langage d'assemblage reprend la structure du langage machine mais utilise des symboles ou étiquette plus facile à comprendre.

Le langage d'assemblage (ou assembleur) est trop compliqué pour le commun des mortels, on utilise des langages de programmation plus simples dit de haut niveau comme le langage Java ou C. Ces langages sont traduits par un compilateur en assembleur puis en langage machine.

Le langage évolué n'est pas un langage d'assemblage mais est interprété. Il n'a pas besoin d'être compilé.

1- Généralités

1.1- Introduction

L'informatique, contraction d'information et automatique, est la science du traitement de l'information.
 
Apparue au milieu du 20ème siècle, elle a connu une évolution extrêmement rapide.

A sa motivation initiale qui était de faciliter et d'accélérer le calcul, se sont ajoutées de nombreuses fonctionnalités, comme l'automatisation, le contrôle et la commande de processus, la communication ou le partage de l'information.

Le cours d’architecture des systèmes à microprocesseurs expose les principes de base du traitement programmé de l’information. La mise en œuvre de ces systèmes s’appuie sur deux modes de réalisation distincts, le matériel et le logiciel. Le matériel (hardware) correspond à l’aspect concret du système : unité centrale, mémoire, organes d’entrées-sorties, etc… Le logiciel (software) correspond à un ensemble d’instructions, appelé programme, qui sont contenues dans les différentes mémoires du système et qui définissent les actions effectuées par le matériel.

 
1.2- Qu’entend-t-on par architecture ?

L'architecture d'un système à microprocesseur représente l’organisation de ses différentes unités et de leurs interconnexions.

Le choix d'une architecture est toujours le résultat d'un compromis entre:
  • Performances et coûts
  • Efficacité et facilité de construction
  • Performances d'ensemble et facilité de programmation
  • Etc....


1.3- Qu’est ce qu’un microprocesseur ?

Un microprocesseur est un circuit intégré complexe. Il résulte de l’intégration sur une puce de fonctions logiques combinatoires (logiques et/ou arithmétique) et séquentielles (registres, compteur, etc…). Il est capable d'interpréter et d'exécuter les instructions d'un programme.

Le concept de microprocesseur a été créé par la Société Intel, qui donna naissance, en 1971, au premier microprocesseur, le 4004, qui était une unité de calcul 4 bits fonctionnant à 108 kHz. Il résultait de l’intégration d’environ 2300 transistors.


 

Processeur.png

1.4- Où trouve-t-on des systèmes à microprocesseur ?

Les applications des systèmes à microprocesseurs sont multiples et variées :
  • Ordinateur, PDA
  • Console de jeux
  • Calculatrice
  • Télévision
  • Téléphone portable
  • Distributeur automatique d’argent
  • Robotique
  • Lecteur carte à puce, code barre
  • Automobile
  • Instrumentation
  • Etc....


2- Architecture de base
 


2.1- Modèle de Von Neumann

Pour traiter une information, un microprocesseur seul ne suffit pas, il faut l’insérer au sein d’un système minimum de traitement programmé de l’information. John Von Neumann est à l'origine d'un modèle de machine universelle de traitement programmé de l’information (1946).

Cette architecture sert de base à la plupart des systèmes à microprocesseur actuel. Elle est composée des éléments suivants :
  • Une unité centrale
  • Une mémoire principale
  • Des interfaces d’entrées/sorties
     
Von Neuman.png

Les différents organes du système sont reliés par des voies de communication appelées bus.

2.2- L’unité centrale

Elle est composée par le microprocesseur qui est chargé d’interpréter et d’exécuter les instructions d’un programme, de lire ou de sauvegarder les résultats dans la mémoire et de communiquer avec les unités d’échange. Toutes les activités du microprocesseur sont cadencées par une horloge.

On caractérise le microprocesseur par :
  • Sa fréquence d’horloge : en MHz ou GHz
  • Le nombre d’instructions par secondes qu’il est capable d’exécuter
  • La taille des données qu’il est capable de traiter : en bits

2.3 La mémoire principale

Elle contient les instructions du ou des programmes en cours d’exécution et les données associées à ce programme. Physiquement, elle se décompose souvent en :
  • Une mémoire morte ( ROM = Read Only Memory ) chargée de stocker le programme. C’est une mémoire à lecture seule.
  • Une mémoire vive ( RAM = Random Access Memory ) chargée de stocker les données intermédiaires ou les résultats de calculs. On peut lire ou écrire des données dedans, ces données sont perdues à la mise hors tension.

Remarque: Les disques durs, disquettes, CDROM, etc… sont des périphériques de stockage et sont considérés comme des mémoires secondaires.

2.4- Les interfaces d’entrées/sorties

Elles permettent d’assurer la communication entre le microprocesseur et les périphériques. (capteur, clavier, moniteur ou afficheur, imprimante, modem, etc…).

2.5 Les bus

Un bus est un ensemble de fils qui assure la transmission du même type d’information. On retrouve trois types de bus véhiculant des informations en parallèle dans un système de traitement programmé de l’information :
  • Un bus de données : bidirectionnel qui assure le transfert des informations entre le microprocesseur et son environnement, et inversement. Son nombre de lignes est égal à la capacité de traitement du microprocesseur.
  • Un bus d'adresses: unidirectionnel qui permet la sélection des informations à traiter dans un espace mémoire (ou espace adressable) qui peut avoir 2n emplacements, avec n = nombre de fils conducteurs du bus d'adresses.
  • Un bus de commande: constitué par quelques conducteurs qui assurent la synchronisation des flux d'informations sur les bus des données et des adresses.

2.6- Décodage d’adresses

La multiplication des périphériques autour du microprocesseur oblige la présence d’un décodeur d’adresse chargé d’aiguiller les données présentes sur le bus de données.

En effet, le microprocesseur peut communiquer avec les différentes mémoires et les différents boîtier d’interface. Ceux-ci sont tous reliés sur le même bus de données et afin d’éviter des conflits, un seul composant doit être sélectionné à la fois.

Lorsqu’on réalise un système microprogrammé, on attribue donc à chaque périphérique une zone d’adresse et une fonction « décodage d’adresse » est donc nécessaire afin de fournir les signaux de sélection de chacun des composants.

 
Decodage adresses.png


3- Les mémoires

Une mémoire est un circuit à semi-conducteur permettant d’enregistrer, de conserver et de restituer des informations (instructions et variables). C’est cette capacité de mémorisation qui explique la polyvalence des systèmes numériques et leur adaptabilité à de nombreuses situations. Les informations peuvent être écrites ou lues. Il y a écriture lorsqu'on enregistre des informations en mémoire, lecture lorsqu'on récupère des informations précédemment enregistrées.

3.1- Organisation d’une mémoire

Une mémoire peut être représentée comme une armoire de rangement constituée de différents tiroirs. Chaque tiroir représente alors une case mémoire qui peut contenir un seul élément : des données. Le nombre de cases mémoires pouvant être très élevé, il est alors nécessaire de pouvoir les identifier par un numéro. Ce numéro est appelé adresse. Chaque donnée devient alors accessible grâce à son adresse. Avec une adresse de n bits il est possible de référencer au plus 2n cases mémoire. Chaque case est remplie par un mot de données (sa longueur m est toujours une puissance de 2). Le nombre de fils d’adresses d’un boîtier mémoire définit donc le nombre de cases mémoire que comprend le boîtier. Le nombre de fils de données définit la taille des données que l’on peut sauvegarder dans chaque case mémoire.

En plus du bus d’adresses et du bus de données, un boîtier mémoire comprend une entrée de commande qui permet de définir le type d’action que l’on effectue avec la mémoire (lecture/écriture) et une entrée de sélection qui permet de mettre les entrées/sorties du boîtier en haute impédance.

On peut donc schématiser un circuit mémoire par la figure suivante où l’on peut distinguer :
  • Les entrées d’adresses
  • Les entrées de données
  • Les sorties de données
  • Les entrées de commandes
Organisation memoire.png

Une opération de lecture ou d’écriture de la mémoire suit toujours le même cycle :
  • Sélection de l’adresse
  • Choix de l’opération à effectuer ( R/W )
  • Sélection de la mémoire ( CS = 0 )
  • Lecture ou écriture de la donnée

Remarque: lorsqu’un composant n’est pas sélectionné, ses sorties sont mises à l’état « haute impédance » afin de ne pas perturber les données circulant sur le bus. ( elle présente une impédance de sortie très élevée = circuit ouvert ).

3.2- Caractéristiques d’une mémoire

La capacité: c’est le nombre total de bits que contient la mémoire. Elle s’exprime aussi souvent en octet.
Le format des données : c’est le nombre de bits que l’on peut mémoriser par case mémoire. On dit aussi que c’est la largeur du mot mémorisable (mot de 8, 16, 32 ou 64 bits).

Le temps d’accès: c’est le temps qui s'écoule entre l'instant où a été lancée une opération de lecture/écriture en mémoire et l'instant où la première information est disponible sur le bus de données.

Le temps de cycle: il représente l'intervalle minimum qui doit séparer deux demandes successives de lecture ou d'écriture.

Le débit: c’est le nombre maximum d'informations lues ou écrites par seconde.

Remarque: Les mémoires utilisées pour réaliser la mémoire principale d’un système à microprocesseur sont des mémoires à semi-conducteur. On a vu que dans ce type de mémoire, on accède directement à n'importe quelle information dont on connaît l'adresse et que le temps mis pour obtenir cette information ne dépend pas de l'adresse. On dira que l'accès à une telle mémoire est aléatoire ou direct. A l'inverse, pour accéder à une information sur bande magnétique, il faut dérouler la bande en repérant tous les enregistrements jusqu'à ce que l'on trouve celui que l'on désire. On dit alors que l'accès à l'information est séquentiel. Le temps d'accès est variable selon la position de l'information recherchée. L'accès peut encore être semi-séquentiel : combinaison des accès direct et séquentiel. Pour un disque magnétique par exemple l'accès à la piste est direct, puis l'accès au secteur est séquentiel.

3.3- Différents types de mémoire

Les mémoires vives (RAM)

Une mémoire vive sert au stockage temporaire de données. Elle doit avoir un temps de cycle très court pour ne pas ralentir le microprocesseur. Les mémoires vives sont en général volatiles : elles perdent leurs informations en cas de coupure d'alimentation. Certaines d'entre elles, ayant une faible consommation, peuvent être rendues non volatiles par l'adjonction d'une batterie.

Il existe deux grandes familles de mémoires RAM (Random Acces Memory : mémoire à accès aléatoire):
  • Les RAM statiques
  • Les RAM dynamiques

Les mémoires mortes (ROM)

Pour certaines applications, il est nécessaire de pouvoir conserver des informations de façon permanente même lorsque l'alimentation électrique est interrompue. On utilise alors des mémoires mortes ou mémoires à lecture seule (ROM : Read Only Memory). Ces mémoires sont non volatiles. Ces mémoires, contrairement aux RAM, ne peuvent être que lue. L’inscription en mémoire des données restent possible mais est appelée programmation.

Suivant le type de ROM, la méthode de programmation changera. Il existe donc plusieurs types de ROM:
  • ROM
  • PROM
  • EPROM
  • EEPROM

3.4- Notion de hiérarchie mémoire

Une mémoire idéale serait une mémoire de grande capacité, capable de stocker un maximum d’informations et possédant un temps d’accès très faible afin de pouvoir travailler rapidement sur ces informations.

Mais il se trouve que les mémoires de grande capacité sont souvent très lente et que les mémoire rapides sont très chères. Et pourtant, la vitesse d’accès à la mémoire conditionne dans une large mesure les performances d’un système. En effet, c’est là que se trouve le goulot d’étranglement entre un microprocesseur capable de traiter des informations très rapidement et une mémoire beaucoup plus lente (ex: processeur actuel à 3Ghz et mémoire à 400MHz). Or, on n’a jamais besoin de toutes les informations au même moment.

Afin d’obtenir le meilleur compromis coût-performance, on définit donc une hiérarchie mémoire. On utilise des mémoires de faible capacité mais très rapide pour stocker les informations dont le microprocesseur se sert le plus et on utilise des mémoires de capacité importante mais beaucoup plus lente pour stocker les informations dont le microprocesseur se sert le moins. Ainsi, plus on s’éloigne du microprocesseur et plus la capacité et le temps d’accès des mémoires vont augmenter.

Les registres sont les éléments de mémoire les plus rapides. Ils sont situés au niveau du processeur et servent au stockage des opérandes et des résultats intermédiaires.

La mémoire cache est une mémoire rapide de faible capacité destinée à accélérer l’accès à la mémoire centrale en stockant les données les plus utilisées.

La mémoire principale est l’organe principal de rangement des informations. Elle contient les programmes (instructions et données) et est plus lente que les deux mémoires précédentes.

La mémoire d’appui sert de mémoire intermédiaire entre la mémoire centrale et les mémoires de masse. Elle joue le même rôle que la mémoire cache.

La mémoire de masse est une mémoire périphérique de grande capacité utilisée pour le stockage permanent ou la sauvegarde des informations. Elle utilise pour cela des supports internes ou externes fixes ou amovibles.


 
Hierarchie memore.png

Date de création : 23/09/2014 09:54
Dernière modification : 23/09/2014 09:54
Catégorie : INFORMATIQUE - Architecture
Page lue 5709 fois
Précédent  
  Suivant

SECONDE - SNT
PREMIERE NSI
PYTHON - ARDUINO
SCIENCES
INFORMATIQUE