Vous êtes sur la page 1sur 11

1 ère Génération : Les calculateurs mécaniques

Première calculatrice mécanique [Blaise Pascal - 1642] Addition, soustraction en base 10


[Leibnitz - 1670] Ajout de l’opération de multiplication et division
Machine à différence [Charles Babbage - 1821] ♣ Calcule des polynômes en utilisant une méthode
de calcul dite méthode différentielle Machine à Un seul algorithme (méthode des différences finies).
Machine analytique [Charles Babbage - 1840] Définit les principaux concepts Des machines
informatiques/ Lecture sur des cartes perforées ♣ Contient quatre parties : Différents algorithmes
exécutables − Le magasin (la mémoire) − Le moulin (l’unité de calcul) − L’entrée (lecteur de cartes
perforées) − La sortie (perforation ou impression)

2 ème Génération : Les calculateurs à tubes à vide


tubes à vide [John Fleming - 1904] Interrupteur électronique, Problèmes • pannes fréquentes •
encombrant
Turing [Alan Turing - 1938] ♣ Premier calculateur
numérique ♣ La machine de Turing est réalisée avec : − Un
« ruban » divisé en cases consécutives − Une « tête de
lecture/écriture » − Un « registre d’état » − Une « table
d’actions »
Harvard Mark I [Howard Aiken - 1944] Inventé en Harvard
University et réalisé par IBM, Ordinateur à relais électro-
mécanique
ENIAC [Mauchly et Eckert – 1946m] Electronic Numeral
Integrator and Calculator Premier ordinateur
électronique, Reprogrammable par branchement
l’IAS [Von Neumann - 1951] L’idée de représenter le programme
sous forme numérique et le ranger en mémoire comme les
données (plus besoin de programmation des commutateurs) ♣ à
programme enregistré, Mémoire séparée du CPU, Le programme
est traduit de manière numérique et écrit en mémoire, Création
d’un jeu d’instructions machine, et transformation des calculs en
séries d’instructions, La machine devient plus flexible)

3 ème Génération : Les calculateurs à tansistors


premier transistor bipolaire [1948] Interrupteur commandé
électroniquement ♣ Beaucoup moins encombrant que le tube
Le début des grandes firmes ♣ CDC : 6600, 6700, Cray-1, … ♣ Bull : PDP-1, PDP-8, … ♣ DEC : TX-0, TX-
2, …
♣ IBM : 7010 : version haut de gamme du IBM 1410, en 1962
7030 : superordinateur
7040,7090, 7094 : ordinateur scientifique
7070, 7072 : ordinateur décimal
7080 : ordinateur commercial
4 ème Génération : Les calculateurs à circuits intégrès
Le transistor : un robinet à électrons Il permet de réaliser des fonctions : ♣ Logiques, Arithmétiques,
♣ Analogiques (Amplification, …)

Circuit Intégrès plan en 1961 : Une bascule avec 4 transistors (1.5mm de largeur) Fairchild
Semiconductor & Texas Instruments
Le "907" resistor-transistor logic chip en 1963 2 bascules chacune avec 4 transistors et 4 résistances
(0,97 mm de largeur)
Conception de Circuit Intégrès assisté par ordinateur en 1967 Environ 150 portes logiques (3.81mm
de largeur) Les transistors placés en colonne et les connections réalisées sur 2 couches
INTEL Microprocesseur:
"4004" en 1971 Bus de 4 bits, intègre 2300 transistors,
"8008" en 1972 Bus de 8 bits et intègre 3500 transistors
"8080" en 1974 Bus de 8 bits, intègre 6000 transistors
"8086" en 1978 Bus de 16 bits, intègre 29000 transistor
"80386" en 1985 Bus de 32 bits, intègre 275500 transistors
"Pentium" en 1993 Bus de 64 bits, intègre 3,1 Millions transistors
"Pentium IV" en 2004 Bus de 64 bits, intègre 42 – 55 Millions transistors
"Core i7"

