Sie sind auf Seite 1von 29

VON NEUMANN vs HARVARD

CONVENTION : 1 CPI = 1 CYCLE DHORLOGE


Types darchitecture

Von Neumann

Domaines dexploitation

PC actuels

Harvard
-contrleur : circuit =1 -CPU + RAM + PROM + PIA + Timer
-PIA = Peripheral Interface Adapter : circuit interfaage E/S en //
-Digital Signal Processor (DSP) :
-CPU spcialis en traitement numrique du signal
-Peripheral Interface Controller (PIC) : contrleur de priphrique

Schma

-1 SEULE mmoire contenant les donnes et les


instructions
Mmoire
-Sparation virtuelle possible des mmoires
Accs
Accs en srie simple
Nom
CISC : Complex Instruction Set Computer
Taille
Chaque instruction a sa propre taille
Excution Excution difficile en plusieurs CPI
Instructions
Compilation Facile
Systmes
Nombres
Infini
dinstructions Nature des programmes Complexe
-Correction des bugs
Qualits
-Programmation simple
-Processeur plus compliqu acclrer
Dfauts
-Difficile de prvoir la dure dexcution
Organisation

-2 mmoires DISTINCTES : 1 pour les donnes, 1 pour les


instructions
-Sparation physique des mmoires
Accs en parallle long
RISC : Reduced Instruction Set Computer
Toutes les instructions ont une mme taille (4 octets dans un PIC)
Excution facile en 1 seul CPI
Difficile
Limit
Compact
- Facile de prvoir la dure dexcution
- Instructions rapides
- Diminution de lisibilit du code
-

RAM (Volatile)

Mmoires

ROM
(Rmanente)

Non programmable
Programmable : PROM
o FPROM (Fuse PROM) : PROM non modifiable aprs programmation
o OTP (One Time PROM) : Programmable une fois
o EPROM : PROM programmable et effaable
EEPROM : EPROM effaable lectriquement
UV-PROM : EPROM effaable par exposition aux UV
EPROM flash : rapide, effaable lectriquement et totalement par blocs
TYPES
Statique : SRAM
o Synchrone : SSRAM
Dynamique : DRAM
o Asynchrone : intervalle temporel entre 2 accs conscutifs la mmoire irrgulier
FPM (Fast Page Mode)
EDO (Extended Data Out) : amlioration de la FPM
o Synchrone (SDRAM) : intervalle temporel entre 2 accs conscutifs la mmoire
rgulier
DR-SDRAM (Direct Rambus SDRAM) :
transfert des donnes sur un bus de 16 bits une cadence de 800Mhz
bande passante : 1,6 Go/s
SDR-SDRAM (Single Data Rate SDRAM) : transfert de donnes chaque front
MONTANT dhorloge
DDR-SDRAM (Double Date Rate SDRAM) : transfert de donnes chaque front
dhorloge
DDR2-SDRAM : amlioration de la DDR-SDRAM
Sparation physique du canal de lecture et celui dcriture
2 fois plus rapide que la DDR-SDRAM
DDR3-SDRAM : DDR2-SDRAM moins nergivore
Graphique : utilise sur les GPU
o 2 canaux de transfert permettant la lecture et l'criture des donnes en un seul CPI.
o Informations stocker reus partir du GPU
o VRAM (Video RAM) :
Plus rapide que la DRAM
Utilise sur les GPU
o WRAM (Window DRAM) : VRAM 25% plus rapide
o SGRAM (Synchronous Graphic RAM) :
SDRAM usage graphique
Pas de lecture/criture en simultan
Modification des donnes par blocs (mode rafales)

COMPLEMENTS
Barrette de mmoire correction derreurs :
o 1 Bit de parit : dans N bits de mmoire, (N-1)
bits sont utilises pour les donnes et 1 bit
pour stocker la somme des (N-1) bits

o Bits de contrle :
mmoire ECC (Error Coding Correction)
o Tampon : registre entre la DRAM et le
contrleur mmoire
Le registre retient les donnes avant leur
envoi au contrleur de mmoire
RAM rmanente :
o Utilisation dun circuit de contrle intelligent
pour se connecter aux batteries internes en
lithium en cas de coupure dalimentation
externe

Caractristiques dune mmoire


Capacit : volume global dinformations (en bits) stockable
Temps daccs : intervalle de temps entre la demande de lecture/criture et la disponibilit de la donne
Temps de cycle : intervalle de temps minimal entre 2 accs conscutifs
Dbit : volume dinformation chang par unit de temps, exprim en bits par seconde
Rmanence/Volatilit

Hirarchie des mmoires

