Taxonomie de Flynn

La taxonomie de Flynn est une classification des architectures d'ordinateur, proposée par Michael Flynn en 1966[1],[2]. Les quatre catégories définies par Flynn sont classées selon le type d'organisation du flux de données et du flux d'instructions.

## Type de classes

[modifier | modifier le code]

SISD (unique flux d'instructions, unique flux de données)
Il s'agit d'un ordinateur séquentiel qui n'exploite aucun parallélisme, tant au niveau des instructions qu'au niveau de la mémoire. Cette catégorie correspond à l'architecture de von Neumann.
SIMD (unique flux d'instructions, multiples flux de données)
Il s'agit d'un ordinateur qui utilise le parallélisme au niveau de la mémoire, par exemple le processeur vectoriel.
MISD (multiples flux d'instructions, unique flux de données)
Il s'agit d'un ordinateur dans lequel une même donnée est traitée par plusieurs unités de calcul en parallèle. Il existe peu d'implémentations en pratique. Cette catégorie peut être utilisée dans le filtrage numérique et la vérification de redondance dans les systèmes critiques.
MIMD (multiples flux d'instructions, multiples flux de données)
Dans ce cas, plusieurs unités de calcul traitent des données différentes, car chacune d'elles possède une mémoire distincte. Il s'agit de l'architecture parallèle la plus utilisée, dont les deux principales variantes rencontrées sont les suivantes :

MIMD à mémoire partagée
Les unités de calcul ont accès à la mémoire comme un espace d'adressage global. Tout changement dans une case mémoire est vu par les autres unités de calcul. La communication entre les unités de calcul est effectuée via la mémoire globale.
MIMD à mémoire distribuée
Chaque unité de calcul possède sa propre mémoire et son propre système d'exploitation. Ce second cas de figure nécessite un middleware pour la synchronisation et la communication.

Un système MIMD hybride est l'architecture la plus utilisée par les superordinateurs. Ces systèmes hybrides possèdent l'avantage d'être très extensibles, performants et à faible coût.

## Diagramme de comparaison des classifications

[modifier | modifier le code]

Les quatre types d'architectures sont illustrés ci-dessous.

* SISD

* MISD

* SIMD

* MIMD

Légende :

* PU : unité de calcul (d'un processeur unicœur ou multicœur)
* Instruction Pool : flux d'instructions
* Data Pool : flux de données

## Références

[modifier | modifier le code]

1. ↑ Flynn, M., Some Computer Organizations and Their Effectiveness, IEEE Trans. Comput., Vol. C-21, p. 948, 1972.
2. ↑ Duncan, Ralph, A Survey of Parallel Computer Architectures, IEEE Computer. February 1990, p. 5-16.

v · m

Technologies de processeur

* Chronologie des microprocesseurs
* Semi-conducteur
* Transistor

Modèles |

* Machine abstraite
* Ordinateur à programme enregistré
* Automate fini
* Déterministe
* À file
* Cellulaire
* Machine de Turing
* Alternante
* Universelle
* Non déterministe
* Probabiliste
* Hypercalcul
* Processeur basé sur la pile
* Machine à registres illimités
* Machine à compteurs
* Random access machine
* Chemin de données

Architecture |  | Général |

* Microarchitecture
* Architecture de type Harvard
* Architecture de von Neumann
* Architecture Dataflow
* Transport triggered architecture
* Boutisme
* Mémoire
* Non uniform memory access (NUMA)
* Hiérarchie de mémoire
* Mémoire virtuelle
* Bus informatique
* Réseau systolique

|

Mots |

* Architecture 8 bits
* 15 bits (Apollo Guidance Computer)
* 16 bits
* 22 bits (Zuse 3)
* 32 bits
* 40 bits
* 50 bits (Atanasoff–Berry Computer)
* 64 bits
* 128 bits

Instruction |  | Jeu |

* Processeur basé sur la pile
* Processeur de signal numérique
* Processeur vectoriel
* Microprocesseur à jeu d'instructions étendu (CISC)
* Processeur à jeu d'instructions réduit (RISC)
* Very long instruction word (VLIW)
* Explicitly parallel instruction computing (EPIC)
* Explicit data graph execution (en) (EDGE)
* Minimal instruction set computer (MISC)
* Ordinateur à jeu d'instruction unique (OISC)
* Zero instruction set computer (ZISC)
* Informatique quantique
* Mode d'adressage

|

Famille |

* Motorola 680x0
* VAX
* x86
* Architecture ARM
* Architecture MIPS
* PowerPC
* Architecture SPARC
* SuperH
* DEC Alpha
* IA-64
* OpenRISC
* RISC-V
* Microblaze
* Little man computer
* IBM System/3x0
* System/390
* System z

Exécution |

* Pipeline
* Bulle
* Exécution dans le désordre
* Algorithme de Tomasulo
* Renommage de registres
* Prédiction de branchement
* Exécution spéculative
* File

Performance |

* Instructions par cycle (IPC)
* Instructions par seconde (IPS)
* Opérations en virgule flottante par seconde (FLOPS)

Types |  | Général |

* Central processing unit (CPU)
* Processeur graphique (GPU)
* General-purpose processing on graphics processing units (GPGPU)
* Processeur vectoriel
* Coprocesseur
* Application-specific integrated circuit (ASIC)
* System in package (SiP)

|

Par usage |

* Système embarqué
* Microprocesseur
* Multi-cœur
* Multiprocesseur
* Microcontrôleur
* Processeur softcore

On chip |

* Système sur une puce (SoC)
* Programmable (PSoC)
* Réseau sur une puce (NoC)

Accélération
matérielle |

* Accelerated processing unit (APU)
* Puce d'accélération de réseaux de neurones (NPU)
* Processeur d'images (IPU)
* Processeur physique (PPU)
* Processeur de signal numérique (DSP)
* Tensor Processing Unit (TPU)
* Cryptoprocesseur sécurisé
* Processeur réseau (NPU)
* Processeur de bande de base (BP)

Microarchitecture |

* Microcode
* Unité de contrôle
* Banc de registres
* ALU
* FPU
* MMU
* TLB
* Cache
* Front side bus (FSB)
* Back-side bus (en) (BSB)

Parallélisme |  | Général |

* Pipelining
* Scalaire
* Superscalaire
* Tâche
* Thread
* Processus
* Multitâche
* Préemptif
* Parallélisme de donnée
* Processeur vectoriel
* Calcul distribué

|

Processus |

* Multithreading
* Hyperthreading
* Superthreading (en)
* Simultaneous multithreading (SMT)
* Symmetric multiprocessing (SMP)
* Asymmetric multiprocessing (AMP)

Taxonomie de Flynn |

* Single instruction on single data (SISD)
* Single instruction multiple data (SIMD)
* SWAR
* Single instruction multiple threads (SIMT)
* Multiple instructions single data (MISD)
* Multiple instructions on multiple data (MIMD)

Circuiterie et unité |  | Général |

* Circuit intégré
* Signaux mixtes
* Circuit booléen
* Interrupteur
* Électronique analogique
* Cœur
* Cache
* Processeur
* Algorithme
* Cohérence
* Bus

|

Exécution |

* Unité arithmétique et logique (ALU)
* Additionneur
* Multiplieur
* Unité de calcul en virgule flottante (FPU)
* Unité de gestion de mémoire (MMU)
* Translation lookaside buffer (TLB)
* Prédiction de branchement
* Contrôleur mémoire

Porte logique |

* Combinatoire
* Séquentielle
* Quantique

Registre |

* Registre de processeur
* Registre d'état
* Banc de registres
* Registre à décalage
* Registre tampon mémoire
* Registre d'adresse mémoire
* Compteur ordinal

Contrôle |

* Mémoire tampon
* Microprogrammation
* Image ROM
* Compteur

Chemin de données |

* Multiplexeur
* Décaleur

Cadencement |

* Signal d'horloge
* Fréquence d'horloge
* Coefficient multiplicateur
* Overclocking
* Synchrone
* Asynchrone
* Autosynchrone

Gestion de l'alimentation |

* Clock gating
* Ajustement dynamique de la fréquence
* APM
* ACPI
* Ajustement dynamique de la tension

Fabrication |

* Fabrication des dispositifs à semi-conducteurs
* Lithographie en immersion

Articles liés |

* Boîtier de circuit intégré
* Calcul hétérogène
* Circuit imprimé
* Électronique numérique
* Hardware Security Module
* Matrice de broches (PGA)
* Plastic Leaded Chip Carrier (PLCC)

* Portail de l’informatique

*[p.]: pages
*[v]: Voir ce modèle.
*[m]: Modifier ce modèle. Merci de prévisualiser avant de sauvegarder.