Catégories de densité d’intégration des Circuits Intégrés :


SSI : Small Scale Integration (1 à 10 portes / circuit) 60s
MSI : Medium Scale Integration (10 à 100 portes / circuit) 60s
LSI : Large Scale Integration (100 à 10 000 portes / circuit) 80s
VLSI : Very Large Scale Integration (+ de 10 000 portes / circuit)
ULSI: Ultra Large Scale Integration (+ de 100 000 porte / circuit) 00s

Migration vers les SEM Système Embarqué et Mobile


♣ Un Système Embarqué est un système autonome qui intègre des logiciels
et des matériels conjointement pour assurer des fonctionnalités critiques
spécifique. ♣ Le système matériel et l’application sont intimement liés et
noyés dans le matériel et ne sont pas discernables ♣ Un système mobile est
portatif et utilisable de manière autonome lors d'un déplacement. Il est
généralement doté d’un système d’exploitation mobile qui gère son
fonctionnement.
Domaines d’application: Équipement mobile et bureautique, Équipement dans le bâtiment, Produits
de grande consommation, Médecine, Équipement de production, Transport, Communications

Seulement 6% des processeurs vendus sont destinés au marché des PC, le reste sont destinés au
marché de l’embarqué.

CLASSIFICATION Systèmes collectifs : large communauté d’individus (centrale nucléaire, avion, train,
…) ♣ Durée de vie longue ♣ Durée de développement longue ♣ Contraintes de sûreté fortes ♣ Coût
élevé . Systèmes personnels : individu, groupe d’individus (téléphone, agenda électronique, lave
linges, automobile, …) ♣ Durée de vie courte ♣ Temps de mise en marché « time to market » très
court ♣ Contraintes de sûreté plus ou moins fortes ♣ Coût accessible

CARACETRISTIQUE
L’autonomie ♣ Les systèmes embarqués doivent en général être autonomes
− Autonomie de fonctionnement : remplir leur mission sans intervention humaine.
− Autonomie fonctionnelle (Totale ou Partielle) : exécution des services sans sollicitation à d’autres
systèmes leur mission sans intervention humaine.
− Autonomie énergetique : avoir sa propre source d’alimentation capable de tenir pendant de
périodes plus ou moins longues selon l’application.
La spécificité : dédiés pour une ou plusieurs applications spécifiques
La complexité et l’intelligence ♣ La cohabitation de l’électronique analogique, numérique, des
composantes RF (RadioFréquence) sans interférences est une tâche difficile. ♣ La complexité d’un
SEMs augmente avec le nombre de ses composants et le nombre de ses applications spécifiques. ♣
Intelligence c’est le moyen d’améliorer la qualité du système Exemple : Auto-diagnostic, Auto-
configuration, Adaptabilité, Evaluation des risques
La réactivité ♣ Un SEM doit interagir avec son environnement à une vitesse specifique donc il y a des
impératifs de temps de réponse. le Système embarqué est souvent basé sur un système temps réel.
♣ L’autonomie fonctionnelle diminue avec la croissance de la réactivité.
La Mobilité ♣ C’est la possibilité de déplacement du système. ♣ concevoir des solutions mobiles qui
facilitent le déplacement du système. ♣ contient des outils qui peuvent faciliter certains processus et
répondre à des besoins réels.
L’exécution en temps réel ♣ L’exécution des opérations doivent être faites deadlines précises
sinonles résultats ne sont plus valides. Exemple critique : le contrôleur de frein d’une voiture
♣ un système temps réel n’est pas forcement un système rapide. Il existe des contraintes strictes
(dépend de l’environnement).. ♣ La puissance de calcul : condition nécessaire mais pas suffisante. ♣
Vitesse moyenne ou vitesse maximale n’est pas importante, le pire-cas importe Attention : Ne pas
confondre temps réel et rapidité Temps réel veut dire prédictibilité et non rapidité