Comparaison SRAM vs DRAM


Type de RAM
SRAM
DRAM
Composition
6 transistors
2 3 transistors avec 1 condensateur
Vitesse
Rapide
Lente
Rafrachissement priodique
INUTILE
NECESSAIRE
Lecture destructive
Non
Oui
Prix
Chre
Peu chre
Densit dintgration
Faible
Grande
Utilisation
Mmoire cache
Mmoire centrale/principale

-CPU
Circuit intgr complexe Capable d'effectuer squentiellement et automatiquement des suites d'oprations lmentaires
o Unit de commandes : lire, dcoder et envoyer les instructions lunit dexcution
Horloge
Squenceur : excution squentielle des instructions
Registre dinstruction (RI = iR = instruction Register) : registre contenant linstruction
en cours dexcution
Compteur Ordinal (CO = PC = Program Counter) : registre pointant sur la prochaine
instruction excuter
Mmoire
Registre dadresse (RA = AR = Adress Register) : registre contenant l'adresse de la case
mmoire lue ou crite lors d'un accs la mmoire
Registre tempon
o Unit dexcution : effectuer les tches provenant de lunit de commande
Unit arithmtique et logique (UAL) : calcul binaire et logique
Accumulateur : registre mmoire de lUAL

Unit de virgule flottante (FPU) : calcul sur les rels


Registre dtat (SR=State Register) : dcrire l'tat du CPU laide de bit-flag

o Unit de gestion dE/S : gestion des flux de donnes changes entre les E/S et la RAM

Schma synoptique de base de larchitecture de Von Neumann :


architecture du 1er ordinateur
1-15 : Entres daiguillage=-oprations=-ops=MOPS

BD = Bus Driver
R0 = Registre dentre de lUAL
R1 = Accumulateur
micro-Mem= micro-mmoire (stockage des micro-instructions)

1 : initialiser le -PC (pointeur des -instructions)


2 : charger partir du dcodeur dinstruction
3 : charger le contenu de la mmoire dans le bus de donnes
4 : choix du mode lecture ou criture
5 : charger le contenu du PC dans le BD
6 : charger le PC avec une valeur ou une adresse
7 : incrmenter le PC
8 : charger le contenu de R1 dans la mmoire
9 : charger le registre dadresse
10 : charger le contenu du registre dadresse dans le bus dadresse
11 : charger le contenu du bus dadresse dans R0
12 : charger le rsultat de lUAL dans R1
13 15 : choix dune opration faire dans lUAL ( + - * / )

PRISE EN CONSIDERATION DES SAUTS CONDITIONNELS

- 6 : entre BRA

- 16 : entre du bit N Z V C

- 17 : jump if negative

- 18 : jump if zero

- 19 : jump if carry

- 20 : jump if overflow

PRISE EN CONSIDERATION DE LA RECURSIVITE AVEC UNE PILE

- 21 : charger le registre de donne avec une donne


- 22 : charger le contenu du registre de donne dans le bus de donnes
- 23 : incrmenter la pile
- 24 : dcrmenter la pile
- 25 : charger le contenu du pointeur de pile dans le bus dadresse

PRISE EN CONSIDERATION DE JSR


- 21 : charger le registre de donne avec une donne
- 22 : charger le contenu du registre de donne dans le bus de donnes

MICRO-PROGRAMMES DES MICRO-INSTRUCTIONS USUELLES


Fetch : charger et dcoder une instruction
o MOP 2,3,5,7 1

NOP (No OPeration) : rinitialiser le -PC


o MOP 1 1

LDIMM (LoaD IMMediate) : charger des constantes dans des registres


o MOP 1,3,5,7,11 1

LD (LoaD) : charger une variable dadresse connue dans R0


o Excution en 2 CPI car utilisation de 2 adresses diffrentes en RAM avec un seul bus de donnes et un seul bus dadresse
o 1er CPI : MOP 3,5,7,9 1
o 2me CPI : MOP 1,3,10,11 1

Cycle dexcution dune instruction

ACC
C1

Squenceur

UAL

B1
C1

C1

Code

A4

RM

B2

UC

A1
Oprande

Instruction

O
U

C1

CO

B3
A3

RI

Adresse

A2

+1

RA
Mmoire centrale

A1 : CO dans RA (adresse prochaine instruction dans RA)