Temps réel dur (hard real-time) : le non respect 23e des contraintes temporelles entraîne la faute du
système. Les échéances ne doivent jamais être dépassées. Exemple : contrôle de trafic aérien,
système de conduite de missile, ...
Temps réel souple (soft real-time) : le respect des échéances est important sinon pas de graves
conséquences . Le système doit répondre le plus rapidement possible. Exemple : système
d'acquisition de données pour affichage, …
Temps réel ferme (firm real-time) : temps réel souple, mais si l’échéance est dépassée le résultat
obtenu n’a plus de valeur (il est donc écarté).

♣ La plupart des systèmes embarqués sont des systèmes "mutlirate" ou "multipériode" − Les
données sont capturées à un certain rythme. − Les traitement sur ces données ne sont pas
forcément à la même granularité. − Les actionneurs fonctionnent à une fréquence différentes. ♣ Un
STR est généralement géré par un système d'exploitation ou un noyau Temps Réel (Real Time
Operating System, RTOS). ♣ L’échelle de temps de l’échéance peut varier d’une application à l’autre
− microseconde en contrôle radar − milliseconde pour la synchronisation image/son (mpeg) −
minute pour les distributeurs automatiques

La robustesse, fiabilité et sécurité ♣ pour des raisons physiques (chocs, variations de température...)
ou humaines (malveillance). la sécurité (résistance aux malveillances) et la fiabilité (continuité de
service ). ♣ Le système doit être opérationnel même lorsqu’un composant est défaillant

La consommation d’énergie ♣ Le Système Embarqué Mobile doit être à faible consommation si non
il faut alors des batteries de plus forte capacité (augmentation du cout).
La flexibilité ♣ La flexibilité des SEMs est la capacité de changer quelques propiétés ou
fonctionnalités du système. ♣ Ces changements : − la reprogrammation de son calculateur − la
reconfiguration matérielle de ses circuits logiques programmables (FPGA, CPLD, PLD) − la
réutilisation de ses composants virtuels (IP)

Le volume / le poids ♣ La miniaturisation des SEMs est ses composants electronique est un facteur
important qui affecte directement sa mobilité. ♣ Réduction de l’encombrement ♣ La miniaturisation
du système nécessite plus de temps de conception et réduit le délai de vie du système.
Le coût ♣ Beaucoup de systèmes embarqués sont fabriqués en grande série et doivent avoir des prix
extrêmement faibles pour faire face à la concurrence

Le cycle de renouvellement → Diminution du temps de mise en marché (Time To Market)

Système Informatique ♣ Conçu pour des fonctionnalités générales ♣ Dimensionnement non


optimisé ♣ Chaleur ♣ Consommation élevée ♣ Coût élevé ♣ Entrées et sorties généralistes ♣
Prosesseurs standard ♣ Architecture standard ♣ Fréquence élevée ♣ Mémoire importante ♣ OS
Système Embarqué♣ Conçu pour un nombre limité de fonctionnalités ♣ Dimensionnement optimisé
en fonction de ses besoins ♣ Consommation optimisée ♣ Coût faible ♣ Entrées et sorties spécifiques
♣ Prosesseurs didiés ♣ Architecture adaptée ♣ Fréquence lente ♣ Mémoire faible ♣ RTOS

Architecture d’un SEM typique

L’unité centrale de traitement est l’élément moteur


qui interprète et exécute et gère le fonctionnement
du système. Se compose de : ♣µP : Micro
Processeur ♣ DSP : Digital Signal Processor ♣ µC :
Micro Contrôleur ♣ API : Automate Programmable
Industrielle ♣ Circuit Spécial : ASIC -ASIP -FPGA –
SOC

Les µProcesseurs : Les processeurs généraux actuels se répartissent en deux grandes catégories
selon leurs jeu d’instructions :
♣ CISC : Complex Instruction Set Computer  : ♣ utilisés pour les ordinateurs. ♣ jeu d'instructions
riche. ♣ de nombreuses instructions. ♣ Instructions exécutées en plusieurs cycles ♣ Consommation
énergétique élevée.
♣ RISC : Reduced Instruction Set Computer : ♣ utilisés pour les SE. ♣ jeu d'instructions réduit, facile à
décoder. ♣ des instructions simples. ♣ Instructions généralements exécutées en 1 seul cycle. ♣
Consommation énergétique réduite.

Les fabricants de processeurs :

Intel : •CISC : 4004, 8008, 8080, 8085, 8086, 8088, 80186, 80188, 80286, 80386, 80486, la série
Pentium, la série Celeron, Itanium, Itanium 2, Core 2 Duo, Core 2 Quad, Core 2 Extreme, Core i3,
Core i5, Core i7 • RISC : i960, i860

AMD

Advanced Micro Devices : •CISC : Am2900, Am286, Am386, Am486, Am586, la série K5, la série K6,
la série K7 (Athlon, Duron, Sempron), la série K8 (Athlon, Opteron, Sempron, Turion), la série K10
(Athlon, Opteron, Sempron, Phenom) • RISC : la série AMD 29K, Geode, Alchemy

(Motorolla) Freescale Semiconductor : •CISC : 6800, 6802, 6808, 6809, 68000, 68008, 68010, 68020,
68030, 68040, 68060, 68881, 68882, •RISC : ColdFire, 88000, 88100
Autres : •RISC : la famille PA (Hewlett-Packard),
la famille POWER (IBM), la famille OMAP (Texas Instruments), la famille Mips (Mips Technologies), la
famille SPARC (Sparc International) , la famille ARM (ARM Ltd.)

Programmation :
Le langage machine est le langage compris par le microprocesseur. Ce langage est difficile à
maitriser puisque chaque instruction est codée par une séquence propre de bits. Afin de faciliter la
tâche du programmeur, on a créé le langage assembleur qui utilise des mnémoniques pour le codage
des instructions :