A2 : incrmentation de 1 de CO (prochaine instruction ladresse suivante)
A3 : lecture de linstruction et rangement dans RM
CHERCHER
A4 : transfert de linstruction de RM RI pour dcodage
B1 : analyse du code instruction ; envoi des signaux de commande
DECODER
B2 : adresse de loprande dans RA
B3 : lecture de loprande en mmoire et rangement dans RM
EXECUTER
C1 : calcul sur oprandes dans RM et ACC (a t prcd par un transfert du 1er oprande de la
mmoire vers ACC et est suivie dun transfert du rsultat de ACC vers la mmoire).
C1 : branchement adresse est range dans CO (devient la prochaine instruction excuter).

Mthode de gestion des E/S


Scrutation/Spolling: application du handshaking
o Le processeur interroge chaque dispositif pour dterminer la routine
dont il a besoin
o Simple mais coteux
Interruptions : signaux de requtes envoys au processeur
o Interruptions logicielles : trappes/droutements
( : 0)

/
o Interruptions matrielles :
Le priphrique envoie un signal sur la ligne IRQ (Interruption ReQuest) du contrleur dinterruption (PIC) de priphrique
Ce contrleur associe un numro ce signal pour tre identifiable par le CPU
Le CPU excute la routine dinterruption associ ce numro (ISR : Interrup Service Routine) en examinant
le vecteur dinterruption (zone de la RAM contenant les adresses des routines dinterruptions)
Type masquable (INTR=INTerrupt Request) :
Demande dinterruption masquable (une interruption qui ne sera prise en compte immdiatement, mais traite plus tard)
Utilise lors de larrive dun signal
Type non masquable (NMI=Non Maskable Interrupt) :
Demande dinterruption non masquable ( traiter immdiatement lors de sa rception)
Utilise lors de la dtection derreur matrielle (ex : RAM dfaillante)
Type INTA (INTerrupt Aknowledge) : une INTR traite
DMA : Accs Direct la Mmoire
o Transfert bidirectionnel de donnes via un Contrleur de DMA (DMAC dot de 8 canaux)
entre la RAM et les priphriques
o Le CPU fournit au DMAC les infos de lchange (taille du bloc transfrer, adresse de
dbut du bloc, sens de lchange) et lautorise
o Modes dchange :
BLOCK : le DMAC rserve le bus mmoire et transfert en une seule fois
Mode le plus rapide mais interdit au CPU daccder la mmoire
Cycle Stealing (CS) : transfert dun octet la fois avant de cder la mmoire au CPU
Transparent : le DMAC accde la mmoire si le CPU ne lutilise pas
o Extension du concept DMA : PPU (Peripheral Process Unit)=Un autre processeur gre
les transferts de donnes entre les priphriques au lieu du DMAC

Causes :
-lhorloge en cdant
la main lOS,
loverflow
-accs une zone
mmoire
protge/inexistante
-excution dune
instruction inconnue
ou (privilgi en
mode slave)

Optimisation des performances : PIPELINE


PIPELINE :
o Dcomposition de lexcution dune instruction en sous-oprations sexcutant indpendamment les unes des autres
o Chaque sous-opration est affecte une sous-unit du CPU qui la traite,
do une organisation en tages
o Amlioration du temps moyen par tche (throughput)
o Performances limites par ltage le plus lent
o Avantages :
Meilleur utilisation du CPU
Paralllisme ente instructions
frquence performances
o Inconvnients :
Effet joule car frquence
Besoin dindpendance entre les sous-oprations (problme
rsoudre laide du compilateur ou du matriel)
o Alas : perturbateurs du pipeline
Structure : matriel incompatible avec quelques combinaisons dinstructions
Solution : bulle de pipeline (suspendre le piepline + dupliquer les units du chemin de donnes)
Donnes : instruction dpendant des rsultats non encore disponibles
Solution :
1. Suspendre le pipeline
2. Rordonnancement la compilation ou par le CPU la vole
3. Court-circuiter le pipeline (injecter le contenu de la sortie de lUAL dans une de ses entres)
Contrle : instruction ou Bcc issue inconnue
Solution :
1. Dupliquer le pipeline
2. Prcharger linstruction de branchement (mme si elle nest pas utilise)
3. Prvoir les Bcc :
Supposer quun Bcc particulier est toujours/jamais pris
Supposer quil exite des codes doprations favorisant les Bcc
Se baser sur un historique des Bcc
4. Gnrer un NOP aprs le Bcc le temps que ce Bcc sachve

EXEMPLES DE PIPELINE

Alternatives au pipeline :
Architecture VLIW vs Architecture Superscalaire
Architecture
Principe
Contrle des
dpendances
de donnes et
des instructions
Mthode

Avantages

Schma

Superscalaire

VLIW
Dcider des instructions excuter en parallle

Lors de lexcution du programme

Lors de la compilation

Par matriel

Par logiciel (compilateur)

On lit en mme temps des blocs dinstructions squentielles


compiles.
Le CPU dcide dynamiquement des instructions du bloc excuter en
parallle.
- Plus grande marge de manuvre pour le scheduling des instructions
- Un compilateur traditionnel pour produire le code excutable

On dfinit des groupes de plusieurs instructions, qui sont lues, dcodes et


excutes en parallle.
Chaque groupe devient une super-instruction destine tre lue dun bloc
par le processeur VLIW.
- Pas de scheduling des instructions fait par le CPU
- Un CPU plus simple concevoir et plus rapide.

CONNECTIQUE : CHIPSET & BUS


CHIPSET : circuit intgr prprogramm permettant de grer les flux de donnes entre le processeur, la mmoire et les priphriques
o Synchronisation des E/S avec le CPU
BUS : systme de communication entre les composants d'un ordinateur
o Caractristiques :
Largeur en bits : nombre de lignes parallles (1 ligne transmet 1 SEUL BIT)
Frquence en MHz : nombre daccs au bus par seconde
Bande passante thorique maximal: Largeur du bus x frquence en Mo/s
o Types :
Bus processeur/systme (FSB=Front Side Bus):
bus le plus rapide, grant les changes entre le CPU et le northbridge
Bus mmoire : bus grant les changes entre le CPU et la RAM
Bus de donnes : bus vhiculant les donnes et les instructions traiter
Bus dadresse : bus indiquant ladresse des cases mmoires lors du transfert de donnes
Bus de commandes : bus synchronisant le bus de donnes et celui dadresse
Bus dE/S :bus assurant la communication entre les diffrents lments de lordinateur
Bus de priphriques : communication entre les priphriques et lordinateur
USB : Universal Serial Bus
SCSI : Small Computer System Interface
Firewire
PCMCIA : Personal Computer Memory Card International Association

Bus dextension :
ISA (Industry Standard Architecture) : bus traitant les informations indpendamment des performances du CPU
MCA (Micro Channel Architecture) : bus plus performant que lISA
EISA (Extended ISA) : bus plus performant que lISA, concurrenant le MCA
Bus locaux :
PCI(-X) ( (eXtended) Peripheral Component Interconnect) : bus synchrone permettant une architecture Plug & Play
AGP (Accelerated Graphical Port) : bus permettant linsertion dune carte graphique dans la carte mre
VLB (Video Electronics Standards Association Local Bus): bus de connexion de cartes dextension avec des performances meilleurs que chez lISA

Schma dune carte mre actuelle

Mmoires Caches
Mmoires statiques, rapides et trs chres, acclrant les changes entre la RAM et le CPU.
Principe de fonctionnement: coopration avec la RAM
o Les mots de mmoire centrale les plus frquemment utiliss sont placs dans le cache.
o Le processeur cherche dabord le mot dans le cache () :
Si le mot est prsent (succs = cache hit) il lobtient rapidement ().

Si le mot nest pas prsent (chec = cache miss), le processeur fait un accs la mmoire centrale (, plus lent) et place ce mot dans le cache ().

Ultrieurement si ce mot est demand il sera obtenu plus rapidement ().


Principe de localit : les donnes les plus souvent utilises sont co-localises.
o Localit spatiale : un programme utilise des instructions et des donnes avec des adresses proches
o Localit temporelle : un programme travaille avec les instructions et les donnes dj utilises

Schma de lecture & dcriture dans le cache


Lecture

HIT

MISS

Ecriture

Principe de lecture
Algorithme

Commentaire
Le processeur cherche dabord si le mot mmoire
adress est dans le cache (mot prsent).
Si linformation est prsente on parle de succs
(cache hit).
Sinon linformation nest pas dans le cache, on
parle alors dchec (cache miss).
Dans ce cas, il faut aller chercher linformation
dans la mmoire centrale et placer celle-ci dans
le cache (charger cache) avec ventuellement un
remplacement dinformations actuellement
prsentes dans le cache puisque sa taille est finie
( charger cache (remplacer) ).
Enfin, le processeur est charg avec linformation
maintenant disponible dans le cache.
Principe dcriture

Algorithme

Commentaire
Le processeur doit accder la mmoire cache
pour vrifier si linformation est prsente dans le
cache (mot prsent) et ventuellement la
modifier (modifier cache).
Si toutes les informations sont dans la RAM, alors
il faut maintenir la cohrence des informations
entre le cache et la RAM, en modifiant les 2
mmoires lors de lcriture dans le cache.
Sinon, il faut modifier directement la RAM
(modifier mmoire principale).

Structure de la mmoire cache :