♣ MOV AX,100 (mettre la valeur constante 100 dans AX) ♣ MOV AX,[100] (mettre dans AX la valeur
stockée à l'adresse 100 en mémoire) ♣ ADD AX,BX (ajouter la valeur de BX à AX) ♣ SUB BX,100
(soustraire la valeur constante 100 à BX) ♣ MUL CX (multiplier AX par la valeur stockée dans CX).

Le code machine est généré automatiquement, par le compilateur de très nombreux langages de
programmation lors de la compilation.

Digital Signal Processor Un DSP

est un processeur dont l'architecture est optimisée pour effectuer des calculs complexes en un cycle
d'horloge, mais aussi pour accéder très facilement à un grand nombre d'entrées-sorties (numériques
ou analogiques). Il possède aussi quelques caractéristiques assez spécialisées.

Les DSPs sont utilisés dans plusieurs domaines :


♣ Telecommunication ♣ Instrumentation et mesure ♣ Electronique medicale ♣ Traitement d’image
♣ Industrie - Controle de moteurs ♣ Audio - Traitement de la parole …
fabricants de DSP sur le marché :
Texas Instruments : Le leader du marché des DSP avec plus de 50% du marché. Séries
TMS320C2000, TMS320F2000, TMS320C5000, TMS320C6000

Architecture Générale :
Architecture Harvard : 2 mémoires : accessibles
simultanément ⇒ Moins de manipulations de données. Plus
complexe à programmer.
N.B. : Possibilité d’utiliser la mémoire programme comme 2
ème mémoire de données (utile pour les opérations type
produit scalaire).

Architecture Harvard Modifiée :


1 mémoire + bus pour les instructions
2 mémoires + bus pour les données

Unités de calcul typiques des DSP :


♣ arithmétique et logique ALU • opérations classiques • saturation, min, max ♣ multiplication–
addition avec ou sans accumulation interne MAC • avec multiplieur–additionneur dedié • avec
multiplieur et additionneur sépares (+ décaleurs) ♣ décalage ♣ spéciques : • manipulation de bits •
comptage de bits • support matériel pour calcul partiel de ÷ et √ • conversion entiers ↔ flottants
Le Pipeline :
Principe : découper une opération en tâches élémentaires à effectuer en parallèle Ex : pipeline à 4
étages

Types de données :
Les entrées/sorties représentent souvent des grandeurs physiques. On a donc besoin de manipuler
des réels avec une précision limitée, typiquement entre 10 et 24 bits.

Codage en virgule fixe (la grande majorité des DSP) : • mots de 16 ou 24 bits (très souvent) • mots
de 20 ou 32 bits (rarement)

Codage en virgule flottante : • mots de 32 bits (plus ou moins compatible IEEE 754) • mots de 16, 24
ou 32 bits (avec des codages particuliers)

Performances : • vitesse : DSP virgule fixe sont plus rapides • taille : DSP virgule fixe sont plus petits
• énergie : DSP virgule fixe consomment moins Etat actuel : 95% des DSP en virgule fixe et sur 16
bits.

Spécificités des DSP/Microprocesseur : Spécificités des DSP/Microprocesseur :


♣ Réduction des accès mémoire ♣ Augmentation
des accès mémoire simultanés ♣ Réduction du
temps dépassé à faire des calculs. Instructions
adaptées et optimisées : Exemple : le MAC 1 cycle
d'horloge (plus que 6 cycle pr un contrôleur) A =
B*C + D ♣ Modes d'adressage évolués (adressage
circulaire post-incrémental) ♣ RAM interne ♣
Gestion directe de la mémoire DMA ♣ Pipe-Line :
gestion parallèle des opérations "Multi-
processing" ♣ Entrées/sorties numériques

Exemples de DSP :

Un microcontôleur est un circuit intégré qui rassemble les éléments essentiels d'un ordinateur :
processeur, mémoires (mémoire morte pour le programme, mémoire vive pour les données), unités
périphériques et interfaces d'entrées-sorties
Ces éléments sont reliés par 3 bus :
 Le bus d'adresse qui permet au microprocesseur de sélectionner la case
mémoire ou le périphérique auquel il veut accéder pour lire ou écrire une information (instruction
ou donnée) ;
 Le bus de données qui permet le transfert des informations entre les différents éléments ; ces
informations seront soit des instructions, soit des données en provenance ou à destination de la
mémoire ou des périphériques ;
 Le bus de contrôle qui indique si l'opération en cours est une lecture ou une écriture, si un
périphérique demande une interruption pour faire remonter une information au processeur, etc.

Les microcontrôleurs se caractérisent par :


 un plus haut degré d'intégration,
 une plus faible consommation électrique,
 une vitesse de fonctionnement plus faible (de quelques mégahertz)
 un coût réduit par rapport aux microprocesseurs polyvalents utilisés dans les ordinateurs
personnels,
 des ports d’entrées/sorties numériques et analogiques via un CAN,
 de différents protocoles de liaison (USART, I^2C, SPI, ...)
Les fabricants de μContrôleurs par chiffre d’affaires :

Le PIC16F946 :
 CPU RISC (20MHz/35 instructions)
 Module LCD
 54 Entrées/Sorties
 Module de comparaison analogique
 A/D Converter:
 CAN (8 canaux/résolution 10 bits)
 3 Timers (2x8 bits et 1x16 bits)
 Port Série Synchrone (SSP)
 Universal Synchronous Asynchronous Receiver
Transmitter (USART)
 Modules PWM (10 bits/20kHz)
 Mémoire Données (368 x 8bits)
 Mémoire Programme (8K x 14bits)

Le

STM32F10x Le
ATSAMDGxxA

Vous aimerez peut-être aussi