Nombre de blocs du cache : M= 2(n-p)


Longueur dune adresse : n bits
Nombre de lignes dadresse : C = 2n
Taille dun bloc : K= 2p mots

On a en gnral C >> M.

Chaque ligne contient une tiquette, de taille T = ( ),

compose dune partie de ladresse de la mmoire principale, qui identifie le bloc stock.
Structure de la RAM :

Si on lit un mot dun bloc de mmoire, on transfre ce bloc dans lune des lignes du cache.

Si les lignes de cache sont moins nombreuses que les blocs de mmoire principal,
on utilise des algorithmes de correspondance entre les blocs de la RAM et les lignes de cache

Nombre de blocs de la RAM: M = 2(N-P)


Longueur dune adresse : N bits
Nombre de lignes dadresse : 2N
Taille dun bloc : K= 2Pmots

Algorithmes de correspondance :
o

Correspondance directe :

La mmoire utile contient les donnes, o chaque ligne a une longueur de K mots.
Le rpertoire comporte K lignes.
Chaque ligne L contient un bit de validit indiquant si des donnes sont disponibles dans L.
Chaque ligne L contient une cl permettant didentifier la ligne souhaite dans la RAM.
Le comparateur compare la cl et ltiquette.

1 ligne du cache = un bit de validit, une cl et une ligne de donnes.

Lorsquune adresse est prsente au cache, le contrleur de cache


dcompose cette adresse en 3 parties :
Lindex qui repre une entre du cache.
loffset (dplacement en nombre de mots) qui repre un mot
lintrieur dune ligne de cache.
Ltiquette qui correspond la cl souhaite dans le rpertoire

Adresse = Etiquette + index + offset

Pour vrifier si une donne est dans le cache :


1. Le contrleur de cache extrait la valeur dindex de ladresse
2. Le comparateur vrifie que lentre pointe par lindex contient
bien ltiquette

Avantages :
Simple, facile raliser
Bon rsultats

Inconvnients :
Collisions (des adresses diffrentes ayant le mme numro dindex)

Correspondance associative :

Une ligne de donnes entre dans nimporte quelle entre libre du cache
Adresse = tiquette + offset

Le contrleur de cache vrifie en une seule opration si une tiquette est prsente dans une des lignes du rpertoire.

Cest pourquoi il y a autant de comparateurs que de lignes.

Inconvnients :
Cher
Complexe

Correspondance mixte/associative par blocs :


Le cache est divis en blocs grs comme des caches directs.
Il existe un comparateur par bloc.
Adresse = tiquette + index + offset
Lorsquune adresse est prsente au cache, lindex rfrence simultanment une ligne par bloc
En une seule opration les comparateurs vrifient si ltiquette est dans une des lignes
Avantages :
Performances du cache associatif prix moindre

Algorithmes de remplacement des lignes : algorithmes utiliss lorsquune ligne de la mmoire cache doit tre remplace.
o FIFO (First In, First Out) : la ligne remplace est la ligne la plus anciennement charge.
o LRU (Least Recently Used) : la ligne remplace est la ligne la moins rcemment accde.
Avantage : Cette politique est meilleure que la prcdente car elle tient compte des accs effectus par le processeur au cache
Inconvnient : elle est coteuse car ncessite de maintenir lordre des accs raliss.
o NMRU (Not Most Recently Used) : la ligne remplace nest pas la plus rcemment utilise.
Dans cette politique, la ligne remplace est une ligne choisie au hasard dans lensemble des lignes du cache, hormis la ligne la plus rcemment accde.
Avantage : implmentation facile, la plus performante

Facteur de performances dun cache : Dlai dun miss et nombre de miss


Type de miss :
o Obligatoires : lors de laccs une adresse pour la 1re fois
o De capacit : cache plein
o De conflit : 2 adresses distinctes dsignent une mme ligne du cache
Niveaux de cache :
o L1 : cache petit, trs rapide, dans le CPU
Le plus souvent, au niveau 1, il existe 2 caches spars, un pour les
instructions et un pour les donnes.
Ces deux caches fonctionnent en paralllisme total et profitent au
maximum des techniques de pipeline.
o L2 :cache plus grand , trs rapide, en dehors du CPU
Le cache de niveau 2 est unique et mlange donnes et instructions.
o L3 : la RAM

Circuits de larithmtique binaire


Opration

Algorithme/Formules

= ( )
+1 = + ( )

Addition

1 bit

Additionneur
Soustracteur

N bits

= + + 1

Schma

Rseau

Squentielle

Multiplication
Binaire

Divison binaire

Das könnte Ihnen auch gefallen